一种基于Kalman滤波的检定台测温方法

文档序号:6236599阅读:161来源:国知局
一种基于Kalman滤波的检定台测温方法
【专利摘要】本发明涉及一种测温方法,尤其是一种基于Kalman滤波的检定台测温方法。其步骤是:对Kalman滤波器参数初始化;根据前一状态噪声值和最优值预测现有时刻数值,并计算Kalman增益;添加新息序列,对数据抗野处理;由前一状态数值估计现有状态数值,并计算下一状态协方差,并对相关数据更新,返回Kalman滤波最优值。本发明对传统Kalman滤波加入了新息序列,提高了大型检定台测温电路对工业现场抗干扰能力;kalman滤波具有很好的平滑性,能准确实时测量检定台进水管、回水管和水箱的水温度;将Kalman滤波引入到热计量行业检定台水温测量中,具有一定示范意义,起到一定示范作用。
【专利说明】—种基于Kalman滤波的检定台测温方法

【技术领域】
[0001]本发明涉及一种测温方法,尤其是一种基于Kalman滤波的检定台测温方法。

【背景技术】
[0002]在热计量行业中需要超声波热量表检定设备对出厂的超声波热量表进行逐一检定,这就需要检定台自身能够精确实时地对管路中的水温进行测量;由于测量系统临近大功率电机等设备,测试现场环境比较复杂,需要检定设备中的测温电路具有良好的抗干扰能力,现有技术中,需要对检定设备中的这两方便进行改善。


【发明内容】

[0003]本发明所要解决的技术问题是提供一种基于Kalman滤波的检定台测温方法,该方法能够提高测温系统在工业现场中的抗干扰能力,且由于Kalman滤波是从一组有限的、包含噪声的测量值(可能有偏差)中预测出与真实值更加接近的数值,基于水温是一个相对变化缓慢的连续的量,该方法可以实现对水温的精确实时测量。
[0004]为了解决现有技术的不足,本发明所提供的技术方案是:一种基于Kalman滤波的检定台测温方法,其特征在于,其步骤是:
(1)对Kalman滤波器参数进行初始化,包括影响收敛速度、动态噪声的协方差(即估计值的协方差)、过程和测量的噪声协方差等;
(2)根据前一状态的噪声值和最优值来预测现有时刻的数值,并根据预测的数值计算Kalman ±曾益;
(3)添加新息序列,利用最小二乘法对相关数据进行抗野处理,保证数据不出现大的波动,提高数据预测的准确度;
(4)由前一状态的值估计现有状态的值,根据现有状态的协方差和Kalman增益计算下一状态的协方差,同时对Kalman算法内的相关数据更新,并返回Kalman滤波的最优值。
[0005]本发明的有益效果是:本发明将Kalman滤波算法引入到热计量行业的检定台水温的测量,对传统Kalman滤波进行了部分改造,加入了新息序列,提高了大型检定台测温电路对工业现场的抗干扰能力;kalman滤波具有很好的平滑性,并且能很好的应对工业现场的产生的干扰“野值”,能够准确实时的测量检定台的进水管、回水管以及水箱的水温度;将Kalman滤波引入到热计量行业的检定台水温测量中,具有一定的示范意义,可以对热计量行业中的气温测量,水温测量,流量测量等起到一定的示范作用。

【专利附图】

【附图说明】
[0006]下面结合附图和实施例对本发明进一步说明。
[0007]图1是实际测量原始水温值,以及经过Kalman滤波与平滑滤波的水温值展示。
[0008]图2是Kalman滤波算法流程图。
[0009]由附图1中可清洗展示Kalman滤波具有很好的平滑性,对连续实时测量水温具有很好的抗干扰能力。

【具体实施方式】
[0010]一种基于Kalman滤波的检定台测温方法,其特征在于,其步骤是:
(1)对Kalman滤波器参数进行初始化,包括影响收敛速度、动态噪声的协方差(即估计值的协方差)Q、过程和测量的噪声协方差R等;
(2)根据前一状态的噪声值和最优值来预测现有时刻的数值,得到预测后的现在时刻噪声协方差PlO (pl0=p00+Q, p00是kalman函数起始时候的的预测值的协方差)和现在时刻的状态估计值xlO (χ10=χ00,χ00是kalman滤波的起始时刻设定的最优值),并根据预测的数值计算Kalman增益Kg,计算公式为kg=pl0/ (plO+R);
(3)添加新息序列e,e=z_xlO;其中,输入参数z是实际测量初值,利用最小二乘法对相关数据进行抗野处理,保证数据不出现大的波动,提高数据预测的准确度;
进行抗野处理时,如果用于抗野处理的abs_e ( 1,则新息序列e的值不变;如果I< abs_e ( 2,则新息序列e = (0.5/abs_e)*e ;如果野值超过了估计范围,即abs_e > 2,则新息序列不采纳测量值,e=0 ;此处的抗野处理判断采用最小二乘法的特例进行了处理;
(4)由前一状态的值估计现有状态的值,计算公式为,当前状态的最优值xll=xlO+Kg*e ;根据现有状态的协方差和Kalman增益计算下一状态的协方差,其计算公式为Kalman函数结束时的最优值pll=(l_kg)*plO ;同时对Kalman算法内的x00、p00更新,x00=xll, p00=pll,并返回Kalman滤波的最优值x00。
[0011 ] 其详细的C语言函数为:
定义的全局变量:作为初始化数据float χΟΟ,ρΟΟ;
变量定义
x00 kalman滤波的起始时刻设定的最优值,也作为函数返回值 xlO上一时刻的最优值
xll当前状态的最优值,在函数结束的时候将此最优值转给xOO kg kalman 增益
p00 kalman函数起始时候的的预测值的协方差 PlO当前状态下预测值的协方差 pll kalman函数结束的时候将最优值转给输入参数z:实际测量初值
float kalman (float z) //实际验证,如果kalman滤波的变化速度太慢,即不太够敏锐,如果收敛速度太快则对于变量又太敏感,起不到良好的滤波效果
{
float xlO, plO, xll, kg, pll;// 浮点型数据
float e;用于抗野值的处理
float abs_e; //用于抗野值的处理
float Q=0.0257;//影响收敛速度、动态噪声的协方差,即估计值的协方差
float R=0.412;//过程和测量的噪声的协方差xl0=x00; //根据上一时刻的最优值上xOO估计本时刻的“状态估计值”pl0=p00+Q;//利用上一状态的过程噪声协方差来预测本状态的过程噪声协方差kg=pl0/(pl0+R) ; //kg是Kalman增益,根据上一状态的协方差和过程和测量的噪声的协方差计算所得
e = z-X10;//e作为新息序列,代表了测量值与估计值的误差,用于抗野值。这一段,以及下面的判断仍然是符合最小二乘法的,只是将最小二乘法作为了一种特例//抗野值处理上界
abs_e = fabs(e); //不允许他出现大的波动
if(abs_e <= I) //这里的I是根据经验选取的对野值的容忍度以及对敏锐程度的要求

{
e = e;

}
else if(I < abs_e 〈= 2 )

{
e = (0.5/abs_e)*e; //0.5是一个常量参数,属于实验值

}
else// if (abs_e > 2)

{
e = O; //当野值超过了估计范围的时候,不采纳测量值

}
//抗野值处理下界
xll=xlO+kg*e; Il由前一状态的值估计本状态的值
pll=(l-kg)*plO;//由本状态的协方差,根据kalman增益计算下一状态的协方差
x00=xl I; //重新更新最优值
POO=Pll; //重新更新状态预测的协方差
return xOO; //返回滤波之后的值
}。
【权利要求】
1.一种基于Kalman滤波的检定台测温方法,其特征在于,其步骤是: (1)对Kalman滤波器参数进行初始化,包括影响收敛速度、动态噪声的协方差,即估计值的协方差、过程和测量的噪声协方差等; (2)根据前一状态的噪声值和最优值来预测现有时刻的数值,并根据预测的数值计算Kalman ±曾益; (3)添加新息序列,利用最小二乘法对相关数据进行抗野处理,保证数据不出现大的波动,提高数据预测的准确度; (4)由前一状态的值估计现有状态的值,根据现有状态的协方差和Kalman增益计算下一状态的协方差,同时对Kalman算法内的相关数据更新,并返回Kalman滤波的最优值。
2.根据权利要求1所述的一种基于Kalman滤波的检定台测温方法,其特征在于,Kalman增益的算法是预测后的现在时刻噪声差除以预测后的现在时刻噪声差与过程和测量的噪声协方差之和。
3.根据权利要求1所述的一种基于Kalman滤波的检定台测温方法,其特征在于,步骤(3)抗野处理时,如果用于抗野处理的数值小于等于1,则新息序列的值不变;如果用于抗野处理的数值大于I小于等于2,则新息序列为0.5除以用于抗野处理的数值,再乘以原来的新息序列;如果野值超过了估计范围,即用于抗野处理的数值大于2,则新息序列不采纳测量值,即新息序列的值为O。
4.根据权利要求1所述的一种基于Kalman滤波的检定台测温方法,其特征在于,步骤(4)中,根据现有状态的协方差和Kalman增益计算下一状态协方差的计算方法是现有时刻状态的估计值加上Kalman增益与新息序列的积得到当前状态的最优值,I减去Kalman增益后与预测后的现有时刻噪声协方差的积得到下一状态的噪声协方差。
【文档编号】G01K19/00GK104165711SQ201410383784
【公开日】2014年11月26日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】董杰 申请人:山东省德鲁计量科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1