Saya memiliki 1-by-10000 matriks double `s disimpan dalam file bernama" fecg.mat ". Matriks mewakili besarnya sinyal FECG yang direkam.
Saya telah merencanakannya berdasarkan waktu (dari 0 hingga 9999):
Untuk menghapus garis dasar, saya ingin tahu apakah saya dapat menggunakan filter high-pass. Bagaimana cara mendesain filter yang tepat?
Pemrosesan sinyal PS bukan bidang studi saya. Saya tidak tahu cara memfilter sinyal waktu-domain diskrit.
Jawaban:
Cara termudah untuk menghapus garis dasar adalah dengan menghapus rata-rata:
Sebenarnya, rata-rata adalah koefisien pertama dari transformasi Fourier, jadi sebenarnya ini adalah penyaringan yang sangat tajam: Anda menghilangkan koefisien DC.
Jika Anda ingin pemfilteran lebih klasik, maka periksa fungsi suka
butter
dan teman, yang akan mensintesis filter IIR, kemudian gunakanfilter
untuk memfilter sinyal Anda.Matlab juga menyertakan alat desain filter.
sumber
MATLAB memiliki alat desain filter yang disebut fdatool. Jalankan fdatool di MATLAB, itu memberi Anda GUI visual, di mana Anda dapat mengubah parameter filter. Pilih filter high-pass dari sana dan pilih frekuensi cut0ff. ketika Anda puas dengan bentuk filter, ekspor ke ruang kerja MATLAB. Katakanlah nama filter Anda adalah myFilter dan nama sinyal Anda adalah mySignal. Kemudian untuk memfilter sinyal dalam tipe MATLAB: filteredSignal = conv (mySignal, myFilter).
sumber
Jika Anda tahu konten frekuensi dari sinyal yang diinginkan, Anda dapat lulus tinggi agak di bawah frekuensi itu. Katakanlah Anda hanya tertarik pada sinyal di atas 2 Hz dan sample rate Anda adalah 100 Hz, maka Anda dapat melakukan ini sebagai berikut:
Ini adalah contoh khusus menggunakan highpass Butterworth urutan ke-3.
sumber
Filter mana yang akan digunakan sangat tergantung pada aplikasi spesifik. - Filter yang terlalu kasar dapat menghapus informasi yang Anda cari!
Algoritma Pan-Tompkins yang banyak digunakan (untuk deteksi QRS) menetapkan filter untuk penghilangan garis dasar dalam data EKG. Tetapi sulit untuk menentukan apakah filter ini cocok untuk aplikasi Anda dari informasi terbatas yang Anda berikan. Tolong uraikan jawaban yang lebih tepat.
sumber
LPF
seperti yang dikatakan Castilho . tapi baseline yang saya dapatkan tertunda. Untuk mencocokkan baseline dan sinyal asli untuk mengurangi mereka, haruskah saya menggeser salah satunya atau apakah ada cara yang lebih baik?Saya akan menyarankan Anda untuk menggunakan filter adaptif untuk menghilangkan kebisingan baseline 50Hz. filter adaptif lms akan bekerja dengan baik:
sumber