变遗忘因子递推最小二乘Hammerstein系统辨识算法
2022-03-07赵旭楷刘兆霆
赵旭楷 刘兆霆
(杭州电子科技大学通信工程学院,浙江杭州 310018)
1 引言
系统辨识[1-2]的目的就是利用数学方法和准则从未知系统的输入输出数据中拟合出该系统的数学模型,这种拟合常常具体化为对模型参数的估计,在工业[3]、人工智能[4]和医疗器械[5]等领域有很广泛的应用。依据系统的复杂性和模型的准确性,将系统辨识分为线性系统辨识和非线性系统辨识。本论文主要研究具有Hammerstein 模型结构[6]的非线性系统自适应辨识问题。Hammerstein模型由动态线性子系统和静态非线性子系统级联而成,可以用来表示实际工业应用中大部分的非线性系统,如精馏塔[7]、PH 中和过程[8]、聚合反应过程[9]等,因此,Hammerstein 模型在工业上有很重要的应用。
递推最小二乘(RLS)算法[10-11]是系统辨识中常用的一种算法,该算法能够通过调节遗忘因子来平衡算法在收敛速度、跟踪能力、稳定性等方面的性能。传统RLS 算法的遗忘因子一般都是固定且预先设定的,不能根据实际情况进行调节以使算法达到最佳的性能;因此,更加需要一种能够通过自适应调节进一步改进算法性能的变遗忘因子RLS 算法[12-13]。然而,RLS 算法一般只适用于线性系统,无法直接应用于Hammerstein 系统的辨识。
为了克服这个问题,本论文将Hammerstein 系统的系统参数进行映射变换,使得变换后的系统参数与Hammerstein 系统的输入输出构成一个线性关系,从而使传统RLS 算法能够适用于该系统。另外,为了进一步提高对Hammerstein 系统辨识的性能,我们提出了一种变遗忘因子递推最小二乘(VFF-RLS)算法。通过实验分析,VFF-RLS 算法比传统RLS 算法具有更好的跟踪能力、更佳的收敛速度和稳定性,能够更有效地实现对非线性Hammerstein系统辨识。
2 非线性系统模型
如图1所示,基于Hammerstein 模型的非线性系统由动态线性子系统和静态非线性子系统级联而成,其中动态线性子系统是一个有限脉冲响应系统,而静态非线性子系统是一个多项式模型。该系统的输出y(k)与输入u(k)关系可以表示为:
其中x(k)是中间变量,v(k)是测量噪声,假设m和n是已知的且a0=1。
论文的主要目的是利用获得的输入与输出数据实现对上述Hammerstein 非线性系统的自适应辨识,即对Hammerstein 系统参数{a1,a2,…,an}和{b1,b2,…,bm}自适应估计。
3 Hammerstein非线性系统的RLS算法
为了提高算法的收敛性,我们考虑采用递推最小二乘(RLS)算法。根据信号模型(1),系统参数的估计问题可以表述为下列加权优化问题:
其中λ(0<λ≤1)是RLS 算法的遗忘因子。然而,问题(2)是一个非线性且非凸问题,无法直接利用传统的RLS 算法实现系统参数估计。为此,我们考虑将问题(2)映射为一个线性且凸的优化问题。定义a=[a0,a1,...,an]T,b=[b1,...,bm]T,H∈ℝ(n+1)×m,其中矩阵H中的元素有hi,j=um(k-j),i=0,…,n和j=0,…,m-1 分别代表矩阵H的行和列。利用这些定义并根据模型(1),我们有:
根据矩阵迹Tr(*)的性质,可以得到bTHa=Tr(bTHa)=vec(abT)Tvec(H),其中vec 表示向量化运算,因此:
其中w=vec(abT),h(k)=vec(H),v(k)是系统噪声。根据式(4)可知,问题(2)可以转化为:
该问题是一个关于w的线性且凸的优化问题。参数w与参数{a1,a2,…,an}和{b1,b2,…,bm}的存在下列映射关系:
因此,结合传统RLS 算法和问题(5),Hammerstein非线性系统的RLS 算法(命名为HRLS 算法)可以表述如下
4 VFF-HRLS算法
在上述HRLS 算法中,遗忘因子是一个预先设定的固定值,无法通过调节遗忘因子使算法达到最佳性能,针对这个问题,本论文提出了一个变遗忘因子Hammerstein 非线性系统的RLS(VFF-HRLS)算法,它具有快速跟踪和收敛能力,同时保证较高的估计精度。
定义在自适应滤波器中后验误差为:
因此,将式(7)和式(9)代入式(11)中,可以得到后验误差和先验误差的关系式为:
已知HRLS算法的正则方程[14]为:
其中,Φ(k)=。将Φ(k)和θ(k)的值代入到式(13),则HRLS 算法的正则方程可以改写为:
假设在遗忘因子λ是个非常接近1的值,k也足够大的情况下,有:
其中,E{·}表示数学期望。因此根据式(15),式(14)可以改写为:
其中q(k)=hT(k)p(k-1)h(k),E{e2(k)}=是先验误差信号的功率。对于公式(17),若输入信号和误差信号不相关,则只有当自适应滤波器开始收敛到稳态解时,式(17)成立。而且遗忘因子具有确定性和时间依赖性,通过对式(17)中的一元二次方程进行求解,可以得到一个遗忘因子表达式:
其中1<γ<2。否则,当,遗忘因子可通过下面的公式进行调节:
其中,ξ是一个极小的正常数,为了防止分母为零。
5 性能仿真分析
本文通过一系列的MATLAB 仿真实验来验证提出的VFF-HRLS 算法对于Hammerstein 系统辨识的有效性和可靠性。对于估计值而言,用均方偏差(MSD)来定义其性能指标:
系统的输入信号为一个高斯白噪声信号,系统噪声选择一个均值为零,方差为0.8 的白噪声。设置VFF-HRLS算法的待估参数的真实值a0=[1,0.9,1.1,1.3]T,b0=[0.8,0.5,1.2]T。算法中出现的参数分别设置为m=3,n=3,λmax=0.999999,Kα=3,Kβ=2Kα。在确定遗忘因子时,将HRLS算法确定为0.98,对应45000 次的迭代,脉冲响应在迭代次数为15000 次和30000 次会发生变化,以下描述的所有结果均为通过100次蒙特卡罗实验平均后得到。仿真结果如图2所示。
图2 给出了HRLS 算法和VFF-HRLS 算法在Hammerstein 系统里进行系统辨识的性能比较。观察图2(a)和图2(b)可以看出VFF-HRLS 算法比HRLS 算法估计精度更高,算法的跟踪和收敛能力也更好。
图3 描述了在迭代过程中遗忘因子λ(k)的变化,在达到稳态解后λ(k)均等于λmax,只有在第15000 次和第30000 次脉冲响应发生变化时,λ(k)才转向较低值,以适应系统参数的改变,并加快收敛。
接下来,我们进一步验证系统噪声对VFFHRLS 算法的影响。设置了三组对比试验,设置噪声方差分别为=[0.2,1,2],遗忘因子分别为λ=[0.6,0.8,0.99],待估参数的真实值a0=[1,0.8,1.1,1.4]T,其余条件与图2 实验的一致。仿真结果列在下方。
从图4、图5、图6 可以看出,遗忘因子越大,HRLS 算法的均方偏差越小,HRLS 算法的估计精度变高,但与VFF-HRLS 算法相比,VFF-HRLS 算法的估计精度明显优于HRLS算法。
结合图4、图5、图6 分析不同噪声方差条件对两种算法均方偏差产生的影响,观察图4(a)、图5(a)、图6(a)可以看出,在遗忘因子相同的情况下,系统噪声方差越大,VFF-HRLS 算法与HRLS 算法的均方偏差增大,VFF-HRLS 算法与HRLS 算法的估计精度减小。而且HRLS算法的均方偏差始终在VFF-HRLS 算法的上方,VFF-HRLS 算法的估计性能要优于HRLS算法的估计性能。
最后,我们验证VFF-HRLS 算法的跟踪性能。设置m=3,n=3,则待估参数a=[a0,a1,a2,a3]T,b=[b1,b2,b3]T。设置总共迭代次数为6000 次,迭代次数前3000次中,设置待估参数的真实值为a0=[1,0.2,0.5,0.8]T,b0=[0.85,0.55,0.25]T;迭代次数后3000 次中,对待估参数的真实值进行改变,设置参数a的真实值为a0=[1,0.4,0.7,1]T,设置参数b的真实值为b0=[0.65,0.35,0.05]T,其余条件与图2实验的一致。由于系统已知a0=1,所以就只对参数a中后三个数进行自适应估计,仿真结果如图7、图8所示。
从图7、图8 可以看出,提出的算法对于时变参数也有较好的估计;当参数的真实值发生变化时,参数的估计值也能很快地跟踪这种变化,从而保证与真实参数有较小的估计误差,体现了算法具有良好的跟踪性能。
6 结论
本文研究了非线性Hammerstein 系统辨识问题,提出了一种变遗忘因子递推最小二乘(VFFHRLS)算法。该算法将Hammerstein 系统的系统参数进行线性映射变换,从而将该非线性系统辨识问题转化为线性系统辨识问题;同时,为了进一步提高算法的性能,论文引入了变遗忘因子。实验结果表明,提出的VFF-HRLS 算法具有较好的估计精度和跟踪性能,能较好地解决非线性Hammerstein 系统辨识问题。