un

guest
1 / ?
back to lessons

Von der idealen Antwort zu einer praktischen Filter

Hamming stellte ein vierstufiges Designverfahren für IIR-Filter mit Fourier-Reihen vor.

Schritt 1: Angabe der idealen Antwort

Definieren Sie H_ideal(f): die genaue Frequenzantwort, die Sie möchten. Für einen Tiefpass: H = 1 für f < f_c, H = 0 für f > f_c. Dies ist eine Schrittfunction im Frequenzbereich.

Schritt 2: Berechnung der Fourier-Koeffizienten

Erweitern Sie H_ideal(f) als Fourier-Reihe in der Frequenzvariable. Die Koeffizienten c_k sind die Impulsantwortwerte des Filters:

c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df

Für einen Tiefpass mit Schwellenwert f_c: c_k = sin(2πf_c·k) / (πk) für k ≠ 0, c_0 = 2f_c.

Diese Impulsantwort ist unendlich - die Sinc-Funktion erstreckt sich für immer im Zeitbereich. Ein praktischer Filter benötigt eine endliche Anzahl von Koeffizienten.

Schritt 3: Auf 2N+1 Begriffe einschränken

Behalten Sie nur Koeffizienten c_k für |k| ≤ N. Dieses rechteckige Fenster mit 2N+1 Begriffen ist die einfachste Abschneidung. Es erzeugt das Gibbs-Phänomen: ≈9% Überschreitung in der Nähe der Schwellenwert.

Schritt 4: Anwendung eines Fensters

Multiplizieren Sie die gekürzten Koeffizienten mit einer Fensterfunktion w_k, um Gibbs-Überschreitungen zu reduzieren:

c̃_k = c_k · w_k

Die mit einem Fenster versehenen Koeffizienten c̃_k definieren den praktischen Filter.

Gibbs-Phänomen & Fensterfunktionen

Berechnung der Fourier-Koeffizienten

Die Fourier-Koeffizientenformel c_k = sin(2πf_c·k) / (πk) für einen Tiefpass mit Schwellenwert f_c gibt die Impulsantwort.

Für einen Bandpassfilter mit unterem Schwellenwert f_l und oberem Schwellenwert f_u beträgt der Fourier-Koeffizient für die ideale Antwort: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).

Für einen Tiefpass mit Schwellenwert f_c = 1/4 berechnen Sie die Fourier-Koeffizienten c_k für k = 0, 1, 2 und −1. Verwenden Sie c_0 = 2f_c und c_k = sin(2πf_c·k)/(πk) für k ≠ 0. Zeigen Sie die Berechnung für jedes. Erklären Sie dann, warum die Koeffizientenfolge symmetrisch ist: c_k = c_{−k}.

Wie Fenster Gibbs-Uberschuss reduzieren

Eine Fensterfunktion w_k verjüngt die abgeschnittene Koeffizientenreihe von ihrem zentralen Wert zu null an den Rändern. Der Verjüngung entfernt die scharfen Kanten, die durch rechteckige Abschneiden eingeführt werden.

Warum Verjüngung funktioniert

Gibbs-Uberschuss tritt auf, weil der Fourier-Transform der rechteckigen Fenster (die Sinc-Funktion) große Nebenspektren hat. Diese Nebenspektren fügen sich in der Nähe der Diskontinuität zusammen, um den ≈9% Uberschuss zu erzeugen.

Ein glattes Fenster hat eine Fourier-Transform mit kleineren Nebenspektren. Die Multiplikation der Koeffizienten durch das Fenster convolutet die ideale Frequenzantwort mit der Fourier-Transform des Fensters. Kleine Nebenspektren → weniger Rippen.

Gemeinsame Fenster

Rechteckiges (keine Fensterung): Nebenspektren ≈ −13 dB, Gibbs ≈ 9%.

Hann (von Hann): w_k = 0.5 + 0.5·cos(πk/N). Nebenspektren ≈ −31 dB.

Hamming: w_k = 0.54 + 0.46·cos(πk/N). Nebenspektren ≈ −41 dB, erstes Nebenspektrum ≈ −43 dB. Gibbs < 0.2%.

Kaiser: w_k = I₀(α·√(1−(k/N)²)) / I₀(α). Einstellbar: α bestimmt die Höhe der Nebenspektren, wodurch eine Konfiguration ermöglicht wird, bei der die Nebenleistung gegen die Übergangsbreite getauscht wird.

Das Fenster-Abwägen

Jedes Fenster setzt ein Abwägen voraus: Die Unterdrückung von Nebenspektren erweitert immer die Hauptloch.

Ein breiteres Hauptloch bedeutet eine breitere Übergangsbreite - der Bereich der Frequenzen zwischen Passband und Stopband.

Hamming hat dies in den Parametern der Kaiser-Design formuliert:

- δ: zulässige Rippe (vertikale Toleranz von ideal - wie sehr die Antwort von 0 oder 1 abweichen kann)

- ΔF: Übergangsbreite (horizontale Toleranz - wie schmal die Übergänge von Pass zu Stop ist)

Kaisers Methode bestimmt sowohl N (Anzahl der Koeffizienten) als auch α (das Fensterformparameter) allein aus δ und ΔF. Kein Vermutung über den Fenstertyp.

Ein Filter-Anforderung erfordert: Passband-Rippe ≤ 0.01 (δ = 0.01) und Übergangsbreite ΔF = 0.05 (normalisiert). Ein zweiter Filter erfordert: Passband-Rippe ≤ 0.001 (δ = 0.001) und die gleiche ΔF = 0.05. Welcher Filter benötigt mehr Koeffizienten N? Erklären Sie die Beziehung zwischen Toleranz für Passband-Rippe δ und Filter-Ordnung N in der Fourier-Reihe-Gestaltung.

Von Spezifikationen zu Koeffizienten

Kaisers Methode nimmt zwei Spezifikationen - δ (Rippeltoleranz) und ΔF (Übergangsbreite) - und produziert sowohl N als auch die Fensterkoeffizienten ohne Versuch und Irrtum.

Die Gestaltungsschleife

1. Berechnen Sie A = −20·log₁₀(δ) (Abschwächung in dB)

2. Berechnen Sie das Formparameter α:

- Wenn A > 50: α = 0.1102·(A − 8.7)

- Wenn 21 ≤ A ≤ 50: α = 0.5842·(A − 21)^{0.4} + 0.07886·(A − 21)

- Wenn A < 21: α = 0 (rechteckiges Fenster)

3. Berechnen Sie N = (A − 8) / (2.285 · 2πΔF)

4. Berechnen Sie die Kaiser-Fenstergewichte: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)

5. Multiplizieren Sie die idealen Fourierkoeffizienten mit den Fenstergewichten

6. Bewerten Sie die resultierende Übertragungsfunktion und prüfen Sie die Rippel gegen δ. Wenn die Rippel δ (Kantenbeeinflussung) übersteigt, wiederholen Sie mit kleinerem Toleranzbereich.

Hamming bemerkte: Kaiser kam zum Exponenten 0.4, indem er 0.5 (zu groß) ausprobierte und fand, dass 0.4 gut passte. Der Computer diente als experimentelles Werkzeug für theoretische Forschung.

Anwendung von Kaisers Methode

Die Besselfunktion I₀(x) tritt in Kaisers Fensterformel auf. Sie berechnet sich als schnell konvergierende Reihe:

I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²

Für kleine x konvergiert die Reihe in wenigen Termini aufgrund des m!² im Nenner.

Ein Tiefpassfilter benötigt δ = 0,01 (1% Rausch) und ΔF = 0,1 (10% der Probesteuerungsrate als Übergangsbreite). Verwenden Sie Kaisers Formel: A = −20·log₁₀(0,01) = 40 dB. Da 21 ≤ 40 ≤ 50, verwenden Sie α = 0,5842·(A−21)^(0,4) + 0,07886·(A−21). Berechnen Sie α. Dann verwenden Sie N = (A−8)/(2,285·2πΔF), um die erforderliche Anzahl an Filterkoeffizienten zu berechnen. Runden Sie N auf die nächste ganze Zahl.