楊勇,趙麗
(天津職業(yè)技術(shù)師范大學(xué)天津市信息傳感與智能控制重點(diǎn)實(shí)驗(yàn)室,天津300222)
便攜式腦電撥號(hào)系統(tǒng)上位機(jī)設(shè)計(jì)
楊勇,趙麗
(天津職業(yè)技術(shù)師范大學(xué)天津市信息傳感與智能控制重點(diǎn)實(shí)驗(yàn)室,天津300222)
針對(duì)腦電撥號(hào)系統(tǒng)體積大、可移動(dòng)性差等特點(diǎn),設(shè)計(jì)一款便攜式腦電撥號(hào)系統(tǒng),通過減小腦-機(jī)接口系統(tǒng)的體積和重量增加腦-機(jī)接口系統(tǒng)的可移動(dòng)性和便攜性。該系統(tǒng)通過跨平臺(tái)C++應(yīng)用程序開發(fā)框架QT來實(shí)現(xiàn)上位機(jī)界面程序設(shè)計(jì),使用TMS320F2812數(shù)字信號(hào)處理器對(duì)腦電信號(hào)進(jìn)行分析和處理,以縮小撥號(hào)系統(tǒng)的體積并增加系統(tǒng)的可移動(dòng)性。仿真實(shí)驗(yàn)表明:界面程序能夠正常工作。
便攜式;腦電撥號(hào)系統(tǒng);上位機(jī);QT;TMS320F2812
腦電撥號(hào)系統(tǒng)是基于穩(wěn)態(tài)視覺誘發(fā)電位(steadystate visual evoked potentials,SSVEP)設(shè)計(jì)的,腦電信號(hào)的處理大多在PC機(jī)上完成,這就增加了腦-機(jī)接口系統(tǒng)的體積,降低系統(tǒng)的可移動(dòng)性。隨著嵌入式處理器的發(fā)展,數(shù)字信號(hào)處理器(digital signal processor,DSP)作為一款具有高速性能和高精度的處理器,可以代替PC機(jī)作為處理腦電信號(hào)的微處理器[1]。通過采用DSP和低功耗微控制器(advanced RISC machines,ARM)分工合作的方式來取代PC機(jī)作為撥號(hào)系統(tǒng)的上位機(jī),增加系統(tǒng)的便攜性,降低系統(tǒng)功耗。本文采用DSP對(duì)SSVEP進(jìn)行濾波和特征提取,并對(duì)撥號(hào)系統(tǒng)上位機(jī)進(jìn)行了設(shè)計(jì)。
本設(shè)計(jì)中,腦電信號(hào)的處理主要在數(shù)字信號(hào)處理器TMS320F2812中進(jìn)行,撥號(hào)界面程序在嵌入式微處理器(ARM11)中運(yùn)行。系統(tǒng)工作流程如圖1所示。DSP主要對(duì)腦電信號(hào)進(jìn)行濾波和特征提取處理,處理后的特征信號(hào)經(jīng)過串口通信發(fā)送給ARM11。ARM11中運(yùn)行的QT撥號(hào)界面程序?qū)μ卣餍盘?hào)進(jìn)行模板匹配并轉(zhuǎn)化成撥號(hào)命令,發(fā)送給撥號(hào)模塊進(jìn)行撥號(hào)。撥號(hào)成功后,下位機(jī)反饋給QT界面撥號(hào)成功的信號(hào),QT獲得該信號(hào)后,相應(yīng)的按鈕背景色發(fā)生變化。經(jīng)過上述過程,用戶就完成了一個(gè)號(hào)碼的撥打,撥打其他號(hào)碼的工作過程與之相似。

圖1 系統(tǒng)工作流程
腦電信號(hào)是一種微弱的生物電信號(hào)且成分比較復(fù)雜,不能直接用作控制信號(hào)。腦電信號(hào)需經(jīng)過濾波和特征提取等處理后,再通過模板匹配轉(zhuǎn)化成具體的控制命令,才能用于控制下位機(jī)硬件電路[2-3]。DSP具有精度高、可靠性高、運(yùn)算速度快的特點(diǎn),可用于腦電信號(hào)的處理。DSP將提取出來的特征信號(hào)發(fā)送給上位機(jī),在QT界面程序上通過模板匹配的方式進(jìn)行模式分類,將每個(gè)不同頻率的特征信號(hào)轉(zhuǎn)化為具體的撥號(hào)命令。
2.1DSP對(duì)腦電信號(hào)進(jìn)行濾波處理
對(duì)于固定階數(shù)的FIR濾波器,采用等波紋逼近設(shè)計(jì)法設(shè)計(jì)的FIR濾波器具有優(yōu)良的濾波特性。在TMS320F2812上設(shè)計(jì)濾波器,主要分為3個(gè)步驟。
(1)濾波程序的編寫
在DSP上設(shè)計(jì)FIR濾波器,通常根據(jù)計(jì)算式來編寫濾波程序,按照實(shí)際需要計(jì)算濾波系數(shù)。FIR的計(jì)算公式為:

在DSP中,對(duì)SSVEP進(jìn)行FIR濾波處理,計(jì)算程序如下:
//FIR計(jì)算
#define N 512
int xn[N];//輸入信號(hào)
for(index=0;index<N;index++)
{
input=xn[index]*32768/694;
lpf.input=input;//input()函數(shù)處理數(shù)據(jù)的起始位置
lpf.calc(&lpf);//lpf()函數(shù)處理
output=lpf.out;
out1=(float)output/32768;
yn[index]=out1;
out=(int)output;
temp[index]=out;
ipcb[index]=(long)(temp[index]*32768);
}
(2)濾波系數(shù)的計(jì)算
系統(tǒng)采用FIR數(shù)字濾波器對(duì)腦電信號(hào)進(jìn)行濾波處理,采用穩(wěn)態(tài)視覺誘發(fā)電位的有效頻率為12~18.5Hz。因此,F(xiàn)IR濾波器的設(shè)計(jì)參數(shù)為:通帶頻率12~19 Hz,阻帶頻率為10 Hz和25 Hz,通帶衰減和阻帶衰減為0.5 dB和50 dB。濾波器系數(shù)的計(jì)算過程比較復(fù)雜,可以通過Matlab中的FDATool工具完成數(shù)字濾波器的設(shè)計(jì)與仿真。
(3)調(diào)試與分析
TMS320F2812是一款具有高性能、多功能的32位定點(diǎn)DSP芯片。頻率分辨率f0=fs/N,其中fs是采樣頻率,N為采樣點(diǎn)數(shù)。頻率分辨率是指頻譜圖中相鄰譜線之間的頻率間隔,頻率分辨率越小,對(duì)應(yīng)的頻率誤差也會(huì)比較小。采樣頻率一定時(shí),提高采樣點(diǎn)數(shù)可提高頻率的分辨率,考慮到TMS320F2812開發(fā)板處理數(shù)據(jù)的能力,本設(shè)計(jì)選擇處理的數(shù)據(jù)點(diǎn)數(shù)為512。
2.2DSP對(duì)腦電信號(hào)進(jìn)行特征提取
采用經(jīng)典功率譜估計(jì)中的周期圖法直接估計(jì)SSVEP的功率譜。功率譜估計(jì)算法是先對(duì)原始信號(hào)x(n)做快速傅里葉變換得到XN(k),然后取其幅值平方的均值作為原始信號(hào)的功率譜估計(jì)。若用周期圖法估計(jì)的功率譜為s(k),則

為確保估計(jì)是漸進(jìn)無偏的,通過采用改進(jìn)的周期圖法來減小偏差。當(dāng)序號(hào)序列長(zhǎng)度趨于無窮大時(shí),可以得到較好的功率譜值。在DSP中對(duì)不同頻率的腦電信號(hào)進(jìn)行濾波和特征提取后,將提取出來的特征頻率發(fā)送給上位機(jī)進(jìn)行模板匹配,將特征頻率轉(zhuǎn)化為具體的控制命令[4-6]。13 Hz的原始腦電信號(hào)經(jīng)過濾波和特征提取處理后的頻譜圖如圖2所示。DSP對(duì)13 Hz的SSVEP腦電信號(hào)進(jìn)行FIR濾波和周期圖法的特征提取后,信號(hào)的識(shí)別效果良好。

圖213 Hz的原始腦電信號(hào)經(jīng)過濾波和特征提取處理后的頻譜圖
本文采用QT的基礎(chǔ)類對(duì)撥號(hào)界面進(jìn)行設(shè)計(jì),QT是一種具有跨平臺(tái)特性的圖形用戶界面程序開發(fā)框架[7-8]。本文設(shè)計(jì)的撥號(hào)界面程序具有很好的擴(kuò)展性,QT的跨平臺(tái)特性支持多種操作系統(tǒng),不僅可以在Windows平臺(tái)下做算法的仿真實(shí)驗(yàn),還可以移植到Linux系統(tǒng)下做便攜式設(shè)備的上位機(jī)顯示界面。
3.1界面布局
腦電撥號(hào)界面主要包括4個(gè)模塊:撥號(hào)區(qū)、腦電波形顯示區(qū)、號(hào)碼和時(shí)間顯示區(qū)、參數(shù)設(shè)置區(qū)。撥號(hào)區(qū)由12個(gè)按鈕組成,其中包含10個(gè)數(shù)字按鈕0~9,2個(gè)特殊功能按鈕刪除鍵(DEL)和確認(rèn)鍵(OK)。腦電波形顯示區(qū)顯示每個(gè)按鈕對(duì)應(yīng)的腦電信號(hào)波形,號(hào)碼和時(shí)間顯示區(qū)主要顯示用戶撥打的號(hào)碼及完成撥號(hào)所使用的時(shí)間,參數(shù)設(shè)置區(qū)包括閾值、計(jì)時(shí)、延時(shí)、采樣等參數(shù)。
3.2界面模塊的設(shè)計(jì)
撥號(hào)界面分為4個(gè)模塊:腦電撥號(hào)模塊、腦電波形顯示模塊、時(shí)間和號(hào)碼顯示模塊和參數(shù)設(shè)置模塊。
(1)腦電撥號(hào)模塊。撥號(hào)模塊主要包括10個(gè)撥號(hào)按鈕和2個(gè)特殊功能按鈕。上位機(jī)界面接收到某個(gè)按鈕對(duì)應(yīng)的信號(hào),該按鈕函數(shù)就可能被執(zhí)行,實(shí)現(xiàn)相應(yīng)的功能。DEL按鈕修改錯(cuò)誤的撥號(hào),OK按鈕確認(rèn)撥號(hào)結(jié)束,計(jì)數(shù)器停止計(jì)時(shí)。
(2)腦電波形顯示模塊。腦電波形顯示模塊顯示每個(gè)按鈕對(duì)應(yīng)的腦電波形。QT沒有直接顯示波形的控件,需要自行繪制坐標(biāo)系來顯示波形,比較繁瑣。波形顯示控件需要使用第三方的控件,主要有QT窗口部件的技術(shù)應(yīng)用控件(QT widgets for technical applications,QWT)和QCustomPlot??紤]整個(gè)系統(tǒng)的實(shí)時(shí)性,采用QWT作為顯示控件,該控件可以解決顯示腦電波形時(shí)CPU使用過高的缺陷[4-5]。
(3)號(hào)碼和時(shí)間顯示模塊。號(hào)碼和時(shí)間顯示模塊主要功能就是顯示號(hào)碼和時(shí)間,每個(gè)按鈕槽函數(shù)被執(zhí)行之后,按鈕的數(shù)字就會(huì)被寫入號(hào)碼顯示模塊,提醒用戶該號(hào)碼已經(jīng)撥打成功。整個(gè)電話號(hào)碼撥打結(jié)束,計(jì)時(shí)器停止計(jì)時(shí),時(shí)間顯示模塊會(huì)顯示用戶撥打號(hào)碼使用的時(shí)間。
(4)參數(shù)設(shè)置模塊。參數(shù)設(shè)置模塊包含4個(gè)參數(shù),其中用戶可以修改采樣、延時(shí)和閾值這3個(gè)參數(shù)值。在上位機(jī)界面中使用的參數(shù)只有計(jì)時(shí)和閾值。采樣和延時(shí)則在腦電信號(hào)處理過程中使用。
3.3界面整體功能測(cè)試
(1)腦電撥號(hào)模塊。在UI界面選中按鈕控件,對(duì)按鈕控件的外形進(jìn)行設(shè)置。按鈕控件的槽函數(shù)與信號(hào)的連接已由QT完成,只需編譯按鈕函數(shù),并在需要執(zhí)行按鈕槽函數(shù)的地方發(fā)出按鈕信號(hào)即可。撥號(hào)按鈕1的實(shí)現(xiàn)函數(shù)如下:
ui->Btn1->setStyleSheet(sBlue);//對(duì)界面中按鈕1的背景色進(jìn)行設(shè)置
telNum.append("1");
ui->label->setText(telNum);//按鈕函數(shù)執(zhí)行后,按鈕的號(hào)碼被記錄到號(hào)碼顯示區(qū)
m_curBtn=ui->Btn1;
QTimer:singleShot(200,this,SLOT(updateCaption));//按鈕槽函數(shù)執(zhí)行過程中按鈕的背景色會(huì)有200ms的變化,提示用戶該按鈕已經(jīng)被成功按下
(2)腦電波形顯示模塊。波形顯示模塊可以顯示自定義信號(hào)的波形,也可以直接顯示輸入信號(hào)的波形。波形顯示模塊采用第三方的QWT控件,因此需要通過QT編譯器對(duì)該控件的源碼進(jìn)行編譯,生成相關(guān)的配置文件。QWT的相關(guān)文件配置完成后,可以在QT Designer中看到顯示波形的QWT控件。對(duì)于坐標(biāo)系的設(shè)置主要是橫、縱坐標(biāo)軸的范圍及標(biāo)題。波形顯示控件橫、縱坐標(biāo)值的范圍和名稱修改代碼如下:
ui->qwtplot->setAxisScale(QwtPlot:xBottom,0,24,0.39);//橫坐標(biāo)值修改
ui->qwtplot->setAxisScale(QwtPlot:yLeft,-49,49,5.9);//縱坐標(biāo)值修改
設(shè)置坐標(biāo)軸的名稱
ui->qwtplot->setAxisTitle(QwtPlot:xBottom,tr("頻率"));//橫坐標(biāo)是頻率
ui->qwtplot->setAxisTitle(QwtPlot:yLeft,tr("幅值"));//縱坐標(biāo)是幅值。
(3)參數(shù)設(shè)置模塊。在valueChanged(int)函數(shù)中,將變量值賦予特定的變量,通過串口將變量值傳遞給DSP用于處理腦電信號(hào)。程序運(yùn)行時(shí)計(jì)時(shí)器啟動(dòng),按下確認(rèn)按鈕,計(jì)時(shí)器停止計(jì)時(shí)。
4.1撥號(hào)功能測(cè)試
界面程序運(yùn)行后,界面與下位機(jī)之間可通過串口通信,接受下位機(jī)的指令。測(cè)試時(shí),通過串口發(fā)送0~9、A、B等指令,界面接收到數(shù)據(jù)后會(huì)執(zhí)行相應(yīng)的槽函數(shù)。通過號(hào)碼顯示區(qū)的內(nèi)容檢測(cè)槽函數(shù)是否執(zhí)行,對(duì)于數(shù)字按鈕,槽函數(shù)執(zhí)行后,會(huì)記錄該按鈕的號(hào)碼;DEL按鈕會(huì)刪除號(hào)碼,OK按鈕停止計(jì)時(shí)。
進(jìn)行串口通信時(shí),通過串口助手給界面程序發(fā)送控制信號(hào);界面程序收到信號(hào)后,按鈕背景色會(huì)有200 ms的改變;控制命令發(fā)出后,界面程序收到反饋信號(hào),號(hào)碼顯示區(qū)顯示撥出的號(hào)碼。
4.2波形顯示功能測(cè)試
QWT是第三方的顯示控件,需要重新編譯和配置。QWT控件配置成功之后,可在QT Designer中找到顯示波形的控件[9-10]。波形顯示測(cè)試界面如圖3所示。波形控件的測(cè)試分為2步:第一步顯示自定義的信號(hào)波形,驗(yàn)證控件能夠正常顯示波形,如圖3(a)所示;第二步顯示腦電信號(hào)的波形,驗(yàn)證撥號(hào)界面程序能夠正常顯示腦電信號(hào)波形,如圖3(b)所示。

圖3 波形顯示測(cè)試界面
4.3界面整體功能測(cè)試
撥號(hào)系統(tǒng)啟動(dòng)后,上位機(jī)會(huì)彈出如圖3(b)所示的界面。上位機(jī)界面主要完成顯示功能、腦電信號(hào)的處理及撥號(hào)控制命令的發(fā)送。撥號(hào)區(qū)的12個(gè)按鈕對(duì)應(yīng)12個(gè)不同特征頻率的腦電信號(hào),13 Hz對(duì)應(yīng)按鈕1,13.5 Hz對(duì)應(yīng)按鈕2,以此類推,18.5 Hz對(duì)應(yīng)按鈕12。腦電波形顯示區(qū)顯示撥號(hào)過程中產(chǎn)生的腦電信號(hào)的頻譜圖。
測(cè)試時(shí),實(shí)驗(yàn)人員通過觀察LED刺激器產(chǎn)生特定頻率的腦電信號(hào)。DSP對(duì)人眼受到刺激產(chǎn)生的特定頻率的腦電信號(hào)進(jìn)行處理,處理后的腦電數(shù)據(jù)通過串口通信發(fā)送給ARM11處理器,該處理器將顯示處理后的腦電數(shù)據(jù)并給下位機(jī)發(fā)送撥號(hào)命令。若撥打號(hào)碼1,腦電波形區(qū)中的按鈕1會(huì)有200 ms的背景色變化,通過按鈕背景色的變化知道該撥號(hào)控制命令已成功發(fā)送給下位機(jī)。波形顯示區(qū)會(huì)顯示該腦電信號(hào)的特征頻率,以此類推撥打其他號(hào)碼。撥號(hào)系統(tǒng)啟動(dòng)后,參數(shù)區(qū)的計(jì)時(shí)器開始計(jì)時(shí),延長(zhǎng)的系統(tǒng)工作時(shí)間通過延時(shí)參數(shù)來校正計(jì)時(shí)結(jié)果。
本文對(duì)便攜式腦電撥號(hào)系統(tǒng)的上位機(jī)進(jìn)行了設(shè)計(jì)。通過DSP和ARM的分工合作代替PC機(jī)等大型處理器作為上位機(jī),減小了系統(tǒng)體積,增加了腦-機(jī)接口系統(tǒng)的便攜性。上位機(jī)通過離線實(shí)驗(yàn),驗(yàn)證了其可行性,為腦-機(jī)接口系統(tǒng)的便攜式設(shè)計(jì)提供了技術(shù)支持。參考文獻(xiàn):
[1]丁超.便攜式腦電采集系統(tǒng)設(shè)計(jì)[D].成都:電子科技大學(xué),2013.
[2]趙麗,孫永,郭旭宏,等.基于穩(wěn)態(tài)視覺誘發(fā)電位的手機(jī)撥號(hào)系統(tǒng)研究[J].中國(guó)生物醫(yī)學(xué)工程學(xué)報(bào),2013,32(2):253-256.
[3]邢蕭.基于便攜式腦-機(jī)接口的智能家電控制系統(tǒng)研究[D].天津:天津職業(yè)技術(shù)師范大學(xué),2015.
[4]趙麗,郭旭宏.基于運(yùn)動(dòng)想象的腦電信號(hào)功率譜估計(jì)[J].電子測(cè)量技術(shù),2012,35(6):81-83.
[5]CHEN X G,WANG Y J,NAKANISHI M,et al.High-speed spelling with a noninvasive brain-computer interface[J]. Proceedings of the National Academy of Sciences,2015,112(44):6058-6067.
[6]WU Z H.Studying modulation on simultaneously activated SSVEP neural networks by a cognition task[J].Journal of Biological Physics,2014,40(1):55-77.
[7]韓少云.基于嵌入式Linux的Qt圖形程序?qū)崙?zhàn)開發(fā)[M].北京:北京航空航天大學(xué)出版社,2012.
[8]陳曦,劉增強(qiáng).基于Qt/Embedded嵌入式控制界面的設(shè)計(jì)[J].化工自動(dòng)化及儀表,2011,38(9):1131-1132.
[9]何建倉,何澤民.嵌入式Qt環(huán)境下繪圖軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2014,35(5):45-47.
[10]吳賀猛.基于Qt/E的嵌入式圖形用戶界面的研究與應(yīng)用[D].南京:南京郵電大學(xué),2013.
Design of the upper machine for portable EEG dialing system
YANG Yong,ZHAO Li
(Tianjin Key Laboratory of Information Sensing and Intelligent Control,Tianjin University of Technology and Education,Tianjin 300222,China)
For electrical volume and poor mobility characteristics of dialing system,a portable EEG dialing system is designed in this paper.By reducing the volume and weight of the brain-computer interface(BCI)system,its mobility and portability is increased.Based on the QT cross-platform C++application development framework for the design of the upper machine interface program,by applying TMS320F2812 digital signal processor to brain electrical signal analysis and processing,the volume of dialing system is reduced and the mobility of the system is increased.The simulation experiments show that the interface program can work properly.
portable;electrical dialing system;upper machine;QT;TMS320F2812
TP273.5
A
2095-0926(2016)02-0036-04
2015-12-28
楊勇(1988—),男,碩士研究生;趙麗(1962—),女,教授,博士,研究方向?yàn)樯镝t(yī)學(xué)工程.