官金安,張騰飛,曾興濤,周 到,高軍峰,2,舒位光
(1 中南民族大學(xué) 生物醫(yī)學(xué)工程學(xué)院,武漢 430074;2 中南民族大學(xué) 認(rèn)知科學(xué)國家民委重點(diǎn)實(shí)驗(yàn)室, 武漢 430074)
腦電圖機(jī)作為科研和醫(yī)療領(lǐng)域中的重要設(shè)備,發(fā)展迅速,目前我國比較先進(jìn)的腦電圖機(jī)技術(shù)有動(dòng)態(tài)腦電圖系統(tǒng)、數(shù)字腦電工作站、視頻腦電圖儀、便攜式數(shù)字腦電圖儀、無線藍(lán)牙綜合視頻腦電圖機(jī)、無線藍(lán)牙綜合睡眠腦電圖機(jī)等[1,2].無論采用有線還是無線作為數(shù)據(jù)傳輸方式,這些腦電圖機(jī)均可分為腦電采集器和腦電記錄儀兩個(gè)部分,其中,便攜式腦電圖機(jī)一般采用無線作為數(shù)據(jù)傳輸方式,大多數(shù)便攜式腦電記錄儀只是記錄并存儲腦電數(shù)據(jù),然后提取存儲數(shù),在PC機(jī)上繪制腦電圖并進(jìn)行分析[2],不能隨時(shí)隨地查看腦電圖,為此,本文設(shè)計(jì)了一種基于Android移動(dòng)設(shè)備的腦電記錄儀,利用Android移動(dòng)設(shè)備的藍(lán)牙[4,5]和顯示屏,可以隨時(shí)隨地查看腦電圖,而且設(shè)備體型小巧,更加易于攜帶.在Android移動(dòng)設(shè)備上實(shí)現(xiàn)腦電圖記錄儀的基本功能,相當(dāng)于將腦電圖記錄儀設(shè)計(jì)為Android移動(dòng)設(shè)備的一個(gè)應(yīng)用程序,對于任何一款A(yù)ndroid移動(dòng)設(shè)備,只要安裝相關(guān)APP,并配以下位機(jī)采集裝置后,該設(shè)備就成了一臺腦電記錄儀,而且Android系統(tǒng)作為開源的操作系統(tǒng),擁有豐富的應(yīng)用層API[6],開發(fā)者可以方便地為該記錄儀開發(fā)更多的功能.
系統(tǒng)總體設(shè)計(jì)思路是下位機(jī)采集腦電信號,通過高精度的AD轉(zhuǎn)換器將腦電信號轉(zhuǎn)換為高分辨率的數(shù)字信號,將轉(zhuǎn)換后的數(shù)字信號通過串口傳送至藍(lán)牙模塊,發(fā)送給上位機(jī).上位機(jī)使用Android系統(tǒng)提供的藍(lán)牙串口接收信號,然后對信號進(jìn)行數(shù)據(jù)拼接﹑存儲和濾波,并繪制出腦電圖.整個(gè)系統(tǒng)結(jié)構(gòu)如圖1所示.
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of the system
下位機(jī)采集系統(tǒng)為ADS1298模擬前端的便攜式生理信號采集系統(tǒng)[7],采集到的信號通過藍(lán)牙通過串口傳送至藍(lán)牙模塊,若藍(lán)牙模塊沒有接收到上位機(jī)的發(fā)送指令,則丟棄當(dāng)前數(shù)據(jù);若接收到上位機(jī)的發(fā)送指令,則向上位機(jī)發(fā)送數(shù)據(jù).
1.3.1 開發(fā)環(huán)境及開發(fā)步驟
本設(shè)計(jì)在Windows 7系統(tǒng)環(huán)境下,使用Eclipse、JDK、Android SDK、ADT、NDK和CDT進(jìn)行軟件開發(fā).除數(shù)據(jù)拼接和存儲采用C++語言實(shí)現(xiàn),供JNI(Java Native Interface)調(diào)用外,其它部分均采用Java語言實(shí)現(xiàn).
上位機(jī)系統(tǒng)設(shè)計(jì)按圖1所示數(shù)據(jù)走向進(jìn)行,即按藍(lán)牙控制模塊、數(shù)據(jù)處理模塊和圖形繪制模塊順序進(jìn)行模塊設(shè)計(jì).
1.3.2 藍(lán)牙控制模塊
在Android系統(tǒng)上對藍(lán)牙進(jìn)行開發(fā),必須先在系統(tǒng)權(quán)限文件Androidmanifest.xml中加入代碼
藍(lán)牙控制模塊是系統(tǒng)核心模塊,主要完成上、下位機(jī)的數(shù)據(jù)傳輸.它的主要功能是開啟本地藍(lán)牙、掃描外部藍(lán)牙設(shè)備并與下位機(jī)藍(lán)牙設(shè)備建立連接,控制下位機(jī)是否發(fā)送腦電信號,控制過程如下.
(1)開啟本地藍(lán)牙.系統(tǒng)啟動(dòng)后會先判斷本地藍(lán)牙是否開啟,若未開啟,則開啟本地藍(lán)牙,若已經(jīng)開啟,則繼續(xù)執(zhí)行;
(2)掃描外部藍(lán)牙設(shè)備并與下位機(jī)藍(lán)牙設(shè)備建立連接.掃描外部藍(lán)牙設(shè)備得到一個(gè)設(shè)備列表,選取下位機(jī)藍(lán)牙設(shè)備并建立連接.由于下位機(jī)采集的腦電信號是先通過串口送至藍(lán)牙模塊,再由藍(lán)牙模塊發(fā)送到上位機(jī)的,所以必須使用Android系統(tǒng)專門為藍(lán)牙串口通信提供的UUID,即“00001101-0000-1000-8000-00805F9B34FB”,才能與下位機(jī)藍(lán)牙設(shè)備建立連接;
(3)控制下位機(jī)是否發(fā)送腦電信號.通過向下位機(jī)發(fā)送控制指令“0”,下位機(jī)開始發(fā)送數(shù)據(jù),發(fā)送控制指令“1”,下位機(jī)停止發(fā)送數(shù)據(jù),這里的控制指令是上/下位機(jī)事先約定的,可以是任意字符或數(shù)字.
1.3.3 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊主要完成數(shù)據(jù)拼接、存儲和濾波,其中,完成數(shù)據(jù)存儲需要向SD卡寫入數(shù)據(jù),所以必須在系統(tǒng)權(quán)限文件Androidmanifest.xml中加入代碼
(1)數(shù)據(jù)拼接.由于下位機(jī)采集的每個(gè)腦電信號數(shù)據(jù)都以24位二進(jìn)制數(shù)表示,而串口一次只能發(fā)送一個(gè)8位的二進(jìn)制數(shù),因此每個(gè)腦電信號數(shù)據(jù)在發(fā)送前都被拆分為3個(gè)8位的二進(jìn)制數(shù),按高、中、低位依次發(fā)送給上位機(jī),所以在上位機(jī)必須對數(shù)據(jù)進(jìn)行拼接還原;
(2)數(shù)據(jù)存儲.將拼接還原后的腦電信號,按十進(jìn)制格式,以文本的形式存儲到上位機(jī)的SD卡中,便于以后提取分析;
由于Java語言是一種解釋型語言,處理數(shù)據(jù)和讀寫外部存儲設(shè)備速度比較慢,所以本設(shè)計(jì)采用C++語言來實(shí)現(xiàn)數(shù)據(jù)拼接和存儲,并通過JNI調(diào)用,避免了在繪制腦電圖過程中會出現(xiàn)漏點(diǎn)或卡屏的現(xiàn)象.
(3)濾波.下位機(jī)采集的腦電信號未經(jīng)處理而直接轉(zhuǎn)換為數(shù)字信號,混有一定的噪聲和干擾,所以必須對其進(jìn)行相關(guān)處理,去掉噪聲和干擾.本設(shè)計(jì)采用零相位FIR濾波器對信號進(jìn)行低通濾波,截止頻率為30Hz.
1.3.4 圖形繪制模塊
受到串口通信速率的限制,上位機(jī)同時(shí)只能接受3個(gè)通道的腦電信號,所以同時(shí)只能繪制3個(gè)通道的腦電圖形.對圖形進(jìn)行縮放后,在SurfaceView上繪制出3個(gè)通道的圖形.
系統(tǒng)開啟之后,下位機(jī)開始采集腦電數(shù)據(jù).上位機(jī)先與下位機(jī)建立連接,再向下位機(jī)發(fā)送控制指令“0”,下位開始發(fā)送數(shù)據(jù),上位機(jī)對接收到的數(shù)據(jù)進(jìn)行拼接、存儲、濾波后繪制腦電圖,系統(tǒng)工作流程如圖2所示.
圖2 系統(tǒng)工作流程Fig.2 System working flow
測試用移動(dòng)設(shè)備為華碩Transformer TF101平板電腦,系統(tǒng)版本為Android 3.1,藍(lán)牙版本為藍(lán)牙2.1+EDR.進(jìn)入軟件主界面,開啟本地藍(lán)牙、連接下位機(jī)藍(lán)牙設(shè)備并輸入數(shù)據(jù)存儲文件名,進(jìn)入繪圖界面,按“開始繪圖”按鈕,開始繪制腦電圖.
測試分睜眼和閉眼兩種狀態(tài),分別繪制出這兩種狀態(tài)的腦電圖.由圖3和圖5可以分辨出睜眼和閉眼這兩種狀態(tài).
導(dǎo)出測試過程中存儲的原始數(shù)據(jù),在matlab中分別繪制出原始信號及其對應(yīng)的頻譜圖,如圖3~6所示.
由圖3~6可以看出,當(dāng)受試者處在閉眼狀態(tài)時(shí),在10~13Hz之間有明顯的α波[8]頻率分布;而當(dāng)受試者處在睜眼狀態(tài)時(shí),則沒有明顯的頻率分布.
結(jié)果表明,該記錄儀記錄的腦電數(shù)據(jù)可靠,繪制出的腦電圖能真實(shí)反應(yīng)人腦活動(dòng)狀況.
圖3 睜眼狀態(tài)原始信號Fig.3 The original signal of the open state
圖4 睜眼狀態(tài)頻譜圖Fig.4 The spectrum of the open state
圖5 閉眼狀態(tài)原始信號Fig.5 The original signal of the close state
圖6 閉眼狀態(tài)頻譜圖Fig.6 The spectrum of the close state
現(xiàn)就本文設(shè)計(jì)的腦電記錄儀與市場常用的NT9200系列便攜式數(shù)字腦電圖儀的性能做如下對比分析.
(1) 精度.NT9200系列便攜式數(shù)字腦電圖儀使用16位精度的AD轉(zhuǎn)換器,本設(shè)計(jì)采用24位高精度AD轉(zhuǎn)換器,數(shù)據(jù)精度更高.
(2) 供電.NT9200系列便攜式數(shù)字腦電圖儀基于標(biāo)準(zhǔn)的筆記本電腦,采用USB供電,當(dāng)筆記本使用外接電源時(shí),儀器連續(xù)記錄時(shí)長不受限制,當(dāng)筆記本使用本身電池時(shí),儀器連續(xù)記錄時(shí)長與筆記本電池供電時(shí)長一致,本設(shè)計(jì)采用外部電池供電,連續(xù)記錄能夠達(dá)到48 h,遠(yuǎn)遠(yuǎn)超過筆記本使用電池時(shí)的連續(xù)記錄時(shí)長.
(3) 數(shù)據(jù)傳送方式.NT9200系列便攜式數(shù)字腦電圖儀采用USB作為傳送方式,本設(shè)計(jì)以串口藍(lán)牙作為數(shù)據(jù)傳送方式,使用更加方便,但抗干擾能力較弱.
(4) 支持最高通道數(shù).NT9200系列便攜式數(shù)字腦電圖儀支持同時(shí)對40通道的腦電數(shù)據(jù)的采集、存儲和顯示,本設(shè)計(jì)只支持同時(shí)對8個(gè)通道的腦電數(shù)據(jù)進(jìn)行采集,但只能同時(shí)傳送3個(gè)通道的腦電數(shù)據(jù),并存儲和顯示.
(5) 腦電圖繪制.NT9200系列便攜式數(shù)字腦電圖儀基于標(biāo)準(zhǔn)的筆記本電腦的,只能在筆記本電腦上繪制腦電圖,本設(shè)計(jì)基于Android移動(dòng)設(shè)備,只要將開發(fā)完畢的APP安裝在Android移動(dòng)設(shè)備上,就可以進(jìn)行腦電繪制,攜帶和使用更加方便.
綜上所述,本設(shè)計(jì)與其它類型的便攜式腦電記錄設(shè)備相比,優(yōu)點(diǎn)明顯,但也有不足之處.
本文設(shè)計(jì)的腦電記錄儀,以Android移動(dòng)設(shè)備作為數(shù)據(jù)處理和顯示平臺,讓腦電記錄儀作為Android移動(dòng)設(shè)備的一個(gè)附屬功能,解決了傳統(tǒng)便攜式腦電記錄設(shè)備功能單一、不便于隨身攜帶的缺點(diǎn),將開發(fā)完畢的APP安裝于Android移動(dòng)設(shè)備上,就可以讓該設(shè)備具備腦電記錄功能,Android系統(tǒng)是當(dāng)前智能移動(dòng)設(shè)備主流操作系統(tǒng)之一,它憑借其開放性、易操作性等特點(diǎn),得到了市場的廣泛支持,使得該記錄功能易于推廣.未來開發(fā)可以利用Android移動(dòng)設(shè)備的網(wǎng)絡(luò)化的特點(diǎn),將其與互聯(lián)網(wǎng)上的PC機(jī)或手機(jī)建立網(wǎng)絡(luò)連接,實(shí)時(shí)傳輸腦電信號的相關(guān)數(shù)據(jù),醫(yī)生或其它人員就可以遠(yuǎn)距離分析病人的腦電數(shù)據(jù);還可以利用Android移動(dòng)設(shè)備上的攝像頭,使其具備視頻腦電圖儀[9]的功能等.
參 考 文 獻(xiàn)
[1] 陳雅楠, 楊德武. 腦電圖機(jī)的進(jìn)展[J]. 中國醫(yī)學(xué)裝備,2009,6(7):64-65.
[2] 張文淵. 有關(guān)睡眠分期以及便攜式、動(dòng)態(tài)和視頻腦電圖等問題[J]. 臨床神經(jīng)電生理學(xué)雜志,2001,10(3):188-189.
[3] 楊云君. Android的設(shè)計(jì)與實(shí)現(xiàn)(卷1)[M]. 北京:機(jī)械工業(yè)出版社,2013.
[4] 楊慶武. 藍(lán)牙技術(shù)在腦電領(lǐng)域的應(yīng)用—無線藍(lán)牙腦電圖儀[J]. 上海生物醫(yī)學(xué)工程,2007,28(1):54-56.
[5] 錢志鴻, 楊 帆, 周求湛. 藍(lán)牙技術(shù)原理、開發(fā)與應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2006.
[6] 李寧. Android開發(fā)權(quán)威指南[M]. 北京:人民郵電出版社,2011.
[7] 魏厚杰, 官金安, 方 浩. ADS1298模擬前端的便攜式生理信號采集系統(tǒng)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012,02(2):36-39.
[8] 大熊輝雄. 臨床腦電圖學(xué)[M]. 5版.北京:清華大學(xué)出版社,2005.
[9] 葉強(qiáng)華. 常規(guī)、便攜式、動(dòng)態(tài)和視頻腦電圖的臨床運(yùn)用[J]. 醫(yī)療設(shè)備信息,2005,20(2):49.