基于小波变换和FPGA的心电监测系统设计
2014-02-16晏明军
晏明军
基于小波变换和FPGA的心电监测系统设计
晏明军
(辽宁铁道职业技术学院,辽宁锦州,121000)
为了提高心电系统除噪效果和运算速度,提出一种基于小波变换和FPGA的心电检测系统。利用离散小波快速算法—Mallat算法,简化小波算法的复杂性。并合理选择母小波和阀值的计算方法,提高了重构信号对真实信号的逼近程度。通过FPGA实现小波算法,利用FPGA运算的并行性,提高了系统的运算速度。采用VHDL编写AD和LCD的控制程序,实现了信号采集和显示的功能。经过MIT/BIH数据对算法进行了仿真验证,表明该算法具有良好的除噪效果,其信噪比SNR可达122.6987,均方差MSE可达0.0023。
心电;FPGA;Mallat;小波变换
0 引言
心电检测一直都是一个热门的话题,而如何在噪声中有效的提取心电信号始终是开发人员研究的重点。多数设计者采用硬件滤波器和陷波器的方式,比如合肥工业大学和哈尔滨工业大学设计的便携式心电监测仪。也有一些采用数字滤波的方式,比如云南大学设计的基于差分阈值处理方法。由于数字滤波的优越特性,滤波方式正向数字方向发展。在各种数字滤波方式中,小波方法效果最好。但是由于小波算法的复杂性以及受到嵌入式处理器速度的限制,小波方法很少应用到嵌入式系统中。随着可编程逻辑门器件的发展,FPGA可以开始具有DSP功能。由于FPGA程序运行具有并行性,使得FPGA比DSP在处理速度上更具优势。另外,在数据算法方面,法国学者Mallat提出了一种小波算法的简化方法--Mallat算法。这样小波分析应用到嵌入式系统就有了可能。
1 系统总体设计
系统总体框图如图1所示。首先从被测对象中提取微弱的心电信号,直接送到FPGA中进行信号滤波和提取,最后经过处理后显示到LCD屏幕上。FPGA是整个系统的核心,系统所有控制逻辑和运算逻辑都在FPGA中实现。
图1 系统框图
2 AD转换
心跳频率正常值是60~100HZ,最高不超过120HZ。所以对A/ D转换器转换速率要求并不高。
本文选择TLC549,它是TI公司生产的一种低价位、高性能的A/D转换器,转换速度小于 17us,最大转换速率为 40000HZ。
芯片工作过程简述如下:当/CS电平变低后,芯片被选中,同时上次转换结果的最高位MSB从DATA OUT端输出,接着需要向I/O CLOCK端输入8个连续时钟信号,前7个时钟的作用是配合AD输出上次的转换结果,并为本次转换做准备。在第4个时钟信号由高至低跳变后,芯片对模拟信号开始采样,并在第8个时钟信号的下降沿启动A/D进行模数转换。芯片转换时间为36个系统时钟周期,约为17us。
AD芯片的驱动过程由FPGA控制,程序编写语言采用VHDL。程序如下:
3 小波变换除噪
心电信号比较微弱,在采集的时候时会被淹没在较强的背景噪声中。背景噪声主要包电力设备产生的50HZ的工频干扰、人体肌肉收缩引起的肌电干扰、电极移动及人体呼吸带来的基线漂移噪声。因此必须对采集的信号进行消噪处理。
除噪的方法有很多种,如阀值检测法、模板匹配法、数学形态法、神经网络法等。小波除噪具有多尺度小波变换特性,够能很好的描述心电信号各个波的特点,并减少工频干扰、肌电干扰、基线漂移等噪声对判别的影响。其缺点就是算法复杂计算量大,为了解决这个问题,设计采用Mallat算法来减少运算量。另外为了提高运算速度,实现算法并行性,采用FPGA完成数据处理。本设计所使用的FPGA为Xilinx公司生产的Spartan-3A DSP系列中XC3SD1800A型号FPGA。
3.1 Mallat算法
小波降噪的原理就是把带有噪声的信号进行小波分解,因为信号与噪声在小波变换下的行为各不相同,以此对信号和噪声进行分离,把属于噪声的小波系数置为0,将剩余部分进行小波重构,就得到了不含噪声的信号。算法如下:
将二尺度方程式
对时间进行伸缩和平移,则:
令m=2k+n,有:
根据多分辨率定义得:
把f(t)分解一次,则:
其中,cj,k和dj,k为j尺度上的展开系数,而且
我们称cj,k为尺度系数,dj,k为小波系数。将式4-3代入式4-7,整理得:
同理可推得:
式4-9、4-10说明:j尺度空间的尺度系数cj,k和小波系数dj,k可由j-1尺度空间的尺度系数cj-1,k经滤波器系数h0(n), h1(n) 进行加权求和得到。
将Vj空间尺度系数cj,k进一步分解下去,可分别得到Vj+1,Wj+1空间的尺度系数cj+1,k和小波系数dj+1,k,同样,将尺度空间Vj+1继续这样分解,可得到任意尺度空间Vj,其分解过程如图2所示。这就是著名的Mallat算法。
图2 小波算法图
与分解的计算过程相反,得到小波变换重构公式为:
3.2 母小波的选取
小波函数有很多种,有Haar小波、Marr小波、Meyer小波、biorthogonal小波、Daubechies小波、Symlet小波、Coiflet小波等。在这几类常用的小波中,只有Biorthogonal小波系和Symlet小波系比较适合于处理心电信号,Biorthogonal小波严格对称但不正交,Symlet小波正交但不严格对称。两者相比,Symlet小波系中的各个小波基所对应的尺度函数更接近于心电信号中完整的P-QRS-T波段,所以本文选择了尺度函数比较接近心电波形且小波函数对称性较好的sym8小波对心电信号进行处理。
3.3 小波阀值函数的选取
阈值的选择是小波去噪和收缩中重要的一步,在去噪过程中阈值起着也很重要。阀值太小,施加阈值后小波系数包含太多的噪声分量,达不到去噪效果;反之,则去除了有用部分,使信号失真。
硬阀值
当小波系数的绝对值大于等于给定阈值时,保持不变,而小于时,令其为0。
软阈值
当小波系数的绝对值大于等于给定的阈值时,令其值为减去阈值;而小于时,令其为0。
硬阈值在阈值点不连续,重构可能产生一些震荡;软阈值连续,但估计的小波系数和分解的小波系数有恒定的偏差。综合硬阀值和软阀值的优缺点,本文选择在实际应用中有较好的效果得软阀值。
程序流程图如图3。部分程序如下:
图4 仿真图
算法仿真:选用小波函数sym8,分解层数为4层,对信噪比为5db的噪音信号进行除噪处理。仿真后得信噪比SNR =122.6987,均方差MSE =0.0023。仿真波形如图4。
4 图形显示
本设计选用液晶屏型号为奇美LQ035NC211,该液晶屏为3.5寸,分辨率为320×240。软件采用VHDL编写液晶屏驱动,部分程序如下:
5 结论
利用母小波为sym8的Mallat快速小波变换,极大的简化了算法的复杂性。同时在FPGA上实现小波除噪算法,保证计算的并行性,提高了处理速度。经过验证表明,Mallat算法除噪效果明显。另外,系统所有的处理模块和控制模块都在单片FPGA上实现,降低了成本,简化了电路。
[1] 黄新林.基于ARM的ECG检测模块的研究与设计[D].合肥工业大学:电路与系统,2010
[2] 王余涛.基于嵌入式系统的便携式心电监护系统的研制 [D]. 哈尔滨工业大学: 信息与通信工程.2011
[3] 何敏,王威廉.心电实时监护算法及监护系统研究[D].云南大学:通信与信息系统,2010
[4] Pan J et.al.A Real-Time QRS Detection Algorithm[J]. IEEE trans on BME, 2001, 32(3):230-236.
[5] 刘隆吉.便携式动态心电监护系统研究[D]山东科技大学, 2010 .
[6] Y.Ferdi,J.P.Herbeuval.R Wave Detection Using Fractional Digital Differentiation[J].ITBM-RBM, 2006,24(8):273-280.
[7] D.Simunic,S.Tomac,I.Vrdoljak.Wireless ECG Monitoring System. 1st International Conference on Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology,Aalborg,2009.Wireless VITAE:73~76
[8] 林文华.基于小波变换的去噪方法及其应用研究[D].暨南大学硕士学位论文,2003.
[9] Daubechies I.Orthonormal Bases of Compactly Supported Wavelets[J].Communications on Pure and Applied Mathematics,1997,41:990-996.
[10] 胡玥.远程监护系统心电信号特征快速提取方法研究[D]郑州大学, 2010 .
Design of ECG Detecting Apparatus Based On Wavelet Transform And FPGA
Yan Mingjun
(Liaoning Railway Vocational and Technological College,Jinzhou,121000,China)
In order to improve the effect of removing noising and the arithmetic speed,a ECG detecting system is designed.Using rapid disperse wavelet arithmetic - Mallat,the complexity of wavelet arithmetic is simplified.And with reasonable mother wavelet and threshold value,the proximity of the reconstructing signal according the virtual signal is improved.With wavelet arithmetic on FPGA,and the ability of operating parallelly,the arithmetic speed of the system is enhanced.It realizes the function of acquisition and display with AD and LCD controlling program using VHDL.After simulation and verification with MIT/BIH data, it indicates its superb noising removing effect.And its SNR can meet 122.6987,its MSE can meet 0.0023.
ECG;FPGA;Mallat;wavelet transform
图5 显示界面
图3 程序流程图