Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

pwelch

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), pxx, de la señal de entrada, x, obtenida utilizando el estimador de promediado de segmentos superpuestos de Welch. Cuando x es un vector, se trata como un solo canal. Cuando x es una matriz, la PSD se calcula de forma independiente en cada columna y se almacena en la columna correspondiente de pxx. Si x tiene valor real, pxx es una estimación de PSD unilateral. Si x tiene valor complejo, pxx es una estimación de PSD bilateral. De forma predeterminada, x se divide en los segmentos más largos posibles para acercarse lo máximo posible, sin sobrepasar, a ocho segmentos con un 50% de solapamiento. Cada segmento se dispone en ventanas con una ventana Hamming. Los periodogramas modificados se promedian para obtener la estimación de PSD. Si no puede dividir la longitud de x exactamente en un número entero de segmentos con 50% de solapamiento, x se trunca en consecuencia.

ejemplo

pxx = pwelch(x,window) usa el vector de entrada o entero, window, para dividir la señal en segmentos. Si window es un vector, pwelch divide la señal en segmentos de la misma longitud que la longitud de window. Los periodogramas modificados se calculan mediante los segmentos de señal multiplicados por el vector, window. Si window es un entero, la señal se divide en segmentos de longitud window. Los periodogramas modificados se calculan mediante una ventana de Hamming de longitud window.

ejemplo

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

ejemplo

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

[pxx,w] = pwelch(___) devuelve el vector de frecuencia normalizada, w. Si pxx es una estimación de PSD unilateral, w abarca el intervalo [0,π] si nfft es par y [0,π) si nfft es impar. Si pxx es una estimación de PSD bilateral, w abarca el intervalo [0,2π).

ejemplo

[pxx,f] = pwelch(___,fs) devuelve un vector de frecuencia, f, en ciclos por unidad de tiempo. La tasa de muestreo, fs, es el número de muestras por unidad de tiempo. Si la unidad de tiempo es el segundo, f estará en ciclos/segundo (Hz). Para señales de valor real, f abarca el intervalo [0,fs/2] cuando nfft es par y [0,fs/2) cuando nfft es impar. Para señales de valor complejo, f abarca el intervalo [0,fs). fs debe ser la quinta entrada a pwelch. Para introducir una tasa de muestreo y seguir utilizando 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 bilaterales en las frecuencias normalizadas especificadas en el vector, w. El vector w debe contener al menos dos elementos porque, de lo contrario, la función lo interpreta como nfft.

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

ejemplo

[___] = pwelch(x,window,___,freqrange) devuelve la estimación de PSD de Welch a lo largo del rango de potencia especificado por freqrange. Las opciones válidas para freqrange son: 'onesided', 'twosided' o 'centered'.

ejemplo

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

ejemplo

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

ejemplo

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

ejemplo

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

Ejemplos

contraer todo

Obtenga la estimación de PSD de Welch de una señal de entrada compuesta por una sinusoide de tiempo discreto con una frecuencia angular de π/4 rad/muestra con ruido blanco N(0,1) aditivo.

Cree una onda sinusoidal con una frecuencia angular de π/4 rad/muestra con ruido blanco N(0,1) aditivo. Reinicie el generador de números aleatorios para obtener resultados reproducibles. La señal tiene una longitud de Nx=320 muestras.

rng default

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

Obtenga la estimación de PSD de Welch mediante la ventana Hamming predeterminada y la longitud de la DFT. La longitud de segmento predeterminada es 71 muestras y la longitud de la DFT son los 256 puntos que dan como resultado una resolución de frecuencia de 2π/256 rad/muestra. Dado que la señal tiene valor real, el periodograma es unilateral y hay 256/2+1 puntos. Represente la estimación de PSD de Welch.

pxx = pwelch(x);

pwelch(x)

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Power/frequency (dB/(rad/sample)) contains an object of type line.

Repita el cálculo.

  • Divida la señal en secciones de longitud nsc=Nx/4.5. Esta acción es equivalente a dividir la señal en los segmentos más largos posibles para acercarse lo máximo posible, sin sobrepasar, a ocho segmentos con un 50% de solapamiento.

  • Disponga en ventanas las secciones utilizando una ventana Hamming.

  • Especifique el 50% de solapamiento entre las secciones contiguas.

  • Para calcular la FFT, utilice max(256,2p) puntos, donde p=log2nsc.

Verifique que los dos enfoques dan 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 ocho secciones de igual longitud, con un 50% de solapamiento entre las secciones. Especifique la misma longitud de FFT que en el paso anterior. Calcule la estimación de PSD de Welch y verifique 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 compuesta por una sinusoide de tiempo discreto con una frecuencia angular de π/3 rad/muestra con ruido blanco N(0,1) aditivo.

Cree una onda sinusoidal con una frecuencia angular de π/3 rad/muestra con ruido blanco N(0,1) aditivo. Reinicie 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 Hamming de 132 muestras de longitud. El número de muestras solapadas no se especifica, por lo que se establece en 132/2 = 66. La longitud de la DFT son 256 puntos, que dan como resultado una resolución de frecuencia de 2π/256 rad/muestra. Dado que la señal tiene valor real, la estimación de PSD es unilateral y hay 256/2+1 = 129 puntos. Represente la PSD como una función de frecuencia normalizada.

segmentLength = 132;
[pxx,w] = pwelch(x,segmentLength);

plot(w/pi,10*log10(pxx))
xlabel('\omega / \pi')

Figure contains an axes object. The axes object with xlabel omega blank / blank pi contains an object of type line.

Obtenga la estimación de PSD de Welch de una señal de entrada compuesta por una sinusoide de tiempo discreto con una frecuencia angular de π/4 rad/muestra con ruido blanco N(0,1) aditivo.

Cree una onda sinusoidal con una frecuencia angular de π/4 rad/muestra con ruido blanco N(0,1) aditivo. Reinicie el generador de números aleatorios para obtener resultados reproducibles. La señal tiene 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 Hamming de 100 muestras de longitud. El número de muestras solapadas es 25. La longitud de la DFT son 256 puntos, que dan como resultado una resolución de frecuencia de 2π/256 rad/muestra. Dado que la señal tiene valor real, la estimación de PSD es unilateral y hay 256/2+1 puntos.

segmentLength = 100;
noverlap = 25;
pxx = pwelch(x,segmentLength,noverlap);

plot(10*log10(pxx))

Figure contains an axes object. The axes object contains an object of type line.

Obtenga la estimación de PSD de Welch de una señal de entrada compuesta por una sinusoide de tiempo discreto con una frecuencia angular de π/4 rad/muestra con ruido blanco N(0,1) aditivo.

Cree una onda sinusoidal con una frecuencia angular de π/4 rad/muestra con ruido blanco N(0,1) aditivo. Reinicie el generador de números aleatorios para obtener resultados reproducibles. La señal tiene 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 un solapamiento predeterminado del 50%. Especifique una longitud de la DFT de 640 puntos para que la frecuencia de π/4 rad/muestra corresponda a un bin de la DFT (bin 81). Dado que la señal tiene valor real, la estimación de 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)')

Figure contains an axes object. The axes object with xlabel rad/sample, ylabel dB / (rad/sample) contains an object of type line.

Cree una señal compuesta por una sinusoide de 100 Hz en ruido blanco N(0,1) aditivo. Reinicie el generador de números aleatorios para obtener resultados reproducibles. La tasa de muestreo es 1 kHz y la señal tiene 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 la estimación de PSD de promediado de segmentos superpuestos de Welch de la señal anterior. Utilice una longitud de segmento de 500 muestras con 300 muestras solapadas. Use 500 puntos DFT para que los 100 Hz queden directamente en un bin de la DFT. Introduzca la tasa de muestreo para obtener como salida un vector de frecuencias en Hz. Represente el resultado.

[pxx,f] = pwelch(x,500,300,500,fs);

plot(f,10*log10(pxx))

xlabel('Frequency (Hz)')
ylabel('PSD (dB/Hz)')

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel PSD (dB/Hz) contains an object of type line.

Cree una señal compuesta por tres sinusoides con ruido y un chirp, muestreados a 200 kHz durante 0,1 segundos. Las frecuencias de las sinusoides son 1 kHz, 10 kHz y 20 kHz. Las sinusoides presentan diferentes amplitudes y niveles de ruido. El chirp sin ruido presenta 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 mínima de la señal. Represente 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')

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel PSD (dB/Hz) contains 3 objects of type line. These objects represent pwelch, maxhold, minhold.

Repita el procedimiento, esta vez calculando las estimaciones del espectro de potencia centrado.

[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')

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel Power (dB) contains 3 objects of type line. These objects represent pwelch, maxhold, minhold.

Este ejemplo muestra el uso de los límites de confianza con la estimación de PSD de promediado de segmentos superpuestos de Welch (WOSA). Aunque no es una condición necesaria para la relevancia estadística, las frecuencias de la estimación de Welch donde el límite de confianza inferior sobrepasa el límite de confianza superior para estimaciones de PSD circundantes indican claramente oscilaciones significativas en la serie de tiempo.

Cree una señal compuesta por la superposición de ondas sinusoidales de 100 Hz y 150 Hz en ruido blanco N(0,1) aditivo. La amplitud de las dos ondas sinusoidales es 1. La tasa de muestreo es 1 kHz. Reinicie 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 una longitud de segmentos igual a 200 y solape los segmentos al 50% (100 muestras). Represente la estimación de PSD de WOSA junto con el intervalo de confianza y haga zoom en la región de interés de frecuencia 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')

Figure contains an axes object. The axes object with title Welch Estimate with 95%-Confidence Bounds, xlabel Frequency (Hz), ylabel PSD (dB/Hz) contains 3 objects of type line.

El límite de confianza inferior en el entorno inmediato de 100 y 150 Hz está significativamente por encima del límite de confianza superior fuera del entorno de 100 y 150 Hz.

Cree una señal compuesta por una onda sinusoidal de 100 Hz en ruido blanco N(0,1/4) aditivo. Reinicie el generador de números aleatorios para obtener resultados reproducibles. La tasa de muestreo es 1 kHz y la señal tiene 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 mediante el método de Welch. Utilice una longitud de segmento de 500 muestras con 300 muestras solapadas y una longitud de la DFT de 500 puntos. Represente el resultado.

[pxx,f] = pwelch(x,500,300,500,fs,'centered','power');

plot(f,10*log10(pxx))
xlabel('Frequency (Hz)')
ylabel('Magnitude (dB)')
grid

Figure contains an axes object. The axes object with xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

Puede ver que la potencia 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 a partir de 1/4 se debe al efecto del ruido aditivo.

Genere 1024 muestras de una señal multicanal compuesta por tres sinusoides en ruido blanco gaussiano N(0,1) aditivo. Las frecuencias de las sinusoides son π/2, π/3 y π/4 rad/muestra. Estime la PSD de la señal mediante el método Welch y represéntela.

N = 1024;
n = 0:N-1;

w = pi./[2;3;4];
x = cos(w*n)' + randn(length(n),3);

pwelch(x)

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Power/frequency (dB/(rad/sample)) contains 3 objects of type line.

Argumentos de entrada

contraer todo

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

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

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

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

Ventana, especificada como vector fila, vector columna o entero. Si window es un vector, pwelch divide x en segmentos solapados de la misma longitud que la longitud de window y después multiplica cada segmento de señal por el vector especificado en window. Si window es un entero, pwelch se divide en segmentos de la misma longitud que el valor entero y se usa una ventana Hamming de la misma longitud. Si la longitud de x no puede dividirse exactamente en un número entero de segmentos con noverlap muestras solapadas, x se trunca en consecuencia. Si especifica window como vacío, la ventana Hamming predeterminada se usa para obtener ocho segmentos de x con noverlap muestras solapadas.

Tipos de datos: single | double

Número de muestras solapadas, especificado como entero positivo menor que la longitud de window. Si omite noverlap o especifica noverlap como vacío, se usa un valor para obtener un 50% de solapamiento entre segmentos.

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

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

Tipos de datos: single | double

Tasa de muestreo, especificada como un escalar positivo. La tasa de muestreo es el número de muestras por unidad de tiempo. Si la unidad de tiempo es el segundo, la tasa de muestreo tendrá unidades de Hz.

Frecuencias normalizadas, especificadas como vector fila o vector columna con al menos dos elementos. Las frecuencias normalizadas están en rad/muestra.

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

Tipos de datos: double | single

Frecuencias, especificadas como vector fila o vector columna con al menos dos elementos. Las frecuencias están en ciclos por unidad de tiempo. La unidad de tiempo viene especificada por la tasa de muestreo, fs. Si las unidades de fs son muestras/segundo, las unidades de f son Hz.

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

Tipos de datos: double | single

Rango de frecuencia para estimación de PSD, especificado como 'onesided', 'twosided' o 'centered'. El valor predeterminado es 'onesided' para señales de valor real y 'twosided' para señales de valor complejo. Los rangos de frecuencia correspondientes a cada opción son

  • 'onesided' devuelve la estimación de PSD unilateral de una señal de entrada de valor real, x. Si nfft es par, pxx tiene una longitud de nfft/2 + 1 y se calcula en el intervalo [0,π] rad/muestra. Si nfft es impar, la longitud de pxx es (nfft + 1)/2 y el intervalo es [0,π) rad/muestra. Cuando fs se puede especificar opcionalmente, los intervalos correspondientes son [0,fs/2] ciclos/unidad de tiempo y [0,fs/2) ciclos/unidad de tiempo para longitud par e impar nfft respectivamente.

    La función multiplica la potencia por 2 en todas las frecuencias excepto 0 y la frecuencia de Nyquist para conservar la potencia total.

  • 'twosided' devuelve la estimación de PSD bilateral para una entrada de valor real o de valor complejo, x. En este caso, pxx tiene la longitud nfft y se calcula en el intervalo [0,2π) rad/muestra. Cuando fs se puede especificar opcionalmente, el intervalo es [0,fs) ciclos/unidad de tiempo.

  • 'centered' devuelve la estimación de PSD bilateral centrada para una entrada de valor real o de valor complejo, x. En este caso, pxx tiene la longitud nfft y se calcula en el intervalo (–π,π] rad/muestra para longitud par nfft y (–π,π) rad/muestra para longitud impar nfft. Cuando fs se puede especificar opcionalmente, los intervalos correspondientes son (–fs/2, fs/2] ciclos/unidad de tiempo y (–fs/2, fs/2) ciclos/unidad de tiempo para longitud par e impar nfft respectivamente.

Tipos de datos: char | string

Escalado del espectro de potencia, especificado como 'psd' o 'power'. Omitiendo spectrumtype o especificando 'psd', se devuelve la densidad espectral de potencia. Especificando 'power', se escala cada estimación de PSD por el ancho de banda de ruido equivalente de la ventana. Use la opción 'power' para obtener una estimación de la potencia en cada frecuencia.

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

  • 'mean' devuelve la estimación de espectro de Welch de cada canal de entrada. pwelch calcula la estimación de espectro de Welch en cada bin de frecuencia promediando las estimaciones de espectro de potencia de todos los segmentos.

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

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

Probabilidad de cobertura para la PSD real, especificada como escalar en el intervalo (0,1). La salida, pxxc, contiene el límite inferior y superior de la estimación de intervalo de probability × 100% para la PSD real.

Argumentos de salida

contraer todo

Estimación de PSD, devuelta como vector columna o matriz no negativos de valor real. Cada columna de pxx es la estimación de PSD de la columna correspondiente de x. Las unidades de la estimación de PSD están en unidades de magnitud cuadradas de los datos de series de tiempo por frecuencia unitaria. Por ejemplo, si los datos de entrada están en voltios, la estimación de PSD está en unidades de voltios cuadrados por frecuencia unitaria. Para una serie de tiempo en voltios, si asume una resistencia de 1 Ω y especifica la tasa de muestreo en hercios, la estimación de PSD estará en vatios por hercio.

Frecuencias normalizadas, devueltas como vector columna de valor real. Si pxx es una estimación de PSD unilateral, w abarca el intervalo [0,π] si nfft es par y [0,π) si nfft es impar. Si pxx es una estimación de PSD bilateral, w abarca el intervalo [0,2π). Para una estimación de PSD centrada en DC, w abarca el intervalo (–π,π] para nfft par y (–π,π) para nfft impar.

Frecuencias cíclicas, devueltas como vector columna de valor real. Para una estimación de PSD unilateral, f abarca el intervalo [0,fs/2] cuando nfft es par y [0,fs/2) cuando nfft es impar. Para una estimación de PSD bilateral, f abarca el intervalo [0,fs). Para una estimación de PSD centrada en DC, f abarca el intervalo –fs/2, fs/2] ciclos/unidad de tiempo para longitud par nfft y (–fs/2, fs/2) ciclos/unidad de tiempo para longitud impar nfft.

Límites de confianza, devueltos como matriz con elementos de valor real. El tamaño de fila de la matriz es igual a la longitud de la estimación de PSD, pxx. pxxc tiene el doble de columnas que pxx. Las columnas impares contienen los límites inferiores de los intervalos de confianza y las columnas pares, los límites superiores. Así, pxxc(m,2*n-1) es el límite de confianza inferior y pxxc(m,2*n) es el límite de confianza superior, correspondientes a la estimación pxx(m,n). La probabilidad de cobertura de los intervalos de confianza está determinada por el valor de la entrada probability.

Tipos de datos: single | double

Más acerca de

contraer todo

Estimación del espectro de promediado de segmentos superpuestos de Welch

El periodograma no es un estimador consistente de la densidad espectral de potencia real de un proceso estacionario en sentido amplio. La técnica de Welch para reducir la varianza del periodograma divide la serie de tiempo en segmentos, que normalmente se solapan.

El método de Welch calcula un periodograma modificado para cada segmento y después promedia estas estimaciones para generar la estimación de la densidad espectral de potencia. Dado que el proceso es estacionario en sentido amplio y el método de Welch utiliza estimaciones de PSD de diferentes segmentos de la serie de tiempo, los periodogramas modificados representan aproximadamente estimaciones no correlacionadas de la PSD real y el promediado reduce la variabilidad.

Normalmente los segmentos se multiplican por una función de ventana, como una ventana Hamming, de modo que el método de Welch equivale al promediado de periodogramas modificados. Dado que los segmentos suelen solaparse, los valores de datos al comienzo y al final del segmento estrechados por la ventana en un segmento tienen lugar lejos de los finales de los segmentos adyacentes. Esto protege frente a la pérdida de información causada por la disposición en ventanas.

Referencias

[1] Hayes, Monson H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.

[2] Stoica, Petre, and Randolph Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.

Capacidades ampliadas

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

Historial de versiones

Introducido antes de R2006a

expandir todo