心脏健康状况可用心电图信号观察,但信号必须无环境污染,才能让医生诊断。场景的污染源是交流电源,它辐射的电磁场会经电容耦合和电磁感应进入心电图信号。
一.题目
心脏健康状况可用心电图信号观察,但信号必须无环境污染,才能让医生诊断。场景的污染源是交流电源,它辐射的电磁场会经电容耦合和电磁感应进入心电图信号。
二.实验目的
心脏健康状况可用心电图信号观察,但信号必须无环境污染,才能让医生诊断。场景的污染源是交流电源,它辐射的电磁场会经电容耦合和电磁感应进入心电图信号。
三.实验仪器
计算机,MATLAB软件
四.实验原理
首先对待滤波的心电信号进行频谱分析,观察信号频率分布的规律,从而确定数字滤波器的类型(FIR滤波器、IIR滤波器、自适应滤波器、小波滤波器等)在加性噪声的情况下,若信号的频谱与噪声的频谱基本不重叠,可以采用频率选择滤波器(FIR滤波器、IIR滤波器)若信号的频谱与噪声的频谱重叠较多,可以采用自适应滤波、小波滤波等。若为乘性噪声,可以根据同态滤波的原理对信号进行预处理,然后再按照加性噪声的情况处理。
在确定了数字滤波器的类型后,还需要根据信号时域特性、频域特性、或时频特性确定滤波器的设计参数,设计出相应的数字滤波器。
最后,利用该数字滤波器对信号进行滤波,在时域和频域观察信号滤波的主观及客观效果。若主观及客观效果满足要求,说明分析过程和滤波方法正确有效,若不满足要求,需要重新分析和设计。
五.实验步骤
设h(n)为一个周期的心电图信号,h(n)=[78,-39.5,-70.7,-17,-17,-16.5,-16.5,-15,-15,-14.5,-10,-3.5,1,-3.5,-12,-16,-17,-18,-18,-18,-18,-18,-18,-16.5,-4,9,19,6.5,-11,-17,-17,-18,-23,-18.3,49],其采样率为50Hz,现将h(n)变为3个周期的信号,并将采样率提高到200Hz,加入50Hz的交流干扰,其程序为:
程序运行结果如图所示,h50(t)是采样率50Hz的心跳信号波形,h200(t)是采样率200Hz的心跳信号波形,s(t)是有污染的心跳信号波形。
六.实验代码与实验现象
1.完整代码
%心电图的信号滤波实验
fs = 50;T=1/fs;
h = [78,-39.5,-70.7,-17,-17,-16.5,-16.5,-15,-15,-14.5,-10,-3.5,1,-3.5,...
-12,-16,-17,-18,-18,-18,-18,-18,-18,-18,-18,-16.5,-4,9,19,6.5,-11,...
-17,-17,-18,-23,-18.3,49];
m = 3;L = m*length(h); %扩展长度
hm = reshape(h'*ones(1,m),1,L); %三个周期样本
hm = hm/max(hm); %归一化
t = (1:L)*T;
subplot(411);plot(t,hm,'k');axis([0,2,-1.5,1.5]);ylabel('h_{50}(t)');%采样率50Hz的曲线
ti = [T:1/200:T*L]; %采样率200Hz的时间
hi=interp1(t,hm,ti,'spline');%信号hm内插
subplot(412);plot(ti,hi,'k');axis([0,2,-1.5,1.5]);ylabel('h_{200}(t)');%采样率200Hz的曲线
s = hi+0.3*sin(2*pi*50*ti); %有污染的信号
subplot(413);plot(ti,s,'k');axis([0,2,-1.5,1.5]);xlabel('t/s');ylabel('s(t)');%有污染的曲线