本發明涉及生物醫學信號噪聲處理技術領域,尤其涉及小波分析結合窗口移動平均濾波去除心電信號基線漂移的方法。
背景技術:
心電信號(Electrocardiogram,ECG)是人類最早研究并應用于臨床醫學的生物電信號之一,它反映了心臟在興奮產生、傳導和恢復過程中的電變化,是心臟電活動的一種客觀表示,在不同層面上反映了心臟的工作狀態,對于心臟疾病的臨床診斷和治療具有非常重要的參考價值。心電信號是一種微弱的生物電信號,其幅度為毫伏(mV)級,很容易受到外界環境的影響。在對心電記錄的過程中,被記錄者身體的活動、呼吸、各種通訊設備等都會對記錄過程產生較大的干擾,這些干擾對于信號檢測的正確性有很大的影響。
心電信號主要受到以下三種類型噪聲的干擾:
1工頻噪聲:工頻噪聲是由帶電系統產生的一種干擾,呈現的形態類似在純凈心電信號上出現正弦波以及類似正弦波的波形。這種類型的噪聲頻率一般為50Hz或60Hz,且其幅值不高,為該心電信號波形最高幅度的50%左右。
2肌電噪聲:肌電噪聲是由于肌肉緊張以及人身體的移動造成的,該類噪聲的頻率為0-10kHz,與均值高斯噪聲相似,所以一般并不是很明顯,這類噪聲一般表現比較微弱,可以把肌電干擾看成是瞬間產生的零均值帶限噪聲。
3基線漂移噪聲:ECG中的基線漂移干擾在心電信號處理中是常見的情況,由被記錄者呼吸時引起的,沒有辦法避免,基線漂移的噪聲幅度比較低,基線漂移頻率在0.05Hz到2Hz之間,同時該曲線比較平緩,跟正弦波形相似,不易去除。
去除以上三種類型的噪聲主要方法有:去除工頻噪聲的方法比較多,主要包括:平滑濾波、IIR濾波、FIR濾波、自適應濾波等,比較成熟的做法是利用陷波濾波。每種方法均有其各自的優劣點,工程應用中根據實際的應用需求選擇合適的方法;去除肌電噪聲,對于肌電噪聲一般可以采取高通濾波結合硬件上采取上限頻率為100Hz的低通濾波器進行消除;去除基線噪聲,一般有傳統的高通濾波和小波變換等方法,由于基線偏移噪聲的頻率比較低(一般為0-0.05Hz),設計高通濾波器時所需要的濾波階數特別大,計算量大,占用計算資源多;同樣,在利用小波分析的方法進行時,由于其基于卷積運算,在去除基線漂移時要將信號分解到十層之后(特別是信號采樣率大的情況下),計算量大,對計算資源要求高,不利于實時處理。
技術實現要素:
本發明所要解決的技術問題是提供一種去除心電信號基線漂移的方法,用于克服現有技術存在的技術問題。
本發明解決上述技術問題所采取的技術方案如下:
一種去除心電信號基線漂移的方法,包括:
步驟1)確定小波分解層數步驟,包括:通過信號的采樣率與心電信號的有效頻帶,確定出小波分解的層數;
步驟2)進行小波分解步驟,包括:根據步驟1中確定的小波分解層數,采樣用小波分析對心電信號進行J層分解,每層的小波高頻系數分別為:CD1,CD2,……,CDJ,低頻系數為:CAJ;
步驟3)小波系數處理及信號重構步驟,包括:分別將步驟2中的高頻系數與低頻系數進行處理,根據處理后的小波系數進行小波重構;
步驟4)移動平均濾波步驟,包括:對步驟3中重構的信號進行移動平均濾波,得到心電信號的基線漂移值;
步驟5)去除基線漂移步驟,包括:通過原始心電信號減去步驟四中的基線偏移值,即得到了去除基線漂移后的信號。
優選的是,步驟1)中,確定小波分解層數時,按如下式子進行:
J=log2(Fs/f)
其中:J為小波分解層數,Fs為心電信號的采樣率,f為心電信號的有效頻帶最大值。
優選的是,步驟2和步驟3中,進行小波分解與重構采用的小波函數均為Haar函數。
優選的是,步驟3中,對將步驟2中的高頻系數與低頻系數進行處理,包括:
將小波各層高頻濾波系數全置0,即:CA1’=CA2’=…...=CAJ’=0;
低頻系數保持不變,CAJ’=CAJ。
優選的是,步驟3)中,信號重構步驟中,采取Mallat算法。
優選的是,移動平均濾波步驟中,具體包括:
其中x[n]為輸入信號,y[n]為輸出信號,n為正整數,取移動平均算法的M值為500。
本發明采取了上述方案以后,確定了小波變換的層數,不用將小波分解至十幾層,極大的降低了計算復雜度,有針對性的處理感興趣頻帶的信號,減小了其他頻帶噪聲的影響,提高了信號的質量。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
附圖說明
下面結合附圖對本發明進行詳細的描述,以使得本發明的上述優點更加明確。其中,
圖1是本發明去除心電信號基線漂移的方法中PTB數據庫中第s0016lrem號數據第二導聯信號的示意圖;
圖2是本發明去除心電信號基線漂移的方法中小波分解計算各層系數的示意圖;
圖3是本發明去除心電信號基線漂移的方法中小波重構及移動平均濾波的示意圖;
圖4是本發明去除心電信號基線漂移的方法中重構后的信號的示意圖;
圖5本發明去除心電信號基線漂移的方法中基線漂移信號的示意圖;
圖6本發明去除心電信號基線漂移的方法中去除基線漂移后信號的示意圖;
圖7是本發明去除心電信號基線漂移的方法中患者I心電信號及去基線漂移后信號的示意圖;
圖8是本發明去除心電信號基線漂移的方法中患者II心電信號及去基線漂移后信號的示意圖;
圖9是本發明去除心電信號基線漂移的方法中患者III心電信號及去基線漂移后信號的示意圖。
具體實施方式
以下將結合附圖及實施例來詳細說明本發明的實施方式,借此對本發明如何應用技術手段來解決技術問題,并達成技術效果的實現過程能充分理解并據以實施。需要說明的是,只要不構成沖突,本發明中的各個實施例以及各實施例中的各個特征可以相互結合,所形成的技術方案均在本發明的保護范圍之內。
另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
具體來說,本發明針對在心電信號基線漂移去噪中存在的問題,提供了一種新的解決方法:通過一種小波變換與移動平均濾波結合的方法,去除心電信號的基線漂移噪聲。具體步驟如下:
一種去除心電信號基線漂移的方法,包括:
步驟1)確定小波分解層數步驟,包括:通過信號的采樣率與心電信號的有效頻帶,確定出小波分解的層數;
步驟2)進行小波分解步驟,包括:根據步驟1中確定的小波分解層數,采樣用小波分析對心電信號進行J層分解,每層的小波高頻系數分別為:CD1,CD2,……,CDJ,低頻系數為:CAJ;
步驟3)小波系數處理及信號重構步驟,包括:分別將步驟2中的高頻系數與低頻系數進行處理,根據處理后的小波系數進行小波重構;
步驟4)移動平均濾波步驟,包括:對步驟3中重構的信號進行移動平均濾波,得到心電信號的基線漂移值;
步驟5)去除基線漂移步驟,包括:通過原始心電信號減去步驟四中的基線偏移值,即得到了去除基線漂移后的信號。
本發明采取了上述方案以后,確定了小波變換的層數,不用將小波分解至十幾層,極大的降低了計算復雜度,有針對性的處理感興趣頻帶的信號,減小了其他頻帶噪聲的影響,提高了信號的質量。
其中,更進一步的實施例中,優選的是,步驟1)中,確定小波分解層數時,按如下式子進行:
J=log2(Fs/f)
其中:J為小波分解層數,Fs為心電信號的采樣率,f為心電信號的有效頻帶最大值。
優選的是,步驟2和步驟3中,進行小波分解與重構采用的小波函數均為Haar函數。
優選的是,步驟3中,對將步驟2中的高頻系數與低頻系數進行處理,包括:
將小波各層高頻濾波系數全置0,即:CA1’=CA2’=…...=CAJ’=0;
低頻系數保持不變,CAJ’=CAJ。
優選的是,步驟3)中,信號重構步驟中,采取Mallat算法。
優選的是,移動平均濾波步驟中,具體包括:
其中x[n]為輸入信號,y[n]為輸出信號,n為正整數,取移動平均算法的M值為500。
其中,下面結合附圖對本發明的具體實施作進一步的詳細說明。
本發明選取了德國國家計量署心電數據庫(PTB)的數據(數據號為s0016lrem,第二導聯)作為實驗數據,信號采樣率為1000Hz,采樣時間10s,如圖1所示。本方法的實驗步驟如下:
步驟1:確定小波分解層數。通過信號的采樣率與心電信號的有效頻帶,確定出小波分解的層數:
J=log2(Fs/f)
其中:J為小波分解層數,Fs為心電信號的采樣率,f為心電信號的有效頻帶最大值。如:本發明中研究的心電信號采樣率為1000Hz,心電信號的有效頻帶為0--40Hz,根據式(1)可確定小波分解層應為4層。第四層小波低頻系數中包含的頻帶為0--31.125Hz,包含了大部分有用的心電信號;
步驟2:進行小波分解。其次根據本發明中所研究信號的采樣率1000Hz,采用小波分析對心電信號進行4層分解,為了提高計算效率,在信號的小波分解與重構中選取的基小波為Haar小波。每層的小波高頻系數分別為:CD1,CD2,CD3,CD4,低頻系數為:CA4,分解過程見圖2;
步驟3:小波系數處理及信號重構。將小波高頻濾波系數均置0,即:CA1’=CA2’=CA3’=CA4’=0。保留低頻系數,CA4’=CA4。通過Mallat算根據處理過得小波系數進行小波重構。其中,小波重構是小波分解的逆過程,信號重構流程如圖3所示,重構后信號如圖4所示,圖3中信號濾除了高頻噪聲,保留大部分的心電信號信息以及低頻噪聲,該低頻噪聲主要表現為心電信號的基線漂移。
步驟4:移動平均濾波。移動平均濾波的方法數字信號處理中最常用的濾波方法之一,具有實現簡單,計算量小,效果優越等優點。設定輸入信號為x[n],輸出信號為y[n],移動平均濾波算法可表示為:
在本發明中根據信號的采樣率,取移動平均算法的M值為500。保證運算效率的前提下,通過實驗發現,M值取400—600時,去基線漂移效果最佳。對步驟3中的重構信號進行移動平均濾波,得到心電信號的基線漂移部分。
步驟5:去除基線漂移。通過原始心電信號減去步驟四中的基線偏移,即得到了去除基線漂移后的信號,如圖5所示。
最后使用含有基線偏移的實際數據對本方法進行驗證。圖7--9中的原始數據為Zoncare公司生產的IMAC1800心電圖機所采集的具有明顯基線漂移的患者I、II、III的心電信號,采樣率為1000Hz,采樣時間9s,通過—-圖7-9可以看出:本方法去基線漂移效果良好,信號失真度低。
本發明首先根據心電信號采樣率結合心電信號的頻帶范圍確定層數小波分解層數,對心電信號進行J次分解,每層的小波高頻系數分別為:CD1,CD2,…,CDJ,低頻系數為:CAJ;將每層的小波高頻系數CD1,CD2,…,CDJ置0,保留低頻系數CAJ,然后進行小波重構,將進行小波重構后得到的信號經過移動平均濾波器,得到心電信號的基線漂移部分,最后通過原始心電信號減去基線偏移,即得到了去除基線漂移后的信號。
本算法的顯著效果是:確定了小波變換的層數,不用將小波分解至十幾層,極大的降低了計算復雜度,有針對性的處理感興趣頻帶的信號,減小了其他頻帶噪聲的影響,提高了信號的質量;此外,在進行信號的小波分解與重構過程中選取的小波基函數為Haar小波函數,提高了運算效率。對小波分解后各層系數的處理,明顯的提高了算法效率。進行基線漂移線的提取時,采用了移動平均濾波器,利用其實現簡單,計算量小,效果優越等優點。使得本方法適用于實時處理。最后采用德國心電數據(PTB)以及實際心電數據對本方法去基線漂移性能進行了驗證,結果表明本方法去基線漂移效果好,信號失真低。
需要說明的是,對于上述方法實施例而言,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請并不受所描述的動作順序的限制,因為依據本申請,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本申請所必須的。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。
而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
最后應說明的是:以上所述僅為本發明的優選實施例而已,并不用于限制本發明,盡管參照前述實施例對本發明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。