Filter Gaussian FIR tanpa pengganda?

8

Apa cara paling sederhana untuk mengimplementasikan filter Gaussian FIR dengan koefisien gain kesatuan dan tanpa pengganda?

Pendahuluan jawaban Anda dengan notasi spoiler dengan mengetikkan dua karakter berikut terlebih dahulu ">!"

Catatan: Filter Gaussian FIR adalah filter FIR dengan respons impuls yang merupakan fungsi Gaussian. Dengan "koefisien unity-gain" yang saya maksud semua koefisien dalam struktur filter adalah 1.

Dan Boschen
sumber
2
saya ingin tahu di mana saya dapat mengambil filter Gaussian? mungkin di toko yang sama saya bisa mendapatkan salah satu dari mereka filter Kalman. Saya mendengar mereka filter Kalman sangat baik.
robert bristow-johnson
Beberapa fitur menarik dari filter Gaussian: mereka memiliki waktu naik turun minimum tanpa overshoot ke fungsi langkah, dan memiliki keterlambatan grup serendah mungkin untuk bandwidth yang diberikan. Satu aplikasi dalam modulasi GMSK dengan menggunakan filter Gaussian yang diskalakan dengan benar pada kata kontrol frekuensi NCO (atau tegangan kontrol ke VCO), dengan masing-masing simbol ke dalam filter direpresentasikan sebagai impuls. Jika filter tepat 1 periode simbol, ini akan menerapkan respons penuh secara penuh, atau jika kurang, ini akan menerapkan pensinyalan respons sebagian (seperti yang dilakukan dalam GSM dan UHF SATCOM).
Dan Boschen
Seperti halnya saya menyukai subjek teka-teki dsp, saya merasa bahwa cara ini diatur di sini, meskipun menantang, agak kontradiktif (atau ada sesuatu yang tidak saya dapatkan). Di satu sisi, profil domain waktu Gaussian ditentukan, di sisi lain, jawaban yang diterima menunjuk ke sesuatu seperti h = [1,1]. Sebuah pulsa persegi memiliki spektrum fre sinc dan rata-rata sejumlah besar dari mereka DAPAT mendekati Gaussian. Tapi itu akan menjadi profil Gaussian di domain frekuensi . Di mana saya salah?
A_A
Terima kasih atas tanggapannya, saya berdiri terkoreksi. (Itu bukan komentar tentang jawaban yang diterima, lebih dari permintaan untuk klarifikasi)
A_A
Itu adalah komentar yang bagus - saya berharap klarifikasi saya akan membawa format spoiler, tetapi tidak jadi saya menghapus jawaban saya yang terlalu terbuka. Saya hanya akan mengatakan bahwa profil Gaussian dalam domain waktu juga merupakan profil Gaussian dalam domain frekuensi.
Dan Boschen

Jawaban:

5

Ini adalah perkiraan, tetapi Anda bisa membuatnya sebagus yang Anda suka.

Cukup gunakan kaskade beberapa filter dengan respons impuls persegi panjang. Dalam kasus paling sederhana, ini akan menjadi filter dua ketuk. Ini bekerja karena teorema batas pusat . Namun, Anda perlu mengukur, karena jika tidak, respons impuls Anda yang dihasilkan mungkin menjadi terlalu besar. Penskalaan dapat dilakukan dengan menggeser sedikit.

Matt L.
sumber
Bagaimana Anda menerapkan CLT di sini? Seluruh prosedur bersifat deterministik.
MBaz
@ MBaz: Tidak perlu keacakan di sini. Apa yang dikatakan CLT adalah bahwa pdf RV yang merupakan jumlah dari banyak RV independen mendekati Gaussian. Pdf itu hanyalah konvolusi pdf dari RVs independen lainnya. Jadi dengan kata lain, gabungkan banyak fungsi satu sama lain dan Anda akan berakhir dengan Gaussian.
Matt L.
Benar, mengingat bahwa jumlah IID RV mendekati Gaussian menggunakan CLT, dan mengingat bahwa distribusi untuk jumlah RV adalah konvolusi dari masing-masing PDF; karena respons impuls yang dihasilkan untuk kaskade FIR adalah konvolusi dari respons impuls individu mereka, kita dapat menyimpulkan bahwa respons impuls untuk kaskade FIR dengan respons impuls identik juga akan mendekati Gaussian.
Dan Boschen
@ DanBoschen Ya, apa yang saya lewatkan adalah bahwa respon impuls ditafsirkan sebagai pdf (diskalakan).
MBaz
Ini adalah jembatan besar antara dua disiplin ilmu yang berbeda ... Matematika yang dapat Anda lakukan pada pdf diskrit berlaku untuk apa yang dapat Anda lakukan dengan koefisien filter FIR ... pada akhirnya hanya matematika yang setara tetapi dapat menyebabkan beberapa wawasan yang baik seperti ini!
Dan Boschen
4

Tidak seanggun jawaban Matt L., tetapi juga tampaknya berhasil.

Alih-alih menempatkan filter FIR satu-koefisien secara seri, taruh secara paralel, tetapi sekarang buat filter dengan panjang yang berbeda dan pada penundaan yang berbeda, dan kemudian jumlahkan semua output filter secara bersamaan. Seperti halnya jawaban Matt, ini tidak akan diskalakan dengan benar. Gaussian asli harus diskalakan dan dibuat nilai integer (yang merupakan tempat kesalahan terjadi). Periksa url ini untuk mengetahui kesalahannya.

Peter K.
sumber
Ya ini juga berhasil, pemikiran yang bagus!
Dan Boschen