Tantangan terbesar saya dengan pertanyaan ini adalah tingkat roll-off yang sangat curam.
Saya mengasumsikan bahwa sinyal tidak dapat dideteksi jika penguatannya adalah -20 dB. Ini berarti bahwa, dalam pita transisi 200 Hz, kekuatan sinyal perlu turun sebesar 20 dB.
Jika perhitungan saya benar, filter ini memerlukan tingkat roll-off 1200 dB / des. Itu membutuhkan 60 kutub, yang jelas tidak layak.
Saya ingin menggunakan filter aktif analog dengan riak minimal di band pass. Pergeseran fase besar tidak terlalu penting.
Salah satu solusi potensial adalah dengan menggunakan filter takik pada 5,2 kHz. Namun, frekuensi di atas bandwidth filter takik masih belum cukup difilter.
Tolong tunjukkan kesalahan dalam logika saya dan atau usulkan solusi potensial. Terima kasih.
Jawaban:
Anda telah mengasumsikan 20dB / dec per roll-off pesanan filter untuk filter Anda. Ini tidak benar untuk semua jenis filter.
Misalkan dan f s t o p = 5.2 k H z . Kemudian f s t o pf0= 5 k H z fs t o p= 5,2 k H z
Lihatlah filter elips urutan keempat ini yang diambil dari artikel Wikipedia .
Meskipun tidak memenuhi persyaratan Anda, Anda dapat melihatnya layak. Filter elips tingkat tinggi dapat mencapai apa yang Anda cari.
Anda harus ingat bahwa filter elips dapat melakukan hal-hal yang mengganggu fase sinyal. Karena Anda tidak menyebutkan apa pun tentang batasan fase Anda, saya berasumsi bahwa filter elips cocok.
sumber
Jenis rolloff yang tajam ini membutuhkan filter digital. Jangan pernah berpikir tentang analog. Anda perlu menggabungkan input dengan fungsi sinc. Lebar fungsi sinc (jumlah titik kernel) mendefinisikan atenuasi stop band.
Saya belum melakukan perhitungan, tetapi beberapa perhitungan yang sangat cepat (bisa dimatikan, pekerjaan Anda harus dilakukan dengan benar) mengatakan Anda mungkin perlu beberapa poin 100 jika pengambilan sampel pada 20 kHz. 200 poin pada 20 kHz berarti tingkat MAC 4 MHz. Itu bisa dilakukan, sebenarnya jauh di bawah apa yang bisa dilakukan DSP modern dengan mudah. Itu berarti masalah Anda cukup bisa ditelusuri. Sesuatu seperti dsPIC seri E dapat melakukan ini, dan itu agak rendah jika Anda hanya mencari kemampuan DSP.
sumber
Jika Anda mengizinkan penundaan substansial atau memproses sinyal yang direkam, Anda cukup melakukan FFT, menghapus komponen yang tidak diinginkan dan membalikkan transformasi. Anda harus memotong fft dengan fungsi jendela yang benar agar dering dapat diterima.
sumber
Saya akan memilih chip codec audio (ADC + DAC), merutekan output digital ADC ke input DAC, dan mengatur laju sampel ke 10kHz.
Chip ini sudah termasuk mesin filter digital yang Anda butuhkan. Pemeriksaan lembar data cepat tampaknya mengonfirmasi Anda akan mendapatkan kinerja filter yang Anda butuhkan.
sumber
Anda sudah memiliki banyak jawaban yang bagus dengan solusi tradisional yang baik, filter elips, (waktu singkat) FFT, dll., Jadi saya berpikir saya dapat menambahkan sesuatu dari dunia sub-band coding / wavelet transform world.
Pengkodean sub-band berarti membagi spektrum frekuensi menjadi "nampan", masing-masing nampan ini memiliki filter yang terkait. Band yang lebih kencang, filter yang lebih luas dalam domain waktu (secara alami) - tetapi di area di mana kita tidak membutuhkan band yang sangat ketat kita bisa lolos dengan filter yang sangat singkat & murah untuk dihitung.
Wavelet adalah fungsi yang merupakan hasil dari jenis sub-band filter tertentu yang dihasilkan oleh penyaringan berulang diikuti oleh subsampling.
Idenya adalah untuk menemukan sub-band yang menarik yang akan memungkinkan kami untuk menekan perhitungan yang paling, tetapi masih mendapatkan granularity yang baik di band yang diminati.
Contoh dekomposisi paket Daubechies 12 tap dalam tiga level (Wikipedia):
Kita kemudian dapat meringkas ini secara selektif untuk mendapatkan respons yang kita inginkan. Dan yang tidak ingin kita tambahkan - kita bahkan tidak perlu menghitung! Kita akan membutuhkan yang lebih ramping lebih dekat ke band 5-5.2 kHz untuk bisa mendapatkan perilaku yang cukup tajam. Tetapi di sisi lain, jauh dari pita 5-5,2 kHz kita bisa lolos hanya dengan beberapa subdivisi.
sumber
jika Anda dapat MENJAMIN input sinusoidal, maka monostable satu-shot (74121) mungkin cukup. Atau 122/123 yang dapat dipicu kembali.
Gunakan pembanding sebelum 74121/122/123
Beberapa MCU menyertakan pembanding analog sebagai periferal mereka; sekali dikonversi ke gelombang persegi, Anda dapat menggunakan timer dll untuk mendeteksi di atas / di bawah 5.000Hz, jika MCU memiliki jam yang distabilkan XTAL. Tidak perlu untuk monostable yang sensitif terhadap suhu.
sumber