Ha pasado mucho tiempo desde que estudié ingeniería, perdona mis errores.
Obtuve datos de un acelerómetro digital. Se muestrea a 20 hz, luego se colapsa en épocas de 1 segundo. Los datos se filtran para eliminar el ruido. El sistema genera 0 en reposo, mucho más durante la actividad.
Estoy mirando la transformada de Fourier de la señal, 1024 muestras, muestreadas una vez por segundo. Estoy viendo esto:
Aquí hay una trama imaginaria real de los resultados imaginarios reales de la transformada de Fourier.
La señal parece ser una hélice en el dominio de la frecuencia. El sistema parece oscilar alrededor de algún ciclo límite dentro del dominio de la frecuencia.
es posible? ¿La transformación de Fourier es completamente incorrecta para la señal digital? ¿Debería usar solo el DFT para este tipo de análisis? ¿El tamaño de mi ventana es incorrecto? ¿Estoy viendo alias debido al tamaño incorrecto de la ventana ?
Han pasado algunos años desde mi última clase de ingeniería, y realmente agradecería cualquier ayuda sobre el tema. Tengo 3 libros sobre ingeniería, análisis de señales y transformaciones, pero se necesita tiempo para que este tipo de conocimiento vuelva a mí.
Respuestas:
Mi suposición: nada que ver aquí. Superar.
Usted menciona que "la señal parece ser una hélice en [el] dominio de frecuencia". Afirmo que lo que realmente es esta hélice es un exponencial complejo. Y no hay nada de malo en eso, porque los exponenciales complejos son lo que obtienes cuando retrasas una señal:F( x - a ) ⇔F^( ξ)mi- 2 πyo a ξ . El patrón de hélice simplemente refleja que la mayor parte de la potencia en la señal que está adquiriendo no se encuentra enT= 0 . (¡Y no debería estar allí de todos modos!)
Eyeballing, el período de oscilación en su diagrama de frecuencia parece ser de ~ 28 muestras. A una frecuencia de muestreo de 20 hz, si lo que digo es cierto, entonces la mayor parte de la energía en su señal de dominio de tiempo debería centrarse aproximadamentet ≈2820= 1.4 segundos. ¿Estaba cerca?
El verdadero problema aquí es probable que sean tus tramas. Parece que está trazando salidas DFT reales / imag sin procesar. No hagas eso. En cambio, calcule la magnitud / fase a partir de valores reales / imag, y trace eso.
fuente
Posibles iniciadores del pensamiento:
Asegúrese de que la entrada al ADC esté filtrada de paso bajo a una tasa de muestreo muy inferior a la mitad para evitar alias. A una muestra de 20 Hz, necesita un filtro de paso bajo de corte infinito de "puerta de granero" a 10 Hz o algo real a un nivel algo más bajo. La hoja 21 tiene una sensación de alias de componentes, pero tal vez no.
Las muestras de 1 segundo con una frecuencia de corte inferior a 10 Hz solo le dan algunas muestras. Puede que me esté perdiendo totalmente lo que realmente estás haciendo.
Las ventanas pueden ser necesarias para manejar ciclos de forma de onda distintos a los incluidos en la ventana muestreada. Para algunas muestras y componentes de frecuencia que tienen partes arbitrarias de un ciclo incluidas en un pase FFT, puede generar componentes fuertes e inexistentes.
FFT debe tratar con el ruido de banda de paso. Su "filtro de ruido" también puede ser un filtro de datos. Necesita un filtro de velocidad Nyquist como el anterior, pero cualquier cosa en la banda de paso restante es una señal potencialmente legítima.
fuente
Lo que está viendo es el hecho de que su ventana de "época" de 1 segundo no está sincronizada con sus datos. La fase de los resultados de FFT es relativa al borde de la ventana y, por lo tanto, rotará a medida que el borde de la ventana avance a diferentes relaciones de fase con su señal.
Si realmente le importa la fase o la fase relativa, bloquee el desplazamiento de la ventana al período de su señal. Si no le importa la fase, simplemente calcule la magnitud del resultado complejo y úselo.
fuente