趙 麗,劉澤華,邢 瀟
(天津職業(yè)技術(shù)師范大學天津市信息傳感與智能控制重點實驗室,天津 300222)
腦電信號EEG是大腦神經(jīng)產(chǎn)生的一種電位活動,含有大量豐富的腦活動信息[1],是診斷腦部疾病的主要依據(jù),也是目前腦機接口研究的主要信號來源。人體腦電信號由于幅值微弱,常淹沒在各種背景噪聲中[2],因此需要專門的生物電傳感放大采集裝置來獲取。傳統(tǒng)腦電信號采集設備體積較龐大,功耗高,成本高,而且數(shù)據(jù)傳輸大多采用有線方式[3-4],不便于腦電信號的實時獲取。因此,研究便攜式的腦電信號采集設備無論對理論研究還是病人的實時監(jiān)護都有重要意義。目前已經(jīng)有很多研究機構(gòu)推出了無線便攜式腦電采集系統(tǒng),他們所采用的方法是腦電前置放大器,經(jīng)過無線模塊將采集的腦電數(shù)據(jù)傳輸?shù)絇C機上進行處理,信號處理在PC機上進行,沒有完全脫離上位機。針對目前腦電信號采集系統(tǒng)的現(xiàn)狀,結(jié)合腦電信號采集的特點,本文設計了一種可實時采集和顯示的便攜式腦電信號采集系統(tǒng)。本設計將μC/OS-II操作系統(tǒng)移植到STM32微處理器上,通過觸屏界面切換實現(xiàn)在微處理器上對信號進行FIR濾波和快速傅里葉變換等算法處理,將采集到的腦電信號存儲到STM32處理器所配的SD卡里。整個系統(tǒng)體積小、功耗低,無線傳送穩(wěn)定,抗干擾能力強。
整個系統(tǒng)主要包括腦電信號的采集、數(shù)據(jù)的無線傳輸和數(shù)據(jù)處理3部分,如圖1所示。微電極采集到的腦電信號傳輸給模擬放大濾波電路。電極端易產(chǎn)生直流極化電壓,過高的極化電壓會影響電路的直流穩(wěn)定性,為濾除電極端產(chǎn)生的直流極化電壓,在放大電路中引入高通濾波器[5]。腦電信號經(jīng)放大之后進行AD轉(zhuǎn)換,由模擬信號轉(zhuǎn)換成數(shù)字信號才能被進一步處理。由MSP430單片機控制無線模塊(NRF24L01)將數(shù)字化的腦電信號發(fā)送出去,微處理器STM32f103接收到腦電數(shù)據(jù)后對其進行FIR濾波、快速傅里葉變換等處理,將處理后的數(shù)據(jù)存儲到SD卡里,通過TFT彩屏可以實時動態(tài)的顯示出原始腦電信號和處理后的腦電信號。整個系統(tǒng)由觸屏控制開始和數(shù)據(jù)顯示。
圖1 系統(tǒng)框圖
腦電放大電路如圖2所示。該電路設計由三級放大組成[10]:第一級為前置放大級,腦電信號進行初步放大,放大倍數(shù)為100倍左右,通過RC高通濾波電路耦合與第二級耦合,引入高通濾波器是為了去除腦電信號頻率范圍以外的無用信號,提高系統(tǒng)抗干擾性,防止混疊濾波;第二級放大電路采用AD210隔離放大級電路,放大倍數(shù)為20倍左右,通過二階壓控電壓源(VCVS)低通濾波器進入三級放大電路;第三級為放大倍數(shù)可調(diào)的放大電路,放大倍數(shù)可調(diào)整在20倍左右,以適合AD轉(zhuǎn)換的需要,最后通過50 Hz陷波電路接入AD轉(zhuǎn)換的數(shù)字系統(tǒng)。
前置級需要有高輸入阻抗和高共模抑制比。前置級增益越大,對后面的各級電路所造成的噪聲的影響越小[7],因此,前置級增益應盡可能高。但是前置級電壓增益受到放大器動態(tài)工作范圍的限制,而且受極化電壓的限制,所以,前置級增益不能無限高。采用Analog Devices公司的新型儀用差分放大電路AD620做前置放大級,第二級放大電路采用了亞德諾(ADI)公司的隔離放大器AD210。
圖2 腦電放大電路
腦電信號是一種很微弱的生物電信號,其頻率主要在0~50 Hz之間。系統(tǒng)所采用的AD轉(zhuǎn)換速率高達1 MHz。由香農(nóng)定理和實踐經(jīng)驗可知,將MSP430的采樣頻率定為1kHz,已經(jīng)能夠很好地滿足實際需要。每次AD轉(zhuǎn)換結(jié)束后,使用DMA方式將轉(zhuǎn)換后的腦電數(shù)據(jù)依次移至數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖區(qū)填滿后,將4 kbits數(shù)據(jù)無線發(fā)送給接收模塊。由微處理器STM32f103控制的接收模塊上電后,完成系統(tǒng)時鐘配置與初始化片外設備。從NRF24L01中讀取數(shù)據(jù),進行CRC校驗。若數(shù)據(jù)出錯,則命令發(fā)送模塊重發(fā);若數(shù)據(jù)正確,則放入DMA中,等待數(shù)據(jù)緩沖滿時,將數(shù)據(jù)打包傳給STM32f103進行實時顯示、處理和存儲。
系統(tǒng)需要通過觸屏控制波形的顯示和各種處理。觸措屏接口電路如圖3所示。STM32F103與四線電阻觸摸屏的電路連接,通過四線電阻實現(xiàn)觸摸屏控制功能。通過PA8~PA114個I/O口分別控制4個三極管的通斷,來控制四線觸摸屏觸點的坐標Y+、Y-、X+、X-。PA3連接內(nèi)部中斷,用于檢測觸摸屏是否有觸摸動作。PA1、PA2是2個A/D轉(zhuǎn)換通道,分別連接Y+和X+,用于計算觸摸點的X和Y坐標。觸摸屏正常運行時,令PA8、PA9、PA11輸出低電平0,PA10輸出高電平1,即只讓VT2導通。當有觸摸動作時,D1導通給PA3一個中斷信號,STM32F103接收到中斷請求后立即置PA8=1,導通VT1,這樣在Y+、Y-方向上就加上電壓,同時啟動A/D轉(zhuǎn)換通道PA2,通過輸入X+上電壓計算出觸摸點的Y坐標。同理,令PA8、PA10為0,PA9、PA11為1,啟動A/D轉(zhuǎn)換通道PA1,通過輸入Y+上電壓計算出觸摸點X的坐標。
圖3 觸摸屏的接口電路
最后,將采集到的腦電數(shù)據(jù)存儲到SD卡里。要使寫入SD卡中的數(shù)據(jù)可被有效地讀取,必須在對SD卡寫入的過程中加入文件系統(tǒng),而文件系統(tǒng)無法由純硬件實現(xiàn)。因此系統(tǒng)充分利用NiosⅡ軟核支持文件系統(tǒng)的優(yōu)勢,通過自定義組件與Avalon總線上的數(shù)據(jù)通信,實現(xiàn)SD卡的存儲。
程序設計主要包括微處理器應用控制程序、NRF24L01驅(qū)動程序和TFT屏顯示及觸摸屏控制程序。采用IEEE802.15.4標準通信協(xié)議,編寫了適合本設計需要的通信協(xié)議。考慮程序的易讀性和可移植性,采用C語言作為編程語言,編寫相應的程序初始化硬件。軟件的開發(fā)環(huán)境是MDK(Microcontroller Development kit),MDK將ARM開發(fā)工具Real View Development Suite(簡稱 RVDS)的編譯器RVCT與 Keil的工程管理、調(diào)試仿真工具集成在一起,包括μVision3集成開發(fā)環(huán)境與Real View編譯器,支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬。在Keil uVision4集成開發(fā)環(huán)境里用C語言編寫所需的程序,經(jīng)組建調(diào)試完成之后,將程序燒寫到主控板里,具體流程如圖4所示。
圖4 程序流程圖
腦電信號分為多種,根據(jù)腦電信號產(chǎn)生的原理可以分為2種不同類型的腦電信號:一種是自發(fā)腦電信號;另一種是誘發(fā)腦電信號。相對于自發(fā)腦電信號來說,誘發(fā)腦電信號對外界刺激在時間上會具有更強的依賴性,即受到外界特定刺激之后,誘發(fā)電位在極短的時間之內(nèi)就會出現(xiàn)。誘發(fā)腦電信號比自發(fā)腦電信號容易控制,因此,結(jié)合實驗室現(xiàn)有條件,采用穩(wěn)態(tài)視覺誘發(fā)電位測試整個系統(tǒng)。
電極貼在受試者枕區(qū)的O1區(qū),腦電信號經(jīng)電極、模擬放大電路和A/D轉(zhuǎn)換,由無線模塊發(fā)送出去,微處理器STM32f103控制無線接收模塊接收數(shù)據(jù)。整個系統(tǒng)上電之后進入初始畫面,畫面上有3個按鈕,分別為開始、FIR和停止。點擊開始按鈕,在TFT屏上可以看到實時動態(tài)的原始腦電波形,點擊停止按鈕,就可以觀測研究當前時刻的腦電波行,如圖5所示。腦電采集過程中存在很多干擾,使得采集到的數(shù)據(jù)很雜,需做數(shù)字濾波處理。數(shù)字濾波器有IIR和FIR等,F(xiàn)IR比IIR穩(wěn)定性好、線性度高,系統(tǒng)利用等波紋逼近設計法設計了FIR濾波器。點擊FIR按鈕切換到濾波畫面,該畫面同樣有3個按鈕,分別是開始、FFT和停止。點擊開始按鈕TFT屏上動態(tài)顯示濾波后的腦電波形,如圖5中FIR濾波后的波形圖片。
圖5 時域腦電波形
濾波處理只是去除干擾信號,在時域上得到真實的腦電數(shù)據(jù)。但在單一域上不能充分研究分析數(shù)據(jù),因此對數(shù)據(jù)做了由時域到頻域的快速傅里葉變換??焖俑道锶~變換(FFT)是基于離散傅里葉變換(DFT),通過蝶形運算極大地減少了DFT的運算量??焖俑道锶~的基本算法分為按時間抽選法和按頻率抽選法。系統(tǒng)主要采用按時間抽選的基-2快速傅里葉算法。運用C語言在STM32f103上實現(xiàn)FFT算法,主要程序函數(shù)有:
點擊濾波畫面的FFT按鈕,進入快速傅里葉變換界面。該畫面有2個按鈕,分別是開始和退出。圖6為點擊開始按鈕后用FFT對上面所處理后的腦電信號進行128點傅里葉變換后的結(jié)果,點擊退出按鈕就會回到初始畫面。
圖6 頻域顯示
系統(tǒng)以微處理器STM32f103為核心,設計并實現(xiàn)了一種體積小、功耗低、可時時觀測的無線腦電信號采集系統(tǒng),達到了較為理想的效果。通過觸屏畫面控制和切換,方便了操作。本系統(tǒng)具有便攜、低功耗、高集成度的特點,適用于采集環(huán)境和條件經(jīng)常變化的場合,具有較高的應用價值,為生物腦機接口的研究打下了堅實的基礎。
[1]謝宏,董洋洋.基于ADS1298與WiFi的腦電信號采集與傳輸系統(tǒng)設計[J].現(xiàn)代電子技術(shù),2013,36(6):150-153.
[2]李振江,楊濟民.一種基于STM32W108的無線腦電采集系統(tǒng)的實現(xiàn)[J].科技信息,2013(11):38-39.
[3]吳紹斌,高利,王劉安.基于腦電信號的駕駛疲勞檢測研究[J].北京理工大學學報,2009,29(12):1072-1075.
[4]殷罡,吳平東,彭軍強,等.可佩戴式無線腦電監(jiān)護儀[J].微計算機信息,2009,25(4):276-278.
[5]OBEID Iyad,NICOLELIS Miguel A L,WOLF Patrick D.A low power multichannel analog front end for portable neural signal recordings [J].Journal of Neuroscience Methods,2004,133(1/2):27-32.
[6]SUN S L,ZHANG C S.Adaptive feature extraction for EEG signal classification[J].Medical&Biological Engineering&Computing,2006,44(10):931-935.
[7]黃勤,周婷,劉益良.高共模抑制比腦電放大電路設計[J].自動化技術(shù)與應用,2009,28(4):77-79.
[8]KNSTOV A,POLAK M.Parallel man-machine training in development of EEG-based cursor contro[J].IEEE Trans Rehab Eng,2000(8):203-205.
[9]徐進飛.基于STM32的腦電信號采集與處理系統(tǒng)[D].濟南:山東師范大學,2012.
[10]顏世玉,劉沖,趙海濱,等.基于小波包分解的意識腦電特征提取[J].儀器儀表學報,2012,33(8):1748-1752.
[11]郝雯,沈金鑫,梅成.基于STM32單片機的存儲式數(shù)據(jù)采集系統(tǒng)設計[J].電子設計工程,2013,21(17):80-82.