一种信号处理的方法和装置与流程

文档序号:14777423发布日期:2018-06-26 06:49阅读:132来源:国知局

本发明涉及信号处理技术领域,特别是涉及一种信号处理的方法、一种信号处理的装置和一种存储介质。



背景技术:

在生理信号的采集过程中,除了所预期获取的信号外,往往会同时采集到大量的噪声信号,其中又以基线漂移和运动伪迹最为显著。为了从含有噪声的信号中提取出有效信号,需要对采集到的信号作进一步处理,以去除无用的噪声。

以脑电信号的采集为例。在脑电信号采集系统中,脑电的幅度约为几百微伏,但是由基线漂移或运动伪迹产生的噪声信号却可以达到几伏,无法对这样的信号直接进行分析。因此,在采集到信号后必须对其基线的变化进行跟踪,并将基线的变化作为噪声从信号中消除,方能获得稳定且有效的脑电信号。

目前,最常用的基线消除方法是滤波处理。滤波处理是基于信号的基线变化与有效信号的主要频率不在同一频段内,通过构造滤波器的方式将基线变化所处频段的信号滤除,从而达到消除基线的目的的一种方法。但是,采用滤波处理消除基线的方法只适用于基线变化缓慢,且与有效信号的频率有明显分界线的情况。在基线产生快速大范围的变化时(如因为被采集者的动作导致运动伪迹的出现时),滤波处理往往需要经过一个较长的时间才能重新找到新的基线进行消除,这就使得最终输出的信号会出现一段无法分析的段落。因此,在出现运动伪迹等情况时,根本无法直接采用滤波处理进行基线消除。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种信号处理的方法、一种信号处理的装置和相应的一种存储介质。

为了解决上述问题,本发明实施例公开了一种信号处理的方法,包括:

获取采样信号,所述采样信号包括多个序列点;

确定当前序列点的上一序列点对应的基线值;

依据所述上一序列点对应的基线值和预设的幅值范围,计算所述当前序列点的权重值;

采用所述权重值,计算所述当前序列点对应的基线值;

基于所述当前序列点以及所述当前序列点对应的基线值,输出目标信号。

可选地,所述多个序列点包括初始序列点和多个非初始序列点,所述初始序列点对应的初始基线值为预设数值。

可选地,依据所述上一序列点对应的基线值和预设的幅值范围,计算所述当前序列点的权重值的步骤包括:

确定所述当前序列点对应的幅值与所述上一序列点对应的基线值之间的第一差值的绝对值;

计算所述第一差值的绝对值与所述预设的幅值范围之间的商值作为所述当前序列点的权重值。

可选地,当所述第一差值的绝对值与所述预设的幅值范围之间的商值大于1时,所述当前序列点的权重值为1;当所述第一差值的绝对值与所述预设的幅值范围之间的商值小于或等于1时,所述当前序列点的权重值为所述商值。

可选地,所述采用所述权重值,计算所述当前序列点对应的基线值的步骤包括:

确定1与所述权重值之间的第二差值,所述第二差值大于或等于零;

采用所述第二差值和所述权重值分别对所述上一序列点对应的基线值和所述当前序列点对应的幅值加权求和,得到所述当前序列点对应的基线值。

可选地,所述基于所述当前序列点以及所述当前序列点对应的基线值,输出目标信号的步骤包括:

计算所述当前序列点对应的幅值与所述当前序列点对应的基线值之间的第三差值;

以所述第三差值作为所述当前序列点对应的目标幅值,以输出目标信号。

为了解决上述问题,本发明实施例公开了一种信号处理的装置,包括:

获取模块,用于获取采样信号,所述采样信号包括多个序列点;

确定模块,用于确定当前序列点的上一序列点对应的基线值;

第一计算模块,用于依据所述上一序列点对应的基线值和预设的幅值范围,计算所述当前序列点的权重值;

第二计算模块,用于采用所述权重值,计算所述当前序列点对应的基线值;

输出模块,用于基于所述当前序列点以及所述当前序列点对应的基线值,输出目标信号。

可选地,所述多个序列点包括初始序列点和多个非初始序列点,所述初始序列点对应的初始基线值为预设数值。

可选地,所述第一计算模块包括:

绝对值确定子模块,用于确定所述当前序列点对应的幅值与所述上一序列点对应的基线值之间的第一差值的绝对值;

权重值计算子模块,用于计算所述第一差值的绝对值与所述预设的幅值范围之间的商值作为所述当前序列点的权重值。

可选地,当所述第一差值的绝对值与所述预设的幅值范围之间的商值大于1时,所述当前序列点的权重值为1;当所述第一差值的绝对值与所述预设的幅值范围之间的商值小于或等于1时,所述当前序列点的权重值为所述商值。

可选地,所述第二计算模块包括:

第二差值确定子模块,用于确定1与所述权重值之间的第二差值,所述第二差值大于或等于零;

基线值计算子模块,用于采用所述第二差值和所述权重值分别对所述上一序列点对应的基线值和所述当前序列点对应的幅值加权求和,得到所述当前序列点对应的基线值。

可选地,所述输出模块包括:

第三差值计算子模块,用于计算所述当前序列点对应的幅值与所述当前序列点对应的基线值之间的第三差值;

输出子模块,用于以所述第三差值作为所述当前序列点对应的目标幅值,以输出目标信号。

为了解决上述问题,本发明实施例公开了一种信号处理的装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的信号处理的方法的步骤。

为了解决上述问题,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的信号处理的方法的步骤。

与背景技术相比,本发明实施例包括以下优点:

本发明实施例,通过确定采样信号中当前序列点的上一序列点对应的基线值,然后依据上一序列点对应的基线值和预设的幅值范围,可以计算得到当前序列点的权重值,并在上述权重值的基础上,能够计算得到当前序列点对应的基线值,从而可以基于当前序列点以及当前序列点对应的基线值,输出目标信号。本实施例能够在基线产生快速大范围变化时迅速定位到新的基线位置并将其消除,从而实现快速地跟踪并消除基线变化,并降低基线漂移和运动伪迹等对有效信号的干扰的目的,避免了最终输出的信号出现无法分析的段落的情况。

其次,本实施例采用迭代计算的方式,计算简单、处理速度快,在整个迭代计算过程只需要在一个存储单元上保存上一个序列点的基线值Bk-1即可,对资源的占用较少,可以应该在包括资源有限的嵌入式系统等各类系统中。

附图说明

图1是本发明一个实施例的一种信号处理的方法的步骤流程示意图;

图2是本发明一个实施例的另一种信号处理的方法的步骤流程示意图;

图3是本发明一个实施例的一种出现运动伪迹的心电采样信号的示意图;

图4是本发明一个实施例的一种输出信号的对比示意图;

图5是本发明一个实施例的一种信号处理的装置的示意性结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明一个实施例的一种信号处理的方法的步骤流程示意图,具体可以包括如下步骤:

步骤101,获取采样信号,所述采样信号包括多个序列点;

在本发明实施例中,采样信号可以是对各种类型的信号进行采样后获得的。例如,通过脑电波监测获得的脑电信号,或者通过心电图监测获得的心电信号等等,本实施例对采样信号的具体类型不作限定。

在本发明实施例中,采样信号可以包括有多个序列点Xk,该序列点Xk可以是与相应的采样点数一一对应的。例如,对于一采样信号,若其总采样点数为2000点,则在采样后,可以获得2000个序列点,即X1、X2,……X2000。

步骤102,确定当前序列点的上一序列点对应的基线值;

在本发明实施例中,采样信号中的各个序列点可以具有一个对应的基线值,该基线值可以认为是在对采样信号进行分析或处理时需要消除的噪声。

例如,对于序列点X1、X2,……X2000,其对应的基线值可以分别为B1、B2,……B2000。

通常,还可以将多个序列点分为初始序列点和非初始序列点。例如,对于序列点X1、X2,……X2000,可以将序列点X1作为初始序列点,而将其他序列点作为非初始序列点。因此,初始序列点对应的基线值即为初始基线值。

在本发明实施例中,初始基线值可以为一预设数值。例如,可以取B1=0。当然,上述初始基线值仅为一种示例,本领域技术人员可以根据实际需要具体确定初始基线值的数值是多少,本实施例对此不作限定。

步骤103,依据所述上一序列点对应的基线值和预设的幅值范围,计算所述当前序列点的权重值;

在本发明实施例中,预设的幅值范围可以是采样信号在正常情况下的幅值范围。例如,若某一采样信号的正常幅值范围为[-512,512],则该预设的幅值范围可以是1024。

在本发明实施例中,可以首先确定当前序列点对应的幅值与上一序列点对应的基线值之间的第一差值的绝对值,然后计算上述第一差值的绝对值与预设的幅值范围之间的商值作为当前序列点的权重值。

在具体实现中,可以采用如下公式(1)计算当前序列点的权重值:

其中,w为当前序列点的权重值,Xk为当前序列点对应的幅值,Bk-1为当前序列点的上一序列点对应的基线值,而N则是预设的幅值范围。

需要说明的是,当第一差值的绝对值与预设的幅值范围之间的商值大于1时,确定当前序列点的权重值为1;当第一差值的绝对值与预设的幅值范围之间的商值小于或等于1时,确定当前序列点的权重值为上述商值。

即,当计算获得的权重值w≤1时,取w=w;当计算获得的权重值w>1时,则w=1。

步骤104,采用所述权重值,计算所述当前序列点对应的基线值;

在本发明实施例中,在计算当前序列点对应的基线值时,可以首先确定1与权重值之间的第二差值,然后采用第二差值和权重值分别对上一序列点对应的基线值和当前序列点对应的幅值加权求和,得到当前序列点对应的基线值。

需要说明的是,第二差值应当是一个大于或等于零的数值。即,在上述公式(2)中,(1-w)的数值应当大于或等于零。只有在(1-w)的数值大于或等于零时,才能够采用如下公式(2)计算当前序列点对应的基线值。

以预设阈值为1为例,可以采用如下公式(2)计算当前序列点对应的基线值:

Bk=(1-w)Bk-1+xWk……(2)

其中,Bk为当前序列点对应的基线值,Bk-1为上一序列点对应的基线值,Xk为当前序列点对应的幅值,w为由公式(1)计算得到的当前序列点的权重值。

步骤105,基于所述当前序列点以及所述当前序列点对应的基线值,输出目标信号。

在本发明实施例中,为了消除噪声对采样信号的影响,在计算得到当前序列点对应的基线值后,可以通过去除该基线值得到相应的有效信号。

在本发明实施例中,可以计算当前序列点对应的幅值与当前序列点对应的基线值之间的第三差值,并以该第三差值作为当前序列点对应的目标幅值,以输出目标信号,该目标信号即是消除了基线影响后的有效信号。

在具体实现中,可以采用如下公式(3)计算得到输出的目标信号:

Yk=Xk-Bk……(3)

其中,Yk为输出的与当前序列点对应的目标信号,Xk为当前序列点对应的幅值,Bk为当前序列点对应的基线值。

在本发明实施例中,通过确定采样信号中当前序列点的上一序列点对应的基线值,然后依据上一序列点对应的基线值和预设的幅值范围,可以计算得到当前序列点的权重值,并在上述权重值的基础上,能够计算得到当前序列点对应的基线值,从而可以基于当前序列点以及当前序列点对应的基线值,输出目标信号。本实施例能够在基线产生快速大范围变化时迅速定位到新的基线位置并将其消除,从而实现快速地跟踪并消除基线变化,并降低基线漂移和运动伪迹等对有效信号的干扰的目的,避免了最终输出的信号出现无法分析的段落的情况。

其次,本实施例采用迭代计算的方式,计算简单、处理速度快,在整个迭代计算过程只需要在一个存储单元上保存上一个序列点的基线值Bk-1即可,对资源的占用较少,可以应该在包括资源有限的嵌入式系统等各类系统中。

为了便于理解,下面以一个完整的示例,对本发明的信号处理的方法作一介绍。

参照图2,示出了本发明一个实施例的另一种信号处理的方法的步骤流程示意图,具体可以包括如下步骤:

步骤201,获取采样信号,所述采样信号包括多个序列点;

需要说明的是,本实施例以心电采样信号为例进行介绍。

如图3所示,是本发明一个实施例的一种出现运动伪迹的心电采样信号的示意图。对于图3所示的心电采样信号,其采样率为250Hz,总采样点数为2000点,该采样信号的正常幅值范围为[-512,512]。从图3中可知,在第1000个采样序列点附近,由于被采样者的动作产生了运动伪迹,使得随后的基线大幅漂移。

步骤202,确定当前序列点的上一序列点对应的基线值;

在本发明实施例中,对于需要计算的基线Bk,可以设定Bk的初始值为0。

需要说明的是,Bk的初始值可以是第一个采样序列点对应的基线值,也可以是非第一个采样点对应的基线值。例如,Bk的初始值可以是第一个采样序列点X1对应的基线值,也可以是与第400个采样序列点X400或第600个采样序列点X600相对应的基线值。本领域技术人员可以根据实际需要确定具体从哪一个采样序列点开始进行计算,本实施例对此不作限定。

步骤203,确定所述当前序列点对应的幅值与所述上一序列点对应的基线值之间的第一差值的绝对值;

步骤204,计算所述第一差值的绝对值与所述预设的幅值范围之间的商值作为所述当前序列点的权重值;

在图3所示的心电采样信号中,预设的幅值范围可以根据正常的幅值范围[-512,512]选定为1024。因此,在将上述数值带入公式(1)中后,可以计算得到当前采样序列点Xk对应的权重值w为:

需要说明的是,为保证能采用上述公式(2)计算当前序列点对应的基线值,若计算得到上述w>1,则选定w=1。

步骤205,确定1与所述权重值之间的第二差值;

步骤206,采用所述第二差值和所述权重值分别对所述上一序列点对应的基线值和所述当前序列点对应的幅值加权求和,得到所述当前序列点对应的基线值;

在本发明实施例中,在计算得到权重值w后,可以使用该权重值w计算出当前采样序列点的基线值Bk,即:

Bk=(1-w)Bk-1+wXk

步骤207,计算所述当前序列点对应的幅值与所述当前序列点对应的基线值之间的第三差值;

步骤208,以所述第三差值作为所述当前序列点对应的目标幅值,以输出目标信号。

然后,可以利用Xk和Bk计算输出信号Yk,即:

Yk=Xk-Bk

从而消除心电采样信号中的基线影响。

如图4所示,是本发明一个实施例的一种输出信号的对比示意图。在图4的上部分中为按照传统的滤波处理输出的信号,而图4的下半部分中则是按照本实施例的信号处理的方法进行处理并输出的信号。从图4中可以看出,同样对正常幅值范围为[-512,512]的心电信号进行显示时,按照传统滤波处理方式在1000~1200采样点之间出现了无法显示的段落,而按照本实施例的信号处理的方法进行处理后,则可以完整显示全部的有效数据。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图5,示出了本发明一个实施例的一种信号处理的装置的示意性结构框图,具体可以包括如下模块:

获取模块501,用于获取采样信号,所述采样信号可以包括多个序列点;

确定模块502,用于确定当前序列点的上一序列点对应的基线值;

第一计算模块503,用于依据所述上一序列点对应的基线值和预设的幅值范围,计算所述当前序列点的权重值;

第二计算模块504,用于采用所述权重值,计算所述当前序列点对应的基线值;

输出模块505,用于基于所述当前序列点以及所述当前序列点对应的基线值,输出目标信号。

在本发明实施例中,所述多个序列点可以包括初始序列点和多个非初始序列点,所述初始序列点对应的初始基线值可以为预设数值。

在本发明实施例中,所述第一计算模块503具体可以包括如下子模块:

绝对值确定子模块,用于确定所述当前序列点对应的幅值与所述上一序列点对应的基线值之间的第一差值的绝对值;

权重值计算子模块,用于计算所述第一差值的绝对值与所述预设的幅值范围之间的商值作为所述当前序列点的权重值。

在本发明实施例中,当所述第一差值的绝对值与所述预设的幅值范围之间的商值大于1时,所述当前序列点的权重值为1;当所述第一差值的绝对值与所述预设的幅值范围之间的商值小于或等于1时,所述当前序列点的权重值为所述商值。

在本发明实施例中,所述第二计算模块504具体可以包括如下子模块:

第二差值确定子模块,用于确定1与所述权重值之间的第二差值,所述第二差值大于或等于零;

基线值计算子模块,用于采用所述第二差值和所述权重值分别对所述上一序列点对应的基线值和所述当前序列点对应的幅值加权求和,得到所述当前序列点对应的基线值。

在本发明实施例中,所述输出模块505具体可以包括如下子模块:

第三差值计算子模块,用于计算所述当前序列点对应的幅值与所述当前序列点对应的基线值之间的第三差值;

输出子模块,用于以所述第三差值作为所述当前序列点对应的目标幅值,以输出目标信号。

本发明实施例还公开了一种信号处理的装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的信号处理的方法的步骤。

本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的信号处理的方法的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种信号处理的方法、一种信号处理的装置和一种存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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