徐雨,鄭威,程怡
(江蘇科技大學,鎮(zhèn)江 212000)
腦電信號[1]是一種極微弱的生理信號,采集過程中易受肌電偽跡和眼電偽跡等生理偽跡影響。由于眼電偽跡幅值較大且與腦電信號頻率相近,對腦電信號產(chǎn)生很大干擾[2],致使腦電信號產(chǎn)生畸變,影響分析結果。
為得到無干擾的腦電信號,國內(nèi)外團隊研究了多種去除眼電偽跡的方法[3-4]。其中,有研究認為在實驗對象采集信號時不轉(zhuǎn)動眼球,可避免眼電偽跡的產(chǎn)生,但實際情況中眼球活動不可控制,所以在腦電信號采集過程中仍會有大量眼電偽跡產(chǎn)生[5]。目前,獨立成分分析(independent component analysis, ICA[6])、經(jīng)驗模態(tài)分解(empirical mode decomposition, EMD[7])等算法可有效去除眼電偽跡。其中,ICA算法只能處理單一的非線性函數(shù)[8],去偽跡時需要人工識別偽跡成分。EMD可分解非線性和非平穩(wěn)信號,但其在分解過程中存在模態(tài)混疊問題[9]。
針對EMD和ICA在去除腦電信號中眼電偽跡時存在的弊端,本研究提出了自適應噪聲完整經(jīng)驗模態(tài)分解(complete ensemble empirical mode decomposition with adaptive noise, CEEMDAN)、(kernel independent compoment analysis,KICA)[10]和樣本熵相結合的方法用以去除腦電信號中眼電偽跡。該方法可以保留更多有用信息,更具有魯棒性。
本研究提出的眼電偽跡去除方法流程見圖1。首先,對腦電信號進行帶通濾波,對其進行自適應白噪聲完整經(jīng)驗模態(tài)分解得到模態(tài)分量[11];再對模態(tài)分量進行KICA降維;隨后對得到的獨立分量進行熵值計算,利用閾值判別并去除眼電偽跡,最后重構信號。
圖1 去除腦電信號中眼電偽跡的流程圖
EMD分析時頻分布的能力較強,但在分解過程中會存在模態(tài)混疊問題。為解決此問題,王海龍等[12]提出在EMD中加入白噪聲的EEMD算法。但EEMD[13]不具有完備性,通過對EEMD分解后的經(jīng)驗模態(tài)分量自適應地加入白噪聲,解決了EEMD分解中無完備性的問題。
CEEMDAN算法的步驟具體如下:
(1)構造加入噪聲的序列:xi(t)=x(t)+ω0εi(t),i∈{1,2,…,I},其中,x(t)為觀測信號,εi(t)為獨立的方差為1的高斯白噪聲,ω0為噪聲的標準差。最后得到的模態(tài)分量記為cq(I).
(4)設分解Q層,得出每個階段第q個剩余分量和第q+1個模態(tài)分量(q=1,…,Q-1),再次進行步驟(2)的計算:
ICA算法是基于非線性函數(shù)期望值的一個固定形式[14],由于對比函數(shù)的局限性,導致處理更復雜的非線性形式的盲源問題時,精確度低[15-16]。KICA在ICA基礎上引入核函數(shù)[17],其使用的函數(shù)空間適用于各種不同分布的源。與ICA相比,KICA具有更好的分離能力和更好的魯棒性[18-19]。
KICA算法的步驟如下[20]:
(1)輸入樣本集A=(a1,a2,…aI),xi∈Rn,i=1,2,…,I,利用核函數(shù)代替向量的內(nèi)積,并對數(shù)據(jù)進行白化處理。
(2)中心化數(shù)據(jù)。
(3)將RKHS中的非線性函數(shù)用作比較函數(shù)。
(4)最小化比較函數(shù),輸出分離矩陣W。
樣本熵算法是一種判別時間序列復雜程度的算法[21-22]。與腦電信號相比,眼電信號比較規(guī)律,對應熵值較低,通過熵值的判別可以去除熵值較低的眼電偽跡成分。與近似熵相比,樣本熵[23]的計算對數(shù)據(jù)長度要求低,且具有更好的穩(wěn)定性[24]。樣本熵的計算如下:
(1)設長度為P的觀測信號為{a(i),1≤i≤P},即可得到一組e維的矢量:Ae(1),…,Ae(P-m+1),其中Ae(i)={a(i),a(i+1),…,a(i+e-1)},1≤i≤P-e+1。其中,e為相空間維數(shù)。
(2)定義d[Ae(i),Ae(j)]為向量Ae(i)與Ae(j)之間的距離最大差值的絕對值。
(4)增加維數(shù)到e+1,循環(huán)步驟(1)到(3),同理得到Ve+1(r)。樣本熵為:
(5)若N為有限值,樣本熵可為:
式中:o為相似容限。本實驗運用Gomez-Herrero提出的閾值判別式[25]識別偽跡。首先,定義變量c滿足1 φ(c+1)-φ(c)<φ(c)-φ(c-1) (1) 式中,φ(c)表示KICA得到的獨立分量升序排序后的第c個分量的熵值,定義[P/2]為不大于P/2的最大整數(shù)。 若存在變量c滿足上述條件,c取滿足條件的最小整數(shù),則φ(c)為獨立分量閾值,由于眼電偽跡的熵值比腦電信號的熵值更低,因此,判定排序前c個熵值對應的分量為眼電偽跡,對其進行置零。 本實驗腦電信號采用BCI Competition IV的Data sets 2b 的數(shù)據(jù)集。實驗對象為四名健康人員,采樣頻率250 Hz。實驗對象都是右利手,有正?;蛘叱C正正常視力。實驗采集分為三個部分:(1)2 min睜眼和1 min閉眼(2)眼電信號采集(3)腦電信號采集。 由圖2可知,對象A的腦電信號中800和1 500采點處存在眼電偽跡信號;對象B的腦電信號中1 200采點處存在眼電偽跡信號;對象C的腦電信號中220采點處存在眼電偽跡;對象D的腦電信號中220、1 750采點處存在眼電偽跡。 圖2 含有偽跡的原始腦電信號 本實驗具體步驟: (1)對濾波后的腦電信號進行自適應白噪聲完整經(jīng)驗模態(tài)分解。 (2)通過核獨立成分分析,對模態(tài)分解得到的模態(tài)分量進行分析,得到核獨立分量。 (3)對獨立分量進行樣本熵計算,利用閾值判別式判別眼電分量,若為偽跡,則將其置零去除。 (4)對去除偽跡后的信號進行核獨立成分分析逆變換,隨后對逆變換后的信號進行疊加,最終得到去除偽跡后的腦電信號。 圖3為自適應白噪聲完整經(jīng)驗模態(tài)分解后得到的分量圖。 圖3 CEEMDAN分解得到的模態(tài)分量Fig.3 The modal components obtained by CEEMDAN decomposition 核獨立成分分析獲得的分量見圖4。對圖4所得的各個分量進行熵值計算,所得熵值見表1、表2、表3、表4。 表1 對象A的各分量的熵值 表2 對象B的各分量的熵值 表3 對象C的各分量的熵值 圖4 核獨立分量Fig.4 Kernel-independent components 表4 對象D的各分量的熵值 通過閾值判別式(1),可以判定表1中,sig2、sig10、sig11、sig12屬于眼電偽跡;表2中,sig2、sig9、sig10、sig11屬于眼電偽跡;表3中,sig2、sig9、sig10、sig11;表4中,sig2、sig10、sig11、sig12屬于眼電偽跡,將眼電偽跡成分置零。腦電信號中眼電偽跡去除前和去除后的效果對比圖,見圖5—圖8。 圖5 對象A的眼電偽跡去除前后對比圖 圖6 對象B的眼電偽跡去除前后對比圖 圖7 對象C的眼電偽跡去除前后對比圖 圖8 對象D的眼電偽跡去除前后對比圖 本研究通過均方根誤差(RMSE)和相關系數(shù)(R)來判別去除偽跡的效果,其公式如下: 式中:x和y分別表示初始腦電信號和偽跡去除后的腦電信號。實驗對象A、B、C、D的RMSE與相關系數(shù)見表5。本研究選取對象A的數(shù)據(jù)來作為參考分析數(shù)據(jù),對其進行15次實驗,取實驗結果的平均值。為證實本方法的有效性,與KICA、CEEMDAN-FastICA兩種方法進行對比,結果見表6。 表5 各實驗對象的RMSE和相關系數(shù) 表6 各算法RMSE和相關系數(shù) 由表6可知,CEEMDAN-FastICA方法的相關系數(shù)最小,說明FastICA在分析信號時可能受外界影響,分離能力下降,使眼電偽跡未得到有效去除,最終重構得到的腦電信號與原腦電信號相差較大。而CEEMDAN-KICA方法RMSE最小,相關系數(shù)最大,說明KICA較好地解決了非線性混合信號的問題,并且重構后的信息誤差較小,且能夠較好地保留有用的數(shù)據(jù)信息。 本研究提出CEEMDAN和KICA相結合的眼電偽跡去除方法,首先,對腦電信號進行模態(tài)分解,再對分解后得到的模態(tài)分量進行核獨立成分分析,得到獨立分量,隨后對獨立分量進行樣本熵計算,利用閾值對熵值進行判別,將眼電分量置零,最后重構去除偽跡后的信號。通過實驗表明,本研究提出的眼電偽跡去除方法更準確,能有效去除眼電偽跡,更具有魯棒性。2 實驗
2.1 實驗數(shù)據(jù)來源
2.2 實驗步驟
2.3 實驗結果及分析
3 結論