基于FPGA脑机接口实时系统

发布者:PeacefulWarrior最新更新时间:2011-12-26 来源: 电子产品世界关键字:FPGA 手机看文章 扫描二维码
随时随地手机看文章

   脑机接口BCI(Brain Computer Interface)是一种新颖的人机接口方式。它的定义是:不依赖于脑的正常输出通路(外周神经系统及肌肉组织)的脑-机(计算机或其他装置)通讯系统[1]。要实现脑机接口,必须有一种能反映人脑不同状态的信号,并且能够实时或短时对这种信号进行提取和分类[2]。瞬态视觉诱发电位与刺激之间具有严格的锁时同步关系,能比较准确地检测,而且它所需的视觉刺激频率比较低,不容易引起视觉疲劳。因此本研究采用瞬态视觉诱发电位来实现脑机接口。
 
脑机接口系统是由人和机器构成的闭环系统[3]。除人本身外, 脑机接口系统包括:信号采集、信号处理、外部设备及控制部分。本文的方案采用FPGA取代计算机,作为脑机接口的控制和信息处理器。主要包括脑电采集电路、基于FPGA的VGA视觉刺激器和FPGA开发板三部分,如图1所示。

未命名.jpg

电极帽和脑电采集电路组成了脑电信号采集部分。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所示。

1.jpg

分频模块产生像素输出频率和刺激所需的频率。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、累加器和除法器。

3.jpg

 
触发信号检测保证了刺激与视觉诱发电位的锁时同步关系。只有检测到最早闪烁的刺激模块的触发信号,才把脑电数据存储到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]。
 
瞬态视觉诱发电位的识别,就是要将诱发电位信号转换成一系列控制命令,从而实现人脑与外界的通信与控制。模板匹配是传统的模式识别方法之一。相关系数是变量之间相关程度的指标,可以用于判断曲线拟合程度。用相关系数来衡量模板与未知模式匹配的好坏,是一个有效且可行的方法。
 
首先,选定一个特征明显的瞬态视觉诱发电位波形,作为模板匹配的参考模板;然后,把实时提取诱发电位波形与参考模板做相关系数计算。若相关系数值大于设定的阈值时,就认为检测到了的诱发电位,发出控制命令,使光标移向相应的刺激模块,从而实现瞬态视觉诱发电位的识别。
 
相关系数的计算公式如下:3.jpg

假定模板的数据为y,可以先离线计算出公式(1)中含y项的值,存在ROM中,从而提高实时计算的速度。只需要1个乘加器IP核,调用FPGA芯片中的嵌入式乘法器,就可以实现分子和分母中的乘加运算,节省了器件的资源。用开根号IP核来实现开根号运算。
 
FPGA运行速度快,内部程序并行运行,并且有DSP运算IP核和嵌入式乘法器,能够快速准确地完成脑电处理算法,满足信号处理的实时性要求。
 
2 实验结果
 
采用本文方案构建的脑机接口系统进行实验。脑机接口实验通常为一组实验,分别选择不同的4个刺激模块(包括全部目标的选择)。在实验中,受试者头戴电极帽,眼睛距屏幕70 cm左右,控制光标移向所注视的目标。每次实验时,4个刺激模块完成一轮闪烁后,然后停顿几秒,进行下一轮闪烁。4轮闪烁,即4个刺激模块都能被选中后,自动停止闪烁。
 
实验中提取的瞬态视觉诱发电位波形如图4所示。图4(a)中,已经可以看到视觉诱发电位的雏形,但视觉诱发电位的特征不是十分明显。图4(b)中,用FIR滤波对诱发电位信号进一步处理,得到了特征比较明显的视觉诱发电位。

4.jpg

脑机接口的实验结果如表1所示,受试者是5名健康男性。正确判断时,在刺激模块停止闪烁的同时,光标立刻移向受试者注视的模块。

5.jpg
 
基于瞬态视觉诱发电位的脑机接口实验表明,本文给出的基于FPGA的脑机接口实时系统的方案是可行的。基于FPGA的VGA视觉刺激器,刺激频率十分稳定,刺激界面易于接受,修改升级方便。基于FPGA的脑电信号处理算法,采用少量次累加平均结合FIR滤波来提取诱发电位,并通过模板匹配的方法加以识别,可以快速准确地把瞬态诱发电位信号转换为控制命令,实现了实时的脑机接口系统。基于FPGA的脑机接口系统,是一种新的方法,也是对脑机接口实现方法的有益探索。

关键字:FPGA 引用地址:基于FPGA脑机接口实时系统

上一篇:基于数字锁相环的晶振频率同步模块设计
下一篇:基于CPLD的线阵CCD驱动电路设计

推荐阅读最新更新时间:2024-03-30 21:52

基于FPGA的数字量变换器测试系统设计
  针对数字量变换器性能参数的测试工作,以FPGA为控制核心,开展数字量变换器测试系统的设计和研究,并给出系统各模块的具体设计方法;系统通过USB实现与计算机的通信,能够产生计算机字信号及相应移位脉冲信号、勤务信号和128路指令信号,并能接收经过数字量变换器变化后的计算机数码和指令数码信号;测试系统能够完成对数字量变换器各项性能指标的测试,实验表明,测试系统精度及可靠性高、实时性好,已经成功应用于某遥测系统中。   0 引言   在飞行器发射试验中,常用遥测系统获取其内部各系统的工作状态参数和环境数据,为评定飞行器的性能及故障分析提供依据。数字量变换器作为遥测系统弹上的重要设备,它的主要功能是控制接收弹上的各种飞行参数。变换器性能
[测试测量]
基于<font color='red'>FPGA</font>的数字量变换器测试系统设计
nRF24L01无线模块在单片机与FPGA上的应用
  先简单的介绍下nRF24L01无线模块   (1) 2.4Ghz 全球开放ISM 频段免许可证使用   (2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合   (3) 126 频道,满足多点通信和跳频通信需要   (4) 内置硬件CRC 检错和点对多点通信地址控制   (5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA   (6) 内置2.4Ghz 天线,体积小巧15mm X29mm   (7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便   通过SPI方式完成数据的交换,包括数
[单片机]
nRF24L01无线模块在单片机与<font color='red'>FPGA</font>上的应用
CDMA 2000系统中前向链路卷积编码器的FPGA实现
在通信系统中,由于数字信号在传输过程中受到各种干扰的影响,使信号码元波形变坏,故传输到接收端后可能发生错误判决,为解决这一问题,通常在设计数字通信系统时,首先应从合理地选择调制制度、解调方法以及发送功率等方面考虑,若采取以上措施仍难满足要求,就要考虑差错控制措施。在CDMA 2000系统的前向链路和反向链路中就采用了卷积编码来实现前向差错控制(FEC)。   FPGA是可编程逻辑器件,它的主要优点在于可以借助EDA工具通过软件编程对器件的硬件结构和工作方式进行重构,这就使得硬件设计具有软件设计的灵活性和便捷性。本设计采用VHDL语言并选用可编程逻辑器件在QuartusⅡ下来实现CDMA 2000系统中的前向链路卷积编码器。  
[嵌入式]
CDMA 2000系统中前向链路卷积编码器的<font color='red'>FPGA</font>实现
AD977A在脑电信号采集系统中的应用
   前言   脑电信号EEG(Electroencephalography)是由脑神经活动产生并存在于中枢神经系统的自发性电位活动,含有丰富的大脑活动信息。它是大脑研究、生理研究和临床脑疾病诊断的重要手段。记录脑电信号,可为临床诊断提供依据。因此,提取脑电信号具有重要的现实意义。由于脑电信号处理一般都是基于数字技术,因此电极采集到的模拟信号经信号调理后,通过A/D转换器转换成数字信号是必不可少的过程。这里提出一种基于FPGA和AD977A的脑电信号数据采集系统,采用FPGA作为信号处理器,并控制模数转换,从而实现高可靠性,高通用性的脑电信号数据采集系统。    2 系统总体设计   通过对人体进行视觉刺激、听觉刺激或神经刺
[模拟电子]
基于MicroBlaze软核的FPGA片上系统设计
摘要: 分析软处理器 MicroBlaze 的体系结构,给出 MicroBlaze 内核在软件无线电系统中的应用,实现 SOPC (可编程系统芯片)。 关键词: FPGA IP Core SOPC MicroBlaze CoreConnect 软处理器 软件无线电 Xilinx 公司的 MicroBlaze 32 位软处理器核是支持 CoreConnect 总线的标准外设集合。 MicroBlaze 处理器运行在 150MHz 时钟下,可提供 125 D-MIPS 的性能,非常适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。
[嵌入式]
基于FPGA的双口RAM与PCI9O52接口设计
  O 引言   IDT70V28L(双口RAM)的存取时间大于20ns,PCI9052工作于25MHz,其存取时间要大于双口RAM的存取时间。PCI9052是发起交易的主动者,相当于一个慢速器件访问快速器件,通过可编程器件,可以把PCI9052读写控制信号直接传递给IDT70V28L,完成时序的匹配。   为将PCI9052的局部逻辑转换为双口RAM的读写控制信号和地址信号,本设计采用了可编程器件来实现它们之间的接口逻辑电路。在可编程器件设计中,状态机的设计方法是应用最广泛的设计方法之一。有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。
[嵌入式]
基于89C55和FPGA的最小系统频率特性测试仪
  频率特性是一个系统(或元件)对不同频率输入信号的响应特性,是一个网络最重要的特性之一。幅频特性和相频特性综合称为频率特性。测量频率的方法有点频法和扫频法。传统的模拟式扫频仪价格昂贵、体积庞大,不能直接得到相频特性,给使用带来诸多不便。为此,设计了数字扫频式 频率特性测试仪 。   1 方案论证与选择   1.1 方案的选择   1.1.1 信号发生模块   方案1:采用模拟分立元件或单片压控函数发生器。可同时产生正弦波、方波、三角波,但由于元件分散性太大,产生的频率稳定度较差、精度低、波形差,不能实现任意波形输出。   方案2:采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频
[单片机]
基于89C55和<font color='red'>FPGA</font>的最小系统频率特性测试仪
基于FPGA的FIR数字滤波器设计方案(一)
在Matlab/Simulink环境下,采用DSP Builder模块搭建FIR模型,根据FDATool工具对FIR滤波器进行了设计,然后进行系统级仿真和ModelSim功能仿真,其仿真结果表明其数字滤波器的滤波效果良好。通过SignalCompiler把模型转换成VHDL语言加入到FPGA的硬件设计中,从QuartusⅡ软件中的虚拟逻辑分析工具SignalTapⅡ中得到数字滤波器实时的结果波形图,结果符合预期。   0 引言   在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而实现时域或频域中信号属性的改变。常用的数字滤波器可分为有限脉冲响应(F
[模拟电子]
基于<font color='red'>FPGA</font>的FIR数字滤波器设计方案(一)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
502 Bad Gateway

502 Bad Gateway


openresty
随便看看
    502 Bad Gateway

    502 Bad Gateway


    openresty
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
502 Bad Gateway

502 Bad Gateway


openresty