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.

dspdata.psd

Densidad espectral de potencia

Sintaxis

Hpsd = dspdata.psd(Data)
Hpsd = dspdata.psd(Data,Frequencies)
Hpsd = dspdata.psd(...,'Fs',Fs)
Hpsd = dspdata.psd(...,'SpectrumType',SpectrumType)
Hpsd = dspdata.psd(...,'CenterDC',flag)

Descripción

Nota

No se recomienda el uso de dspdata.psd. En su lugar, utilice pburg, pcov, periodogram, pmcov, pmtm, pwelch o pyulear.

La densidad espectral de potencia (PSD) está prevista para espectros continuos. La integral de la PSD a lo largo de una banda de frecuencia determinada calcula la potencia promedio en la señal a lo largo de esa banda de frecuencia. A diferencia del espectro cuadrático medio, los picos de este espectro no reflejan la potencia con la frecuencia determinada. Para obtener más información, consulte el método avgpower de dspdata.

Una PSD unilateral contiene la potencia total de la señal del intervalo de frecuencia de DC a la mitad de la tasa de Nyquist. Una PSD bilateral contiene la potencia total en el intervalo de frecuencia de DC a la tasa de Nyquist.

Hpsd = dspdata.psd(Data) utiliza los datos de densidad espectral de potencia incluidos en Data, que pueden presentar la forma de un vector o de una matriz en los que cada columna sea un conjunto de datos independiente. A continuación se muestran los valores predeterminados de otras propiedades del objeto:

Propiedad

Valor predeterminado

Descripción

Name

'Power Spectral Density'

Vector de caracteres de solo lectura

Frequencies

[]

introducir double

Vector de frecuencias a las que se evalúa la densidad espectral de potencia. El intervalo de este vector depende del valor SpectrumType. Si es unilateral, el intervalo predeterminado es [0, π) o [0, Fs/2) en caso de longitud impar y [0, π] o [0, Fs/2] en caso de longitud par, si se especifica Fs. Si es bilateral, es [0, 2pi) o [0, Fs).

Si no especifica Frequencies, se crea un vector predeterminado. Si se selecciona unilateral, se supone que todo el número de puntos FFT (nFFT) de este vector es par.

Si se selecciona onesided y especifica Frequencies, el último punto de frecuencia se compara con el penúltimo punto y con π (o Fs/2, si se especifica Fs). Si el último punto está más cerca de π (o de Fs/2) que del punto anterior, se supone que nFFT es par. Si está más cerca del punto anterior, se supone que nFFT es impar.

La longitud del vector Frequencies debe coincidir con la longitud de las columnas de Data.

Fs

'Normalized'

Frecuencia de muestreo, que es 'Normalized' si NormalizedFrequency es true. Si NormalizedFrequency es false, el valor predeterminado de Fs es 1.

SpectrumType

'Onesided'

Intervalo de Nyquist a lo largo del cual se calcula la densidad espectral de potencia. Los valores válidos son 'Onesided' y 'Twosided'. Una PSD unilateral contiene la potencia de la señal total de la mitad del intervalo de Nyquist. Consulte los métodos onesided y twosided de dspdata para obtener información sobre cómo cambiar esta propiedad.

El alcance de la mitad del intervalo de Nyquist es [0 pi) o [0 pi], según el número de puntos FFT. En el caso del intervalo de Nyquist completo, el alcance es [0 2pi).

NormalizedFrequency

true

Si la frecuencia está normalizada (true) o no (false). Esta propiedad se ajusta automáticamente al momento de construcción según Fs. Si se especifica Fs, NormalizedFrequency se ajusta en false. Consulte el método normalizefreq de dspdata para obtener información sobre cómo cambiar esta propiedad.

Hpsd = dspdata.psd(Data,Frequencies) utiliza los datos de estimación de la densidad espectral de potencia incluidos en los vectores Data y Frequencies.

Hpsd = dspdata.psd(...,'Fs',Fs) utiliza la frecuencia de muestreo Fs. Al especificar Fs se utiliza un conjunto predeterminado de frecuencias lineales (en Hz) basado en Fs y establece NormalizedFrequency en false.

Hpsd = dspdata.psd(...,'SpectrumType',SpectrumType) especifica el intervalo a lo largo del cual se calcula la densidad espectral de potencia. En el caso de los datos a partir de [0 π) o [0 π], establezca el SpectrumType en onesided; en el caso de los datos a partir de [0 2π), establezca el SpectrumType en twosided.

Hpsd = dspdata.psd(...,'CenterDC',flag) utiliza el valor de flag para indicar si el componente de frecuencia cero (DC) está centrado. Si flag es true, indica que el componente de DC se encuentra en el centro del espectro bilateral. Establezca flag en false si el componente de DC se encuentra en el borde izquierdo del espectro.

Métodos

Los métodos proporcionan formas de ejecutar las funciones directamente en el objeto dspdata. Puede aplicar un método directamente a la variable que ha asignado al objeto dspdata.psd. Puede utilizar los siguientes métodos con objetos dspdata.psd.

  • avgpower

  • centerdc

  • normalizefreq

  • onesided

  • plot

  • twosided

Por ejemplo, para normalizar la frecuencia y establecer el parámetro NormalizedFrequency en true, utilice

Hpsd = normalizefreq(Hpsd)

Para obtener información detallada sobre cómo usar los métodos y representar el espectro, consulte la página de referencia dspdata.

Ejemplos

contraer todo

Calcule la densidad espectral de potencia unilateral de una señal sinusoidal con ruido con dos componentes de frecuencia.

Fs = 32e3;   
t = 0:1/Fs:2.96;
x = cos(2*pi*t*1.24e3)+ cos(2*pi*t*10e3)+ randn(size(t));
nfft = 2^nextpow2(length(x));
Pxx = abs(fft(x,nfft)).^2/length(x)/Fs;

Guarde el espectro en un objeto de datos de PSD y represente el resultado.

Hpsd = dspdata.psd(Pxx(1:length(Pxx)/2),'Fs',Fs);  
plot(Hpsd)

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

Cree un espectro bilateral y represéntelo.

Hpsd = dspdata.psd(Pxx,'Fs',Fs,'SpectrumType','twosided');
plot(Hpsd)

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

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | | |