文獻標識碼: 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檢錯和點對多點通信地址控制,抗干擾能力強,?;赪IFI的無線文件傳輸系統(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.