文獻標識碼: A
文章編號: 0258-7998(2012)07-0078-03
表面肌電信號(SEMG)利用粘貼在人體肌肉表面的Ag-AgCl電極片,測量肌肉活動時的放電信號。它不同于針電極插入肌肉的測量方法,具有簡單易用、無創(chuàng)傷、無痛苦的優(yōu)點,能有效反映肢體運動信息。它可以被用在臨床醫(yī)學(xué)研究與診斷、康復(fù)工程、機器人等領(lǐng)域[1]。
現(xiàn)有肌電采集儀具有通道數(shù)目較少、所測數(shù)量少、測量受連接電纜的束縛等缺點,因此,本文提出了一種無線肌電采集裝置,以STM32F103作為處理器,利用nRF24L01作為射頻無線收發(fā)模塊,不但可克服以上缺點,還具有穩(wěn)定可靠、傳輸距離遠、數(shù)據(jù)量大等優(yōu)點。在助力機器人應(yīng)用中,可以實時采集人在上樓梯、遠距離行走時的SEMG。目前,該裝置已經(jīng)被用于助力機器人的助力效果評價中[2]。
1 工作原理
系統(tǒng)結(jié)構(gòu)框圖如圖1所示。16個通道的肌電信號通過差分電極,經(jīng)過射極跟隨電路緩沖后,經(jīng)放大、濾波、電平抬升后供STM32F103進行采集。STM32F103內(nèi)部的切換開關(guān)分時選通每個通道,由于切換速度高,可認為采集是同步進行的。STM32F103將SEMG進行數(shù)字濾波后,通過nRF24L01發(fā)送至接收端。接收端將數(shù)據(jù)通過USB接口發(fā)送至上位機軟件。STM32F103具有最高128 KB的Flash,最高20 KB的SRAM,主頻可以達到72 MHz,具備二個SPI同步串行接口,一個USB2.0全速接口。它自帶A/D轉(zhuǎn)換器,具有16通道、1 μs轉(zhuǎn)換速度、12 bit采樣精度,可完成16通道的SEMG數(shù)據(jù)采集。通道數(shù)目越多,可測量的數(shù)據(jù)點就越多,所反映肌肉塊的數(shù)據(jù)信息也就越多。多通道可以構(gòu)成陣列式電極,運用相關(guān)算法,可對復(fù)雜肢體運動進行識別。雖然MSP430單片機采樣頻率可以達到200 kS/s,但受制于晶振的工作頻率及串口傳輸速率的瓶頸,無法做到8通道以上的高速SEGM采集。
nRF24L01作為采集儀的收發(fā)模塊,是一種工作于2.4 GHz的無線工業(yè)級的通信芯片, 它的最高傳輸速率為2 Mb/s,具有內(nèi)置硬件CRC檢錯和點對多點通信地址控制,抗干擾能力強。基于WIFI的無線文件傳輸系統(tǒng),對于嵌入式系統(tǒng),配置雜,功耗較高。使用工業(yè)級無線模塊nRF24L01做無線收發(fā)任務(wù),配置簡單,功耗低。
2 系統(tǒng)硬軟件設(shè)計
2.1 SEMG的前端調(diào)理
SEMG非常微弱,幅度一般為0.1~5 mV,常常淹沒在大量噪聲中,極易受到干擾。要先進行首級放大后才能進行濾波,放大電路選用高共模抑制比、低輸入偏置電流的儀表運放INA111。對于毫伏級小信號的放大,運算放大器選擇特性優(yōu)良的OPA4277,其參數(shù)為:偏置電壓10 μV,偏置電流1 nA,溫漂±0.1 μV/℃,電源抑制比130 dB,靜態(tài)電流0.79 mA,單雙電源供電,軌對軌輸出。前3個參數(shù)可防止SEMG淹沒在器件本身的噪聲中,高電源抑制比可避免由電源波動引起的噪聲干擾,低靜態(tài)電流可減少鋰電池供電時的功耗??紤]到SEMG頻帶為10~500 Hz,故設(shè)計-3 dB截止頻率范圍為10~500 Hz的帶通濾波器,濾除SEMG夾雜的低頻和高頻的干擾信號,再進行末級放大。取INA111差分信號的平均值,做積分運算,運算結(jié)果作為參考電極——浮地(Float GND),可有效地抑制共模干擾。電路圖如圖2所示。
電路中僅做帶通濾波還不夠,還需針對50 Hz的工頻陷波,可選方法很多。有源T型陷波器雖然理論與設(shè)計成熟,但對元件的對稱性要求極其嚴格,元件精度直接影響中心頻率與Q值,調(diào)試非常困難;用UAF42通用濾波器構(gòu)成的陷波器,可以使50 Hz工頻衰減40 dB[3],但是對于多通道的數(shù)據(jù)采集系統(tǒng)來說,每個通道都加一片UAF42及外圍電路,硬件顯得過于龐雜。結(jié)合STM32F103的數(shù)據(jù)處理速度快的特點,直接用數(shù)字濾波,可以簡化系統(tǒng)設(shè)計、降低成本。使用FIR濾波器可以設(shè)計到高階,而且線性相位性能好,詳細過程在后面介紹。
2.2 SEMG數(shù)據(jù)采集與發(fā)送
參考文獻[4]介紹了一種96通道的陣列式SEMG采集與測量系統(tǒng),ADC轉(zhuǎn)換速率高達1 MHz。有研究表明,SEMG 作為一種微弱的生物電信號,其頻率分布在10~500 Hz,且絕大部分集中在20~150 Hz之間[5]。根據(jù)香農(nóng)定理及工程實踐經(jīng)驗,將STM32F103的采樣頻率定為1 kHz,已經(jīng)能夠較好滿足實際需求。每次A/D轉(zhuǎn)換結(jié)束后,使用DMA方式將轉(zhuǎn)換后的數(shù)據(jù)依次移至數(shù)據(jù)緩沖區(qū),數(shù)緩沖區(qū)填滿后,將4 KB數(shù)據(jù)無線發(fā)送到接收模塊。
SEMG數(shù)據(jù)發(fā)送工作流程如下:采集模塊接收到PC機發(fā)送的采集命令參數(shù)后,解析命令的具體功能,如開始采集、發(fā)送數(shù)據(jù)、停止采集、濾波、修改采樣頻率等。采集模塊將數(shù)據(jù)按Modbus協(xié)議格式打包成數(shù)據(jù)幀,通過SPI接口傳給nRF24L01自動發(fā)送。如果采集模塊接收到重傳命令,重新傳遞數(shù)據(jù)。
2.3 SEMG數(shù)據(jù)接收
接收模塊的STM32F103在上電后,完成系統(tǒng)時鐘配置與初始化片外設(shè)備,并從nRF24L01讀取數(shù)據(jù),進行CRC校驗,若數(shù)據(jù)出錯,則命令發(fā)送模塊重傳。若數(shù)據(jù)正確,放入DMA中,等到數(shù)據(jù)緩沖滿4 KB時,將數(shù)據(jù)打包,通過STM32的USB接口,發(fā)送到上位機軟件,進行實時顯示與存儲。意法半導(dǎo)體公司專門為STM32F103 提供USB固件驅(qū)動程序庫,簡化了應(yīng)用開發(fā)流程。首先,使用DriverStudio中的Driver works編寫USB 驅(qū)動程序,生成“*.inf”與“*.sys”文件。然后,當接收端與PC機連接時,PC機自動加載USB驅(qū)動程序,上位機軟件用CreateFile 函數(shù)打開設(shè)備,用ReadFile 從WDM中讀數(shù)據(jù),用WriteFile寫數(shù)據(jù)給WDM。利用TeeChart Active控件,實現(xiàn)數(shù)據(jù)的可視化輸出。為減小文件大小、提高讀寫速度,防止出現(xiàn)死機與丟包現(xiàn)象發(fā)生,數(shù)據(jù)被以二進制文件“*.dat”的形式存儲在硬盤中。最后,當應(yīng)用程序退出時,用CloseHandle關(guān)閉設(shè)備。
3 工頻濾波
使用較好的差分電極和高共模抑制比的儀表運放,可減少工頻噪聲。但是它的帶寬較窄,難以充分抑制。工頻干擾主要集中在以50 Hz及其倍頻上,如100 Hz、150 Hz、…、450 Hz。為了把工頻干擾從SEMG中濾除,本文設(shè)計了線性遞歸的梳狀陷波器。IIR濾波器的計算量小,但沒有線性相位;FIR濾波器雖有線性相位,但其所用階次高,帶阻濾波器的系數(shù)也非整數(shù),所以乘加運算量大,無法實時處理SEMG。如果采用簡單整系數(shù)濾波可以用IIR的結(jié)構(gòu)實現(xiàn)FIR濾波器。采用全通網(wǎng)絡(luò)減去帶通網(wǎng)絡(luò)方法得到帶阻網(wǎng)絡(luò)。
帶通濾波器的轉(zhuǎn)移函數(shù)為:
根據(jù)轉(zhuǎn)移函數(shù),求出時域方程,STM32處理器將采集數(shù)據(jù)放到循環(huán)隊列中與時域方程的各項系數(shù)進行乘加運算,得到濾波后的SEMG,再通過無線傳輸方式發(fā)送到上位機。為了驗證濾波器的設(shè)計效果,用120 Hz、210 Hz兩種正弦波疊加,并添加50 Hz及其倍頻干擾,來模擬SEMG。濾波前后對比如圖3所示??煽闯鰪?fù)合信號經(jīng)陷波后,工頻成分極大地衰弱,陷波器窄阻帶很好地保護了其他有效頻帶內(nèi)的模擬SEMG。
4 SEMG的特征提取
可通過時域與頻域的方法來提取特征參數(shù),對SEMG進行模式識別。時域方法計算時域SEMG信號的方差和均值,由于個體差異、電極片粘貼位置、肌肉發(fā)力強度、測量時間、引入噪聲等因素,導(dǎo)致計算結(jié)果存在很大差異,適用性和可靠性均不佳[6]。頻域方法是指計算SEMG的平均功率頻率和中值頻率。由于功率譜波形穩(wěn)定好,提取的頻域特征也相對比較穩(wěn)定,有利于進行SEMG的模式識別。嘗試使用功率譜比值法也獲得了較好的效果。
先從采集的SEMG 中找出功率譜的最大值f0,然后,計算出f0附近某個指定寬度±n區(qū)域的面積,再除以功率譜整個總面積P, 得到功率譜特征比值K。具體定義如下:
經(jīng)過實驗,當n取為15 Hz,特征值的區(qū)分度較好。分子P0為功率譜在f0±15 Hz的面積,分母P取在20-450 Hz內(nèi)功率譜面積。得到的兩路SEMG功率譜比值如表1所示。從表1看出,利用橈側(cè)腕屈肌、尺側(cè)腕屈肌和肱橈肌、掌長肌屈肌這兩組功率譜比值來區(qū)分腕內(nèi)外轉(zhuǎn)動與手腕上下?lián)P。手腕作相對運動時,對應(yīng)肌肉存在大小差異。比如手腕上揚時,肱橈肌功率譜比值大于掌長肌,下?lián)P時肱橈肌的功率譜比值小于掌長肌。
本文將STM32F103處理器應(yīng)用到肌電采集裝置中,通道數(shù)目多,數(shù)據(jù)處理能力強。采用nRF24L01收發(fā)數(shù)據(jù),傳輸量大,可靠性高。針對信號調(diào)理電路在工頻消噪這一環(huán)節(jié)上的不足,設(shè)計了50 Hz梳狀陷波器,能有效濾除工頻。采用的功率譜比值法提取簡單手勢的SEMG特征,有較好的識別效果。
參考文獻
[1] 姚松麗,章亞男,張震.利用選擇性肌電信號控制踝關(guān)節(jié)神經(jīng)運動康復(fù)裝置[J].上海大學(xué)學(xué)報,2009,15(3):245-250.
[2] 向馗,李濤,宋全軍,等.面向外骨骼助力的肌張力信息實時獲取[J].華中科技大學(xué)學(xué)報,2011,39(2):259-263.
[3] 顏良, 陳儒軍, 劉石,等. 基于UAF42通用濾波芯片的50 Hz陷波器設(shè)計[J].儀器儀表學(xué)報,2006,27(8):924-927.
[4] NAGATA K, MAGATANI K, et al. Monte carlo method for evaluating the effect of surface EMG measurement placement on motion recognition accuracy[C]. 31st Annual International Conference of the IEEE EMBS Minneapolis, Minnesota, USA, September 2-6,2009:2583-2586.
[5] RONAGER J, CHRISTENSEN H. Power spectrum analysis of the EMG pattern in normal and diseasedmuscles[J].Neurol. Sci, 1989,94(1-3):283-294.
[6] 李耀宇,郭凌菱,雷英杰.肌電信號的波幅直方圖統(tǒng)計處理[J].生物醫(yī)學(xué)工程雜志,1995,12(3):237-240.