一种基于神经网络的非线性误差抑制系统和传感器
阅读说明:本技术 一种基于神经网络的非线性误差抑制系统和传感器 (Nonlinear error suppression system and sensor based on neural network ) 是由 周斌 魏琦 郜振翼 张嵘 于 2021-07-12 设计创作,主要内容包括:本发明属于传感器信号处理技术领域,涉及一种基于神经网络的非线性误差抑制系统和传感器,包括:滑动滤波模块、MLP处理模块和参数存储模块;滑动滤波模块,用于根据滤波算法对输入信号进行滤波处理;MLP处理模块,用于根据神经网络算法对经过滤波处理的信号进行补偿,获得下一时刻的误差补偿值,用误差补偿值减去经过滤波处理的信号获得经过补偿的信号;参数存储模块,用于存储滑动滤波模块和MLP处理模块的信号和参数。其将滤波算法和神经网络算法结合,对传感器输出信号中的非线性误差进行处理,实时地进行误差补偿,支持最高3.2MHz的信号采样频率。(The invention belongs to the technical field of sensor signal processing, and relates to a nonlinear error suppression system and a sensor based on a neural network, which comprise: the device comprises a sliding filtering module, an MLP processing module and a parameter storage module; the sliding filtering module is used for filtering the input signal according to a filtering algorithm; the MLP processing module is used for compensating the filtered signals according to a neural network algorithm to obtain an error compensation value of the next moment, and subtracting the filtered signals from the error compensation value to obtain compensated signals; and the parameter storage module is used for storing the signals and parameters of the sliding filtering module and the MLP processing module. The method combines a filtering algorithm and a neural network algorithm, processes nonlinear errors in output signals of the sensor, compensates the errors in real time, and supports the signal sampling frequency of 3.2MHz at most.)
技术领域
本发明涉及一种基于神经网络的非线性误差抑制系统和传感器,属于传感器信号处理技术领域,特别涉及传感器非线性误差抑制技术领域。
背景技术
高精度的传感器信号对于信号测量和系统控制至关重要,也是传感器测控领域的主要研究目标。其中,机械噪声,耦合误差、系统噪声等作用到传感器的输出信号中,使得输出信号包含有真实的测量值和误差分量。误差分量中的线性误差可以通过标定进行补偿,而非线性误差难以通过设备进行校正,需要采取额外的抑制方案。
常见的非线性误差抑制方案包含滤波算法和建模补偿方案。滤波方案通过设计滤波器进行传感器误差信号的去除,这种方案需要提前对误差信号进行频谱分析,获得误差分量的频率信息并设计相应的滤波器。滤波方案对于包含确定频率分量的非线性误差具有良好的误差抑制效果。建模补偿方案则是将误差信号看作时间序列信号,并建立误差的时间序列模型。通过预测下一时刻的误差值,进行输出信号的补偿。典型的建模方案有滑动自回归平均模型、非线性滑动自回归模型等统计学模型。统计学模型余弦对信号进行分析,获得统计特征,并进行拟合模型参数的计算。这些方案按照特定的范式进行参数计算,但误差抑制精度受限于建模的精度。近年来基于神经网络的建模方案在非线性误差抑制方面取得显著效果,其模型精度高,但计算的时间和空间复杂度太大,难以应用于实时和在线场景。
发明内容
针对上述问题,本发明的目的是提供了一种基于神经网络的非线性误差抑制系统和传感器,其将滤波算法和神经网络算法结合,对传感器输出信号中的非线性误差进行处理,实时地进行误差补偿。
为实现上述目的,本发明采取以下技术方案:一种基于神经网络的非线性误差抑制系统,包括:滑动滤波模块、MLP处理模块和参数存储模块;滑动滤波模块,用于根据滤波算法对输入信号进行滤波处理;MLP处理模块,用于根据神经网络算法对经过滤波处理的信号进行补偿,用误差补偿值减去经过滤波处理的信号获得经过补偿的信号;参数存储模块,用于存储滑动滤波模块和MLP处理模块的信号和参数。
进一步,滑动滤波模块包括若干个中间和寄存器,每个中间和寄存器缓存一个输入信号,其中,第k个中间和寄存器的值等于第k-1个中间和寄存器的值加上当前输入信号,M个时钟周期延时后,第M-1个中间寄存器计算得到连续M个采样数据的和,对M个采样数据和求平均值,用于在M个时钟周期延时后连续输出滤波信号。
进一步,滑动滤波模块采用滑动框对输入信号进行平滑处理,其计算公式如下:
其中,X(k+i)为第k个中间和寄存器未经过滤波处理的输入信号,为经过滤波处理的信号,k表示第k个中间和寄存器输入信号。
进一步,MLP处理模块包括乘法运算子模块,加法运算子模块、激活函数子模块和点积运算子模块;乘法运算子模块,用于将经过滤波的输入信号与神经网络的特征权重系数矩阵做乘法运算,生成输入信号对应的特征阵列;加法运算子模块,用于将乘法运算子模块获得的特征阵列与特征偏置矩阵相加;激活函数子模块,用于对神经网络的特征权重系数矩阵进行跟新,获得最优的特征权重系数矩阵;点积运算子模块,用于对加法运算子模块的计算结果和最优的特征权重系数矩阵进行点积运算,获得信号的误差补偿值。
进一步,激活函数的公式为:
其中,α是一个常数,x是激活函数模块的输入向量,f(x)是激活函数模块的输出向量。
进一步,参数存储模块为由寄存器堆组成的存储阵列。
进一步,非线性误差抑制系统还包括时钟分频模块,用于配置系统的运行时钟和各个模块的工作时钟。
进一步,时钟分频模块的输入时钟来自系统外,通过配置分频系数输出低速时钟,低速时钟用来进行信号的采样和驱动滑动滤波模块,同时输出未分频时钟,未分频时钟用于驱动MLP处理系统,未分频时钟与低速时钟满足以下公式:
f=fs×(N+4)
其中,f为未分频时钟,fs为低速时钟,N为输入信号的数量。
进一步,非线性误差抑制系统还包括APB接口模块,用于进行系统间数据传输。
本发明还公开了一种传感器,包括数据采集模块和数据处理模块;数据处理模块中包括上述任一项的基于神经网络的非线性误差抑制系统,用于抑制数据采集模块中信号的非线性误差。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明将滤波算法和神经网络算法结合,对传感器输出信号中的非线性误差进行处理,实时地进行误差补偿,支持最高3.2MHz的信号采样频率。
2、本发明对传感器中的序列数据进行处理,获得下一时刻的预测数据,其不仅可以用于非线性误差的预测的补偿,也可以用于非线性系统模型的拟合和输出预测。
3、本发明采用集成电路的设计方案,兼容APB接口,实现系统参数的软件配置,能够灵活调整系统参数。流水线的处理方式使得补偿系统能够单个时钟周期完成输出的补偿,满足实时性和在线应用的需求。
4、本发明的输出模式有三种,未处理直接输出,滤波输出和MLP补偿输出,提高了系统工作的灵活性,可以根据实际需求对信号采用不同的输出方式。
附图说明
图1是本发明一实施例中基于神经网络的非线性误差抑制系统的示意图;
图2是本发明一实施例中滑动滤波模块的示意图;
图3是本发明一实施例中MLP处理模块的示意图;
图4是本发明一实施例中时钟分频模块的示意图;
图5是本发明一实施例中APB接口模块的示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
本发明的目的是提供一种基于神经网络的非线性误差抑制系统和对应的传感器,其通过结合滤波算法和神经网络算法,对传感器输出信号中的非线性误差进行处理,实时地进行误差补偿,支持最高3.2MHz的信号采样频率。下面结合附图通过两个实施例对本发明的方案进行详细说明。
实施例一
本实施例公开了一种基于神经网络的非线性误差抑制系统,如图1所示,包括:滑动滤波模块、MLP处理模块和参数存储模块。
滑动滤波模块,用于根据滤波算法对输入信号进行滤波处理。
MLP处理模块,用于根据神经网络算法对经过滤波处理的信号进行补偿,获得下一时刻的误差补偿值,用误差补偿值减去经过滤波处理的信号获得经过补偿的信号,最终的输出信号通过选通信号,可以选择输出未处理信号,经过滑动滤波模块后的信号或经过MLP处理模块后的信号。这种输出方式提高了系统工作的灵活性,可以根据实际需求对信号采用不同的输出方式。
参数存储模块,用于存储滑动滤波模块和MLP处理模块的信号和参数。
滑动滤波模块,如图2所示,包括若干个中间和寄存器,每个中间和寄存器缓存一个输入信号,每个输入信号到来时,寄存器内的数据依次按地址向右移一位,最初的缓存数据丢失,当前采样数据缓存在第0个缓存寄存器中。其中,第k个中间和寄存器的值等于第k-1个中间和寄存器的值加上当前输入信号,第0个寄存器的值等于当前的输入信号,M个时钟周期延时后,第M-1个中间寄存器计算得到连续M个采样数据的和,对M个采样数据和求平均值,用于在M个时钟周期延时后连续输出滤波信号。即将第M-1个中间和寄存器的值乘上1/M获得滑动滤波后的信号。对于系统而言,1/M是一个常数,通过APB接口模块进行配置。
滑动滤波模块采用滑动框对输入信号进行平滑处理,其计算公式如下:
其中,X(k+i)为第k个中间和寄存器未经过滤波处理的输入信号,为经过滤波处理的信号,k表示第k个中间和寄存器输入信号。
MLP处理模块,如图3所示,包括乘法运算子模块,加法运算子模块、激活函数子模块和点积运算子模块;乘法运算子模块,用于将经过滤波的输入信号与神经网络的特征权重系数矩阵做乘法运算,生成输入信号对应的特征阵列;加法运算子模块,用于将乘法运算子模块获得的特征阵列与特征偏置矩阵相加;激活函数子模块,用于对神经网络的特征权重系数矩阵进行跟新,获得最优的特征权重系数矩阵;点积运算子模块,用于对加法运算子模块的计算结果和最优的特征权重系数矩阵进行点积运算,获得信号的误差补偿值。其中,特征偏置为输出层的直流偏置。
激活函数的公式为:
其中,α是一个常数,x是激活函数模块的输入向量,f(x)是激活函数模块的输出向量。
在本实施例中,参数存储模块为由寄存器堆组成的存储阵列,用于存储各模块的信号和参数,其中,参数包括接口信号的选通模式、滑动滤波电路的滑动框大小、滑动滤波乘法系数、MLP处理电路的隐藏层权重参数、隐藏层偏置参数、激活函数的常数α、分频电路的分频系数等。
非线性误差抑制系统还包括时钟分频模块,用于配置系统的运行时钟和各个模块的工作时钟。如图4所示,时钟分频模块的输入时钟来自系统外,通过配置分频系数输出低速时钟,低速时钟用来进行信号的采集和驱动滑动滤波模块,同时输出未分频时钟,未分频时钟用于驱动MLP处理系统,未分频时钟与低速时钟满足以下公式:
f=fs×(N+4)
其中,f为未分频时钟,fs为低速时钟,N为输入信号的数量。时钟分频模块内包含计数器,在输入时钟的上升沿进行累加,累加到计数值后,输出时钟寄存器翻转,实现时钟的分频输出。计数器的计数值通过APB接口模块进行配置,以获得不同的分频系数。
如图5所示,非线性误差抑制系统还包括APB接口模块,用于进行系统间数据传输。APB接口模块采用APB2.0协议进行封装,该接口电路能够通过AMBA总线进行电路的参数读写,进行补偿电路参数的配置。输入信号首先进行位宽扩展,从而转化为有符号的32位定点数,如果采样数据是有符号数且不足32位,则通过选择器从高位到低位依次进行连线,低位补0完成位宽到32位的扩展。对于无符号的采样信号,将位宽扩展后的信号减掉常数0x80000000,得到有符号数;对于有符号的采样信号,直接进行输出。两种处理方式可根据信号的形式进行选择,并通过APB协议进行选通信号的配置。
实施例二
基于相同的发明构思,本实施例公开了一种传感器,包括数据采集模块和数据处理模块;数据处理模块中包括上述任一项的基于神经网络的非线性误差抑制系统,用于抑制数据采集模块中信号的非线性误差。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:一种制作三维立体传感器的方法及传感器