Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

pwelch

La estimación de densidad espectral de potencia de Welch

Descripción

ejemplo

pxx = pwelch(x) Devuelve la estimación de densidad espectral de potencia (PSD), de la señal de entrada, encontrada usando el estimador de promedio de segmento superpuesto de Welch.pxxx Cuando es un vector, se trata como un solo canal.x Cuando es una matriz, el PSD se calcula de forma independiente para cada columna y se almacena en la columna correspondiente de.xpxx Si es real-valorado, es una estimación PSD unilateral.xpxx Si es de valor complejo, es una estimación de PSD de dos lados.xpxx Por defecto, se divide en los segmentos más largos posibles para obtener lo más cerca pero no exceder de 8 segmentos con 50% solapamiento.x Cada segmento tiene una ventana de Hamming. Los periodogramas modificados se promedian para obtener la estimación de PSD. Si no puede dividir la longitud de exactamente en un número entero de segmentos con un 50% de superposición, se trunca en consecuencia.xx

ejemplo

pxx = pwelch(x,window) utiliza el vector de entrada o el entero, para dividir la señal en segmentos.window Si es un vector, divide la señal en segmentos de igual longitud a la longitud de.windowpwelchwindow Los periodogramas modificados se calculan utilizando los segmentos de señal multiplicados por el vector,.window Si es un entero, la señal se divide en segmentos de longitud.windowwindow Los periodogramas modificados se calculan utilizando una ventana de longitud de Hamming.window

ejemplo

pxx = pwelch(x,window,noverlap) utiliza muestras de superposición de segmento a segmento. debe ser un entero positivo menor que si es un entero. debe ser un entero positivo menor que la longitud de si es un vector.noverlapnoverlapwindowwindownoverlapwindowwindow Si no especifica, o especifica como vacío, el número predeterminado de muestras superpuestas es 50% de la longitud de la ventana.noverlapnoverlap

ejemplo

pxx = pwelch(x,window,noverlap,nfft) especifica el número de puntos de transformación de Fourier (DFT) discretos que se utilizarán en la estimación de PSD. El valor predeterminado es el mayor de 256 o la siguiente potencia de 2 mayor que la longitud de los segmentos.nfft

[pxx,w] = pwelch(___) Devuelve el vector de frecuencia normalizado,.w Si es una estimación de PSD unilateral, abarca el intervalo [0, π] si es par y [0, π) si es impar.pxxwnfftnfft Si es una estimación de PSD de dos lados, abarca el intervalo [0, 2 π).pxxw

ejemplo

[pxx,f] = pwelch(___,fs) Devuelve un vector de frecuencia, en ciclos por unidad de tiempo.f La frecuencia de muestreo, es el número de muestras por unidad de tiempo.fs Si la unidad de tiempo es de segundos, entonces está en ciclos/seg (Hz).f Para las señales de valor real, abarca el intervalo [0,/2] cuando es par y [0,/2) cuando es impar.ffsnfftfsnfft Para las señales con valores complejos, abarca el intervalo [0,). debe ser la quinta entrada.ffsfspwelch Para introducir una frecuencia de muestreo y seguir utilizar los valores predeterminados de los argumentos opcionales anteriores, especifique estos argumentos como vacíos,.[]

[pxx,w] = pwelch(x,window,noverlap,w) Devuelve las estimaciones de PSD de Welch a dos caras en las frecuencias normalizadas especificadas en el vector,.w El vector debe contener al menos dos elementos, porque de lo contrario la función lo interpreta como.wnfft

[pxx,f] = pwelch(x,window,noverlap,f,fs) Devuelve las estimaciones de PSD de Welch a dos caras en las frecuencias especificadas en el vector,.f El vector debe contener al menos dos elementos, porque de lo contrario la función lo interpreta como.fnfft Las frecuencias en están en ciclos por unidad de tiempo.f La frecuencia de muestreo, es el número de muestras por unidad de tiempo.fs Si la unidad de tiempo es de segundos, entonces está en ciclos/seg (Hz).f

ejemplo

[___] = pwelch(x,window,___,freqrange) Devuelve la estimación de PSD de Welch sobre el rango de frecuencias especificado por.freqrange Las opciones válidas para son:,, o.freqrange'onesided''twosided''centered'

ejemplo

[___] = pwelch(x,window,___,trace) Devuelve la estimación de espectro de retención máxima si se especifica como y devuelve la estimación de espectro de retención mínima si se especifica como.trace'maxhold'trace'minhold'

ejemplo

[___,pxxc] = pwelch(___,'ConfidenceLevel',probability) Devuelve los intervalos de confianza × 100% para la estimación PSD en.probabilitypxxc

ejemplo

[___] = pwelch(___,spectrumtype) Devuelve la estimación PSD si se especifica como y devuelve el espectro de potencia si se especifica como.spectrumtype'psd'spectrumtype'power'

ejemplo

pwelch(___) sin argumentos de salida traza la estimación de PSD de Welch en la ventana de la figura actual.

Ejemplos

contraer todo

Obtenga la estimación de PSD de Welch de una señal de entrada consistente en una sinusoide de tiempo discreto con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco.

Cree una onda sinusoidal con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco. Restablezca el generador de números aleatorios para obtener resultados reproducibles. La señal tiene una longitud
<math display="block">
<mrow>
<msub>
<mrow>
<mi>N</mi>
</mrow>
<mrow>
<mi>x</mi>
</mrow>
</msub>
<mo>=</mo>
<mn>3</mn>
<mn>2</mn>
<mn>0</mn>
</mrow>
</math>
Muestras.

rng default  n = 0:319; x = cos(pi/4*n)+randn(size(n));

Obtenga la estimación de PSD de Welch utilizando la ventana de Hamming predeterminada y la longitud de DFT. La longitud de segmento predeterminada es 71 muestras y la longitud de DFT es los 256 puntos que producen una resolución de frecuencia de

<math display="block">
<mrow>
<mn>2</mn>
<mi>π</mi>
<mo>/</mo>
<mn>2</mn>
<mn>5</mn>
<mn>6</mn>
</mrow>
</math>
RAD/sample. Debido a que la señal es de valor real, el periodograma es unilateral y hay 256/2 + 1 puntos. Trace la estimación de PSD de Welch.

pxx = pwelch(x);  pwelch(x)

Repite el cómputo.

  • Divida la señal en secciones de longitud

    <math display="block">
    <mrow>
    <mrow>
    <mstyle mathvariant="monospace">
    <mrow>
    <mi>n</mi>
    <mi>s</mi>
    <mi>c</mi>
    </mrow>
    </mstyle>
    </mrow>
    <mo>=</mo>
    <mo></mo>
    <msub>
    <mrow>
    <mi>N</mi>
    </mrow>
    <mrow>
    <mstyle mathvariant="monospace">
    <mrow>
    <mi>x</mi>
    </mrow>
    </mstyle>
    </mrow>
    </msub>
    <mo>/</mo>
    <mn>4</mn>
    <mo>.</mo>
    <mn>5</mn>
    <mo></mo>
    </mrow>
    </math>
    . Esta acción equivale a dividir la señal en los segmentos más largos posibles para obtener lo más cerca pero no exceder de 8 segmentos con un 50% de superposición.

  • Ventana de las secciones utilizando una ventana de Hamming.

  • Especifique el 50% de superposición entre las secciones contiguas

  • Para calcular la FFT, utilice

    <math display="block">
    <mrow>
    <mrow>
    <mi mathvariant="normal">max</mi>
    </mrow>
    <mo stretchy="false">(</mo>
    <mn>2</mn>
    <mn>5</mn>
    <mn>6</mn>
    <mo>,</mo>
    <msup>
    <mrow>
    <mn>2</mn>
    </mrow>
    <mrow>
    <mi>p</mi>
    </mrow>
    </msup>
    <mo stretchy="false">)</mo>
    </mrow>
    </math>
    puntos, donde
    <math display="block">
    <mrow>
    <mi>p</mi>
    <mo>=</mo>
    <mo></mo>
    <msub>
    <mrow>
    <mi mathvariant="normal">log</mi>
    </mrow>
    <mrow>
    <mn>2</mn>
    </mrow>
    </msub>
    <mrow>
    <mstyle mathvariant="monospace">
    <mrow>
    <mi>n</mi>
    <mi>s</mi>
    <mi>c</mi>
    </mrow>
    </mstyle>
    </mrow>
    <mo></mo>
    </mrow>
    </math>
    .

Verifique que los dos enfoques den resultados idénticos.

Nx = length(x); nsc = floor(Nx/4.5); nov = floor(nsc/2); nff = max(256,2^nextpow2(nsc));  t = pwelch(x,hamming(nsc),nov,nff);  maxerr = max(abs(abs(t(:))-abs(pxx(:))))
maxerr = 0 

Divida la señal en 8 secciones de igual longitud, con un 50% de superposición entre secciones. Especifique la misma longitud de FFT que en el paso anterior. Calcule la transformada de Fourier a corto plazo y compruebe que da el mismo resultado que los dos procedimientos anteriores.

ns = 8; ov = 0.5; lsc = floor(Nx/(ns-(ns-1)*ov));  t = pwelch(x,lsc,floor(ov*lsc),nff);  maxerr = max(abs(abs(t(:))-abs(pxx(:))))
maxerr = 0 

Obtenga la estimación de PSD de Welch de una señal de entrada consistente en una sinusoide de tiempo discreto con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>3</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco.

Cree una onda sinusoidal con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>3</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco. Restablezca el generador de números aleatorios para obtener resultados reproducibles. La señal tiene 512 muestras.

rng default  n = 0:511; x = cos(pi/3*n)+randn(size(n));

Obtenga la estimación de PSD de Welch dividiendo la señal en segmentos de 132 muestras de longitud. Los segmentos de señal se multiplican por una ventana de Hamming 132 muestras de longitud. No se especifica el número de muestras superpuestas, por lo que se establece en 132/2 = 66. La longitud de DFT es de 256 puntos, produciendo una resolución de frecuencia de

<math display="block">
<mrow>
<mn>2</mn>
<mi>π</mi>
<mo>/</mo>
<mn>2</mn>
<mn>5</mn>
<mn>6</mn>
</mrow>
</math>
RAD/sample. Debido a que la señal es real-valorada, la estimación PSD es unilateral y hay 256/2 + 1 = 129 puntos. Trace el PSD como una función de frecuencia normalizada.

segmentLength = 132; [pxx,w] = pwelch(x,segmentLength);  plot(w/pi,10*log10(pxx)) xlabel('\omega / \pi')

Obtenga la estimación de PSD de Welch de una señal de entrada consistente en una sinusoide de tiempo discreto con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco.

Cree una onda sinusoidal con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco. Restablezca el generador de números aleatorios para obtener resultados reproducibles. La señal es 320 muestras de longitud.

rng default  n = 0:319; x = cos(pi/4*n)+randn(size(n));

Obtenga la estimación de PSD de Welch dividiendo la señal en segmentos de 100 muestras de longitud. Los segmentos de señal se multiplican por una ventana de Hamming 100 muestras de longitud. El número de muestras superpuestas es 25. La longitud de DFT es 256 puntos que producen una resolución de frecuencia de

<math display="block">
<mrow>
<mn>2</mn>
<mi>π</mi>
<mo>/</mo>
<mn>2</mn>
<mn>5</mn>
<mn>6</mn>
</mrow>
</math>
RAD/sample. Debido a que la señal es real-valorada, la estimación PSD es unilateral y hay 256/2 + 1 puntos.

segmentLength = 100; noverlap = 25; pxx = pwelch(x,segmentLength,noverlap);  plot(10*log10(pxx))

Obtenga la estimación de PSD de Welch de una señal de entrada consistente en una sinusoide de tiempo discreto con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco.

Cree una onda sinusoidal con una frecuencia angular de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample con aditivo
<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco. Restablezca el generador de números aleatorios para obtener resultados reproducibles. La señal es 320 muestras de longitud.

rng default  n = 0:319; x = cos(pi/4*n) + randn(size(n));

Obtenga la estimación de PSD de Welch dividiendo la señal en segmentos de 100 muestras de longitud. Utilice la superposición predeterminada de 50%. Especifique la longitud de DFT para que sea 640 puntos para que la frecuencia de

<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/Sample corresponde a un bin DFT (bin 81). Debido a que la señal es real-valorada, la estimación PSD es unilateral y hay 640/2 + 1 puntos.

segmentLength = 100; nfft = 640; pxx = pwelch(x,segmentLength,[],nfft);  plot(10*log10(pxx)) xlabel('rad/sample') ylabel('dB / (rad/sample)')

Cree una señal consistente en una sinusoide de 100 Hz en ruido blanco aditivo (0,1).N Restablezca el generador de números aleatorios para obtener resultados reproducibles. La frecuencia de muestreo es de 1 kHz y la señal es de 5 segundos de duración.

rng default  fs = 1000; t = 0:1/fs:5-1/fs; x = cos(2*pi*100*t) + randn(size(t));

Obtenga el segmento superpuesto de Welch con un promedio de estimación PSD de la señal precedente. Utilice una longitud de segmento de 500 muestras con 300 muestras superpuestas. Utilice 500 puntos DFT para que 100 Hz caiga directamente en un bin DFT. Ingrese la frecuencia de muestreo para emitir un vector de frecuencias en Hz. Graficar el resultado.

[pxx,f] = pwelch(x,500,300,500,fs);  plot(f,10*log10(pxx))  xlabel('Frequency (Hz)') ylabel('PSD (dB/Hz)')

Crear una señal que consiste en tres sinusoides ruidosos y un chirp, muestreado a 200 kHz para 0,1 segundo. Las frecuencias de las sinusoides son de 1 kHz, 10 kHz y 20 kHz. Las sinusoides tienen diferentes amplitudes y niveles de ruido. El Chirp silencioso tiene una frecuencia que comienza a 20 kHz y aumenta linealmente a 30 kHz durante el muestreo.

Fs = 200e3;  Fc = [1 10 20]'*1e3;  Ns = 0.1*Fs;  t = (0:Ns-1)/Fs; x = [1 1/10 10]*sin(2*pi*Fc*t)+[1/200 1/2000 1/20]*randn(3,Ns); x = x+chirp(t,20e3,t(end),30e3);

Calcule la estimación de PSD de Welch y los espectros de retención máxima y retención mínima de la señal. Graficar los resultados.

[pxx,f] = pwelch(x,[],[],[],Fs); pmax = pwelch(x,[],[],[],Fs,'maxhold'); pmin = pwelch(x,[],[],[],Fs,'minhold');  plot(f,pow2db(pxx)) hold on plot(f,pow2db([pmax pmin]),':') hold off xlabel('Frequency (Hz)') ylabel('PSD (dB/Hz)') legend('pwelch','maxhold','minhold')

Repita el procedimiento, esta vez calculando estimaciones de espectro de potencia centradas.

[pxx,f] = pwelch(x,[],[],[],Fs,'centered','power'); pmax = pwelch(x,[],[],[],Fs,'maxhold','centered','power'); pmin = pwelch(x,[],[],[],Fs,'minhold','centered','power');  plot(f,pow2db(pxx)) hold on plot(f,pow2db([pmax pmin]),':') hold off xlabel('Frequency (Hz)') ylabel('Power (dB)') legend('pwelch','maxhold','minhold')

En este ejemplo se ilustra el uso de límites de confianza con la estimación de PSD de segmentos superpuestos (WOSA) de Welch. Si bien no es una condición necesaria para la significancia estadística, las frecuencias en la estimación de Welch donde el límite de confianza inferior excede el límite de confianza superior para las estimaciones PSD circundantes indican claramente oscilaciones significativas en la serie temporal.

Cree una señal consistente en la superposición de ondas sinusoidales de 100 Hz y 150 Hz en ruido blanco aditivo (0,1).N La amplitud de las dos ondas sinusoidales es 1. La frecuencia de muestreo es de 1 kHz. Restablezca el generador de números aleatorios para obtener resultados reproducibles.

rng default fs = 1000; t = 0:1/fs:1-1/fs; x = cos(2*pi*100*t)+sin(2*pi*150*t)+randn(size(t));

Obtenga la estimación WOSA con límites de confianza del 95%. Establezca la longitud del segmento igual a 200 y superponga los segmentos en un 50% (100 muestras). Trace la estimación de PSD de WOSA junto con el intervalo de confianza y amplíe la región de frecuencia de interés cerca de 100 y 150 Hz.

L = 200; noverlap = 100; [pxx,f,pxxc] = pwelch(x,hamming(L),noverlap,200,fs,...     'ConfidenceLevel',0.95);  plot(f,10*log10(pxx)) hold on plot(f,10*log10(pxxc),'-.') hold off  xlim([25 250]) xlabel('Frequency (Hz)') ylabel('PSD (dB/Hz)') title('Welch Estimate with 95%-Confidence Bounds')

La menor confianza ligada en las inmediaciones de 100 y 150 Hz está significativamente por encima de la confianza superior vinculada fuera de la vecindad de 100 y 150 Hz.

Cree una señal que consista en una sinusoide de 100 Hz en aditivo

<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>/</mo>
<mn>4</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco. Restablezca el generador de números aleatorios para obtener resultados reproducibles. La frecuencia de muestreo es de 1 kHz y la señal es de 5 segundos de duración.

rng default  fs = 1000; t = 0:1/fs:5-1/fs;  noisevar = 1/4; x = cos(2*pi*100*t)+sqrt(noisevar)*randn(size(t));

Obtenga el espectro de potencia centrado en DC utilizando el método de Welch. Utilice una longitud de segmento de 500 muestras con 300 muestras superpuestas y una longitud de DFT de 500 puntos. Graficar el resultado.

[pxx,f] = pwelch(x,500,300,500,fs,'centered','power');  plot(f,10*log10(pxx)) xlabel('Frequency (Hz)') ylabel('Magnitude (dB)') grid

Usted ve que el poder en-100 y 100 Hz está cerca de la potencia esperada de 1/4 para una onda sinusoidal de valor real con una amplitud de 1. La desviación de 1/4 se debe al efecto del ruido aditivo.

Generar 1024 muestras de una señal multicanal que consta de tres sinusoides en aditivo

<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido Gaussiano blanco. Las frecuencias de las sinusoides son
<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>2</mn>
</mrow>
</math>
,
<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>3</mn>
</mrow>
</math>
Y
<math display="block">
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
</math>
RAD/sample. Calcule el PSD de la señal usando el método de Welch y compálelo.

N = 1024; n = 0:N-1;  w = pi./[2;3;4]; x = cos(w*n)' + randn(length(n),3);  pwelch(x)

Argumentos de entrada

contraer todo

Señal de entrada, especificada como vector de fila o columna, o como una matriz. Si es una matriz, sus columnas se tratan como canales independientes.x

Ejemplo: es una señal de vector de fila de un solo canal.cos(pi/4*(0:159))+randn(1,160)

Ejemplo: es una señal de dos canales.cos(pi./[4;2]*(0:159))'+randn(160,2)

Tipos de datos: single | double
Soporte de números complejos:

Window, especificado como un vector de fila o columna o un entero. Si es un vector, divide en segmentos superpuestos de longitud igual a la longitud de, y luego multiplica cada segmento de señal con el vector especificado en.windowpwelchxwindowwindow Si es un entero, se divide en segmentos de longitud igual al valor entero, y se utiliza una ventana Hamming de igual longitud.windowpwelch Si la longitud de no se puede dividir exactamente en un número entero de segmentos con el número de muestras superpuestas, se trunca en consecuencia.xnoverlapx Si especifica como vacío, la ventana de Hamming predeterminada se utiliza para obtener ocho segmentos de muestras superpuestas.windowxnoverlap

Tipos de datos: single | double

Número de muestras superpuestas, especificadas como un entero positivo menor que la longitud de.window Si se omite o se especifica como vacío, se utiliza un valor para obtener una superposición del 50% entre los segmentos.noverlapnoverlap

Número de puntos DFT, especificado como un entero positivo. Para una señal de entrada de valor real, la estimación PSD tiene longitud (/2 + 1) si es par, y (+ 1)/2 si es impar.xpxxnfftnfftnfftnfft Para una señal de entrada de valor complejo, la estimación de PSD siempre tiene longitud.xnfft Si se especifica como vacío, se utiliza el valor predeterminado.nfftnfft

Si es mayor que la longitud del segmento, los datos se rellenan con ceros.nfft Si es menor que la longitud del segmento, el segmento se ajusta utilizando para hacer que la longitud sea igual a.nfftdatawrapnfft

Tipos de datos: single | double

Frecuencia de muestreo, especificada como un escalar positivo. La frecuencia de muestreo es el número de muestras por unidad de tiempo. Si la unidad de tiempo es de segundos, entonces la frecuencia de muestreo tiene unidades de Hz.

Frecuencias normalizadas, especificadas como un vector de fila o columna con al menos dos elementos. Las frecuencias normalizadas están en Rad/sample.

Ejemplo: w = [pi/4 pi/2]

Tipos de datos: double

Frecuencias, especificadas como un vector de fila o columna con al menos dos elementos. Las frecuencias están en ciclos por unidad de tiempo. La hora de la unidad se especifica mediante la frecuencia de muestreo,.fs Si tiene unidades de muestras/segundo, entonces tiene unidades de Hz.fsf

Ejemplo: fs = 1000; f = [100 200]

Tipos de datos: double

Rango de frecuencias para la estimación de PSD, especificado como uno de, o.'onesided''twosided''centered' El valor predeterminado es para las señales con valores reales y para las señales con valores complejos.'onesided''twosided' Los rangos de frecuencias correspondientes a cada opción son

  • : devuelve la estimación de PSD unilateral de una señal de entrada con valor real,.'onesided'x Si es Even, tiene longitud/2 + 1 y se calcula en el intervalonfftpxxnfft [0,π] RAD/sample. Si es impar, la longitud de is (+ 1)/2 y el intervalo esnfftpxxnfft [0,π) RAD/sample. Cuando se especifica opcionalmente, los intervalos correspondientes son [0,/2] ciclos/unidad de tiempo y [0,/2) ciclos/unidad de tiempo para la longitud par y impar respectivamente.fsfsfsnfft

  • : devuelve la estimación de PSD bilateral para la entrada de valor real o de valor complejo.'twosided'x En este caso, tiene longitud y se calcula en el intervalopxxnfft [0,2π) RAD/sample. Cuando se especifica opcionalmente, el intervalo es [0,) ciclos/unidad de tiempo.fsfs

  • : devuelve la estimación de PSD de dos lados centrada para la entrada de valor real o de valor complejo.'centered'x En este caso, tiene longitud y se calcula en el intervalopxxnfft (–π,π] RAD/sample para una longitud enfft (–π,π) RAD/sample para longitud impar.nfft Cuando se especifica opcionalmente, los intervalos correspondientes son (–/2,/2] ciclos/unidad de tiempo y (–/2,/2) ciclos/unidad de tiempo para la longitud par y impar respectivamente.fsfsfsfsfsnfft

Escalado del espectro de potencia, especificado como uno de o.'psd''power' Si se omite o se especifica, se devuelve la densidad espectral de potencia.spectrumtype'psd' Especificar escala cada estimación del PSD por el ancho de banda de ruido equivalente de la ventana.'power' Utilice la opción para obtener una estimación de la potencia en cada frecuencia.'power'

Modo de traza, especificado como uno de, o.'mean''maxhold''minhold' El valor predeterminado es.'mean'

  • : devuelve la estimación de espectro de Welch de cada canal de entrada. calcula la estimación de espectro de Welch en cada ubicación de frecuencia al promediar las estimaciones del espectro de potencia de todos los segmentos.'mean'pwelch

  • : devuelve el espectro de retención máxima de cada canal de entrada. calcula el espectro de retención máxima en cada ubicación de frecuencia manteniendo el valor máximo entre las estimaciones de espectro de potencia de todos los segmentos.'maxhold'pwelch

  • : devuelve el espectro de retención mínima de cada canal de entrada. calcula el espectro de retención mínima en cada ubicación de frecuencia manteniendo el valor mínimo entre las estimaciones de espectro de potencia de todos los segmentos.'minhold'pwelch

Probabilidad de cobertura para el PSD verdadero, especificado como un escalar en el rango (0,1). La salida,, contiene los límites inferior y superior de la estimación del intervalo × 100% para el PSD verdadero.pxxcprobability

Argumentos de salida

contraer todo

Estimación de PSD, devuelta como una matriz o vector de columna de valor real, no negativo. Cada columna de es la estimación PSD de la columna correspondiente de.pxxx Las unidades de la estimación PSD están en unidades de magnitud cuadrada de los datos de la serie temporal por frecuencia de unidad. Por ejemplo, si los datos de entrada están en voltios, la estimación de PSD está en unidades de voltios cuadrados por frecuencia de unidad. Para una serie de tiempo en voltios, si se asume una resistencia de 1 Ω y se especifica la frecuencia de muestreo en hercios, la estimación PSD está en vatios por hercios.

Tipos de datos: single | double

Frecuencias normalizadas, devueltas como un vector de columna de valor real. Si se trata de una estimación de PSD unilateral, abarca el intervalopxxw [0,π] Si es incluso ynfft [0,π) Si es impar.nfft Si se trata de una estimación de PSD de dos lados, abarca el intervalopxxw [0,2π). Para una estimación de PSD centrada en DC, abarca el intervalow (–π,π] para incluso ynfft (–π,π) para impar.nfft

Tipos de datos: double

Frecuencias cíclicas, devueltas como un vector de columna de valor real. Para una estimación de PSD unilateral, abarca el intervalo [0,/2] cuando es par y [0,/2) cuando es impar.ffsnfftfsnfft Para una estimación de PSD a dos caras, abarca el intervalo [0,).ffs Para una estimación de PSD centrada en DC, abarca el intervalo (–/2,/2] ciclos/unidad de tiempo para la longitud par y (–/2,/2) ciclos/unidad de tiempo para la longitud impar.ffsfsnfftfsfsnfft

Tipos de datos: double | single

Límites de confianza, devueltos como una matriz con elementos con valores reales. El tamaño de fila de la matriz es igual a la longitud de la estimación PSD,. tiene el doble de columnas que.pxxpxxcpxx Las columnas con numeración impar contienen los límites inferiores de los intervalos de confianza y las columnas pares contienen los límites superiores. Por lo tanto, es el límite de confianza inferior y es el límite de confianza superior correspondiente a la estimación.pxxc(m,2*n-1)pxxc(m,2*n)pxx(m,n) La probabilidad de cobertura de los intervalos de confianza viene determinada por el valor de la entrada.probability

Tipos de datos: single | double

Más acerca de

contraer todo

Segmento superpuesto de Welch estimación espectral promediada

El periodograma no es un estimador consistente de la verdadera densidad espectral de poder de un proceso estacionario de sentido amplio. La técnica de Welch para reducir la varianza del periodograma rompe la serie temporal en segmentos, usualmente superpuestos.

El método de Welch calcula un periodograma modificado para cada segmento y luego promedia estas estimaciones para producir la estimación de la densidad espectral de potencia. Debido a que el proceso es estacionario de sentido amplio y el método de Welch utiliza estimaciones de PSD de diferentes segmentos de la serie temporal, los periodogramas modificados representan aproximadamente estimaciones no correlacionadas del PSD verdadero y el promedio reduce la variabilidad.

Los segmentos suelen multiplicarse por una función de ventana, como una ventana de Hamming, de modo que el método de Welch equivale a promediar periodogramas modificados. Dado que los segmentos suelen superponerse, los valores de datos al principio y al final del segmento se estrechan por la ventana en un segmento, se producen fuera de los extremos de los segmentos adyacentes. Esto protege contra la pérdida de información causada por la ventana.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Introducido antes de R2006a