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.

spectrum.welch

Sintaxis

Hs = spectrum.welch
Hs = spectrum.welch(WindowName)
Hs = spectrum.welch(WindowName,SegmentLength)
Hs = spectrum.welch(WindowName,SegmentLength,OverlapPercent)

Descripción

Nota

No se recomienda el uso de spectrum.welch. En su lugar, use pwelch.

Hs = spectrum.welch devuelve un objeto de espectro Welch predeterminado, Hs, que define los parámetros del método de estimación espectral promediado y modificado de Welch. El objeto utiliza estos valores predeterminados.

Nombre de la propiedadValor predeterminadoDescripción

{WindowName,winparam}

Arreglo de celdas que contiene WindowName y el parámetro de ventana opcional

'Hamming',

SamplingFlag: symmetric

Arreglo de celdas que contiene el nombre de la ventana o 'User Defined' y, si se utiliza para la ventana en particular, un valor de parámetro opcional. (Consulte window para ver los nombres de ventana válidos y, para obtener más información sobre cada ventana, consulte su página de referencia.)

Puede utilizar set para cambiar el valor del parámetro adicional o para definir la expresión de MATLAB® y los parámetros de una ventana definida por el usuario. (Consulte spectrum para obtener más información acerca de cómo utilizar set).

WindowName

'Hamming',

SamplingFlag: symmetric

Las opciones válidas de windowname son:

'Bartlett'
'Bartlett-Hann'
'Blackman'
'Blackman-Harris'
'Bohman'
'Chebyshev'
'Flat Top'
'Gaussian'
'Hamming'
'Hann'
'Kaiser'
'Nuttall'
'Parzen'
'Rectangular'
'Triangular'
'Tukey'
'User Defined'

Los nombres de las ventanas deben estar entre comillas simples, por ejemplo spectrum.welch('tukey') or spectrum.welch({'tukey',0.7}).

Consulte window y la correspondiente página de funciones de ventanas para obtener información sobre los parámetros de las ventanas. Puede utilizar set para cambiar el valor del parámetro de la ventana adicional o para definir la expresión de MATLAB y los parámetros de una ventana definida por el usuario (consulte spectrum para obtener información sobre el uso de set).

SegmentLength

64

Longitud de cada uno de los segmentos basados en tiempo en los que se divide la señal de entrada. Se calcula un periodograma modificado en cada segmento y la media de los periodogramas forma la estimación espectral. La elección de la longitud del segmento es un compromiso entre la fiabilidad de la estimación (segmentos más cortos) y la resolución de la frecuencia (segmentos más largos). Una longitud de segmento larga produce una mejor resolución, mientras que una longitud de segmento corta produce más promedios y, por tanto, una disminución de la varianza.

OverlapPercent

50%

Porcentaje de solapamiento entre segmentos

Hs = spectrum.welch(WindowName) devuelve un objeto de espectro, Hs, utilizando el método Welch con la ventana especificada y los valores predeterminados para todos los demás parámetros. Para especificar los parámetros de una ventana, utilice un arreglo de celdas formateado como spectrum.welch({WindowName,winparam}).

Hs = spectrum.welch(WindowName,SegmentLength) devuelve un objeto de espectro, Hs, con la longitud del segmento especificada.

Hs = spectrum.welch(WindowName,SegmentLength,OverlapPercent) devuelve un objeto de espectro, Hs, con el porcentaje de solapamiento especificado entre segmentos.

Nota

Consulte pwelch para obtener más información acerca del algoritmo Welch.

Ejemplos

contraer todo

Defina un coseno de 200 Hz integrado en ruido blanco.

Fs = 1000;
t = 0:1/Fs:.3;
x = cos(2*pi*t*200)+randn(size(t));

Visualice el contenido espectral de la señal utilizando el algoritmo Welch.

Hs = spectrum.welch;
psd(Hs,x,'Fs',Fs)

Figure contains an axes object. The axes object with title Welch Power Spectral Density Estimate, xlabel Frequency (Hz), ylabel Power/frequency (dB/Hz) contains an object of type line.

Defina un coseno de 200 Hz integrado en ruido blanco.

Fs = 1000;
t = 0:1/Fs:0.3;
x = cos(2*pi*t*200)+randn(size(t));

Calcule la estimación de la densidad espectral de la potencia de Welch de la señal utilizando una ventana de Hann.

window = 33;
noverlap = 32;
nfft = 4097;

h = spectrum.welch('Hann',window,100*noverlap/window);
hpsd = psd(h,x,'NFFT',nfft,'Fs',Fs);

Visualice la densidad espectral de potencia expresada en decibelios.

Pw = hpsd.Data; 
Fw = hpsd.Frequencies;
plot(Fw,pow2db(Pw))
xlabel('Hz')
ylabel('dB')

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

Referencias

[1] harris, fredric. j. “On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform.” Proceedings of the IEEE®. Vol. 66 (January 1978).

Historial de versiones

Introducido antes de R2006a

Consulte también

| |