晏明軍
基于小波變換和FPGA的心電監測系統設計
晏明軍
(遼寧鐵道職業技術學院,遼寧錦州,121000)
為了提高心電系統除噪效果和運算速度,提出一種基于小波變換和FPGA的心電檢測系統。利用離散小波快速算法—Mallat算法,簡化小波算法的復雜性。并合理選擇母小波和閥值的計算方法,提高了重構信號對真實信號的逼近程度。通過FPGA實現小波算法,利用FPGA運算的并行性,提高了系統的運算速度。采用VHDL編寫AD和LCD的控制程序,實現了信號采集和顯示的功能。經過MIT/BIH數據對算法進行了仿真驗證,表明該算法具有良好的除噪效果,其信噪比SNR可達122.6987,均方差MSE可達0.0023。
心電;FPGA;Mallat;小波變換
心電檢測一直都是一個熱門的話題,而如何在噪聲中有效的提取心電信號始終是開發人員研究的重點。多數設計者采用硬件濾波器和陷波器的方式,比如合肥工業大學和哈爾濱工業大學設計的便攜式心電監測儀。也有一些采用數字濾波的方式,比如云南大學設計的基于差分閾值處理方法。由于數字濾波的優越特性,濾波方式正向數字方向發展。在各種數字濾波方式中,小波方法效果最好。但是由于小波算法的復雜性以及受到嵌入式處理器速度的限制,小波方法很少應用到嵌入式系統中。隨著可編程邏輯門器件的發展,FPGA可以開始具有DSP功能。由于FPGA程序運行具有并行性,使得FPGA比DSP在處理速度上更具優勢。另外,在數據算法方面,法國學者Mallat提出了一種小波算法的簡化方法--Mallat算法。這樣小波分析應用到嵌入式系統就有了可能。
系統總體框圖如圖1所示。首先從被測對象中提取微弱的心電信號,直接送到FPGA中進行信號濾波和提取,最后經過處理后顯示到LCD屏幕上。FPGA是整個系統的核心,系統所有控制邏輯和運算邏輯都在FPGA中實現。

圖1 系統框圖
心跳頻率正常值是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。程序如下:


心電信號比較微弱,在采集的時候時會被淹沒在較強的背景噪聲中。背景噪聲主要包電力設備產生的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。
本設計選用液晶屏型號為奇美LQ035NC211,該液晶屏為3.5寸,分辨率為320×240。軟件采用VHDL編寫液晶屏驅動,部分程序如下:

利用母小波為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 程序流程圖