基于自由节点递推b样条的传感器非线性补偿方法

文档序号:6006861阅读:231来源:国知局
专利名称:基于自由节点递推b样条的传感器非线性补偿方法
技术领域
本发明涉及一种基于自由节点递推B样条的传感器非线性补偿方法,属于传感器技术领域。
背景技术
非线性补偿技术是传感器不可缺少的一部分,常用的传感器信号补偿算法有查表法、遗传算法、支持向量机及神经网络法等。其中查表法是最简单也是最传统的一种方法, 其精度完全依赖于表中数据的间隔,对存储空间的要求较高。其它几种方法均是基于逆模型的非线性补偿方法,这几种方法虽然能够达到较高的建模精度,然而,它们对建模复杂性问题考虑不足,计算模型参数需要花费较多的系统资源;同时,这些方法并未考虑对大批量传感器的标定优化问题。

发明内容
本发明的目的是为了解决现有传感器采用的基于逆模型的非线性补偿方法计算量大的问题,提供一种基于自由节点递推B样条的传感器非线性补偿方法。本发明包括以下步骤步骤一实验获取所述传感器的输入输出样本数据,利用输入输出样本数据产生自由节点;步骤二 以样本数据的输出变量作为逆模型结构的输入变量,以样本数据的输入变量作为逆模型结构的输出变量,根据自由节点,建立B样条函数描述的逆模型结构;步骤三根据自由节点,从样本数据中选择训练样本;步骤四根据训练样本和递推最小二乘方法计算以B样条函数描述的逆模型结构的控制系数,获得完整的传感器B样条逆模型;步骤五用完整的传感器B样条逆模型处理所述传感器的输出变量,实现传感器的非线性补偿。本发明的优点是本发明方法具有精度高、计算量小、适合在微处理器上应用,且能够大大降低大批量传感器标定工作量的优势,具有很高的应用价值。本发明在保证精度的同时,建模所需的计算量较现有其他方法的计算量小,且计算过程为迭代过程,适合在微处理器上应用。采用了 B样条函数作为描述模型的工具,能够很好的避免过拟合和欠拟合现象的发生。采用了自由节点以提高补偿的精度,且利用自由节点选择训练样本,可以降低大批量传感器补偿所需的工作量。本发明方法利用B样条函数构建传感器的逆模型,来实现非线性补偿;它利用输入输出样本数据来产生自由节点,有效地提高了 B样条函数的精度;利用自由节点及训练样本选择策略,能够降低大批量传感器标定所需的工作量。


图1为本发明方法的流程图;图2为本发明方法中基于逆模型的传感器非线性补偿原理图;图3为实施方式六中对S型热电偶温度传感器进行非线性补偿所用到的样本数据和训练样本曲线图;图4为实施方式六中对S型热电偶温度传感器进行非线性补偿后的绝对误差图;图5为实施方式七中对负温度系数的热敏电阻器进行非线性补偿所用到的样本数据和训练样本曲线图;图6为实施方式七中对负温度系数的热敏电阻器进行非线性补偿后的绝对误差图。
具体实施例方式
具体实施方式
一下面结合图1和图2说明本实施方式,本实施方式包括以下步骤步骤一实验获取所述传感器的输入输出样本数据,利用输入输出样本数据产生自由节点;步骤二 以样本数据的输出变量作为逆模型结构的输入变量,以样本数据的输入变量作为逆模型结构的输出变量,根据自由节点,建立B样条函数描述的逆模型结构;步骤三根据自由节点,从样本数据中选择训练样本;步骤四根据训练样本和递推最小二乘方法计算以B样条函数描述的逆模型结构的控制系数,获得完整的传感器B样条逆模型;步骤五用完整的传感器B样条逆模型处理所述传感器的输出变量,实现传感器的非线性补偿。本发明方法通过建立传感器的逆模型来达到非线性补偿的目的,其原理如图2所示,在微处理器中存储传感器的逆模型,用于处理传感器的输出电信号,逆模型的输出为被测变量的估计值。在对传感器进行非线性补偿之前,需要先获得传感器的输入输出样本数据;获得输入输出样本数据之后,以输入输出样本数据的输出数据作为逆模型的输入,输入数据作为一个逆模型的输出,产生自由节点。这里,逆模型以B样条函数的形式存在。然后, 利用自由节点建立逆模型。接着,再利用自由节点和相应的选择策略从样本数据中选择训练样本。最后,利用递推最小二乘方法计算逆模型的控制系数,建立逆模型以补偿传感器的非线性度。整个流程如图1所示。其中训练样本的选取方法,即为传感器的标定策略优化方法。本发明利用B样条函数描述传感器传递函数的逆模型,模型结构简单、参数少、节省存储空间;自由节点的选取能有效地提高逆模型的精度,从而提高非线性补偿的效果; 递推最小二乘以迭代方式计算B样条函数控制系数,计算量小、易于在微处理器上实现;在大批量传感器标定过程中,从样本数据中合理选取训练样本数据,从而在保证精度的前提下,降低逆模型建立所需的数据量和实验工作量,实现标定过程的优化。
具体实施方式
二 本实施方式为对实施方式一的进一步说明,在本实施方式中利用输入输出样本数据产生自由节点的方法为步骤一一节点向量t的表达式为
t = (Uf=+-L l = U+l < …广-i <tQ=a<...< tN+l =b< tN+2,... < tN+k,初始节点向量为t°: 0 =(υ,α = = Μ20,...,Ο ;其中i为节点向量的编号,k为B样条函数的阶数;节点向量为t的维数为N+2k ;步骤一二 根据当前的节点向量t定义当前的B样条曲线!;,= Pnft,首次循环时,t = t0 ;式中Yn,t为当前B样条曲线的输出,Pn,t为当前B样条曲线的节点向量t所确定的基函数,<为当前B样条曲线的控制系数;步骤一三计算当前B样条曲线的输出Yn, t与样本数据输入变量之间的误差Rt,Rt = |un-Yn,t|,f/ ={八}〗=1,并寻找最大误差0。= max(尺)=尺(J。)及其对应的
样本点(少力,xZo ),式中为选定的样本点的输入变量, 为选定的样本点的输出变量, J0为该选定的样本点在样本数据中的编号;步骤一四当最大误差^/。大于误差容限δ,即、> δ,则执行步骤一五,否则执行步骤一八;步骤一五在当前的节点向量t中寻找(。和(。+1使得步骤一三中的样本点 (力。,巧。),满足、[tiQ、+1]为步骤一三所选出的样本点的输入变量少彡。在当前节点向量t中所处的区间;步骤一六计算当前B样条曲线在区间(、々+1)的三阶差商,将区间伐。,(。+1)进行等分,最大三阶差商Wix+JA 1^,/)所在的位置作为新的B样条曲线的自由节点
xJeIrI0 ^I0 ^1)
式中Δ 为三阶差商计算符;步骤一七将新的自由节点tnew加入到节点向量t中,返回步骤一二 ;步骤一八检查节点向量t中的所有自由节点是否满足在两个相邻的自由节点之间至少有一个样本点存在,若是,保留所述两个相邻的自由节点,若否,删除所述两个相邻自由节点中的任意一个;上述公式中设定步骤一中所述的输入输出样本数据为弋)}〗=1,其中yj为样本数据的输入变量,Xj为样本数据的输出变量,Xj的取值范围为[a,b],a为样本数据的输出下限,b为样本数据的输出上限,j为样本数据的编号,η为样本数据的总数量。其它与实施方式一相同。本实施方式中节点向量为t由内节点和外节点两部分组成,其中外节点均勻分布,内节点则通过自由节点方法产生。本实施方式的步骤一四中,当最大误差^/。小于误差容限δ时,则完成自由节点的选择。
具体实施方式
三本实施方式为对实施方式二的进一步说明,步骤二中根据自由节点,建立B样条函数描述的逆模型结构的方法为根据步骤一中产生的自由节点建立B样条基函数纪(X,),
权利要求
1.一种基于自由节点递推B样条的传感器非线性补偿方法,其特征在于它包括以下步骤步骤一实验获取所述传感器的输入输出样本数据,利用输入输出样本数据产生自由节占.I— /、、、 步骤二 以样本数据的输出变量作为逆模型结构的输入变量,以样本数据的输入变量作为逆模型结构的输出变量,根据自由节点,建立B样条函数描述的逆模型结构; 步骤三根据自由节点,从样本数据中选择训练样本;步骤四根据训练样本和递推最小二乘方法计算以B样条函数描述的逆模型结构的控制系数,获得完整的传感器B样条逆模型;步骤五用完整的传感器B样条逆模型处理所述传感器的输出变量,实现传感器的非线性补偿。
2.根据权利要求1所述的基于自由节点递推B样条的传感器非线性补偿方法,其特征在于利用输入输出样本数据产生自由节点的方法为 步骤一一节点向量t的表达式为
3.根据权利要求2所述的基于自由节点递推B样条的传感器非线性补偿方法,其特征在于步骤二中根据自由节点,建立B样条函数描述的逆模型结构的方法为根据步骤一中产生的自由节点建立B样条基函数定,(X,),
4.根据权利要求3所述的基于自由节点递推B样条的传感器非线性补偿方法,其特征在于所述步骤三中根据自由节点,从样本数据中选择训练样本的方法为选择在自由节点向量t中的每两个相邻的内节点之间最接近中点的样本数据均作为训练样本,然后计算相邻训练样本之间的距离,若相邻训练样本之间的距离之比大于预设定的容限q,则在距离大的两个训练样本之间增加一个新的训练样本。
5.根据权利要求4所述的基于自由节点递推B样条的传感器非线性补偿方法,其特征在于所述步骤四中根据训练样本和递推最小二乘方法计算以B样条函数描述的逆模型结构的控制系数的方法为首先将以B样条函数描述的逆模型结构=
6.根据权利要求5所述的基于自由节点递推B样条的传感器非线性补偿方法,其特征在于所述传感器为S型热电偶温度传感器,y」为S型热电偶温度传感器周围的温度,Xj为 S型热电偶温度传感器的电动势。
7.根据权利要求5所述的基于自由节点递推B样条的传感器非线性补偿方法,其特征在于所述传感器为负温度系数的热敏电阻器,Yj为负温度系数的热敏电阻器周围的温度, Xj为负温度系数的热敏电阻器的电阻值。
全文摘要
基于自由节点递推B样条的传感器非线性补偿方法,属于传感器技术领域。它解决了现有传感器采用的基于逆模型的非线性补偿方法计算量大的问题。实验获取所述传感器的输入输出样本数据,利用输入输出样本数据产生自由节点;以样本数据的输出变量作为逆模型结构的输入变量,以样本数据的输入变量作为逆模型结构的输出变量,根据自由节点,建立B样条函数描述的逆模型结构;根据自由节点,从样本数据中选择训练样本;根据训练样本和递推最小二乘方法计算以B样条函数描述的逆模型结构的控制系数,获得完整的传感器B样条逆模型;用完整的传感器B样条逆模型处理所述传感器的输出变量,实现传感器的非线性补偿。本发明适用于传感器的非线性补偿。
文档编号G01D3/028GK102221373SQ20111007347
公开日2011年10月19日 申请日期2011年3月25日 优先权日2011年3月25日
发明者孙金玮, 李清连, 王昕 , 魏国 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1