Filter IIR manakah yang mendekati filter Gaussian?

15

Jadi baru-baru ini saya sadar bahwa filter Bessel, meskipun terdaftar bersama dengan tipe umum lainnya, benar-benar bola aneh yang termasuk dalam "kelas" yang berbeda, dan saya mencoba untuk belajar lebih banyak tentang hal itu.

Respons magnitudo persegi panjang mewakili respons domain frekuensi ideal, untuk pita transisi adalah nol dan stopband memiliki pelemahan tak terbatas. Sebaliknya, respon magnitudo Gaussian mewakili respons domain waktu yang ideal, di mana tidak ada overshoot yang terjadi pada respons impuls dan respons langkah. Banyak respons yang dicapai dalam praktik adalah perkiraan terhadap sumber yang ideal ini

Jadi brickwall filter berbelit-belit dengan fungsi sinc, dan memiliki properti domain frekuensi ini:

  • Passband datar
  • Nol stopband
  • Tingkat roll-off tak terbatas / tidak ada pita transisi

Ini non-kausal dan tidak dapat direalisasikan karena ekor yang tak terbatas di kedua arah. Diperkirakan oleh filter IIR ini, dengan perkiraan meningkat dengan meningkatnya pesanan:

  • Butterworth (passband maksimal datar)
  • Chebyshev (laju roll-off maksimum dengan stopband atau passband ripple)
  • Elliptic (tingkat roll-off maksimum dengan stopband dan passband ripple)
  • Legendre (tingkat roll-off maksimum dengan passband monoton)

4 tipe filter mendekati respons brickwall saat pesanan meningkat


The Gaussian Filter adalah konvolusi dengan fungsi Gaussian, dan memiliki sifat domain waktu ini:

  • Nol overshoot
  • Minimal naik dan turunnya waktu
  • Penundaan grup minimal

Tidak dapat direalisasikan karena alasan yang sama dengan fungsi sinc, dan dapat diperkirakan oleh filter IIR ini, lebih dekat dengan meningkatnya pesanan:

  • Bessel (keterlambatan grup maksimal datar) sesuai dengan 1 dan 2

e-12(πω)2

Bessel menyaring yang seharusnya mendekati respons Gaussian saat pesanan meningkat, dengan perkiraan untuk Gaussian

Jadi pertanyaan saya adalah:

Apakah semuanya benar sejauh ini? Jika demikian, apakah ada filter IIR lain yang mendekati Gaussian? Untuk apa mereka dioptimalkan? Mungkin salah satu yang meminimalkan overshoot?

Jika Anda mencari "IIR Gaussian", Anda dapat menemukan beberapa hal (Deriche? Van Vliet?), Tetapi saya tidak tahu apakah mereka benar-benar sama dengan Bessel atau jika mereka mengoptimalkan beberapa properti lain, dll.

endolit
sumber
sebenarnya, ketika saya mengatakan "IIR", saya pikir maksud saya "filter analog yang dapat direalisasikan secara fisik"?
endolith

Jawaban:

5

The Deriche dan van Vliet filter yang heuristik. Dalam kedua kasus mereka memilih lokasi kutub dan nol untuk meminimalkan baik perbedaan RMS atau perbedaan maksimum dari respons impuls filter dari Gaussian.

Kedua filter adalah pasangan kausal-anti-kausal. Jadi saya pikir mereka tidak memiliki kesalahan fase atau keterlambatan grup, tetapi Anda harus dapat menjalankannya mundur pada data dan juga ke depan. Ini membuat mereka populer dalam pemrosesan gambar, tetapi mungkin membatasi penerapannya di tempat lain.

Bahwa mereka heuristik dibuktikan dengan banyaknya makalah yang mengubah mereka. Misalnya pencarian google (ketika saya sedang mencari tautan ke kertas Deriche) muncul yang ini mencoba memecahkan masalah bahwa filter derivatif-of-gaussian Deriche tidak memiliki respons DC 0 persis. Ada juga beberapa masalah menarik tentang menginisialisasi kondisi batas dengan benar .

Saya telah menemukan ikhtisar berikut sumber daya yang bagus: Dave Hale, filter Gaussian Rekursif , laporan Colorado School of Mines Center for Wave Fenomena CWP-546.

Logika Pengembaraan
sumber
3

Saya pikir Anda memberikan ringkasan yang bagus tentang solusi analitik yang ada untuk filter IIR waktu diskrit. Tetapi saya juga akan menambahkan filter Bessel ke daftar filter yang mendekati karakteristik filter selektif frekuensi yang ideal. Respons besarnya tidak menunjukkan transisi setajam jenis filter lainnya dari urutan yang sama, tetapi ini adalah harga yang Anda bayar untuk fase hampir linier dalam passband. Jadi filter Bessel adalah kompromi antara respons magnitudo selektif-frekuensi dan respons fase yang baik.

Untuk perkiraan filter Gaussian dengan filter IIR, saya tidak tahu solusi analitik apa pun, selain dari filter Bessel yang Anda sebutkan. Tetapi perhatikan bahwa filter Bessel tidak dimaksudkan untuk memperkirakan filter Gaussian, jadi saya tidak yakin seberapa bagusnya dalam memperkirakan filter seperti itu. Jika Anda benar-benar menginginkan filter IIR untuk tujuan ini, saya sarankan Anda menggunakan pendekatan numerik untuk filter Gaussian. Ada beberapa opsi bagaimana melakukan ini.

Anda dapat mencoba memperkirakan filter Gaussian di domain frekuensi. Masalahnya adalah Anda harus membuat keputusan mengenai respons fase yang diinginkan. Perkiraan magnitude murni dengan respons fase minimum akan sangat mungkin menghasilkan properti domain waktu yang sangat buruk. Jika Anda menentukan fase linier yang diinginkan, maka Anda mendapatkan masalah perkiraan yang kompleks (karena Anda memperkirakan respons frekuensi kompleks dengan besarnya dan fase). Meskipun masalah perkiraan seperti itu bisa sangat sulit untuk dipecahkan, ada metode dalam literatur.

Pendekatan yang lebih sederhana dan mungkin lebih baik adalah dengan memperkirakan filter Gaussian dalam domain waktu. Metode Prony akan menjadi titik awal yang baik.

Harap dicatat bahwa ini hanya pemikiran saya tentang topik tersebut. Saya belum mencoba merancang filter Gaussian IIR sendiri. Saya benar-benar akan pergi untuk implementasi FIR kecuali ada alasan yang sangat bagus untuk menentangnya.

EDIT: hanya beberapa komentar tentang pertanyaan apakah filter Bessel mendekati Gaussian atau tidak. Saya tidak tahu adanya kriteria kesalahan yang berarti yang diminimalisir oleh filter Bessel dalam memperkirakan suatu filter Gaussian. Saya akan senang mempelajarinya. Orang-orang dapat mengklaim bahwa respons impuls dari filter Bessel terlihat mirip dengan Gaussian, atau bahwa respons frekuensinya menyerupai Gaussian, tetapi saya belum melihat bukti bahwa filter Bessel mendekati Gaussian dalam arti apa pun, dan bahwa kesalahan perkiraan mengarah ke Gaussian. nol saat urutan filter meningkat. Saya tidak menyangkal bahwa ini lebih mirip dengan Gaussian daripada filter standar lainnya (Butterworth, Chebyshev, dll.), Tetapi ini tidak penting untuk pertanyaan itu.

Lihat di bawah empat plot tanggapan impuls dari filter Bessel (pesanan 5, 10, 15, 20), yang dirancang dalam Oktaf (fungsi besself). Seperti yang Anda lihat, dering di bagian ekor tidak berkurang dengan meningkatnya urutan filter, dan saya tidak melihat bagaimana filter ini mendekati Gaussian, dan jika demikian, sesuai dengan kriteria optimalitas mana. Namun, jika ada yang bisa memberi tahu saya tentang hal ini, saya akan lebih dari bahagia.

masukkan deskripsi gambar di sini

Matt L.
sumber
Saya mendapatkannya dari tempat-tempat seperti ini: "Respons impuls filter Bessel-Thomson cenderung ke arah Gaussian saat urutan filter ditingkatkan" robots.ox.ac.uk/~sjrob/Teaching/SP/l3.pdf "An analog Bessel filter adalah perkiraan untuk filter Gaussian, dan perkiraan meningkat dengan meningkatnya urutan filter. " dsprelated.com/showmessage/130958/1.php
endolith
... dan karena transformasi Fourier dari Gaussian adalah Gaussian, saya tidak berpikir itu benar untuk mengatakan bahwa itu mendekati respons brickwall seperti yang lainnya.
endolith
Transformasi Fourier dari Gaussian adalah Gaussian, tidak diragukan lagi. Tapi kita berbicara tentang filter Bessel, yang - sejauh yang saya tahu - tidak mendekati Gaussian dengan cara yang berarti. Saya mengedit jawaban saya untuk menambahkan lebih banyak informasi.
Matt L.
Menambahkan beberapa detail lagi ke pertanyaan tentang ini. Bisakah Anda mengulang plot Anda sebagai kurva garis bukan batang, dan dengan sumbu Y yang sama? Sepertinya itu berubah bentuk dengan urutan tetapi sulit untuk mengatakannya.
endolith
1
Saya mencoba menghitung filter bessel hingga pesanan 60 dan menyesuaikan respons impuls mereka dengan gaussians, dan meskipun kode saya kasar, mereka tampaknya mendekati gaussian, dengan penurunan "undershoot" menurun dan kesalahan berkurang dengan pesanan. Urutan 10: imgur.com/1qNsHeg Urutan ke-60: imgur.com/BgmFzZp galat saat pesanan meningkat: imgur.com/cpHDDJ perhitungannya mungkin salah. bagaimana Anda menghitung Anda?
endolith