陶陳逸1,, 蘇振新2, 丁佳偉2,, 黃志成1,, 陸文娟2
1. 南京郵電大學 地理與生物信息學院,江蘇 南京 210023; 2. 南京郵電大學 通信與信息工程學院,,江蘇 南京 210003
摘要:結合嵌入式系統(tǒng)和腦機接口技術,,構建腦力驅動殘疾人輪椅系統(tǒng)。首先利用腦電信號(EEG信號)的采集芯片裝置TGAM對腦電信號進行采集,;其次通過藍牙模塊將TGAM和計算機相連接,,將采集到的腦波原始數(shù)據(jù)傳輸?shù)接嬎銠C上,利用eSense算法將腦電數(shù)據(jù)進行量化,;然后再通過藍牙無線連接到Arduino輪椅控制平臺,,通過I/O控制口實現(xiàn)腦力對輪椅的控制;最后提出采用多語言混合編程的方法實現(xiàn)腦電信號的圖像顯示,,相比單一語言編程的圖像顯示,,多語言混合編程法更好地顯示了腦電信號的三維圖像。
關鍵詞:腦電信號,;eSense算法,;Arduino輪椅控制平臺;圖像顯示
0引言
人類的每一閃思維,、每一種情緒,、每一個想法,在大腦中都會產(chǎn)生特定的腦電信號,,腦電信號反映出大腦皮層不同區(qū)域的活動狀態(tài),,通過對腦電信號的分析和處理,可以有效地從腦電信號中提取可靠的特征參量來反映腦的功能狀態(tài)[1],。不同思維情況下產(chǎn)生的神經(jīng)元放電活動信號表現(xiàn)出不同的時空變化模式并導致EEG信號的不同,。
隨著全球各國生活水平以及醫(yī)療水平的提高,人口老齡化逐漸成為大部分國家需要認真考慮的問題,,贍養(yǎng)老人也成為下一代很嚴重的壓力問題,。因此智能生活的需求十分迫切,身體的不健全導致的一些生活的不便利可以通過大腦活動來彌補,。智能輪椅的發(fā)明為現(xiàn)代人們提供了一種新的思路。
對于嚴重神經(jīng)或肌肉傷殘的人來說,,可以利用大腦的信息與計算機或其他設備進行通信,,因此在腦電信號的提取方面有一定的研究必要。
腦機接口(Brain Computer Interface,BCI)是在人腦和計算機或其他電子設備之間建立一種不依賴于常規(guī)大腦輸出通路(外周神經(jīng)和肌肉組織)的直接信息交流和控制通道,,是一種全新的人機交互系統(tǒng)[2],。對于遭受嚴重神經(jīng)或肌肉傷殘的人來說,可以利用腦機接口技術實現(xiàn)腦電信號與計算機或其他電子設備進行通信,。
Mindwave腦電采集裝置是一種不依賴于外周神經(jīng)和肌肉等常規(guī)輸出通道的信息交流系統(tǒng),。它可為神經(jīng)肌肉障礙患者提供一條與外界溝通的途徑,并在虛擬現(xiàn)實、游戲娛樂和航空等領域具有潛在價值。目前,常用的腦電輸入信號包括P300,、穩(wěn)態(tài)視覺誘發(fā)電位(SSVEP),、皮層慢電位(SCP)以及μ或β節(jié)律等。其中,SCP,、μ或β節(jié)律等自發(fā)腦電不依賴于額外刺激的輸入,不會產(chǎn)生視覺疲勞,沒有適應性的問題,且其神經(jīng)生理學基礎已獲得比較深入的研究,因而在Mindwave腦電采集裝置中得到了較多的應用,。但是,基于自發(fā)腦電的腦機接口也存在明顯的缺陷,如并非所有個體都適用基于μ節(jié)律的腦機接口,基于SCP的腦機接口要經(jīng)過長時間的訓練才能實現(xiàn)等。
本文以此為基礎,,設計出一種能為手腳不便的殘疾人提供一個腦力驅動的輪椅系統(tǒng),,使用者無需手動操作操縱桿便可完成輪椅的前進、轉向,、停止等動作,。本文利用多語言混合編程方法,設計軟件編程對腦電信號的三維圖像進行顯示設計,。
1系統(tǒng)結構
本文的研究步驟是按照腦電信號的數(shù)據(jù)采集和分析數(shù)據(jù)處理數(shù)據(jù)輸出回饋框架,,將腦電信號一路傳輸?shù)娇刂贫藢崿F(xiàn)輪椅的移動,一路傳輸?shù)接嬎銠C顯示端實現(xiàn)腦電信號的圖像顯示,。使用TGAM芯片進行腦電數(shù)據(jù)的采集和分析,,利用藍牙模塊把采集、分析的數(shù)據(jù)傳輸?shù)接嬎銠C上,,計算機進行數(shù)據(jù)的處理,,通過藍牙模塊把處理后的數(shù)據(jù)傳輸?shù)紸rduino平臺,經(jīng)由數(shù)據(jù)算法轉換成控制信號,,對殘疾人輪椅進行控制,。輪椅的移動狀態(tài)能夠通過人的眼睛器官回饋給大腦,并在控制輪椅移動的同時在計算機上顯示腦電信號的三維圖像,。
腦力驅動殘疾人輪椅和圖像顯示的系統(tǒng)框架圖如圖1所示,。
2系統(tǒng)硬件設計
2.1數(shù)據(jù)采集模塊
頭戴式無線腦機接口系統(tǒng)設備[3]采用半導體微加工工藝制作的“干”電極作為采集腦電信號的電極,通過干態(tài)電極傳感器采集生物電信號,,將采集的信號傳入到ThinkGear芯片中,。
ThinkGear ASIC芯片是一種SoC(Systerm on Chip)。NeuroSky公司的ThinkGear ASIC專用芯片[4]集成了腦電信號的采集,、濾波,、放大、A/D轉換,、數(shù)據(jù)處理及分析等功能,,并通過UART標準接口對外輸出以下4種參數(shù):
(1)數(shù)字化的原始腦電波數(shù)據(jù),輸出頻率512 Hz(每秒512個數(shù)據(jù)包),。
(2)8個δ,、θ、α、β,、γ波EEG參數(shù),,輸出頻率1 Hz;δ:1~3 Hz,;θ:4~7 Hz,;α1:8~9 Hz;α2:10~12 Hz,;β1:13~17 Hz,;β2:18~30 Hz;γ1:31~40 Hz,;γ2:41~50 Hz,。
(3)“專注度”,、“放松度”兩個eSense參數(shù),,輸出頻率1 Hz。
?。?)傳感器與皮膚的接觸良好程度參數(shù),,輸出頻率1 Hz。
該芯片集成的腦電信號分析模塊可以輸出實驗所需的“專注度”和“放松度”兩個參數(shù),。
2.2Arduino平臺
Arduino UNO是Arduino USB 接口系列的最新版本,,作為Arduino 平臺的參考標準模板。UNO的處理器核心是ATmega328,,同時具有14 路數(shù)字輸入/輸出口(其中6 路可作為PWM輸出),,6 路模擬輸入,一個16 MHz 晶體振蕩器,,一個USB 口,,一個電源插座,一個ICSP header 和一個復位按鈕,。UNO已經(jīng)發(fā)布到第三版,,與前兩版相比第三版有以下新的特點:在AREF 處增加了兩個管腳SDA 和SCL,支持I2C 接口,;增加IOREF 和一個預留管腳,,將來擴展板將能兼容5 V和3.3 V核心板。這樣改進了復位電路設計,,USB 接口芯片由ATmega16U2替代了ATmega8U2[5]。
2.3受控模塊:電動殘疾人輪椅
輪椅的操縱桿控制電路如圖2所示,,其與機械操縱桿(如圖3)連接可對輪椅進行方向控制,。輪椅的操縱桿有五個端口,分別為:控制輪椅前進后退的A端口、基準參考電壓GND,、控制輪椅左右轉向的B端口,、電源電壓VCC(5 V)、反饋調(diào)節(jié)電壓Vref,。
輪椅方向的控制需要A端口和B端口的共同作用,。由于采用了模糊控制方法,在A端口,,電壓在2.25 V~2.75 V之間時,,輪椅在前進方向是停止的;當電壓低于2.25 V時,,輪椅會后退,,由于電路內(nèi)部的保護機制,后退速度是固定且緩慢的,;當電壓高于2.75 V時,,輪椅的轉速會隨著電壓的變大而變大。
同樣在B端口,,電壓在2.25 V~2.75 V之間時,,輪椅不進行左右轉向;當電壓大于2.75 V時,,輪椅通過右電機轉速大于左電機轉速的方式實現(xiàn)左轉,,且左轉的幅度大小隨B端口輸出電壓的上升而上升;當電壓小于2.25 V時,,輪椅通過左電機轉速大于右電機轉速的方式實現(xiàn)右轉,,且右轉的幅度大小隨B端口輸出電壓的降低而降低??梢酝ㄟ^控制電壓的大小來實現(xiàn)移動的前進,、后退、轉向和停止,。
3系統(tǒng)軟件設計
3.1腦電信號的采集與分析
腦電信號的采集與分析采用NeuroSky公司的ThinkGear ASIC芯片,,腦電信息是非平穩(wěn)隨機連續(xù)的信息,以512 Hz的采樣率采集腦電信號[6],。腦電信號采集頻段在0~100 Hz之間,。
腦電數(shù)據(jù)分析是由eSenseTM算法來完成,eSenseTM是NeuroSky用于以數(shù)字化參數(shù)方式對人的當前精神狀態(tài)進行度量的專利算法[7],。首先對采集的原始腦電信號進行放大,,并消除噪聲和肌電信號的干擾,然后利用eSenseTM算法對去除干擾的信號進行計算,,得到量化的eSense參數(shù)值,。
eSense算法主要是先對原始腦波數(shù)據(jù)進行FTT變換[8],然后進行頻率濾波,,得到α波和β波,并進行功率譜分析,,選定基本參考值,,進行歸一化。
3.2Arduino平臺輪椅控制系統(tǒng)實現(xiàn)
TGAM無線腦電采集設備可以采集多個值,,如poorsignal,、attention、meditation以及Blink信號,。
poorsignal主要反應的是傳感器芯片上生物信號的強弱,,值為0時表示生物傳感器接收到的信號很好,沒有任何明顯的問題,;值在1~199區(qū)間時,,值越高說明生物傳感器檢測到的問題越多;值為200時說明傳感器可能沒有接觸到導電體,。一般在poorsignal參數(shù)值保持為0時,,采集到的其他參數(shù)值才具有時效價值。
腦電采集裝置采集到的原始腦電信號,,經(jīng)過計算機的處理后可以得到所需的“專注度”與“放松度”兩個數(shù)值,。這兩個數(shù)值在0~99之間。正常人平時的“專注度”數(shù)值在30~60之間,,當人在高度集中時,,“專注度”數(shù)值會大于60。同樣地,,正常人的“放松度”在30~60之間,,當人在閉眼放松或放松全身肌肉時,“放松度”會高于60[9],。
選用“專注度”作為控制輪椅前進,、停止的信號,此時給定B端口固定為2.5 V電壓值,,系統(tǒng)將收到的相關參數(shù)值轉換為控制輪椅移動的對應電壓值,,attention值小于60時,A端口電壓值固定為2.5 V,,保持停止狀態(tài),;attention值在60~70之間時,A端口電壓值固定為3 V,,輪椅前進,;attention值在70~80之間時,A端口電壓值固定為3.5 V,,輪椅前進,;attention值在80~90之間時,,A端口電壓值固定為4 V,輪椅前進,;attention值在90~100之間時,A端口電壓值固定為4.5 V,,輪椅前進,。
Blink信號是肌電信號,用來控制輪椅的轉向,,眨眼信號是由rawdata原始數(shù)據(jù)計算得出,,此時給定A端口固定為2.5 V電壓值,系統(tǒng)檢測到右側眨眼信號時,,B端口給定電壓1.5 V,,實現(xiàn)右轉向;當檢測到左側眨眼信號時,,B端口給定電壓3.5 V,,實現(xiàn)左轉向。
3.3腦電信號的圖像顯示
在圖像顯示方面,,綜合考慮多種問題因素,,提出采用多語言混合編程[10]的方法。所謂多語言混合編程,,是指使用兩種或兩種以上的程序設計語言來開發(fā)應用程序的過程,。源文件無論使用何種語言編寫,最終編譯的結果都是機器碼,。函數(shù)調(diào)用在機器碼中是很簡單的一步,,按照參數(shù)表的要求把參數(shù)值放入堆棧,然后使用jmp指令跳轉到要調(diào)用的函數(shù)的函數(shù)地址即可,,程序不管如何實現(xiàn),,只要知道參數(shù)表和函數(shù)地址就能調(diào)用,所有程序最終都是機器碼,,自然也符合這個規(guī)則,。所以實現(xiàn)互調(diào),只要將對方的接口程序文件映射到自己的進程中,,預先知道它的參數(shù)表,,得到它的接口函數(shù)地址,將參數(shù)放入堆棧,,然后跳轉到函數(shù)地址,,就能實現(xiàn)調(diào)用。
本文提出通過C++語言與MATLAB語言混合編程[11]的方法實現(xiàn)腦電信號的圖像顯示,,并成功通過編程讀取腦電采集芯片輸出的相關數(shù)值,,實現(xiàn)了簡單的信號二維圖形顯示,,如圖4所示。
在腦電信號的三維圖像顯示上采用的解決方案是以MATLAB語言為主,,C++語言輔助,,通過MATLAB相關的GUI設計[12],并結合移動端的顯示,,實現(xiàn)各頻段腦電波的三維圖像實時顯示,,如圖5所示。
4結論
本文利用腦電信號的“專注度”參數(shù),,通過Arduino平臺的轉換操作,,得到有效控制命令電壓值,完成了輪椅的前進和停止控制,,但在輪椅的后退控制上還未解決,。輪椅的左右轉向是通過眨眼信號來控制完成的,但是由于多種噪聲的干擾,,導致轉向的精確度不高,,提高精確度的方法是盡可能濾除噪聲影響。通過采用MATLAB語言和C++語言混合編程的方法,,成功地實現(xiàn)了腦電波的三維圖像顯示,。
參考文獻
[1] VELUVOLU K C, WANG Y, KAVURI S S. Adaptive estimation of EEG rhythms for optima band indentification in BCI[J]. Journal of Neuroscience Methods,,2012,,203(1):163-172.
[2] WOLPAW J R, BIRBAUMER N, HEETDERKS W J, et al.Braincomputer interface technology: a review of the first internationl meeting [J]. IEEE Trans Rehabil Eng, 2000, 8(2):222-225.
?。?] 王三強.腦電信號采集系統(tǒng)設計及在腦—機接口中的應用研究[D].重慶:重慶大學,,2006.
[4] 張軍.ASIC技術的特點與應用[J].信息技術,,2001(9):1-3.
?。?] 程晨.Arduino 開發(fā)實戰(zhàn)指南[M].北京:機械工業(yè)出版社,2012.
?。?] 楊幫華,,顏國正,丁國清,,等.腦接口關鍵技術研究[J].北京生物醫(yī)學工程,,2005(4):308-310.
[7] NeuroSky.Mindset Instruction Manua[Z].神念科技有限公司,,2009.
?。?] 胡廣書.數(shù)字信號處理(第2版)[M].北京:清華大學出版社,2011.
?。?] 史小華,王洪波,王建軍.電動輪椅控制器的設計與實現(xiàn)[J].電子測量技術,2013(1):65-69.
?。?0] 左艷麗.C語言和匯編語言混合編程的方法和實現(xiàn)[J].職教與經(jīng)濟研究:婁底職業(yè)技術學院學報,,2008(3):60-62.
[11] 陳建平,, 羅先啟.MATLAB與C/C++,、FORTRAN語言混合編程[J].三峽大學學報(自然科學版),2005,,26(6):547-551.
?。?2] 鄧昌瑞.基于MATLAB GUI的多功能計算系統(tǒng)設計及實現(xiàn)[D].南昌:南昌大學,2012.