科技信息 高校理科研究 温度测控系统硇非线性动态 信研奔 中北大学信息与通信工程学院 严华芬 杨帅 宋文庆 [摘要]在温度测控系统中,对于温度传感器在测量时存在较大非线性动态偏移误差,提出基于参考模型的利用扩展卡尔曼滤波 算法设计温度传感器的动态补偿的方法。用扩展卡尔曼滤波进行补偿器的参数辨识,从而得到比较精确的补偿器,因此温度传感器 的动态偏移误差得到自动补偿。用扩展卡尔曼滤波算法对补偿过程中放大的噪声进行滤波,从而得到较好的补偿结果。 [关键词]温度检测 扩展卡尔曼滤波动态补偿 参数辨识 1、引言 温度是一种与人们日常生活息息相关的最基本的环境参数。另外 它也是工业对象中主要被控参数之一,在许多工程应用中,温度测量结 信号x(k),(k=0,l,…,M一1,M),M为输入信号的序列长度;y(k)、yo(k)和yd(1‘) 分别为传感器、补偿器和参考模型的输出信号;假设补偿器为M(z ),0 为M(z )中待辨识的参数。若M(z )采用理想的高通滤波器容易引起更 果用于预测控制和概念诊断是重要的输入信号l】]。在一种高精度温度测 控系统(如图l所示)中,运用温度传感器自动完成前端小信号温度检 测,但由于传感器动态特性存在着一定的响应滞后,当被测参数随时问 迅速变化时,使得动态测量结果与真值之间存在较大的动态误差。严重 影响检测精度 和质量控制的准确性。应用传感器对瞬变信号实施动态 测量时,为了得到精确的动态测量结果,必须对传感器的输出信号进行 处理,增加动态补偿环节,以缩短传感器动态响应的调整时间,抑制其 超调量,从而实现对动态测量误差的补偿。在这里提出用扩展卡尔曼滤 波的方法对传感器进行非线性动态补偿,Bucy,Sunahara等人提出并研 究了扩展卡尔曼滤波(Extended Kalman Filter,简称EKF),将卡尔曼滤波 理论进一步应用到非线性领域。EKF的基本思想是将非线性系统线性 化,然后进行卡尔曼滤波。本文应用扩展卡尔曼滤波方法对传感器进行 非线性动态补偿可以取得较好的精度。 骂兽 《 怪 电阻 j 炉 i 图1高精度温度测控系统的结构框图 ,整个温控系统的工作过程:利用传感器测得电阻炉实际温度并转 换成毫伏级电压信号,该电压信号经过A/D转换成对应的数字信号进 入单片机,单片机进行数据处理后,通过液晶显示器显示温度并判断是 否报警,同时将温度与设定温度比较,由设定的控制算法计算出控制 量,根据控制量通过控制固态继电器的导通和关闭从而控制电阻丝的 导通时间,以实现对炉温的控制。 2、传感器动态补偿过程 在图2的传感器测量补偿重建温度信号的结构中,由于现实传感 器存在一定的响应滞后,因此被测参量x(f)经过传感器转换为输出信号 yfc1后,两者之间会存在一定的动态测试误差,特别是当被测参量快速变 化时,动态误差尤为显著。为提高测试精度可将传感器输出通过一个补 偿器,用补偿器的输出z(f)替代y(t)再对信号z(t)进行状态重建得到x’(1), 从而达到修正动态误差得到精确的用于预测控制和概念诊断的输入信 号目的1 2.1。 俦感器幞型 动态补僖器 —一决态重构器I 图2传感器测量补偿重构温度信号的框图 在后面的文章中主要讨论传感器建模后的温度动态测量过程的动 态补偿。 3、补偿器的设计原理 图3补偿器参数辨识原理 设计一种基于参考模型的动态补偿器,原理如图3所示。输人激励 一88一 严重的噪声放大,所以本文采用带通滤波器【1】。用模型参考的系统辨识 方法得到补偿器的M(z ) ,可以减少设计M(z- )时对传感器动态特性的 数学模型的依赖,该方法将M(z )的设计问题转化为一个最优化问题。补 偿器的输出可用一个差分方程表示如下: A(z ) k)=B(z )y(k)+‘(k) (1) ‘=A(z )£(k) 取白化滤波器为1/A(z ),补偿器的输出可写为 yf(k)=A(2 )/B(z )‘y(k)+8(k) (2) 补偿器对应的传递函数n(z )为 M(z-')= = 瘩 予 (3) (2)中动态补偿器k时刻的输出 (k),k时刻传感器的输出和动态补 偿器的输人为y(k),£(k)为白噪声,(3)中m为传感器动态模型的阶次,n 为补偿后传感器系统动态模型的阶次。补偿器的参数为0=(a1, 一, ,b b-,‘一,bD。 补偿器的设计是通过实验数据对M(z )系统辨识的最优化过程,即 使 J=min (k)一y一(k)] (4) 通过扩展卡尔曼滤波方法进行离线辨识,得到参数0。 4、卡尔曼滤波算法 4.1基本卡尔曼滤波方程 对于下面一个线性的动态方程: x(k+1)=中kx(k)+w(k) z(k)=H (k)+V(k) 一 (5)中的x(k)为n维的随机状态向量序列;z(k)为n维的随机测量向 量序列;w(k)、V(k)为零均值的正态(高斯)白噪声序列。 w )和v(k)满足 E【V(k)V ]=R E[W(k)W(j) ̄J=Qkbki f1,k=j ” 一IO,k-y=j 假设初始状态的统计特性为 E[X(0)]=x(0) E{【X(0)一X(0)】【x(o)-x(o)n=Po z(1)、Z(2)、…、z(k)为k时刻已测量到的向量,并且推出估计状态向 量x(k)。现在要求进一步在测量到第k+l时刻的测量向量z(1【+1)推出 该时刻的状态估计向量X(k+1),估计的准则状态向量的误差方差最小: E{IX(k+1)一x(k+1)l[X(k+1)一x(k+1)I 1=rain… (6) 由式(1)可以得到上述线性系统的卡尔曼滤波方程为l圳 X(k+1)=中(k)x(k)+K [Z(k+1)-H(k+1)中(k)x(k)卜 (7) K k+1=P k+1H K+1(H P H K+1+R ) (8) P = P + Pk+。=(I—K㈨H )PK+ 4.2扩展卡尔曼滤波方程㈣ 时变系统可以先线性化为离散系统。非线性离散系统及时变系统 都可以用下面的非线性差分方程表示。 科技信息 x(k+1)=F[x(k),w(k),k】k=l,2,… z(k)=h【x(k),k]十V(k) k=l,2,… 高校理科研究 (9) flO) 式中,F(‘)为n维的函数;h(・)为m维的向量函数;w(k)、v(k)为高斯 白噪声序列。 对于非线性离散系统,可以用近似的线性化处理方法。类比基本卡 尔曼滤波方程,经过数学变换后fsI可得线性化以后的系统卡尔曼滤波方 程为: X(k+1)=x(k+1)+Kk.1(z(k+1)一h[x(k+1),k+1]}‘’’ X(k+1)=F[X(k),k] T 生实际测量值y (k)同时,因为对温度传感器进行补偿的同时也对噪声进 行了放大,所以这里用标准参考模型来计算得到扩展卡尔曼滤波器的 数学模型进行递推滤波消除高频噪声信号。温度传感器补偿前和补偿 以后滤波的阶跃响应曲线由图4可见,补偿后传感器的超调量大大减 小、动态响应情况得到较大改善。同时采用扩展卡尔曼滤波有效地消除 了高频噪声干扰,由图4和图5对比可见。 (11) (12) f 6h “ 1 一l 【 + t( ) 1 .『BF 1 『8F ] PL“ I J+Q 1 -一】 『 8hk_1 ] 一1『 6hk斗i ] 1=(Pk+l 【 J Rk+l【 J 利用扩展卡尔曼滤波方法进行系统参数辨识。系统辨识是指根据 系统的输入、输出数据辨识未知系统。系统辨识中比较常见是最小二乘 法。卡尔曼滤波主要用于系统状态估计,但经过变换后也可以进行参数 辨识[81,是一种新型的辨识算法。卡尔曼滤波可以在实时测量的信息中 消除随机干扰和无用信息,滤出可靠的有用信息。将卡尔曼滤法应用于 系统辨识具有很多优点,如能得到参数的最小方差估计,递推充分多的 步数,参数及方差阵的估计不依赖于它们的初值,且具有良好的稳定 性。扩展卡尔曼滤波辨识参数方法是将需要辨识的参数看成是新增加 的状态向量。并定义一新的增广状态向量,这样参数辨识的问题就转化 为滤波问题,计算式同(12)和(13)。 5、仿真实验 假设某温度传感器动态特性的数学模型的传递函数为: 2 Cfs1:—— —— f141 s2+2 ̄otOoS+tO: 式中:m。为传感器系统的固有频率;∈。为传感器系统的阻尼比。 扩大传感器频率响应的带宽就可以在动态测量时容纳更多频率响 应信号。参考模型选用具有较大固有频率的二阶低通滤波器这样可使 补偿器的输出快速达到传感器稳态值,参考模型的传递函数为: 2 H(s)=———_= —— (15) s2+2∈l0Jls+∞ 式中:阻尼比∈ =0.52;固有频率(1).=32'rrrad/s。比传感器的固有频率 大很多,但是选得太大也会导致盲目地拓宽传感器的通频带,测量中存 在的高频噪声信号会被放大,补偿就失去意义。 在实际使用中,动态补偿环节采用带通滤波器,其传递函数可构造 为如下的形式: M( ): 2 ! z r16、 S2+2{l‘I)1s+(I) 式中:舀和m 分别为补偿后系统的谐振频率和阻尼比,经过双线性 变换,M(s)的脉冲响应传递函数为: M(z- )=—b_0+—b—l—Z-' +—b2z—-— ̄ 一 (17) 1+alz +a2z一 、这样,补偿器要确定的参数为: e=(a1,a2,b0,bl,b2) 采用∈ 和∞ 为参考模型参数,并选用一种温度传感器,其 0.32, o)0=5'rr;通过系统辨识的方法得到补偿器的M(z ),这样可以减少补偿器 设计时对传感器动态特性的数学模型的依赖。以参考模型对阶跃响应 的输出作为补偿器Mf2。)辨识的希望输出数据,通过数据采集系统在计 算机里得到阶跃输入和其响应的数据,经数据预处理得到样本值v(k),再 对参考模型计算得v (k)。按照图3所示的原理,用扩展卡尔曼滤波的参 数辨识法对n(z )进行离线辨识(本文使用MATLAB7.2的M语言对卡 尔曼滤波法参数辨识算法进行编程实现系统参数的辨识与仿真),使得 式(4)成立。通过辨识过程得到补偿环节的脉冲响应传递函数为 Mfz一-、:—0.02793+0.04701z-%O.O2063z2 —…、 1+1。.9365lz一 +O.93815z0 在实际测量时,用补偿器温度传感器的输出y(k)进行数字滤波,产 如 图4温度传感器补偿前和补偿后滤波的阶跃响应曲线 ^ J止J Il 山量 d1山JL.止k l I f TflI’I. : " ”‘ ’ ’ 季}偿后无滤 踱 图5温度传感器补偿后滤波的阶跃响应曲线 6、结束语 通过对温度传感器的动态测量的补偿器设计,在预设参考模型的 情况下应用扩展卡尔曼滤波进行补偿器参数的辨识从而得到补偿器。 较于最小二乘法在此运用中有相对更好的辨识精度。同时辨识误差也 使(4)式充分成立。在补偿器的滤波下,温度传感器的测量值误差小了, 但是同时测量中存在的高频噪声信号被放大了(由图5可见),又利用 参考模型和扩展卡尔曼滤波去除放大的高频噪声信号。通过分析计算 可得,经过滤波消除噪声的标准差比没有经过扩展卡尔曼滤波消除噪 声的输出信号的标准差减小了S=0.0620。因此,经过扩展卡尔曼滤波 后,信号的噪声水平被明显减小。通过大量测温试验证明上述的补偿、 滤波操作后温度传感器的动态测量的误差大大的减小。这样得到更加 精确的温度检测结果后,就可以更加精确地对温度测控系统进行测量 控制。 参考文献 [1]Ralf Zimmerschied,Rolf[sermann Nonlinear Time Constant Es— timation and Dynamic Compensation of Temperature Sensors[J].Control Engineefing Practice,18(2010)300~310 [2]豫科军,李成等机器人腕力传感器动态响应的实时补偿[J].自 动化学报,2001 27(5):705—709 [3]刘清,曹国华.温度传感器测量滞后误差的动态逆模型补偿方法 [I]电气自动化,2007,3 [4]周熙炜.基于扩展卡尔曼滤波算法的异步电机参数辨识[D 3.西 安理工大学,2003. [5]刘叔军等.MATLAB7.0控制系统与应用[M].北京:机械工业出 版社.2006 [6]罗晶.MATLAB语言与自动控制系统设计[M].北京:机械工业 出版社.1992 [7]张艳兵,王忠庆等.计算机控制系统[M].北京:国 ̄m,ak出版社 2006. [8]童余德,周永余,陈永冰,周岗基于MATLAB的卡尔曼滤波法 参数辨识与仿真[J]船电技术,2009,8 —89—