设计低通巴特沃斯数字滤波器(matlab)去除ECG基线漂移实例

时间:2024-03-31 07:03:23

matlab代码**************************
M=load (‘datafile’);
ecg=M(1:15000,1); 读取数据
fs=512; 采样率
fmaxd_1=5;%截止频率为5Hz
fmaxn_1=fmaxd_1/(fs/2);
[B,A]=butter(1,fmaxn_1,‘low’);
ecg_low=filtfilt(B,A,ecg);%通过5Hz低通滤波器的信号
ecg1=ecg-ecg_low; %去除这一段信号,得到去基线漂移的信号`在这里插入代码片
figure(1)
subplot(311)
plot(ecg);xlabel(‘原始的ECG数据’);
subplot(312)
plot(ecg1,‘B’);xlabel(‘1阶低通滤波去除基线漂移后的ECG数据’);**

实验结果******************

设计低通巴特沃斯数字滤波器(matlab)去除ECG基线漂移实例
放大后效果:
设计低通巴特沃斯数字滤波器(matlab)去除ECG基线漂移实例