王佳佳, 周克良
(江西理工大學 a. 能源與機械工程學院, b. 電氣工程及其自動化學院, 江西 贛州 341000)
由于硬件自身的特點,醫(yī)學設(shè)備雖然可以檢測到人體的心音信號,但是對于噪聲卻不能進行自我的判斷與消除,而這些問題就需要智能算法進行彌補.
智能算法可以針對病人的心音信號和外界噪聲的特性,進行自我分析與判斷,最后進行降噪.本文所研究的對象是二尖瓣心音信號,針對病人的二尖瓣心音信號來判斷病人的病情.
據(jù)分析,二尖瓣心音信號的噪聲主要來自于周圍環(huán)境中的噪聲、工頻噪聲(50 Hz)、病人與周圍物體的摩擦、儀器本身含有的噪聲(35 Hz)等.這些噪聲會吞沒二尖瓣心音信號的有用信息,進而影響醫(yī)學專家的判斷.目前對于二尖瓣心音信號的降噪問題,國內(nèi)外學者已通過采用小波分析、奇異值分解、混沌時間序列、自適應(yīng)算法等進行了研究[1-2],且已取得一定成效,但同時存在處理高頻信號有失真、算法收斂性和實驗精度不高等不足[3-4].
維納濾波(wiener filtering)是一種基于最小均方誤差準則對平穩(wěn)過程的最優(yōu)估計器[1],該算法作為一種濾除噪聲或干擾以提取有用信息的濾波器,在降噪方面具有十分重要的應(yīng)用價值.但同時它采用FFT變換進行時域分析,這對于處理非平穩(wěn)類型的信號存在分辨率較低等缺陷.鑒于此,本文在維納濾波算法的基礎(chǔ)上,提出一種優(yōu)化的維納濾波算法對二尖瓣心音信號進行降噪,以減少二尖瓣心音信號中的殘留問題,同時提高心音信號的分辨率.
EMD算法的原理是對采集的心音信號首先進行EMD分解,得到有限個模態(tài)IMF分量[2-3],由于心音信號主要集中在低頻部分,因此舍去前三階的模態(tài)IMF分量,可減去一部分二尖瓣心音信號中夾雜的高頻率的外界噪聲,保留EMD分解中的低頻率IMF分量[5-8].
首先,定義采集的二尖瓣心音信號
y(t)=x(t)+d(t).
(1)
式中:x(t)表示純二尖瓣心音信號;d(t)為心音中所夾雜的外界噪聲信號;y(t)為實際的二尖瓣心音信號.對二尖瓣心音信號進行離散S變換得
(2)
本文所有的高斯窗函數(shù)為
定義域半徑為
Rd=min[5α/f,L].
窗長為[-Rd,Rd],記k=[Rd/T].進而可得高斯窗函數(shù)為
(3)
式中δ的值會直接影響到窗函數(shù)的形狀,進而可調(diào)節(jié)S變換的分辨率.對于式(3)中δ的值取1/|f|.則S變換公式為
(4)
可導(dǎo)出維納濾波算法中的數(shù)字濾波器[9-11]H(k):
(5)
其中,Pxy是x(t)與y(t)的互功率譜密度,Py是y(t)的功率譜密度.進一步可導(dǎo)出維納濾波的輸出
(6)
(7)
式中,Y(f)為y(t)的Fourier變換.
1) 對實際的二尖瓣心音信號進行EMD分解,可得到有限個IMF分量,本文將舍去前三階的IMF分量(心音信號主要集中于低頻信號中,前三階IMF分量基本上都是高頻信號),并進行重構(gòu)二尖瓣心音信號.
2) 重構(gòu)二尖瓣心音信號進行窗函數(shù)分幀,確定它的信號長度L,時間間隔T,和采樣點數(shù)N=L/T.
3) 對窗函數(shù)的參數(shù)δ進行設(shè)置(δ是與頻域無關(guān)的參數(shù),在整個運算中只會取一個值.否則,可根據(jù)當前的頻率進行調(diào)整),對于給定的頻率f,0≤f≤1/2T,以及頻率的采樣間隔f、采樣點數(shù)NF有HT(nT)=h(nT)exp(-i2πfnT).
4) 對于二尖瓣心音信號的頻率按照采樣點進行有序循環(huán),計算出各個頻率點處的S變換.
① 記fi=if.計算離散頻率為f時,信號y(t)的調(diào)諧信號HT(nT)及窗函數(shù)w(mT,fi);
② 根據(jù)公式
計算出頻率fi所對應(yīng)的S變換譜線;
③ 增加i,返回3),直到i>NF,便可得到信號在所有頻率點處的S變換譜線.
5) 求出所有的S變換譜線之后,調(diào)用VAD函數(shù)求出噪聲幀和心音幀,對于噪聲幀,計算出噪聲平均幅值譜,即λd.
6) 求出后驗信噪比γi(k)和先驗信噪比ξi(k),并求出維納濾波器的傳遞函數(shù)Hi(k).
正常心音信號降噪之后的結(jié)果如圖1、圖2所示.
圖1 含噪心音信號的幅頻譜Fig.1 Spectrogram of a noisyheart sound signal
圖2 降噪之后的正常心音信號的幅頻譜Fig.2 Spectrogram of normal heart sound signal after noise reduction
由圖1、圖2分析對比可得,心音信號的頻率主要集中于低頻信號中,優(yōu)化的維納濾波算法有效的降低了正常心音信號中的噪聲,進而提高了信噪比.
本文從某醫(yī)院采集的心音數(shù)據(jù)包括:二尖瓣狹窄(心房心顫)、二尖瓣狹窄(嚴重)、二尖瓣狹窄(心動過速),這3種心音信號采樣的頻率為4 000 Hz,量化精度為16 bit.
將優(yōu)化的維納濾波算法用于采集的心音信號,可有圖3~圖5結(jié)果.
圖3 純二尖瓣狹窄(心房心顫)幅頻譜Fig.3 Spectrogram of pure mitralstenosis (atrial fibrillation)
圖4 含噪二尖瓣狹窄(心房心顫)心音幅頻譜Fig.4 Heart sound amplitude spectrogram of noisy mitralstenosis (atrial fibrillation)
圖5 降噪之后的二尖瓣狹窄(心房心顫)幅頻譜Fig.5 Spectrogram of mitral valvestenosis (atrial fibrillation) after noise reduction
在此,本文也對所提出的算法進行了對比,在同等條件下,分別使用LMS算法、維納濾波算法以及EMD和改進的維納濾波算法對心音信號進行處理,并將他們的信噪比(SNR)作為評判值.表1是它們的對比數(shù)據(jù).
表1 3種算法降噪之后的信噪比Table 1 Signal-to-noise ratios after noise reduction by the three algorithms
從表1可直觀的看出,優(yōu)化的維納濾波算法與LMS算法、傳統(tǒng)的維納濾波算法相比較,其信噪比明顯提升,降噪效果明顯.
對于降噪之后的數(shù)據(jù),通過MFCC算法,提取出正常心音與降噪之后的二尖瓣狹窄(心房心顫)信號的特征值,并將其輸入SVM中進行分類,分類結(jié)果如圖6、圖7所示.
結(jié)合圖6、圖7和表2可得,降噪之后的二尖瓣狹窄(心房心顫)信號可以更好地被分類.對于降噪二尖瓣狹窄(心房心顫)信號在SVM分類中其均方誤差比含噪二尖瓣狹窄(心房心顫)信號低0.030 75,平方相關(guān)系數(shù)高0.038 51.可得出結(jié)論,此算法可適用于解決醫(yī)學上心音信號的降噪問題.
圖6 含噪二尖瓣狹窄(心房心顫)心音與正常心音的分類結(jié)果Fig.6 Classification of noisy mitralstenosis (atrial fibrillation) heart sounds and normal heart sounds
圖7 降噪后二尖瓣狹窄(心房心顫)心音與正常心音的分類結(jié)果Fig.7 Classification of mitralstenosis (atrial fibrillation) heart sounds and normal heart sounds after noise reduction
表2 心音分類結(jié)果相關(guān)量Table 2 Heart sound classification correlation coefficient
本文在傳統(tǒng)的維納濾波算法上進行了優(yōu)化,提出了優(yōu)化的維納濾波算法.此算法首先將實際的二尖瓣心音信號進行了降噪,減少了噪聲的能量,再通過離散S變換的維納濾波算法降低噪聲中的虛假頻率,減少噪聲信號的殘留,增強了二尖瓣心音信號的降噪效果,此方法可有利于二尖瓣心音信號的分類,對于解決醫(yī)學上的心音降噪問題也將會有一定的用途.