一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法

文档序号:746994 发布日期:2021-04-23 浏览:18次 >En<

阅读说明:本技术 一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法 (Kalman filtering parameter debugging method for ultrasonic water meter data filtering ) 是由 付明磊 陈祥 荣泽坤 戎科臻 张文安 仇翔 郑乐进 吴德 郑剑锋 周力 于 2020-11-19 设计创作,主要内容包括:一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法,首先在状态方程中引入这一时刻与上一时刻的变化,然后我们对各种温度、流速下的卡尔曼滤波最优参数进行非线性分析,进而提供了一种准确的描述超声波水表卡尔曼滤波最优参数的变化规律,寻找到超声波水表卡尔曼滤波最优参数的方法。本发明提升超声波水表的测量精度。(A Kalman filtering parameter debugging method for ultrasonic water meter data filtering is characterized in that firstly, the change of the moment and the last moment is introduced into a state equation, then nonlinear analysis is carried out on Kalman filtering optimal parameters under various temperatures and flow rates, and further, a method for accurately describing the change rule of the Kalman filtering optimal parameters of the ultrasonic water meter and finding the Kalman filtering optimal parameters of the ultrasonic water meter is provided. The invention improves the measurement precision of the ultrasonic water meter.)

一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法

技术领域

本发明涉及超声波水表计量数据处理领域,主要涉及一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法。

背景技术

超声波水表所采用的超声波测量技术有多种方法,常用的测量方法有时差法、相关法、噪声法、多普勒法和波束偏移法等。近年来,研究人员开展了基于超声波技术的流量计和超声波水表的研究并取得了显著进展。

目前的超声波水表实现方案一般具备温度补偿等功能,数据滤波采用小波算法、滑动平均算法等。这些研究成果对于提升超声波水表的测量精度,推动超声波水表的实用化起到了重要的作用。

但是,在系统总体设计方面,现有超声波水表设计少有能同时兼具温度补偿、低功耗和高精度滤波功能,而且数据滤波后在低区流量点的精度尚有待提高。

为了进一步提升超声波水表的综合性能,本文设计并实现了一种基于时差法和数据滤波的新型超声波水表,提出了一种结合卡尔曼滤波的高精度数据滤波算法,明显改善了测量性能,特别在低区流量下具有更高的测量精度,减少了中位值滤波带来的滞后性,能够更好地满足实际工程应用的需求。

发明内容

为了解决卡尔曼滤波最优参数问题,本发明提供了一种可以实现寻找卡尔曼滤波最优参数的方法。首先在状态方程中引入这一时刻与上一时刻的变化,然后我们对各种温度、流速下的卡尔曼滤波最优参数进行非线性分析,进而提供了一种准确的描述超声波水表卡尔曼滤波最优参数的变化规律,寻找到超声波水表卡尔曼滤波最优参数的方法,进而提升超声波水表的测量精度。

本发明解决其技术问题所采用的技术方案是:

一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法,包括以下步骤:

步骤1:设置采样时间Ts,通过超声波水表时间芯片计算超声波飞行时间差,获得超声波水表时间序列原始数据,原始数据选择获取到的第一列数据;然后利用校表台获取采集数据的开始流量和截止流量,得到对应时间段的真实流量;

步骤2:通过卡尔曼滤波得出更接近真实流量的数据,在状态方程中引入这一时刻的原始数据与上一时刻的原始数据的变化,再通过参数设置和效果调试,得出最优的参数,过程如下:

步骤2.1:给出u(t)、Q(t)、R(t)对应的初始值uinit、Qinit、Rinit,其中u(t)表示这一时刻与上一时刻飞行时间差在状态方程所占比重的系数、Q(t)表示估计误差的方差、R(t)表示测量误差的方差,并设置初值的期望和方差,初值的期望为获取的第一个飞行时间差的值,初值的方差设置为Rinit

步骤2.2:更新先验估计;

步骤2.3:计算先验误差协方差;

步骤2.4:计算卡尔曼增益;

步骤2.5:更新后验估计;

步骤2.6:更新后验误差协方差;

步骤2.7:输出本次预测值;

步骤2.8:重复步骤2.2到2.7直到所有测试数据跑完,得出滤波前后数据的方差和均值;

步骤2.9:通过改变uinit、Qinit、Rinit的值,重复步骤2.2到2.8,得到不同的uinit、Qinit、Rinit情况下,原始数据在经过卡尔曼滤波前后的方差和均值,最终确定对应数据参数uoptimal、Qoptimal、Roptimal

其中uoptimal、Qoptimal、Roptimal代表最优参数;

步骤3:通过步骤2对大量数据得出每个不同数据对应的uoptimal、Qoptimal、Roptimal的值,得到不同温度不同流量下其汇总表;

步骤4:通过公式拟合,得到uoptimal(T,F)、Qoptimal(T,F)、Roptimal(T,F)与温度T和流量F的关系式;

其中uoptimal(T,F)、Qoptimal(T,F)、Roptimal(T,F)为最优参数与温度T和流量F的函数。

进一步,所述步骤2.2中,更新先验估计:

Xminus[i]=Xplus[i-1]+u(t)*(raw_data[i]-raw_data[i-1])

其中,i代表第i时刻,Xplus[i-1]是第i-1时刻的预测结果的最优值,Xminus[i]是第i时刻的先验估计值,u(t)是第i时刻与第i-1时刻飞行时间差在状态方程所占比重的系数,raw_data[i]是第i时刻的原始数据,raw_data[i-1]是第i-1时刻的原始数据;

步骤2.3中,计算先验误差协方差:

Pminus[i]=Pplus[i-1]+Q(t)

其中,Pminus[i]是第i时刻的先验误差协方差,Pplus[i-1]是第i-1时刻的后验误差协方差,Q(t)与模型有关;

步骤2.4中,计算卡尔曼增益:

其中,Pminus[i]是第i时刻的先验误差协方差,R(t)与测量有关,K是卡尔曼增益;

所述步骤2.5中,更新后验估计:

Xplus[i]=Xminus[i]+K*(raw_data[i]-Xminus[i])

其中,Xplus[i]是第i时刻的预测结果的最优值;

所述步骤2.6中,更新后验误差协方差:

Pplus[i]=(1-K)*Pminus[i]

其中,Pplus[i]是第i时刻的后验误差协方差;

所述步骤2.7中,将本次预测值存储在列表的变量中,以便存储整个滤波后的数据。

再进一步,所述步骤4的处理过程如下:

根据采集到的不同温度、不同流量所对应的uoptimal、Qoptimal、Roptimal,进行数学上的线性拟合最终得到这三个参数与温度流量对应的关系方程,即:

uoptimal(T,F)=a0+a1F+a2T+a3F2+a4FT+a5T2

Qoptimal(T,F)=b1+b2F+b3T+b4F2+b5FT+b6T2

Roptimal(T,F)=c1+c2F+c3T+c4F2+c5FT+c6T2

其中,T为温度值,F为流量大小,a0~a5,b1~b6,c1~c6为参数与温度、流量间的关系系数。

本发明的有益效果主要表现在:本方法在卡尔曼滤波的状态方程引入这一时刻与上一时刻的变化之差,通过调参获得不同流量、不同温度下的最优参数,从而拟合公式能够准确得出卡尔曼滤波最优参数与温度和流量的关系,当温度和流量变化时可直接得出最优参数,进而提高超声波水表的测量精度。

附图说明

图1是用于超声波水表数据滤波的卡尔曼滤波参数调试方法的方法流程图。

图2是卡尔曼滤波算法示意图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1和图2,一种用于超声波水表数据滤波的卡尔曼滤波参数调试方法,包括以下步骤:

步骤1:实验选取的管段为DN15管段,通过超声波水表时间芯片计算超声波飞行时间差,获得超声波水表时间序列原始数据,原始数据选择GP22v19软件获取到的第一列数据,设置采样时间Ts为0.1秒;

步骤2:通过卡尔曼滤波得出更接近真实流量的数据,在状态方程中引入这一时刻的原始数据与上一时刻的原始数据的变化,再通过参数设置和效果调试,得出最优的参数,过程如下:

步骤2.1:给出u(t)、Q(t)、R(t)对应的初始值uinit、Qinit、Rinit,其中u(t)表示这一时刻与上一时刻飞行时间差在状态方程所占比重的系数、Q(t)表示估计误差的方差、R(t)表示测量误差的方差,并设置初值的期望和方差,初值的期望为获取的第一个飞行时间差的值,初值的方差设置为Rinit

步骤2.2:更新先验估计;

步骤2.3:计算先验误差协方差;

步骤2.4:计算卡尔曼增益;

步骤2.5:更新后验估计;

步骤2.6:更新后验误差协方差;

步骤2.7:输出本次预测值;

步骤2.8:重复步骤2.2到2.7直到所有测试数据跑完,得出滤波前后数据的方差和均值;

步骤2.9:通过改变uinit、Qinit、Rinit的值,重复步骤2.2到2.8,得到不同的uinit、Qinit、Rinit情况下,原始数据在经过卡尔曼滤波前后的方差和均值,最终确定对应数据参数uoptimal、Qoptimal、Roptimal

其中uoptimal、Qoptimal、Roptimal代表最优参数。

步骤3:通过步骤2对大量数据得出每个不同数据对应的uoptimal、Qoptimal、Roptimal的值,得到不同温度不同流量下其汇总表;

步骤4:通过公式拟合,得到uoptimal(T,F)、Qoptimal(T,F)、Roptimal(T,F)与温度T和流量F的关系式;

其中uoptimal(T,F)、Qoptimal(T,F)、Roptimal(T,F)为最优参数与温度T和流量F的函数。

所述步骤2.2中,更新先验估计:

Xminus[i]=Xplus[i-1]+u(t)*(raw_data[i]-raw_data[i-1])

其中,i代表第i时刻,Xplus[i-1]是第i-1时刻的预测结果的最优值,Xminus[i]是第i时刻的先验估计值,u(t)是第i时刻与第i-1时刻飞行时间差在状态方程所占比重的系数,raw_data[i]是第i时刻的原始数据,raw_data[i-1]是第i-1时刻的原始数据。

所述步骤2.3中,计算先验误差协方差:

Pminus[i]=Pplus[i-1]+Q(t)

其中,Pminus[i]是第i时刻的先验误差协方差,Pplus[i-1]是第i-1时刻的后验误差协方差,Q(t)与模型有关。

所述步骤2.4中,计算卡尔曼增益:

其中,Pminus[i]是第i时刻的先验误差协方差,R(t)与测量有关,K是卡尔曼增益。

所述步骤2.5中,更新后验估计:

Xplus[i]=Xminus[i]+K*(raw_data[i]-Xminus[i])

其中,Xplus[i]是第i时刻的预测结果的最优值。

所述步骤2.6中,更新后验误差协方差:

Pplus[i]=(1-K)*Pminus[i]

其中,Pplus[i]是第i时刻的后验误差协方差。

所述步骤2.7中,将本次预测值存储在列表的变量中,以便存储整个滤波后的数据。

所述步骤4中,根据采集到的不同温度、不同流量所对应的uoptimal、Qoptimal、Roptimal,进行数学上的线性拟合最终得到这三个参数与温度流量对应的关系方程,即:

uoptimal(T,F)=0.3098+(-0.0828F)+0.01414T+0.001138F2+0.002904FT-0.001121T2

Qoptimal(T,F)=-0.001455+0.02654F-0.01253T-0.00004436F2--0.001265FT--0.00635T2

Roptimal(T,F)=121.4-5.879F-7.286T+0.09102F2+0.1624FT+1.075T2

其中,T为温度值,F为流量大小。

本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:燃油流速检测装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类