一种称重结果的干扰补偿计算方法及系统与流程

文档序号:14870402发布日期:2018-07-06 22:39阅读:441来源:国知局
本发明涉及信号检测与处理领域,特别是一种称重结果的干扰补偿计算方法及系统。
背景技术
:在自动化控制
技术领域
中,为了保证达到工业的要求,精确的测量是保证控制精度的前提。在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数,使设备工作在正常状态或最佳状态,并使产品达到最好的质量。传感器作为现代信息技术的重要基础,是获取自然领域中的信息的主要途径和手段,从被测对象的某一属性获得输入信号,并且按照一定规律转换成可以被容易检测到的其它信号并输出,一般为电信号。所以,从某种意义上来讲,传感器也是一种控制系统,具有控制系统的结构和性质。在工业测控系统中,由于工作环境的复杂性,使得系统运行中的传感器的测量精度受到影响,从而导致传感器的测量数据并不总是准确的。随着信息技术的发展,在不断寻求高品质的材料,设计更好的抗干扰电路的过程中,开始不断考虑以数学的方式建立模型,通过多种传感器的数据优化计算从而获得更加精确的测量值,把来自多种或多个传感器的信息和数据进行综合处理,得到更为准确可靠的测量技术,从而减少在信息处理中可能出现的失误。显然这种方法成本低,而且具有更为广泛的适应性。称重传感器被广泛应用于各种生产过程中,在要求高精度称重结果的应用场合,由于环境因素的影响,如风压、振动等,会使得称重传感器输出的信号受到环境因素的干扰而影响测量精度。开发去除此类干扰的技术,是提高称重精确度的重要途径。自然界中不同的传感器获取的不同的物理量之间大多都是非线性关系,所以建立优化函数求解的过程中需要选取一种可靠的、收敛速度较快并且严格遵守给定的非线性限制条件的优化算法。序列二次规划(sqp)法是一种十分有效的求解非线性约束优化问题的算法,而且具有全局收敛性。技术实现要素:本发明所要解决的技术问题是,针对现有技术不足,提供一种称重结果的干扰补偿计算方法及系统,解决了单一传感器测量数据导致的精度不足的问题。为解决上述技术问题,本发明所采用的技术方案是:一种称重结果的干扰补偿计算方法,包括以下步骤:1)在称重传感器旁安装微差压传感器,微差压传感器的两个输入端口分别连接硬质塑管,其中一个端口放置在称重传感器秤台位置,另外一个端口放置在具有标准大气压的密闭环境中;2)确定采样周期,被测量物品进入秤台之后,称重传感器和微差压传感器同时以固定周期开始采集数据,记录并保存称重数据和微差压数据;3)将步骤2)获取的称重数据与微差压数据建立状态空间模型,通过卡尔曼滤波算法、以及序列二次规划方法求解带约束条件的非线性函数优化问题,用微差压数据对称重结果进行补偿修正,以获得被测物体的实际重量。步骤3)中,所述状态空间模型表达式如下:其中,tn=tn-1+ξn,ξn~n(0,τ2);n为采样数据总个数,yn是第n个称重数据,tn是第n个滤波后的称重结果;pn是第n个描述微差压信号对测量结果影响特性的数据,pn-i是第n-i个微差压数据,ai为pn-i的回归系数,m是设定模型的阶次;un表示第n组测量数据所包含的随机波动信号;α1≥0、α2≥0为比例系数,且满足不等式条件α1+α2<1,分别代表第n-1个异方差项和第n-1个误差平方项在第n个异方差项中所占比重,α0>0为常数;wn是随机信号,服从标准正态分布;是异方差;ξn是随机误差,服从期望值为0、标准差为τ2的正态分布;~表示服从某种分布规律。通过下面的卡尔曼滤波、以及序列二次规划方法求解带约束条件的非线性函数优化问题,以获得状态空间模型参数、变量初始值、以及经过滤波的被测物体的实际重量:s.t.α0>0,α1≥0,α2≥0,α1+α2<1其中,xn|n-1是状态预测值,xn|n是状态滤波值,vn|n-1是状态预测误差协方差,vn|n是状态估计误差协方差,τ为常数。γn是预测误差,n取值从1到n,ψn是预测误差方差,是异方差,kn是卡尔曼滤波增益。相应地,本发明还提供了一种称重结果的干扰补偿计算系统,其包括:微差压传感器,该微差压传感器的两个输入端口分别连接硬质塑管,其中一个端口放置在称重传感器秤台位置,另外一个端口放置在具有标准大气压的密闭环境中;称重传感器,用于与所述微差压传感器同时以固定周期开始采集数据,记录并保存称重数据和微差压数据;处理单元,用于将获取的称重数据与微差压数据建立状态空间模型,通过卡尔曼滤波算法、以及序列二次规划方法求解带约束条件的非线性函数优化问题,用微差压值对称重结果进行补偿修正,以获得被测物体的实际重量。所述处理单元为嵌入式微处理器或工控机。与现有技术相比,本发明所具有的有益效果为:本发明通过建立模型结合多种传感器数据,解决了单一传感器测量数据导致的精度不足的问题;特别针对了传感器周围空气产生的微差压对称重传感器的干扰处理,可以显著提高称重传感器的测量准确度。附图说明图1为称重信号滤波前后的结果;其中,(a)为滤波前的称重信号;(b)为称重信号滤波后的结果。本发明实现过程包括以下步骤:1)称重传感器和微差压传感器具有相同的采样时间ts,同时记录被测物体到秤台上t时间内一共n=t/ts个数据构成行向量y,微差压传感器数据构成向量p;2)编制matlab程序求解上述优化问题的最优解,先设定该优化问题的求解条件,包括模型阶次m,三个比例系数α0、α1和α2。设定优化函数的最大计算次数maxfunevals,最大迭代次数maxiter,优化参数的终止条件tolx,优化函数的终止条件tolfun;3)计算称重数据的均值t0并作为状态量tn的初值,设定优化参数的初值其中为m+1维列向量。4)建立不等式约束条件其中b0、lb、ub是与x具有相同维数的列向量,a0为m+5阶的方阵。根据实际情况选取lb、ub的第一维的值。在matlab中执行以下命令行然后重新设置上下限lb(2),ub(2);lb(3),ub(3);lb(4),ub(4);同时执行matlab命令a0=zeros(length(x0),length(x0))完成对方阵a0的初始化,再设置a0(4,3),a0(4,4);b0(4);5)建立优化函数iter_bottle,建立(m+2)*n维矩阵xm和xs,对其前m列初始化为后面的n-m列需要进行迭代运算不断更新,所以先全部初始化为0。执行matlab指令γ=zeros(1,n);初始化n维系数行向量γ为0向量,同时建立n维行向量σ2,将该向量中的所有元素初始化为称重数据的方差。6)循环n-m次计算。通过之前建立的卡尔曼滤波算法、以及序列二次规划方法求解带约束条件的非线性函数优化问题,导入数据、调用matlab中的sqp优化迭代函数计算得到结果。具体实施方式称重传感器和微差压传感器具有相同的采样时间ts,同时记录被测物体到秤台上t时间内一共n=t/ts个数据构成行向量y,微差压传感器数据构成向量p;编制matlab程序求解上述优化问题的最优解,先设定该优化问题的求解条件,包括模型阶次m,三个比例系数α0、α1和α2。执行matlab指令optimset设置各项参数,设定函数最大计算次数maxfunevals为300,最大迭代次数maxiter为100,优化参数的的终止差值条件tolx为1e-175,优化函数的终止差值条件tolfun为1e-75。计算称重数据的均值t0并作为状态量tn的初值,设定优化参数的初值其中为m+1维列向量。建立不等式约束条件其中b0、lb、ub是与x具有相同维数的列向量,a0为m+5阶的方阵。根据实际情况选取lb、ub的第一维的值,例如,若被测物体的重量在8g附近,可以设lb(1)=6.5,ub(1)=9.5。在matlab中执行以下命令行然后重新设置上下限,令lb(2)=0.00001,ub(2)=0.2;lb(3)=0,ub(3)=0.94;lb(4)=0,ub(4)=0.9999;同时执行matlab命令a0=zeros(length(x0),length(x0))完成对方阵a0的初始化,设置a0(4,3)=1,a0(4,4)=1;b0(4)=0.9999;建立迭代函数iter_bottle,建立(m+2)*n维矩阵xm和xs,对前m列初始化为后面的n-m列需要进行迭代运算不断更新,所以先全部初始化为0。执行matlab指令γ=zeros(1,n);初始化n维系数行向量γ为0向量,同时建立n维行向量σ2,将该向量中的所有元素初始化为称重数据的方差。循环n-m次计算。通过之前建立的卡尔曼滤波算法、以及序列二次规划方法求解带约束条件的非线性函数优化问题:s.t.α0>0,α1≥0,α2≥0,α1+α2<1导入数据、调用matlab中的sqp优化迭代函数[x]=fmincon('iter_bottle',x0,a0,b0,[],[],lb,ub,[],options,y,p,m);得到结果。由于数据量较大,仅列出部分测试数据作为参考,如表1所示。表1测试数据8.7448.758.7378.6848.6688.6568.6948.7328.7518.7348.7238.7138.7238.6628.638.7268.7468.7648.7488.7828.8118.6888.661…最终得到优化计算结果为8.7124。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1