Main Content

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.

pcov

Estimación de densidad espectral de potencia autoregresiva — método de covarianza

Descripción

pxx = pcov(x,order) devuelve la estimación de densidad espectral de potencia (PSD), de una señal de tiempo discreto, , encontrada utilizando el método de covarianza.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 . es la distribución de potencia por unidad de frecuencia.xpxxpxx La frecuencia se expresa en unidades de rad/muestra. es el orden del modelo autoregresivo (AR) utilizado para producir la estimación PSD.order

pxx = pcov(x,order,nfft) utiliza puntos en la transformación discreta de Fourier (DFT).nfft Para real , tiene longitud ( /2+1) si es par, y ( +1)/2 si es impar.xpxxnfftnfftnfftnfft Para valores complejos , siempre tiene longitud .xpxxnfft Si omite o especifica que está vacío, utilice una longitud DFT predeterminada de 256.nfftpcov

[pxx,w] = pcov(___) devuelve el vector de frecuencias angulares normalizadas, en el que se estima el PSD. tiene unidades de radianes/muestra.ww Para señales de valor real, abarca el intervalow [0, π] cuando está parejo ynfft [0,π) cuando es extraño.nfft Para señales de valores complejos, siempre abarca el intervalow [0,2π].

ejemplo

[pxx,f] = pcov(___,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 segundos, entonces está en ciclos/segundo (Hz).f Para las señales con valores reales, abarca el intervalo [0, /2] cuando es par y [0, /2) cuando es impar.ffsnfftfsnfft Para señales de valores complejos, abarca el intervalo [0, ).ffs

[pxx,w] = pcov(x,order,w) devuelve las estimaciones de PSD AR de dos lados a 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] = pcov(x,order,f,fs) devuelve las estimaciones de PSD AR de dos lados 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 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 segundos, entonces está en ciclos/segundo (Hz).f

[___] = pcov(x,order,___,freqrange) devuelve la estimación de AR PSD sobre el rango de frecuencia especificado por .freqrange Las opciones válidas para son: , , o .freqrange'onesided''twosided''centered'

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

ejemplo

pcov(___) sin argumentos de salida traza la estimación de PSD de AR en dB por frecuencia de unidad en la ventana de figura actual.

Ejemplos

contraer todo

Cree una realización de un proceso aleatorio estacionario de amplio sentido AR(4). Calcule el PSD utilizando el método de covarianza. Compare la estimación de PSD basada en una sola realización con la verdadera PSD del proceso aleatorio.

Cree una función de sistema AR(4). Obtenga la respuesta de frecuencia y trace el PSD del sistema.

A = [1 -2.7607 3.8106 -2.6535 0.9238]; [H,F] = freqz(1,A,[],1); plot(F,20*log10(abs(H)))  xlabel('Frequency (Hz)') ylabel('PSD (dB/Hz)')

Cree una realización del proceso aleatorio AR(4). Establezca el generador de números aleatorios en la configuración predeterminada para obtener resultados reproducibles. La realización es de 1000 muestras de longitud. Supongamos una frecuencia de muestreo de 1 Hz. Se utiliza para estimar el PSD para un proceso de 4to pedido.pcov Compare la estimación de PSD con la verdadera PSD.

rng default  x = randn(1000,1); y = filter(1,A,x); [Pxx,F] = pcov(y,4,1024,1);  hold on plot(F,10*log10(Pxx)) legend('True Power Spectral Density','pcov PSD Estimate')

Crear una señal multicanal que consista en 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 los sinusoidos son 100 Hz, 200 Hz y 300 Hz. La frecuencia de muestreo es de 1 kHz, y la señal tiene una duración de 1 s.

Fs = 1000;  t = 0:1/Fs:1-1/Fs;  f = [100;200;300];  x = cos(2*pi*f*t)'+randn(length(t),3);

Calcule el PSD de la señal utilizando el método de covarianza con un modelo autoregresivo de 12o orden. Utilice la longitud DFT predeterminada. Trazar la estimación.

morder = 12;  pcov(x,morder,[],Fs)

Argumentos de entrada

contraer todo

Señal de entrada, especificada como vector de fila o columna, o como 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:

Orden del modelo autoregresivo, especificado como un entero positivo.

Tipos de datos: double

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 valores complejos, , la estimación PSD siempre tiene longitud .xnfft Si se especifica como vacío, se utiliza el valor predeterminado.nfftnfft

Tipos de datos: single | double

Frecuencia de muestreo, especificada como escalar positiva. La frecuencia de muestreo es el número de muestras por unidad de tiempo. Si la unidad de tiempo es 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/muestra.

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. El tiempo unitario 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 frecuencia para la estimación psD, especificado como uno de , , o .'onesided''twosided''centered' El valor predeterminado es para las señales de valor real y para las señales de valor complejo.'onesided''twosided' Los rangos de frecuencia correspondientes a cada opción son

  • : devuelve la estimación PSD unilateral de una señal de entrada de valor real, .'onesided'x Si es par, tiene longitud /2 + 1 y se calcula a lo largo del intervalonfftpxxnfft [0,π] rad/muestra. Si es impar, la longitud de es ( + 1)/2 y el intervalo esnfftpxxnfft [0,π) rad/muestra. Cuando se especifica opcionalmente, los intervalos correspondientes son [0, /2] ciclos/tiempo unitario y [0, /2) ciclos/tiempo unitario para longitud par e impar respectivamente.fsfsfsnfft

  • : devuelve la estimación PSD de dos lados para la entrada de valor real o de valor complejo, .'twosided'x En este caso, tiene longitud y se calcula a lo largo del intervalopxxnfft [0,2π) rad/muestra. Cuando se especifica opcionalmente, el intervalo es [0, ) ciclos/tiempo unitario.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 a lo largo del intervalopxxnfft (–π,π] rad/muestra para una longitud uniforme ynfft (–π,π) rad/muestra para longitud impar .nfft Cuando se especifica opcionalmente, los intervalos correspondientes son (– /2, /2] ciclos/tiempo unitario y (– /2, /2) ciclos/unidad de tiempo para longitud par e impar respectivamente.fsfsfsfsfsnfft

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

Argumentos de salida

contraer todo

Estimación PSD, devuelta como un vector o matriz de columna no negativo de valor real. Cada columna de es la estimación PSD de la columna correspondiente de .pxxx Las unidades de la estimación PSD se encuentran 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 psD está en unidades de voltios al cuadrado por unidad de frecuencia. Para una serie temporal en voltios, si asume una resistencia de 1o y especifica la frecuencia de muestreo en hercios, la estimación de PSD está en vatios por hercios.

Tipos de datos: single | double

Frecuencias normalizadas, devueltas como un vector de columna de valor real. Si es una estimación unilateral de PSD, abarca el intervalopxxw [0,π] si es parejo ynfft [0,π) si es extraño.nfft Si es una estimación de PSD de dos lados, abarca el intervalopxxw [0,2π). Para una estimación de PSD centrada en CC, abarca el intervalow (–π,π] para igual ynfft (–π,π) para extraño .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 PSD de dos lados, abarca el intervalo [0, ).ffs Para una estimación PSD centrada en CC, abarca el intervalo (– /2, /2] ciclos/tiempo unitario para una longitud par y (– /2, /2) ciclos/tiempo unitario para longitud impar .ffsfsnfftfsfsnfft

Tipos de datos: double | single

Límites de confianza, devueltos como una matriz con elementos de valor real. 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 impares 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 más bajo 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

Consulte también

| |

Introducido antes de R2006a