基于FPGA的腦機(jī)接口系統(tǒng)方案
腦機(jī)接口BCI(Brain Computer Interface)是一種新穎的人機(jī)接口方式。它的定義是:不依賴于腦的正常輸出通路(外周神經(jīng)系統(tǒng)及肌肉組織)的腦-機(jī)(計(jì)算機(jī)或其他裝置)通訊系統(tǒng)[1]。液晶面板走勢要實(shí)現(xiàn)腦機(jī)接口,必須有一種能反映人腦不同狀態(tài)的信號,并且能夠?qū)崟r或短時對這種信號進(jìn)行提取和分類[2]。瞬態(tài)視覺誘發(fā)電位與刺激之間具有嚴(yán)格的鎖時同步關(guān)系,能比較準(zhǔn)確地檢測液晶面板走勢,而且它所需的視覺刺激頻率比較低,不容易引起視覺疲勞。因此本研究采用瞬態(tài)視覺誘發(fā)電位來實(shí)現(xiàn)腦機(jī)接口。
腦機(jī)接口系統(tǒng)是由人和機(jī)器構(gòu)成的閉環(huán)系統(tǒng)[3]。除人本身外, 腦機(jī)接口系統(tǒng)包括:信號采集、信號處理、外部設(shè)備及控制部分。本文的方案采用FPGA取代計(jì)算機(jī),作為腦機(jī)接口的控制和信息處理器。主要包括腦電采集電路、基于FPGA的VGA視覺刺激器和FPGA開發(fā)板三部分,如圖1所示。
電極帽和腦電采集電路組成了腦電信號采集部分。液晶面板走勢VGA視覺刺激器屬于外部設(shè)備及控制部分。FPGA開發(fā)板是整個系統(tǒng)的核心,它不僅實(shí)現(xiàn)了信號處理,而且還實(shí)現(xiàn)了對腦電采集電路的控制和VGA控制器。FPGA開發(fā)板采用Cyclone II EP2C35 DSP開發(fā)板,F(xiàn)PGA芯片為Cyclone II EP2C35F672。
1 系統(tǒng)設(shè)計(jì)
1.1 腦電采集電路的設(shè)計(jì)
腦電信號比較微弱,而且淹沒在很強(qiáng)的背景噪聲和干擾中。必須設(shè)計(jì)合適的電路,在放大腦電信號的同時,通過濾波抑制噪聲,提高信噪比,得到較好的模擬腦電信號,并通過AD轉(zhuǎn)換為適合于FPGA處理的數(shù)字信號。
本文設(shè)計(jì)的腦電采集電路主要包括有源電極、右腿驅(qū)動電路、模擬電路、數(shù)字電路和電源。有源電極用來傳導(dǎo)腦電信號,右腿驅(qū)動電路可以降低共模電壓。模擬電路包括前置放大電路、高通濾波電路、放大濾波電路和電壓抬升電路,實(shí)現(xiàn)模擬信號調(diào)理和信噪比的提高。數(shù)字電路包括AD轉(zhuǎn)換電路和光耦隔離電路,主要功能是模擬信號到數(shù)字信號的轉(zhuǎn)換。
1.2 基于FPGA的VGA視覺刺激器的設(shè)計(jì)
腦機(jī)接口視覺刺激器通??梢栽谟?jì)算機(jī)顯示器或電視機(jī)上通過硬件和軟件兩種方式產(chǎn)生,也可以設(shè)計(jì)專門的圖形顯示電路[4]。采用硬件實(shí)現(xiàn)視覺刺激,最大優(yōu)點(diǎn)是性能穩(wěn)定,但修改和升級比較困難。
本文的方案是基于FPGA的VGA視覺刺激器,采用VGA顯示器作為視覺刺激器,通過VHDL編程的方式產(chǎn)生圖形刺激信號。FPGA是一種半定制電路,具有很強(qiáng)的在線修改能力,可以隨時修改設(shè)計(jì)而不必改動硬件電路。因此,通過編程可以靈活地產(chǎn)生不同的刺激模式,修改和升級十分方便。按照VGA顯示器逐行掃描的工作原理和VGA工業(yè)標(biāo)準(zhǔn)[5],在FPGA中設(shè)計(jì)了VGA控制器,包括分頻模塊、掃描時序產(chǎn)生模塊、圖像描述模塊、刺激頻率控制模塊和光標(biāo)控制模塊,其框圖如圖2所示。
分頻模塊產(chǎn)生像素輸出頻率和刺激所需的頻率。CycloneⅡEP2C35芯片具備4個增強(qiáng)型嵌入式鎖相環(huán)(PLL),每個鎖相環(huán)可以提供3個輸出時鐘,頻率非常穩(wěn)定,還可以分頻和倍頻。用鎖相環(huán)IP核調(diào)用嵌入式鎖相環(huán),直接分頻產(chǎn)生像素輸出頻率,保證了系統(tǒng)時鐘的精確和穩(wěn)定。計(jì)數(shù)器分頻得到刺激所需的頻率,可產(chǎn)生不同的刺激頻率。
掃描時序產(chǎn)生模塊提供VGA行掃描和場掃描的時序。對像素輸出頻率計(jì)數(shù)分頻,產(chǎn)生行掃描頻率,其頻率為31.469 kHz。然后,對行掃描頻率計(jì)數(shù)分頻,得到場掃描頻率,其場頻為59.94 Hz。
圖像描述模塊描述需要產(chǎn)生的刺激圖形,液晶面板走勢包括位于屏幕上下左右4個方向的4個方塊和0、1、2、3數(shù)字。4個方塊是實(shí)現(xiàn)多項(xiàng)目標(biāo)選擇的刺激目標(biāo),光標(biāo)用來反饋選擇的結(jié)果。通過行坐標(biāo)和場坐標(biāo)來描述方塊和數(shù)字的位置及大小。在方塊上標(biāo)注數(shù)字,以區(qū)別不同的方塊。圖形的改變或運(yùn)動可引起有效的誘發(fā)電位,因此,方塊的顏色是黑色和白色交替變化的。為了使方塊更顯著,底色采用深石板灰色。
刺激頻率控制模塊設(shè)計(jì)了刺激的模式。采用同頻次復(fù)合刺激方式,即在單位時間內(nèi)各個視覺刺激模塊閃爍的次數(shù)相同,但各個刺激模塊閃爍的時刻相互錯開。通過計(jì)數(shù)器分頻產(chǎn)生模塊閃爍的時鐘。閃爍時刻的錯開用相位延時實(shí)現(xiàn),用系統(tǒng)時鐘產(chǎn)生一個計(jì)數(shù)器,根據(jù)計(jì)數(shù)器的計(jì)數(shù)控制延時,達(dá)到精確定時的要求。當(dāng)閃爍的時鐘信號為低電平時,方塊為黑色;為高電平時,方塊為白色。在刺激模塊黑變白的同時,發(fā)出觸發(fā)信號。
光標(biāo)控制模塊描述光標(biāo)的圖形,控制光標(biāo)的移動。通過改變光標(biāo)的坐標(biāo)和分頻來控制光標(biāo)移動的方向和速度。光標(biāo)的顏色為紅色。
基于FPGA的VGA視覺刺激器充分利用了FPGA半定制電路的特點(diǎn),采用同步時序設(shè)計(jì)方式,不但性能穩(wěn)定,而且能根據(jù)需要靈活地設(shè)計(jì)不同的視覺刺激器。它實(shí)現(xiàn)方便,功能強(qiáng)大,兼具用硬件或軟件方式實(shí)現(xiàn)視覺刺激器的優(yōu)點(diǎn)。
1.3 瞬態(tài)視覺誘發(fā)電位的提取與識別
累加平均方法是最經(jīng)典的誘發(fā)電位信號處理方法,也是電生理測量中提高信噪比最常用的方法[2]。在FPGA中設(shè)計(jì)的累加平均算法的框圖如圖3所示,包括觸發(fā)信號檢測模塊、RAM地址控制模塊、異步雙口RAM、累加器和除法器。
觸發(fā)信號檢測保證了刺激與視覺誘發(fā)電位的鎖時同步關(guān)系。只有檢測到最早閃爍的刺激模塊的觸發(fā)信號,才把腦電數(shù)據(jù)存儲到RAM中。當(dāng)達(dá)到要求的閃爍次數(shù)時,停止數(shù)據(jù)的寫入。根據(jù)刺激模塊之間的延時關(guān)系,可以確定與各個刺激模塊相應(yīng)的數(shù)據(jù)在RAM中的起始地址。然后,按照起始地址讀出數(shù)據(jù)給累加器,累加的次數(shù)與閃爍次數(shù)相同。最后,用除法器除以累加的次數(shù),得到累加后的平均結(jié)果.
知識產(chǎn)權(quán)(IP)核,是指己驗(yàn)證的、可重利用的、具有某種確定功能的IC模塊。FPGA有大量各種用途的IP核。這些IP核對內(nèi)核進(jìn)行了參數(shù)化,通過頭文件或圖形用戶接口(GUI)可以方便地對參數(shù)進(jìn)行操作。通過異步雙口RAM IP核調(diào)用片內(nèi)RAM來緩存腦電數(shù)據(jù),保證了數(shù)據(jù)接口的同步和數(shù)據(jù)處理速度。用累加器IP核和除法器IP核來實(shí)現(xiàn)算法中的累加器和除法器。
只采用累加平均的方法, 需要進(jìn)行上百次才能得到可靠的誘發(fā)電位波形, 信號提取的時間太長。在少量次累加平均時,為了進(jìn)一步提高信噪比,提取出較為理想的誘發(fā)電位波形,采用數(shù)字濾波的方法來減少噪聲的影響。FIR濾波器具有嚴(yán)格的線性相位,穩(wěn)定性好,而且通頻帶比較平坦。所以,采用FIR濾波器來實(shí)現(xiàn)數(shù)字濾波。用窗函數(shù)設(shè)計(jì)法設(shè)計(jì)一個15階的低通FIR濾波器,窗函數(shù)為海明窗,截止頻率為10 Hz。利用MATLAB工具箱中的FDATool設(shè)計(jì)濾波器,并轉(zhuǎn)換為HDL代碼,可以很方便地在FPGA中實(shí)現(xiàn)FIR濾波器。通過調(diào)用CycloneⅡ芯片中用于DSP運(yùn)算的嵌入式乘法器來實(shí)現(xiàn)FIR濾波中的乘法運(yùn)算。與基于邏輯單元的乘法器相比,嵌入式乘法器性能更高,占用邏輯單元更少。嵌入式乘法器能夠與CycloneⅡ器件的M4K RAM塊進(jìn)行無縫集成,實(shí)現(xiàn)高效的DSP算法[6]。
瞬態(tài)視覺誘發(fā)電位的識別,就是要將誘發(fā)電位信號轉(zhuǎn)換成一系列控制命令,從而實(shí)現(xiàn)人腦與外界的通信與控制。模板匹配是傳統(tǒng)的模式識別方法之一。相關(guān)系數(shù)是變量之間相關(guān)程度的指標(biāo),可以用于判斷曲線擬合程度。用相關(guān)系數(shù)來衡量模板與未知模式匹配的好壞,是一個有效且可行的方法。
首先,選定一個特征明顯的瞬態(tài)視覺誘發(fā)電位波形,作為模板匹配的參考模板;然后,把實(shí)時提取誘發(fā)電位波形與參考模板做相關(guān)系數(shù)計(jì)算。若相關(guān)系數(shù)值大于設(shè)定的閾值時,就認(rèn)為檢測到了的誘發(fā)電位,發(fā)出控制命令,使光標(biāo)移向相應(yīng)的刺激模塊,從而實(shí)現(xiàn)瞬態(tài)視覺誘發(fā)電位的識別。
相關(guān)系數(shù)的計(jì)算公式如下:
假定模板的數(shù)據(jù)為y,可以先離線計(jì)算出公式(1)中含y項(xiàng)的值,存在ROM中,從而提高實(shí)時計(jì)算的速度。只需要1個乘加器IP核,調(diào)用FPGA芯片中的嵌入式乘法器,就可以實(shí)現(xiàn)分子和分母中的乘加運(yùn)算,節(jié)省了器件的資源。用開根號IP核來實(shí)現(xiàn)開根號運(yùn)算。
FPGA運(yùn)行速度快,內(nèi)部程序并行運(yùn)行,并且有DSP運(yùn)算IP核和嵌入式乘法器,能夠快速準(zhǔn)確地完成腦電處理算法,滿足信號處理的實(shí)時性要求。
2 實(shí)驗(yàn)結(jié)果
采用本文方案構(gòu)建的腦機(jī)接口系統(tǒng)進(jìn)行實(shí)驗(yàn)。液晶面板走勢腦機(jī)接口實(shí)驗(yàn)通常為一組實(shí)驗(yàn),分別選擇不同的4個刺激模塊(包括全部目標(biāo)的選擇)。在實(shí)驗(yàn)中,受試者頭戴電極帽,眼睛距屏幕70 cm左右,控制光標(biāo)移向所注視的目標(biāo)。每次實(shí)驗(yàn)時,4個刺激模塊完成一輪閃爍后,然后停頓幾秒,進(jìn)行下一輪閃爍。4輪閃爍,即4個刺激模塊都能被選中后,自動停止閃爍。
實(shí)驗(yàn)中提取的瞬態(tài)視覺誘發(fā)電位波形如圖4所示。圖4(a)中,已經(jīng)可以看到視覺誘發(fā)電位的雛形,但視覺誘發(fā)電位的特征不是十分明顯。圖4(b)中,用FIR濾波對誘發(fā)電位信號進(jìn)一步處理,得到了特征比較明顯的視覺誘發(fā)電位。
腦機(jī)接口的實(shí)驗(yàn)結(jié)果如表1所示,受試者是5名健康男性。正確判斷時,在刺激模塊停止閃爍的同時,光標(biāo)立刻移向受試者注視的模塊。
基于瞬態(tài)視覺誘發(fā)電位的腦機(jī)接口實(shí)驗(yàn)表明,本文給出的基于液晶面板走勢FPGA的腦機(jī)接口實(shí)時系統(tǒng)的方案是可行的。基于FPGA的VGA視覺刺激器,刺激頻率十分穩(wěn)定,刺激界面易于接受,修改升級方便?;贔PGA的腦電信號處理算法,采用少量次累加平均結(jié)合FIR濾波來提取誘發(fā)電位,并通過模板匹配的方法加以識別,可以快速準(zhǔn)確地把瞬態(tài)誘發(fā)電位信號轉(zhuǎn)換為控制命令,實(shí)現(xiàn)了實(shí)時的腦機(jī)接口系統(tǒng)。基于FPGA的腦機(jī)接口系統(tǒng),是一種新的方法,也是對液晶面板走勢腦機(jī)接口實(shí)現(xiàn)方法的有益探索。