李 效,張 明,張 倩,葉 軒
(武漢紡織大學(xué) 電子與電氣工程學(xué)院,武漢 430000)
表面肌電(sEMG,surface electromyography)信號作為一種生物信號,包含了大量表征生物肌肉特征的信息,因此可以通過對其進(jìn)行檢測與處理進(jìn)而實(shí)現(xiàn)手勢識別、機(jī)械外骨骼控制等的研究與應(yīng)用,例如通過對檢測到的sEMG信號進(jìn)行特征提取操作識別當(dāng)前動作實(shí)現(xiàn)對機(jī)械外骨骼運(yùn)動的控制。又因其能夠超前肢體運(yùn)動30~150 ms產(chǎn)生,且采集過程無創(chuàng),如使用氯化銀電極或MYO臂環(huán)即可實(shí)現(xiàn)sEMG信號的采集,而備受國內(nèi)外研究人員關(guān)注。
然而,sEMG信號作為一種非線性非穩(wěn)定信號,強(qiáng)度極其微弱[1],其頻率主要分布在10~500 Hz,通常在人體這個復(fù)雜環(huán)境中極易被淹沒,而且在采集過程中也會不可避免地引入下面3種外界干擾:基線漂移(BW,baseline wandering)、工頻干擾(PLI,power line interference)與高斯白噪聲(GWN,Gaussian white noise)[2-3]。這其中基線漂移主要是由于電極、皮膚以及肌肉之間的相對位移導(dǎo)致的,其頻率范圍通常為1~10 Hz;工頻干擾則來自環(huán)境中的電磁噪聲,我國的工頻干擾頻率主要為50 Hz;高斯白噪聲的頻譜則分布于全頻段,與sEMG信號頻譜范圍相交。若根據(jù)頻帶分布情況,這些干擾可分為非頻率混疊與頻率混疊兩類,前者可以使用經(jīng)典濾波器濾除,后者卻很難做到。sEMG信號中噪聲的存在會大大影響后續(xù)基于sEMG信號的手勢識別準(zhǔn)確率,因此有必要對含噪sEMG信號進(jìn)行降噪處理。
目前對被高斯白噪聲污染的sEMG信號進(jìn)行降噪是一個研究熱點(diǎn),其目的主要是在盡可能地降噪的同時最大程度上保留sEMG信號中的有用信息。傳統(tǒng)降噪算法主要有小波閾值降噪、小波包閾值降噪、經(jīng)驗?zāi)B(tài)分解(EMD,empirical mode decomposition)降噪等。其中小波閾值降噪因其簡單有效而得到廣泛應(yīng)用,如孫志杰等人[4]在小波閾值降噪中通過調(diào)整小波基函數(shù)及其分解層數(shù)在布里淵光時域反射儀的降噪過程中取得了較好的降噪效果;王晨等人[5]在小波閾值降噪中通過調(diào)整小波母函數(shù)、分解層數(shù)、閾值規(guī)則和閾值函數(shù)的一系列參數(shù)在布里淵光時域反射儀的降噪過程中的降噪過程中取得了更好的降噪效果;馬東等人[6]在小波閾值降噪中通過改進(jìn)小波閾值及其小波閾值函數(shù)在sEMG信號的降噪過程中取得了很好的降噪效果。但因小波閾值降噪對高頻系數(shù)的分解度不夠以及頻率混疊現(xiàn)象常常導(dǎo)致降噪效果不佳,而小波包閾值降噪雖然提高了分解度但仍然存在頻率混疊現(xiàn)象以及小波母函數(shù)選擇、閾值設(shè)置等諸多參數(shù)選擇的困難。鑒于EMD具有自適應(yīng)性和設(shè)置參數(shù)較少的特點(diǎn),有學(xué)者將其與小波結(jié)合,如席旭剛等通過使用EMD對sEMG信號進(jìn)行分解,利用自相關(guān)函數(shù)對其模態(tài)分量(IMF,intrinsic mode function)進(jìn)行選擇重構(gòu),使用小波降噪算法對重構(gòu)后信號進(jìn)行處理,取得了較好的降噪效果[7];劉曉光等人[8]通過使用EMD對sEMG信號進(jìn)行分解,利用樣本熵對含噪IMF進(jìn)行選擇,使用小波降噪算法對選中的IMF進(jìn)行處理,結(jié)果顯示重構(gòu)后的sEMG信號降噪效果較好;石志遠(yuǎn)等人[9]通過使用EMD對含噪信號進(jìn)行分解,利用互相關(guān)函數(shù)對IMF進(jìn)行選擇,使用小波降噪算法對選中的IMF進(jìn)行降噪處理,結(jié)果顯示重構(gòu)后的信號降噪效果更好。該類算法重點(diǎn)對選中的IMF進(jìn)行小波閾值降噪,在提高分解度的同時,一定程度上也改善了降噪效果,但該方法并沒有考慮兩種分解算法本身的不足,在實(shí)際使用中該分解算法容易導(dǎo)致各模態(tài)分量之間的頻率混疊,導(dǎo)致使用Donoho等提出閾值降噪效果不佳[10-11]。遂有學(xué)者使用互補(bǔ)集合經(jīng)驗?zāi)B(tài)分解(CEEMD,complementary ensemble empirical mode decomposition)與小波包的聯(lián)合降噪算法,如董利超等人[12]使用CEEMD對含噪信號進(jìn)行分解并利用自相關(guān)函數(shù)客觀界定含噪IMF范圍,利用小波包降噪算法對選中的IMF進(jìn)行降噪處理,重構(gòu)后的心音信號取得良好降噪效果。只是該方法未能考慮到小波包分解方法存在的頻率混疊問題,而變分模態(tài)分解(VMD,variational mode decomposition)算法能夠有效避免這樣的問題,如吳田等人[13]在sEMG信號的降噪研究中直接使用VMD算法對信號進(jìn)行分解,該方法切實(shí)有效地避免了各IMF之間頻率混疊問題,取得了較好的降噪效果。
眾所周知,GWN是隨機(jī)且均勻分布的。如果能先用CEEMD方法對噪聲信號進(jìn)行預(yù)處理,初始中心頻率更集中在低頻處,有利于后續(xù)的VMD處理。為此,本文提出了一種基于CEEMD與VMD的sEMG信號滑動區(qū)間軟閾值(SIST,sliding interval soft threshold)降噪算法(CEEMD-VMD-SIST),該算法利用CEEMD對噪聲信號進(jìn)行預(yù)處理,初始中心頻率更集中在低頻處,有利于后續(xù)的VMD處理。首先,采用CEEMD方法對噪聲信號進(jìn)行自適應(yīng)分解,得到一組本征模態(tài)函數(shù)(IMF);接著,根據(jù)自相關(guān)系數(shù)客觀地界定降噪信號的模態(tài)分量范圍;然后,對選中的模態(tài)分量采用VMD進(jìn)行分解,由于為有限頻帶以及分量間中心頻率互斥從而避開了模態(tài)混疊問題,進(jìn)而避免了因使用小波包而帶來的模態(tài)混疊問題;最后使用SIST算法對含噪sEMG信號進(jìn)行閾值降噪處理。實(shí)驗結(jié)果表明,使用本文所提算法對含噪sEMG信號進(jìn)行降噪處理,與傳統(tǒng)降噪算法相比,其信噪比與均方根誤差均有明顯改善,可以更大程度上保留有用信息。
CEEMD算法是以EMD為基礎(chǔ),在集合經(jīng)驗?zāi)B(tài)分解(EEMD,ensemble empirical mode decomposition)的基礎(chǔ)上進(jìn)行改進(jìn)的一種算法,由于引入的是互補(bǔ)噪聲,所以在重構(gòu)信號時的冗余噪聲會在很大程度上被消除,而無需進(jìn)行上百次EMD,從而提高了計算效率[14-15]。CEEMD算法主要包括以下幾個步驟:
1) 將n組正負(fù)成對的白噪聲信號加入原始信號x(t)中,從而生成兩組IMF集合:
(1)
式中,n(t)為輔助白噪聲,其幅值可選x(t)標(biāo)準(zhǔn)差的0.2~0.5倍或可隨噪聲的強(qiáng)度而調(diào)整增大。m1、m2分別表示加入成對的正負(fù)白噪聲后的信號。
3) 對多組IMF進(jìn)行求均值操作:
(2)
式中,imfj為x(t)經(jīng)過CEEMD分解后的第j個IMF,能較好地保證信號的完整性,同時能很好地解決EMD的模態(tài)混疊現(xiàn)象,并能很大程度地解決集合經(jīng)驗?zāi)B(tài)分解導(dǎo)致的時間復(fù)雜度高的問題。將原始sEMG信號進(jìn)行CEEMD分解前5層結(jié)果如圖1所示,圖中可以看出信號的各個頻段分量被很好地分離,具有信號完整性。
圖1 原始sEMG信號的CEEMD分解的前五層
VMD算法是首先構(gòu)建一個變分模式分解模型,接下來不斷地迭代求解各個模態(tài)分量,然后估計滿足帶寬之和最小時的最優(yōu)解[16-17],最后將輸入信號f(t)自適應(yīng)地分解成有限帶寬的K個本征模態(tài)函數(shù)(BIMF,bandlimited intrinsic mode function),該過程產(chǎn)生的約束變量模型如下:
(3)
式中,{uk}、{ωk}分別表示分解后的K個BIMF分量和相應(yīng)的中心頻率。?t代表函數(shù)對時間t的偏導(dǎo)數(shù)。δ(t)為狄拉克分布(Dirac distribution)函數(shù)。
為了求解約束變分模型的最優(yōu)解,引入懲罰因子α和Lagrange乘法算子λ,構(gòu)建無約束的增廣Lagrange函數(shù),表達(dá)式如下:
(4)
采用交替方向的乘子算法(ADMM,alternate direction method of multipliers)來求取增廣Lagrange函數(shù)中的“鞍點(diǎn)”[18],這其中迭代更新(uk),(ωk)和λ的更新公式如下:
(5)
(6)
(7)
式中,^ 表示傅里葉變換;τ表示噪聲容忍參數(shù);n表示迭代次數(shù)。
(8)
影響VMD算法性能的參數(shù)主要包括模態(tài)數(shù)M、懲罰因子α、噪聲容忍參數(shù)τ和判別精度ε。如果模態(tài)數(shù)過少,會導(dǎo)致數(shù)據(jù)分割不足,出現(xiàn)模態(tài)混疊,而過多的模式數(shù)往往會導(dǎo)致額外噪聲的產(chǎn)生。因此,模態(tài)數(shù)M的選擇會對性能產(chǎn)生影響,針對本文sEMG降噪信號經(jīng)過測試對比M取12為最佳,其它參數(shù)一般設(shè)置為:α為3 000,τ為0,ε為1e-7[19]。
由上述CEEMD算法可知,經(jīng)CEEMD分解后的原始含噪信號被分解為若干個IMF,其分解過程可看作是自適應(yīng)濾波過程,即將含噪sEMG信號自適應(yīng)地分解為一組從高頻到低頻的不同尺度的IMF。對于含噪sEMG信號,其經(jīng)CEEMD分解后一般認(rèn)為噪聲多集中于低階IMF,而有用信號的大部分能量多集中于高階IMF,即低頻段。因此,分量階數(shù)越小,對應(yīng)頻率越高,集中的能量越少,必然會存在一個分界點(diǎn)b,使得imf1~imfb為噪聲主導(dǎo)分量。
由于原始sEMG信號含噪水平不同,導(dǎo)致分界點(diǎn)b發(fā)生變化,即不存在一個普遍適用性的分界點(diǎn)b,因此,這邊需要一種客觀判定標(biāo)準(zhǔn)來確定分界點(diǎn)b。
為了能夠客觀確定這個分界點(diǎn)b,本文采用自相關(guān)系數(shù)進(jìn)行確定。自相關(guān)函數(shù)定義為:
Rx(t1,t2)=E[x(t1)x(t2)]
(9)
隨機(jī)信號的自相關(guān)系數(shù)反映了信號與自身在不同時間點(diǎn)時的相似程度,白噪聲隨機(jī)性的值在除零點(diǎn)外每個時間點(diǎn)之間是弱相關(guān),圖2表示強(qiáng)度為5 dBW的高斯白噪聲及其自相關(guān)系數(shù)。而一般信號每個時間點(diǎn)的值之間都有一定的相關(guān)性,其特點(diǎn)是強(qiáng)相關(guān)。因此高斯白噪聲主導(dǎo)的IMF自相關(guān)系數(shù)體現(xiàn)出白噪聲特性,在零點(diǎn)處取極大值而其它點(diǎn)處約等于零;而有用信號主導(dǎo)的IMF的自相關(guān)系數(shù)是在零點(diǎn)處取極大值,但是其余時刻是向兩側(cè)震蕩衰減至零,如圖3所示。
圖2 5 dbW高斯白噪聲及其自相關(guān)系數(shù)
為了能夠準(zhǔn)確表示噪聲與有用信號的相關(guān)程度,本文采用歸一化自相關(guān)函數(shù)[20]:
(10)
式中,Rx(0)和Rx(j)分別為延遲時間為零和j的自相關(guān)系數(shù)。采用CEEMD算法分解SNR=5 的某一sEMG信號得到的IMF自相關(guān)系數(shù)如圖4所示,顯然能夠通過設(shè)定幅值閾值由自相關(guān)系數(shù)波形確定分界點(diǎn)b。
圖4 sEMG信號自相關(guān)系數(shù)(SNR=5)
實(shí)際sEMG信號的能量主要集中在50~150 Hz,此外信號中含有很多尖峰和凸起,為了能夠保存信號的更多細(xì)節(jié),本文僅對imf1~imfb進(jìn)行降噪處理,并將其與剩余未處理分量進(jìn)行重構(gòu),即可得到降噪后信號。
本文所提算法流程如圖5所示,其步驟如下:
圖5 本文所提算法流程圖
首先,對原始含噪信號進(jìn)行預(yù)處理,采用最大最小值歸一化與零均值處理方法。
其次,對預(yù)處理后含噪信號進(jìn)行CEEMD算法處理,經(jīng)CEEMD分解得到的公式為:
(11)
式中,d(n)表示信號分解結(jié)果;imfi(n)表示CEEMD的第i個分量;I表示分解層數(shù),由信號的頻譜范圍決定;這里res(n)表示分解后的殘差。將頻譜范圍低于20 Hz的分量作為殘差res(n)去掉以減小基線漂移的影響。
再次,根據(jù)自相關(guān)系數(shù)分析法對分量進(jìn)行分類,得到白噪聲主導(dǎo)的分量imf1~imfb(b
然后,采用滑動區(qū)間軟閾值方法進(jìn)行降噪其表達(dá)式如公式(12)所示:
(12)
(13)
式中,L為vmfi的長度,σi為vmfi的噪聲方差,它的表達(dá)式為:
(14)
式中,vmfi為imfi進(jìn)行VMD操作后的模態(tài)分量矩陣中的第j個分量。
最后,對vmf1~vmfb和imfb+1~imfI進(jìn)行重構(gòu),得到降噪后的信號。
為了能夠評估降噪性能,本文將采用信噪比(SNR,signal-to-noise ratio)與均方根誤差(RMSE,root mean square error)兩個指標(biāo)進(jìn)行評估各種算法的降噪效果,更大的SNR、更小的RMSE代表更佳的降噪性能。
(15)
(16)
式中,x(i)為原始sEMG信號,s(i) 為降噪后的sEMG信號,L為信號長度。
為了驗證提出的降噪算法,本文搭建了sEMG信號的數(shù)據(jù)采集與手勢識別系統(tǒng),如圖6所示,該系統(tǒng)的數(shù)據(jù)采集采集部分首先由前端采集電路使用差分放大方式對sEMG信號進(jìn)行采集,采樣頻率為1 000 Hz,然后采用單片機(jī)通過藍(lán)牙無線通信方式向上位機(jī)發(fā)送數(shù)據(jù),最后上位機(jī)將接收到的原始數(shù)據(jù)保存為文本格式供后續(xù)處理。
圖6 實(shí)驗平臺
同時為了更好地展示本文所提出的CEEMD-VMD-SIST算法的降噪性能,將與小波降噪、EMD聯(lián)合小波降噪、CEEMD聯(lián)合小波包降噪這3種算法進(jìn)行降噪效果的對比測試。
實(shí)驗將采用某一手指動作的sEMG信號,如圖7所示,通過向圖7所示的原始sEMG信號中分別疊加不同大小的高斯白噪聲,以模擬不同信噪比的含噪sEMG信號。本文中,將參數(shù)I與b分別設(shè)置為8和5。
圖7 原始sEMG信號
采用上述4種降噪算法分別對不同信噪比的信號進(jìn)行降噪,降噪效果圖分別如圖8~10所示,其中圖(a)為小波降噪算法處理結(jié)果,圖(b)為EMD聯(lián)合小波降噪算法處理結(jié)果,圖(c)為CEEMD聯(lián)合小波包降噪算法處理結(jié)果,圖(d)為本文所提算法的降噪處理結(jié)果,圖中的小圖部分則表示信號的局部放大圖。
圖8 4種算法降噪性能比較(SNR=15)
圖9 4種算法降噪性能比較(SNR=10)
圖10 4種算法降噪性能比較(SNR=0)
在圖8~10中,小波、EMD聯(lián)合小波的降噪結(jié)果不是很理想,信號中大量的高頻噪聲未消除。從局部放大圖展示的結(jié)果中可明顯看出在同一噪聲水平下,本文所提算法性能較好,且該優(yōu)勢隨著噪聲水平的提高而越發(fā)明顯。CEEMD聯(lián)合小波包降噪算法與本文所提算法的降噪效果接近,都能夠有效地去除信號中的高頻噪聲,在信噪比較大時降噪結(jié)果基本一致,但隨著信噪比的減小,兩者略有差異,需進(jìn)一步分析。
為了更加精確地比較各種降噪算法的降噪效果,本文使用SNR和RMSE兩個指標(biāo)來評價算法的降噪效果。采用同2.2節(jié)中的信號和算法,并取不同信噪比進(jìn)行實(shí)驗得到圖11與表1所示。
表1 多種噪聲水平下4種算法降噪效果
圖11 多種信噪比下4種算法降噪效果
圖11展示了不同信噪比下4種降噪算法的SNR和RMSE指標(biāo)對比曲線,表1為圖11中多種信噪比下4種算法降噪效果的SNR和RMSE具體指標(biāo)的計算值。圖11(a)中展示了使用4種降噪算法處理后,sEMG信號的SNR均可以得到不同程度的提升,這其中特別是本文所提算法的降噪效果最佳。圖11(b)中則展示了使用4種降噪算法處理后的所取得的RMSE,其中本文所提算法所取得的RMSE值最小。
此外,從圖11與表1中還可以看出,雖然CEEMD聯(lián)合小波包算法的降噪結(jié)果與本文所提算法最為接近,但是隨著噪聲水平的提高可以明顯看出本文所提算法所得SNR與RMSE兩個指標(biāo)均明顯優(yōu)于前者,即本文所提算法在強(qiáng)噪聲條件下也能獲得良好的降噪效果,自適應(yīng)降噪能力更好。
為了改善對sEMG信號的降噪效果,本文提出了一種基于CEEMD-VMD-SIST降噪算法。通過使用原始sEMG信號進(jìn)行實(shí)驗,結(jié)果表明本文所提算法:
1) CEEMD與VMD組合克服了模態(tài)混疊的不足,同時也擺脫了小波類算法的參數(shù)選擇困難問題。
2) 相比其它降噪算法,在不同噪聲水平下特別是噪聲水平較高的情況下能夠取得更好的降噪效果。
因此,本文所提算法的降噪性能與其它3種降噪算法相比,信噪比與均方根誤差這兩個指標(biāo)均有明顯改善,且原始sEMG信號經(jīng)其處理后,在后續(xù)手勢識別中取得了更好的識別效果。