¿Transformación discreta de Fourier o FFT?

2

Actualmente tengo una configuración, AUDIO- > LM386 - > MSGEQ7 - > ATMEGA328p (16mhz) Y funciona para iluminar una matriz de 8x8 LED. Cristal de 16mhz. cada columna se ilumina para representar una frecuencia: promedio, 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz y 16kHz.

Ahora quiero sacar el MSGEQ7 porque cuesta $ 7 AUD por chip, quiero hacerlo lo más barato posible. desde este enlace, toma la entrada amplificada y baja los valores de 0-1023 a +512 - -512. enlace

pregunta:

1) ¿Necesito hacer lo mismo? (cambiar los valores hacia abajo)

2) En lugar de tener 64 frecuencias seleccionadas uniformemente espaciadas, ¿puedo elegir el valor que quiero? (63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz y 16kHz.) Im pensando en usar una variedad de frecuencias. mi percepción de DFT o FFT es que las muestras están espaciadas uniformemente. si están espaciados uniformemente, no puedo hacer una muestra de 8 puntos porque estoy usando un cristal de 16Kmhz y significa que mi frecuencia de corte máxima es de 8Kmhz? También perderé algo por debajo de 1Khz?

3) en muestras bajas, ¿es más efectivo implementar una FFT que DFT para 7 frecuencias?

4) Estoy leyendo el código DFT y FFT de los instrumentos de Texas: enlace página 38-39. Gracias por la paciencia, solo trato de proceder con bastante cautela

    
pregunta Shang Lin Chua

1 respuesta

1

El rango de frecuencia y la resolución de una DFT / FFT dependen de los siguientes parámetros:

  1. tasa de muestreo

Según el conocido sistema de Nyquist, la frecuencia máxima cubierta por la FFT es f_s / 2. En su caso, se requiere que la frecuencia de muestreo mínima sea superior a 32 kHz.

  1. Duración de la medida

La resolución de frecuencia (en otras palabras: el ancho de la bandeja DFT) depende de la duración de la medición: f_res = 1 / t_measurement. Para su aplicación, debe observar un intervalo de tiempo de al menos t_meas_min = 1 / f_min = 15.9 ms. En este caso, se observa exactamente un período de su frecuencia mínima (63 Hz).

Como resultado de estas restricciones, debe analizar al menos ~ 508 muestras (a 32 kHz). Para mejorar sus resultados, considere valores más altos para ambos parámetros.

Para reducir la carga de procesamiento, el goertzel algorithm puede ser una buena opción como única opción. Se evalúan los intervalos de frecuencia necesarios.

En general, no se requiere un cambio de valor ya que un desplazamiento constante se asigna a la bandeja de frecuencia más baja (siempre y cuando no tenga la intención de usar una función de ventana para reducir las fugas espectrales). Sin embargo, para las implementaciones de microcontroladores, se puede requerir un cambio de valor, dependiendo de los tipos de variables.

    
respondido por el Peter Haußmann

Lea otras preguntas en las etiquetas