鄧舒涵
(西安電子科技大學空間科學與技術(shù)學院,陜西西安 710126)
心電信號是從體表記錄心臟每一心動周期所產(chǎn)生的電活動變化的信號,直接反映心臟的健康狀況。心電信號在采集、放大、檢測、記錄過程會受到多種噪聲的干擾,包括基線漂移、肌電噪聲、電極接觸噪聲、運動偽跡等。因此想要得到較為精準的心電信號用于后續(xù)的診斷與治療,信號去噪成為了重中之重的任務[1]。
Matlab軟件是美國MathWorks公司出品的商業(yè)數(shù)學軟件軟件,具有強大的科學仿真和計算功能。MATLAB 的GUI是專門用于圖形用戶界面(Graphical User Interface)的快速開發(fā)環(huán)境,用戶可以避開代碼進行界面交互,具有直觀、方便的優(yōu)點[2-4]。本文利用該工具設(shè)計了心電信號去噪系統(tǒng),實現(xiàn)了對心電信號去噪的仿真實驗和去噪性能分析。該系統(tǒng)操作便捷,界面友好,可以大大提高醫(yī)學工作者的工作效率。
心電信號去噪系統(tǒng)的總體設(shè)計框架如圖1 所示。該系統(tǒng)主要對心電信號進行去噪處理,分為信號源區(qū),濾波區(qū),圖像顯示區(qū)和數(shù)據(jù)顯示區(qū)。它涵蓋了數(shù)字信號處理的幾種經(jīng)典濾波器,并且通過設(shè)定的四種指標對信號的去噪效果進行質(zhì)量評價。
圖1 心電信號去噪系統(tǒng)設(shè)計框圖Fig.1 Block diagram of ECG signal denoising system design
在該界面中通過設(shè)計按鈕、坐標區(qū)、可編輯文本框、靜態(tài)文本等GUI工具,并以此產(chǎn)生回調(diào)函數(shù),通過對回調(diào)函數(shù)進行修編輯改,建立GUI平臺[5-6]。
2.1.1 信號源
信號源界面中,用戶通過輸入信號按鈕導入需要處理的心電信號,圖像顯示區(qū)會自動產(chǎn)生信號波形圖的幅頻特性圖像。再單擊添加噪聲按鈕,可以選擇添加任意信噪比的噪聲。
2.1.2 信號濾波
濾波界面中,包含了數(shù)字信號處理常見的濾波器:FIR低通濾波器,IIR低通濾波器,均值濾波器,中值濾波器,小波濾波器。可以點擊需要的濾波器按鈕,對含噪心電信號進行濾波。濾波的結(jié)果和幅頻特性在圖像顯示區(qū)顯示。圖2展示了原始心電信號、加噪后心電信號與FIR低通濾波信號波形。
圖2 心電信號濾波Fig.2 ECG signal filtering
2.1.3 性能指標
為了客觀了解各種濾波器的濾波效果,在實驗中選取了峰值信噪比、自相關(guān)系數(shù)、均方差、運行時間四個指標進行評估,并在數(shù)據(jù)顯示區(qū)顯示。
(1)峰值信噪比表示信號最大可能功率和破壞性噪聲功率的比值,濾波后信號的峰值信噪比越大表示失真越小,即濾波后信號與原信號越相似[7]。
(2)均方差反映數(shù)據(jù)集的離散程度,濾波后信號的均方差越小,說明濾波效果越好。
(3)相關(guān)系數(shù)度表示濾波后信號與濾波前信號的關(guān)聯(lián)程度,值越大說明濾波效果越好。
(4)運行時間表示每個濾波算法所消耗的時間,時間越小說明該算法速度越快。
2.1.4 系統(tǒng)界面
考慮上述功能,在matlab中設(shè)計出系統(tǒng)界面,如圖3所示。點擊右上方的“輸入信號”,選擇需要處理的心電信號,點擊“添加噪聲”可為信號添加任意信噪比的高斯白噪聲。點擊下方的濾波器可對含噪心電信號進行濾波處理。同時,相應的波形、幅頻特性與性能指標均在顯示區(qū)自動顯示。
圖3 心電信號去噪系統(tǒng)界面Fig.3 ECG signal denoising system interface
2.2.1 FIR濾波
FIR 濾波器的單位沖激相應是有限長的,可以通過網(wǎng)絡結(jié)構(gòu)化簡為具有線性相位的網(wǎng)絡其系統(tǒng)函數(shù)可表示為:
在該算法中,我們利用窗函數(shù)法設(shè)計FIR低通數(shù)字濾波器[7-8]。首先由輸入框輸入阻帶衰減與過渡帶的指標要求,計算過渡帶寬度,并且根據(jù)過渡帶寬度要求確定濾波器的點數(shù)和截止頻率。再構(gòu)造出希望逼近的頻率響應函數(shù)Hd(ejw),求出它的單位脈沖響應hd(n)。最后加窗得到最終結(jié)果:
其中的窗函數(shù)選用的是漢寧窗。
2.2.2 IIR濾波
IIR濾波器的單位沖激相應是有限長的,其系統(tǒng)函數(shù)可表示為:
該算法中,改用雙線性變換法設(shè)計IIR數(shù)字低通濾波器。首先由輸入框輸入阻帶衰減與過渡帶的指標要求,對指標進行預畸變校正,設(shè)計過渡模擬濾波器。然后利用雙線性變換法:
將模擬濾波器轉(zhuǎn)換成數(shù)字濾波器。
2.2.3 均值濾波
均值濾波器是一種低通線性濾波器,其采用的主要方法為鄰域平均法。它的基本原理是對待處理的信號選擇一個模板,該模板由其近鄰的若干點的數(shù)值組成,求模板中所有數(shù)值的均值,再把該均值賦予當前點,作為處理后信號在該點上的數(shù)值。
2.2.4 中值濾波
中值濾波是一種非線性平滑技術(shù),中值濾波的基本原理是把數(shù)字序列中一點的值用該點的一個鄰域中各點值的中值代替,消除孤立的噪聲點。中值濾波對脈沖噪聲有很好的濾波效果,在濾除噪聲的同時,可以保護信號的邊緣不被模糊。
2.2.5 小波濾波
小波濾波的基本思想是先將信號通過小波變換,信號小波分解后的小波系數(shù)較大,噪聲的小波系數(shù)較小,并且噪聲的小波系數(shù)要小于信號的小波系數(shù)。選取一個合適的閥值,大于閥值的小波系數(shù)被認為是有信號產(chǎn)生的,予以保留,小于閥值的則認為是噪聲產(chǎn)生的,置為零或削弱從而達到去噪的目的[9]。小波濾波原理如圖4所示。
圖4 小波濾波原理Fig.4 Principle of wavelet filtering
首先為系統(tǒng)輸入原始心電信號,然后添加信噪比為30dB的高斯白噪聲,分別采用六種濾波器進行去噪分析。具體的濾波后波形如圖5 所示。
圖5 濾波后波形圖Fig.5 Waveform after filtering
對比各個濾波后的心電信號,可以看出小波濾波器的濾波效果最好,濾波后的信號平滑,與原始信號十分相似。中值濾波器的濾波效果最差,濾波后的圖像還存在明顯的噪聲毛刺。
將各個濾波器的性能指標整理成表格如表1。
表1 各濾波器性能評估Tab.1 Performance evaluation of each filter
從表1中可以看出,小波濾波的各項指標都很突出,但運算時間最長,中值濾波器的各項指標相對其他濾波器最差。FIR和IIR濾波器屬于頻域濾波,均值濾波器和中值濾波器屬于時域濾波,小波濾波屬于變換域濾波。頻域濾波相較于時域濾波運算速度更慢,濾波效果更好,但頻域去噪不能將有用信號的高頻部分和高頻噪聲加以區(qū)分。小波濾波將信號進行小波變換后,可以有效將高頻信息和高頻噪聲區(qū)分開來,相對頻域具有更好的濾波效果。
本文基于Matlab GUI設(shè)計了一個心電信號去噪仿真系統(tǒng),完成了六種數(shù)字濾波算法下的心電信號去噪分析。該系統(tǒng)具有多種不同的數(shù)字濾波功能,并且可以對信號進行頻譜分析和濾波器性能指標評估。經(jīng)實踐證明,該信號去噪平臺具有良好的去噪效果,可以給醫(yī)學工作者帶來極大的便利。