Diseño de un analizador de espectro de audio

Quiero diseñar un analizador de espectro de audio LED simple como este .

Qué método sería menos costoso de hacer:

  • Usar muchos filtros para cada banda de frecuencia, dependiendo de cuantas bandas y LEDS quiera usar
  • Usar un microprocesador para hacer FFT

Claramente, hacer FFT tendrá un cierto retraso, pero ¿sería ese retraso lo suficientemente significativo como para superar el costo de los muchos filtros de la primera viñeta? ¿Qué método sería más eficiente energéticamente? ¿O es esto extremadamente dependiente del hardware? Cualquier aporte se agradecerá. Esta es la primera vez que asumo un proyecto de este tipo, y quiero obtener la mayor cantidad de comentarios posible. ¡¡Gracias!!

Googlear AVR FFT arroja algunos resultados prometedores. Los LED consumirán mucha más energía que su análisis de espectro.
Tenga en cuenta que FFT utiliza un eje de frecuencia lineal, mientras que un analizador de espectro suele tener un eje de frecuencia logarítmico.
@Stevenvh Correcto. Todavía se puede hacer, solo necesita una FFT más larga y un promedio de contenedores para convertirlo en una especie de escala logarítmica.

Respuestas (3)

Bueno, la mayoría de la gente es buena en circuitos analógicos o cosas MCU/DSP. No muchas personas son lo suficientemente buenas en ambos. Así que... Haz lo que sabes mejor.

El enfoque DSP será más flexible y le permitirá hacer cosas geniales como: cambiar el tiempo de caída, hacer una lectura de pico y RMS al mismo tiempo, etc. El tiempo de respuesta será más lento que un enfoque analógico, pero aún así más rápido de lo que tu ojo podría percibir.

Como señaló Ben Jackson, los LED consumirán más corriente que el resto del circuito. Suponiendo que está manejando cada LED con 20 mA, y tiene 31 bandas con un LED encendido para cada banda, entonces está extrayendo 620 mA solo para los LED.

En cuanto a qué enfoque sería menos costoso, todo depende. Si se tratara de un producto comercial, el enfoque basado en DSP es, con mucho, el más económico. Pero la economía de trabajar en su sótano cambia toda la ecuación. Por ejemplo, si necesita gastar $ 100-500 en herramientas de desarrollo DSP/MCU, entonces eso es un problema. Entonces, al final, no podemos decir cuál es más barato, solo usted puede hacerlo.

Así que esto me lleva de vuelta a mi punto original: haz lo que sea que hagas mejor. Haga lo que tenga sentido para usted, y sepa que eso podría no ser lo que tenga sentido para los demás.

Dado que FFT tiene una frecuencia lineal y lo más probable es que desee una visualización logarítmica, también puede comprobar el algoritmo de filtro de Goertzel . Puede ser más rápido si solo necesita los valores de varios intervalos de frecuencia.

Nunca antes había oído hablar del algoritmo de filtro de Goertzel, pero parece muy digno de comprobar. Gracias por el enlace!
No es muy conocido, pero funciona muy bien y es rápido, incluso en el AVR.

Microchip proporciona una biblioteca FFT con su compilador C para los controladores de señal digital dsPIC de 16 bits. La versión gratuita del compilador es adecuada y los chips son bastante económicos. El ADC en chip podría usarse para esta aplicación, todo lo que necesita agregarse son los controladores para la matriz de LED. La placa Microchip Explorer 16 tiene un analizador de espectro de audio que utiliza la pantalla LCD, se suministra como parte del software de demostración. Debería poder usar el Microstick de bajo costo para esto; el dsPIC33FJ128 que se puede usar con él debe tener suficiente memoria.

Sin embargo, si no tiene experiencia en DSP, es probable que encuentre este proyecto desafiante.