Jika fase linier adalah persyaratan, itu mungkin akan mengarahkan Anda menuju implementasi FIR. Dimungkinkan untuk membuat filter IIR yang memiliki perkiraan fase linier, tetapi mudah untuk merancang FIR fase-linear.
Jika Anda khawatir tentang latensi, pemfilteran maju-mundur seperti pada filtfilt
bukanlah pilihan yang baik. Secara umum, itu benar-benar dimaksudkan untuk digunakan proses offline, karena untuk menerapkan teknik ini dengan tepat, Anda harus menjalankan seluruh sinyal melalui maju, kemudian melakukan hal yang sama secara terbalik. Itu menyiratkan bahwa Anda memiliki akses ke seluruh sinyal sekaligus, yang tidak sepadan dengan penundaan rendah.
Secara umum, filter FIR akan membutuhkan urutan yang lebih tinggi untuk serangkaian persyaratan kinerja yang diberikan. Namun, filter FIR membawa beberapa keuntungan nyata, seperti stabilitas yang dijamin, kerentanan yang lebih rendah terhadap kesalahan pembulatan (karena kesalahan kuantisasi tidak diumpankan melalui filter, meskipun Anda dapat mengompensasinya dengan beberapa peningkatan kompleksitas), dan hanya dicapai respons fase linier. Selain itu, implementasi filter FIR yang efisien tersedia untuk banyak arsitektur prosesor, mengurangi biaya dari keran tambahan.
Cara lain untuk mengurangi biaya tap ekstra untuk filter FIR dalam situasi Anda adalah memanfaatkan teknik pemrosesan sinyal multirate yang efisien. Khususnya, Anda dapat menggunakan pendekatan penipisan polifase untuk secara signifikan mengurangi jumlah perhitungan yang Anda lakukan dalam proses penipisan sinyal Anda. Ini memiliki efek mengurangi jumlah ketukan efektif (dalam hal kompleksitas komputasi) dalam filter penipisan. Selain itu, jika Anda perlu memusnahkan oleh faktor besar, maka pendekatan multistage dapat membantu mengurangi beban Anda. Buku DSP pengantar Lyons memiliki beberapa bahan yang mudah dibaca tentang topik-topik ini.
Mengingat parameter yang lebih spesifik dari sistem Anda, orang dapat membuat rekomendasi yang lebih runcing. Apa persyaratan desain filter Anda? Kemampuan komputasi seperti apa yang dimiliki platform Anda? Berapa tingkat sampel yang akan Anda hilangkan?
Seberapa rendah yang Anda maksud dengan "latensi rendah"?
Jika Anda berarti di bawah 1 mS dengan pengurangan laju sampel yang besar, maka FIR fase minimum mungkin diperlukan. Jika maksud Anda sekitar 1/30 detik, maka Anda bahkan mungkin dapat menerapkan filter FIR linier yang efisien menggunakan pendekatan penambahan / penyimpanan tumpang tindih FFT (konvolusi cepat).
sumber
Sedikit masalah tentang kompleksitas waktu: Filter FIR dapat diubah-ubah, yang sangat membantu dalam arsitektur CPU modern. Selanjutnya, filter IIR mengambil hit kinerja karena nilai output saat ini tergantung pada nilai-nilai output sebelumnya, yang menghilangkan keuntungan dari pipelining.
sumber