¿Cómo debo preprocesar una señal de valor real para usar el estimador de Kay?

21

Tengo 100,000 muestras de una señal que fue muestreada a 20kHz. Los datos son datos de vibración de una máquina rotativa y contienen un componente espectral significativo relacionado con la velocidad de rotación de la máquina.x[n]

Debido a que la velocidad de la máquina varía durante la duración de la muestra, el uso del pico de la FFT no produce el resultado que estoy buscando.

Así que quiero usar estimadores como el estimador de Kay que permiten estimaciones a corto plazo, pero supongo un modelo de señal de:

x[n]=Aexp(jωn+θ)+z[n]

donde = 0 ... 99,999, es la amplitud, es la frecuencia a estimar, es el desplazamiento inicial y es el ruido complejo.A ω θ z [ n ]nAωθz[n]

Sin embargo, mi señal tiene un valor real y se parece más a:

x[n]=Acos(ωn+θ)+zr[n]

donde y ahora tienen un valor real. AzrA

¿Cómo transformo mi señal de valor real en una señal de valor complejo, para poder usar el estimador de Kay?

Peter K.
fuente

Respuestas:

12

La herramienta para convertir señales reales en su representación analítica es la transformación de Hilbert .

Supongamos que su señal es una proyección de una rotación helicoidal con amplitud variable en el plano en tiempo real, como en la imagen a continuación.

ingrese la descripción de la imagen aquí

Fuente

La transformada de Hilbert produce una señal tan compleja dada su parte real. Es una transformación lineal y es muy fácil de hacer en el dominio de la frecuencia. Sin profundizar demasiado en sus matemáticas y derivaciones, la parte imaginaria de su señal de la Transformada de Fourier es la misma que la de su señal real multiplicada por (girada 90 grados). Por las propiedades simétricas de la señal real, obtienes la siguiente relación:j

Todos sus componentes de fercuencia negativa se convierten en 0.

Su componente DC permanece igual.

Todos sus componentes de frecuencia positiva se duplican

En Matlab, por ejemplo, haría lo siguiente:

a = rand(1,201);

hilbert_a = ifft( [ 1, 2*ones(1,100), zeros(1,100)] .* fft(a) );

o simplemente use la hilbertfunción incorporada.

Phonon
fuente
Lo siento, debería haber citado la fuente. Es de aquí
Phonon
7

Si desea utilizar el estimador de Kay, debe convertir la señal de interés en su representación de "señal analítica". Esto esencialmente elimina las frecuencias redundantes (por ejemplo, las negativas) de la señal de valor real original. Dado que la simetría conjugada de la representación del dominio de frecuencia de la señal se destruye en este proceso, el resultado es complejo. Entonces, deberías poder aplicar la técnica que deseas.

Otros enfoques también están disponibles para el problema de seguimiento de frecuencia. Es posible aplicar el algoritmo LMS para realizar una estimación de frecuencia instantánea (Haykin, "Adaptive Filter Theory", págs. 244-246). Alternativamente, puede usar un bucle de fase bloqueada para rastrear el componente espectral discreto a lo largo del tiempo. La solución correcta es una función de cuál es su objetivo final y cuáles son las características específicas de su señal.

Jason R
fuente
-1

No debería importar El modelo:

Aexp(jωn+θ)

Es un modelo muy común en el procesamiento de señales y la ingeniería eléctrica, conocido como fasor . Esencialmente es una señal sinusoidal con cierto desplazamiento de fase y desplazamiento de amplitud. No necesita hacer ninguna transformación en absoluto, su señal será más que adecuada para alimentar el estimador de Kay.

PearsonArtPhoto
fuente