謝作述,王從慶
(南京航空航天大學 自動化學院,南京 210016)
隨著科學技術的快速發展,人工智能控制在我們的日常生活中得到更廣泛的應用,例如在服務業、軍工業、工業以及高端儀器設備制造業等領域。在一些高危險性的特殊行業,人們可以操控機械臂機器人[1]來完成一系列高強度且危險的任務以保障人們的人生安全。以上所有的應用場景都要求更加多元的操控方式,而如何做到更加高效自然的進行人機交互便成了重要的研究方向。眾所周知,人體的所有活動都受到大腦的控制,大腦通過神經遞質將動作信號傳遞給人體各個部位的肌肉組織,肌肉組織通過收縮運動進而實現肢體的各種動作功能。而肌肉收縮時會產生肌電信號,經研究發現這種肌電信號是淺層肌肉和神經干上電活動在皮膚表面的綜合效應,能在一定程度上反映神經肌肉的活動。因此我們可以通過研究肌電信號的產生機理和肌電信號與肌肉運動之間的相關關系以達到讓機器識別出人體的各種動作。
目前采集人體肌電信號的神經接口技術可分為插入式針電極(Indwelling EMG,IEMG)和表面肌電(surface electromyography,sEMG)兩大類,插入時針電極由于需要將電極刺入皮下組織,所以可以得到比較純凈的肌肉電信號,但給被試者帶來較大的心理和生理上的的創傷,尤其是在對被試者進行多次不同部位采樣時,會帶來極大的痛苦。而表面肌電信號采集由于只需將電極貼在受試者皮膚上,可以做到無痛、無創,正是因為這個優勢使得表面肌電信號處理技術可以廣泛應用在運動分析、康復醫療、人機交互等諸多領域,表面肌電信號處理技術也得到了很好的發展。在利用sEMG進行人機交互方面,國外的多所大學和科研單位已經在從事相關工作,其中包括加拿大的英國帝國理工學院和紐布倫斯威克大學、美國的約翰霍普金斯大學的應用物理實驗室等。比較著名的有加拿大Thalmic Labs公司基于sEMG分析與識別設計了一款名為MYO的腕帶,它實現了與電腦聯動的虛擬仿真控制。國內有中國科技大學設計的一種具有體積小,待機時間長,精度高,可采集多路信號等特點的無線多通道表面肌電信號采集裝置[2]。浙江大學設計的一種有助于研究肌群活動狀態的高密度表面肌電信號采集系統[3]。本文根據一種可穿戴康復手套的研發需求,開展了多通道肌電信號采集的神經接口設計,并進行了相關實驗分析。
圖1給出了本文所設計的用于肌電信號采集的神經接口結構,包括穿戴在手臂上的肌電信號采集手環、對肌電信號進行濾波放大的裝置、DSP28335對肌電信號采集處理并發送給上位機,上位機對最終采集的信號進行分析識別。

圖1 神經接口結構圖
本系統采用兩次濾波放大,采集手環對信號進行第一次濾波放大,濾波電路對信號進行第二次濾波放大。根據多級放大器的噪聲合成原理,要實現最大程度的降低噪聲,就要盡可能地將較多的增益分配給前級放大器[4]。本文設計方案采用前級放大60倍,后級放大20倍,總計約1 200倍。
在表面肌電信號的檢測中,人體產生的sEMG信號的電壓值通常在0~5 000 μV之間,信號頻率主要集中在0~500 Hz之間,其中20~250 Hz范圍內的信號包含了sEMG信號的主要信息[5-6],這樣微弱的信號非常容易受到外界的干擾,而最常引入的外界干擾是市電的工頻干擾,其頻率主要為50 Hz或60 Hz,恰好處于50~250 Hz范圍內[7]。為了盡可能的消除這種工頻干擾對肌電信號檢測的影響,可以采取金屬板屏蔽或隔離的方法來消除這種影響。金屬板屏蔽消除即是將受試者與整個神經接口系統置于完全封閉的金屬板屏蔽室,且該屏蔽室要與地良好接觸。經研究,這種方法可以很好地抑制工頻干擾,但是由于屏蔽室的體積十分龐大且造價高昂,移動搬運也不便,所以一般不采用這種方法,而是尋求一種更加簡便有效的屏蔽措施即隔離消除。所謂隔離消除[8]即是使肌電信號采集系統與市電系統之間沒有任何的電流通路,本文采用獨立的電池供電可以有效地將肌電信號采集系統與市電系統完全隔離開,圖1給出了該神經接口的結構圖。
在設計肌電信號神經接口時,當使用獨立的直流電源來避免直接引入市電系統的工頻干擾后,還應注意其它使用市電供電的電器所產生的干擾。在進行肌電信號檢測時,這些用電器例如室內空調、電腦等都會產生工頻的交變電場,這些充斥在環境中的交變電場會通過磁場耦合在sEMG電極上,在理想情況下,當兩個sEMG電極與參考電極之間的阻抗相等時,耦合在上面的電壓則是一對幅度和相位都相同的共模信號,以共模途徑被引入到sEMG信號中[9]。而差分放大電路對共模輸入信號有很大的抑制能力,為了最大程度的抑制這種共模信號就要保證差分電極與參考電極之間的阻抗盡量相等,一般的做法是使參考電極遠離差分電極,同時將sEMG電極和儀表放大器直接集成在PCB板上,并且使PCB上的電路嚴格對稱。一般的儀表放大器所具有的共模抑制比為80~120 dB,對共模干擾信號的抑制作用有限。故為了更好地抑制這種性質的工頻干擾可以使用具有高共模抑制比的儀表放大器。
除了直接使用市電系統供電帶來的工頻干擾和其它由市電系統供電的電器產生的工頻干擾外,還有一種主要的干擾產生于受試者本身,這種干擾叫運動偽跡[10]。金屬電極上的微量金屬在與皮膚表面接觸后會以離子的形式進入皮膚表面的電解質。在實際的肌電信號檢測中,電解質的數量和離子的濃度會因受試者肢體運動產生的肌肉膨脹、皮膚抖動而發生變化,界面處的電荷分布也不斷變化,從而電極電位會隨著受試者的肢體運動狀態產生波動,這種波動被稱為運動偽跡。運動偽跡的頻譜主要集中在10~20 Hz以下的低頻段,與肌電信號的主要采集范圍并無重疊,因此可以利用高通濾波來消除這種干擾。
采集手環上總共有16路采集電路,每2路采集電路集成在一塊2*4 cm的PCB板上。如圖2所示為第一級放大濾波電路的其中一路電路圖,該電路使用差分放大消除共模干擾,所用儀表放大器為AD620芯片,擁有較高的共模抑制比,芯片引腳1和引腳4分別接一個彈簧探針電極,引腳2和引腳3之間串聯一個電容Cg和電阻Rg組成濾波電路以實現20 Hz的高通濾波。引腳5和引腳8上分別連接接地電容Cs1和Cs2,用以消除耦合作用[11]。

圖2 第一級放大濾波電路
該電路放大增益計算公式為:
(1)
其中:A為輸出增益,R0=49.4 kΩ為儀表放大器內部固定阻值,Rg為電阻,Cg為電容,j為虛數單位,w為信號頻率。
該電路的濾波截至頻率計算公式為:
(2)
其中:F為截止頻率,Rg=800 Ω,Cg=10 μF,對直流和極低頻運動偽跡放大倍數為1,對肌電信號的放大倍數為1+R0/Rg,約為62倍,截止頻率為20 Hz,有效的抑制了運動偽跡。
在經過采集手環對肌電信號的第一級濾波放大后,肌電信號中還有較多的高頻噪聲,同時肌電信號需經第二次放大。采集手環和濾波裝置都采用9 V的雙電源供電,因此所采集到的肌電信號范圍為-9~+9 V,考慮到DSP28335內部的AD采樣范圍為0~3 V,故需采用分壓電路,將其降到-1.5 V~1.5 V之間,再采用加法器電路,對其增加1.5 V電壓,最后得到0 V~3 V的肌電信號可供DSP進行采樣。綜上所述,濾波裝置的功能包括對經采集手環濾波放大的信號進行20~250 Hz帶通濾波,將肌電信號的電壓轉換為可供DSP28335采集的電壓,對肌電信號進行第二次放大處理,如圖3所示。

圖3 第二級濾波放大
帶通濾波電路如圖4所示,該電路為巴特沃斯[12]電路結構,采用單位增益濾波器,由低通濾波電路和高通濾波電路串聯形成帶通濾波,供電方式為9 V的雙電源供電,其中C1、C2、C3、C4、R1、R2、R3、R4為該濾波電路的參數。前級為高通濾波,為了實現截止頻率為20 Hz的高通濾波,電路中所用電容C1=C2=0.1 μF,電阻R1、R2的計算公式為:

圖4 帶通濾波電路圖
(3)
(4)
其中:采用R1=100 kΩ,R2=51 kΩ,可得截止頻率f約為22 Hz。
后級為了實現250 Hz的低通濾波,取電路中電容C4=2 μF,C3=0.2 μF,則計算電阻R3、R4的公式為:
(5)
其中當R3=R4=4.5 kΩ,可得截止頻率f1為250 Hz。
轉換電路圖如圖5所示,先將肌電信號進行比例縮放,再利用加法器電路抬升肌電信號至0~3 V,加法器與縮放電路之間添加電壓跟隨器[13]使信號更穩定。加法器公式為:

圖5 轉換電路圖
(6)
其中:Rf、R1、R2都為10 kΩ的電阻,V1、V2為相加的電壓,VOUT為輸出信號電壓。
經過以上的濾波、轉換后,再對肌電信號進行第二次放大,設置倍數為20倍,連接在轉換電路之后,則整個神經接口系統的放大倍數為1 200倍。
本設計方案采用DSP28335對肌電信號實現采樣,使用EPWM周期觸發AD采樣,觸發方式為TBCTR=TBPRD,進入AD中斷后再對SCI的發送中斷標志位寫1,以使CPU依次響應AD中斷、SCI中斷。所以需要運行的DSP外設有EPWM、片內AD和SCI,以下依次對各個外設部分進行軟件配置。
EPWM配置:
EPwm1Regs.TBCTL.bit.CLKDIV=2;
EPwm1Regs.TBCTL.bit.HSPCLKDIV=2;
EPwm1Regs.ETSEL.bit.SOCAEN = 1; //使能SOCA觸發AD
EPwm1Regs.ETSEL.bit.SOCASEL = 2; //觸發方式為TBCTR=TBPRD
EPwm1Regs.ETPS.bit.SOCAPRD = 1;
EPwm1Regs.TBPRD = 0x249E; //采樣頻率設置
EPwm1Regs.TBCTL.bit.CTRMODE = 0;
EPwm1Regs.TBCTR=0;
AD配置:
AdcRegs.ADCTRL1.bit.SUSMOD=3;
AdcRegs.ADCTRL1.bit.ACQ_PS=0;
AdcRegs.ADCTRL1.bit.CPS=0; //預定標,對外輸時鐘進行分頻
AdcRegs.ADCTRL1.bit.CONT_RUN=0;
AdcRegs.ADCTRL1.bit.SEQ_CASC=1; //級聯模式
AdcRegs.ADCTRL3.all = 0x00FE; // 給adc內部上電
AdcRegs.ADCMAXCONV.bit.MAX_CONV1=0xF;//設置16對轉換通道
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1=1; //使能PWMA SOC發
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; //使能SEQ1中斷
SCI配置:
ScicRegs.SCICCR.bit.STOPBITS=0;//1位停止位
ScicRegs.SCICCR.bit.PARITYENA=0;//禁止極性檢測
ScicRegs.SCICCR.bit.LOOPBKENA=0;//禁止回送測試模式功能
ScicRegs.SCICCR.bit.ADDRIDLE_MODE=0;//空閑線模式
ScicRegs.SCICCR.bit.SCICHAR=7; //8位數據位
ScicRegs.SCICTL1.bit.TXENA = 1; //SCIA模塊的發送使能
ScicRegs.SCIHBAUD = 0x00;
ScicRegs.SCILBAUD = 0x1C; //波特率設置為160 000
手臂肌肉動作產生的電信號十分微弱,即使放大了1 200倍依然很小,所采集的肌電信號在1.5 V上下只有很微小的波動,AD采樣的結果寄存器為12位,而SCI的發送緩沖寄存器為8位,將12位的值賦給8位的寄存器時會舍棄小數位,這對本就微弱的肌電信號是致命的。故為了盡可能多的保留小數位采取以下兩種方法。
(1)對AD采樣后的結果乘以80,以使一部分小數位變為個位或十位。如圖6(a)為處理后放松狀態下的一路肌電信號,圖6(b)為握拳狀態下的該路肌電信號,可以看出肌電信號變化范圍很小,結果不是很理想。

圖6 AD采集的肌電信號
(2)對AD采樣的結果進行歸一化處理[14],即找出采集到的16路肌電信號幅值的最大值(max)和最小值(min),并進行歸一化運算:
(7)
其中:a為歸一化后的放大倍數,由于SCI發送緩沖寄存器為8位,故最大發送值為256,取a=256,x、y分別為轉換前后的肌電信號值。
圖7(a)為經過歸一化處理后放松狀態下的一路肌電信號,圖7(b)為握拳時的這路肌電信號,可以看出肌電信號變化范圍明顯變大,手臂動作時的肌電信號很明顯。因此,本文設計的肌電采集系統采用第二種方案。

圖7 歸一化處理后的肌電信號
將采集手環、濾波裝置、DSP28335和上位機用導線連接好,采集手環和濾波裝置采用兩節9 V的直流電池組成的雙電源供電,DSP采用5 V2A的直流電源供電,在手臂上穿戴好設備并進行肌電信號的采集實驗。
本次實驗選取4種手勢如圖8所示,每種手勢動作時長分別保持5 s,采集其肌電信號,從左至右分別為握拳、OK、內屈、外屈。

圖8 4種不同手勢
整個肌電信號采集神經接口系統如圖9所示。

圖9 肌電神經接口系統
圖10所示分別為本次實驗握拳、OK、內屈和外屈手勢的肌電信號圖。

圖10 4種手勢肌電信號圖
從實驗所采集到的不同手勢的肌電信號圖,可以看出,不同手勢對應的16路肌電信號各不相同,且區別明顯。由于采集手環上的16對彈簧探針均勻分布在手臂上一周,每路采集電路分別對應不同的肌肉部位。當做不同的手勢時,肌電信號采集區域的肌肉收縮程度會隨動作手勢的不同而相應變化,在做一些對力量需求較大的手勢時,肌肉的收縮程度也會變大,所檢測到的肌電信號強度也會增加。因此可以很容易的通過對所采集到的肌電信號進行分析來識別出其所對應的手勢,從而應用到人機交互的應用中。
本文對一種采集手臂肌電信號的神經接口設計方法進行了詳細的研究,所設計的肌電采集系統對各種噪聲進行了濾除。通過實驗得到了較為準確的肌電信號,并且通過線性歸一化對DSP采樣信號進行了較好的處理,使信號更真實的反應肌肉的動作變化,利用DSP的設置靈活性,可任意配置采樣頻率和通信波特率。