基于瞬态视觉诱发电位的脑机接口实时系统的方案
提取与识别 累加平均方法是最经典的诱发电位信号处理方法,也是电生理测量中提高信噪比最常用的方法。在FPGA中设计的累加平均算法的框图如图3所示,包括触发信号检测模块、RAM地址控制模块、异步双口RAM、累加器和除法器。 触发信号检测保证了刺激与视觉诱发电位的锁时同步关系。只有检测到最早闪烁的刺激模块的触发信号,才把脑电数据存储到RAM中。当达到要求的闪烁次数时,停止数据的写入。根据刺激模块之间的延时关系,可以确定与各个刺激模块相应的数据在RAM中的起始地址。然后,按照起始地址读出数据给累加器,累加的次数与闪烁次数相同。最后,用除法器除以累加的次数,得到累加后的平均结果。 知识产权(IP)核,是指己验证的、可重利用的、具有某种确定功能的IC模块。FPGA有大量各种用途的IP核。这些IP核对内核进行了参数化,通过头文件或图形用户接口(GUI)可以方便地对参数进行操作。通过异步双口RAMIP核调用片内RAM来缓存脑电数据,保证了数据接口的同步和数据处理速度。用累加器IP核和除法器IP核来实现算法中的累加器和除法器。 只采用累加平均的方法,需要进行上百次才能得到可靠的诱发电位波形,信号提取的时间太长。在少量次累加平均时,为了进一步提高信噪比,提取出较为理想的诱发电位波形,采用数字滤波的方法来减少噪声的影响。FIR滤波器具有严格的线性相位,稳定性好,而且通频带比较平坦。所以,采用FIR滤波器来实现数字滤波。用窗函数设计法设计一个15阶的低通FIR滤波器,窗函数为海明窗,截止频率为10Hz。利用MATLAB工具箱中的FDATool设计滤波器,并转换为HDL代码,可以很方便地在FPGA中实现FIR滤波器。通过调用CycloneⅡ芯片中用于DSP运算的嵌入式乘法器来实现FIR滤波中的乘法运算。与基于逻辑单元的乘法器相比,嵌入式乘法器性能更高,占用逻辑单元更少。嵌入式乘法器能够与CycloneⅡ器件的M4KRAM块进行无缝集成,实现高效的DSP算法。 瞬态视觉诱发电位的识别,就是要将诱发电位信号转换成一系列控制命令,从而实现人脑与外界的通信与控制。模板匹配是传统的模式识别方法之一。相关系数是变量之间相关程度的指标,可以用于判断曲线拟合程度。用相关系数来衡量模板与未知模式匹配的好坏,是一个有效且可行的方法。 首先,选定一个特征明显的瞬态视觉诱发电位波形,作为模板匹配的参考模板;然后,把实时提取诱发电位波形与参考模板做相关系数计算。若相关系数值大于设定的阈值时,就认为检测到了的诱发电位,发出控制命令,使光标移向相应的刺激模块,从而实现瞬态视觉诱发电位的识别。 相关系数的计算公式如下: 假定模板的数据为y,可以先离线计算出公式(1)中含y项的值,存在ROM中,从而提高实时计算的速度。 只需要1个乘加器IP核,调用FPGA芯片中的嵌入式乘法器,就可以实现分子和分母中的乘加运算,节省了器件的资源。用开根号IP核来实现开根号运算。 FPGA运行速度快,内部程序并行运行,并且有DSP运算IP核和嵌入式乘法器,能够快速准确地完成脑电处理算法,满足信号处理的实时性要求。 2 实验结果 采用本文方案构建的脑机接口系统进行实验。脑机接口实验通常为一组实验,分别选择不同的4个刺激模块(包括全部目标的选择)。在实验中,受试者头戴电极帽,眼睛距屏幕70cm左右,控制光标移向所注视的目标。每次实验时,4个刺激模块完成一轮闪烁后,然后停顿几秒,进行下一轮闪烁。4轮闪烁,即4个刺激模块都能被选中后,自动停止闪烁。 实验中提取的瞬态视觉诱发电位波形如图4所示。 图4(a)中,已经可以看到视觉诱发电位的雏形,但视觉诱发电位的特征不是十分明显。图4(b)中,用FIR滤波对诱发电位信号进一步处理,得到了特征比较明显的视觉诱发电位。 脑机接口的实验结果如表1所示,受试者是5名健康男性。正确判断时,在刺激模块停止闪烁的同时,光标立刻移向受试者注视的模块。 3 结语 基于瞬态视觉诱发电位的脑机接口实验表明,本文给出的基于FPGA的脑机接口实时系统的方案是可行的。基于FPGA的VGA视觉刺激器,刺激频率十分稳定,刺激界面易于接受,修改升级方便。基于FPGA的脑电信号处理算法,采用少量次累加平均结合FIR滤波来提取诱发电位,并通过模板匹配的方法加以识别,可以快速准确地把瞬态诱发电位信号转换为控制命令,实现了实时的脑机接口系统。基于FPGA的脑机接口系统,是一种新的方法,也是对脑机接口实现方法的有益探索。
- 基于FPGA的脑机接口实时系统(06-05)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)