Apa yang dilakukan tulus ini dalam output filter LP-berubah-HP saya?

10

Saya mencoba memfilter sinyal HP dengan memfilter LP dan mengurangi output dari filter asli. Untuk mendapatkan sinyal yang difilter LP, saya mundur-maju memfilter menggunakan filter Butterworth orde ketiga untuk sinyal sampel 16.000. Frekuensi cutoff adalah 0,5 Hz @ 250 Hz. Tidak ada jendela yang digunakan.

Dalam 85% sampel pertama, output dari metode ini tampaknya tumpang tindih sepenuhnya dengan sinyal yang difilter HP. Namun, di akhir output, ada fenomena seperti sup yang berbahaya.

  • Apa yang menyebabkannya?
  • Apa yang bisa saya ubah untuk membuat metode ini layak?

Berikut adalah dua sinyal yang di-overlay. Yang biru difilter-HP, dan yang merah diperoleh dengan pengurangan.

Sinyal HP dan orig-LP

Inilah perbedaan absolut per sampel. Mereka tidak pernah sama persis; perbedaan minimum adalah 8e-12. 87% dari nilai di bawah 0,01.

perbedaan antara kedua metode

(Jika ada cara yang lebih baik untuk mendapatkan filter HP dari filter LP , saya akan senang mempelajarinya.)H(z)

Andreas
sumber
Bisakah Anda memasukkan kode MATLAB yang Anda gunakan untuk membuat plot? Data tidak penting; Anda bisa mensimulasikannya dengan sampel acak saja jika diperlukan.
Jason R

Jawaban:

0

Methinks @ hotpaw2 ada di jalur yang benar. Dugaan saya adalah bahwa filtfilt tidak menangani kondisi awal untuk filter balik dengan benar. Kedengarannya seperti masalah yang sangat sulit - saya tidak berpikir saya bisa menyalahkan Mathworks karena salah ...

Perbaikannya tampaknya cukup mudah bagi saya: nol-pad ujung sinyal Anda sampai sinc hilang, dan hapus padding (sekarang bukan nol!) Setelah filter.

rtollert
sumber
0

Anda melakukan filter mundur-ke depan untuk satu, dan filter hanya ke depan untuk yang lain. Dengan demikian kedua filter akan berperilaku berbeda pada satu atau kedua sisi.

Jika sinyal Anda sangat diam dan persis periodik dalam panjang jendela data, Anda dapat mencoba membungkus data di sekitar secara melingkar dan memulai filter Anda sejak awal dengan panjang respons impuls mereka.

hotpaw2
sumber
Maaf jika saya tidak cukup jelas. Sinyal yang saya bandingkan (biru) juga difilter maju-mundur ( filtfiltdan butter(3,0.5/250,high)). Sinyal berasal dari EKG yang saya tidak bisa harapkan secara periodik.
Andreas
Apakah saya salah mengerti sesuatu? Saya tidak dapat memahami upvote karena paragraf pertama jelas salah.
Andreas