本發(fā)明涉及心電信號(hào)的自動(dòng)檢測(cè)與分析技術(shù),具體的說(shuō)是一種心電信號(hào)自動(dòng)降噪方法。
背景技術(shù):
近年來(lái),心血管疾病已成為威脅人類生命和健康的頭號(hào)殺手。心血管疾病具有突發(fā)性,發(fā)病就在一瞬間。往往因?yàn)榘Y狀短暫,患者趕到醫(yī)院進(jìn)行心電采集時(shí),癥狀已經(jīng)消失,這時(shí)候的心電圖往往難以捕捉到有效的診斷依據(jù),不能反映患者的實(shí)際心臟健康狀態(tài),因?yàn)槿鄙偌膊“l(fā)病期間的心電數(shù)據(jù)導(dǎo)致患者無(wú)法進(jìn)行相應(yīng)的治療。因此,針對(duì)心血管疾病最好的辦法就是心血管患者住院進(jìn)行24小時(shí)的動(dòng)態(tài)心電監(jiān)測(cè)。在現(xiàn)代化的遠(yuǎn)程通信技術(shù)突飛猛進(jìn)的社會(huì)背景下,遠(yuǎn)程心電監(jiān)護(hù)儀無(wú)疑是最好的解決辦法。遠(yuǎn)程心電監(jiān)護(hù)就需要患者實(shí)時(shí)穿戴檢測(cè)設(shè)備,在互聯(lián)網(wǎng)的支持下,數(shù)據(jù)可以實(shí)時(shí)傳輸?shù)蕉c(diǎn)醫(yī)院。這其中最大的問(wèn)題是,穿戴的設(shè)備與醫(yī)院的心電圖機(jī)不同,數(shù)據(jù)是在患者進(jìn)行各種日程生活中采集的,與在醫(yī)院靜態(tài)采集的心電數(shù)據(jù)相比存在很大的干擾信號(hào),例如最常見(jiàn)的電極接觸噪聲(EM)、肌肉顫動(dòng)引起的肌電干擾(MA)、人體呼吸移動(dòng)等引起的基線漂移(BW)。這些在很大程度上影響了心電信號(hào)的正常形態(tài),而已有算法在降噪過(guò)程中容易丟失心電信號(hào)的某些重要特征,對(duì)醫(yī)生的診斷造成很大的偏差,誤診率提高。因此恢復(fù)心電信號(hào)的原有形態(tài)對(duì)疾病診斷有十分重要的意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種心電信號(hào)自動(dòng)降噪的方法,以解決現(xiàn)有算法在降噪過(guò)程中丟失心電信號(hào)重要特征的問(wèn)題。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:
一種心電信號(hào)的自動(dòng)降噪方法,其包括以下步驟:
a)獲取一段人體的心電信號(hào),先檢測(cè)所獲取的心電信號(hào)的R波波峰位置,然后進(jìn)行初步濾波以濾除低頻信號(hào),去除基線漂移;
b)從初步濾波后的心電信號(hào)中選擇若干個(gè)連續(xù)的心拍的心拍段做均值,即得平均模板;從每個(gè)心拍中所選擇的心拍段的長(zhǎng)度包含270個(gè)采樣點(diǎn),所述270個(gè)采樣點(diǎn)由R波波峰之前的89個(gè)采樣點(diǎn)、R波波峰處的1個(gè)采樣點(diǎn)及R波波峰之后的180個(gè)采樣點(diǎn)構(gòu)成;
c)用步驟b)所得到的平均模板替換步驟a)中所獲取的人體心電信號(hào)中每一個(gè)心拍相對(duì)應(yīng)的心拍段,得到指導(dǎo)信號(hào);
進(jìn)行替換時(shí),如果一個(gè)RR間期的長(zhǎng)度小于所述平均模板的長(zhǎng)度,會(huì)有部分采樣點(diǎn)重疊,此時(shí)將重疊的采樣點(diǎn)進(jìn)行均值處理;
d)在所述指導(dǎo)信號(hào)上依次設(shè)定若干窗口ω,然后在每一個(gè)窗口中,利用指導(dǎo)濾波模型將所述指導(dǎo)信號(hào)經(jīng)過(guò)線性變換得到濾波輸出:
其中1:對(duì)于在所述指導(dǎo)信號(hào)上依次設(shè)定的各窗口,(a,b)是在一個(gè)窗口中保持不變的一系列線性系數(shù),其值為一個(gè)窗口中各采樣點(diǎn)的濾波輸出與對(duì)應(yīng)的待濾波信號(hào)差值最小時(shí)所對(duì)應(yīng)的線性系數(shù)值;
其中2:Ii表示所述指導(dǎo)信號(hào)在所在窗口的第i個(gè)采樣點(diǎn)的值;qi表示所述指導(dǎo)信號(hào)在所在窗口的第i個(gè)采樣點(diǎn)的濾波輸出值;
所述待濾波信號(hào)即為步驟a)中所獲取的人體心電信號(hào);
e)對(duì)所有窗口ω計(jì)算完線性系數(shù)(a,b)后,將各窗口內(nèi)a、Ii和b分別代入指導(dǎo)濾波模型中求得qi的值作為最終結(jié)果,如果該過(guò)程中出現(xiàn)不同的窗口涉及同一個(gè)采樣點(diǎn)的情況時(shí),該采樣點(diǎn)的濾波輸出值根據(jù)其在不同窗口中的計(jì)算結(jié)果的平均值確定即可。
所述的心電信號(hào)的自動(dòng)降噪方法,步驟d)中,采用最小二乘法計(jì)算(a,b)的值。
本方法最大的優(yōu)點(diǎn)就是可以在濾波的過(guò)程中保持住心電信號(hào)的微弱特征,心電信號(hào)幅值特性十分微弱,這就決定了在去噪的過(guò)程中很容易丟失微弱的特征,指導(dǎo)濾波就很好的解決了這個(gè)問(wèn)題,我們可以在指導(dǎo)信號(hào)的指導(dǎo)下找回在濾波過(guò)程中丟失的特征,我們利用平均模板的方法可以在一定的程度上保留住心電信號(hào)大部分的幅值特性,然后通過(guò)替代心電信號(hào)主要部分來(lái)構(gòu)造出指導(dǎo)信號(hào),這樣得到的指導(dǎo)信號(hào)保留住了心電信號(hào)大部分的幅值特征,同時(shí)在進(jìn)行指導(dǎo)濾波的過(guò)程中可以根據(jù)原始的待濾波信號(hào)找回丟失的那些能量很小的微弱特征,例如P波和T波等。
附圖說(shuō)明
圖1是實(shí)施例1的步驟(1)所獲取的人體心電信號(hào)。
圖2是實(shí)施例1的步驟(5)所得到的指導(dǎo)信號(hào)。
圖3是實(shí)施例1的最終濾波輸出結(jié)果。
圖4是對(duì)比例1的濾波輸出結(jié)果。
圖5是對(duì)心電信號(hào)進(jìn)行巴特沃斯高通濾波器處理后選取到的極大值點(diǎn)。
圖6是優(yōu)化極大值點(diǎn)流程圖。
具體實(shí)施方式
下面通過(guò)實(shí)施例和對(duì)比例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步解釋和說(shuō)明。
實(shí)施例1
(1)獲取人體心電信號(hào):采集設(shè)備為北京蓬陽(yáng)豐業(yè)的MedSun18導(dǎo)聯(lián)Holter長(zhǎng)時(shí)間采集人體的心電信號(hào),其采樣輸出頻率為360Hz,采集心電數(shù)據(jù)以TXT的形式存儲(chǔ)。所采集的心電信號(hào)可以很容易的讀取到Matlab環(huán)境中進(jìn)行顯示,本實(shí)施例中截取的人體心電信號(hào)包含大概10個(gè)心拍,共3000個(gè)采樣點(diǎn),如圖1所示。
(2)對(duì)所采集的心電原始信號(hào)數(shù)據(jù)進(jìn)行濾波處理:利用巴特沃斯高通濾波器濾除基線漂移噪聲,阻帶的截止頻率為1Hz,阻帶衰減最小為30dB,通帶的衰減最大為15dB。
(3)對(duì)經(jīng)過(guò)巴特沃斯高通濾波器的心電信號(hào)進(jìn)行能量窗變換,并選取極大值點(diǎn):
(3-1)能量窗變換:按下式,將經(jīng)過(guò)巴特沃斯高通濾波器的心電信號(hào)p由時(shí)間域分析變換到能量域分析,得到心電信號(hào)能量曲線:
其中,En表示第n個(gè)采樣點(diǎn)的能量值;N為所選的窗口長(zhǎng)度,取值26;M為總的采樣點(diǎn)數(shù);pn表示所述利用巴特沃斯高通濾波器去噪后的心電信號(hào)p的第n個(gè)采樣點(diǎn);
(3-2)選取極大值點(diǎn):將所得到的心電信號(hào)能量曲線進(jìn)行硬閾值化處理,即:
其中,Th為所選取的閾值,取Th=0.3*median(En),
然后選擇經(jīng)過(guò)硬閾值化處理后的心電信號(hào)能量曲線的波峰位置作為極大值點(diǎn),如圖5;
(3-3)優(yōu)化極大值點(diǎn):按現(xiàn)有算法(可參見(jiàn)CN103156599A),如圖6所給出的流程圖,設(shè)定2個(gè)時(shí)間閾值t1和t2,且t1<t2當(dāng)任意兩個(gè)極大值點(diǎn)的時(shí)間間隔小于t1時(shí),就去掉這兩個(gè)極大值點(diǎn)之間幅值較小的那個(gè);當(dāng)任意兩個(gè)極大值點(diǎn)的時(shí)間間隔大于t2時(shí),就在這兩個(gè)極大值點(diǎn)之間尋找另一未被識(shí)別的極值點(diǎn);如兩個(gè)極大值點(diǎn)的時(shí)間間隔既大于t1,又小于t2,則該兩個(gè)極大值點(diǎn)均保留,如此最終得到的經(jīng)優(yōu)化的每個(gè)極大值點(diǎn)都對(duì)應(yīng)一個(gè)QRS波群。
圖6中,Et表示步驟(4-2)所得到的所有極大值點(diǎn)的時(shí)間間隔的平均值,t1=0.5×Et,t2=1.5×Et。
(3-4)根據(jù)步驟(3-3)中每個(gè)極大值點(diǎn)所在的時(shí)間點(diǎn),在步驟(1)所獲取的人體心電信號(hào)和步驟(2)中濾波后的心電信號(hào)上相應(yīng)的時(shí)間點(diǎn)左右各7個(gè)采樣點(diǎn)的范圍內(nèi)搜尋信號(hào)幅值最大的點(diǎn),作為檢測(cè)到的R波波峰。
(4)在得到R波波峰位置后構(gòu)建平均模板,該平均模板由同一個(gè)人的初步濾波后的心電信號(hào)中1000個(gè)連續(xù)心拍的心拍段取均值得到;
所截取的心拍段包含270個(gè)采樣點(diǎn),該270個(gè)采樣點(diǎn)是根據(jù)檢測(cè)到的R波波峰,由R波波峰所在采樣點(diǎn),R波波峰左邊(即其之前)的89個(gè)采樣點(diǎn)和R波波峰右邊(即其之后)的180個(gè)采樣點(diǎn)構(gòu)成。
(5)將上述得到的平均模板替換步驟(1)中所獲取的人體心電信號(hào)中每一個(gè)心拍中相應(yīng)的心拍段的位置,得到指導(dǎo)信號(hào),如圖2所示;
由于心電信號(hào)是一種周期性信號(hào),所以將上述得到的平均模板替換待濾波信號(hào)(即步驟(1)中所獲取的人體心電信號(hào)原始波形)的每個(gè)心電信號(hào)周期內(nèi)的相應(yīng)位置上的心拍段時(shí),會(huì)出現(xiàn)兩種情況:
①當(dāng)一個(gè)RR間期(即一個(gè)心電信號(hào)周期)的長(zhǎng)度小于上述得到的平均模板的長(zhǎng)度:由于平均模板的長(zhǎng)度大于一個(gè)心電信號(hào)的周期,這樣就會(huì)造成有部分采樣點(diǎn)會(huì)重疊,此時(shí)需將重疊的采樣點(diǎn)再進(jìn)行均值處理,從而得到與原始信號(hào)長(zhǎng)度相同的重構(gòu)信號(hào)。
②當(dāng)一個(gè)RR間期(即一個(gè)心電信號(hào)周期)的長(zhǎng)度大于或等于上述得到的平均模板的長(zhǎng)度:由于平均模板的長(zhǎng)度小于或等于一個(gè)心電信號(hào)的周期,所以可以正常的完成替換。
(6)利用指導(dǎo)信號(hào)對(duì)待濾波信號(hào)中的噪聲進(jìn)行濾除:
指導(dǎo)濾波的模型是由指導(dǎo)信號(hào)I到濾波輸出q的一個(gè)局部線性變換模型,本例中,設(shè)定窗口長(zhǎng)度為|ω|=401,所以對(duì)于這個(gè)指導(dǎo)信號(hào)I而言,第201個(gè)采樣點(diǎn)為第一個(gè)窗口ω1的中心點(diǎn),第202個(gè)采樣點(diǎn)為第二個(gè)窗口ω2的中心點(diǎn),依此類推,第j(j=201,202,…,3000)個(gè)采樣點(diǎn)為第(j-200)個(gè)窗口ωk(k=j(luò)-200)的中心點(diǎn),在設(shè)定的窗口ωk(k=1,2,3,…,j-200)中,qi由Ii經(jīng)過(guò)線性變換得到:
公式1:
公式1中,(ak,bk)是在窗口ωk中保持不變的線性系數(shù);Ii表示指導(dǎo)信號(hào)在所在窗口的第i個(gè)采樣點(diǎn)的幅值;qi表示指導(dǎo)信號(hào)在所在窗口的第i個(gè)采樣點(diǎn)的濾波輸出幅值。
為確定各窗口的線性系數(shù)(ak,bk)的值,需要求出公式1的一組使得qi與輸入信號(hào)pi(即待濾波信號(hào))相差最少的解,為此我們?cè)诖翱讦?sub>k中利用如下最小二乘法進(jìn)行計(jì)算:
公式2:
這里pk表示窗口ωk中的原始待濾波信號(hào)在相應(yīng)采樣點(diǎn)的幅值,ε是正則化系數(shù),防止ak變得過(guò)大,取值ε=0.22,通過(guò)線性回歸的方法得出公式2的解:
其中:μk與分別為在窗口ωk中的指導(dǎo)信號(hào)I的各采樣點(diǎn)的均值與方差,|ω|為ωk中的采樣點(diǎn)個(gè)數(shù),為在窗口ωk中的輸入信號(hào)pk的各采樣點(diǎn)的均值。
(7)在對(duì)指導(dǎo)信號(hào)中所有窗口ωk計(jì)算完(ak,bk)以后,對(duì)整個(gè)心電信號(hào)的所有局部窗口應(yīng)用公式1的線性模型,但是出現(xiàn)的問(wèn)題是所有包含采樣點(diǎn)i的窗口ωk都要牽涉到采樣點(diǎn)i,導(dǎo)致公式1中的qi在不同窗口中的計(jì)算結(jié)果不同,此時(shí)所采取的策略是把所有計(jì)算得到的qi取平均值作為最終結(jié)果,即:
公式3:
此處是在求qi的平均值,有多個(gè)窗口會(huì)包含采樣點(diǎn)i,不同的窗口里面的i對(duì)應(yīng)不同的系數(shù)(ak,bk),因此,我們求多個(gè)窗口中(ak,bk)的平均值,因?yàn)檫@些窗口ωk里面都含有采樣點(diǎn)i和系數(shù)(ak,bk),因此有k|i∈ωk,
其中
這里k∈ωi中,k表示所有包含采樣點(diǎn)i的窗口的個(gè)數(shù),其值正好等于窗口長(zhǎng)度401,ωi表示包含同一個(gè)采樣點(diǎn)i的窗口;表示所有包含同一個(gè)采樣點(diǎn)的窗口的系數(shù)的平均值,根據(jù)計(jì)算,包含采樣點(diǎn)i的窗口正好與設(shè)定窗口的長(zhǎng)度相等。
根據(jù)以上處理步驟得濾波結(jié)果,如圖3所示。
對(duì)比例1
同樣取實(shí)施例中所選取得心電信號(hào)原始波段,首先選擇db6作為基礎(chǔ)小波基,對(duì)該心電原始信號(hào)進(jìn)行8層小波分解,得到各個(gè)尺度上的小波系數(shù)這里i為層標(biāo)號(hào)。
為了保證去除噪聲的同時(shí)盡可能多的保留有用信號(hào),本研究采用具有尺度自適應(yīng)性的閾值法:
其中,Ti為設(shè)定的閾值,Ni為第i層系數(shù)的個(gè)數(shù),e是自然常數(shù),
采用軟閾值方法處理各個(gè)尺度上的小波系數(shù):
對(duì)閾值化處理后的小波系數(shù)進(jìn)行重構(gòu),得到濾波結(jié)果,如圖4所示。
對(duì)比例1詳細(xì)處理步驟可參照Reddy,G.U.,Muralidhar,M.,&Varadarajan,S.(2009).Ecg denoising using improved thresholding based on wavelet transforms.International Journal of Computer Science&Network Security,253-257.。
觀察原始心電信號(hào)可以看出,在心電信號(hào)發(fā)生T波倒置后,原始采集的心電圖會(huì)被噪聲嚴(yán)重干擾,導(dǎo)致T波倒置發(fā)生嚴(yán)重偏差。對(duì)比圖3與圖4可看出,本發(fā)明方法的輸出結(jié)果(圖3)很好的保持住了心電信號(hào)的細(xì)微特征,很明顯可以看出,T波倒置被完全的識(shí)別,同時(shí)去除大部分噪聲,恢復(fù)了心電信號(hào)原有的形態(tài)特征,本發(fā)明的方法根據(jù)指導(dǎo)信號(hào)提供信號(hào)的大體形態(tài),綜合輸入噪聲信號(hào)的細(xì)節(jié)特征,結(jié)合二者的特征,完美的恢復(fù)出T波和P波這類能量極其微弱的信號(hào)的形態(tài)特征,找回了極具醫(yī)學(xué)參考價(jià)值的信息,為醫(yī)生的診斷提供更好的幫助。采用現(xiàn)有普通濾波方法得輸出結(jié)果(圖4)可以看出,利用小波去除心電信號(hào)的噪聲,導(dǎo)致信號(hào)偏離基線的基線漂移噪聲基本濾除,使得信號(hào)回到基線附近,但是仍有大量的噪聲干擾波形,心電信號(hào)典型的P波、QRS波群、以及T波都被噪聲嚴(yán)重影響導(dǎo)致無(wú)法看出原有正常的形態(tài),這也就是說(shuō)大量的有用心電信息被丟失,或者說(shuō)是沒(méi)有被恢復(fù),這樣的濾波結(jié)果沒(méi)有達(dá)到很理想的去除噪聲的目的。