Überabtastung und Dezimierung: Welcher Filter soll verwendet werden?


8

Ich habe einen Sensor, der (mehr oder weniger) bandbegrenzte Daten mit einem Cut-Off von ca. 45 Hz, einem Roll-Off und AWGN erzeugt . Ich habe einen ADC, der das Signal bei 800 Hz abtastet, mit einem einpoligen Anti-Aliasing-Filter bei etwa 200 Hz. Das Problem ist, dass ich nur genügend Kommunikationsbandbreite habe, um Samples mit 100 Hz zu senden, und daher eine gewisse Dezimierung erforderlich ist.

Derzeit habe ich einfach einen Filter mit gleitendem Durchschnitt von 8 Stichproben und sende jede 8. Stichprobe. Das fühlt sich schmutzig und suboptimal an. Sicherlich muss es einen besseren Weg geben.

Gibt es in diesem Fall eine akzeptierte "beste" Vorgehensweise? Sollte ich zum Beispiel ein Tiefpass-FIR-Filter verwenden, um eine Signalbandbreite von nahezu 50 Hz wie möglich zu erreichen? Oder gibt es eine Art optimales Schätzschema, das besser funktioniert?

Ziel ist es, mehrere Kanäle (9 Kanäle) auf einem kleineren Mikrocontroller (z. B. ARM Cortex M4) zu implementieren. Je rechnerisch billiger, desto besser!

Antworten:


6

Sollte ich zum Beispiel ein Tiefpass-FIR-Filter verwenden, um eine Signalbandbreite von nahezu 50 Hz wie möglich zu erreichen?

Ja, genau das sollten Sie tun. Das ist eine extrem niedrige Datenrate, daher würde ich denken, dass selbst mit einem schwachen Prozessor ein ziemlich guter Filter möglich sein sollte. Zumal Sie nur berechnen müssen18


Gibt es eine "beste" FIR-Klasse für dieses Problem? Oder sollte ein Fenster-Sinc ausreichen?
Damien

1
Ja, ein Fenster-Sinc sollte in Ordnung sein.
Jim Clay

2
Obwohl Sie den Filter mit einem Literal Window-Sinc erstellen können, wäre es wahrscheinlich einfacher, den Remez-Algorithmus zu verwenden. Damit können Sie Ihre Durchlassbandbandbreite, Grenzfrequenz und Filterreihenfolge angeben, und es wird der bestmögliche Equiripple-Filter unter Berücksichtigung dieser Einschränkungen erstellt.
Jim Clay
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.