Desain bandpass filter apa yang akan menghasilkan respons impuls terpendek?

14

Merancang filter Bpassworth IIR urutan II sederhana dengan frekuensi tengah 500 Hz dan bandwidth 1 oktaf memberi saya respons frekuensi berikut ...

masukkan deskripsi gambar di sini

Sekarang, jika saya mengambil respon impuls dan menormalkannya dan mengubahnya menjadi dB, kita dapat mengamati pembusukan respon impuls.

masukkan deskripsi gambar di sini

Pembusukan respon impuls kira-kira linier dengan waktu ketika diplot pada skala ini, memungkinkan kita untuk menentukan statistik waktu peluruhan (seperti akustik ruang di mana Anda dapat menentukan waktu gema). Untuk respons impuls filter ini turun di bawah 30 dB, dibutuhkan sekitar 11 ms.

Kami mencoba meminimalkan waktu peluruhan ini dengan menjaga konstan berikut:

  • Bandwidth -3 dB
  • Urutan filter

Saya senang menerima (dalam batas) passband dan stopband riak, dan / atau kompromi pada kecuraman band transisi untuk mencapai ini. Adakah yang bisa menyarankan metode penyaringan dengan durasi respon impuls sesingkat mungkin seperti yang didefinisikan di atas?

belajar
sumber
2
Harap sertakan frekuensi pengambilan sampel, untuk memberikan arti pada 11ms tersebut.
Juancho
4
Polandia dalam filter akan menghasilkan istilah yang membusuk secara eksponensial dalam respons impuls, yang bila diplot pada skala log memberikan peluruhan linier, seperti yang Anda tunjukkan. Tingkat peluruhan terkait dengan jarak kutub ke lingkaran satuan; semakin dekat mereka, semakin lambat pembusukan. Kecuraman pita transisi juga terkait dengan seberapa dekat kutub dengan lingkaran unit. Saya tidak tahu ada teknik desain yang memungkinkan Anda untuk memprioritaskan karakteristik khusus ini.
Jason R
@ Juancho Sample rate dihilangkan karena saya pikir itu sama sekali tidak relevan: menggunakan 5 kHz atau 500 kHz tidak mengubah tingkat peluruhan respons impuls. Saya menargetkan 44,1 kHz jika Anda penasaran. Terima kasih telah melihat :)
learnvst
2
@ Jimclay ya Anda bisa, saya yakin, tapi saya ingin menjaga biaya komputasi tetap rendah. Untuk menggunakan Fir secara efisien, saya perlu menggunakan teknik berbasis fft, dan ini akan memperkenalkan latensi ke algoritma sementara buffer FFT diisi dengan sampel. Ya Tidak?
learnvst
3
@JimClay mengapa hukum fisika selalu menghentikan rencanaku untuk menguasai dunia! Ngomel ngomel
learnvst

Jawaban:

8

The respon frekuensi Butterworth penyaring adalah hasil dari formula tertentu dan karakteristik adalah respon frekuensi passband datar. Akibatnya, jika koefisien filter IIR dimodifikasi dengan cara apa pun, filter mungkin tidak mempertahankan karakteristik "Butterworth".

Selain tanggapan oleh "Hilmar" dan "Jason R", mungkin Anda bisa memperlakukan ini sebagai masalah pengoptimalan fungsi kebugaran yang menangkap spesifikasi Anda.

Misalnya Anda bisa mulai dengan beberapa desain (misalnya filter Butterworth) dan kemudian menggunakan teknik optimasi untuk memindahkan nol dan kutub tentang lokasi mereka (atau memodifikasi desain dengan menambahkan / menghapus kutub dan nol) mencoba mencapai spesifikasi Anda (lebih tajam roll-off domain waktu mempertahankan bandwidth dan urutan filter).

Sepanjang garis ini, sejumlah besar pekerjaan telah dilakukan pada mendesain filter dengan Algoritma Genetika (dan di sini ) dan Simulasi Annealing (dan di sini ) yang mungkin berguna bagi Anda.

A A
sumber
6

Tidak ada peluru ajaib, saya rasa. Anda dapat menggunakan filter elips untuk secara independen mengontrol gelombang band pass dan menghentikan atenuasi band, namun Anda akan menemukan bahwa tingkat peluruhan terkait erat dengan kecuraman dan keseluruhan bandwidth filter. Anda dapat membuat peluruhan filter lebih cepat secara drastis dengan mengurangi urutan filter menjadi 1, tetapi sekali lagi filter akan jauh lebih curam.

Hilmar
sumber
Tidak dapat mengurangi filter ke urutan pertama karena sedang digunakan dalam jenis jaringan Linkwitz-Riley, tetapi terima kasih banyak telah meluangkan waktu untuk merespons +1
learnvst