Sobremuestreo y diezmado: ¿Qué filtro usar?

8

Tengo un sensor que produce (más o menos) datos con límite de banda con un corte de aproximadamente 45Hz, con un roll-off y AWGN . Tengo un ADC que muestrea dicha señal a 800Hz, con un filtro antisolapamiento unipolar a aproximadamente 200Hz. El problema es que solo tengo suficiente ancho de banda de comunicación para enviar muestras a 100Hz y, por lo tanto, es necesario un poco de diezmado.

Actualmente, simplemente tengo un filtro de promedio móvil de 8 muestras y envío cada octava muestra. Esto se siente sucio y subóptimo. Seguramente debe haber una mejor manera.

¿Hay una "mejor" cosa aceptada para hacer en este caso? ¿Debería, por ejemplo, hacer un filtro FIR de paso bajo para exprimir tan cerca de 50Hz de ancho de banda de señal como sea posible? O, ¿hay algún tipo de esquema de estimación óptimo que funcione mejor?

El objetivo es implementar varios canales (9 canales) en un microcontrolador pequeño (ARM Cortex M4, por ejemplo), de modo que cuanto más barato sea computacionalmente, ¡mejor!

Damien
fuente

Respuestas:

6

¿Debería, por ejemplo, hacer un filtro FIR de paso bajo para exprimir tan cerca de 50Hz de ancho de banda de señal como sea posible?

18

Jim Clay
fuente
¿Existe una "mejor" clase de FIR para este problema? ¿O debería ser suficiente una ventana sinc?
Damien
1
Sí, una ventana-sinc debería estar bien.
Jim Clay
2
Aunque puede crear el filtro con una ventana sinc literal, probablemente sería más fácil hacerlo utilizando el algoritmo remez. Con él, puede especificar su ancho de banda de banda de paso, frecuencia de corte y orden de filtro, y obtendrá el mejor filtro equiripple posible dadas esas restricciones.
Jim Clay