MATLAB's filtfilt
melakukan penyaringan maju-mundur, yaitu, menyaring, membalikkan sinyal, menyaring lagi dan kemudian kembali lagi. Rupanya ini dilakukan untuk mengurangi fase lag? Apa keuntungan / kerugian dari menggunakan penyaringan seperti itu (saya kira itu akan menghasilkan peningkatan urutan filter yang efektif).
Apakah lebih baik menggunakan filtfilt
selalu daripada hanya filter
(yaitu, hanya penyaringan ke depan)? Apakah ada aplikasi di mana perlu untuk menggunakan ini dan di mana seharusnya tidak digunakan?
Jawaban:
Anda dapat melihatnya di domain frekuensi. Jika adalah urutan input dan adalah respons impuls filter, maka hasil dari pass filter pertama adalahx[n] h[n]
dengan dan , transformasi Fourier masing-masing dan . Pembalikan waktu berhubungan dengan mengganti dengan di domain frekuensi, jadi setelah pembalikan waktu kita mendapatkanX(ejω) H(ejω) x[n] h[n] ω −ω
Filter pass kedua terkait dengan perkalian lain dengan :H(ejω)
yang setelah pembalikan waktu akhirnya memberikan spektrum sinyal output
karena untuk koefisien filter bernilai nyata, kita memiliki . Persamaan (1) menunjukkan bahwa spektrum output diperoleh dengan memfilter dengan filter dengan respons frekuensi , yang murni bernilai real, yaitu fase-nya nol dan akibatnya ada tidak ada distorsi fase.H(e−jω)=H∗(ejω) |H(ejω)|2
Ini teorinya. Dalam pemrosesan waktu nyata tentu saja ada penundaan yang cukup besar karena pembalikan waktu hanya berfungsi jika Anda mengizinkan latensi yang sesuai dengan panjang blok input. Tetapi ini tidak mengubah fakta bahwa tidak ada distorsi fase, itu hanya penundaan tambahan dari data output. Untuk pemfilteran FIR, pendekatan ini tidak terlalu berguna karena Anda mungkin juga mendefinisikan filter baru dan mendapatkan hasil yang sama dengan pemfilteran biasa. Lebih menarik untuk menggunakan metode ini dengan filter IIR, karena mereka tidak dapat memiliki fase nol (atau fase linier, yaitu penundaan murni).h^[n]=h[n]∗h[−n]
Alhasil:
jika Anda memiliki atau membutuhkan filter IIR dan Anda ingin distorsi fase nol, DAN keterlambatan pemrosesan tidak masalah maka metode ini berguna
jika pemrosesan penundaan adalah masalah Anda tidak boleh menggunakannya
jika Anda memiliki filter FIR, Anda dapat dengan mudah menghitung respons filter FIR baru yang setara dengan menggunakan metode ini. Perhatikan bahwa dengan filter FIR, fase linier yang tepat selalu dapat diwujudkan.
sumber
maximum-aposteriori-estimation
. Bisakah Anda mengubah nama menjadimaximum-a-posteriori-estimation
? Secara tidak sengaja saya lupa-
setelaha
. Terima kasih.Saya menemukan video ini sangat, sangat membantu (menguraikan jawaban Matt).
Berikut beberapa ide kunci dari video:
x[n]
,, saring, balikkan hasilnya, saring lagi, dan balikkan lagi (langkah pembalikan waktu mengharuskan semua data tersedia).sumber