前 言
交通事故是当时世界各国所面对的严峻社会问题之一,已被公认为当今世界损害人类生命安全的榜首大公害,每年因交通事故的原因至少使50万人逝世.欧美各国的交通事故核算剖析标明,交通事故中80%~90%是人的要素形成的。根据美国国家公路交通安全署的核算,在美国的公路上,每年由于司机在驾驭过程中跌入睡觉状况而导致大约10万起交通事故,约有1500起直接导致人员逝世,7.1万起导致人员损伤。在欧洲的状况也大致相同,如在德国境内的高速公路上25%导致人员伤亡的交通事故,都是由疲惫驾驭引起的。根据我国交通部的核算,我国48%的事故由驾驭员疲惫驾驭引起,直接经济损失达数十万美元。有关轿车驾驭员的疲惫检测问题,跟着高速公路的开展和车速的进步,现在已成为轿车安全研讨的重要一环。
国外的许多国家都比较注重疲惫驾驭检测的研讨作业。尤以美国的研讨开展较快,现在具有代表性的有:美国研发的打打盹驾驭员侦察体系,方向盘监督设备,日本研发的DAS2000型路面正告体系,日本研发的电子“清醒带”。关于国内,我国的疲惫驾驭检测体系研讨起步较晚,现在比较成型的体系很少。关于现在来说,不管国内国外,尽管研讨的效果较多,可是还未见到一种办法是被咱们所公认的。就现在而言,根据脑电波的疲惫驾驭检测体系被国际上视作为未来该范畴的开展趋势。
脑电信号是一种弱小的生物信号,并且极易遭到搅扰。根据脑电的疲惫驾驭检测体系的规划思想为:首要要经过脑电收集电路收集脑电信号,再对其进行小波去噪处理,去掉脑电伪迹和高频噪声,终究经过处理剖析脑电信号,然后给出驾驭人员的疲惫程度。体系的根本规划思想如下图所示:
整个体系由模仿部分和数字部分组成。
模仿部分首要由信号扩大电路,滤波电路,光电耦合电路以及AD6783模数转化器构成。
数字部分首要由SPI接口操控器(ADC接口),时钟管理器,小波去噪模块和剖析处理模块一起组成。
榜首章:模仿部分
前端信号收集电路完好完结了根据脑电的疲惫检测体系,全体扩大倍数为A=100×70×1.1×2=15400,脑电信号电压为5μV—100μV,经悉数收集电路扩大滤波后,信号电压规模为-1.54V~+1.54V ,经电压抬升后输入AD信号规模为0.71V~3.79V,外部选用12V直流供电,内部选用7805发生5V电压。详细状况如下:
一、脑电信号收集扩大部分:
(1)前置扩大电路:前置扩大电路是整个脑电收集仪器规划的要害,它决议了整个扩大电路的共模按捺比、输入阻抗和噪声水平。
脑电丈量过程中的共模搅扰特别大,脑电信号的扩大一般选用差动扩大电路结构。前置扩大电路对集成运算扩大器的要求有:高输入阻抗;高共模按捺比;低噪声、低漂移;低输入失调电压;满足大的扩大倍数及低功耗。本课题中选用AD公司的高功用仪用扩大器AD620来完结前置扩大。此运放有较高的技能参数,十分适宜用于生理信号扩大及在电池供电条件下作业的医疗仪器的运用体系。本次电路规划中,扩大倍数为100倍,增益反应电阻选为499欧姆。AD620的扩大倍数G由增益电阻决议,增益:
其间为增益反应电阻。
二级扩大电路:因前置扩大后的信号依然处于比较低的电压水平上,现选用AD620规划二级扩大电路,以进一步确保高共模按捺比、低噪声、低漂移等电路功用,扩大倍数挑选为70倍,增益反应电阻取为715欧姆。
低通滤波电路:低通滤波选用二阶巴特沃斯滤波器,选用OP07运放,截止频率为100赫兹。
由电路,得到传递函数:
只要小于3时,即分母中S的一次项系数大于零,电路才干安稳作业,而不发生自激振荡。
截止频率为:
(4)50赫兹陷波电路:如下图,选用典型的二阶有源带阻滤波器。
这是一种典型的二阶有源带阻滤波器,其传递函数为:
,式中A是运放增益。
这个电路的特色是所用器材少,调试便利。假设陷波深度不行,可采纳级联办法进步搅扰按捺才能。总的来说,50Hz工频陷波电路在体系中起到一个很重要的效果。即便在工频信号吞没脑电信号的条件下,经过滤除5OHz的搅扰信号,也能够得到比较抱负的脑电信号。所以工频陷波电路是生物电信号收会集不行短少的环节。本电路经过50Hz陷波器的引进,成功的去除了50Hz工频搅扰。
高通滤波电路:人体中存在极化电位,这些电信号是直流信号,因而需求规划高通滤波器将这些直流滤除。选用一个简略的一阶有源RC高通滤波电路,截止频率为0.1Hz,增益为2。电路如下:
电压抬升电路:脑电信号是双极性类型,由于AD转化器对输入信号的电压要求为正,故在AD转化之前,经过电压抬升电路,把信号的起伏调整为正,一起经过恰当调整电压值起浮规模,确保与之后的模数转化电路匹配。电路中选用了可安稳地供给4.5V的基准电压的电压基准源MAX6107。电路如下:
在反向份额运算电路中,同向输入端经过电阻接地,此为补偿电阻,以确保集成运放输入级差分扩大电路的对称性,须满意
。
由电路得:
。
差分份额电路中,在参数对称前提下,电路完结了对输入差模信号的份额运算,终究得:
二、模数转化部分:
AD转化电路——光耦阻隔电路
(1)AD转化电路:选用16位采样速率可调的A/D转化芯片,不光确保了A/D转化的精度,并且能够满意并更改需求的A/D的转化速率。
AD7683是AD公司出产的一种低功耗高精度16位高速串行A/D转化器,它适用于仪器仪表、便携式勘探器及各种电池供电的运用场合。选用AD7683和MAX6107规划的A/D转化电路图如下:
(2)光耦阻隔电路:在脑电收集电路与FPGA开发板之间,选用光耦阻隔电路做接口,把两者阻隔开,防止FPGA开发板上的高频数字信号对脑电收集电路的搅扰。一起,光耦阻隔电路还有电压转化的效果,由于AD转化芯片的作业电压为5V,其输出的数字信号电压也可达5V,而FPGA芯片的管脚电压为3.3V。光耦阻隔两头选用不同的上拉电压以完结两者的匹配。
6N136是一个高速光耦芯片,其作业速度可达1Mbit/s,带宽为2MHz。图中,U14、U15和U16别离对DCLK、DOUT和CS进行阻隔,U17对电源操控信号POWER进行阻隔。
第二章:数字部分
- SPI操控模块的完结
咱们选用16位串行A/D转化器AD7683,其作业时序如下图所示:
DCLOCK为AD7683时钟操控信号,由FPGA发生。CS为AD7683选通讯号,低电平有用,由FPGA发生。一次A/D转化至少需求22个时钟周期,至多为24个时钟周期。Dout为AD7683转化输出信号为串行总线,与FPGA相接,为FPGA供给数据。
根据该时序要求,咱们规划了SPI操控器。SPI操控器首要由有限状况机完结。状况机转化逻辑,如下图所示:
根据状况机逻辑转化图,咱们规划程序,经过modelsim仿真得到如下图:
此规划契合AD7683的时序逻辑。
- 时钟管理器
根据脑电信号的特色,咱们的采样平率为256Hz,咱们选用33MHz的体系时钟,对其进行11分频,得到3MHz在对其进行相应的分频后,别离得到6.144KHz(SPI操控器作业频率), 4.608KHz(榜首级小波作业频率,FFT作业频率), 2.304KHz(第二级小波作业频率), 1.152KHz(第三级小波作业频率), 576Hz(第四级小波作业频率)。
时钟管理器示意图如下所示:
- 小波去噪模块的完结
离散小波的根本原理
小波改换是一种信号的时刻—标准(时刻—频率)剖析办法,它具有多分辨率剖析(Multi-resolutionAnalysis)的特色,并且在时频两域都具有表征信号部分特征的才能,是一种窗口巨细固定不变,但其形状可改动,时刻窗和频率窗都能够改动的时频部分化剖析办法。即在低频部分具有较高的频率分辨率和较低的时刻分辨率,在高频部分具有较高的时刻分辨率和较低的频率分辨率,很适宜于勘探正常信号中夹藏的瞬态反常现象并展现其成分,所以被誉为剖析信号的显微镜。
根据脑电信号本身特性,咱们挑选DB4小波,图为小波改换的示意图:
离散小波改换的全体规划思想
选用四级小波分化,每一级的小波系数由FIFO进行暂存,协同去噪模块进行读取,去噪,以及去噪后的组成作业,整个离散小波改换选用流水结构,其间小波分化和小波组成两个模块可到达262MHz,小波去噪模块可到达167MHz,整个离散小波模块能够到达167MHz。
MALLAT算法
MALLAT算法是由法国科学家于1988年提出的一种离散小波改换(DWT)的快速算法。该算法的位置适当于快速福利叶改换在经典傅里叶剖析中的位置,已成为各种硬件完结的直接理论根据。MALLAT算法中的中心是滤波模块,由滤波模块完结小波的分化与组成,下图给出MALLT算法的小波分化示意图:
小波去噪模块中心规划
补码运算器
AD采样输出的为数据的原码,咱们需求将其改换为补码。
关于正数而言,它的原码等于它的补码;关于负数而言,它的补码是对其原码除符号位之外进行取反后加一处理。因而,补码器的规划示意图如下:
DA算法及其滤波器的完结
DA算法是distributed arithmetic算法的简称。中文译为分布式算法。小波滤波器的完结选用分布式算法完结。分布式算法作为一项数字信号处理算法,广泛运用于核算乘积和运算,与传统的乘积和结构比较,DA算法具有并行处理的高效性特色。若选用分布式算法完结小波滤波器,则它在FPGA中的作业速度只与输入数据的宽度B有关,与滤波器的阶数N无关,阶数只影响FPGA资源的运用量。
在高速环境下,往往运用DA算法封装成一个乘法器替代DSP进行运用,然后完结滤波器的规划作业,可是这样过于消耗资源。咱们经过剖析卷积原理,优化了滤波器完结结构,这样不只节省了很多的资源,并且在速度上也完全能够满意实时高速要求。详细优化为:
(1)运用串并转化结构,然后到达复用乘法器的意图,能够指数倍的节省硬件资源。
根据这种结构的滤波器不管是多少阶的滤波器都只运用一个DA乘法器。
(2)多位并行查找表结构,速度大大进步。
滤波器完结结构示意图如下:
根据该滤波器结构,编写程序,经过modelsim仿真得到如下图:
下面给出MATLAB仿真
留意:此刻的滤波器现已完结了下两点抽取,因而x_out显现的为MATLAB中y输出的偶数点。
经MATLAB验证,滤波器规划无误。
下两点采样器
根据MALLAT算法,咱们要对每一级输出的数据进行下两点采样处理,因而咱们规划的下两点采样器示意图如下:
异步FIFO(1024点)
异步FIFO在整个体系中,担任体系暂存的效果,因而要确保数据的丢掉概率满足的低,因而需求规划一个高牢靠的,高速率的异步FIFO需求处理以下问题:
(1)同步异步信号,使触发器防止亚稳态的发生。咱们选用了两办法处理这一问题:
a).对写地址/读地址选用格雷码。
b).选用触发器来同步输入信号。
(2)发生正确的满/空标志信号。咱们经过设置额定状况位的办法来准确判别满/空状况。
判别满/空标志的公式:
Empty=(读指针=写指针);
Full=(读指针最高位/=写指针最高位)and (读指针其它位=写指针其它位);
243点中值选取器
243点中值选取器的根本效果便是选取hi_d1小波系数中的中心值,之后对中心值进行简略运算处理,然后得到小波去噪的门限值,以便进行之后的小波去噪运算。
在核算机运用傍边,中值算法现已适当老练,高效。但关于FPGA来讲,还没有发现一种既节省资源又能够履行功率高的中值算法。因而咱们采纳了许多测验,首要咱们测验着修正核算机中的冒泡法以便能够移植到FPGA中运用,可是咱们发现假设将冒泡法运用在FPGA上会呈现以下状况:
(1)无法归纳或许很难归纳,极易发生过错
(2)严峻消耗资源,延时欠安,若243点中值选用冒泡算法占用资源量是一般FPGA所吃不消的。
后来咱们又测验过几种算法,例如根据三点中值选取器的全流水结构的243点中值选取器,资源占用尽管有所改善,可是消耗资源依然严峻,需求消耗10000多个以上LUT,一般的FPGA依然很难吃消。
然后,咱们经过剖析根据三点中值选取器的结构的全流水结构,发现了3点中值选取器运用率过低,所以经过从头规划咱们选用了一种新的规划结构:一种根据复用9点中值选取器的全流水的243点中值选取器,该种结构较根据三点中值选取器的全流水结构能够节省94%的LUT资源,并且时钟频率依然坚持在175MHz以上。
其中心思想为:将很多数据进行分段处理,做到少数屡次,并且运用流水结构到达实时处理要害要求。
剖析以上结构,假设咱们将第三级的3点中值选取器更换为9点中值选取器,那么它将能够完结729点的中值选取功用,而若运用根据三点中值选取器的全流水结构来完结729点中值选取的功用那么其资源消耗可想而知。如下图所示为两者资源消耗的联系图例:
3点中值选取器
3点中值选取器的根本功用是完结关于三个输入数据完结寻觅其间值的功用,规划流程图如下图所示:
9点中值选取器
9点中值选取器的结构是根据3点中值选取器的全流水结构,其结构示意图如下图所示:
根据结构示意图,编写程序,经modelsim仿真,得到如下图:
我输入的数据1-486,则算出的中值为122和365,这与逻辑剖析相同,规划正确无误。
去噪剖析器
去噪剖析器的根本功用是完结hi_d4与去噪门限的比较,假设hi_d4大于去噪门限就认为是噪声,则此点被置零,假设hi_d4小于去噪门限则坚持不变输出。规划流程图如下图所示:
小波分化模块的完结
根据MALLAT算法,小波分化模块首要是完结关于脑电信号的各个频谱重量的分化作业,而MALLAT算法完结的要害在于小波滤波器。下图为小波分化模块的结构示意图:
数据经补码器流入小波分化高通滤波器(HI_D)和小波分化低通滤波器(LO_D)滤波后经下两点采样后完结一级小波分化运算,小波的高通系数被存放在FIFO傍边等候组成运算。小波的低通系数持续流入下一级小波分化模块,对信号进一步分化。
以上是通用的小波分化算法,其长处是适用于各种信号的分化,可是咱们经过剖析本次课题规划的意图可知:脑电信号的频率规模是从1Hz~250Hz,而咱们所关怀的只要10~13Hz和18~22Hz的频带信息,即咱们只关怀脑电信号50Hz以下的频带信息,其他的频带信息在本次课题规划中是无用的,因而咱们根据小波分化的概念,提出了更为节省资源的小波分化模块的完结办法;下图为运用于脑电疲惫检测的小波分化模块的结构示意图:
该种结构节省了两个小波高通滤波器(HI_D)和两个1024点的FIFO,节省资源不行忽视。
小波组成模块的完结
小波组成模块首要是为了完结在小波去噪之后的各级小波系数的组成作业。根据MALLAT算法,小波组成的完结依然要依托小波组成高通滤波器(HI_R)和小波组成低通滤波器(LO_R)。下图为小波组成模块的结构示意图:
以上是通用的小波组成算法,其长处是适用于各种信号的组成,可是咱们经过剖析本次课题规划的意图可知:脑电信号的频率规模是从1Hz~250Hz,而咱们所关怀的只要10~13Hz和18~22Hz的频带信息,即咱们只关怀脑电信号50Hz以下的频带信息,其他的频带信息在本次课题规划中是无用的,因而咱们根据小波组成的概念,提出了更为节省资源的小波组成模块的完结办法;下图为运用于脑电疲惫检测的小波组成模块的结构示意图:
以上节省了两个FIFO,节省资源不行忽视。
- 剖析处理模块的完结
脑电信号与疲惫检测的根本理论
脑电信号与人体疲惫的联系
近年来学者对脑电的研讨标明,18~22 Hz及更高频率的脑电首要是大脑思想活动活泼的表现,所以当驾驭员处于疲惫状况时,大脑的思想活动会下降,然后β涉及高频脑电会削减,而脑电的α波会增多;当从疲惫转为打盹或睡觉状况时,占主导的脑电频率会逐渐下降为2~4Hz的δ波。
经过学者的剖析,假设运用10~13 Hz和18~22 Hz两个频带的平均功率谱比值作为疲惫驾驭脑电的一个目标是可行的。
设信号在频带h的平均功率谱密度为
式中:
疲惫状况下,不管驾驭员处于何种动作状况下,R值都比精力充沛时R值要高。
处理剖析模块的全体结构及其功用
剖析处理模块首要完结对信号的剖析处理作业,然后终究给出脑电的驾驭疲惫系数。其结构示意图如下图所示:
经小波去噪模块后的数据,逐一进入FIFO进行存放,一起读时能计数器主动加1,当FIFO中存放了256个数据时,此刻读时能存放器计数值也为256,此刻宣布读时能信号给FIFO一起宣布开端信号给FFT,数据将以CLK_fft的时钟节拍下从FIFO中读出进入FFT模块,FFT开端进行快速傅里叶核算,之后将成果进行数据输出,一起带有地址信息,挑选乘法器挑选地址信息为10-13,18-22点的数据进行乘法运算之后进行加法运算并别离输出为10-13Hz的实数加和成果(RE_13),10-13Hz的虚数加和成果(IM_13),18-22Hz的实数加和成果(RE_18)和18-22Hz的虚数加和成果。将RE_13和IM_13做加和运算作为除法器的被除数,将RE_18和IM_18做加和运算作为除法器的除数,终究完结两者的除法运算,给出疲惫系数(即除法器的商和余数)。
FFT core的调用
咱们调用的为256点的FFT的CORE,选用流水结构,输入输出位宽为17位,运用缩放因子,设置截位处理为项下截取,次序输出,挑选运用BLOCK RAM,未进行任何特别优化。
FFT首要完结的功用便是对信号进行时频域改换,然后能够对其进行频谱能量的相关核算。在本次课题规划傍边咱们首要关怀的为10-13Hz 和18-22Hz的脑电频谱成分,对应到FFT上约为10-13点和18-22点的X(K)。
挑选乘法器
挑选乘法器的根本作业便是根据地址信息,挑选性的选取数据进行乘法运算,该乘法运算调用了DSP48E模块,并将乘法成果输出到加法器傍边进行累加运算。然后得到实部乘积和虚部乘积。其结构示意图如下所示:
加法器
加法器的根本功用便是完结加法运算。
除法器
关于一切的FPGA归纳软件都能够归纳“+,-,*”三种算术运算,可是不能归纳除法运算,即便在核算机中一切的除法运算也是经过乘法运算直接完结的,因而在FPGA傍边规划除法器是一个难点。
常用的除法算法首要有两种,一种为线性收敛,另一种为二次收敛计划。
咱们选用线性娴熟的除法算法,即restoring(复原)除法,首要调整分母并加载分子到余数存放器中,然后从余数中减去调整的分母并将成果存在余数存放器中,假设新的余数为正,咱们就将商加1,不然商不变并且还需求经过加上分母来复原早年的余数值。咱们选用状况机对其进行完结。
疲惫断定的预警设备
根据文献所给出的如下数据:
数据标明:疲惫状况下,不管是处于默坐、平稳驾驭仍是换挡操作下,脑电α和β波的R值(3·00~4·00)都比精力充沛时的R值(1·00~1·50)要高,阐明脑电α和β波的R值能较好地反映出疲惫时的脑电特性.而脑电α波和δ波在疲惫状况下的R值(0·40~1·30)与精力充沛状况下的R值(0·10~0·70)比较,就相差较小,有穿插区间,不能清晰区别两种状况.这是由于δ波频率为2~4Hz,简略遭到身体移动等搅扰的影响.因而,用脑电α和β波频带的平均功率谱密度比值R作为疲惫的脑电特征量是比较适宜的.
根据以上数据与定论,咱们规划了一种简略的预警设备。
第三章:开发总结及其扩展方向
一.开发总结
(1)体系分为模仿收集和数字处理两个部分:
模仿收集部分首要完结了关于脑电信号的提取扩大和去噪的根本任务并经过串行转化器AD7683将AD转化后的脑电信号传送给FPGA傍边。
数字处理部分首要完结了关于脑电信号的小波分化,去噪,组成的根本过程然后完结了小波去噪功用,得到较为纯洁的脑电信号,之后对脑电信号进行剖析处理,首要完结了FFT运算,得到10-13Hz,18-22Hz的频带信息,并对其进行功率运算,终究运用除法器取其比值然后得到根据脑电的疲惫驾驭系数,做出了预警处理,进步了驾驭人员的驾驭安全系数。
(2) 体系的最高频率为167MHz左右,总资源运用率为10256个slice(占总资源数的14%),4个block ram(占总资源数的2%),16个DSP48ES(占总资源数的21%),小波分化与组成的速率在262MHz左右。体系作业速率的首要瓶颈在于243点中值选取器,代码及算法优化后,可望进一步进步小波去噪的全体作业频率。
(3)关于根据脑电信号的疲惫检测咱们现在依然处于探究阶段,因而还不能完确掌握24个电极疲惫系数的交融办法,然后给出一个更为准确,科学的驾驭疲惫系数,但以开始完结了关于驾驭疲惫的测定,对往后的规划有很大的参阅价值。
(4)假设持续优化代码和体系结构将体系运用资源降到最低,那么咱们能够运用FPGA的低端产品进行开发,然后大大下降了开发本钱。
(5)本体系经过有线方法对脑电进行收集,这关于一个驾驭中的人来讲是极端不便利的,因而关于脑电收集咱们能够采纳无线办法。
二.立异点总结
(1)DA滤波器的结构改善,硬件资源成指数倍的节省。首要对一下两方面做出了改善优化:
a).运用串并转化结构,然后到达复用乘法器的意图,能够指数倍的节省硬件资源。
根据这种结构的滤波器不管是多少阶的滤波器都只运用一个DA乘法器。
b). 多位并行查找表结构,速度大大进步。
(2)243点的中值选取器的立异结构(根据复用9点中值选取器的全流水结构),硬件资源节省都在90%以上,并且功率坚持在很高的一个水平,约为167MHz。该结构的优势相关于3点中值选取器的全流水结构的优势在于其点数越多所能节省的硬件资源会越多,经理论核算乃至能够节省资源到达98%左右。
(3)根据脑电信号的本身特色,咱们提出了小波分化与组成的更为节省资源的结构,使得将脑电信号的小波去噪模块移植到低端FPGA上成为可能。在本次课程规划傍边,咱们只需求10-13Hz和18-22Hz的频带信息,因而在小波分化时能够舍去其高频信号的滤波,而直接断定其为零,这样能够大大节省硬件资源。
(4)初次在FPGA完结了根据脑电的驾驭疲惫检测的整个体系。关于往后FPGA在脑电信号的运用与开发范畴起到了必定的参阅效果。
三.扩展方向
(1)本次开发所规划的小波去噪模块是具有通用性的,不只能够用于脑电信号的去噪,还能够运用在心电信号,肌电信号,地震信号,雷达信号,通讯信号及其他各种相关相似信号的去噪作业上。
(2)单对脑电信号而言经过小波去噪后,能够运用于脑机接口技能的开发,大脑病变信号的医疗检测,以及脑电信号在假肢上的运用等。