本發(fā)明屬于生物信號處理的研究領域,具體涉及一種心音信號的自適應去噪方法,是一種心音信號增強的技術(shù)手段。
背景技術(shù):
心音是人體一種重要的生理信號,承載著與人體健康狀況有關(guān)的有價值的診斷信息。相關(guān)的專業(yè)人員可通過聽診的方式從心音中獲取這些信息,并依據(jù)這些信息進行相應的決策或診斷。然而,無論是使用傳統(tǒng)的心音聽診器還是使用現(xiàn)代的數(shù)字心音傳感器或數(shù)字聽診器時,心音信號中都存在著大量干擾噪聲。這些來源復雜的噪聲損害了心音中有重要價值的信息,嚴重影響了心音信號的可用性,從而會導致使用這些信息的專業(yè)人員做出錯誤的決策或診斷。因而,需要對心音信息進行有效的降噪聲處理。
為實現(xiàn)心音去噪的目的,小波變換是最常用的方法之一。小波變換需要預定義適當?shù)幕瘮?shù),使用“db10”、“db5”或“bior5.5”等基函數(shù)的小波變換是目前用于心音去噪的主要方法。然而,由于年齡、性別和身體狀態(tài)等差別,心音這種弱信號生理信號具有不同的特征形態(tài),小波變換中預定義的基函數(shù)很難很好地匹配心音的多樣性。因此,這需要有更為適合心音信號特點的去噪方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于基于心音信號一階差分序列的分組稀疏特征,提供一種基于分組稀疏性的自適應心音信號去噪方法。
本發(fā)明基于國際公開的心音數(shù)據(jù)庫的去噪實驗表明,本發(fā)明中所提出的去噪方法遠好于傳統(tǒng)的小波變換去噪方法。
為了實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案如下:
步驟1:初始化參數(shù)
所提出算法的相關(guān)參數(shù)及輸入量設置如下:
分組大小參數(shù)K:K=20
其中K表示分組的大??;
伽馬分布(Gamma)先驗的形狀參數(shù):α=1,
Gamma先驗的尺度參數(shù):β=50
歸整參數(shù):θ=0.8
算法中降噪信號的初始投影為x(0)=y(tǒng),其中y是長度為N的含噪聲心音信號;
步驟2:更新正則化參數(shù)
在算法的第k次迭代過程中,正則參數(shù)λ(k)依下式進行更新
式(1)中的變量說明:δ2是預估的噪聲方差;α,β,θ是在步驟1中初始化的參數(shù);N是信號的長度;x(k)是算法在第k次迭代過程的投影;D是差分矩陣,其定義為
函數(shù)是差分序列Dx(k)的分組稀疏性度量函數(shù),其定義為:
其中[Dx(k)]n,K是差分序列Dx(k)的第n個大小為K的分組,| ||2表示向量的l2范數(shù);
步驟3:計算近似投影
依據(jù)在步驟2中所更新的正則參數(shù)λ(k),進而計算降噪心音信號的新的投影x(k+1),其計算過程由以下步驟構(gòu)成,相關(guān)變量與符號的含義與步驟2中相同;
步驟3.1:
計算對角陣Λ(t),其對角元素按下式進行計算:
其中上角標-1表示求逆運算;
步驟3.2:
計算中間變換矩陣F
其中I表示單位矩陣,上角標表示T矩陣轉(zhuǎn)置運算;
步驟3.3:
計算降噪心音信號新的投影
x(t+1)=Fy (6)
步驟4:降噪算法的停止條件
降噪算法的停止迭代為
||y-x(k+1)||2≥Nδ2 (7)
否則算法轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行;
當算法依據(jù)條件(7)停止時,算法輸出的x(k+1)降噪后就是含噪聲心音y經(jīng)過降噪處理后的信號。
本發(fā)明的有益效果:本發(fā)明與目前廣泛用于心音信號降噪的小波變換方法相比,所提出的降噪方法具有更好的降噪聲效果和更低的計算代價。由于不需要任何預定義基函數(shù),減少了算法所需的存儲空間,而且算法易于實現(xiàn)。因此,本發(fā)明的技術(shù)方案具有易于實現(xiàn)、可靠性好的特點,因此適合推廣使用。
附圖說明
圖1為采用現(xiàn)有的db10、db5、bior5.5三種小波變換降噪方法與本發(fā)明中所述的降噪方法,在輸入含噪心音為-5dB時,對美國馬里蘭大學公開發(fā)布的心音數(shù)據(jù)庫中的心音記錄進行降噪處理時的性能表現(xiàn)及其平均性能表現(xiàn)圖;
圖2為采用現(xiàn)有的db10、db5、bior5.5三種小波變換降噪方法與本發(fā)明中所述的降噪方法,在輸入含噪心音為5dB時,對美國馬里蘭大學公開發(fā)布的心音數(shù)據(jù)庫中的心音記錄進行降噪處理時的性能表現(xiàn)及其平均性能表現(xiàn)圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步闡述。
步驟1:初始化參數(shù)
所提出算法的相關(guān)參數(shù)及輸入量設置如下:
分組大小參數(shù)K:K=20
其中K表示分組的大?。?/p>
伽馬分布(Gamma)先驗的形狀參數(shù):α=1,
Gamma先驗的尺度參數(shù):β=50
歸整參數(shù):θ=0.8
算法中降噪信號的初始投影為x(0)=y(tǒng),其中y是長度為N的含噪聲心音信號;
步驟2:更新正則化參數(shù)
在算法的第k次迭代過程中,正則參數(shù)λ(k)依下式進行更新
式(1)中的變量說明:δ2是預估的噪聲方差;α,β,θ是在步驟1中初始化的參數(shù);N是信號的長度;x(k)是算法在第k次迭代過程的投影;D是差分矩陣,其定義為
函數(shù)是差分序列Dx(k)的分組稀疏性度量函數(shù),其定義為:
其中[Dx(k)]n,K是差分序列Dx(k)的第n個大小為K的分組,| ||2表示向量的l2范數(shù);
步驟3:計算近似投影
依據(jù)在步驟2中所更新的正則參數(shù)λ(k),進而計算降噪心音信號的新的投影x(k+1),其計算過程由以下步驟構(gòu)成,相關(guān)變量與符號的含義與步驟2中相同;
步驟3.1:
計算對角陣Λ(t),其對角元素按下式進行計算:
其中上角標-1表示求逆運算;
步驟3.2:
計算中間變換矩陣F
其中I表示單位矩陣,上角標表示T矩陣轉(zhuǎn)置運算;
步驟3.3:
計算降噪心音信號新的投影
x(t+1)=Fy (6)
步驟4:降噪算法的停止條件
降噪算法的停止迭代為
||y-x(k+1)||2≥Nδ2 (7)
否則算法轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行;
當算法依據(jù)條件(7)停止時,算法輸出的x(k+1)降噪后就是含噪聲心音y經(jīng)過降噪處理后的信號。
為驗證本發(fā)明中所提出的降噪方法的有效性,我們分別采用db10、db5以及bior5.5三種常用的小波變換降噪方法和本發(fā)明中所述的降噪方法,對美國馬里蘭大學公開發(fā)布的心音數(shù)據(jù)庫中的心音進行降噪處理。此數(shù)據(jù)庫中共含有23個心音記錄,分別M1、M2、…、M23表示,在這些心音記錄中包含多種類型的心音。db10、db5、bior5.5三種小波變換降噪方法和本發(fā)明中所述的降噪方法,分別在輸入信噪比為-5dB和5dB的噪聲水平下,對每個心音記錄進行降噪的性能表現(xiàn)及其在這些心音記錄上的平均性能表現(xiàn),分別見圖1和圖2所示。從圖中可以看出,本發(fā)明所提出的降噪方法的性能表現(xiàn)都遠好于小波變換方法。此實驗充分證實了所提出方法的有效性。