毕设(正文) 联系客服

发布时间 : 星期一 文章毕设(正文)更新完毕开始阅读006b98aa7fd5360cbb1adba0

南昌航空大学学士学位论文

通带截止频率为2*pi*20Hz,阻带截止频率约为2*pi*25Hz。通带最大衰减为3db,阻带最小衰减为10db。用这种低通滤波器可以滤去幅度上的50Hz以上的波段。但是这样会使原始的心电低频信号削弱,影响对心电信号的分析。因为正常信号没出现基线漂移,所以用低通滤波器对正常心电信号滤波时并没有太大差别。但异常心电信号出现了基线漂移,用低通滤波器滤波后如图3.4。

图3.4 低通滤波后的异常心电图

从滤波后图形可以看出低通滤波器没有解决基线漂移问题。

3.2.2 带通配合窗函数滤波

带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器。一个理想的带通滤波器应该有一个完全平坦的通带,在通带内没有放大或者衰减。实际上,并不存在理想的带通滤波器。滤波器并不能够将期望频率范围外的所有频率完全衰减掉,尤其是在所要的通带外还有一个被衰减但是没有被隔离的范围。这通常称为滤波器的滚降现象,并且使用每十倍频的衰减幅度的dB数来表示。通常,滤波器的设计尽量保证滚降范围越窄越好,这样滤波器的性能就与

14

南昌航空大学学士学位论文

设计更加接近。然而,随着滚降范围越来越小,通带就变得不再平坦,开始出现“波纹”。这种现象在通带的边缘处尤其明显,这种效应称为吉布斯现象。

如图3.5是设计的带通滤波器的幅频特性图。

图3.5 带通滤波器的幅频特性图

在这次的心电信号滤波中写的matlab带通代码如下: wp=[0.9 50]/400; ws=[0.3 100]/400; rp=3; rs=10;

[N,wc]=buttord(wp,ws,rp,rs,'s'); [Bz,Az]=butter(N,wc); [H,w]=freqz(Bz,Az); y=filter(Bz,Az,b);

通带频率范围为0.9-50Hz,阻带频率范围是0.3-100Hz,通带衰减系数是3db,阻带衰减系数是10db。

15

南昌航空大学学士学位论文

现在将异常的心电信号通过带通滤波器,如图3.6

图3.6 带通滤波器滤波后心电图

与异常信号心电图3.2对比,可以看到带通滤波器解决了基线漂移问题。这样才能为后面R波检测提供有利条件。

3.3 最终方案的选择

综合上述滤波分析,这次的心率检测系统我采用的是第二种方案。先将心电信号用textread函数进行读取,然后通过编程将原心电信号显示,再通过一个带通滤波器及窗函数滤波器。这样可以有效的去除基线漂移及毛刺的影响。由于信号中存在噪声的特点,基线漂移和呼吸等低频干扰在1Hz 以下,而脉搏信号主要在低频范围,所以可以设计让信号先通过一个巴特沃斯带通滤波器,借以滤除基线漂移、呼吸引起的干扰,通带截止频率设置为Wp=[0.9,50],阻带截止频率设置为Ws=[0.3,100],通带波纹系数Rp=3,阻带波纹系数Rs=10。

16

南昌航空大学学士学位论文

心电信号滤波流程图如下3.7:

去除基线漂移

通过Buttord和butter命

令组成的巴特沃斯带通 滤波器

通过哈明窗函数滤波

滤波信号

3.7 滤波流程图

心电滤波窗函数代码如下: N=50; wc=0.3;

window=blackman(N); hn=fir1(N-1,wc,window); y1=filter(hn,1,y);

N为定义的窗函数的长度,其中wc为对π归一化的数字频率,0≤wc≤1。这里因为缺省window参数,那么firl函数会默认为hamming窗。

用textread命令读取脉搏信号的TXT文件

17