Themen · Filter

Fensterfunktionen

Der Kompromiss zwischen Hauptkeulenbreite und Nebenkeulendämpfung — beim FIR-Filterentwurf und bei der FFT-Spektralanalyse.

Fensterfunktionen tauchen in der digitalen Signalverarbeitung an zwei auf den ersten Blick unterschiedlichen Stellen auf — FIR-Filterentwurf und FFT-Spektralanalyse — lösen dort aber im Kern dasselbe Problem: Ein endlich langer Signalausschnitt hat einen "harten Rand", der im Frequenzbereich unerwünschte Nebenkeulen erzeugt. Eine Fensterfunktion dämpft diesen Rand kontrolliert und tauscht dafür eine geringfügig breitere Hauptkeule ein.

Der Zielkonflikt: Hauptkeule vs. Nebenkeule

Jede Fensterfunktion erzeugt im Frequenzbereich ein charakteristisches Muster aus einer Hauptkeule (dem zentralen Peak, der die Frequenzauflösung bzw. Flankensteilheit bestimmt) und Nebenkeulen (den kleineren Ausläufern daneben, die für Leckage bzw. unzureichende Sperrdämpfung verantwortlich sind). Eine schmalere Hauptkeule bedeutet immer höhere Nebenkeulen und umgekehrt — dieser Kompromiss lässt sich nicht auflösen, nur verschieben.

Fenster Hauptkeulenbreite Nebenkeulendämpfung Wann sinnvoll
Rechteck (kein Fenster) schmal (steilste Flanke) ~21 dB praktisch nie — Dämpfung meist unzureichend
Hann mittel ~44 dB wenn Nebenkeulen schnell abfallen sollen, mäßige Anforderung
Hamming mittel ~53 dB Standardwahl, wenn 50–55 dB genügen
Blackman breit ~74 dB hohe Sperrdämpfung wichtiger als schmale Flanke
Blackman-Harris breit ~92 dB sehr hohe Sperrdämpfung, z. B. Nachbarkanalunterdrückung
Flat-Top sehr breit gering, dafür sehr ebene Hauptkeule Amplitudenmessung (FFT): exakter Pegel wichtiger als Frequenzauflösung
Kaiser ($\beta$ einstellbar) einstellbar einstellbar (~20–120 dB) wenn die Anforderung exakt zwischen den festen Fenstern liegt — ein Parameter statt Fensterwechsel
Kaiser als Standardwahl in der Praxis: Statt zwischen festen Fenstern zu wechseln, deckt das Kaiser-Fenster über den einen Parameter $\beta$ den gesamten Bereich ab. Faustformel nach Kaiser: $\beta \approx 0{,}1102\,(A_{sb} - 8{,}7)$ für eine geforderte Sperrdämpfung $A_{sb} > 50$ dB. Für $A_{sb}=60$ dB folgt $\beta \approx 5{,}65$ — GNU Radios firdes.low_pass() übernimmt diese Berechnung intern, wenn window.WIN_KAISER gewählt wird.

Kaiser-Fenster: Balance zwischen Hauptkeulenbreite und Nebenkeulenhöhe

Anwendung 1: FIR-Filterentwurf

Die ideale Tiefpass-Impulsantwort (eine Sinc-Funktion) ist unendlich lang. Wird sie auf $N$ Samples abgeschnitten, entsteht durch die harte Abschneidekante das Gibbsche Phänomen — Überschwinger und Welligkeit im Frequenzgang. Die Fensterfunktion multipliziert die abgeschnittene Impulsantwort und entschärft diese Kante: Eine schmalere Hauptkeule bedeutet eine steilere Filterflanke, höhere Nebenkeulen bedeuten schlechtere Sperrdämpfung. Details zur Tap-Zahl-Berechnung und ein durchgerechnetes Dimensionierungsbeispiel stehen im Artikel FIR-Filter.

Anwendung 2: FFT-Spektralanalyse

Bei der FFT wird nur ein endlicher Ausschnitt eines (meist fortlaufenden) Signals betrachtet. Ohne Fensterung "leckt" die Energie eines Frequenz-Bins in benachbarte Bins (Spectral Leakage) — sichtbar als breitere, verschmierte Peaks im Spektrum statt scharfer Linien. Hier gilt derselbe Hauptkeule-Nebenkeule-Kompromiss, nur mit anderer Gewichtung: Für eine genaue Frequenzauflösung ist eine schmale Hauptkeule wichtig (z. B. Hann), für eine genaue Pegelmessung eine möglichst ebene Hauptkeule auf Kosten der Frequenzauflösung (Flat-Top). Mehr dazu im Artikel FFT (Fast Fourier Transformation).