赵 丽,刘泽华,邢 潇
(天津职业技术师范大学天津市信息传感与智能控制重点实验室,天津 300222)
脑电信号EEG是大脑神经产生的一种电位活动,含有大量丰富的脑活动信息[1],是诊断脑部疾病的主要依据,也是目前脑机接口研究的主要信号来源。人体脑电信号由于幅值微弱,常淹没在各种背景噪声中[2],因此需要专门的生物电传感放大采集装置来获取。传统脑电信号采集设备体积较庞大,功耗高,成本高,而且数据传输大多采用有线方式[3-4],不便于脑电信号的实时获取。因此,研究便携式的脑电信号采集设备无论对理论研究还是病人的实时监护都有重要意义。目前已经有很多研究机构推出了无线便携式脑电采集系统,他们所采用的方法是脑电前置放大器,经过无线模块将采集的脑电数据传输到PC机上进行处理,信号处理在PC机上进行,没有完全脱离上位机。针对目前脑电信号采集系统的现状,结合脑电信号采集的特点,本文设计了一种可实时采集和显示的便携式脑电信号采集系统。本设计将μC/OS-II操作系统移植到STM32微处理器上,通过触屏界面切换实现在微处理器上对信号进行FIR滤波和快速傅里叶变换等算法处理,将采集到的脑电信号存储到STM32处理器所配的SD卡里。整个系统体积小、功耗低,无线传送稳定,抗干扰能力强。
整个系统主要包括脑电信号的采集、数据的无线传输和数据处理3部分,如图1所示。微电极采集到的脑电信号传输给模拟放大滤波电路。电极端易产生直流极化电压,过高的极化电压会影响电路的直流稳定性,为滤除电极端产生的直流极化电压,在放大电路中引入高通滤波器[5]。脑电信号经放大之后进行AD转换,由模拟信号转换成数字信号才能被进一步处理。由MSP430单片机控制无线模块(NRF24L01)将数字化的脑电信号发送出去,微处理器STM32f103接收到脑电数据后对其进行FIR滤波、快速傅里叶变换等处理,将处理后的数据存储到SD卡里,通过TFT彩屏可以实时动态的显示出原始脑电信号和处理后的脑电信号。整个系统由触屏控制开始和数据显示。
图1 系统框图
脑电放大电路如图2所示。该电路设计由三级放大组成[10]:第一级为前置放大级,脑电信号进行初步放大,放大倍数为100倍左右,通过RC高通滤波电路耦合与第二级耦合,引入高通滤波器是为了去除脑电信号频率范围以外的无用信号,提高系统抗干扰性,防止混叠滤波;第二级放大电路采用AD210隔离放大级电路,放大倍数为20倍左右,通过二阶压控电压源(VCVS)低通滤波器进入三级放大电路;第三级为放大倍数可调的放大电路,放大倍数可调整在20倍左右,以适合AD转换的需要,最后通过50 Hz陷波电路接入AD转换的数字系统。
前置级需要有高输入阻抗和高共模抑制比。前置级增益越大,对后面的各级电路所造成的噪声的影响越小[7],因此,前置级增益应尽可能高。但是前置级电压增益受到放大器动态工作范围的限制,而且受极化电压的限制,所以,前置级增益不能无限高。采用Analog Devices公司的新型仪用差分放大电路AD620做前置放大级,第二级放大电路采用了亚德诺(ADI)公司的隔离放大器AD210。
图2 脑电放大电路
脑电信号是一种很微弱的生物电信号,其频率主要在0~50 Hz之间。系统所采用的AD转换速率高达1 MHz。由香农定理和实践经验可知,将MSP430的采样频率定为1kHz,已经能够很好地满足实际需要。每次AD转换结束后,使用DMA方式将转换后的脑电数据依次移至数据缓冲区,数据缓冲区填满后,将4 kbits数据无线发送给接收模块。由微处理器STM32f103控制的接收模块上电后,完成系统时钟配置与初始化片外设备。从NRF24L01中读取数据,进行CRC校验。若数据出错,则命令发送模块重发;若数据正确,则放入DMA中,等待数据缓冲满时,将数据打包传给STM32f103进行实时显示、处理和存储。
系统需要通过触屏控制波形的显示和各种处理。触措屏接口电路如图3所示。STM32F103与四线电阻触摸屏的电路连接,通过四线电阻实现触摸屏控制功能。通过PA8~PA114个I/O口分别控制4个三极管的通断,来控制四线触摸屏触点的坐标Y+、Y-、X+、X-。PA3连接内部中断,用于检测触摸屏是否有触摸动作。PA1、PA2是2个A/D转换通道,分别连接Y+和X+,用于计算触摸点的X和Y坐标。触摸屏正常运行时,令PA8、PA9、PA11输出低电平0,PA10输出高电平1,即只让VT2导通。当有触摸动作时,D1导通给PA3一个中断信号,STM32F103接收到中断请求后立即置PA8=1,导通VT1,这样在Y+、Y-方向上就加上电压,同时启动A/D转换通道PA2,通过输入X+上电压计算出触摸点的Y坐标。同理,令PA8、PA10为0,PA9、PA11为1,启动A/D转换通道PA1,通过输入Y+上电压计算出触摸点X的坐标。
图3 触摸屏的接口电路
最后,将采集到的脑电数据存储到SD卡里。要使写入SD卡中的数据可被有效地读取,必须在对SD卡写入的过程中加入文件系统,而文件系统无法由纯硬件实现。因此系统充分利用NiosⅡ软核支持文件系统的优势,通过自定义组件与Avalon总线上的数据通信,实现SD卡的存储。
程序设计主要包括微处理器应用控制程序、NRF24L01驱动程序和TFT屏显示及触摸屏控制程序。采用IEEE802.15.4标准通信协议,编写了适合本设计需要的通信协议。考虑程序的易读性和可移植性,采用C语言作为编程语言,编写相应的程序初始化硬件。软件的开发环境是MDK(Microcontroller Development kit),MDK将ARM开发工具Real View Development Suite(简称 RVDS)的编译器RVCT与 Keil的工程管理、调试仿真工具集成在一起,包括μVision3集成开发环境与Real View编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟。在Keil uVision4集成开发环境里用C语言编写所需的程序,经组建调试完成之后,将程序烧写到主控板里,具体流程如图4所示。
图4 程序流程图
脑电信号分为多种,根据脑电信号产生的原理可以分为2种不同类型的脑电信号:一种是自发脑电信号;另一种是诱发脑电信号。相对于自发脑电信号来说,诱发脑电信号对外界刺激在时间上会具有更强的依赖性,即受到外界特定刺激之后,诱发电位在极短的时间之内就会出现。诱发脑电信号比自发脑电信号容易控制,因此,结合实验室现有条件,采用稳态视觉诱发电位测试整个系统。
电极贴在受试者枕区的O1区,脑电信号经电极、模拟放大电路和A/D转换,由无线模块发送出去,微处理器STM32f103控制无线接收模块接收数据。整个系统上电之后进入初始画面,画面上有3个按钮,分别为开始、FIR和停止。点击开始按钮,在TFT屏上可以看到实时动态的原始脑电波形,点击停止按钮,就可以观测研究当前时刻的脑电波行,如图5所示。脑电采集过程中存在很多干扰,使得采集到的数据很杂,需做数字滤波处理。数字滤波器有IIR和FIR等,FIR比IIR稳定性好、线性度高,系统利用等波纹逼近设计法设计了FIR滤波器。点击FIR按钮切换到滤波画面,该画面同样有3个按钮,分别是开始、FFT和停止。点击开始按钮TFT屏上动态显示滤波后的脑电波形,如图5中FIR滤波后的波形图片。
图5 时域脑电波形
滤波处理只是去除干扰信号,在时域上得到真实的脑电数据。但在单一域上不能充分研究分析数据,因此对数据做了由时域到频域的快速傅里叶变换。快速傅里叶变换(FFT)是基于离散傅里叶变换(DFT),通过蝶形运算极大地减少了DFT的运算量。快速傅里叶的基本算法分为按时间抽选法和按频率抽选法。系统主要采用按时间抽选的基-2快速傅里叶算法。运用C语言在STM32f103上实现FFT算法,主要程序函数有:
点击滤波画面的FFT按钮,进入快速傅里叶变换界面。该画面有2个按钮,分别是开始和退出。图6为点击开始按钮后用FFT对上面所处理后的脑电信号进行128点傅里叶变换后的结果,点击退出按钮就会回到初始画面。
图6 频域显示
系统以微处理器STM32f103为核心,设计并实现了一种体积小、功耗低、可时时观测的无线脑电信号采集系统,达到了较为理想的效果。通过触屏画面控制和切换,方便了操作。本系统具有便携、低功耗、高集成度的特点,适用于采集环境和条件经常变化的场合,具有较高的应用价值,为生物脑机接口的研究打下了坚实的基础。
[1]谢宏,董洋洋.基于ADS1298与WiFi的脑电信号采集与传输系统设计[J].现代电子技术,2013,36(6):150-153.
[2]李振江,杨济民.一种基于STM32W108的无线脑电采集系统的实现[J].科技信息,2013(11):38-39.
[3]吴绍斌,高利,王刘安.基于脑电信号的驾驶疲劳检测研究[J].北京理工大学学报,2009,29(12):1072-1075.
[4]殷罡,吴平东,彭军强,等.可佩戴式无线脑电监护仪[J].微计算机信息,2009,25(4):276-278.
[5]OBEID Iyad,NICOLELIS Miguel A L,WOLF Patrick D.A low power multichannel analog front end for portable neural signal recordings [J].Journal of Neuroscience Methods,2004,133(1/2):27-32.
[6]SUN S L,ZHANG C S.Adaptive feature extraction for EEG signal classification[J].Medical&Biological Engineering&Computing,2006,44(10):931-935.
[7]黄勤,周婷,刘益良.高共模抑制比脑电放大电路设计[J].自动化技术与应用,2009,28(4):77-79.
[8]KNSTOV A,POLAK M.Parallel man-machine training in development of EEG-based cursor contro[J].IEEE Trans Rehab Eng,2000(8):203-205.
[9]徐进飞.基于STM32的脑电信号采集与处理系统[D].济南:山东师范大学,2012.
[10]颜世玉,刘冲,赵海滨,等.基于小波包分解的意识脑电特征提取[J].仪器仪表学报,2012,33(8):1748-1752.
[11]郝雯,沈金鑫,梅成.基于STM32单片机的存储式数据采集系统设计[J].电子设计工程,2013,21(17):80-82.