Sovracampionamento e decimazione: quale filtro usare?


8

Ho un sensore che produce (più o meno) dati bandlimited con un cut-off di circa 45Hz, con un roll-off e AWGN . Ho un ADC che campiona detto segnale a 800Hz, con un filtro antialiasing unipolare a circa 200Hz. Il problema è che ho solo una larghezza di banda di comunicazione sufficiente per inviare campioni a 100Hz e quindi è necessaria una certa decimazione.

Attualmente, ho semplicemente un filtro a media mobile a 8 campioni e invio ogni 8 ° campione. Questo sembra sporco e non ottimale. Sicuramente ci deve essere un modo migliore.

C'è una cosa "migliore" accettata da fare in questo caso? Dovrei, ad esempio, fare un filtro FIR passa-basso per spremere il più vicino possibile a 50Hz di larghezza di banda del segnale? Oppure esiste una sorta di schema di stima ottimale che farà meglio?

Lo scopo è quello di implementare diversi canali (9 canali) su un microcontrollore di dimensioni ridotte (ARM Cortex M4, ad esempio), quindi più computazionalmente è economico, meglio è!

Risposte:


6

Dovrei, ad esempio, fare un filtro FIR passa-basso per spremere il più vicino possibile a 50Hz di larghezza di banda del segnale?

Sì, è esattamente quello che dovresti fare. Si tratta di una velocità dati estremamente bassa, quindi anche con un processore wimpy penso che dovrebbe essere in grado di fare un filtro abbastanza buono. Soprattutto perché devi solo calcolare18 delle uscite del filtro.


Esiste una "migliore" classe di FIR per questo problema? O dovrebbe essere sufficiente una finestra-sinc?
Damien,

1
Sì, un sincero dovrebbe essere a posto.
Jim Clay

2
Sebbene sia possibile creare il filtro con un lettered windowed-sinc, probabilmente sarebbe più semplice farlo utilizzando l'algoritmo remez. Con esso è possibile specificare la larghezza di banda della banda passante, la frequenza di taglio e l'ordine del filtro, e verrà fuori con il miglior filtro equiripple possibile dato quei vincoli.
Jim Clay
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.