Estoy buscando algún consejo, espero que uno de los muchos expertos del foro pueda ayudarme con algunos consejos sobre el muestreo y procesamiento de señales. Estoy usando un procesador STM32F4 con ADC de 12 bits y núcleo DSP. Actualmente, puedo usar las bibliotecas CMSIS DSP o Siglib. Aquí hay una descripción del espacio del problema:
Puedo muestrear a la frecuencia que se requiera: delante del ADC hay un amplificador analógico de décimo orden y LPF, Fc = 55Hz. El amplificador se puede configurar para proporcionar el rango ADC ideal de 3Vpp
Las señales entrantes sinusoidales están en el rango de 10Hz a 40Hz que se pueden configurar para cualquier duración en el tiempo. Idealmente, en el rango de 200 ms a 300 ms (se puede cambiar)
Entre estos tonos, hay un espacio muerto de (idealmente) de 50ms a 100ms (se puede cambiar)
Habría una serie de estos tonos con un tiempo total de aproximadamente 4, o posiblemente 5 segundos (se pueden procesar después de que llegue la última señal, idealmente en tiempo real)
Necesito la mejor precisión de amplitud y frecuencia posible, idealmente de 2dB y 0.5Hz. El entorno es ruidoso, pero las señales entrantes pueden mantenerse a 20dB sobre el ruido.
No estoy buscando una hoja de código. Solo un algoritmo de mejor enfoque e, idealmente, algunos aspectos específicos, como la frecuencia de muestreo (se requiere una reducción), el tamaño del búfer, el uso de la ventana de superposición-adición / deslizante, la cadena de procesamiento de señales - se requiere FIR (cuántos taps), el método / tamaño FFT?
Puede que no sea complejo para muchos de ustedes, pero no he terminado toda la teoría que necesito para probar una implementación sin gastar mucho tiempo, (tengo todos los libros, ¡pero todavía hay mucha lectura!) y el problema requiere que intente una solución ahora.
¡Gracias por tu ayuda! Roger