吳云飛 李海霞
(宿遷學(xué)院信息工程學(xué)院 宿遷 223800)
心音是心臟節(jié)律的外在表現(xiàn),醫(yī)學(xué)上可以通過監(jiān)聽心音實(shí)現(xiàn)對(duì)心臟健康狀況的分析。每一心動(dòng)周期可產(chǎn)生四個(gè)心音,在正常情況下,心音一般只包含第一心音(S1)和第二心音(S2),除S1、S2之外的心音稱為額外心音;而當(dāng)心瓣膜發(fā)生病變時(shí),瓣膜會(huì)出現(xiàn)異常的振動(dòng)及血流的改變,從而產(chǎn)生異常的心音,稱心雜音。心雜音可與正常心音分開或相連續(xù),亦可完全覆蓋正常心音,因此在心臟病診斷中占有極其重要的地位[1]。
端點(diǎn)檢測(cè)技術(shù)常用于語(yǔ)音信號(hào)的分析與識(shí)別,噪聲環(huán)境下的語(yǔ)音端點(diǎn)檢測(cè)一直是音頻信號(hào)分析的熱點(diǎn)[2]。由于心音信號(hào)中心雜音成分的存在,使用濾噪或高門限的端點(diǎn)檢測(cè)會(huì)導(dǎo)致游離于心音外的雜音被當(dāng)作噪聲忽視,而使用低門限的端點(diǎn)檢測(cè)則會(huì)增加誤檢率。
魯遠(yuǎn)耀等提出了利用小波閾值去噪實(shí)現(xiàn)強(qiáng)噪下的端點(diǎn)檢測(cè)技術(shù)[3],但去噪的同時(shí)會(huì)造成心雜音成分的丟失,不適用于心音領(lǐng)域。路青起等提出了雙門限的方法[4]對(duì)聲紋進(jìn)行分級(jí),但過于依賴門限的手動(dòng)設(shè)置,同一門限標(biāo)準(zhǔn)難以適用在不同類別的心音中。徐大為等利用有限狀態(tài)自動(dòng)機(jī)[5],避免了單一端點(diǎn)檢測(cè)算法的缺陷,但心音和心雜音往往連續(xù)出現(xiàn),算法要求對(duì)心音的狀態(tài)設(shè)定相對(duì)復(fù)雜。
綜上,目前的端點(diǎn)檢測(cè)技術(shù),已經(jīng)不能適用于需要利用心雜音進(jìn)行診斷的情況。因此,本文提出了一種能夠有效區(qū)分心音和心雜音的心音信號(hào)的端點(diǎn)檢測(cè)方法。
在端點(diǎn)檢測(cè)算法中,頻域參數(shù)的抗噪性一般優(yōu)于時(shí)域參數(shù),但當(dāng)噪聲與語(yǔ)音信號(hào)具有類似的變換域特征時(shí)會(huì)使方法失效。有效的端點(diǎn)檢測(cè)算法必須具有判決準(zhǔn)則能自適應(yīng)不同的語(yǔ)音信號(hào)、在噪聲情況下對(duì)端點(diǎn)判決的正確率高等特點(diǎn)[6]。所以本文結(jié)合頻域的自適應(yīng)子帶譜熵算法和時(shí)域下的短時(shí)平均幅度算法。在頻域設(shè)置具備自適應(yīng)性的高門限判決條件,在時(shí)域設(shè)置固定的低門限判決,實(shí)現(xiàn)對(duì)心音成分和獨(dú)立于心音外的心雜音成分的檢測(cè)。
信息熵是為解決對(duì)信息的量化度量問題而提出的參數(shù),Jia-lin Shen等提出了基于譜熵的端點(diǎn)檢測(cè)算法,并表明譜熵算法的性能明顯優(yōu)于短時(shí)能量等時(shí)域方法[7]。
下式是信號(hào)經(jīng)過分幀及傅里葉變換后的譜熵計(jì)算公式:
其中N是幀長(zhǎng),Pk為頻域分量k的概率密度。
譜熵只依賴于功率譜能量的變化,而不依賴譜的能量,具有一定的魯棒性。但在信號(hào)存在噪聲或雜音的情況下,譜熵算法在單個(gè)功率點(diǎn)上的幅度易受到噪聲影響而導(dǎo)致端點(diǎn)檢測(cè)的性能明顯下降。因此,Bing-Fei Wu[8]等提出的自適應(yīng)子帶譜熵算法,把一幀分成若干個(gè)子帶,利用歸一化最小帶能量參數(shù)(NMinBE)[9]自適應(yīng)的選擇子帶,確定頻帶的數(shù)量。
E(l,m)是第m幀的第l子帶的功率譜能量,則歸一化最小帶能量為
則最終的自適應(yīng)子帶譜熵公式如下:
其中的W(m,l)是m及(m±1)三幀的方差,在公式中做加權(quán)因子,但在實(shí)際應(yīng)用中,加權(quán)后的性能并不優(yōu)于加權(quán)前,故在本文中將W(m,l)設(shè)為1。
在心音中,病理性的雜音是心音分析中的重要部分,需要選取合適的處理方法,對(duì)除心音外的心雜音成分進(jìn)行標(biāo)記。
短時(shí)平均幅值在背景噪聲增加或者變化的情況下,它的漏檢和誤檢率會(huì)比較高[10],而其對(duì)幅度的閾值難以設(shè)定,自適應(yīng)性較差[11],在低信噪比的情況下不能有效地進(jìn)行語(yǔ)音端點(diǎn)檢測(cè)。但本文利用短時(shí)平均幅值,對(duì)其設(shè)定一個(gè)較低門限閾值,使其能夠?qū)λ行囊粲行С煞值臋z測(cè),降低了其可能出現(xiàn)的漏檢率,且檢測(cè)方法簡(jiǎn)單,容易實(shí)現(xiàn)。
平均幅值M計(jì)算公式如下,其中n是幀長(zhǎng)。
由于心音信號(hào)幅值小,變化多,在對(duì)心音信號(hào)進(jìn)行分析前,需進(jìn)行預(yù)處理。首先使用歸一化來歸納統(tǒng)一樣本,使其幅值在(-1,1)之間,保證設(shè)定閾值的可靠性。再通過預(yù)加重來提升信號(hào)的高頻部分,使信號(hào)的頻譜變得平滑,保持在低頻到高頻的整個(gè)頻帶中,能用同樣的信噪比求頻譜[12]。最后利用海明窗對(duì)信號(hào)分幀,改善截?cái)鄬?dǎo)致的頻率泄露。
圖1和圖2分別是對(duì)一例正常心音的未加重和加重的情況下譜熵(SE)和子帶譜熵(ABSE)曲線。
對(duì)比圖1(b)和圖2(b)可以看出加重處理后SE的性能得到了明顯改善,基本實(shí)現(xiàn)了端點(diǎn)檢測(cè)的功能,證明了加重處理的必要性。
圖1 未加重正常心音的SE與ABSE曲線
圖2(b)中加重后的SE性能與圖1(c)中未經(jīng)加重處理后求得的ABSE近似。而在圖2(c)中曲線平滑,端點(diǎn)明確,證明了經(jīng)加重的ABSE使端點(diǎn)檢測(cè)性能達(dá)到最優(yōu)。
圖2 加重正常心音的SE與ABSE曲線
圖3和圖4為一例主動(dòng)脈關(guān)閉不全的異常心音未加重和加重的情況下的SE和ABSE曲線。
由圖3(a)可以看出,在主動(dòng)脈關(guān)閉不全的心音信號(hào)中存在大量心雜音,心音成分S1、S2近乎淹沒在雜音中,但仍然存在。
圖3 未加重異常心音的SE與ABSE曲線
圖4 加重異常心音的SE與ABSE曲線
對(duì)比圖2(b)和圖4(b),可以看出,SE在心雜音的情況下即使經(jīng)過加重仍然失效,證明了SE難以適用于復(fù)雜的心音端點(diǎn)檢測(cè)。
對(duì)比圖 4(c)與圖 3(b)、圖3(c)、圖 4(b),未經(jīng)加重處理SE與ABSE以及加重處理后的SE均失效;而加重處理后ABSE曲線較為準(zhǔn)確地反應(yīng)了信號(hào)的音區(qū),其閾值線也較好地將心音成分和其他雜音分隔,表現(xiàn)了算法的抗噪性和自適應(yīng)性,能夠用于較為復(fù)雜的異常心音的端點(diǎn)檢測(cè)。
圖5(a)是一例二尖瓣狹窄類型的心音,圖5(b)是對(duì)其進(jìn)行自適應(yīng)子帶譜熵的端點(diǎn)檢測(cè),圖5(c)是對(duì)其進(jìn)行短時(shí)平均幅度的端點(diǎn)檢測(cè)。當(dāng)利用短時(shí)平均幅度檢測(cè)到的有效音覆蓋ABSE的有效音,且端點(diǎn)距離較近時(shí),將其視為心音,其余部分視為心雜音。結(jié)合兩種算法得到最終端點(diǎn)檢測(cè)結(jié)果如圖6,其中A、D部分為心音段,B、C部分為心雜音段。
圖5 二尖瓣狹窄類型心音的頻域與時(shí)域分析
圖6 二尖瓣狹窄類型心音的端點(diǎn)檢測(cè)
為驗(yàn)證方法的有效性和適用性,本文又分別對(duì)一例主動(dòng)脈關(guān)閉不全(圖7和圖8)和動(dòng)脈導(dǎo)管未閉的異常心音(圖9和圖10)進(jìn)行了端點(diǎn)檢測(cè)。
圖7(c)的檢測(cè)結(jié)果及心音有效成分對(duì)應(yīng)圖8中的A部分。B、C部分是心音成分;在A部分內(nèi)除B、C外都為心雜音成分。圖10中B部分心音成分,C和除B外的A部分為心雜音成分。
圖7 主動(dòng)脈關(guān)閉不全心音的頻域與時(shí)域分析
圖8 主動(dòng)脈關(guān)閉不全心音的端點(diǎn)檢測(cè)
圖9 動(dòng)脈導(dǎo)管未閉心音的頻域與時(shí)域分析
圖10 動(dòng)脈導(dǎo)管未閉心音的端點(diǎn)檢測(cè)
本文結(jié)合了頻域下的自適應(yīng)子帶譜熵和時(shí)域下的短時(shí)平均幅值,實(shí)現(xiàn)了對(duì)心音的端點(diǎn)檢測(cè),利用自適應(yīng)子帶譜熵的高門限減少了一般端點(diǎn)檢測(cè)在心雜音情況下可能的誤檢,還通過短時(shí)平均幅度算法檢測(cè)出心音的全部有效成分,避免了對(duì)心雜音的漏檢。通過對(duì)三例異常心音的端點(diǎn)檢測(cè),證明該算法具有自適應(yīng)性,能夠在多種類型的復(fù)雜心音條件下進(jìn)行有效的檢測(cè),可以用于心音信號(hào)進(jìn)一步的分析和識(shí)別。但算法對(duì)于覆蓋在心音上的心雜音成分只能對(duì)其位置進(jìn)行標(biāo)記,還無法做到正確辨識(shí),這將是下一步工作的重點(diǎn)。