表面肌電圖(sEMG)廣泛應用于臨床醫學、康復醫學、體育健身等方面的研究中,而對其進行分析的前提條件是要準確判斷肌電的動作起止時刻。當 sEMG 測量位置靠近心臟時,起止點檢測容易受心電(ECG)干擾而出現誤判。針對影響起止點判斷的 ECG 干擾的特點,本文建立了一種基于短時能量和短時過零率的肌電起止時刻判斷算法,設置雙閾值來自動檢測 sEMG 信號端點。本算法的依據是 sEMG 與 ECG 在短時過零率上的差異,以及 sEMG 與背景噪聲在短時能量上的差異。對腹直肌的 sEMG 信號采集的實驗結果表明,這一算法基本不受 ECG 干擾的影響,檢測結果的準確率達到 95.6%。
引用本文: 徐偉釗, 莫鴻強, 田聯房, 歐德苗. 一種心電干擾下的表面肌電起止點檢測方法. 生物醫學工程學雜志, 2018, 35(6): 953-958, 963. doi: 10.7507/1001-5515.201703084 復制
引言
肌電圖(electromyography,EMG)是指經過電極引導、放大、記錄和顯示的單個和多個肌細胞或部分肌肉組織活動所產生的生物電變化一維時間序列信號圖[1]。表面肌電圖(surface electromyography,sEMG)是 EMG 的一種類型,其特點是電極在人體表面采集信號而不對人體造成創傷。sEMG 記錄了肌肉肌纖維活動相關的電位變化過程,被廣泛應用于臨床醫學、康復醫學、體育健身等方面的研究。
不管是 sEMG 的時域分析還是頻域分析,肌電起止點(即動作起止時刻)的準確判斷均是保證分析結果正確性的關鍵前提。當數據量不大時,可以由經驗豐富的分析員人工選定 sEMG 的起止點,但數據量大時這種方法的效率很低。sEMG 與語音信號類似,都屬于短時平穩信號[2-3],可以借鑒語音信號的端點檢測算法。語音識別中常見的端點檢測方法是基于短時能量的端點檢測方法[2],將信號按固定幀長和幀移分幀,根據單幀信號均方根值是否超過閾值來判斷信號端點。直接運用這一算法來檢測 sEMG 端點,當被觀察肌電幅值較強時,可以有效地檢測到動作的起止點;但若在測量位置處被觀察肌電幅值較弱而心電(electrocardiogram,ECG)干擾幅值相對較大時,其容易因 ECG 干擾而誤判動作起止點。
克服 ECG 干擾影響的最直接的方法是抑制所測肌電信號中的 ECG 成分,即根據 ECG 和 sEMG 信號的頻譜差別設計合適的濾波器以濾除 ECG。決定 ECG 幅值的主要能量集中于 30 Hz 以下的頻段[4-5],因此,作截止頻率為 20 Hz 或 30 Hz 的高通濾波可以大大削弱 ECG 干擾[6-8]。不過這種高通濾波方法勢必也濾去一部分 sEMG 有效信號,影響肌電分析結果。為此,研究人員提出了很多新的方法。例如:Mak 等[9]提出了利用獨立成分分析法(independent component analysis,ICA)減少 ECG 對 sEMG 的干擾;Costa 等[10]提出了單通道 ICA 分離的方法;Nougarou 等[11]提出離散小波變換(discrete wavelet transform,DWT)與 ICA 混合算法;周權等[12]則提出結合小波變換(wavelet transform,WT)和能量熵的混合算法。這些新方法在很大程度上能有效地抑制 ECG 波形,保證了 sEMG 分析結果的準確性,但計算量往往較大,在穿戴式設備上實現有一定的難度。當前移動醫療健康監測設備的應用日益廣泛,受成本、體積、功耗等因素限制,移動醫療設備通常應采用計算量較小的算法。
鑒于此,本文借鑒語音識別的端點檢測方法,建立一種計算量小的 sEMG 起止點檢測的算法,其綜合利用 sEMG 短時過零率高于 ECG 以及 sEMG 強度高于背景噪聲的特點,確定 sEMG 的起點和終點。腹直肌的 sEMG 測量部位靠近心臟,其 sEMG 信號受 ECG 干擾比較嚴重,因此本文研究對象以腹直肌的 sEMG 為主,但不局限于腹直肌的 sEMG。
1 算法原理及步驟
1.1 傳統的均方根閾值法及其缺點
記第n時刻 sEMG 值為
,
,其中
為所需分析的數據的點數。取幀長為
,根據式(1)計算第k幀的均方根值
,
,其中
表示對
作四舍五入的取整運算。
![]() |
由于 sEMG 信號幅值顯著高于背景噪聲(無 sEMG 時)的幅值,故可根據背景噪聲的統計參數設定閾值以判斷 sEMG 的起止點。選取一段足夠長(例如 32 幀)的背景噪聲信號,根據式(1)計算每一幀噪聲的均方根值,再求所有幀噪聲均方根值的均值
和標準差
。通常假設背景噪聲滿足高斯分布,故可根據其統計特性設置閾值,例如可取閾值為
,當第k幀的 sEMG 的均方根值大于該閾值,則認為該幀信號非背景噪聲而為 sEMG 信號。
圖 1a 顯示的是一段采樣頻率為 2 kHz,并經過通帶為[10 Hz, 700 Hz]的二階帶通濾波器和一個二階工頻陷波器濾波后的腹直肌 sEMG 數據,其中橢圓圈中所標示的為 ECG 片段。根據上述均方根閾值方法對其進行分析,所得結果如圖 1b 所示,豎線表示檢測到的 sEMG 起止點位置。可以發現,sEMG 信號起止點的檢測結果并不準確,將一部分 ECG 片段當成 sEMG 檢測出來。由于該段信號中 ECG 幅值較高,即便調大閾值,檢測結果亦不理想。增大幀長至遠大于單次 ECG 持續時間,則可減小誤判的概率,但是過度增大幀長又會加大 sEMG 起止點的定位誤差。

a. sEMG 信號(橢圓圈中為 ECG 片段);b. sEMG 信號起止點檢測結果(豎線表示)
Figure1. sEMG and endpoints detected by means of a classical root-mean-square methoda. sEMG (ECGs marked out within the ovals);b. endpoints found (marked out by vertical lines)
1.2 基于短時能量和短時過零率的 sEMG 信號起止點檢測方法
語音信號處理中,通常聯合短時能量和短時過零率以克服高幅值噪聲的干擾,實現準確的端點檢測[2]。與語音信號一樣,sEMG 亦具有短時平穩特性,此外,sEMG 短時過零率高于 ECG 而強度高于背景噪聲,故此,本文借鑒語音信號的端點檢測方法實現 sEMG 的起止點檢測,其主要計算過程包括短時能量包絡和短時過零率計算及閾值判斷兩部分。
1.2.1 基于短時能量的檢測
考慮到均方根計算量偏大且絕對值能起到與均方根相近的效果,語音處理中通常也以求絕對值之和的方式來確定單幀的短時能量。本文方法亦以絕對值方式計算單幀的短時能量。記第j幀的短時能量值為
,其值根據式(2)計算。
![]() |
其中,
,幀長和幀移分別為
和
。圖 2 描述了本文所采取的短時能量計算過程。

幀長
和幀移
需根據采樣頻率確定。提高起止點時間定位的精度應選擇較小的幀長,但瞬時尖峰噪聲往往會使個別相鄰兩幀的短時能量值出現很大的差別,加大了確定短時能量閾值的難度。本文采用先對幀短時能量
作
階低通濾波得短時能量包絡
,再對
作滑動平均處理得
的方法,以盡可能去除
曲線中存在的高幅值的峰、谷點。所采用的
階低通濾波的脈沖傳遞函數如式(3)所示。
![]() |
其中,
和
分別為短時能量和短時能量包絡的 z 變換,
為濾波器參數,其值可根據期望的截止頻率確定。例如,若期望截止頻率為 100 Hz,當采樣頻率為 1 kHz 且選取
、
時,可構造一個三階低通濾波器,其差分方程和頻率特性分別如式(4)和圖 3 所示。由圖 3 易知,其截止頻率約為 79 Hz。

![]() |
其中,
為第
幀的能量包絡值。應說明的是,式(4)中取 2 的負整數冪次為濾波器參數,故可通過移位實現乘法運算,有利于降低計算量。但這些參數的選擇并不唯一,只要低通濾波截止頻率合適,均可較好地求得包絡線,消除短時能量曲線中可能出現的尖峰。
進一步對
作如式(5)所示的滑動平均處理,得平滑包絡線幅值
。
![]() |
逐幀考察平滑包絡線幅值
,判斷其是否超過閾值
,若未超過則屬背景噪聲,否則屬 sEMG 和/或 ECG 信號幀。需指出的是,
的取值太小容易導致起止點誤檢測;但若取值過大,則起止點定位精度不高。閾值
的選取將會在 1.2.3 節介紹。
1.2.2 基于短時過零率的檢測
本文所述的短時過零率定義為一窗口(即連續數幀)內肌電信號穿越零值的次數。過零率決定于信號主要分量的頻率。健康成人 ECG 的主頻帶雖落于 0.05~100 Hz 之間[13],但由于其以 QRS 波群為主,頻譜分布較為集中,ECG 能量集中在 30 Hz 以下頻段[4-5];而 sEMG 信號的頻段為 5~450 Hz[14],且能量的頻段分布不如 ECG 那么集中。因此,選取長度合適的窗口來觀察 sEMG 和 ECG 波形,當采樣頻率相同時,兩種信號在單個窗口內穿越零值的次數將有顯著差別,ECG 穿越零值次數比 sEMG 少,可利用這一特點基于短時過零率檢測 sEMG 的起止點。
計算短時過零率選取的窗長要合適,窗長過小難以確定合適的短時過零率閾值,過大則會增大計算量,且起止點定位精度低。分別記 ECG 和 sEMG 主要分量對應的平均頻率為
和
。記窗長為
,則短時過零次數
與
及采樣頻率
的關系滿足式(6)。
![]() |
若按參考文獻[4]和[14]的結論,取
30 Hz,而
100 Hz,則根據式(6)可確定
不同取值時
值的上下限,結果如表 1 所示。





為確認表 1 結果,可進一步做如下統計:測量背景噪聲幅值相對較小的 ECG 與 sEMG 信號,計算在不同
值下相應的短時過零次數
;運用 sEMG 采集儀對十位處于靜止狀態的健康成年測試者(九位男性一位女性,年齡在 20~25 歲之間)采集 sEMG 信號,每位測試者采集三次,每次五組數據。求出
的平均值和標準差,畫出折線圖如圖 4 所示,其中折線代表的是
取不同值時過零次數
的平均值,垂直線段表示根據過零次數標準差確定的過零次數上下限。





結合表 1 和圖 4 可知,
時,根據短時過零次數
即可較好地區分 ECG 和 sEMG。但窗長
越大,計算量越高,故折中考慮選取
。此時,如果
=2 kHz,則短時過零次數
,短時過零率閾值
可選定為 4。對于不同測試者,當
時,過零次數均值波動不大,如圖 5 所示,因此所選閾值參數具有一定的普遍適用性。具體應用時,若
取 4 依然容易因 ECG 干擾導致誤判,則可選擇更大的短時過零率閾值;不過閾值一般不超過 8,以免增加計算量。





1.2.3 判斷閾值的確定
如 1.2.1 和 1.2.2 節所述,算法實現時需先確定短時能量檢測的閾值
和短時過零率的閾值
,其中短時過零率的閾值
由 1.2.2 節確定,還需要確定短時能量檢測的閾值
。由于閾值
用于區分背景噪聲和 EMG 信號,且前者幅值遠小于后者,因此
可根據實測信號包絡線幅值的平均值來確定,如式(7)所示。
![]() |
其中,
,即
幀包絡線幅值的均值,
為短時能量比例系數。
根據實際運行效果調整,當背景噪聲幅值較低時,
可取較小的值;反之,當背景噪聲幅值較高時,可適當增大
。
2 實驗結果
應用與廣州雪利昂公司合作開發的 sEMG 信號采集儀(技術指標滿足中國醫藥行業標準 YY/T 1095-2015 對肌電生物反饋儀的要求)采集十例處于靜止狀態健康成年測試者的腹直肌收縮-舒張動作的 sEMG 信號,其中九例男性,一例女性,年齡在 20~25 歲之間。每例測試者采集三組數據,每組至少包含三次收縮-舒張動作。采集環境條件保持一致,且每次測量完成后讓受測試者休息一段時間。對采集所得的三組數據檢測 sEMG 的起止點,記錄處理過程的中間結果:短時過零率、短時能量
、短時能量包絡
以及平滑包絡線幅值
,并記錄起止點的最終檢測結果。將檢測結果中端點檢測不受 ECG 干擾影響的記為“正確判斷”,反之記為“有誤判斷”,據此統計得檢測結果的樣本數為 86 個,準確率為 95.6%。圖 6 給出了其中三位測試者的起止點端點的測試結果。如圖 6 所示,ECG 片段對應的短時過零率與 sEMG 的短時過零率差別很大;另外,從代表短時能量的曲線可以發現,背景噪聲的短時能量很低,ECG 片段和 sEMG 的短時能量較大。圖 6 結果表明,該算法基本克服了 ECG 干擾的影響,可較準確地檢測出 sEMG 的起止點(圖中豎線標注)。

a.第一個測試者;b.第二個測試者;c.第三個測試者。各子圖中曲線由上至下依次是原始信號、短時過零率、短時能量、短時能量包絡、平滑包絡線幅值、sEMG 起止點檢測結果
Figure6. Endpoint-detection results of rectus abdominis muscle’s sEMGa. the first group; b. the second group; c. the third group. Sub-graphs presented from top to bottom are origin signal, short-time zero-crossing rate, short-time energy (), the envelope of short-time energy (), the average envelope of short-time energy (), and the endpoint-detection result of sEMG
仔細觀察端點檢測結果出現錯誤的樣本,發現出現這些錯誤時,ECG 干擾均恰好處于 sEMG 波形的邊緣;如圖 6c 所示,sEMG 波形的終點附近出現一個 ECG 波形,終點檢測結果受此干擾判斷錯誤。但通常 ECG 波形的持續時間顯著小于 sEMG,即使端點檢測所得 sEMG 起止點位置與真實位置之間存在一定偏差,但該偏差相對于 sEMG 的持續時間而言很小,對 sEMG 的后續分析影響不大。
如算法所描述,對于一段長度為 LD 個采樣點的肌電實測信號,算法實現的程序指令時間約為 T(LD)≈ LD(LF+LA+5)/M+2LD,即其算法復雜度為 O(LD),復雜度低,可滿足快速運算的要求。
3 結論
本文借鑒語音信號端點檢測的方法,建立了一種可克服 ECG 干擾影響的 sEMG 起止點檢測算法。該算法根據 sEMG 與 ECG 短時過零率的差異以及 sEMG 與背景噪聲短時能量的差異確定算法參數,從而實現 sEMG 的起止點檢測。本文以腹直肌 sEMG 信號為典型應用,介紹了確定該算法的短時能量和短時過零率判斷閾值等各參數的方法,并給出了實驗結果。實驗結果表明,該方法不易受 ECG 干擾而可實現 sEMG 起止點的準確檢測,檢測準確率達到 95.6%。
引言
肌電圖(electromyography,EMG)是指經過電極引導、放大、記錄和顯示的單個和多個肌細胞或部分肌肉組織活動所產生的生物電變化一維時間序列信號圖[1]。表面肌電圖(surface electromyography,sEMG)是 EMG 的一種類型,其特點是電極在人體表面采集信號而不對人體造成創傷。sEMG 記錄了肌肉肌纖維活動相關的電位變化過程,被廣泛應用于臨床醫學、康復醫學、體育健身等方面的研究。
不管是 sEMG 的時域分析還是頻域分析,肌電起止點(即動作起止時刻)的準確判斷均是保證分析結果正確性的關鍵前提。當數據量不大時,可以由經驗豐富的分析員人工選定 sEMG 的起止點,但數據量大時這種方法的效率很低。sEMG 與語音信號類似,都屬于短時平穩信號[2-3],可以借鑒語音信號的端點檢測算法。語音識別中常見的端點檢測方法是基于短時能量的端點檢測方法[2],將信號按固定幀長和幀移分幀,根據單幀信號均方根值是否超過閾值來判斷信號端點。直接運用這一算法來檢測 sEMG 端點,當被觀察肌電幅值較強時,可以有效地檢測到動作的起止點;但若在測量位置處被觀察肌電幅值較弱而心電(electrocardiogram,ECG)干擾幅值相對較大時,其容易因 ECG 干擾而誤判動作起止點。
克服 ECG 干擾影響的最直接的方法是抑制所測肌電信號中的 ECG 成分,即根據 ECG 和 sEMG 信號的頻譜差別設計合適的濾波器以濾除 ECG。決定 ECG 幅值的主要能量集中于 30 Hz 以下的頻段[4-5],因此,作截止頻率為 20 Hz 或 30 Hz 的高通濾波可以大大削弱 ECG 干擾[6-8]。不過這種高通濾波方法勢必也濾去一部分 sEMG 有效信號,影響肌電分析結果。為此,研究人員提出了很多新的方法。例如:Mak 等[9]提出了利用獨立成分分析法(independent component analysis,ICA)減少 ECG 對 sEMG 的干擾;Costa 等[10]提出了單通道 ICA 分離的方法;Nougarou 等[11]提出離散小波變換(discrete wavelet transform,DWT)與 ICA 混合算法;周權等[12]則提出結合小波變換(wavelet transform,WT)和能量熵的混合算法。這些新方法在很大程度上能有效地抑制 ECG 波形,保證了 sEMG 分析結果的準確性,但計算量往往較大,在穿戴式設備上實現有一定的難度。當前移動醫療健康監測設備的應用日益廣泛,受成本、體積、功耗等因素限制,移動醫療設備通常應采用計算量較小的算法。
鑒于此,本文借鑒語音識別的端點檢測方法,建立一種計算量小的 sEMG 起止點檢測的算法,其綜合利用 sEMG 短時過零率高于 ECG 以及 sEMG 強度高于背景噪聲的特點,確定 sEMG 的起點和終點。腹直肌的 sEMG 測量部位靠近心臟,其 sEMG 信號受 ECG 干擾比較嚴重,因此本文研究對象以腹直肌的 sEMG 為主,但不局限于腹直肌的 sEMG。
1 算法原理及步驟
1.1 傳統的均方根閾值法及其缺點
記第n時刻 sEMG 值為
,
,其中
為所需分析的數據的點數。取幀長為
,根據式(1)計算第k幀的均方根值
,
,其中
表示對
作四舍五入的取整運算。
![]() |
由于 sEMG 信號幅值顯著高于背景噪聲(無 sEMG 時)的幅值,故可根據背景噪聲的統計參數設定閾值以判斷 sEMG 的起止點。選取一段足夠長(例如 32 幀)的背景噪聲信號,根據式(1)計算每一幀噪聲的均方根值,再求所有幀噪聲均方根值的均值
和標準差
。通常假設背景噪聲滿足高斯分布,故可根據其統計特性設置閾值,例如可取閾值為
,當第k幀的 sEMG 的均方根值大于該閾值,則認為該幀信號非背景噪聲而為 sEMG 信號。
圖 1a 顯示的是一段采樣頻率為 2 kHz,并經過通帶為[10 Hz, 700 Hz]的二階帶通濾波器和一個二階工頻陷波器濾波后的腹直肌 sEMG 數據,其中橢圓圈中所標示的為 ECG 片段。根據上述均方根閾值方法對其進行分析,所得結果如圖 1b 所示,豎線表示檢測到的 sEMG 起止點位置。可以發現,sEMG 信號起止點的檢測結果并不準確,將一部分 ECG 片段當成 sEMG 檢測出來。由于該段信號中 ECG 幅值較高,即便調大閾值,檢測結果亦不理想。增大幀長至遠大于單次 ECG 持續時間,則可減小誤判的概率,但是過度增大幀長又會加大 sEMG 起止點的定位誤差。

a. sEMG 信號(橢圓圈中為 ECG 片段);b. sEMG 信號起止點檢測結果(豎線表示)
Figure1. sEMG and endpoints detected by means of a classical root-mean-square methoda. sEMG (ECGs marked out within the ovals);b. endpoints found (marked out by vertical lines)
1.2 基于短時能量和短時過零率的 sEMG 信號起止點檢測方法
語音信號處理中,通常聯合短時能量和短時過零率以克服高幅值噪聲的干擾,實現準確的端點檢測[2]。與語音信號一樣,sEMG 亦具有短時平穩特性,此外,sEMG 短時過零率高于 ECG 而強度高于背景噪聲,故此,本文借鑒語音信號的端點檢測方法實現 sEMG 的起止點檢測,其主要計算過程包括短時能量包絡和短時過零率計算及閾值判斷兩部分。
1.2.1 基于短時能量的檢測
考慮到均方根計算量偏大且絕對值能起到與均方根相近的效果,語音處理中通常也以求絕對值之和的方式來確定單幀的短時能量。本文方法亦以絕對值方式計算單幀的短時能量。記第j幀的短時能量值為
,其值根據式(2)計算。
![]() |
其中,
,幀長和幀移分別為
和
。圖 2 描述了本文所采取的短時能量計算過程。

幀長
和幀移
需根據采樣頻率確定。提高起止點時間定位的精度應選擇較小的幀長,但瞬時尖峰噪聲往往會使個別相鄰兩幀的短時能量值出現很大的差別,加大了確定短時能量閾值的難度。本文采用先對幀短時能量
作
階低通濾波得短時能量包絡
,再對
作滑動平均處理得
的方法,以盡可能去除
曲線中存在的高幅值的峰、谷點。所采用的
階低通濾波的脈沖傳遞函數如式(3)所示。
![]() |
其中,
和
分別為短時能量和短時能量包絡的 z 變換,
為濾波器參數,其值可根據期望的截止頻率確定。例如,若期望截止頻率為 100 Hz,當采樣頻率為 1 kHz 且選取
、
時,可構造一個三階低通濾波器,其差分方程和頻率特性分別如式(4)和圖 3 所示。由圖 3 易知,其截止頻率約為 79 Hz。

![]() |
其中,
為第
幀的能量包絡值。應說明的是,式(4)中取 2 的負整數冪次為濾波器參數,故可通過移位實現乘法運算,有利于降低計算量。但這些參數的選擇并不唯一,只要低通濾波截止頻率合適,均可較好地求得包絡線,消除短時能量曲線中可能出現的尖峰。
進一步對
作如式(5)所示的滑動平均處理,得平滑包絡線幅值
。
![]() |
逐幀考察平滑包絡線幅值
,判斷其是否超過閾值
,若未超過則屬背景噪聲,否則屬 sEMG 和/或 ECG 信號幀。需指出的是,
的取值太小容易導致起止點誤檢測;但若取值過大,則起止點定位精度不高。閾值
的選取將會在 1.2.3 節介紹。
1.2.2 基于短時過零率的檢測
本文所述的短時過零率定義為一窗口(即連續數幀)內肌電信號穿越零值的次數。過零率決定于信號主要分量的頻率。健康成人 ECG 的主頻帶雖落于 0.05~100 Hz 之間[13],但由于其以 QRS 波群為主,頻譜分布較為集中,ECG 能量集中在 30 Hz 以下頻段[4-5];而 sEMG 信號的頻段為 5~450 Hz[14],且能量的頻段分布不如 ECG 那么集中。因此,選取長度合適的窗口來觀察 sEMG 和 ECG 波形,當采樣頻率相同時,兩種信號在單個窗口內穿越零值的次數將有顯著差別,ECG 穿越零值次數比 sEMG 少,可利用這一特點基于短時過零率檢測 sEMG 的起止點。
計算短時過零率選取的窗長要合適,窗長過小難以確定合適的短時過零率閾值,過大則會增大計算量,且起止點定位精度低。分別記 ECG 和 sEMG 主要分量對應的平均頻率為
和
。記窗長為
,則短時過零次數
與
及采樣頻率
的關系滿足式(6)。
![]() |
若按參考文獻[4]和[14]的結論,取
30 Hz,而
100 Hz,則根據式(6)可確定
不同取值時
值的上下限,結果如表 1 所示。





為確認表 1 結果,可進一步做如下統計:測量背景噪聲幅值相對較小的 ECG 與 sEMG 信號,計算在不同
值下相應的短時過零次數
;運用 sEMG 采集儀對十位處于靜止狀態的健康成年測試者(九位男性一位女性,年齡在 20~25 歲之間)采集 sEMG 信號,每位測試者采集三次,每次五組數據。求出
的平均值和標準差,畫出折線圖如圖 4 所示,其中折線代表的是
取不同值時過零次數
的平均值,垂直線段表示根據過零次數標準差確定的過零次數上下限。





結合表 1 和圖 4 可知,
時,根據短時過零次數
即可較好地區分 ECG 和 sEMG。但窗長
越大,計算量越高,故折中考慮選取
。此時,如果
=2 kHz,則短時過零次數
,短時過零率閾值
可選定為 4。對于不同測試者,當
時,過零次數均值波動不大,如圖 5 所示,因此所選閾值參數具有一定的普遍適用性。具體應用時,若
取 4 依然容易因 ECG 干擾導致誤判,則可選擇更大的短時過零率閾值;不過閾值一般不超過 8,以免增加計算量。





1.2.3 判斷閾值的確定
如 1.2.1 和 1.2.2 節所述,算法實現時需先確定短時能量檢測的閾值
和短時過零率的閾值
,其中短時過零率的閾值
由 1.2.2 節確定,還需要確定短時能量檢測的閾值
。由于閾值
用于區分背景噪聲和 EMG 信號,且前者幅值遠小于后者,因此
可根據實測信號包絡線幅值的平均值來確定,如式(7)所示。
![]() |
其中,
,即
幀包絡線幅值的均值,
為短時能量比例系數。
根據實際運行效果調整,當背景噪聲幅值較低時,
可取較小的值;反之,當背景噪聲幅值較高時,可適當增大
。
2 實驗結果
應用與廣州雪利昂公司合作開發的 sEMG 信號采集儀(技術指標滿足中國醫藥行業標準 YY/T 1095-2015 對肌電生物反饋儀的要求)采集十例處于靜止狀態健康成年測試者的腹直肌收縮-舒張動作的 sEMG 信號,其中九例男性,一例女性,年齡在 20~25 歲之間。每例測試者采集三組數據,每組至少包含三次收縮-舒張動作。采集環境條件保持一致,且每次測量完成后讓受測試者休息一段時間。對采集所得的三組數據檢測 sEMG 的起止點,記錄處理過程的中間結果:短時過零率、短時能量
、短時能量包絡
以及平滑包絡線幅值
,并記錄起止點的最終檢測結果。將檢測結果中端點檢測不受 ECG 干擾影響的記為“正確判斷”,反之記為“有誤判斷”,據此統計得檢測結果的樣本數為 86 個,準確率為 95.6%。圖 6 給出了其中三位測試者的起止點端點的測試結果。如圖 6 所示,ECG 片段對應的短時過零率與 sEMG 的短時過零率差別很大;另外,從代表短時能量的曲線可以發現,背景噪聲的短時能量很低,ECG 片段和 sEMG 的短時能量較大。圖 6 結果表明,該算法基本克服了 ECG 干擾的影響,可較準確地檢測出 sEMG 的起止點(圖中豎線標注)。

a.第一個測試者;b.第二個測試者;c.第三個測試者。各子圖中曲線由上至下依次是原始信號、短時過零率、短時能量、短時能量包絡、平滑包絡線幅值、sEMG 起止點檢測結果
Figure6. Endpoint-detection results of rectus abdominis muscle’s sEMGa. the first group; b. the second group; c. the third group. Sub-graphs presented from top to bottom are origin signal, short-time zero-crossing rate, short-time energy (), the envelope of short-time energy (), the average envelope of short-time energy (), and the endpoint-detection result of sEMG
仔細觀察端點檢測結果出現錯誤的樣本,發現出現這些錯誤時,ECG 干擾均恰好處于 sEMG 波形的邊緣;如圖 6c 所示,sEMG 波形的終點附近出現一個 ECG 波形,終點檢測結果受此干擾判斷錯誤。但通常 ECG 波形的持續時間顯著小于 sEMG,即使端點檢測所得 sEMG 起止點位置與真實位置之間存在一定偏差,但該偏差相對于 sEMG 的持續時間而言很小,對 sEMG 的后續分析影響不大。
如算法所描述,對于一段長度為 LD 個采樣點的肌電實測信號,算法實現的程序指令時間約為 T(LD)≈ LD(LF+LA+5)/M+2LD,即其算法復雜度為 O(LD),復雜度低,可滿足快速運算的要求。
3 結論
本文借鑒語音信號端點檢測的方法,建立了一種可克服 ECG 干擾影響的 sEMG 起止點檢測算法。該算法根據 sEMG 與 ECG 短時過零率的差異以及 sEMG 與背景噪聲短時能量的差異確定算法參數,從而實現 sEMG 的起止點檢測。本文以腹直肌 sEMG 信號為典型應用,介紹了確定該算法的短時能量和短時過零率判斷閾值等各參數的方法,并給出了實驗結果。實驗結果表明,該方法不易受 ECG 干擾而可實現 sEMG 起止點的準確檢測,檢測準確率達到 95.6%。