基于Matlab的心电信号工频干扰消除
2019-10-21龚治乔戴虹刘富甲吴琦薛莲李德柯
龚治乔 戴虹 刘富甲 吴琦 薛莲 李德柯
摘 要:人体心电信号常受到电源引起的工频噪声干扰,基于Matlab软件编程,实现了海宁滤波器及FIR带阻滤波器的心电工频噪声消除,并比较了这两种算法的优缺点。
关键词:Matlab;心电信号;工频干扰
0 引言
数字信号处理技术在生物医学工程领域的应用十分广泛。用于诊断心脏病的主要技术之一是心电图(Electrocadiogram,简称ECG),心电图机通过测量在体表的电位来推测心脏的缺陷。利用数字信号处理技术可对心电信号自动进行滤波、分析和识别的工作,以辅助医生进行疾病诊断并减轻工作强度。人体心电信号常常受到电源引起的工频干扰(频率为50Hz或60Hz),其时域及频域波形如图1所示,对心电图诊断产生严重影响,须对其频率进行估计从而将其消除。
1.课题研究的目标
本课题来源于大学生创新项目,研究目标是:基于Matlab软件编程,采用海宁滤波器与FIR带阻滤波器对心电信号中的工频干扰进行估计与消除,总结这两种算法的优缺点,进行实验结果分析。Matlab是美国MathWorks公司出品的数学软件,其编程简单且功能强大,在各种工程领域中得以广泛应用,故采用Matlab作为本课题的编程语言。
2.心电工频干扰消除算法
本课题的心电数据来自美国威斯康星大学UW DigiScope软件所产生的仿真心电信号(图2(a)),文件名为:ECG_X1.txt。首先读取该心电信号,并叠加工频干扰噪声,适当设置其幅度A与初相位;显示含有工频噪声的心电波形(设取样频率fs=150Hz,取样点数N=512),见图2(b)。
2.1海宁滤波器消除工频干扰
(1)海宁滤波器
由于工频干扰在心电图中是高频噪声,故可通过平滑滤波器进行低通滤波消噪。海宁滤波器是一个简单的FIR型平滑滤波器,其系统函数为:
(1)
利用海宁滤波器对含有工频的心电信号ECGY.txt进行低通滤波消噪,画出海宁滤波器的幅频特性、零极點分布图及消噪后的心电波形,如图3所示,可见已消除部分工频噪声,还可设计3级海宁滤波器进一步改善滤波效果。
2.2窗函数法设计FIR带阻滤波器消除工频干扰
由于海宁滤波器阶数较低,过渡带较宽,虽然消除了工频噪声,但也抑制了过渡带中的有用频率成分,从而导致了心电信号的衰减,采用窗函数法设计了一个FIR带阻滤波器,设置适当的滤波参数以消除工频干扰,该滤波器的单位脉冲响应、幅频特性及消噪后的心电波形及其幅频谱如图4所示,从图中所见,在消除工频干扰同时尽量保留了心电信号中的有用频率成分。
3.结语
针对心电信号中的工频干扰,采用Matlab编程实现了海宁滤波器及FIR带阻滤波器的心电工频噪声消除,并比较了这两种算法的优缺点,本课题的施行效果是:能激发学生的学习兴趣,提高实践能力,为培养创新人才打下扎实基础。
参考文献:
[1] Willis J.Tompkins著,林家瑞译.《生物医学数字信号处理》.华中科技大学出版社[M].2001年11月
[2]吴水才著.《医学信号处理及应用》.北京工业大学出版社[M].2014.8
[3]戴虹.项目化教学在《数字信号处理》课程中的应用.福建电脑[J].2016年第11期
作者简介:
通讯作者:戴虹(1977-)女,汉族,上海市人,副教授,硕士,主要研究方向为:信号与信息处理。
龚治乔,上海第二工业大学 16通信A1班学生
刘富甲,上海第二工业大学 17电信A1班学生
薛莲,上海第二工业大学 16通信A1班学生
李德柯,上海第二工业大学 17电信A1班学生
基金项目:
(1)上海市大学生创新项目:基于Arduino与人工智能算法的心电疾病识别系统设计
项目编号:201912044010
(2)上海第二工业大学校大学生创新项目:基于直方图优化算法的图像去雾增强系统设计 项目编号: 2019-xjkj-009