一种适合硬件实现的实时峰电位检测和分类方法与流程

文档序号:12064312阅读:298来源:国知局
一种适合硬件实现的实时峰电位检测和分类方法与流程

本发明涉及生物医学和集成电路设计的交叉领域,具体涉及一种能对生物神经元动作电位(峰电位)进行实时检测和分类的算法,该算法具有检测和分类准确率高,计算量低的特点。采用该方法,可以降低硬件实现的功耗,适用于可植入设备。



背景技术:

随着生物医学技术的发展,人类对自身的研究不断深入,然而我们对于大脑的认识依然十分浅薄,许多大脑损伤导致的疾病也没有有效的治疗方法。神经元是大脑工作的一种基本单元,大脑中的信息传递依靠的是神经元发射的动作电位(峰电位)。为了探究神经元的活动方式,必须先对峰电位进行采集和分析。在很多生物医学的实验中,需要对实验对象神经元的活动信息进行实时记录,因此在可植入硬件上实现无监督的峰电位快速检测和分类是神经科学发展的基础。此外,对于大脑组织损伤引起的疾病,可以采用生物芯片替换的方法进行治疗,这也需要在硬件上实现峰电位的实时检测和分类。

为了获得高准确率的峰电位检测和分类结果,需要采用相当复杂的算法(如主成分分析),由此带来的必然是计算量的增大。但是为了不损害生物组织,同时考虑到设备的长期运行,可植入硬件设备对功耗有着严格的限制,因此追求低功耗和高性能给实时峰电位检测和分类带来了巨大的挑战。

贝叶斯最优样本匹配(BOTM)是一种高性能的峰电位检测和分类方法,可以同时实现峰电位的检测和分类,无需对检测到的峰电位进行对齐,消除了对齐不准确带来的干扰,提高了算法的稳定性,对噪声也具有较强的抗干扰能力。探针记录的原始神经信号中,峰电位与噪声混合在一起,BOTM通过基于概率框架下的线性判别分析,可以将信号的信噪比提高至最大,同时将不同类别的峰电位之间的区分度最大化。然而BOTM对信号的处理过程包含了多次矩阵乘法运算,因此对于硬件实现而言,其计算量巨大不利于功耗的优化。

BOTM的处理过程包括三个步骤:对训练得到的若干个不同类别的峰电位样本波形计算对应的匹配滤波器,计算待处理信号对每一种匹配滤波器的BOTM输出,根据该输出进行峰电位检测和分类。若接收的信号中出现与某类(假设为A类)样本波形属于同一类的峰电位,则该处信号对A类匹配滤波器的BOTM输出会超过阈值且大于其他匹配滤波器的响应输出。在整个信号处理过程中,涉及到的运算主要集中在匹配滤波器和BOTM输出的计算。

将训练得到的样本波形i表示为ξi=[ξi,1,i,2,…,i,N]T,其中ξi是一个长度为N的列向量,该向量中的每个点ξi,n是组成样本波形的信号采样点,[.]T为向量转置操作。类似的把信号序列表示成Xt=[xt+1,t+2,…,t+N]T,其中Xt是一个长度为N的列向量,xt+n是信号序列中t+n时刻的信号采样点。根据上述的定义,BOTM输出的计算表达式为:

式中C-1是N×N的矩阵,代表信号噪声协方差矩阵的逆;fi=C-1ξi是长度为N的列向量,代表样本波形i对应的匹配滤波器;p(i)是标量,代表信号序列中出现峰电位i的先验概率。从上述表达式可以看出,计算匹配滤波器的过程是N×N的矩阵C-1与N×1的向量ξi的乘法运算,总共包含了N2次乘法和N(N-1)次加法操作。对于一个样本波形,仅需计算一次匹配滤波器。计算的过程主要是1×N的行向量和与N×1的列向量fi的乘法运算,计算一个采样点的BOTM输出需要2N+1次乘法和2N次加法运算。若信号序列的总长度为L,一共有M个样本波形,则总的计算量为M[N2+L(2N+1)]次乘法和M[N(N-1)+2LN]次加法运算。

在实际应用中L>>N,所以从上述的分析中可以看出,BOTM算法的运算主要集中在对每个信号采样点的计算上。对于可植入硬件设备来说,待处理的信号是实时采集的,也就是信号序列的长度L随时间不断增长。尤其是在长时间段的实验和应用过程中,计算消耗大量能量,不利于硬件实现。

综上所述,BOTM算法具有高准确率和高稳定性的优点,但是计算复杂,在硬件实现时受到功耗的限制。



技术实现要素:

为了克服现有技术的不足,本发明提出了一种适合硬件实现的实时峰电位检测和分类方法。

一种适合硬件实现的实时峰电位检测和分类方法,基于预选的贝叶斯最优样本匹配算法,即PB-BOTM,基于预选机制,避免对噪声的运算处理,只对预选出的若干候选点进行运算,实现实时的峰电位检测和分类,

具体如下:对于输入的信号序列,首先判断输入信号的每个采样点相对于参考电压的正负;对于正的采样点,判断该点是否为极大值,对于负的采样点,判断该点是否为极小值;对于极值判断其绝对值是否大于预选的阈值P_THR,若大于P_THR则计算该点对各类匹配滤波器的BOTM输出DBOTM;若其中一个BOTM输出大于检测的阈值D_THR,再计算该点最近的前H个点与后H个点的BOTM输出(H可取0到2),比较这2H+1个采样点所有的BOTM输出,找出最大的DBOTM,把检测到的该峰电位归类到产生最大输出响应的匹配滤波器所属的类别;最后等待W个采样点,进行新一轮的预选、检测和分类过程,W为实际采样频率乘以峰电位中正负两个峰值点的时间间隔。

所述的PB-BOTM,BOTM输出DBOTM计算公式为

其中Xt=[xt-a+1,xt-a+2,…,xt,…,xt-a+N]T是长度为N的列向量,代表信号序列,a是样本波形参考点的位置,N是样本波形的长度;ξi=[ξi,1i,2,…,ξi,N]T是一个长度为N的列向量,代表样本波形i;fi=C-1ξi是长度为N的列向量,代表样本波形i对应的匹配滤波器;C-1是N×N的矩阵,代表信号噪声协方差矩阵的逆;p(i)是标量,代表信号序列中出现峰电位i的先验概率。

所述的PB-BOTM,预选的阈值P_THR取值小于各类样本波形中最小的峰值,检测阈值D_THR计算公式为

其中p(i)是各类峰电位出现的先验概率,S是峰电位类别数。

现有技术相比,本发明具有如下有益的技术效果:

对于待处理的信号序列,先进行预选,只对可能是峰电位信号的若干候选点计算相应的BOTM输出,其余时间可以将该运算模块关断。因为预选只需要比较判断,相比于计算DBOTM其计算量小得多,因此降低了运算的功耗。通过这种方法,PB-BOTM的计算量降为原来的2%左右,同时保持原方法高稳定性和高准确率的优点。随着神经元发射动作电位速率的降低,计算量也会随之减小。尤其是在长期的实验或者应用过程中,PB-BOTM可以极大地降低消耗的能量。此外,在软件上实现PB-BOTM时,也可以加快处理速度。对于一定长度的信号序列,其运算时间降低为原来的2.3%左右。

附图说明

图1是PB-BOTM算法的流程图;

图2是生物神经元动作电位的模拟验证信号;

图3是3类样本波形;

图4是采用BOTM时,时长为14ms的信号序列和对应的DBOTM的图示结果;

图5是采用PB-BOTM时,时长为14ms的信号序列和对应的DBOTM的图示结果。

具体实施方式

本发明提供了一种基于预选的贝叶斯最优样本匹配算法PB-BOTM(Preselection Based Bayes Optimal Template Matching),可以极大地降低原BOTM算法的计算量,同时保持了高准确性和高稳定性的优点,适合于硬件实现,并且在软件实现时也能极大地提高运算速度。

PB-BOTM是对原BOTM算法的改进,其基本原理是在计算信号序列的之前先对信号进行预检测获得可能是峰电位的候选点,再对这些候选点计算相应的BTOM输出,根据其输出结果进行检测和分类。

PB-BOTM的运算过程如图1所示。首先判断输入的信号序列的每个采样点xt相对于参考电压的正负,若其值大于参考电压则为正,反之则为负。对于正的采样点,判断该点是否为极大值;对于负的采样点,判断该点是否为极小值。若某采样点为极值,且该点的绝对值大于预选的阈值P_THR,计算该点对各类匹配滤波器的BOTM输出DBOTM。若其中一个BOTM输出大于检测的阈值D_THR,考虑到BOTM输出峰值点相对于峰电位参考点的偏移(偏移量一般不超过两个采样点),可以再计算该点最近的前H个点与后H个点的BOTM输出(H可取0到2)。比较这2H+1个采样点所有的BOTM输出,找出最大的DBOTM,把检测到的该峰电位归类到产生该输出响应的匹配滤波器所属的类别,最大DBOTM对应的采样点的时刻就是检测到峰电位的时刻。之后为了防止对同一个峰电位重复检测,等待W个采样点之后再开始进行新一轮的预选、检测和分类过程,W为峰电位波形中正负两个峰值点间隔的采样点数,可以根据实际的采样频率乘以间隔时间计算得到(一般时间间隔为0.2~0.5ms)。

在用PB-BOTM检测和分类前,把各类样本波形以各自的其中一个峰值点作为参考点进行对齐,把参考点置于整个波形的第a位,a的选择必须确保样本波形的完整性。上述运算过程中,预选的阈值P_THR取值小于各类样本波形中最小的峰值。BOTM输出根据公式(2)计算,

其中信号序列Xt的定义改为Xt=[xt-a+1,xt-a+2,…,xt,…,xt-a+N]T,即Xt是一组序列中的第a个点,其余变量的定义保持不变。采用新的定义后,最大的DBOTM出现的时刻将与检测到的峰电位中参考点对应的时刻保持一致。检测的阈值D_THR根据公式(3)计算,

其中p(i)是各类峰电位出现的先验概率,S是峰电位类别数。

以下用实际的测试数据对本发明做进一步的说明,但是所做示例不作为对本发明的限制。

图2所示为生物神经元动作电位的模拟验证信号,其时长为60s,采样频率为24KHz,共计1440000个采样点。图3为该信号序列中存在的3类样本波形,分别用1号,2号和3号表示,且每个样本波形的峰值被归一化到1。每个样本波形的持续时间为2.5ms,采样点数为60,即N=60。它们对齐的参考点在波形的第20位,即a=20。整个信号序列中总共存在3514个峰电位,其中1号1165个,2号1157个,3号1192个。

采用原始的BOTM算法,根据式(2)计算出信号序列中每个采样点对应3类匹配滤波器的DBOTM。选择其中一段时长为14ms的信号序列和对应的DBOTM表示在图4中,其中虚线为信号序列,浅灰色为1号匹配滤波器的响应D1,灰色为2号匹配滤波器的响应D2,黑色为3号匹配滤波器的响应D3。从图4中可以看出,当出现某类峰电位时,对应的匹配滤波器具有最大的响应。

之后在本例中取P_THR=0.5,D_THR=0,p(1)=p(2)=p(3)=0.033,H=2,W=4,采用PB-BOTM算法对同样的信号序列进行处理。图5是时长为14ms的信号序列和对应的DBOTM,其中信号序列与图4中的信号序列相同。可以看出,经过预选之后,只对峰电位参考点和其前后各2个点(共5个点)计算DBOTM。没有计算DBOTM的采样点对应的BOTM输出在图5中表示为0。

为了说明PB-BOTM依然保持了BOTM高准确率的优点,用4组不同噪声水平的信号序列进行了验证,每组的时长都是60s,采样频率为24KHz,共1440000个采样点。验证的结果如表1所示,表中检测、分类和总体所在列的数字表示错误的个数,括号里面是准确率(数值表示百分数),总体表示检测和分类的错误之和,对应的准确率是检测和分类准确率的平均值。计算所在列表示采用PB-BOTM和采用BOTM计算的DBOTM点数之比,时间表示在matlab中采用PB-BOTM和采用BOTM对整个信号序列处理所需的时间。表中最后一行表示四组验证中错误的总数和平均准确率以及平均计算时间和平均计算量。从表1可以看出,采用BOTM的平均检测准确率为97.8%,平均分类准确率为99.8%,总体为98.8%;采用PB-BOTM的平均检测准确率为97.8%,平均分类准确率为99.7%,总体为98.7%。由验证结果可知,PB-BOTM的性能与BOTM相当,但是计算量减小为原来的2%左右,计算时间缩短为原来的2.3%左右。

有上述实例验证结果可知,PB-BOTM算法极大地降低了原算法的计算量,同时保持高准确率的优点,适用于硬件实现,并且在软件实现时也能极大地提高信号处理速度。

表1:

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1