Dua Kondisi, Dua Koefisien
Filter dengan k+1 koefisien bebas dapat memenuhi tepat k+1 kondisi pada fungsi transfernya. Hamming mendemonstrasikan ini dengan kasus paling sederhana yang tidak trivial: dua koefisien, dua kondisi.
Kondisinya
- Pada f = 1/6: H(1/6) = 1 (frekuensi ini lolos tanpa berubah)
- Pada f = 1/3: H(1/3) = 0 (frekuensi ini sepenuhnya dihentikan)
Bentuk Filter
Filter yang menggunakan dua koefisien a dan b dengan masukan x_n dan satu penundaan:
y_n = a · x_n + b · x_{n−1}
Mengganti dengan Fungsi Eigen
Masukan e^{i2πfn}, keluaran H(f) · e^{i2πfn}. Sisi kanan memberikan:
H(f) · e^{i2πfn} = a · e^{i2πfn} + b · e^{i2πf(n−1)}
Bagi dengan e^{i2πfn}:
H(f) = a + b · e^{−i2πf}
Sekarang terapkan dua kondisi untuk mendapatkan dua persamaan dalam dua yang tidak diketahui.
Menyelesaikan Koefisien
Mensubstitusi f = 1/6 ke dalam 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)
Mensubstitusi f = 1/3:
0 = a + b·e^{−i2π/3} = a + b·(−1/2 − i√3/2)
Dari dua persamaan ini, Hamming menyelesaikan untuk mendapatkan a = 1/2, b = 1/2 — sama dengan rata-rata 3-sampel (dengan keluaran di posisi tengah).
Filter Lengkap
Filter yang memenuhi kedua kondisi memiliki bentuk:
y_n = (x_{n−1} + x_n + x_{n+1}) / 2
Keluaran pada posisi n menggunakan sampel masukan sebelumnya, saat ini, & berikutnya.
Fungsi transfer:
H(f) = (e^{i2πf} + 1 + e^{−i2πf}) / 2 = (2cos(2πf) + 1) / 2 = cos(2πf) + 1/2
Verifikasi:
- 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 ✓
Pada frekuensi lain: H(0) = 1 + 1/2 = 3/2 (melewatkan DC dengan penguatan), H(1/2) = −1 + 1/2 = −1/2.
Wawasan: filter digital mengimplementasikan dalam perangkat lunak apa yang diimplementasikan filter RC analog dalam perangkat keras. Pilihan koefisien mengontrol respons frekuensi secara analitis.
Fungsi Transfer pada Beberapa Frekuensi
Fungsi transfer H(f) = cos(2πf) + 1/2 berlaku pada setiap frekuensi, bukan hanya dua titik desain.
Penemuan Gibbs
Hamming menceritakan kisah Michelson — dari ketenaran Michelson-Morley — yang membangun mesin analog untuk menghitung deret Fourier hingga 75 suku. Ketika dia merekonstruksi fungsi diskontinu dari koefisiennya, mesin menunjukkan overshoot yang persisten di dekat lompatan.
Michelson bertanya kepada matematikawan lokal. Mereka menyalahkan peralatan. Hanya Gibbs yang mendengarkan.
Fenomena Gibbs: ketika deret Fourier terpotong menjadi N suku mengaproksimasi diskontinuitas langkah, aproksimasi melampaui sekitar 8,9% dari tinggi lompatan — dan overshoot ini TIDAK berkurang seiring N meningkat. Lebih banyak suku mempersempit lonjakan overshoot tetapi tidak pernah menghilangkannya.
Secara matematis: deret Fourier N-suku konvergen titik demi titik di mana-mana kecuali pada diskontinuitas. Pada diskontinuitas, jumlah parsial konvergen ke titik tengah lompatan, tetapi maksimum jumlah parsial di dekat lompatan mendekati 1,0895 (untuk lompatan setinggi unit), bukan 1,0.
Mengapa Ini Penting untuk Filter
Filter lowpass ideal memiliki fungsi transfer fungsi langkah: H(f) = 1 untuk f < f_c, H(f) = 0 untuk f > f_c. Diskontinuitas antara pita pass & pita stop berarti filter berhingga panjang apa pun (deret Fourier terpotong) menunjukkan riak Gibbs dalam respons frekuensinya.
Konsekuensinya: desain deret Fourier terpotong saja menghasilkan filter dengan riak ≈9% di pita pass & pita stop, terlepas dari berapa banyak koefisien yang digunakan.
Implikasi Fenomena Gibbs
Hamming menggunakan hasil ini untuk memotivasi fungsi jendela: mengalikan koefisien Fourier ideal dengan jendela yang melandai halus mengurangi overshoot Gibbs secara dramatis.
Jendela Hamming: w_k = 0,54 + 0,46·cos(πk/N). Jendela ini mengurangi riak Gibbs menjadi kurang dari 0,2%.
Pertukaran: windowing memuluskan transisi tetapi memperlebar pita transisi. Cutoff yang lebih tajam selalu memerlukan lebih banyak koefisien.