Od Idealnej Odpowiedzi do Praktycznego Filtru
Hamming przedstawił czterokrotny sposób projektowania filtrów FIR za pomocą serii Fourier.
Krok 1: Określ Idealną Odpowiedź
Zdefiniuj H_ideal(f): dokładna odpowiedź częstotliwościowa, którą chcesz uzyskać. Dla filtru niskopasywnego: H = 1 dla f < f_c, H = 0 dla f > f_c. To funkcja krocząca w obszarze częstotliwości.
Krok 2: Oblicz Współczynniki Fouriera
Rozwiń H_ideal(f) jako serię Fouriera w zmiennych częstotliwościowych. Współczynniki c_k to wartości impulsowej odpowiedzi filtru:
c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df
Dla filtru niskopasywnego z kroczącym f_c: c_k = sin(2πf_c·k) / (πk) dla k ≠ 0, c_0 = 2f_c.
Impulsowa odpowiedź jest nieskończona - funkcja sinc rozciąga się na zawsze w czasie. Praktyczny filtr potrzebuje ograniczonej liczby współczynników.
Krok 3: Skróć do 2N+1 Terminów
Zachowaj tylko współczynniki c_k dla |k| ≤ N. To prostokątne okno o 2N+1 terminów jest najprostszym skróceniem. Wywołuje zjawisko Gibbsa: ≈9% przekroczenie w pobliżu przewężenia.
Krok 4: Zastosuj Okno
Mnożysz skrócone współczynniki przez funkcję okna w_k, aby zmniejszyć przekroczenie Gibbsa:
c̃_k = c_k · w_k
Współczynniki okienione c̃_k definiują praktyczny filtr.
Obliczanie Współczynników Fouriera
Współczynnik Fouriera formula c_k = sin(2πf_c·k) / (πk) dla filtru niskopasywnego z kroczącym f_c daje impulsową odpowiedź filtru.
Dla filtru pasmowego z dolnym kroczącym f_l i górnym kroczącym f_u, współczynnik Fouriera dla idealnej odpowiedzi to: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).
Jak Okna Redukują Nadmiar Gibbsa
Funkcja okna w_k zagięcia ciągu współczynników obciętych od wartości centralnej do zera na krawędzach. Zagięcie usuwa ostre krawędzie wprowadzane przez prostokątną obcięcie.
Dlaczego Zagięcie Działa
Nadmiar Gibbs wynika z faktu, że Fouriera transformy (funkcja sinc) ma duże boki poboczne. Te boki poboczne dodają się obok przecięcia, tworząc około 9% nadmiaru.
Funkcja okna o gładkich krawędziach ma mniejsze boki poboczne. Mnożenie współczynników przez okno konwoluje idealne częstotliwościowe z Fourier transformą okna. Mniejsze boki poboczne → mniej pasków.
Powszechnie Używane Okna
Prostokątne (bez okienowania): boki poboczne ≈ −13 dB, Gibbs ≈ 9%.
Hann (von Hann): w_k = 0.5 + 0.5·cos(πk/N). Boki poboczne ≈ −31 dB.
Hamming: w_k = 0.54 + 0.46·cos(πk/N). Boki poboczne ≈ −41 dB, pierwszy bok poboczny ≈ −43 dB. Gibbs < 0.2%.
Kaiser: w_k = I₀(α·√(1−(k/N)²)) / I₀(α). Dostosowalne: α kontroluje wysokość boków pobocznych, pozwalając na projektowanie wymiany między wysokością boków pobocznych a szerokością pasma przejściowego.
Kompromis Okien
Każde okno wprowadza kompromis: hamowanie boków pobocznych zawsze rozszerza główne lustra.
Szerokie główne lustra oznacza szersze pasmo przejściowe - zakres częstotliwości między pasmem przechodnim a pasmem zatrzymującym.
Hamming sformułował to w związku z parametrami projektowania Kaiser'a:
- δ: dopuszczalny nadmiar (wertykalna tolerancja od idealnej - jak bardzo odpowiedź może się odchylić od 0 lub 1)
- ΔF: szerokość pasma przejściowego (horyzontalna tolerancja - jak wąskie jest przejście z pasma przechodniego do pasma zatrzymującego)
Metoda Kaisera wyznacza zarówno N (liczbę koeficientów), jak i α (parametr kształtu okna) na podstawie δ i ΔF same. Brak zgadywania typu okna.
Z Specyfikacji do Koeficientów
Metoda Kaisera przyjmuje dwa specyfikacje - δ (tolerancja fali) i ΔF (szerokość przejścia) - i produkuje zarówno N, jak i koeficienty okna bez prób i błędów.
Sekwencja Projektowania
1. Oblicz A = −20·log₁₀(δ) (atenuacja w dB)
2. Oblicz parametr kształtu α:
- Jeśli A > 50: α = 0,1102·(A − 8,7)
- Jeśli 21 ≤ A ≤ 50: α = 0,5842·(A − 21)^{0,4} + 0,07886·(A − 21)
- Jeśli A < 21: α = 0 (prostokątne okno)
3. Oblicz N = (A − 8) / (2,285 · 2πΔF)
4. Oblicz wag okna Kaisera: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)
5. Mnożenie idealnych współczynników Fourier przez wag okna
6. Ocena wynikowej funkcji przejścia i sprawdzenie fali przeciwnego kierunku w odniesieniu do δ. Jeśli fala przeciwnego kierunku przekracza δ (interferencja brzegowa), powtórz z mniejszą tolerancją.
Hamming zauważył: Kaisera doszukiwał się wykładnika 0,4, próbując 0,5 (za duże), a 0,4 dobrze się sprawdził. Komputer służył jako narzędzie do eksperymentów w badaniach teoretycznych.
Zastosowanie Metody Kaisera
Funkcja Bessela I₀(x) pojawia się w formule okna Kaisera. Oblicza się ją jako szybko zbiegającą serię:
I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²
Dla małych x seria zbiega w kilku terminach z powodu m!² w mianowniku.