Apa respons frekuensi paling tajam untuk filter low-pass non-kausal yang respons langkahnya tidak melampaui overshoot?

13

Filter Butterworth, Bessel, Chebychev, dan low-pass digunakan dalam berbagai kasus di mana terdapat pengorbanan yang berbeda antara memiliki respons frekuensi yang menurun secara seragam, respons fase seragam, cutoff curam, atau respons "dinding bata". Saya percaya semua filter semacam itu dapat, dalam beberapa kasus, dapat memiliki overshoot pada respon langkah mereka, yang berarti respon impuls mereka di beberapa tempat negatif.

Apa yang akan menjadi respons frekuensi optimal, atau jenis respons frekuensi apa yang akan tersedia, dalam filter yang satu-satunya kendala adalah bahwa respons impuls tidak mungkin negatif di mana pun? Tentu saja mungkin untuk mengadakan pertemuan low-pass filter seperti kendala, karena filter RC dasar akan melakukannya (walaupun respon dari filter semacam itu agak payah). Apakah respons impuls optimal adalah kurva distribusi normal, atau yang lain?

supercat
sumber
1
@supercat, jika Anda memasukkan filter digital, sangat menakjubkan bagaimana tanggapan dinding bata bisa Anda dapatkan tanpa overshoot.
Kortuk
2
@Kortuk: Benarkah? Saya akan berpikir itu akan sulit untuk menghindari overshoot, karena gelombang persegi-dinding-bata disaring memiliki paku kecil yang lebarnya mendekati nol ketika frekuensi cutoff naik tetapi amplitudo yang tidak. Apa yang akan menjadi referensi yang bagus?
supercat
2
Anda mengatakan "non-kausal" dalam pertanyaan, tetapi semua contoh Anda adalah kausal. Yang kamu maksud Non-kausal mengharuskan Anda untuk merekam seluruh bentuk gelombang dan kemudian menerapkan filter ke rekaman. (Atau, mungkin, penggunaan kapasitor fluks dan sumber daya besar.)
endolith
1
@endolith: Apa yang akan menjadi filter optimal, dengan anggapan itu tidak harus kausal.
supercat
1
@Kortuk: Memotong sinyal di nol akan sepenuhnya menghilangkan manfaat penyaringan. Dan ketika saya memposting di DSP, saya juga ingin tahu tentang hal-hal seperti perekam film audio (dari aspek intelektual daripada praktis diakui) di mana orang dapat membuat fungsi impuls non-negatif yang diinginkan, tunduk pada batasan lebar.
supercat

Jawaban:

6

Saya akan daftar sekelompok "filter yang tidak melampaui". Saya harap Anda akan menemukan jawaban parsial ini lebih baik daripada tidak ada jawaban sama sekali. Semoga orang-orang yang mencari "filter yang tidak melampaui overshoot" akan menemukan daftar filter semacam ini bermanfaat. Mungkin salah satu filter ini akan berfungsi dengan baik di aplikasi Anda, bahkan jika kami belum menemukan filter yang secara matematis optimal.

filter sebab akibat LTI urutan pertama dan kedua

Respons langkah filter urutan pertama ("filter RC") tidak pernah melampaui batas.

Respons langkah filter urutan kedua ("biquad") dapat dirancang sedemikian rupa sehingga tidak pernah melampaui batas. Ada beberapa cara yang setara untuk menggambarkan kelas filter urutan kedua ini yang tidak melampaui pemuatan pada input langkah:

  • itu teredam kritis atau overdamped.
  • itu tidak underamp.
  • rasio redaman (zeta) adalah 1 atau lebih
  • faktor kualitas (Q) adalah 1/2 atau kurang
  • parameter laju peluruhan (alfa) setidaknya adalah frekuensi sudut alami tidak terkendali (omega_0) atau lebih

Secara khusus, satu kesatuan mendapatkan topologi Sallen-Key filter dengan kapasitor yang sama dan resistor yang sama teredam secara kritis: Q = 1/2, dan karena itu tidak melampaui overshoot pada input langkah.

Filter Bessel orde kedua agak kurang teratasi: Q = 1 / sqrt (3), sehingga memiliki sedikit overshoot.

Filter Butterworth orde dua lebih underdamped: Q = 1 / sqrt (2), sehingga memiliki lebih banyak overshoot.

Dari semua kemungkinan filter LTI orde pertama dan kedua yang bersifat kausal dan tidak overshoot, yang memiliki respons frekuensi "terbaik" (paling curam) adalah filter orde kedua "teredam kritis".

filter sebab akibat LTI tingkat tinggi

Filter kausal tingkat tinggi yang paling umum digunakan yang memiliki respons impuls yang tidak pernah negatif (dan karena itu tidak pernah melampaui pada input langkah) adalah "running average filter", juga disebut "boxcar filter" atau " moving average filter". ".

Beberapa orang suka menjalankan data melalui satu filter gerbong, dan output dari filter tersebut ke gerbong gerbong lain. Setelah beberapa filter seperti itu, hasilnya adalah perkiraan yang baik dari filter Gaussian. (Semakin banyak filter yang Anda mengalir, semakin dekat hasil akhir mendekati Gaussian, apa pun filter yang Anda mulai - boks, segitiga, RC orde pertama, atau lainnya - karena teorema batas pusat).

Secara praktis semua fungsi jendela memiliki respons impuls yang tidak pernah negatif, dan pada prinsipnya dapat digunakan sebagai filter FIR yang tidak pernah melampaui overshoot pada input langkah. Secara khusus, saya mendengar hal-hal baik tentang jendela Lanczos , yang merupakan lobus sentral (positif) dari fungsi sinc () (dan nol di luar lobus itu). Beberapa filter pembentuk pulsa memiliki respons impuls yang tidak pernah negatif, sehingga dapat digunakan sebagai filter yang tidak pernah melampaui overshoot pada input langkah.

Saya tidak tahu yang mana dari filter ini yang terbaik untuk aplikasi Anda, dan saya kira filter yang secara matematis optimal mungkin sedikit lebih baik daripada yang mana pun.

filter kausal non-linear

The median Filter adalah populer penyaring non-linear yang tidak pernah lampaui pada masukan langkah-fungsi.

EDIT: filter non-sebab LTI

Fungsi sech (t) = 2 / (e ^ (- t) + e ^ t) adalah transformasi Fouriernya sendiri, dan saya kira dapat digunakan sebagai jenis filter LTI low-pass non-kausal yang tidak pernah overshoot pada suatu input langkah.

Filter LTI non-kausal yang memiliki respons impuls (sinc (t / k)) ^ 2 memiliki respons frekuensi "abs (k) * triangle (k * w)". Saat diberi input langkah, ia memiliki banyak riak waktu-domain, tetapi tidak pernah melampaui titik penyelesaian akhir. Di atas sudut frekuensi tinggi dari segitiga itu, ia memberikan penolakan stop-band yang sempurna (atenuasi tak terbatas). Jadi di wilayah stop band, ia memiliki respons frekuensi yang lebih baik daripada filter Gaussian.

Karenanya saya ragu filter Gaussian memberikan "respons frekuensi optimal".

Dalam rangkaian semua "filter yang mungkin tidak melampaui" kemungkinan, saya menduga tidak ada satu "respons frekuensi optimal" - beberapa memiliki penolakan stop-band yang lebih baik, sementara yang lain memiliki pita transisi yang lebih sempit, dll.

davidcary
sumber
Terima kasih untuk balasan Anda. Saya lalai membatasi pertanyaan saya pada filter linier, meskipun tentu saja mengkarakterisasi respons frekuensi dari filter non-linear dapat menjadi proposisi yang suram. Seperti dicatat, cascading filter gerbong menyebabkannya mendekati Gaussian. Saya bertanya-tanya apakah filter Gaussian memiliki respons frekuensi optimal yang dapat diperoleh tanpa overshoot. Dalam menulis pertanyaan, saya berpikir tentang berbagai proses analog yang melakukan sesuatu seperti filter respon impuls yang ditentukan, misalnya kamera kabur atau piksel tampilan untuk meminimalkan alias.
supercat
Dimungkinkan untuk membuat kamera sehingga setiap piksel memungut jumlah cahaya yang berbeda dari berbagai titik di sekitar tengah. Idealnya, kamera akan memfilter semua yang ada di atas Nyquist tanpa mengaburkan apa pun di bawah, tetapi dalam praktiknya hal itu tidak mungkin terjadi.
supercat
1
LTI? Anda tidak pernah mendefinisikannya. Menambahkan bahwa itu berarti "linear time-invariant", mungkin akan sangat membantu.
Connor Wolf
1
Jadi Q = 0,5 teredam kritis? Untuk pesanan tertentu, apakah ada beberapa sistem yang teredam secara kritis? Biquad dengan Q = 0,5 disebut filter LR2 Linkwitz-Riley . Sepertinya versi tingkat tinggi dari filter LR berdering di respons langkah.
endolith
"cascading filter teredam kritis akan menghasilkan filter teredam kritis lainnya" Jadi, tetap buang kutub di -1 dan akan selalu teredam kritis? (Dan mendekati respons filter Gaussian saat jumlahnya meningkat?)
endolith
2

Sebagian besar filter yang digunakan dalam dunia digital hanyalah versi sampel dari mitra analog. Alasan besar untuk ini adalah bahwa ada banyak pekerjaan yang dilakukan dalam penyaringan analog sebelum digital muncul, jadi daripada menciptakan kembali roda, kebanyakan hanya menggunakan desain sebelumnya. Keuntungan dari digital adalah filter dengan urutan lebih tinggi dapat dicapai lebih mudah daripada di dunia analog. Bayangkan saja sebuah rangkaian rumit dapatkan setiap kali Anda menambahkan pesanan lain ke desain.

Jika Anda menggunakan filter tipe dinding bata, kurva Gaussian adalah tempat yang bagus untuk memulai. Jika Anda tahu tentang Domain Waktu <-> Domain Frekuensi; sebuah Gaussian berubah menjadi Gaussian di domain lain. Karena semakin berliku di satu, semakin sempit di yang lain. Jadi untuk mendapatkan lonjakan yang sempurna dalam domain frekuensi Anda akan membutuhkan jumlah sampel yang tak terbatas.

Jika Matlab tersedia untuk digunakan, Anda harus memeriksa beberapa alat desain filter bawaan. Berikut ini tautan yang berbicara tentang Butterworth dan Bessel . Alat desain memungkinkan Anda menentukan aspek tertentu dari filter. Aspek-aspek ini berubah untuk setiap jenis filter, tetapi beberapa contoh adalah Passband, stopband, riak, dll. Jika Anda memberi perancang kendala yang Anda inginkan, itu akan memberi Anda kesalahan (artinya itu tidak dapat membuat filter dengan tipe filter itu. ) atau itu akan memberi Anda filter dengan pesanan minimum yang diperlukan untuk memenuhi spesifikasi.

Kellenjb
sumber
Sebuah Gaussian sesuai dengan persyaratan untuk respon impulse nonnegatif, tapi itu tidak banyak dinding bata. Di sisi lain, Butterworth, Bessel, dan Chebyshev memiliki osilasi seperti tulus dalam respons impuls mereka, yang mengarah ke overshoot. Di antara mereka, filter Bessel memiliki overshoot yang paling rendah karena memiliki penundaan grup yang hampir datar (fase linier) dalam passband.
Eryk Sun
Selain Gaussian, filter ini bersifat kausal. Untuk pemrosesan offline, fase linear NNFIR (FIR nonnegatif) akan bekerja dengan baik, atau Anda dapat membatalkan distorsi fase dari filter rekursif kausal dengan menggunakan teknik filtfilt .... Tentu saja Anda masih memerlukan cara untuk merancang LPF NNIR untuk hindari overshoot / undershoot. Saran siapa pun? Referensi?
Eryk Sun
@eryksun, sebagai catatan, jika akan terombang-ambing pada 1,05 kali nilai maks, cukup basahi untuk berhenti di 1,00 dan respons langkah Anda akan sedikit kurang, seperti 0,96 saat stabil. Masalah terpecahkan.
Kortuk
@Kortuk: Masalah diselesaikan dalam domain waktu, tetapi melakukan kliping itu tidak hanya non-linear tetapi juga membuka bagian-bagian tertentu dari domain frekuensi untuk melewati sinyal yang sebelumnya tidak. Dia ingin filter pass / no pass filter paling ketat dalam frekuensi tanpa overshoot dalam domain waktu. Tidak ada overshoot domain waktu sama dengan mengatakan respons impuls tidak pernah negatif.
Olin Lathrop
1
@Kortuk: Di beberapa domain, nol mendekati titik tengah antara maksimum dan minimum, dan penskalaan sinyal ke titik tengah akan menghindari masalah dengan overshoot. Di domain lain, seperti pencitraan, nol adalah minimum, dan rentang dinamis paling penting di sana; umumnya akan lebih baik untuk memiliki filter "fuzzier" yang tidak melampaui overshoot daripada yang lebih tajam.
supercat