《1 引言》

1 引言

自从Gauss在1775年提出LS算法以来, 对其进行改进和完善的报导几乎没有停止过[1,2], 但在实际工程中大量使用的仍是普通LS算法。这主要是因为它计算简单, 便于理解和掌握。当然LS算法确实存在诸如不稳健、易出现病态估计等缺陷, 许多文献给出了值得称道的改进算法, 但多数是停留在理论或仿真研究上, 很少有应用于工程实践的。其主要原因是改进算法复杂难以理解, 且研究人员受实践条件的制约。另外, 这些算法成立的前提是系统要满足持续激励条件, 持续激励条件不仅影响系统的可估计性, 而且影响自适应控制系统的鲁棒性。而实际过程中许多系统的输入信号变化不大, 持续激励条件难以满足, 普通LS算法及其相关改进算法不能直接使用, 必须外加伪随机信号, 这将给工程实现带来许多麻烦。事实上, 许多工业过程的先验知识是可以利用的, 根据先验知识重新修正目标函数是克服LS算法病态估计的有效途径之一。

笔者立足于工程实践, 提出了基于修正目标函数的时变参数估计算法, 有效地克服了病态估计, 巧妙地避免使用伪随机信号。同时考虑到某些生产过程参数的高度时变性, 在新算法中引入加权矩阵, 强化当前观测数据对参数估计的作用, 提高跟踪时变参数的能力。新算法一方面摆脱了伪随机信号带来的麻烦;另一方面避免了数据饱和现象, 提高了自适应控制系统的鲁棒性和控制精度。它已用于实际工业生产, 取得了良好效果。仿真结果及实际应用结果都证明:新型估计算法简单易行、收敛速度快和估计精度高。

《2 基于修正目标函数的时变参数估计算法》

2 基于修正目标函数的时变参数估计算法

时变参数估计是工程实践中经常遇到的问题, 为了使所估计的参数能跟踪实际参数的变化, 需要人为地削弱旧数据的影响, 以增强新数据的权。常用的办法主要有两类:a. 采用矩形窗函数, 舍弃旧的数据, 只用一段新的数据进行参数估计的限定记忆法;b. 是通过遗忘因子对历史数据进行指数加权, 以逐渐削除旧数据影响的渐消记法, 本文的方法只涉及第二类。

《2.1基本原理》

2.1基本原理

考虑单变量离散线性时变系统

y(t)=λΤ(t)ˆΞ(t)+˜ω(t)(1)y(t)=λT(t)Ξˆ(t)+ω˜(t)(1)

式中t=1, 2, 3, …,

λΤ(t)=[-y(t-1),-y(t-2),,-y(t-na),u(t-1),u(t-2),,u(t-nb)](1a)ΞΤ(t)=[a1(t),a2(t),,ana(t),b1(t),b2(t),,bnb(t)],(1b)λT(t)=[y(t1),y(t2),,y(tna),u(t1),u(t2),,u(tnb)](1a)ΞT(t)=[a1(t),a2(t),,ana(t),b1(t),b2(t),,bnb(t)],(1b)

其中{u (i) }, {y (j) } 分别是系统的输入和输出测量序列, ˜ωω˜ (t) 为随机噪声, na, nb为过程的结构参数, ai (t) , bj (t) 是待识时变参数。

为跟踪参数Ξ (t) 的变化应引入遗忘因子。

定义1 设遗忘因子为δ, (0<δ<1) 且定义加权矩阵为

W(t)=[δ2(t-1)δ2(t-2)00δ21](2)W(t)=δ2(t1)δ2(t2)00δ21(2)

式中t为总测量次数。在LS算法目标函数中引入W (t) 是准确跟踪时变参数实现实时估计的重要途径。

某些工业过程的先验知识可用来克服输入信号不满足持续激励条件引起的病态估计。这里假设先验知识向量为

Μ=[ˉa1ˉa2,ˉanaˉb1ˉb2,ˉbnb](3)M=[a¯1a¯2,a¯nab¯1b¯2,b¯nb](3)

式中{ˉaa¯i}, {ˉbb¯j}是待估计过程的时变参数均值, 参数均值这一先验知识可以通过日常生产数据分析获得, 这个先验知识是指导选样的重要参考。

为克服病态估计, 在新算法中应尽量利用先验知识向量M, 以降低过程对持续激励条件的要求;为适应时变过程的要求, 新算法还必须重视W (t) 的作用。考虑到上述两个要求, 根据最小二乘原理可定义下列二次型目标函数。

定义2 基于修正目标函数的时变参数LS估计算法的目标函数为

J=[Y(t)-Λ(t)ˆΞ(t)]ΤW(t)[Y(t)-Λ(t)ˆΞ(t)]+α[Μ(t)-1tˆΞ(t)]Τ[Μ(t)-1t[ˆΞ(t)](4)J=[Y(t)Λ(t)Ξˆ(t)]TW(t)[Y(t)Λ(t)Ξˆ(t)]+α[M(t)1tΞˆ(t)]T[M(t)1t[Ξˆ(t)](4)

式中,

Y(t)=[y(1),y(2),,y(t)]Τ,(4a)Λ(t)=[λΤ(1)λΤ(2)λΤ(t)](4b)Μ(t)=Μ-1tt-1i=1ˆΞ(i)(4c)Y(t)=[y(1),y(2),,y(t)]T,(4a)Λ(t)=λT(1)λT(2)λT(t)(4b)M(t)=M1ti=1t1Ξˆ(i)(4c)

其中, α为权因子, 它决定了对先验知识的重视程度, ˆΞ(i)Ξˆ(i)是由i个采样值得到的参数估计值组成的向量。

定理1 使目标函数式 (4) 达到最小的参数估计值ˆΞ(i)Ξˆ(i)应满足下列正规方程:

ΛΤ(t)W(t)Y(t)+αΜ(t)=(ΛΤ(t)W(t)Λ(t)+αtΙ)ˆΞ(t)(5)ΛT(t)W(t)Y(t)+αM(t)=(ΛT(t)W(t)Λ(t)+αtI)Ξˆ(t)(5)

如果(ΛΤ(t)W(t)Λ(t)+αtΙ)(ΛT(t)W(t)Λ(t)+αtI)满秩可得唯一解

ˆΞ(t)=(ΛΤ(t)W(t)Y(t)+αΜ(t))(ΛΤ(t)W(t)Λ(t)+αtΙ)-1(6)Ξˆ(t)=(ΛT(t)W(t)Y(t)+αM(t))(ΛT(t)W(t)Λ(t)+αtI)1(6)

式 (6) 便是基于修正目标函数的时变参数LS估计算法。

定理1证明: 对目标函数式 (4) 求导数得。

JˆΞ(t)=2(Y(t)-Λ(t)ˆΞ(t))ΤˆΞ(t)W(t)(Y(t)-Λ(t)ˆΞ(t))+2αt(Μ(t)-1tˆΞ(t))ˆΞ(t)(Μ(t)-1tˆΞ(t))=-2ΛΤ(t)W(t)(Y(t)-Λ(t)ˆΞ(t))-2αt1t(Μ(t)-1tˆΞ(t))=-2(ΛΤ(t)W(t)Y(t)-ΛΤ(t)W(t)Λ(t)ˆΞ(t)+αΜ(t)-αtˆΞ(t))=-2[(ΛΤ(t)W(t)Y(t)+αΜ(t))-(ΛΤ(t)W(t)Λ(t)+αtΙ)ˆΞ(t)](7)JΞˆ(t)=2(Y(t)Λ(t)Ξˆ(t))TΞˆ(t)W(t)(Y(t)Λ(t)Ξˆ(t))+2αt(M(t)1tΞˆ(t))Ξˆ(t)(M(t)1tΞˆ(t))=2ΛT(t)W(t)(Y(t)Λ(t)Ξˆ(t))2αt1t(M(t)1tΞˆ(t))=2(ΛT(t)W(t)Y(t)ΛT(t)W(t)Λ(t)Ξˆ(t)+αM(t)αtΞˆ(t))=2[(ΛT(t)W(t)Y(t)+αM(t))(ΛT(t)W(t)Λ(t)+αtI)Ξˆ(t)](7)

根据极值定理, 使目标函数式 (4) 最小的必要条件是J/ˆΞ(t)=0, 即式 (5) , 又Heese矩阵为

《图1》

J极小化的充分条件为

ˆΞ(t)[JˆΞ(t)]Τ=2[ΛΤ(t)W(t)Λ(t)+αtΙ]>0(9)

由于权因子α可调整, 故即使矩阵ΛT (t) 不满秩式 (9) 亦可成立且式 (6) 有唯一解。定理1得证。

推论1 在式 (6) 中, 当先验知识权因子α=0时, 则式 (6) 便是加权LS算法, 即:

ˆΞ(t)=(ΛΤ(t)W(t)Λ(t))-1ΛΤ(t)W(t)Y(t)(10)

对应的目标函数为

J=[Y(t)-Λ(t)ˆΞ(t)]ΤW(t)[Y(t)-Λ(t)ˆΞ(t)](11)

推论2 在式 (6) 中, 当α=0且当W (t) =I时, 则式 (6) 便是普通LS算法, 即

ˆΞ(t)=(ΛΤ(t)Λ(t))-1ΛΤ(t)Y(t)(12)

对应的目标函数为

J=[Y(t)-Λ(t)ˆΞ(t)]Τ[Y(t)-Λ(t)ˆΞ(t)](13)

从定理1中不难看出, 引入加权矩阵W (t) 和权因子α后, 为获得时变参数的估计值和克服病态估计提供了更多的灵活性。

定理2 即使在过程式 (1) 持续激励条件不满足的情况下, 通过调整权因子α仍能保证式 (6) 有唯一解。

定理2说明:从理论上讲, 若过程式 (1) 输入信号不满足持续激励条件, 在计算中表现为矩阵ΛT (t) W (t) Λ (t) 不满秩, 而通过选择α, 则能保证矩阵[ΛΤ(t)W(t)Λ(t)+αtΙ]满秩, 仍能使式 (6) 有唯一的正确的解。显而易见, 若用普通算法就会出现多解而得不到正确的估算值。

性质1 先验知识向量M对基于式 (4) 的最小二乘解的影响, 随着观测次数的增大而减小, 当时t→∞时, 式 (6) 趋向式 (10) , 即新算法收敛于加权LS算法。

性质1说明:从 (6) 式可以看出, 先验知识向量M对最小二乘解的影响, 不仅与权因子α有关, 而且与观测次数t有关。t较小时影响明显, 可有效地避免由于输入信号不持续激励而带来的问题;t太大时, 先验知识向量几乎不起作用, 保证收敛性。

性质1非常重要, 因为t较小时, 持续激励条件一般不易满足, 增大M的作用显然对避免病态估计十分有利;t太大时, 保证收敛性则是新算法成立的理论基础。

值得注意的是, 遗忘因子δ和权因子α要经过适当的选择。在进行估计的初期, 为了得到一个好的收敛速度, δ可选得小些, 而α可选得大些;在估计的后期, 为得到好的精度 (小方差) , δ可趋近于1, 而α可趋近于0。

《2.2实时加权递推算法》

2.2实时加权递推算法

利用新算法对时变过程式 (1) 进行参数估计, 显然希望得到其递推形式。而新算法不能直接给出递推形式, 需作近似处理。当t相对于α较大时, 数量矩阵αtΙ相对于ΛT (t) W (t) Λ (t) 很小, 可以忽略。这时, 式 (6) 演变为

ˆΞ(t)=(ΛΤ(t)W(t)Y(t)+αΜ(t))(ΛΤ(t)W(t)Λ(t))-1(14)

在推导递推公式时要频繁引用矩阵求逆引理。

引理1 设A+BCTI+CTB-1B满秩, 则下面的矩阵恒等式成立

(A+BCΤ)-1=A-1-A-1B(Ι+CΤA-1B)-1CΤA-1(15)

定理3 未知变量Ξ的基于修正目标函数的加权最小二乘估计ˆΞ的递推公式为

ˆΞ(t+1)=ˆΞ(t)+Ψ(t+1)(y(t+1)-λΤ(t+1)ˆΞ(t))+αΠ(t+1)(Μ(t+1)-δ2Μ(t))(16)

Ψ(t+1)=Π(t)λ(t+1)δ2+λΤ(t+1)Π(t)λ(t+1), (17)

Π(t+1)=1δ2(Ι-Ψ(t+1)λΤ(t+1))Π(t)。 (18)

定理3证明: 令

Λ(t+1)=[Λ(t)λΤ(t+1)](19)Y(t+1)=[Y(t)y(t+1)](20)Π(t)=(ΛΤ(t)W(t)Λ(t))-1(21)Π(t+1)=(ΛΤ(t+1)W(t+1)Λ(t+1))-1(22)

由式 (2) 得

W(t+1)=[δ2[δ2(t-1)δ2(t-2)00δ21]001]=[δ2W(t)001](23)

由式 (19) 、式 (20) 及式 (23) , 式 (22) 可变为

Π(t+1)={[ΛΤ(t)λ(t+1)][δ2Μ(t)001][Λ(t)λΤ(t+1)]}-1=(δ2ΛΤ(t)W(t)Λ(t)+λ(t+1)λΤ(t+1))-1=[δ2Π-1(t)+λ(t+1)λΤ(t+1)]-1(24)

由引理1, 式 (24) 可化为

Π(t+1)=1δ2(Ι-β(t+1)Π(t)λ(t+1)λΤ(t+1))Π(t)(25)β(t+1)=(δ2+λΤ(t+1)Π(t)λ(t+1))-1(26)

β (t+1) 是一个标量。

Ψ(t+1)=Π(t+1)λ(t+1),(27)

将式 (25) 代入式 (26) 可得

Ψ(t+1)=1δ2Π(t)λ(t+1)(Ι-β(t+1)Π(t)λΤ(t+1)Π(t)λ(t+1))=Π(t+1)λ(t+1)δ2+λΤ(t+1)Π(t)λ(t+1)(28)

式 (17) 得证。

由式 (28) , 式 (25) 可变为Π (t+1) = (1/δ2) (I-Ψ (t+1) λT (t+1) ) Π (t) , 式 (18) 得证。

另外, 由式 (19) 、式 (20) 及式 (23) 可得

Λ(t+1)W(t+1)Y(t+1)={[ΛΤ(t)λ(t+1)][δ2Μ(t)001][Y(t)y(t+1)]}=δ2ΛΤ(t)W(t)Y(t)+λ(t+1)y(t+1)(29)

由式 (29) 及式 (14) 得

ˆΞ(t+1)=[ΛΤ(t+1)W(t+1)Λ(t+1)]-1[ΛΤ(t+1)W(t+1)Y(t+1)+αΜ(t+1)]=Π(t+1)[δ2ΛΤ(t)W(t)Y(t)+λ(t+1)y(t+1)]+αΠ(t+1)Μ(t+1)(30)

由式 (14) 及式 (21) 得

ΛΤ(t)W(t)Y(t)=(ΛΤ(t)W(t)Λ(t))ˆΞ(t)-αΜ(t)=Π-1(t+1)ˆΞ(t)-αΜ(t)(31)

将式 (31) 代入式 (30) 可得

ˆΞ(t+1)=Π(t+1)(δ2Π-1(t)ˆΞ(t)+λ(t+1)y(t+1))+αΠ(t+1)(Μ(t+1)-δ2Μ(t))(32)

由式 (24) 得

δ2Π-1(t)=Π-1(t+1)-λ(t+1)λΤ(t+1)(33)

将式 (33) 代入式 (32) 有

ˆΞ(t+1)=Π(t+1)[Π-1(t+1)-λ(t+1)λΤ(t+1)ˆΞ(t)+λ(t+1)y(t+1)]+αΠ(t+1)(Μ(t+1)-δ2Μ(t))=ˆΞ(t)+Π(t+1)λ(t+1)(y(t+1)-λΤ(t+1)ˆΞ(t))+αΠ(t+1)(Μ(t+1)-δ2Μ(t))(34)

将式 (27) 代入式 (34) 得

ˆΞ(t+1)=ˆΞ(t)+Ψ(t+1)(y(t+1)-λΤ(t+1)ˆΞ(t))+αΠ(t+1)(Μ(t+1)-δ2Μ(t))(35)

定理3即式 (16) 证毕。

在定理3中, 新递推算法的初值一般可令ˆΞ(0)=0,Π(0)=σ2Ι, 其中σ为充分大的正数。

新递推算法的步骤如下:

Step 1 置初值ˆΞ(0)Π(0), 输入初始数据;

Step 2 采样当前输入和输出;

Step 3 按式 (16) 、式 (17) 及式 (18) 计算ˆΞ(t)Ψ(t)Π(t);

Step 4 返回Step 2 直到收敛满足要求为止。

《2.3辅助变量递推算法》

2.3辅助变量递推算法

根据数理统计及LS算法的知识, 不难发现, 当过程式 (1) 中的˜ω (t) 为有色噪声时, 定理1及定理3所给出的算法同普通LS算法一样, 其估计值ˆΞ(t)不能保证是一致估计。为此, 这里仿照普通最小二乘辅助变量算法可以得到基于修正目标函数的时变参数辅助变量算法。

定理4 引入辅助变量Σ (t) , 并选择加权矩阵W (t) 使其满足

Σ(t)=W(t)Λ(t)(36)

如果Σ (t) 满足以下两个条件:

E{ΣΤ(t)W(t)}=0(37)E{ΣΤ(t)Λ(t)}=ΓΓ(38)

那么, 基于修正目标函数的时变参数辅助变量算法可表示为

ˆΞ(t)=[ΣΤ(t)Λ(t)+αtΙ]-1[ΣΤ(t)Y(t)+αΜ(t)](39)

定理4证明从略。

同样地将式 (39) 稍作近似处理便可得到基于修正目标函数的辅助变量递推算法。

定理5 未知变量Ξ的基于修正目标函数的辅助变量递推公式为

ˆΞ(t+1)=ˆΞ(t)+Ψ(t+1)[y(t+1)-λΤ(t+1)ˆΞ(t)]+αΠ(t+1)[Μ(t+1)-δ2Μ(t)](40)

Ψ(t+1)=Π(t)ζ(t+1)δ2+λΤ(t+1)Π(t)ζ(t+1), (41)

Π(t+1)=1δ2[Ι-Ψ(t+1)λΤ(t+1)]Π(t)。 (42)

式中ζ (t) =[-υ (t-1) , -υ (t-2) , …, -υ (t-na) , u (t-1) , u (t-2) , …, u (t-nb) ], 可取υ(t)=ΣΤ(t)ˆΞ(t)

定理5证明从略。

另外, 新算法也可推广到广义LS算法, 在此暂不作研究。

《3 仿真结果及实用情况》

3 仿真结果及实用情况

《3.1仿真模型》

3.1仿真模型

分别采用LS算法和基于修正目标函数的LS算法来估计时变系统, 采用的时变系统是水泥生料混合过程。

水泥生料混合控制历来是水泥生产的关键问题。图1示出水泥混合系统的流程。计算机根据X荧光分析仪检测数据分析计算后, 与给定值比较, 控制电子皮带秤, 调节原料的配比。

如果假设系统的工作点稳定, 且混合过程理想, 没有死区时间, 那么水泥生粉中氧化物的成分与生料重量的关系如下:

(ΟCaΟΟSiΟ2ΟAl2Ο3ΟFe2Ο3)=(C1C2ΟΟS1S2S3ΟA1A2ΟΟF1F2ΟF4)(ω1ω2ω3ω4)(43)

或用下列向量形式表示:

Ο=Cω(44)

式中, 矩阵C为生料成分矩阵;O为生粉中氧化物的含量;ω表示生料中石灰石、粘土、石英砂和铁矿石的重量比。

《图2》

图1 水泥生料磨机成分控制系统

图1 水泥生料磨机成分控制系统  

Fig.1 Control system of cement composition at raw mill

由于水泥原料 (石灰石、粘土、石英砂和铁矿石等) 大多呈块状、分散性大, 直接实时测量其成分是不可能的, 只能根据磨机输出的矩阵O的生粉化学成分和原料进料量ω来估计生料成分C, 从而为控制算法提供重要依据。这里以成分波动较大的石灰石中的SiO2含量为例给出了其对比仿真结果。

《3.2仿真结果》

3.2仿真结果

图2表明:基于修正目标函数的整匹估计算法的估计精度优于普通LS算法, 引入遗忘因子δ以后, 新算法对时变参数的跟踪能力大为提高, 精度也有所改善。图3表明:基于修正目标函数的递推算法比普通递推LS算法对时变参数的估计精度大为提高。

《3.3应用情况》

3.3应用情况

本算法是多年以来在水泥生料自适应控制系统研究的基础上经不断修正总结而来的。该算法结合自校正控制技术用于工程实际, 已将磨机输出生粉成分方差降低30 %左右。工业现场使用结果表明:所提出的系统具有较高的鲁棒性和控制精度, 可将磨机输出生粉成分方差降低到1.58, 而且长期运行稳定。

《图3》

图2 整匹算法对比仿真结果

图2 整匹算法对比仿真结果  

Fig.2 Comparison of the new and oldalgorithm with bitch processing format

1—实际值;2—普通LS估计值 (δ=1, α=0) ;3—新算法估计值 (δ=0.985, α=5.8)

《图4》

图3 递推算法对比仿真结果

图3 递推算法对比仿真结果  

Fig.3 Comparison of the new and old algorithm with recursive format

1—实际值;2—普通LS估计值 (δ=1, α=0) ;3—新算法估计值 (δ=0.985, α=5.8)

《4 结论》

4 结论

导出了一类基于修正目标函数的时变参数LS算法, 克服普通算法使病态程度加剧的缺陷, 并提高对时变参数的跟踪能力;避免数据饱和现象, 可提高自适应控制系统的鲁棒性。这种算法还具有运算量小、收敛性好的优点, 十分便于工程实现和应用。已取得良好的控制效果。此外, 以所提出的算法为基础, 还易于构成相应的递推辅助变量算法、广义LS算法等, 还可以构成对数据加权处理的限定记忆估计算法。