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.

peig

Pseudospectrum utilizando el método eigenvector

Descripción

[S,wo] = peig(x,p) implementa el método de estimación espectral de eigenvector es y devuelve, la estimación pseudoespectro de la señal de entrada y un vector de frecuencias normalizadas (en rad/muestra) en el que se evalúa el pseudoespectro.Sxwo El pseudoespectro se calcula utilizando estimaciones de los eigenvectores de una matriz de correlación asociada a los datos de entrada.x Puede especificar la dimensión del subespacio de señal utilizando el argumento de entrada .p

[S,wo] = peig(x,p,wi) devuelve el pseudoespectro calculado a las frecuencias normalizadas especificadas en vector .wi El vector debe tener dos o más elementos, porque de lo contrario la función lo interpreta como .winfft

[S,wo] = peig(___,nfft) especifica la longitud de entero del FFT, , que se utilizará para estimar el pseudoespectro.nfft Esta sintaxis puede incluir cualquier combinación de argumentos de entrada de sintaxis anteriores.

[S,wo] = peig(___,'corr') obliga al argumento de entrada a interpretarse como una matriz de correlación en lugar de una matriz de datos de señal.x Para esta sintaxis, debe ser una matriz cuadrada y todos sus valores propios deben ser no negativos.x

[S,fo] = peig(x,p,nfft,fs) devuelve el pseudoespectro calculado a las frecuencias especificadas en vector (en Hz).fo Suministre la frecuencia de muestreo en Hz.fs

[S,fo] = peig(x,p,fi,fs) devuelve el pseudoespectro calculado a las frecuencias especificadas en el vector.fi El vector debe tener dos o más elementos, porque de lo contrario la función lo interpreta como .finfft

[S,fo] = peig(x,p,nfft,fs,nwin,noverlap) devuelve el pseudoespectro segmentando los datos de entrada utilizando la ventana y la longitud de superposición.Sxnwinnoverlap

ejemplo

[___] = peig(___,freqrange) especifica el rango de valores de frecuencia que se incluirán en o .fowo

[___,v,e] = peig(___) devuelve la matriz de eigenvectores de ruido, junto con los valores propios asociados en el vector .ve

ejemplo

peig(___) sin argumentos de salida traza el pseudoespectro en la ventana de figura actual.

Ejemplos

contraer todo

Implementar el método eigenvector para encontrar el pseudoespectro de la suma de tres sinusoides en ruido. Utilice la longitud FFT predeterminada de 256. Las entradas son sinusoides complejos por lo que se establece igual al número de entradas.p Utilice el método de covarianza modificado para la estimación de la matriz de correlación.

n = 0:99;    s = exp(1i*pi/2*n)+2*exp(1i*pi/4*n)+exp(1i*pi/3*n)+randn(1,100); X = corrmtx(s,12,'mod');  peig(X,3,'whole')

Generar una señal real que consiste en la suma de dos sinusoides incrustados en el ruido gaussiano blanco de la varianza de la unidad. La señal se muestrea a 100 Hz durante 1 segundo. Los sinusoides tienen frecuencias de 25 Hz y 35 Hz. El sinusoides de baja frecuencia tiene el doble de amplitud que el otro.

fs = 100; t = 0:1/fs:1-1/fs;  s = 2*sin(2*pi*25*t)+sin(2*pi*35*t)+randn(1,100);

Utilice el método eigenvector para calcular el pseudoespectro de la señal entre 0 y la frecuencia Nyquist. Especifique una dimensión subespacial de señal de 2 y una longitud DFT de 512.

peig(s,2,512,fs,'half')

No es posible resolver los dos sinusoides porque la señal es real. Repita el cálculo utilizando un subespacio de señal de la dimensión 4.

peig(s,4,512,fs,'half')

Argumentos de entrada

contraer todo

Señal de entrada, especificada como vector o matriz. Si es un vector, entonces se trata como una observación de la señal.x Si es una matriz, cada fila de representa una observación separada de la señal.xx Por ejemplo, cada fila es una salida de una matriz de sensores, como en el procesamiento de matrices, como es una estimación de la matriz de correlación.x'*x

Nota

Puede utilizar la salida de para generar .corrmtxx

Soporte de números complejos:

Dimensión subespacial, especificada como un entero positivo real o un vector de dos elementos. Si es un entero positivo real, se trata como la dimensión subespacial.p Si es un vector de dos elementos, el segundo elemento de representa un umbral que se multiplica porpp λmin, el valor propio estimado más pequeño de la matriz de correlación de la señal. Valores propios por debajo del umbral λmin*p(2) se asignan al subespacio de ruido. En este caso, p(1) especifica la dimensión máxima del subespacio de la señal. El parámetro de umbral adicional en la segunda entrada proporciona más flexibilidad y control en la asignación de los subespacios de ruido y señal.p

Nota

Si las entradas son sinusoides reales, establezca el valor de duplicar el número de señales de entrada.peigp Si las entradas son sinusoides complejos, establezca igual al número de entradas.p

Soporte de números complejos:

Frecuencias normalizadas de entrada, especificadas como vector.

Tipos de datos: double

Número de puntos DFT, especificado como un entero positivo. Si se especifica como vacío, se utiliza el valor predeterminado.nfftnfft

Frecuencia de muestreo, especificada como escalar positivo en Hz. en Hz. Si especifica con el vector vacío [], la frecuencia de muestreo tiene como valor predeterminado Hz.fs1

Frecuencias de entrada, especificadas como vector. El pseudoespectro se calcula en las frecuencias especificadas en el vector.

Longitud de la ventana rectangular, especificada como un entero no negativo.

Número de muestras superpuestas, especificada como un entero no negativo menor que la longitud de la ventana.

Nota

Los argumentos y se omiten cuando se incluye en la sintaxis.nwinnoverlap'corr'

Rango de frecuencia de estimaciones de pseudoespectro, especificado como uno de , , o .'half'whole'centered'

  • — Devuelve la mitad del espectro de una señal de entrada real.'half'x Si es par, entonces tiene longitud /2 + 1 y se calcula en el intervalo [0, ].nfftSnfftπ Si es impar, la longitud de es ( + 1)/2 y el intervalo de frecuencia es [0, ).nfftSnfftπ Cuando especifique , los intervalos son [0, /2) y [0, /2] para par e impar , respectivamente.fsfsfsnfft

  • — Devuelve todo el espectro para la entrada real o compleja.'whole'x En este caso, tiene longitud y se calcula en el intervalo [0, 2 ).Snfftπ Cuando se especifica , el intervalo de frecuencia es [0, ).fsfs

  • — Devuelve todo el espectro centrado para la entrada real o compleja.'centered'x En este caso, tiene longitud y se calcula a lo largo del intervalo (– , ] para par y (– , ) para impar .Snfftππnfftππnfft Cuando se especifica , los intervalos de frecuencia son (– /2, /2] y (– /2, /2) para par e impar , respectivamente.fsfsfsfsfsnfft

Nota

Puede colocar los argumentos o en cualquier lugar de la lista de argumentos de entrada después de .freqrange'corr'p

Argumentos de salida

contraer todo

Estimación de pseudoespectro, devuelta como vector. El pseudoespectro se calcula utilizando estimaciones de los eigenvectores de una matriz de correlación asociada a los datos de entrada.x

Frecuencias normalizadas de salida, especificadas como vector. y tienen la misma longitud.Swo En general, la longitud del FFT y los valores de la entrada determinan la longitud de la calculada y el rango de las frecuencias normalizadas correspondientes.xS La tabla indica la longitud de (y ) y el rango de las frecuencias normalizadas correspondientesSwo para la primera sintaxis.

Características S para una longitud FFT de 256 (predeterminado)

Tipo de datos de entradaLongitud de S y w0Rango de las Frecuencias Normalizadas Correspondientes

Real

129

[0, ]π

Complejo

256

[0, 2 )π

Si se especifica, la tabla siguiente indica la longitud y el intervalo de frecuencia para .nfftSwowo

Características del vector S y de frecuencia

Tipo de datos de entradanfft Par o ExtrañoLongitud de S y wRango de w

Real

Incluso

(nfft/2 )+ 1

[0, ]π

Real

Extraño

(nfft + 1)/2

[0, )π

Complejo

Par o impar

nfft

[0, 2 )π

Frecuencia de salida, devuelta como vector. El rango de frecuencia para depende de , , y los valores de la entrada .fonfftfsx La longitud de (y ) es la misma que en la anterior.SfoCaracterísticas del vector S y de frecuencia En la tabla siguiente se indica el intervalo de frecuencia para if y se especifican.fonfftfs

S y Características vectoriales de frecuencia con fs Especificado

Tipo de datos de entrada

nfft Even/Odd

Alcance de f

Real

Incluso

[0, /2]fs

Real

Extraño

[0, /2)fs

Complejo

Par o impar

[0, )fs

Además, si y también se especifican, los datos de entrada se segmentan y se ventanan antes de que se formule la matriz utilizada para estimar la matriz de correlación igenvalues.nwinnoverlapx La segmentación de los datos depende de , , y la forma de .nwinnoverlapx Los comentarios sobre los segmentos en ventana resultantes se describen en la tabla siguiente.

Datos con ventanas Dependiendo de x y nwin 

forma de x

Forma de nwin

Datos con ventanas

Vector de datos

Escalar

La longitud es .nwin

Vector de datos

Vector de coeficientes

La longitud es .length(nwin)

Matriz de datos

Escalar

Los datos no se muestran en ventanas.

Matriz de datos

Vector de coeficientes

debe ser el mismo que la longitud de columna de , y no se utiliza.length(nwin)xnoverlap

Consulte la información relacionada sobre esta sintaxis.Longitud del Eigenvector dependiendo de los datos de entrada y la sintaxis

Los autovectores de ruido, devueltos como una matriz. Las columnas de abarcar el subespacio de ruido de la cota .vsize(v,2) La dimensión del subespacio de la señal es .size(v,1)-size(v,2)

Valores propios estimados de la matriz de correlación, devueltos como vector.

Algoritmos

El método eigenvector estima el pseudoespectro a partir de una señal o una matriz de correlación utilizando una versión ponderada del algoritmo MUSIC derivada del método de análisis eigenspace de Schmidt.[1][2] El algoritmo realiza un análisis eigenspace de la matriz de correlación de la señal para estimar el contenido de frecuencia de la señal. Si no suministra la matriz de correlación, los valores propios y los autovectores de la matriz de correlación de la señal se estiman utilizando .svd Este algoritmo es particularmente adecuado para señales que son la suma de los sinusoides con ruido gaussiano blanco aditivo.

El método eigenvector produce una estimación de pseudoespectro

Pev(f)=1k=p+1N|vkHe(f)|2/λk

¿dónde está la dimensión de los eigenvectores yN kes el ese eigenvector de la matriz de correlación de la señal de entrada.k El entero es la dimensión del subespacio de la señal, por lo que los eigenvectoresp k utilizado en la suma corresponden a los valores propios más pequeños Λk de la matriz de correlación. Los eigenvectores utilizados abarcan el subespacio de ruido. El vector e(f) consiste en exponenciales complejos, por lo que el producto interno vkHe(f) equivale a una transformación de Fourier. Esto se utiliza para el cálculo del pseudoespectro. El FFT se calcula para cada k y luego las magnitudes cuadradas se suman y escalan.

Referencias

[1] Marple, S. Lawrence. Digital Spectral Analysis. Englewood Cliffs, NJ: Prentice-Hall, 1987, pp. 373–378.

[2] Schmidt, R. O. “Multiple Emitter Location and Signal Parameter Estimation.” IEEE® Transactions on Antennas and Propagation. Vol. AP-34, March, 1986, pp. 276–280.

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

Consulte también

| | | | | | | |

Introducido antes de R2006a