《系统辨识大作业..docx》由会员分享,可在线阅读,更多相关《系统辨识大作业..docx(26页珍藏版)》请在第壹文秘上搜索。
1、一、问题描述考虑仿真对象:Z(Z)+0.9z(A-1)+0.15z(Z-2)+0.02Z(A一3)=0.7“(A-1)-0.15(A-2)+贸衣)e()+1.0e(-1)+0.4le(-2)=Av(Jt),vN(OJ)式中,u(k)和z(k)是输入输出数据,v(k)是零均值、方差为1的不相关的随机噪声;u(k)采用与e(k)不相关的随机序列。1.设计实验,产生输入输出数据;2使用基本最小二乘法估计参数;3.考虑其他适用于有色噪声的辨识方法估计参数;4.模型验证.二、问题分析对于单输入单输出系统(SingleInputSingleOutput,SISO),如图1所示,将待辨识的系统看作灰箱”,它
2、只考虑系统的输入输出特性,而不强调系统的内部机理。图1中,输入u(k)和输出z(k)是可以测量的,G(ZT)是系统模型,用来描述系统的输入输出特性,y(k)是系统的实际输出。N(ZT)是噪声模型,v(k)是均值为零的不相关随机噪声,e(k)是有色噪声。图1SISO系统的灰箱”结构对于SISo随机系统,被辨识模型G(Z)为:Xz)_bz+b2z7+bnznm(z)+aiz+a2z+anz其相应的差分方程为义幻=-aiy(k-i)+NbiU(k-z)若考虑被辨识系统或观测信息中含有噪声,被辨识模型可改写为2也)=-Xaj仕-)+iu(-i)+v()E(=1式中,z(k)为系统输出量的第k次观测值;
3、y(k)为系统输出量的第k次真值,y(kT)为系统输出量的第kT次真值,以此类推;u(k)为系统的第k个输入值,u(k-l)为系统的第k-1个输入值;V(k)为均值为O的不相关随机噪声。1.数据生成本部分需要生成系统的输入输出数据以及噪声数据。1)白噪声的生成辨识数据通常包含有噪声,如果该噪声相关性较弱或者强度很小,可近似看作白噪声。本次实验问题中vWN(0,1),即服从标准正态分布,可以将噪声看作为服从正态分布的白噪声过程,在Matlab中口1以由randn函数生成。2)输入数据的生成伪随机二进制序列(PseudoRandomBinarySequence,PRBS)是广泛应用的一种伪随机序列
4、,所谓“二进制”是指序列中每个随机变量只有0或1两种逻辑状态。伪随机二进制序列可由多级线性反馈移位寄存器组成的随机信号发生器产生,其中具有最长循环周期的线性移位寄存器序列是伪随机二进制序列最常见的一种形式,简称M序列(MaximalLengthSequence)oM序列由于具有近似白噪声的性质,而且工程上易于实现,能筋保证较好的系统辨识精度,是普遍采用的一种辨识用输入信号。图2线性反馈移位寄存器产生伪随机二进制序列结构图以一个4级线性反馈移位寄存器产生伪随机二进制序列为例,如图2所示。假设4个移位寄存器/,q,%,%输出的初态非全零,移位寄存器的工作原理是:一个移位脉冲来到后,每级移位寄存器的
5、输出移到下一级移位寄存器作为输入,最末一级移位寄存器的输出即为伪随机二进制序列。3)输出数据的生成根据给定的SISO系统,可以求出z(k)的表达式:Z(八)=-0.9z(-1)-0.15z(-2)-0.02z(-3)+0.7w(-1)0.15“(左一2)+NV(八)1.O(1)0.41e(k2)其理想系数值为l=0.9,2=0.15,3=0.02,b1=0.7,=-15,c1=1.0,c2=0.41.可以根据生成的白噪声序列和输入序列,以及必要的O初始值,带入表达式即可得到采样输出数据。2.差分模型阶检验在实际场景中,辨识模型的阶数和纯时延往往是未知的,在很多情况下仅仅依靠猜测。在模型的阶数和
6、纯时延不确定时,设系统模型为y(0=-aiy(f)+fh.y(t-i)+(t);=1J=其中n为模型的阶数,7(f)=C(ZT)e(f)模型的阶估计可以采用多种方法,本实验采用比较简单易行的损失函数检验法。定义预报误差(噪声方差的估计值)的平方和为损失函数,即当n从小增大时,JN应随之减小,当n增大到某一值时,人应近似白噪声过程。采用以下的检验原则:在n-1这一点,人最后一次出现陡峭的下降,此后就近似地保持不变或只有微小的下降,则取6=。3.参数辨识模型在系统辨识和参数估计领域中,最广泛的估计方法时最小二乘法和极大似然估计法。最小二乘法作为一种最基本的估计方法应用极为广泛,其他的大多数估计算法
7、都与最小二乘法有关。它既可用于动态系统,也可用于静态系统;可用于线性系统,也可用于非线性系统;可用于离线估计,也可用于在线估计。在随机环境下利用最小二乘法时,无须知道观测数据的概率统计信息,而这种方法获得的结果,却有相当好的统计性质。最小二乘参数估计方法来源于数理统计的回归分析,它能提供一个在最小方差意义上与实验数据最好的你和的模型。该估计在一定条件下有最佳的统计特性,即它们是一致的,无偏的和有效的。最小二乘法时一个经典的方法,概念简明,适应范围广,在一些情况下,可得到与极大似然法一样好的统计效果,它能很方便地与其他辨识算法建立关系.(1)递推最小二乘算法当获得一批数据后,可一次求得相应的参数
8、估计值,这样处理问题的方法称为一次完成算法或批处理算法。它在理论研究方面有许多方便之处,但当矩阵的维数增加时,矩阵求逆运算的计算量会急剧增加,将给计算机的计算速度和存储量带来负担,而且不适合在线辨识,无法跟踪参数随时间变化的情况。为了减少计算量,减少数据在计算机中所占的存储量,也为了实时地辨识出动态系统的特性,在用最小二乘法进行参数估计时,把它转化成参数递推的估计。参数递推估计是指被辨识的系统,每取得一次新的测量数据后,就在前一次估计结果的基础上,利用新引入的测量数据对前一次估计的结果进行修正,从而递推地得出新的参数估计值。这样,随着新测量数据的引入,一次接一次地进行参数估计,直到估计值达到满
9、意的精确程度为止。最小二乘递推算法的基本思想可以概括为:当前的估计值0(外=上次估计值0伙-1)+修正项即新的估计值灰6是在旧的估计值灰%-1)的基础上,利用新的观测数据对旧的估计值进行修正而成的。考虑如下模型:A(ZT)Z伏)=B(zT)(幻+v(Q,其中伏),Z(八)分别是系统的输入和输出;Wk)是均值为零,方差为一的不相关白噪声。且满足:AgT)=】+“/T+z-+anznB(z=biz-+b2z-2+.+bmz-m人/力(&)=I-Z(&-1),.,-Z(A-),“(-1),.伏-m)=a,a2,.an,bl,b2,.m则使用加权最小二乘参数估计递推算法(RecursiveWeight
10、edLeastSquares,RWLS)有:k)=灰Jt-1)+K(k)z(k)-hr(k)(k-1)jA伏)P(6=-K(k)h(k)P(k-1)伏)=z(1),.z(),u(k1),伏m)MQ 比 fit)J#小二*蒙数估计 递指整法图3最小二乘递推辨识参数估计过程中信息的变换可以看出,取A(Jl)=I的时候,加权最小二乘估计就退化成了最小二乘参数估计的递推算法(RecursiveLeastSquares,RLS)。加权参数L可以在(0,1范围内选择,A如果选一=1,所有的采样数据都是等同加权的,如果一0,V(八)=Z(八)-必(&)0(A-I),即可得递推公式如下:(k)=(k-)+K(
11、k)v(k)K(八)=P(k-)h(k)lr(k)P(k-1)力(&)+1,P(k)=l-K(k)h(k)P(K-)v(k)=z(k)-h(k)(k-)h(k)=-z(k-),.z(k-n),-m(-1),.-w(-w),-v(-1),.-v(-v)7一般说来选取初值)=/伙O)=O增广最小二乘递推算法扩充了最小二乘法的参数向量8和数据向量/7(行的维数,把噪声模型的辨识同时考虑进去。最小二乘法的许多结论对它都是适用的,但最小二乘法只能获得模型的参数估计,对于有色噪声,也就是噪声模型必须用C(ZT)Ml)表示时,只能采用增广最小二乘递推算法,方可获得无偏估计。这是最小二乘参数估计的递推算法不可
12、代替的。增广最小二乘算法的流程如图5所示。图4递推最小二乘参数辨识流程图图5增广最小二乘算法流程图三、MatIab仿真及运行结果在本次实验中,入取值为1,则系统辨识对象为:Z(八)=0.9Z(Z1)-0.15z(A2)0.02z(k3)+0.7(左1)1.5(92)+%v(k)-1.0e(k-I)-0.4le(k-2)1.差分模型的阶检验在实际应用场景中,模型的阶数和纯时延往往是未知的,在此种情况下,-般采用如下方法来确定模型的阶数:固定一个阶数,当n从小增大时,定义损失函数JN应随之减小,当n增大到某一值时,人应近似白噪声过程。在nT这一点,JN最后7= H 使用一次出现陡峭的下降,此后就近似地保持不变或只有微小的下降,则取Matlab进行模型阶数确定代码如下:%魁%噪声方差的估计值和损失函数法定%clearcloseal1;1.=100:yl=l;y2=l;y3=l;y4=0;fori=l:L+5:xl=xor(y3ty4);%第一个移位寄存器的输入信号x2=yl;%第二个移位寄存器的输入信号x3=y2;%第三个移位寄存器的输入信号x4=y3;