一种材料性能测试系统的压力数据采集优化方法
2018-02-26邹罡
邹罡
摘要
这个研究的目的是对材料压力测试系统中的压力测量环节进行传感器采集值数据优化。通过建立被测样品受力的数学模型并结合传感器原始测量值,使用卡尔曼滤波器对测量值进行实时的修正。在linux平台上使用C++设计了包含卡尔曼滤波器算法的压力测试系统上位机软件。
【关键词】数据优化 数据采集 卡爾曼滤波
模拟信号传感器的应用非常广泛,但是其测量精度会因为外界各种条件变化而受到影响,干扰因素包括环境温度、湿度、磁场等。因此模拟传感器的输出信号一般会被噪声污染,信号输出通常会携带白噪声。卡尔曼滤波器具有和一阶低通滤波器相似的性质,但卡尔曼滤波器则可以自适应系统的变化,因此被应用在本研究中。
1 压力测试系统组成
此系统由机械传动控制装置以及控制系统上的下位机和电脑上的上位机软件组成。传动装置由电机控制一个双向丝杆机械夹,用于对被测样品施加压力。电脑上的上位机软件会不断接收上传的测量数据并使用滤波算法对传感器原始数据进行处理并显示其结果。
2 卡尔曼滤波算法
卡尔曼滤波算法一般是依次重复执行一下4个步骤(图1)。
此系统中压力传感器的数值变化主要取决于弹簧位移变化。将丝杆上机械夹平移速度v设定为一种状态变量。与v所关联的变量为机械夹所受压力p。设弹簧系数为k,则单位时间压力增量为Δp=Δt*v*ks。
在实现卡尔曼滤波器算法前先使用matlab对其进行设计验证。决定卡尔曼滤波算法自身属性的参量分别为上面的A、H、Q以及R,通过matlab对这几个参量进行设定并代入卡尔曼滤波算法流程中。为了更容易分辨数值的变化差异,数据均乘以一定的倍数使其为整数。算法验证效果如图2、图3。
3 系统实现
此系统的上位机软件由Qt来编写,设计语言为C++,运行平台为ubuntu 16.0。如图4所示。
4 结论
本文针对一种材料压力测试系统中的压力值的数据处理提出了使用基于卡尔曼滤波器算法的数据优化方法。卡尔曼滤波器会在每一次循环计算中根据误差协方差的计算来对权值Kk进行修改更新,使其权值的分配在时间变化中仍然能保证其合理性。因此卡尔曼滤波在此线性系统中处理白噪声要优于一阶低通滤波算法。
参考文献
[1]R.C.Brown and Patrick Y.C.Hwang,Introduction toRandow Signals andApplied Kalman Filtering,JohnWiley&Sons;,1997.
[2]Phil Kim.Kalman Filter for Beginners:with MATLAB Examples
[3]Lawrence D.Stone,Roy L.Streit andThomas L.Corwin.Bayesian MultipleTarget Tracking.2014.