Dari Respons Ideal ke Filter Praktis
Hamming menghadirkan metode desain empat langkah untuk filter FIR menggunakan serius Fourier.
Langkah 1: Spesifikasikan Respons Ideal
Tentukan H_ideal(f): respons frekuensi yang diinginkan secara tepat. Untuk filter lowpass: H = 1 untuk f < f_c, H = 0 untuk f > f_c. Ini adalah fungsi langkah dalam domain frekuensi.
Langkah 2: Hitung Koefisien Fourier
Ekspansikan H_ideal(f) sebagai serius Fourier dalam variabel frekuensi. Koefisien c_k adalah nilai respons impuls filter yang ideal:
c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df
Untuk filter lowpass dengan batas f_c: c_k = sin(2πf_c·k) / (πk) untuk k ≠ 0, c_0 = 2f_c.
Respons impuls ini adalah tak terhingga — fungsi sinc meluas selamanya dalam waktu. Filter praktis membutuhkan jumlah koefisien terbatas.
Langkah 3: Batasi ke 2N+1 Istilah
Tahan hanya koefisien c_k untuk |k| ≤ N. Ini jendela segiempat 2N+1 yang paling sederhana. Ini menghasilkan fenomena Gibbs: ≈9% overshoot dekat batas potong.
Langkah 4: Terapkan Jendela
Kali koefisien yang dibatasi dengan fungsi jendela w_k untuk mengurangi overshoot Gibbs:
c̃_k = c_k · w_k
Koefisien yang diaplikasikan jendela c̃_k menentukan filter praktis.
Menghitung Koefisien Fourier
Rumus koefisien Fourier c_k = sin(2πf_c·k) / (πk) untuk filter lowpass dengan batas f_c memberikan respons impuls.
Untuk filter bandpass dengan batas bawah f_l dan atas f_u, koefisien Fourier untuk respons ideal adalah: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).
Bagaimana Jendela Mengurangi Overshoot Gibbs
Fungsi jendela w_k melengkapi urutan koefisien yang di-trunaksi dari nilai tengah ke nol di pinggiran. Taper menghapuskan sisipan tepi yang dihasilkan oleh pemotongan persegi.
Mengapa Tapering Berfungsi
Overshoot Gibbs muncul karena transform Fourier jendela persegi (fungsi sinc) memiliki sisipan samping yang besar. Sisipan samping ini menambahkan di dekat ketidastuangannya untuk menghasilkan overshoot sekitar 9%.
Jendela halus memiliki transform Fourier dengan sisipan samping yang lebih kecil. Menggandakan koefisien dengan jendela menggabungkan respons frekuensi yang ideal dengan transform Fourier jendela. Sisipan samping yang lebih kecil → ripple yang lebih sedikit.
Jendela Umum
Persegi (tidak mengaplikasikan jendela): sisipan samping ≈ -13 dB, Gibbs ≈ 9%.
Hann (von Hann): w_k = 0.5 + 0.5·cos(πk/N). Sisipan samping ≈ -31 dB.
Hamming: w_k = 0.54 + 0.46·cos(πk/N). Sisipan samping ≈ -41 dB, sisipan samping pertama ≈ -43 dB. Gibbs < 0.2%.
Kaiser: w_k = I₀(α·√(1-(k/N)²)) / I₀(α). Dapat disesuaikan: α mengontrol tinggi sisipan samping, memungkinkan perancangan untuk saling menukar tinggi sisipan samping vs lebar jalur transisi.
Tradinof Window
Setiap jendela menimbulkan tradinof: mengurangi sisipan samping selalu memperlebar lobe utama.
Lobe utama yang lebih lebar berarti lebar jalur transisi yang lebih lebar - rentang frekuensi antara pasband dan stopband.
Hamming formalized ini dalam hal parameter desain Kaiser:
- δ: toleransi ripple yang diperbolehkan (toleransi vertikal dari ideal - seberapa jauh respons dapat deviasi dari 0 atau 1)
- ΔF: lebar transisi (toleransi horizontal - seberapa sempit transisi dari pas ke stop)
Metode Kaiser menemukan baik N (jumlah koefisien) dan α (parameter bentuk jendela) dari δ dan ΔF sendiri. Tidak menebak tipe jendela.
Dari Spesifikasi ke Koefisien
Metode Kaiser mengambil dua spesifikasi — δ (toleransi gelombang) dan ΔF (lebar transisi) — dan menghasilkan baik N dan koefisien jendela tanpa mencoba dan error.
Urutan Desain
1. Hitung A = −20·log₁₀(δ) (pengurangan dalam dB)
2. Hitung parameter bentuk α:
- Jika A > 50: α = 0.1102·(A − 8.7)
- Jika 21 ≤ A ≤ 50: α = 0.5842·(A − 21)^{0.4} + 0.07886·(A − 21)
- Jika A < 21: α = 0 (jendela persegi)
3. Hitung N = (A − 8) / (2.285 · 2πΔF)
4. Hitung bobot jendela Kaiser: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)
5. Kalikan koefisien Fourier ideal dengan bobot jendela
6. Evaluasi fungsi transfer yang dihasilkan dan periksa gelombang terhadap δ. Jika gelombang melebihi δ (interferensi tepi), ulangi dengan toleransi yang lebih kecil.
Hamming mencatat: Kaiser tiba di eksponen 0.4 dengan mencoba 0.5 (terlalu besar) dan menemukan 0.4 cocok sangat baik. Komputer digunakan sebagai alat eksperimen untuk penelitian teoritis.
Penggunaan Metode Kaiser
Fungsi Bessel I₀(x) muncul dalam rumus jendela Kaiser. Ia menghitung sebagai sebuah seri konvergen cepat:
I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²
Untuk x kecil, seri tersebut konvergen dalam beberapa istilah karena m!² dalam penampang pembilang.