腦機接口BCI(Brain Computer Interface)是一種新穎的人機接口方式。它的定義是:不依賴于腦的正常輸出通路(外周神經系統及肌肉組織)的腦-機(計算機或其他裝置)通訊系統[1]。液晶面板走勢要實現腦機接口,必須有一種能反映人腦不同狀態的信號,并且能夠實時或短時對這種信號進行提取和分類[2]。瞬態視覺誘發電位與刺激之間具有嚴格的鎖時同步關系,能比較準確地檢測液晶面板走勢,而且它所需的視覺刺激頻率比較低,不容易引起視覺疲勞。因此本研究采用瞬態視覺誘發電位來實現腦機接口。
腦機接口系統是由人和機器構成的閉環系統[3]。除人本身外, 腦機接口系統包括:信號采集、信號處理、外部設備及控制部分。本文的方案采用FPGA取代計算機,作為腦機接口的控制和信息處理器。主要包括腦電采集電路、基于FPGA的VGA視覺刺激器和FPGA開發板三部分,如圖1所示。

電極帽和腦電采集電路組成了腦電信號采集部分。液晶面板走勢VGA視覺刺激器屬于外部設備及控制部分。FPGA開發板是整個系統的核心,它不僅實現了信號處理,而且還實現了對腦電采集電路的控制和VGA控制器。FPGA開發板采用Cyclone II EP2C35 DSP開發板,FPGA芯片為Cyclone II EP2C35F672。
1 系統設計
1.1 腦電采集電路的設計
腦電信號比較微弱,而且淹沒在很強的背景噪聲和干擾中。必須設計合適的電路,在放大腦電信號的同時,通過濾波抑制噪聲,提高信噪比,得到較好的模擬腦電信號,并通過AD轉換為適合于FPGA處理的數字信號。
本文設計的腦電采集電路主要包括有源電極、右腿驅動電路、模擬電路、數字電路和電源。有源電極用來傳導腦電信號,右腿驅動電路可以降低共模電壓。模擬電路包括前置放大電路、高通濾波電路、放大濾波電路和電壓抬升電路,實現模擬信號調理和信噪比的提高。數字電路包括AD轉換電路和光耦隔離電路,主要功能是模擬信號到數字信號的轉換。
1.2 基于FPGA的VGA視覺刺激器的設計
腦機接口視覺刺激器通常可以在計算機顯示器或電視機上通過硬件和軟件兩種方式產生,也可以設計專門的圖形顯示電路[4]。采用硬件實現視覺刺激,最大優點是性能穩定,但修改和升級比較困難。
本文的方案是基于FPGA的VGA視覺刺激器,采用VGA顯示器作為視覺刺激器,通過VHDL編程的方式產生圖形刺激信號。FPGA是一種半定制電路,具有很強的在線修改能力,可以隨時修改設計而不必改動硬件電路。因此,通過編程可以靈活地產生不同的刺激模式,修改和升級十分方便。按照VGA顯示器逐行掃描的工作原理和VGA工業標準[5],在FPGA中設計了VGA控制器,包括分頻模塊、掃描時序產生模塊、圖像描述模塊、刺激頻率控制模塊和光標控制模塊,其框圖如圖2所示。

分頻模塊產生像素輸出頻率和刺激所需的頻率。CycloneⅡEP2C35芯片具備4個增強型嵌入式鎖相環(PLL),每個鎖相環可以提供3個輸出時鐘,頻率非常穩定,還可以分頻和倍頻。用鎖相環IP核調用嵌入式鎖相環,直接分頻產生像素輸出頻率,保證了系統時鐘的精確和穩定。計數器分頻得到刺激所需的頻率,可產生不同的刺激頻率。
掃描時序產生模塊提供VGA行掃描和場掃描的時序。對像素輸出頻率計數分頻,產生行掃描頻率,其頻率為31.469 kHz。然后,對行掃描頻率計數分頻,得到場掃描頻率,其場頻為59.94 Hz。
圖像描述模塊描述需要產生的刺激圖形,液晶面板走勢包括位于屏幕上下左右4個方向的4個方塊和0、1、2、3數字。4個方塊是實現多項目標選擇的刺激目標,光標用來反饋選擇的結果。通過行坐標和場坐標來描述方塊和數字的位置及大小。在方塊上標注數字,以區別不同的方塊。圖形的改變或運動可引起有效的誘發電位,因此,方塊的顏色是黑色和白色交替變化的。為了使方塊更顯著,底色采用深石板灰色。
刺激頻率控制模塊設計了刺激的模式。采用同頻次復合刺激方式,即在單位時間內各個視覺刺激模塊閃爍的次數相同,但各個刺激模塊閃爍的時刻相互錯開。通過計數器分頻產生模塊閃爍的時鐘。閃爍時刻的錯開用相位延時實現,用系統時鐘產生一個計數器,根據計數器的計數控制延時,達到精確定時的要求。當閃爍的時鐘信號為低電平時,方塊為黑色;為高電平時,方塊為白色。在刺激模塊黑變白的同時,發出觸發信號。
光標控制模塊描述光標的圖形,控制光標的移動。通過改變光標的坐標和分頻來控制光標移動的方向和速度。光標的顏色為紅色。
基于FPGA的VGA視覺刺激器充分利用了FPGA半定制電路的特點,采用同步時序設計方式,不但性能穩定,而且能根據需要靈活地設計不同的視覺刺激器。它實現方便,功能強大,兼具用硬件或軟件方式實現視覺刺激器的優點。
1.3 瞬態視覺誘發電位的提取與識別
累加平均方法是最經典的誘發電位信號處理方法,也是電生理測量中提高信噪比最常用的方法[2]。在FPGA中設計的累加平均算法的框圖如圖3所示,包括觸發信號檢測模塊、RAM地址控制模塊、異步雙口RAM、累加器和除法器。

觸發信號檢測保證了刺激與視覺誘發電位的鎖時同步關系。只有檢測到最早閃爍的刺激模塊的觸發信號,才把腦電數據存儲到RAM中。當達到要求的閃爍次數時,停止數據的寫入。根據刺激模塊之間的延時關系,可以確定與各個刺激模塊相應的數據在RAM中的起始地址。然后,按照起始地址讀出數據給累加器,累加的次數與閃爍次數相同。最后,用除法器除以累加的次數,得到累加后的平均結果.
知識產權(IP)核,是指己驗證的、可重利用的、具有某種確定功能的IC模塊。FPGA有大量各種用途的IP核。這些IP核對內核進行了參數化,通過頭文件或圖形用戶接口(GUI)可以方便地對參數進行操作。通過異步雙口RAM IP核調用片內RAM來緩存腦電數據,保證了數據接口的同步和數據處理速度。用累加器IP核和除法器IP核來實現算法中的累加器和除法器。
只采用累加平均的方法, 需要進行上百次才能得到可靠的誘發電位波形, 信號提取的時間太長。在少量次累加平均時,為了進一步提高信噪比,提取出較為理想的誘發電位波形,采用數字濾波的方法來減少噪聲的影響。FIR濾波器具有嚴格的線性相位,穩定性好,而且通頻帶比較平坦。所以,采用FIR濾波器來實現數字濾波。用窗函數設計法設計一個15階的低通FIR濾波器,窗函數為海明窗,截止頻率為10 Hz。利用MATLAB工具箱中的FDATool設計濾波器,并轉換為HDL代碼,可以很方便地在FPGA中實現FIR濾波器。通過調用CycloneⅡ芯片中用于DSP運算的嵌入式乘法器來實現FIR濾波中的乘法運算。與基于邏輯單元的乘法器相比,嵌入式乘法器性能更高,占用邏輯單元更少。嵌入式乘法器能夠與CycloneⅡ器件的M4K RAM塊進行無縫集成,實現高效的DSP算法[6]。
瞬態視覺誘發電位的識別,就是要將誘發電位信號轉換成一系列控制命令,從而實現人腦與外界的通信與控制。模板匹配是傳統的模式識別方法之一。相關系數是變量之間相關程度的指標,可以用于判斷曲線擬合程度。用相關系數來衡量模板與未知模式匹配的好壞,是一個有效且可行的方法。
首先,選定一個特征明顯的瞬態視覺誘發電位波形,作為模板匹配的參考模板;然后,把實時提取誘發電位波形與參考模板做相關系數計算。若相關系數值大于設定的閾值時,就認為檢測到了的誘發電位,發出控制命令,使光標移向相應的刺激模塊,從而實現瞬態視覺誘發電位的識別。
相關系數的計算公式如下:

假定模板的數據為y,可以先離線計算出公式(1)中含y項的值,存在ROM中,從而提高實時計算的速度。只需要1個乘加器IP核,調用FPGA芯片中的嵌入式乘法器,就可以實現分子和分母中的乘加運算,節省了器件的資源。用開根號IP核來實現開根號運算。
FPGA運行速度快,內部程序并行運行,并且有DSP運算IP核和嵌入式乘法器,能夠快速準確地完成腦電處理算法,滿足信號處理的實時性要求。
2 實驗結果
采用本文方案構建的腦機接口系統進行實驗。液晶面板走勢腦機接口實驗通常為一組實驗,分別選擇不同的4個刺激模塊(包括全部目標的選擇)。在實驗中,受試者頭戴電極帽,眼睛距屏幕70 cm左右,控制光標移向所注視的目標。每次實驗時,4個刺激模塊完成一輪閃爍后,然后停頓幾秒,進行下一輪閃爍。4輪閃爍,即4個刺激模塊都能被選中后,自動停止閃爍。
實驗中提取的瞬態視覺誘發電位波形如圖4所示。圖4(a)中,已經可以看到視覺誘發電位的雛形,但視覺誘發電位的特征不是十分明顯。圖4(b)中,用FIR濾波對誘發電位信號進一步處理,得到了特征比較明顯的視覺誘發電位。

腦機接口的實驗結果如表1所示,受試者是5名健康男性。正確判斷時,在刺激模塊停止閃爍的同時,光標立刻移向受試者注視的模塊。

基于瞬態視覺誘發電位的腦機接口實驗表明,本文給出的基于液晶面板走勢FPGA的腦機接口實時系統的方案是可行的。基于FPGA的VGA視覺刺激器,刺激頻率十分穩定,刺激界面易于接受,修改升級方便。基于FPGA的腦電信號處理算法,采用少量次累加平均結合FIR濾波來提取誘發電位,并通過模板匹配的方法加以識別,可以快速準確地把瞬態誘發電位信號轉換為控制命令,實現了實時的腦機接口系統。基于FPGA的腦機接口系統,是一種新的方法,也是對液晶面板走勢腦機接口實現方法的有益探索。