[Ecuación de diferencia]:
$$LPF_D=\frac{0.1441z^2+0.2881z+0.1441}{z^2-0.6777z+0.254}$$ Con una muestra de \$T_s = \$ 8e-6 segundos, en científico Notación E .
La ecuación de la diferencia:
\$Y\$ = Salida
\$U\$ = Entrada
$$Y_i =0.1441U_{i}+0.2281U_{i-1}+0.1441U_{i-2}+0.6777Y_{i-1}-0.254Y_{i-2}$$
La primera vez que vine aquí fue con un Atmel Atmega328p preguntando si puedo muestrear una señal de audio mientras implemento un filtro digital que he creado.
Conseguí el muestreo de audio pero pronto me di cuenta de que la potencia de procesamiento no estaba ahí para el Atmel Atmega. Ustedes me mostraron una nueva forma de muestrear desde el ADC que es el DMA. Dicen que es mucho más rápido. Tuve un ADC muestreando a 36 KHz mientras eso iba quería implementar una ecuación de diferencia. Aprendí que la ecuación de diferencia no podía ser ejecutada dentro del tiempo de muestreo de 36 KHz. Tomé sus sugerencias y compré un STM32L43KC .
Una actualización masiva. DMA, DSP, 80 MHz. Durante el fin de semana me puse donde lo dejé con el Atmel Atmega.
Tengo el ADC funcionando con DMA en el chip STM32, pero me di cuenta de algo. Necesitaría tener una interrupción en el DMA (Interrupción de Transferencia Completa) cuando las muestras del ADC estén listas. Si estoy muestreando el ADC a 36 KHz y la interrupción está habilitada en el DMA ¿significa que la CPU va a ser interrumpida cada 36 KHz? ¿Lo que me deja sin espacio para implementar el filtro digital?
A menos que esta vez el MCU que estoy usando tenga un DSP y que pueda ejecutar mi ecuación de diferencia dentro de 27.7 us, de lo contrario me estoy viendo en la misma situación. ¿Cómo la gente realmente muestra y hacer DSP al mismo tiempo?
La única forma que se me ocurre es utilizar dos MCU. Que una haga la interrupción de muestreo y la envíe por SPI, UART y luego la segunda MCU interrumpa cuando la reciba y haga el DSP.
¿Alguna idea sobre esto, chicos?
Todo lo que quiero hacer es muestrear una señal de audio a una frecuencia lo suficientemente buena como para evitar el aliasing, luego implementar un filtro digital en el que he trabajado y meterlo en un DAC y escucharlo.