心电信号去噪(part3)--数学形态学
本系列上一篇(中值濾波器)指路:https://blog.csdn.net/m0_37422217/article/details/90739660
注:這里是以小型手持心電圖機(jī)為研究對象的(單導(dǎo)聯(lián))
上一篇中我們說到中值濾波器可以較好的去除基線漂移的噪音,此外數(shù)學(xué)形態(tài)學(xué)也可以很好的去除基線漂移,并且數(shù)學(xué)形態(tài)法也可以去除其他類型的噪音。
數(shù)學(xué)形態(tài)法原理
數(shù)學(xué)形態(tài)學(xué)是一門建立在嚴(yán)格數(shù)學(xué)理論基礎(chǔ)上的學(xué)科,它提供了一種有效的非線性信號處理方法,可以很好地保持信號的幾何信息。數(shù)學(xué)形態(tài)學(xué)最基本的概念是結(jié)構(gòu)元素,它本身具有一定的形態(tài)(如點(diǎn)、線段和圓等),相當(dāng)于一個`探針',
在圖形中不斷地移動結(jié)構(gòu)元素,便可考察出圖形各部分間的關(guān)系,類似于人的注意焦點(diǎn)(focus of attention,FOA)視覺特點(diǎn),結(jié)構(gòu)元素可直接攜帶圖形知識(形態(tài)、大小等)。用不同的結(jié)構(gòu)元素來處理一維信號可以得出不同的結(jié)果.[1]
腐蝕和膨脹是數(shù)學(xué)形態(tài)學(xué)中最基本的運(yùn)算,其定義如下:
設(shè)信號序列?f?為定義在?F={0,1,…,N-1}上的序列函數(shù),結(jié)構(gòu)元素?k?為定義在?K={0,1,…,M-1}上的函數(shù),其中?N>M,那么結(jié)構(gòu)元素?k?對信號?f?的腐蝕運(yùn)算可以定義為:
?
?其中?m=0,1,…,N-M。
結(jié)構(gòu)元素?k?對信號?f?的膨脹運(yùn)算可以定義為:
其中?m=M-1,M-2,…,N-1。
信號?f?被膨脹的結(jié)果就是把結(jié)構(gòu)元素?k?平移后使集合?K?與集合?F?交集非空點(diǎn)構(gòu)成的集合,其作用效果是集合?F?呈現(xiàn)出的圖像擴(kuò)大了。而腐蝕的結(jié)果就是把結(jié)構(gòu)元素?k?平移后,使集合?K?包含于集合?F?交集所有點(diǎn)構(gòu)成的集合,其作用效果是使集合?F?呈現(xiàn)出的圖像縮小。
膨脹和腐蝕運(yùn)算還可以組成開(opening,)、閉(closing,?)、擊中、薄化、厚化等幾種運(yùn)算方式。其中開(opening,)、閉(closing,?)的定義為:
數(shù)學(xué)形態(tài)學(xué)理論認(rèn)為,開運(yùn)算和閉運(yùn)算分別是在信號的下方和上方移動結(jié)構(gòu)元素。開運(yùn)算可以削除信號“波峰”,具有收縮性,消除信號孤立點(diǎn),抑制正脈沖噪聲,使信號光滑;閉運(yùn)算則可以填充信號的“波谷”,具有擴(kuò)張性,可抑制負(fù)脈沖噪聲。開閉運(yùn)算均具有低通特性。
以下,分別給出開、閉運(yùn)算對一段ECG信號進(jìn)行處理結(jié)果:
黑色線為原始心電信號,黃色線為開運(yùn)算對心電信號的處理結(jié)果,可以看出開運(yùn)算削除了信號“波峰”:
同樣,黑色線為原始心電信號,藍(lán)色線為閉運(yùn)算對心電信號的處理結(jié)果,可以看出開運(yùn)算填充了信號“波谷”:
PS:原作者用細(xì)實(shí)線組成的波形均代表原始心電信號,粗實(shí)線構(gòu)成的波形代表開、閉運(yùn)算處理后的心電信號,但是我實(shí)在是有點(diǎn)看不清粗細(xì),就給他用不同顏色表示了。。。。
形態(tài)濾波器的實(shí)質(zhì)是通過組合運(yùn)用開、閉運(yùn)算,消除信號中特定寬度的波峰和波谷。信號中實(shí)際被濾除的成分與運(yùn)算中所采用的結(jié)構(gòu)元素有關(guān),如結(jié)構(gòu)元素的寬度為M,信號中波峰或波谷的寬度為N,則有:
?
為了可同時去除信號中的正負(fù)兩種脈沖噪聲,Maragos采用開、閉運(yùn)算的級聯(lián)組合形式,定義了形態(tài)開閉(open-closing)和閉開(close-opening)濾波器:
?
由于開運(yùn)算的收縮性導(dǎo)致形態(tài)開-閉濾波的輸出偏小,閉運(yùn)算的擴(kuò)張性又導(dǎo)致形態(tài)閉-開濾波的輸出偏小,很大程度上影響了濾波器高效去除噪聲的性能,所以為減少偏移的發(fā)生,取得較好的濾波效果,我們并不單一地使用它們,而是通過形態(tài)開-閉和形態(tài)閉-開級聯(lián)對信號進(jìn)行濾波,設(shè)信號為f,則通過形態(tài)學(xué)濾波后的數(shù)學(xué)表達(dá)式為:
結(jié)構(gòu)元素
結(jié)構(gòu)元素是數(shù)學(xué)形態(tài)學(xué)濾波器中的一個非常重要的參數(shù),在心電信號預(yù)處理領(lǐng)域中,它的形狀、寬度和高度決定著濾波的效果。
(1)形狀:選取的結(jié)構(gòu)元素的形狀要盡可能接近待分析信號的圖形特點(diǎn)。結(jié)構(gòu)元素有一些不同的形狀,如三角形、圓形和直線形等。
(2)尺寸:結(jié)構(gòu)元素的尺寸包括寬度(結(jié)構(gòu)元素定義域的寬度)和高度(結(jié)構(gòu)元素的幅值)。其中結(jié)構(gòu)元素的寬度對信號的處理效果影響更大。選取結(jié)構(gòu)元素的尺寸應(yīng)大于被濾除信號的尺寸,但小于被保留信號的尺寸。若選取的寬度較大,則可能會濾除特征波形,引起失真,若寬度較小,則不能完全濾除噪聲。
?
實(shí)例1
這里我們采取直線型結(jié)構(gòu)元素的數(shù)學(xué)形態(tài)學(xué)濾波器,直線型結(jié)構(gòu)元素的寬度應(yīng)大于心電特征波形的寬度,使得這些特征波形都被濾除,只剩下基線漂移信號,再用原信號減去獲得的基線干擾信號,即可獲得濾除了基線漂移干擾后的心電信號。這里我取寬度M=65(特征波形最大寬度*采樣頻率)
代碼:
% x 為原始信號 % 關(guān)于strel函數(shù)的具體用法,請見:https://blog.csdn.net/qwerasdf_1_2/article/details/54376657se1 = strel('line', 65, 0); %設(shè)置為線性,長度為65,角度為0 fo1 = imopen(x, se1);%開運(yùn)算 fc1 = imclose(x, se1);%閉運(yùn)算 foc1 = imclose(fo1, se1); %開-閉運(yùn)算 fco1 = imopen(fc1, se1);%閉-開元算 x = x - floor((foc1 + fco1)/2);原始信號:
處理后信號:
.。。。。。嗯。。。感覺有點(diǎn)一言難盡呀
實(shí)例2
也有參考文獻(xiàn)指出,可以先利用第一組形態(tài)濾波模塊,提取心電信號中的QRS波群;再利用第二組形態(tài)濾波模塊在第一組的基礎(chǔ)上,提取P波和T波,最后將兩者加總,就可以剔除基線漂移產(chǎn)生的噪音了。我們試一試:同樣選取直線型結(jié)構(gòu)元素的數(shù)學(xué)形態(tài)學(xué)濾波器,第一組結(jié)構(gòu)序列寬度M1= 25,第二組結(jié)構(gòu)序列寬度M2 = 65。
代碼:
seA = strel('line', 25, 0); %設(shè)置為線性,長度為25,角度為0 fo = imopen(x, seA); fc = imclose(x, seA); foc = imclose(fo, seA); fco = imopen(fc, seA); xb2 = floor((foc + fco)/2); QRSx = x - xb2; %QRS波提取seB = strel('line', 65, 0); %設(shè)置為線性,長度為65,角度為0 fo = imopen(xb2, seB); fc = imclose(xb2, seB); foc = imclose(fo, seB); fco = imopen(fc, seB); xc = floor((foc + fco)/2); TPx = xb2- xc; % P波 T波提取 x = QRSx + TPx;處理后信號:
看起來,好像比例1稍微好一點(diǎn)。。。。。吧
主要參考文獻(xiàn):
[1]基于形態(tài)學(xué)濾波器的ECG信號預(yù)處理
[2]基于FIR濾波和數(shù)學(xué)形態(tài)學(xué)的心電信號預(yù)處理算法
[3]ECG去噪和R波檢測的算法研究
[4]心電信號去噪的數(shù)學(xué)形態(tài)學(xué)濾波器
[5]基于 EMD 的心電信號去噪方法研究及實(shí)現(xiàn)
下一篇(EMD)指路:https://blog.csdn.net/m0_37422217/article/details/90922047
總結(jié)
以上是生活随笔為你收集整理的心电信号去噪(part3)--数学形态学的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《魔兽世界怀旧服》月亮井在哪 月亮井具体
- 下一篇: 心电信号去噪(part4)--经验模态分