Problema de contenedor FFT con ADC externo de 24 bits (los contenedores FFT cambian con el tiempo)

Actualmente estoy trabajando en un proyecto que incluye ADC MCP3919 y MCP3914 externos de 24 bits y MCU de 32 bits de la serie Tiva C. Estoy tratando de calcular los valores armónicos de la señal de entrada.

Estoy usando la biblioteca CMSIS DSP en Code Composer Studio. Las funciones FFT funcionan muy bien. No tengo ningún problema con la implementación de estas funciones. Los probé con una señal de pecado generada internamente y la modulé. Se esperan resultados.

  • ADC_Salida: 3255 Hz
  • Tamaño_FFT: 64 puntos
  • Tamaño_ventana: 2*Tamaño_FFT

Tengo el problema de que cuando leo la señal del mundo real del generador de señal, mis contenedores FFT cambian con el tiempo en señales n*50Hz. Cuando aumento la señal de entrada a 50,9 Hz no hay problema. Es lo mismo con 150Hz, 250Hz, 350Hz. Parece que hay un error de frecuencia fijo relacionado con 50Hz.

Por ejemplo: las funciones FFT funcionan muy bien con una señal de 50,9 Hz en lugar de 50 Hz (1*0,9 Hz) Señal de 152,7 Hz en lugar de 150 Hz (3*0,9 Hz) Señal de 254,5 Hz en lugar de 250 Hz (5*0,9 Hz)

Estoy compartiendo mis gráficos FFT Biningrese la descripción de la imagen aquí

                       **Fig1 : 50.0 Hz and 250.0Hz**

ingrese la descripción de la imagen aquí

                    **Fig2 : 50.9 Hz and 254.5Hz**

Como resultado, con el cambio de frecuencia, los contenedores FFT son verdaderos. Necesito vuestras experiencias con este tema.

gracias de antemano

dragado

Los múltiplos de 50 Hz suenan sospechosamente como la alimentación directa de la línea de alimentación: ¿su generador de señal está alimentado por la red eléctrica? (Supongo que se encuentra en un país con una línea eléctrica de 50 Hz). El modelo específico del generador de señales podría ayudarnos a comprender.
Hola Pedro. No estoy pensando que esté relacionado con eso. Porque se suministra fuente de alimentación aislada. Y observé desde el osciloscopio también.

Respuestas (1)

Use una forma de ventana diferente .

Esto sucede cuando la señal de entrada no es exactamente periódica con la longitud de la señal de entrada, por ejemplo, porque el seno generado y el reloj del ADC provienen de diferentes fuentes de reloj. Mirando una señal que esperamos en el contenedor 2 ( mi 2 i X ), y el resultado para el contenedor 1:

  • Si el período de muestreo contiene exactamente dos períodos de señal: 0 2 π mi 2 i X mi i X   d X = 0

  • Si la señal es un poco más baja en frecuencia: 0 2 π mi 1.99 i X mi i X   d X = 0.063 + 0.002 i , por lo que se muestra bastante energía en este contenedor.

Si utiliza una función de ventana que reduce el peso del principio y el final del período de muestreo, puede reducir este efecto.

Hola Simón. Gracias por tu respuesta. Estoy un poco confundido. Cómo puedo hacerlo ? ¿Me podrían orientar en este caso? Saludos
Elija una función de ventana que funcione para su caso de uso, si solo desea ver los datos, Hamming suele ser una buena opción, luego multiplique los datos del dominio del tiempo con la salida de la función de ventana antes de ejecutar la FFT.