# Filter mit endlicher Impulsantwort

Ein Filter mit endlicher Impulsantwort (englisch finite impulse response filter, FIR-Filter, oder manchmal auch Transversalfilter genannt) ist ein diskreter, meist digital implementierter Filter und wird im Bereich der digitalen Signalverarbeitung eingesetzt.

## Eigenschaften

Das Charakteristikum von FIR-Filtern ist, dass sie eine Impulsantwort mit endlicher Länge erzeugen. Dies wird u. a. dadurch erzielt, dass sie keinen Informationsspeicher beinhalten und als Folge nur eine begrenzte Anzahl von Daten an ihrem Eingang zur Berechnung des Filterergebnisses heranziehen. Als eine Folge davon können FIR-Filter ungeachtet der Filterparameter nicht instabil werden und damit auch nicht zu einer selbstständigen Schwingung angeregt werden.
FIR-Filter sind meistens nichtrekursive Filter, weisen also keine Rückkopplungen oder Schleifen in ihrer Struktur auf. Es gibt aber auch einige spezielle FIR-Filterstrukturen mit Rückkopplungen. Auch können bestimmte Übertragungsfunktionen von FIR-Filtern auch mit diskreten rekursiven Filterstrukturen realisiert werden.
Meistens werden FIR-Filter als digitale Filter realisiert. Die Implementierung analoger FIR-Filter ist schwieriger und weniger verbreitet, vor allem wegen der Genauigkeitsprobleme. Beispiele sind elektrische Eimerkettenschaltungen, wobei Eimerkettenspeicher zur analogen Verzögerung verwendet werden, analoge N-Pfad-Filter, sowie als akustische Realisierungen (Akustische-Oberflächenwellen-Filter).

## Theoretische Grundlagen

Als wesentliche Eigenschaft sind FIR-Filter immer stabil, da sie ohne interne Rückkopplungen realisiert werden können. Mathematisch zeigt sich die Stabilität dieses Filtertyps in der Tatsache, dass die Polverteilung der FIR-Filter-Übertragungsfunktion nur eine n-fache Polstelle im Ursprung und somit innerhalb des Einheitskreises aufweist. Bei rekursiven FIR-Filtern fallen die Nullstellen exakt mit den Polstellen zusammen und heben diese auf. Durch diese grundsätzlich garantierte Stabilität werden FIR-Filter beispielsweise bei adaptiven Filtern als Basis für die Filterstruktur eingesetzt. Auch wirken sich Quantisierungsfehler bei den Filterkoeffizienten, durch die notwendige Beschränkung auf endlich viele Stellen, nur in geringem Maße aus.
Weiterhin ist die Gleichspannungsverstärkung eines FIR-Filters der Normalformen gleich der Summe aller Filterkoeffizienten und die Impulsantwort h(k) liefert die Folge der Filterkoeffizienten. Diese Koeffizientenfolge ist bei einem FIR-Filter mit Ordnung m immer m+1 Werte lang, womit eine gerade Filterordnung immer eine ungerade Anzahl von Filterkoeffizienten bzw. bei ungerader Filterordnung immer eine gerade Anzahl von Filterkoeffizienten hat.
Im Gegensatz zu den Filtern mit unendlicher Impulsantwort (IIR-Filter) ist zur Realisierung einer bestimmten Filterübertragungsfunktion mittels FIR-Filter eine deutlich höhere Ordnung m notwendig.

## Grundtypen

Neben den allgemeinen, komplexwertigen FIR-Systemen spielen vor allem reellwertige FIR-Systeme in der praktischen Realisierung von Filtern eine bedeutende Rolle. Reellwertige FIR-Filter weisen als Koeffizienten nur reelle Zahlen auf und lassen sich, je nachdem ob eine gerade oder ungerade Filterordnung bzw. eine gerade oder ungerade Symmetrie der Impulsantwort vorliegt, in vier verschiedene Grundtypen unterteilen. Diese vier Typen unterscheiden sich unter anderem in der Lage der fest vorgegebenen Nullstellen im Betragsfrequenzgang |H(jΩ)|.
In folgender Tabelle, deren Normierung in der Literatur allerdings nicht einheitlich ist, sind zu den vier Grundtypen die beispielhaften Impulsantworten angegeben. Bei der Übertragungsfunktion H(jΩ) stellt der Parameter Ω die auf π normierte Frequenz dar. Dabei ist Ω gleich π bei der halben Abtastfrequenz, was der Grenzfrequenz von zeitdiskreten Übertragungssystemen entspricht. Ω=2π entspricht der Abtastfrequenz. Da es sich immer um zeitdiskrete Systeme handelt, weist der Betragsfrequenzgang |H(jΩ)| eine Periodizität mit der Abtastfrequenz auf, welche sich je nach Typ unterscheidet.
Eigenschaften der vier linearphasigen FIR-Grundtypen :
| Typ | Filterordnung m | Symmetrie der Impulsantwort | Fixe Nullstellen im Frequenzgang H(jΩ) | Periodizität von |H(jΩ)| |
| 1 | gerade | gerade | keine | 2π |
| 2 | gerade | ungerade | Ω = 0 Ω = π | 2π |
| 3 | ungerade | gerade | Ω = π | 2π |
| 4 | ungerade | ungerade | Ω = 0 | 2π |
Bei dem Filterentwurf sind diese speziellen Eigenschaften von wesentlicher Bedeutung. So ergibt beispielsweise der Entwurf eines Hochpasses mit einer FIR-Struktur mit gerader Filterordnung und ungerader Symmetrie (Typ 2) bzw. ungerader Filterordnung und gerader Symmetrie (Typ 3) keinen Sinn, da in beiden Fällen zwangsweise bei Ω=π eine unerwünschte Nullstelle liegt und dies der Forderung eines nach oben offenen Frequenzganges bei einem Hochpass widerspricht. Ebenso ergibt die Realisierung eines Tiefpasses mit Typ 2 oder Typ 4 Probleme, da die zwangsweise Nullstelle Ω=0 immer den bei einem Tiefpass erwünschten Gleichanteil unterdrückt.

## Realisierungsformen

Nichtrekursive FIR-Filter können in verschiedenartigen Grundformen realisiert werden, welche im Folgenden näher dargestellt werden.

### Direkte Normalformen

Die beiden direkten Normalformen 1 und 2, auch als kanonische Normalform und im Englischen als Direct Form I (DF1) und Direct Form II (DF2) bezeichnet, kennzeichnen FIR-Filter, welche mit einer minimalen Anzahl von Speicherelementen bzw. Filterkoeffizienten zur Realisierung einer gegebenen Übertragungsfunktion auskommen. Man unterscheidet zwei Formen, wie in den beiden nebenstehenden Abbildungen es beispielhaft für ein FIR-Filter 4. Ordnung dargestellt ist.
Die beiden Normalformen sind äquivalent und können ineinander übergeführt werden. Je nach konkreter Realisierung des Filters, beispielsweise in einem digitalen Signalprozessor mittels sequentiell abgearbeiteter Software oder in digitalen Schaltungen mittels paralleler Datenverarbeitung wie FPGAs, kann die eine oder die andere Form effizienter zu implementieren sein. Die Normalform 1 bietet beispielsweise die Möglichkeit, die ausgangsseitigen Addierstufen zu einem einzigen Addierer mit m+1 Eingängen zusammenzufassen, während die Normalform 2 es gestattet, gleiche Koeffizienten zusammenzufassen und damit Multiplizierstufen zu reduzieren.
Die Differenzengleichung für die Filterantwort ist für beide Formen identisch und lautet für ein System m-ter Ordnung im Zeitbereich:
    $y[k]=\sum _{i=0}^{m}h(i)\cdot u_{k-i}$
Die dabei auftretenden Faktoren h(i) stellen die Filterkoeffizienten dar. Durch Umformen lässt sich die Übertragungsfunktion ermitteln:
    $H(z)=\sum _{i=0}^{m}h(i)\cdot z^{-i}$
Bei reellwertigen Filtern lässt sich der komplexe Parameter z durch e$^{jΩ}$, mit Ω als normierte Frequenz ersetzen. Die Elemente z werden auch als Taps bezeichnet und stellen bei der Realisierung zeitliche Verzögerungen bzw. Speicherelemente dar. Ein FIR-Filter dieser Form weist in der Z-Ebene immer m Nullstellen und einen m-fachen Pol im Ursprung bei 0 auf, womit der Frequenzgang ausschließlich durch die Nullstellen in der z-Ebene bestimmt wird.
Die Ermittlung der bei zeitlich unveränderlichen FIR-Filter konstanten Filterkoeffizienten h(i) erfolgt im Rahmen der Dimensionierung des Filters, nach bestimmten Vorgaben. Diese Vorgaben stellen zum einen grundsätzliche Aussagen über die gewünschte Übertragungsfunktion dar, wie beispielsweise die Realisierung eines Hochpasses, Tiefpasses, Bandpasses oder Bandsperre und dessen Grenzfrequenzwerte. Dazu kommen weitere Parameter wie beispielsweise zulässige Abweichungen des Betragsfrequenzganges von einer Idealform und deren Steilheit im Übergangsbereich. Die Dimensionierung erfolgt dann mit numerischen Softwarepaketen wie Matlab oder GNU Octave.

#### Optimierung

Durch Ausnutzen der geraden bzw. ungeraden Symmetrie der Impulsantwort von linearphasigen FIR-Filtern lassen sich in beiden Normalformen aufwendige Multiplizierer auf bis zur Hälfte reduzieren. Dabei werden die Daten aus den jeweiligen Speicherelementen zunächst addiert, welche anschließend mit identischen Filterkoeffizienten multipliziert werden.

### Kaskadierte Form

FIR-Filter höherer Ordnungen lassen sich auch in mehrere kleinere FIR-Filter niedrigerer Ordnung, meist 2. Ordnung, aufspalten und seriell aneinanderschalten (kaskadieren), um als Summe die Übertragungsfunktion des Filters höherer Ordnung zu bilden. In nebenstehender Abbildung ist ein kaskadierter FIR-Filter 6. Ordnung dargestellt, bestehend aus drei einzelnen FIR-Filtern jeweils 2. Ordnung. In der meist englischsprachigen Fachliteratur werden diese Filterstrukturen auch als Second Order Structure, oder abgekürzt als SOS-Filter, bezeichnet.
Die einzelnen elementaren FIR-Filter können dabei wieder in der Normalform 1 oder Normalform 2 auftreten. Die Überführung der Filterkoeffizienten von der Normalform in eine kaskadierte Form erfordert eine Transformation der Filterkoeffizienten.
Der Grund für diese Umformung liegt in den Quantisierungsfehlern der Filterkoeffizienten im Rahmen der Implementierung in digitalen Systemen begründet. Durch die nur endliche Genauigkeit mit der jene Koeffizienten gespeichert werden können, können Rundungsfehler zu unzulässigen Fehlern führen. Bei der kaskadierten Filterstruktur ist die Aufteilung der quantisierten Filterkoeffizienten gleichmäßiger verteilt als in den beiden Normalformen.
Die Übertragungsfunktion H(z) für kaskadierte FIR-Filter gerader Ordnung, wie in der Abbildung für die Filterordnung m=6 mit den Filterkoeffizienten h, ergibt sich zu:
    $H(z)=h(0)\prod _{i=0}^{{\frac {m}{2}}-1}\left(1+h(1,i)z^{-1}+h(2,i)z^{-2}\right)$

### Polyphase Form

Die Struktur von polyphasen FIR-Filtern stellt eine parallele Verschaltung einzelner FIR-Filter dar, wovon sich auch das Adjektiv polyphas (mehrphasig) ableitet. Dabei werden einzelne, elementare FIR-Filter niedriger Ordnung zeitlich nacheinander verschaltet und deren jeweilige Ausgabe aufsummiert. Die zu filternde Datenfolge durchläuft dabei parallel aber zeitlich versetzt die einzelnen elementaren Filter.
Polyphase Formen bieten verschiedene Vorteile bei der Optimierung, vor allem bei der Implementierung direkt in digitalen Hardwareschaltungen. So können einzelne Teilfilter des Polyphasen-Filters mit niedrigerer Taktrate als das Gesamtfilter betrieben werden, oder es kann zwecks Minimierung der Hardware nur ein Teilfilter implementiert werden, dessen Filterkoeffizienten zyklisch vertauscht werden.

### Weitere Formen

Daneben existieren noch weitere FIR-Formen wie beispielsweise Latticefilter, welche sowohl als FIR-Filter als auch als IIR-Filter auftreten. Diese Filterformen finden wegen ihrer Struktur vor allem als Prädiktionsfehlerfilter im Bereich der Spektralschätzung für digitale Funkübertragungen, wie beispielsweise in digitalen Mobilfunknetzen, Anwendung.
Eine Sonderform ist der CIC-Filter.

### Schnelle Faltung

Die übliche Realisierung in einer der beiden Normalformen stellt die direkte Ausführung der diskreten, aperiodischen Faltung dar. Eine alternative und funktionell identische Realisierungsmöglichkeit ist die schnelle Faltung. Dabei wird eine schnelle Fouriertransformation (FFT) und deren inverse Transformation mit der Multiplikation der Impulsantwort im Spektralbereich kombiniert, woraus eine zyklische Faltung resultiert. Diese Operation ist allerdings nicht identisch mit der aperiodischen Faltung, was durch die blockorientierte Verarbeitung der FFT bedingt ist. Durch Anwendung von Verfahren wie dem Overlap-Save-Verfahren oder dem Overlap-Add-Verfahren kann eine der diskreten, aperiodischen Faltung identische Filterrealisierung erreicht werden. Je nach Zahlenformat und Art der Implementierung kann ab FIR-Filterordnungen von ca. 40 aufwärts mit der schnellen Faltung eine effizientere Implementierungen erreicht werden als durch direkte Ausführung der aperiodischen Faltungsoperation.

## Beispiele
### Mittelwertfilter

Der einfachste FIR-Filter ist die klassische Mittelwertbildung durch Summierung einzelner aufeinander folgender Werte und Division durch deren Anzahl. Führt man dies nicht blockweise (Zahl 1 bis Zahl 10, Zahl 11 bis Zahl 20 etc.), sondern überlappend (Zahl 1 bis Zahl 10, Zahl 2 bis Zahl 11, Zahl 3 bis Zahl 12 etc.) durch, so gelangt man zum gleitenden Mittelwert. Das Resultat ist ein sich über die Zeit langsam verändernder Wert, der schnellen Änderungen nicht mehr folgen kann.
Verwendet man ihn als Tiefpassfilter, hat dies den inhärenten Nachteil, dass der erste Nebengipfel im Amplitudengang über die Frequenz nicht mit mehr als −21 dB gedämpft ist, unabhängig davon, wie breit das Mittelwertfilter gewählt wird. Der Filter dämpft zwar zunehmend bis zu einer bestimmten Frequenz, darüber treten Frequenzen jedoch wieder hindurch (Siehe hierzu Spektrale Eigenschaften des gleitenden Mittelwertes). Diesen Nachteil vermeidet man beispielsweise mit Binomialfiltern.