Saring Aturan Aturan Jempol

8

Apakah ada aturan praktis untuk menghitung perkiraan urutan filter FIR / IIR berdasarkan passband vs sample rate? Saya ingat pernah membaca tentang hal itu di Undergrad. Saya pikir Anda bisa membuat perkiraan kasar seperti scaler * passband / stopband.

Saya telah bekerja menerapkan filter FIR / IIR yang berbeda dan ingin beberapa rumus kasar yang mengatakan jika satu variabel diubah, ini kira-kira berapa banyak lagi keran yang Anda perlukan untuk mendapatkan kinerja yang sama.

Jeremy
sumber
Untuk filter FIR ada rumus yang diberikan dalam jawaban ini .
Matt L.

Jawaban:

11

"Aturan praktis" favorit saya untuk urutan filter FIR low-pass adalah "fred harris rule of thumb":

N=[fs/deltSebuah(f)][Sebuahtten(dB)/22]

di mana delta (f) adalah pita transisi, dalam satuan yang sama dari fs fs adalah laju sampel dari atten filter (dB) adalah penolakan target dalam dB

Misalnya jika Anda memiliki pita transisi 100 Hz dalam suatu sistem sampel pada 1KHz, dan persyaratan penolakan Anda adalah 50 dB di pita berhenti maka pesanan dapat diperkirakan oleh:

N = 1KHz / 100Hz * 50/22 = 23 PDAM (pembulatan ke atas)

Terima kasih, fred harris!

Perhatikan formula lain yang lebih terperinci yang memperhitungkan riak passband akun adalah rumus Kaiser berkat James Kaiser dari Bell Labs, yang saya sertakan dalam grafik saya di bawah ini.

Untuk sebagian besar aplikasi yang telah saya lakukan, pendekatan fred harris baik-baik saja, karena diberi penolakan tertentu, filter yang dihasilkan menggunakan algoritma desain filter tradisional seperti Parks-McClellan dan Remez telah melampaui persyaratan riak passband saya setelah memenuhi persyaratan penolakan. (Apa yang biasanya saya lakukan adalah memperkirakan pesanan, mendesain filter dengan pesanan itu, memeriksa hasilnya dan menambah atau mengurangi pesanan dari sana untuk menyempurnakan). Hasil dari estimasi hanya: perkiraan, dan dapat sangat bervariasi tergantung pada parameter desain keseluruhan dan tidak dapat dianggap sebagai solusi yang tepat.

masukkan deskripsi gambar di sini

Bagi mereka yang akrab dengan desain filter menggunakan pendekatan jendela, tinjauan boxcar atau jendela persegi panjang (yang merupakan pemotongan sederhana) mengungkapkan mengapa diperlukan fs/Δf PDAM (yang sama dengan 2π/Δωjika satuan untuk frekuensi yang dinormalisasi adalah radian / sampel seperti yang sering dilakukan) untuk melengkapi pita transisi. Lihat gambar di bawah yang membantu menjelaskan hal ini.

Gambar pertama di bawah ini menunjukkan frekuensi frekuensi yang diharapkan untuk jendela persegi panjang dalam waktu, dan kemudian dalam bentuk diskrit, di mana itu adalah fungsi nada yang disebut, dengan titik kunci bahwa untuk sampel N pada saat fungsi persegi panjang, respons frekuensi akan memiliki nol pertama pada f = 1 / N (Di mana f adalah frekuensi yang dinormalisasi dengan 1 sebagai laju sampling).

Frekuensi dan Waktu untuk Jendela Persegi Panjang

Gambar berikut ini menunjukkan pendekatan jendela persegi panjang untuk menyaring desain (yang saya tidak akan merekomendasikan tetapi informatif). Plot pertama di sudut kiri atas menunjukkan respons frekuensi target untuk filter kami sebagai respons "dinding bata" yang ideal. Tolong jangan bingung dengan "boxcar window" (atau "rectangular window") yang juga berbentuk persegi panjang - jendelanya ada dalam domain waktu!

Untuk mewujudkan filter semacam itu, kami akan menggunakan respons impuls dari respons frekuensi yang diinginkan sebagai koefisien dalam filter FIR kami (koefisien filter adalah respons impuls --- masukkan impuls ke dalam dan ke luar, datanglah semua koefisien! ). Respons impuls untuk respons frekuensi persegi panjang (brickwall) adalah invers FT yang merupakan fungsi Sinc, dalam domain waktu, ditampilkan di sudut kiri bawah sebagai "Respon Impuls yang Diperlukan". Fungsi Sinc meluas ke plus dan minus tanpa batas, jadi untuk benar-benar mewujudkan filter seperti itu kita akan membutuhkan filter yang sangat panjang dan itu akan memiliki penundaan yang sangat lama. Jelas kami tidak bisa melakukan itu, jadi kami memotong koefisien untuk sesuatu yang dapat direalisasikan. Semakin lama filter, semakin dekat kami memperkirakan respons brickwall yang ideal,

Memotong respon impuls dalam domain waktu secara matematis identik dengan mengalikan dengan jendela persegi panjang dalam domain waktu. (Perhatikan bahwa respons impuls juga tertunda setengah durasi jendela agar sistem menjadi sebab-akibat). Mengalikan dalam domain waktu sama dengan konvolusi dalam domain frekuensi. Domain frekuensi (FT) dari respons impuls sebelum pemotongan adalah respons frekuensi brickwall yang diinginkan. Respons frekuensi untuk jendela persegi panjang adalah fungsi Sinc di domain frekuensi.

Jadi ketika kita memotong respons impuls yang diinginkan (dikalikan waktu dengan jendela persegi panjang), kita menggabungkan respons frekuensi yang diinginkan dengan fungsi Sinc, yang menghasilkan perkiraan respons frekuensi target kami seperti yang ditunjukkan di sudut kanan atas gambar. di bawah.

Respon Frekuensi setelah windowing

Kunci take-away untuk fungsi Sinc secara umum adalah null pertama adalah 1 / T di mana T adalah durasi dari fungsi persegi panjang. Untuk sistem sampel, nol pertama adalah pada2π/Ndi mana N mewakili jumlah sampel selama durasi fungsi persegi panjang. Dalam gambar frekuensi radian dinormalisasi digunakan untuk sumbu frekuensi- (jika itu membingungkan Anda hanya tahu2πadalah frekuensi radian untuk laju sampling). Jadi dalam proses konvolusi, transisi brickwall yang tajam menyebar dan dalam hal ini pergi ke 0 (kitaΔω) lebih dari frekuensi 2π/N! Jadi disini

N=2π/Δω
dan tentu saja filternya buruk dengan sidelobes dll. Catatan ini: Transisi dari fungsi Sinc ini adalah yang paling tajam yang tersedia untuk sejumlah ketukan; ia memiliki resolusi terbaik dalam frekuensi tetapi rentang dinamis yang paling buruk (penolakan). Tipologi jendela lainnya (Blackman, Blackman-harris, Kaiser (favorit saya), dll) akan secara signifikan meningkatkan jangkauan dinamis tetapi selalu dengan mengorbankan transisi.

N ketuk untuk menyelesaikan transisi

Jadi dari atas, kita melihat asal usulnya 2π/Δωyang digunakan dalam rumus perkiraan, dan kami juga melihat mengapa ada faktor multiplikasi tambahan yang meningkatkan jumlah keran di atas ini untuk desain filter yang khas; jendela persegi panjang akan memberi kita transisi terbaik dengan N tap di manaN=2π/Δωtetapi memiliki penolakan yang sangat buruk. Keran lebih banyak digunakan untuk memperlancar transisi waktu lebih jauh di luar transisi tajam dari jendela persegi panjang, memberikan penolakan yang lebih besar dengan mengorbankan bandwidth transisi.

Dan Boschen
sumber
1
Hanya untuk menghindari kebingungan, rumus yang Anda sebut "rumus Kaiser" sebenarnya adalah rumus untuk filter optimal Parks McClellan (memang ditemukan oleh Kaiser), tetapi tidak untuk metode jendela Kaiser. Yang terakhir tidak memiliki dua yang berbedaδnilai tetapi hanya satu.
Matt L.
Memang, Matt klarifikasi yang baik karena ada metode jendela Kaiser. Namun rumus ini disebut dan dikenal sebagai "Formula Kaiser" dalam literatur, supaya pembaca tidak berpikir itu adalah penggunaan istilah itu oleh saya sendiri. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
Dan Boschen
Luar biasa! Sepertinya itu berasal dari halaman 48 dalam buku Fred Harris: "Pemrosesan Sinyal Multirate untuk Sistem Komunikasi"?
jeremy
Aturan praktis atau gambar? Foto-foto itu milik saya untuk kelas yang saya lakukan. Saya tidak memiliki buku fred, tetapi saya penggemar berat dan diperkenalkan kepadanya "aturan praktis" olehnya di presentasi Dunia DSP yang dia lakukan sekitar tahun 1996. (Perhatikan bahwa dia bersikeras bahwa namanya dieja dengan huruf kecil semua ).
Dan Boschen
@DanBoschen Apakah rumus untuk Taman McClellan juga valid ketika merancang filter bandpass FIR? Jika tidak, adakah "aturan praktis" lain yang bisa diterapkan?
lR8n6i
3

Panjang filter FIR atau urutan filter IIR secara kasar berbanding terbalik dengan rasio lebar pita transisi (yang tersempit, jika banyak) dengan laju sampel, hal-hal lain yang agak setara, kecuali sangat pendek atau sangat filter pesanan rendah.

hotpaw2
sumber
tidak tahu mengapa seseorang diturunkan. saya memperbaikinya kembali ke nol.
robert bristow-johnson
hal-hal lain yang agak setara?
Ben