Dwa warunki, dwa współczynniki
Filtr o k+1 wolnych współczynnikach może spełnić dokładnie k+1 warunków na jego funkcji przesyłania. Hamming zademonstrował to na najprostszym niebanalnym przypadku: dwa współczynniki, dwa warunki.
Warunki
- Przy f = 1/6: H(1/6) = 1 (ta częstotliwość przechodzi bez zmian)
- Przy f = 1/3: H(1/3) = 0 (ta częstotliwość jest całkowicie zatrzymana)
Forma filtru
Filtr wykorzystujący dwa współczynniki a i b z wejściem x_n i jednym opóźnieniem:
y_n = a · x_n + b · x_{n−1}
Podstawianie funkcji własnej
Wejście e^{i2πfn}, wyjście H(f) · e^{i2πfn}. Prawa strona daje:
H(f) · e^{i2πfn} = a · e^{i2πfn} + b · e^{i2πf(n−1)}
Podziel obie strony przez e^{i2πfn}:
H(f) = a + b · e^{−i2πf}
Teraz zastosuj dwa warunki, aby otrzymać dwa równania z dwiema niewiadomymi.
Rozwiązywanie współczynników
Podstawiając f = 1/6 do H(f) = a + b·e^{−i2πf}:
1 = a + b·e^{−i2π/6} = a + b·(cos(−π/3) + i·sin(−π/3)) = a + b·(1/2 − i√3/2)
Podstawiając f = 1/3:
0 = a + b·e^{−i2π/3} = a + b·(−1/2 − i√3/2)
Z tych dwóch równań Hamming rozwiązał, aby otrzymać a = 1/2, b = 1/2 — to samo co uśrednianie 3-próbek (z wyjściem w pozycji środkowej).
Kompletny filtr
Filtr spełniający oba warunki ma formę:
y_n = (x_{n−1} + x_n + x_{n+1}) / 2
Wyjście na pozycji n wykorzystuje poprzednie, obecne & kolejne próbki wejściowe.
Funkcja przesyłania:
H(f) = (e^{i2πf} + 1 + e^{−i2πf}) / 2 = (2cos(2πf) + 1) / 2 = cos(2πf) + 1/2
Weryfikacja:
- H(1/6) = cos(π/3) + 1/2 = 1/2 + 1/2 = 1 ✓
- H(1/3) = cos(2π/3) + 1/2 = −1/2 + 1/2 = 0 ✓
Przy innych częstotliwościach: H(0) = 1 + 1/2 = 3/2 (przechodzi DC z wzmocnieniem), H(1/2) = −1 + 1/2 = −1/2.
Wgląd: filtr cyfrowy implementuje w oprogramowaniu to, co filtr analogowy RC implementuje w sprzęcie. Wybór współczynników kontroluje odpowiedź częstotliwościową analitycznie.
Funkcja przesyłania na wielu częstotliwościach
Funkcja przesyłania H(f) = cos(2πf) + 1/2 stosuje się na każdej częstotliwości, nie tylko na dwóch punktach projektowych.
Odkrycie Gibbsa
Hamming opowiedział historię Michelsona — słynnego z eksperymentu Michelsona-Morleya — który zbudował maszynę analogową do obliczania szeregu Fouriera do 75 wyrazów. Gdy zrekonstruował funkcję nieciągłą z jej współczynników, maszyna wykazała trwały nadmiar blisko skoku.
Michelson zapytał lokalnych matematyków. Winili sprzęt. Tylko Gibbs słuchał.
Zjawisko Gibbsa: gdy szereg Fouriera obcięty do N wyrazów przybliża skok nieciągłości, przybliżenie przekracza około 8,9% wysokości skoku — i ten nadmiar NIE zmniejsza się wraz ze wzrostem N. Więcej wyrazów zawęża szpic nadmiaru, ale nigdy go nie eliminuje.
Matematycznie: N-wyrazowy szereg Fouriera zbieża się punktowo wszędzie z wyjątkiem nieciągłości. Na nieciągłości sumy cząstkowe zbiegają się do punktu środkowego skoku, ale maksimum sumy cząstkowej blisko skoku zbliża się do 1,0895 (dla skoku jednostkowej wysokości), a nie 1,0.
Dlaczego to ma znaczenie dla filtrów
Idealny filtr dolnoprzepustowy ma funkcję przesyłania będącą funkcją schodkową: H(f) = 1 dla f < f_c, H(f) = 0 dla f > f_c. Ta nieciągłość między pasmem przepustowym & pasmem zaporowym oznacza, że każdy filtr skończonej długości (obcięty szereg Fouriera) wykazuje zmarszczenia Gibbsa w swojej odpowiedzi częstotliwościowej.
Konsekwencja: sam projekt szeregu Fouriera obciętego produkuje filtry z ≈9% zmarszczeniami zarówno w paśmie przepustowym & paśmie zaporowym, niezależnie od liczby użytych współczynników.
Implikacje zjawiska Gibbsa
Hamming wykorzystał ten wynik do motywacji funkcji okienkujących: pomnożenie idealnych współczynników Fouriera przez płynnie zwężającą się funkcję okienkującą dramatycznie zmniejsza nadmiar Gibbsa.
Okno Hamminga: w_k = 0,54 + 0,46·cos(πk/N). To okno zmniejsza zmarszczenia Gibbsa do mniej niż 0,2%.
Kompromis: okienkowanie wygładza przejście, ale poszerzenia pasmo przejścia. Ostrzejsze odcięcie zawsze wymaga więcej współczynników.