FIR-Filter-Grundlagen

Mai 23, 2021
admin

1.1 Was sind FIR-Filter?

FIR-Filter sind einer der beiden Haupttypen von digitalen Filtern, die in der digitalen Signalverarbeitung (DSP) verwendet werden, der andere Typ ist IIR.

1.2 Was bedeutet „FIR“?

„FIR“ bedeutet „Finite Impulse Response“. Wenn man einen Impuls eingibt, d.h. eine einzelne „1“, gefolgt von vielen „0“-Abtastwerten, kommen Nullen heraus, nachdem der „1“-Abtastwert die Verzögerungsleitung des Filters durchlaufen hat.

1.3 Warum ist die Impulsantwort „endlich“?

Im allgemeinen Fall ist die Impulsantwort endlich, weil es keine Rückkopplung im FIR gibt. Das Fehlen einer Rückkopplung garantiert, dass die Impulsantwort endlich ist. Daher ist der Begriff „endliche Impulsantwort“ fast gleichbedeutend mit „keine Rückkopplung“.

Wenn jedoch eine Rückkopplung verwendet wird und die Impulsantwort endlich ist, ist das Filter immer noch ein FIR. Ein Beispiel ist der Filter des gleitenden Mittelwerts, bei dem jedes Mal, wenn eine neue Probe eintrifft, die N-te vorherige Probe subtrahiert (rückgekoppelt) wird. Dieser Filter hat eine endliche Impulsantwort, obwohl er eine Rückkopplung verwendet: Nach N Abtastwerten eines Impulses ist der Ausgang immer Null.

1.4 Wie spreche ich „FIR“ aus?

Einige Leute sprechen die Buchstaben F-I-R aus; andere sprechen es aus, als wäre es eine Art Baum. Wir bevorzugen den Baum. (Der Unterschied ist, ob man von einem F-I-R-Filter oder einem FIR-Filter spricht.)

1.5 Was ist die Alternative zu FIR-Filtern?

DSP-Filter können auch „Infinite Impulse Response“ (IIR) sein. (Siehe die IIR-FAQ von dspGuru.) IIR-Filter verwenden eine Rückkopplung, so dass bei der Eingabe eines Impulses der Ausgang theoretisch unendlich klingelt.

1.6 Wie sind FIR-Filter im Vergleich zu IIR-Filtern?

Jeder hat Vor- und Nachteile. Insgesamt überwiegen jedoch die Vorteile von FIR-Filtern die Nachteile, so dass sie viel häufiger verwendet werden als IIR-Filter.

1.6.1 Welche Vorteile haben FIR-Filter (im Vergleich zu IIR-Filtern)?

Im Vergleich zu IIR-Filtern bieten FIR-Filter folgende Vorteile:

  • Sie können leicht so konstruiert werden, dass sie „linearphasig“ sind (und sind es normalerweise auch). Einfach ausgedrückt, verzögern linearphasige Filter das Eingangssignal, verzerren aber nicht dessen Phase.
  • Sie sind einfach zu implementieren. Auf den meisten DSP-Mikroprozessoren kann die FIR-Berechnung mit einer einzigen Anweisung in einer Schleife durchgeführt werden.
  • Sie eignen sich für Anwendungen mit mehreren Raten. Unter Multi-Rate versteht man entweder „Dezimierung“ (Verringerung der Abtastrate), „Interpolation“ (Erhöhung der Abtastrate) oder beides. Unabhängig davon, ob dezimiert oder interpoliert wird, können bei der Verwendung von FIR-Filtern einige Berechnungen weggelassen werden, was zu einer erheblichen Effizienz bei der Berechnung führt. Im Gegensatz dazu muss bei der Verwendung von IIR-Filtern jeder Ausgang einzeln berechnet werden, auch wenn er verworfen wird (so dass die Rückkopplung in den Filter einbezogen wird).
  • Sie haben wünschenswerte numerische Eigenschaften. In der Praxis müssen alle DSP-Filter mit endlich genauer Arithmetik implementiert werden, d.h. mit einer begrenzten Anzahl von Bits. Die Verwendung von Finite-Präzisions-Arithmetik in IIR-Filtern kann aufgrund der Verwendung von Rückkopplung erhebliche Probleme verursachen, aber FIR-Filter ohne Rückkopplung können in der Regel mit weniger Bits implementiert werden, und der Entwickler hat weniger praktische Probleme im Zusammenhang mit nicht-idealer Arithmetik zu lösen.
  • Sie können mit Bruchrechnung implementiert werden. Im Gegensatz zu IIR-Filtern ist es immer möglich, ein FIR-Filter mit Koeffizienten zu implementieren, deren Betrag kleiner als 1,0 ist. (Die Gesamtverstärkung des FIR-Filters kann, falls gewünscht, an seinem Ausgang eingestellt werden). Dies ist eine wichtige Überlegung bei der Verwendung von Festkomma-DSPs, weil es die Implementierung viel einfacher macht.

1.6.2 Was sind die Nachteile von FIR-Filtern (im Vergleich zu IIR-Filtern)?

Im Vergleich zu IIR-Filtern haben FIR-Filter manchmal den Nachteil, dass sie mehr Speicher und/oder Berechnungen benötigen, um eine bestimmte Filterkennlinie zu erreichen. Außerdem sind bestimmte Antworten mit FIR-Filtern nicht praktikabel zu implementieren.

1.7 Welche Begriffe werden bei der Beschreibung von FIR-Filtern verwendet?

  • Impulsantwort – Die „Impulsantwort“ eines FIR-Filters ist eigentlich nur die Menge der FIR-Koeffizienten. (Wenn Sie einen „Impuls“ in einen FIR-Filter geben, der aus einem „1“-Abtastwert, gefolgt von vielen „0“-Abtastwerten, besteht, ist der Ausgang des Filters der Satz von Koeffizienten, da der 1-Abtastwert nacheinander an jedem Koeffizienten vorbeigeht, um den Ausgang zu bilden.)
  • Abgriff – Ein FIR-„Abgriff“ ist einfach ein Koeffizienten/Verzögerungspaar. Die Anzahl der FIR-Anzapfungen (oft als „N“ bezeichnet) ist ein Hinweis auf 1) die Menge an Speicher, die für die Implementierung des Filters erforderlich ist, 2) die Anzahl der erforderlichen Berechnungen und 3) die Menge an „Filterung“, die der Filter durchführen kann; mehr Anzapfungen bedeuten in der Tat mehr Dämpfung im Sperrbereich, weniger Welligkeit, schmalere Filter usw.
  • Multiplikation-Akkumulation (MAC) – In einem FIR-Kontext ist ein „MAC“ der Vorgang der Multiplikation eines Koeffizienten mit der entsprechenden verzögerten Datenprobe und der Akkumulation des Ergebnisses. FIRs erfordern in der Regel einen MAC pro Abgriff. Die meisten DSP-Mikroprozessoren implementieren die MAC-Operation in einem einzigen Befehlszyklus.
  • Übergangsband – Das Frequenzband zwischen den Flanken von Durchlass- und Sperrband. Je schmaler das Übergangsband ist, desto mehr Anzapfungen sind für die Implementierung des Filters erforderlich. (Ein „schmales“ Übergangsband führt zu einem „scharfen“ Filter.)
  • Delay Line – Der Satz von Speicherelementen, die die „Z^-1“-Verzögerungselemente der FIR-Berechnung implementieren.
  • Circular Buffer – Ein spezieller Puffer, der „kreisförmig“ ist, weil das Inkrementieren am Ende dazu führt, dass er zum Anfang umschlägt, oder weil das Dekrementieren vom Anfang dazu führt, dass er zum Ende umschlägt. Zirkuläre Puffer werden häufig von DSP-Mikroprozessoren bereitgestellt, um die „Bewegung“ der Abtastwerte durch die FIR-Verzögerungsleitung zu implementieren, ohne die Daten buchstäblich im Speicher bewegen zu müssen. Wenn dem Puffer ein neues Sample hinzugefügt wird, ersetzt es automatisch das älteste.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.