Saya perlu merancang filter rata-rata bergerak yang memiliki frekuensi cut-off 7,8 Hz. Saya telah menggunakan filter rata-rata bergerak sebelumnya, tetapi sejauh yang saya ketahui, satu-satunya parameter yang dapat dimasukkan adalah jumlah titik yang dirata-rata ... Bagaimana ini bisa berhubungan dengan frekuensi cut-off?
Kebalikan dari 7,8 Hz adalah ~ 130 ms, dan saya bekerja dengan data yang diambil sampel pada 1000 Hz. Apakah ini menyiratkan bahwa saya harus menggunakan ukuran jendela filter rata-rata bergerak dari 130 sampel, atau ada hal lain yang saya lewatkan di sini?
moving-average
CaptainProg
sumber
sumber
Jawaban:
Filter moving average (kadang-kadang dikenal bahasa sehari-hari sebagai filter gerbong ) memiliki respon impuls persegi panjang:
Atau, dinyatakan berbeda:
Mengingat bahwa respons frekuensi sistem waktu diskrit sama dengan transformasi Fourier waktu diskrit dari respons impulsnya, kita dapat menghitungnya sebagai berikut:
Untuk menyederhanakan ini, kita dapat menggunakan rumus yang diketahui untuk jumlah dari istilah pertama dari deret geometriN :
Yang paling menarik bagi kasus Anda adalah besarnya respons filter,. Menggunakan beberapa manipulasi sederhana, kita bisa mendapatkannya dalam bentuk yang lebih mudah dipahami:| H( ω ) |
Ini mungkin terlihat tidak mudah dipahami. Namun, karena identitas Euler , ingat bahwa:
Karena itu, kita dapat menulis di atas sebagai:
Seperti yang saya katakan sebelumnya, apa yang Anda benar-benar khawatirkan adalah besarnya respon frekuensi. Jadi, kita dapat mengambil besarnya di atas untuk menyederhanakannya lebih lanjut:
Catatan: Kami dapat menghapus syarat eksponensial karena tidak mempengaruhi besarnya hasil; untuk semua nilai . Sejakuntuk dua bilangan kompleks hingga dan , kita dapat menyimpulkan bahwa keberadaan suku eksponensial tidak memengaruhi respons besaran keseluruhan (sebagai gantinya, mereka memengaruhi respons fase sistem).ω | x y | = | x | | y | x y| ej ω| =1 ω | xy| = | x | | y| x y
Fungsi yang dihasilkan di dalam kurung magnitude adalah bentuk dari kernel Dirichlet . Kadang-kadang disebut fungsi sinc periodik , karena menyerupai fungsi sinc agak dalam penampilan, tetapi sebagai periodik.
Lagi pula, karena definisi frekuensi cutoff agak kurang spesifik (-3 dB point? -6 dB point? Sidelobe null pertama?), Anda dapat menggunakan persamaan di atas untuk menyelesaikan apa pun yang Anda butuhkan. Secara khusus, Anda dapat melakukan hal berikut:
Setke nilai yang sesuai dengan respons filter yang Anda inginkan pada frekuensi cutoff.| H( ω ) |
Atur sama dengan frekuensi cutoff. Untuk memetakan frekuensi waktu kontinu ke domain waktu diskrit, ingat bahwa , di mana adalah laju sampel Anda.ω = 2 π fω fsω = 2 πffs fs
Temukan nilai yang memberi Anda kesepakatan terbaik antara sisi kiri dan kanan persamaan. Itu harus menjadi panjang rata-rata bergerak Anda.N
sumber
Jika adalah panjang rata-rata bergerak, maka frekuensi cut-off perkiraan (valid untuk ) dalam frekuensi normal adalah:F c o N > = 2 F = f / f sN Fc o N> = 2 F= f/ fs
Kebalikan dari ini adalah
Formula ini secara asimptotik benar untuk N besar, dan memiliki sekitar 2% kesalahan untuk N = 2, dan kurang dari 0,5% untuk N> = 4.
PS: Setelah dua tahun, akhirnya disusul pendekatan apa. Hasilnya didasarkan pada perkiraan spektrum amplitudo MA sekitar sebagai parabola (Seri orde 2) sesuai denganf= 0
yang dapat dibuat lebih tepat di dekat persimpangan nol dengan mengalikan dengan koefisienM.A ( Ω ) - 2√2 Ω
memperolehM.A ( Ω ) ≈ 1 + 0.907523 ( 124- N224) Ω2
Solusi memberikan hasil di atas, di mana .M.A ( Ω ) - 2√2= 0 2 πFc o= Ωc o
Semua hal di atas berkaitan dengan frekuensi cut -3dB, subjek tulisan ini.
Kadang-kadang meskipun menarik untuk mendapatkan profil pelemahan dalam stop-band yang dapat dibandingkan dengan filter Low Pass Filter IIR 1R (single LPF tiang) dengan frekuensi terputus -3dB (LPF seperti itu juga disebut integrator bocor, memiliki tiang tidak persis di DC tetapi dekat dengan itu).
Faktanya, MA dan LPF orde 1 memiliki kemiringan -20dB / dekade pada band stop (satu membutuhkan N lebih besar daripada yang digunakan dalam gambar, N = 32, untuk melihat ini), tetapi MA memiliki nol spektral pada dan evelope, filter IIR hanya memiliki profil .F= k / N 1 / f 1 / f
Jika seseorang ingin mendapatkan filter MA dengan kemampuan filter noise yang sama dengan filter IIR ini, dan mencocokkan frekuensi pemutusan 3dB menjadi sama, setelah membandingkan dua spektrum, ia akan menyadari bahwa riak band berhenti dari filter MA berakhir. ~ 3dB di bawah filter IIR.
Untuk mendapatkan riak stop-band yang sama (yaitu redaman daya derau yang sama) seperti filter IIR, rumus dapat dimodifikasi sebagai berikut:
sumber