系统辨识最小二乘法大作业
最小二乘法在系统辨识中的应用(包含相关的三种算法)
但是,数据向量)(kfh中的变量均需要按照(3.2.2)式计算,然而噪声模型)(1zC并不知道。
为此需要用迭代的方法来估计)(1zC。
令)()(1z)(1kvCke(3.2.5)置,2[k],)()]3(),2(),1([)(31ccckekekekeபைடு நூலகம்h(3.2.6)就把噪声模型(3.2.5)也化成最小二乘格式)()()(kvkkeeeh由于上式的噪声已是白噪声,所以再次利用最小二乘法可获得噪声模型参数e的无偏估计。
通过极小化(1.1.4)式来计算的方法称作最小二乘法,未知模型参数最可能的值是在实际观测值与计算值之累次误差的平方和达到最小处所得到的,这种模型输出能最好地接近实际过程的输出。
2、辨识原理考虑模型(1.1.2)式的辨识问题,其中)(kz和)(kh都是可观测的数据,是待估计参数,准则函数取(1.1.4)根据(1.1.3)的定义,准则函数)(J可写成二次型的形式)()()(HzHzllllJ(1.2.1)显然上式中的Hl代表模型的输出,或者说是过程的输出预报值。
)()() 1()()()()()(1111kkkkkiikkihhPhhhhP(2.2.3)令:
] ) 1(),2 (z),1 (z[1kzkz则:
] )i()()[1()() 1(1111111ikkkkkzikkhPzHHH于是有i111)()() 1() 1(kizikkhP(2.2.4)令] )k(),2 (z),1 (z[zkz利用(2.2.3)和(2.2.4)式,可得)]1()()()[()() 1()}()() 1()]()()(){[()]()() 1() 1()[(] )i()()[()()(1111ikkkzkkkkzkkkkkkkzkkkkzikkkkkkkhhphhhPPhPPhPzHHH(2.2.5)引进增益矩阵)(kK,定义为)()()(kkkhPK(2.2.6)则(2.2.5)式写成)]1()()()[() 1()(kkkzkkkhK(2.2.7)进一步把(2.2.3)式写成11)]()() 1([)(kkkkhhPP(2.2.8)为了避免矩阵求逆运算,利用矩阵反演公式可将(2.2.8)式演变成) 1()]()([)]()() 1([)(11kkkkkkkPhKIhhPP(2.2.9)将(2.2.9)式代入(2.2.6)式,整理后有1] 1)() 1()()[() 1()(kkkkkkhPhhPK(2.2.10)综合(2.2.7)、(2.2.9)、(2.2.10)式便得到最小二乘参数估计递推算法。
系统辨识相关分析最小二乘
相关分析法辨识系统单位脉冲响应1辨识原理对于下图示的单输入单输出线性系统,其输入输出的因果关系可用卷积公式描述。
公式为:0()()()y t g x t d λλλ∞=-⎰把变量t 换成t +τ,上式两边同乘以x (t ),取时间的平均值,得11lim()(+)(){lim()(+)}22TTTTT T x t y t dt g x t x t dt d TTτλτλλ∞--→∞→∞=-⎰⎰⎰即 0()()()x y x R g R d τστλλ∞=-⎰上式即为维纳-霍夫方程,其给出了输入的自相关函数,输入、输出的互相关函数及脉冲响应函数三者之间的关系。
令x (t )为白噪声信号,则其自相关函数为:()(), ()()x x R k R k τδττλδτλ=-=-代入维纳-霍夫方程得:()()()()xy x R g R d kg τλτλλτ∞=-=⎰则有:()()xy R g kττ=这样,只要记录x(t)、y(t)的值,并计算它们的互相关函数,即可求得脉冲响应函数g(τ)。
在系统有正常输入的情形下,辨识脉冲响应的原理图如下图所示。
2辨识过程2.1预备实验以二阶系统22()2G s s s ++=作为辨识对象。
在实验前首先要进行预备实验,以了解系统特性。
通过简单阶跃响应确定系统过度过程时间T s 大约为11s ,如下图所示。
给系统施加不同周期的正弦信号,系统输出为输入的0.707倍时,确定截止频率f M 大约为0.318Hz 。
2.2选择二位式伪随机序列的参数(1)选择t 和N 由0.3Mt f ∆≤,得0.94t s ∆≤。
因为系统的时间常数1nT s ζω=,根据时间常数可按照0.050.1t T ∆= ()选择t ∆。
由二位式伪随机序列周期要大于系统过渡过程时间,若t ∆选择0.94s ,则由(1)s N t T -⨯∆≥,得12.7021N ≥;若t ∆选择0.195s ,则由(1)s N t T -⨯∆≥,得57.4103N ≥。
系统辨识之最小二乘法
系统辨识之最小二乘法方法一、最小二乘一次性算法:首先对最小二乘法的一次性辨识算法做简要介绍如下:过程的黑箱模型如图所示:其中u(k)和z(k)分别是过程的输入输出,)(1-z G 描述输入输出关系的模型,成为过程模型。
过程的输入输出关系可以描述成以下最小二乘格式:)()()(k n k h k z T +=θ (1)其中z(k)为系统输出,θ是待辨识的参数,h(k)是观测数据向量,n(k)是均值为0的随机噪声。
利用数据序列{z (k )}和{h (k )}极小化下列准则函数:∑=-=Lk T k h k z J 12])()([)(θθ (2)使J 最小的θ的估计值^θ,成为最小二乘估计值。
具体的对于时不变SISO 动态过程的数学模型为 )()()()()(11k n k u z B k z z A +=-- (3)应该利用过程的输入、输出数据确定)(1-z A 和)(1-Z B 的系数。
对于求解θ的估计值^θ,一般对模型的阶次a n ,b n 已定,且b a n n >;其次将(3)模型写成最小二乘格式)()()(k n k h k z T +=θ (4)式中=------=T n n T b a b a b b b a a a n k u k u n k z k z k h ],,,,,,,[)](,),1(),(,),1([)(2121 θ (5)L k ,,2,1 =因此结合式(4)(5)可以得到一个线性方程组L L L n H Z +=θ (6)其中==T L TL L n n n n L z z z z )](),2(),1([)](),2(),1([ (7)对此可以分析得出,L H 矩阵的行数为),max(b a n n L -,列数b a n n +。
在过程的输入为2n 阶次,噪声为方差为1,均值为0的随机序列,数据长度)(b a n n L +>的情况下,取加权矩阵L Λ为正定的单位矩阵I ,可以得出:L T L L T L z H H H 1^)(-=θ (8)其次,利用在Matlab 中编写M 文件,实现上述算法。
系统辨识最小二乘法大作业 (2)
系统辨识大作业最小二乘法及其相关估值方法应用学院:自动化学院学号:姓名:日期:基于最小二乘法的多种系统辨识方法研究一、实验原理1.最小二乘法在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。
设单输入-单输出线性定长系统的差分方程为(5.1.1)式中:为随机干扰;为理论上的输出值。
只有通过观测才能得到,在观测过程中往往附加有随机干扰。
的观测值可表示为(5.1.2)式中:为随机干扰。
由式(5.1.2)得(5.1.3)将式(5.1.3)带入式(5.1.1)得(5.1.4)我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。
设(5.1.5)则式(5.1.4)可写成(5.1.6)在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。
因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。
假定是不相关随机序列(实际上是相关随机序列)。
现分别测出个随机输入值,则可写成个方程,即上述个方程可写成向量-矩阵形式(5.1.7) 设则式(5.1.7)可写为(5.1.8)式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。
因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。
如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。
如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出(5.1.9)如果噪声,则(5.1.10)从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。
在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。
可用最小二乘法来求的估值,以下讨论最小二乘法估计。
2.最小二乘法估计算法设表示的最优估值,表示的最优估值,则有(5.1.11)写出式(5.1.11)的某一行,则有(5.1.12) 设表示与之差,即-(5.1.13)式中成为残差。
把分别代入式(5.1.13)可得残差。
设则有(5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数(5.1.15) 为最小来确定估值。
安大系统辨识作业
2012系统辨识实验姓名:周自飞学号:P4*******年级专业:09自动化线性系统参数估计的最小二乘法一、实验目的:1、掌握线性离散系统的数学模型;2、掌握线性离散系统在无噪声时的单位脉冲响应;3、掌握线性系统参数估计的最小二乘法。
二、实验原理:1、基本最小二乘算法2、递推最小二乘算法3、渐消记忆递推最小二乘算法4、辅助变量递推最小二乘算法5、增广递推最小二乘算法三、实验内容:设带有噪声的离散系统模型为:()()()()()()k213.0-13.0-+.028.11-412+ukkukyk--yξky=现给定系统的一列长度为50的输入序列:u(k)= 1,0.3,-0.5,0.9,-0.5,-0.3,-0.2,0.4,0.8,-0.6,-0.1,0,0.1,0.5,-0.6,-0.2,0.3,0.9,0.5,0.2,-0.6,-0.3,-0.1,0.7,0,0.3,-0.6,0.3,0.1,0.5,-0.7,-0.4,-0.9,-0.6,-0.2,-0.4,-0.2,0.1,-0.1,0.1,0.9,0.5,0.3,0.7,0.4,-0.2,-0.7,-0.2,0.1,01. 构造离散系统模型函数,给出无噪声时系统在单位脉冲输入下的响应序列;%zhouzifei.mb=[0.3 -0.213];a=[1 -1.28 0.41];impz(b,a,30);title(‘系统单位脉冲响应’);axis([-1 30 -0.2 0.5]);2. 给出系统在给定输入u(k)和噪声()kξ下的输出信号y(k);%zifei2.m3. 利用已有输入信号u(k)和在第2步中得出的输出信号y(k),使用下列方法辨识系统的参数:(1) 基本最小二乘算法%LS.m参数:a1 =-1.2803a2 =0.4138b0 = 0.2867b1 = -0.2104(2) 递推最小二乘算法%RLS.m参数:a1 =-1.2800 a2 =0.4100 b0 = 0.3000 b1 = -0.2130(3) 渐消记忆递推最小二乘算法%FMRLS参数:a1 =-1.2800 a2 =0.4100 b0 = 0.3000 b1 = -0.2130(4) 辅助变量递推最小二乘算法%IVLS.m参数:a1 =-1.2800 a2 =0.4100b0 = 0.3000 b1 = -0.2130(5) 增广递推最小二乘算法(可选做,有加分)%ARLS.m参数:a1 =-1.2800 a2 =0.4100 b0 = 0.3000 b1 = -0.2130四、实验结果:最小二乘法思想是使各次观测值和计算值之间差值的平方乘以度量其精确度的数值后的和为最小。
系统辨识大作业1201张青
《系统辨识》大作业学号:********班级:自动化1班姓名:**信息与控制工程学院自动化系2015-07-11第一题模仿index2,搭建对象,由相关分析法,获得脉冲响应序列ˆ()g k,由ˆ()g k,参照讲义,获得系统的脉冲传递函数()G z和传递函数()G s;应用最小二乘辨识,获得脉冲响应序列ˆ()g k;同图显示两种方法的辨识效果图;应用相关最小二乘法,拟合对象的差分方程模型;构建时变对象,用最小二乘法和带遗忘因子的最小二乘法,(可以用辨识工具箱) 辨识模型的参数,比较两种方法的辨识效果差异;答:根据index2搭建结构框图:相关分析法:利用结构框图得到UY 和tout其中的U就是题目中要求得出的M序列,根据结构框图可知序列的周期是1512124=-=-=npN。
在command window中输入下列指令,既可以得到脉冲相应序列()g k:aa=5;NNPP=15;ts=2; RR=ones(15)+eye(15); for i=15:-1:1UU(16-i,:)=UY(16+i:30+i,1)'; endYY=[UY(31:45,2)];GG=RR*UU*YY/[aa*aa*(NNPP+1)*ts]; plot(0:2:29,GG) hold onstem(0:2:29,GG,'filled') Grid;title('脉冲序列g(τ)')最小二乘法建模的响应序列由于是二阶水箱系统,可以假设系统的传递函数为221101)(sa s a sb b s G +++=,已知)(τg ,求2110,,,a a b b已知G (s )的结构,用长除法求得G(s)的s 展开式,其系数等于从 )( g 求得的各阶矩,然后求G(s)的参数。
得到结果: a1 =-1.1561 a2 =0.4283 b0 =-0.0028 b1=0.2961在command window 中输入下列指令得到传递函数:最小二乘一次算法相关参数%最小二乘法一次完成算法 M=UY(:,1); z=UY(:,2); H=zeros(100,4); for i=1:100 H(i,1)=-z(i+1); H(i,2)=-z(i); H(i,3)=M(i+1); H(i,4)=M(i); endEstimate=inv(H'*H)*H'*(z(3:102)) %结束得到相关系数为:Estimate =-0.7866 0.1388 0.5707 0.3115带遗忘因子最小二乘法:%带遗忘因子最小二乘法程序M=UY(:,1);z=UY(:,2);P=1000*eye(5); %Theta=zeros(5,200); %Theta(:,1)=[0;0;0;0;0];K=zeros(4,400); %K=[10;10;10;10;10];lamda=0.99;%遗忘因数for i=3:201h=[-z(i-1);-z(i-2);M(i);M(i-1);M(i-2)];K=P*h*inv(h'*P*h+lamda);Theta(:,i-1)=Theta(:,i-2)+K*(z(i)-h'*Theta(:,i-2));P=(eye(5)-K*h')*P/lamda;endi=1:200;figure(1)plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:),i,Theta(5,:) )title('带遗忘因子最小二乘法')grid%结束Estimate 可由仿真图得出,可知两种方法参数确定十分接近。
系统辩识作业题
系统辨识大作业
一.设SlSO系统差分方程为
y(k)=—α1y(k-1)-a2y(k-2)+bλu(k-1)+b2u(k-2)+ξ{k)
辨识参数向量为θ=[q a2b l b2]r,输入输出数据详见数据文件UyLtXt—uy3.txtoξ(k)为噪声方差各异的白噪声或有色噪声。
试求解:
1)用n元一次方程解析法,再求其平均值方法估计。
2)用最小二乘及递推最小二乘法估计。
;
3)用辅助变量法及其递推算法估计
4)用广义最小二乘法及其递推算法估计
5)用夏氏偏差修正法、夏氏改良法及其递推算法估计
6)用增广矩阵法估计
7)分析噪声父攵)特性;
二.用极大似然法估计6。
三.以上题的结果为例,进行:
1.分析比较各种方法估计的精度;
2.分析其计算量;
3.分析噪声方差的影响;
4.比较白噪声和有色噪声对辨识的影响。
四.系统模型阶次的辨识:
1.用三种方法确定系统的阶次并辨识;
2.分析噪声对定阶的影响;
3.比较所用三种方法的优劣及有效性;
五.给出由正弦输入求取系统开环频率响应特性曲线的辨识方法。
六.提出一种自己创造的辨识新方法,并用所给数据进行辨识验证。
注:闭卷考试时提交大作业报告。
最小二乘法在系统辨识中的应用
最小二乘法在系统辨识中的应用王文进控制科学与控制工程学院 控制理论与控制工程专业 2009010211摘要:在实际的工程中,经常要对一个系统建立数学模型。
很多时候,要面对一个未知的系统,对于这些未知系统,我们所知道的仅仅是它们的一些输入输出数据,我们要根据这些测量的输入输出数据,建立系统的数学模型。
由此诞生了系统辨识这门科学,系统辨识就是研究怎样利用对未知系统的输入输出数据建立描述系统的数学模型的科学。
系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用及其广泛的系统辨识方法。
本文主要讲述了最小二乘估计在系统辨识中的应用。
首先,为了便于介绍,用一个最基本的单输入单输出模型来引入系统辨识中的最小二乘估计。
例如:y = ax + (1)其中:y、x 可测,为不可测的干扰项,a未知参数。
通过N 次实验,得到测量数据y k和x k ,其中k=1、2、3、…,我们所需要做的就是通过这N次实验得到的数据,来确定未知参数a 。
在忽略不可测干扰项的前提下,基本的思想就是要使观测点y k和由式(1)确定的估计点y的差的平方和达到最小。
用公式表达出来就是要使J最小:确定未知参数a的具体方法就是令: J a = 0 , 导出 a通过上面最基本的单输入单输出模型,我们对系统辨识中的最小二乘法有了初步的了解,但在实际的工程中,系统一般为多输入系统,下面就用一个实际的例子来分析。
在接下来的表述中,为了便于区分,向量均用带下划线的字母表示。
水泥在凝固过程中,由于发生了一系列的化学反应,会释放出一定的热量。
若水泥成分及其组成比例不同,释放的热量也会不同。
水泥凝固放热量与水泥成分的关系模型如下:y = a0+ a1x1+…+ a n x n +其中,y为水泥凝固时的放热量(卡/克);x1~x2为水泥的几种成分。
引入参数向量: = [ a0,a1,…,a n ]T经过N次试验,得出N个方程: y k = k T + k ; k=1、2…、N其中:k = [ 1,x1,x2,…,x N ]T方程组可用矩阵表示为: y = +其中:y = [ y1,y2,…,y N ] T = [ 1,2,…,N ] T估计准则:有=(y - )T( y - )J = y T y + T T - y T - T T y= y T y + T T - 2 T T y假设:(T)满秩,由根据矩阵值函数对矩阵变量的导数和数量函数对矩阵变量的导数可以得出以下两个公式:和有:和所以:解出参数估计向量:=(T)-1 T yLs至此,水泥的凝固放热量与水泥的成分关系模型即建立起来了。
系统辨识作业_梯度法最小二乘法
系统辨识一、最小二乘算法仿真对象为:)()2(5.0)1()2(7.0)1(5.1)(k v k k u k k z k z +-+-=-+-+,)(k v 为服从N(0,1)分布的白噪声,输入信号采用4阶M 序列。
辨识模型为:)()2()1()2()1()(2121k v k z b k z b k z a k z a k z +-+-+----=,观测数据长度取400=L ,加权矩阵取I =Λ。
则matlab 程序如下:% M array constructionNp=15;r=4;X1=1;X2=1;X3=1;X4=1;m_length = r*Np;a=1;for i=1:1:m_lengthY4=X4;Y3=X3;Y2=X2;Y1=X1;X4=Y3;X3=Y2;X2=Y1;X1=xor(Y3,Y4);if Y4==0M(i)=-a;elseM(i)=a;endendfigure;i=1:1:m_length;plot(i,M);% 白噪声noise = zeros(1,m_length);for i=1:1:m_lengthtemp = noise + 0.5*rands(1,m_length);noise = temp;endnoise = noise/12;%noise = temp;% parameter of systemn=2;d=1;a1=-1;a2=0.5;b1=1;b2=0.5;S_U0=0.2;S_Y0=0.2;% generate u,yu0=ones(1,m_length)*S_U0;U = M + u0 + noise;figure;i=1:1:m_length;plot(i,U);%formulationy(1)=0;y(2)=0;y(3)=0;Y(1)=S_Y0+y(1)+noise(1);Y(2)=S_Y0+y(2)+noise(2);Y(3)=S_Y0+y(3) +noise(3); for k=4:m_lengthy(k) = b1*U(k-1-d)+b2*U(k-2-d)-a1*y(k-1)-a2*y(k-2);Y(k)=S_Y0+y(k)+noise(k);endfigure;i=1:1:m_length;plot(i,Y);%辨识% premitive valuec=2;P = (c^3)*eye(3*n+d);sita(:,3) = [0,0,0,0,0,0,0]';alf = 0.995;% M%compute U0,Y0sum_U = 0;sum_Y = 0;for k=1:1:m_lengthsum_U = sum_U + U(k);sum_Y = sum_Y + Y(k);endt_U0 = sum_U/m_length;t_Y0 = sum_Y/m_length;for k=1:1:m_lengtht_u(k) = U(k) - t_U0;t_y(k) = Y(k) - t_Y0;endfigure;i=1:1:m_length;plot(i,t_u);figure;i=1:1:m_length;plot(i,t_y);v(1)=0;v(2)=0;v(3)=0;for k=4:1:m_lengthfai = [-t_y(k-1),-t_y(k-2),t_u(k-1-d),t_u(k-2-d),v(k-1),v(k-2),v(k-3)]';v(k) = t_y(k) - fai'*sita(:,k-1);W = P*fai;dan = 1/(alf + fai'*W);sita(:,k) = sita(:,k-1) + dan*W*v(k);P = ( P - dan * W*W')/alf;end仿真结果如下图所示:则各个参数的估计值为:⎪⎪⎪⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛∧∧∧∧5048.00062.17003.04961.1121bbaa二、梯度校正辨识方法仿真对象为)()2(5.0)1()2(7.0)1(5.1)(kvkkukkzkz+-+-=-+--,其中)(kv为服从N(0,1)分布的白噪声,取初值0)0(=∧θ,1=α,1.0=c。
系统辨识各类最小二乘法汇总
yk(k)=1.5*yk(k-1)-0.7*yk(k-2)+uk(k-1)+0.5*uk(k-2)+y1(k); end figure(3); plot(yk); title('对应输出曲线');
theta=[0;0;0;0]; p=10^6*eye(4);
9
for t=3:N h=([-yk(t-1);-yk(t-2);uk(t-1);uk(t-2)]); x=1+h'*p*h; p=(p-p*h*1/x*h'*p); theta=theta+p*h*(yk(t)-h'*theta);
12
p=(p-p*h*1/x*h'*p); theta=theta+p*h*(yk(t)-h'*theta);
a1t(t)=theta(1); a2t(t)=theta(2); b1t(t)=theta(3); b2t(t)=theta(4); d1t(t)=theta(5); d2t(t)=theta(6);
end 5、RGLS 试验程序(部分) for t=3:N
he=([-e(t-1);-e(t-2)]); xe=1+he'*pe*he; pe=(pe-pe*he*1/xe*he'*pe); thete=thete+pe*he*(e(t)-he'*thete);
c1t(t)=thete(1); c2t(t)=thete(2);
7
RELS: 当噪声模型: e k = D Z −1 ∗ v k ( v(k) 为白噪声 )时,我们采用增广最 小二乘方法。能辨识出参数(包括噪声参数)的无偏估计。 RGLS: 当噪声模型: e k =
基于最小二乘法的系统辨识问题研究综述
基于最小二乘法的系统辨识问题研究综述基于最小二乘法的系统辨识问题研究综述摘要:对基于最小二乘法的系统辨识方法进行了介绍。
首先对系统辨识概念以及最小二乘法原理进行了介绍,然后根据例子来说明怎样运用最小二乘法来解决实际辨识问题。
而且本文针对最小二乘存在的缺陷进一步阐述了一些改进型最小二乘法在系统辨识中的应用,最后对系统辨识的发展趋势做了预测。
关键字:系统辨识最小二乘法改进型最小二乘法发展趋势1引言系统辨识归根到底是一种数学建模的过程,而建模过程中运用的方法并不唯一,最小二乘法是较早被应用于系统辨识中的一类方法。
1962年,L. A. Zadeh 最先提出了系统辨识的定义[1]:“辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。
”简单的来说,就是在现有数据的基础上,按照一个准则在一组模型类中选择一个与提供的数据拟合得最好的模型。
而根据最小二乘法的定义[2]:“最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。
”其基本思想就是让实测数据和估计数据之间的平方和最小,这恰恰是系统辨识所需要解决的问题,所以最小二乘法很早就被用来求解辨识中需要的拟合数学模型。
本文在阐述最小二乘法理论的基础上对于其在系统辨识中的应用做了介绍,并指出实际应用中存在的不足,列举了几种改进型的最小二乘算法来改进系统辨识能力,最后给出了系统辨识的发展趋势。
2 基于最小二乘法的系统辨识的理论基础及应用2.1 系统辨识的理论基础从字面上讲,系统辨识( System Identification) 就是识别一个系统、辨识一个系统[3]。
系统通常是由表征系统输入输出关系的数学模型描述的,这个模型有其特定的结构和参数。
因此,系统辨识包含系统结构辨识( System Structure Identification) 和参数估计( Parameter Estimation) .系统结构(或模型结构) 就是系统数学表达式的形式。
系统辨识最小二乘法
课 程 设 计 报 告学 院: 自动化学院 专业名称: 自动化 学生姓名: ** 指导教师: *** 时 间:2010年7月课程设计任务书一、设计内容SISO 系统的差分方程为:)()2()1()2()1()(2121k k u b k u b k z a k z a k z υ+-+-=-+-+参数取真值为:[]0.35 0.39 0.715 1.642=T θ,利用MATLAB 的M 语言辨识系统中的未知参数1a 、2a 、1b 、2b 。
二、主要技术要求用参数的真值及差分方程求出)(k z 作为测量值,)(k υ是均值为0,方差为0.1、0.5和0.01的不相关随机序列。
选取一种最小二乘算法利用MATLAB 的M 语言辨识参数。
三、进度要求2周(6月28日-7月11日)完成设计任务,撰写设计报告3000字以上,应包含设计过程、 计算结果、 图表等内容。
具体进度安排:◆ 6月28日,选好题目,查阅系统辨识相关最小二乘法原理的资料。
◆ 6月29日,掌握最小二乘原理,用MATLAB 编程实现最小二乘一次完成算法。
◆ 6月30日,掌握以最小二乘算法为基础的广义最小二乘递推算法。
◆ 7月1日,用MATLAB 编程实现广义最小二乘递推算法。
◆ 7月2日,针对题目要求进行参数辨识,并记录观察相关数据。
◆ 7月3日-7月5日,对参数辨识结果进行分析,找出存在的问题,提出改进方案,验证改进优化结果。
◆ 7月6日-7月7日,撰写课程设计报告。
◆ 7月8日,对课程设计报告进行校对。
◆ 7月9日,打印出报告上交。
学 生王景 指导教师 邢小军1. 设计内容设SISO 系统的差分方程为:)()2()1()2()1()(2121k k u b k u b k z a k z a k z υ+-+-=-+-+ 式(1-1)参数取真值为:[]0.35 0.39 0.715 1.642=Tθ,利用MATLAB 的M 语言辨识系统中的未知参数1a 、2a 、1b 、2b 。
系统辨识大作业
系统辨识大作业专业班级:自动化09-3学号:09051325姓名:吴恩作业一:设某物理量Y与X满足关系式2=++,实验获得一批数据Y aX bX c如下表,试辨识模型参数,,a b c。
(15分)解答:问题描述:由题意知,这是一个已知模型为Y=aX2+bX+c,给出了10组实验输入输出数据,要求对模型参数a,b,c进行辨识。
问题求解:这里对该模型参数辨识采用最小二乘法的一次算法(LS)求解。
2=++可以写成矩阵形式Y=AE+e;其中A=[X^2,X,1]构成, Y aX bX c利用matlab不难求解出结果。
运行结果:利用所求的的参数,求出给定的X对应的YE值,列表如下做出上表的图形如下12345678910xyy=ax 2+bx+c 参数求解结果分析:根据运行结果可以看出,拟合的曲线与真是观测的数据有误差,有出入,但是误差较小,可以接受。
出现误差的原因,一方面是由于给出的数据只有十个点,数据量太少,难以真正的充分的计算出其参数,另外,该问题求解采用的是LS 一次算法,因此计算方法本身也会造成相应的误差。
作业二:模仿实验二,搭建对象,由相关分析法,获得脉冲相应序列()g k,由()G z;和传递函数g k,参照讲义,获得系统的脉冲传递函数()G s及应用相关最小二乘法,拟合对象的差分方程模型;加阶跃()扰动,用最小二乘法和带遗忘因子的最小二乘法,辨识二阶差分方程的参数,比较两种方法的辨识差异;采用不少于两种定阶方法,确定对象的阶次。
对象模型如图:利用相关分析法,得到对象的脉冲相应序列。
如下图:(1).由脉冲相应序列,求解系统的脉冲传递函数G(z)Transfer function:0.006072 z^2 + 0.288 z + 0.1671-------------------------------z^2 + 0.1018 z - 0.7509Sampling time: 2(2).由脉冲相应序列求解系统的传递函数G(s)Transfer function:(0.04849+2.494e-018i)-----------------------s^2 + 0.1315 s + 0.6048(3).利用相关最小二乘法拟合系统的差分方程模型如下:(4).在t=100,加入一个0.5的阶跃扰动,,利用RLS求解差分方程模型:RLS加入遗忘因子之后与未加之前的曲线情况如下:未加遗忘因子之前参数以及残差的计算过程加入0.99的遗忘因子得到的参数辨识过程与残差的变化过程根据上面两种方法所得到的误差曲线和参数过渡过程曲线,我们可以看出来利用最小二乘法得到的参数最终趋于稳定,为利用带遗忘因子的最小二乘算法,曲线参数最终还是有小幅度震荡。
系统辨识大作业.
一、 问题描述考虑仿真对象:()0.9(1)0.15(2)0.02(3)0.7(1)0.15(2)()z k z k z k z k u k u k e k +-+-+-=---+ e() 1.0e(1)0.41e(2)(),~(0,1)k k k v k v N λ+-+-=式中,u(k)和z(k)是输入输出数据,v(k)是零均值、方差为1的不相关的随机噪声;u(k)采用与e(k)不相关的随机序列。
1. 设计实验,产生输入输出数据;2. 使用基本最小二乘法估计参数;3. 考虑其他适用于有色噪声的辨识方法估计参数;4. 模型验证。
二、 问题分析对于单输入单输出系统(Single Input Single Output, SISO ),如图 1所示,将待辨识的系统看作“灰箱”,它只考虑系统的输入输出特性,而不强调系统的内部机理。
图 1中,输入u(k)和输出z(k)是可以测量的,1()G z -是系统模型,用来描述系统的输入输出特性,y(k)是系统的实际输出。
1()N z -是噪声模型,v(k)是均值为零的不相关随机噪声,e(k)是有色噪声。
图 1 SISO 系统的“灰箱”结构对于SISO 随机系统,被辨识模型()G z 为:12121212()()()1n n nn b z b z b z y z G z u z a z a z a z ------+++==++++ 其相应的差分方程为11()()()n ni i i i y k a y k i b u k i ===--+-∑∑若考虑被辨识系统或观测信息中含有噪声,被辨识模型可改写为11()()()()n ni i i i z k a y k i b u k i v k ===--+-+∑∑式中,z(k)为系统输出量的第k 次观测值;y(k)为系统输出量的第k 次真值,y(k-1)为系统输出量的第k-1次真值,以此类推;u(k)为系统的第k 个输入值,u(k-1)为系统的第k-1个输入值;v(k)为均值为0的不相关随机噪声。
(完整word版)2003版系统辨识最小二乘法大作业
西北工业大学系统辩识大作业题目:最小二乘法系统辨识一、 问题重述:用递推最小二乘法、加权最小二乘法、遗忘因子法、增广最小二乘法、广义最小二乘法、辅助变量法辨识如下模型的参数离散化有z^4 - 3.935 z^3 + 5.806 z^2 - 3.807 z + 0.9362---------------------------------------------- =z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187噪声的成形滤波器离散化有4.004e-010 z^3 + 4.232e-009 z^2 + 4.066e-009 z + 3.551e-010-----------------------------------------------------------------------------=z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187采样时间0.01s要求:1.用Matlab 写出程序代码;2.画出实际模型和辨识得到模型的误差曲线;3.画出递推算法迭代时各辨识参数的变化曲线;最小二乘法:在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态 ,静态 , 线性 ,非线性系统。
在使用最小二乘法进行参数估计时 ,为了实现实时控制 ,必须优化成参数递推算法 ,即最小二乘递推算法。
这种辨识方法主要用于在线辨识。
MATLAB 是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。
对于一个简单的系统 ,可以通过分析其过程的运动规律 ,应用一些已知的定理和原理,建立数学模型 ,即所谓的“白箱建模 ”。
但对于比较复杂的生产过程 ,该建模方法有很大的局限性。
由于过程的输入输出信号一般总是可以测量的 ,而且过程的动态特性必然表现在这些输入输出数据中 ,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。
系统辨识matlab最小二乘法
一、 实验题目:最小二乘法在系统辨识中的应用二、 实验目的1.掌握系统辨识的理论、方法及应用2.熟练Matlab 下最小二乘法编程3.掌握M 序列产生方法三、 实验设备1、硬件设备:计算机配置,P4、32位CPU 、512M 内存 2、 软件设备: windows xp 操作系统 、matlab6.5软件包四、 实验原理最小二乘理论是有高斯(K.F.Gauss )在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。
”。
单输入单输出离散时间动态系统差分方程为:)()()()k (1i 1i k e i k u i k Z Z bni na i b a +-=-+∑∑==其中Z (k )为输出变量,u(k)为输入变量,e(k)为偏差。
上式可以表示为)()()(-)k (1i 1i k e i k u i k Z Z bni na i b a +--=∑∑==各参数用矩阵表示 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--------------=)()1()()1()2()1()2()1()1()0()1()0(a a b a b a n l u l u n l z l z n u u n z z n u u n z z H (1) T l z z z Z )](),2(),1([,⋯= (2)其中l 为所需要采集的点数。
[]Tn e E )(........).........0(e = (3) []T bn anb a ........1.........1=θ (4)Z=H*θ+E ,E=Z-H*θ,根据最小二乘理论E 必须最小对上式进行求导,推出 Z H H H T T 1)(-=θ根据表达式Z H H H T T 1)(-=θ带入(1)(2)(4)即可求出a1....an b1.......bn 。
五、实验代码以及实验结果m=20; %置M序列总长度y1=1;y2=1;y3=1;y4=0;for i=1:mx1=xor(y3,y4);%异或运算x2=y1;x3=y2;x4=y3;if y4==0;u(i)=1;elseu(i)=-1;endy1=x1;y2=x2;y3=x3;y4=x4;endz=zeros(21,1);%定义输出观测值的长度21行*1列的0矩阵ZL=zeros(19,1);%定义输出观测值的长度19行*1列的0矩阵for k=3:21z(k)=-1.5*z(k-1)-z(k-2)+u(k-1)+3*u(k-2) ;%用理想输出值作为观测值ZL(k-2)=z(k);end%subplot(3,1,1) %画三行一列图形窗口中的第一个图形%stem(u) %画出输入信号u的图形%subplot(3,1,2) %画三行一列图形窗口中的第二个图形%i=1:1:16; %横坐标范围是1到16,步长为1%plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线%subplot(3,1,3) %画三行一列图形窗口中的第三个图形%stem(z),grid %画出输出观测值z的图形,并显示坐标网格for m=2:20HL=[-z(m) -z(m-1) u(m) u(m-1)];for n=1:4;H((m-1),n)=HL(n);endendc1=H'*H;c2=inv(c1);c3=H'*ZL;c=c2*c3a1=c(1), a2=c(2), b1=c(3), b2=c(4)实验结果:c =1.50001.00001.00003.0000a1 =1.5000a2 =1.0000b1 =1b2 =3.0000六、实验结果分析通过实验结果可知所得的实验结果与待辨识的系统传递函数的系数很接近了。
应用最小二乘一次完成法和递推最小二乘法算法的系统辨识.
目录1引言 (2)1.1概述 (2)1.2辨识的基本步骤 (2)2系统辨识输入信号的产生方法和理论依据 (3)2.1白噪声序列 (3)2.1.1白噪声序列的产生方法 (3)2.2 M序列的产生 (4)2.2..1 伪随机噪声 (4)2.2.2 M序列的产生方法 (4)3应用经典辨识方法的辨识方案。
(6)3.1经典辨识方法概述 (6)3.2经典辨识方法的实现 (6)4最小二乘法的理论基础 (7)4.1最小二乘法 (7)4.1.1最小二乘法估计中的输入信号 (9)4.1.2最小二乘估计的概率性质 (9)4.2递推最小二乘法 (10)5两种算法的实现方案 (11)5.1最小二乘法一次完成算法实现 (11)5.1.1最小二乘一次完成算法程序框图 (11)5.1.2一次完成法程序 (11)5.1.3一次完成算法程序运行结果 (11)5.1.4辨识数据比较 (12)5.1.5程序运行曲线 (12)5.2递推最小二乘法的实现 (12)5.2.1递推算法实现步骤 (12)5.2.2程序编制思路: (13)5.2.3递推最小二乘法程序框图 (14)5.2.4程序运行曲线 (15)5.2.5测试结果 (16)5.2.6递推数据表 (16)6结论 (16)7参考文献 (17)8附录 (17)应用最小二乘一次完成法和递推最小二乘法算法的系统辨识摘要:本题针对一个单输入单输出系统的便是问题,辨识的输入信号采用的是伪随机二位式序列(M序列),系统噪声为独立同分布高斯随机向量序列(白噪声),辨识的算法是递推最小二乘法和广义最小二乘法,本文简单描述应用经典辨识方法的辨识方案,详细描述了输入信号、噪声的产生方法及matlab程序,阐述了用两种不同算法的辨识原理并对它们的推导过程及辨识程序编制思路做了详细的描述。
最后结合真值与估计值对不同辨识算法的优劣进行了比较。
关键词:系统辨识M序列最小二乘法1引言1.1概述系统辨识是现代控制理论中的一个分支,它是根据系统的输入输出时间函数来确定描述系统行为的数学模型。
系统辨识作业及答案
系统辨识作业及答案一.问答题1. 介绍系统辨识的步骤。
答:(1)先验知识和建模目的的依据;(2)实验设计;(3)结构辨识;(4)参数估计;(5)模型适用性检验。
2. 考虑单输入单输出随机系统,状态空间模型[])()(11)()(11)(0201)1(k v k x k y k u k x k x +=+=+ 转换成ARMA 模型。
答:ARMA 模型的特点是u(k)=0,[])()(11)()(0201)1(k v k x k y k x k x +=??=+3. 设有一个五级移位寄存器,反馈取自第2级和第3级输出的模2加法和。
试说明:(1)其输出序列是什么?(2)是否是M 序列?(3)它与反馈取自第4级与第3级输出模2加法和所得的序列有何不同?(4)其逆M 序列是什么?答:(1)设设输入序列1 1 1 1 1111018110107101006010015100114001113011112111111)()()()()()()()(()()()()()()()01110161110115110101410100)13(0100112100111 10011110011109()()()()()()()001112401110)23(111012********* 010020010011910011180011117()()()()()()()()10011320011131011103000111291101028101002701001261001125 其输出序列为:1 1 1 1 1 0 0 1 0 1⑵不是M 序列⑶第4级与第3级模2相加结果100108001007010006100015000114001113011112111111)()()()()()()()(()()()()()()()11110161110115110101410101)13(0101112101101 10110010110019()()()()()()()110012410010)23(001002201000211 000120000111900111180111117()()()()()()()()01111321111031111013011010291010128010112710110260110025 不同点:第2级和第3级模二相加产生的序列,是从第4时刻开始,每隔7个时刻重复一次;第4级与第3级模2相加产生的,序列,是从第2时刻开始每隔15个时刻重复一次。
系统辨识最小二乘法大作业
系统辨识大作业最小二乘法及其相关估值方法应用学号:2012302259姓名:王家琦基于最小二乘法的多种系统辨识方法研究1.最小二乘法的引出在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。
设单输入-单输出线性定长系统的差分方程为x(k)+a1x(k−1)+⋯+a n(k−n)=b0u(k)+⋯+b n u(k−n),k=1,2,3,⋯(5.1.1)式中: u(k)为随机干扰;x(k)为理论上的输出值。
x(k)只有通过观测才能得到,在观测过程中往往附加有随机干扰。
x(k)的观测值y(k)可表示为y(k)=x(k)+n(k)(5.1.2)式中: n(k)为随机干扰。
由式(5.1.2)得x(k)=y(k)−n(k)(5.1.3)将式(5.1.3)带入式(5.1.1)得y(k)+a1y(k−1)+⋯+a n y(k−n)n=b0u(k)+b1u(k−1)+⋯+b n u(k−n)+n(k)+∑a i(k−i)i=1(5.1.4)我们可能不知道n(k)的统计特性,在这种情况下,往往把n(k)看做均值为0的白噪声。
设nξ(k)=n(k)+∑a i(k−i)i=1(5.1.5)则式(5.1.4)可写成y(k)=−a1y(k−1)−a2y(k−2)−⋯−a n y(k−n)+b0u(k)+b1u(k−1)+⋯+b n u(k−n)+ξ(k)(5.1.6)在观测u(k)时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。
因此假定ξ(k)不仅包含了x(k)的测量误差,而且包含了u(k)的测量误差和系统内部噪声。
假定ξ(k)是不相关随机序列(实际上ξ(k)是相关随机序列)。
现分别测出n+N个随机输入值y(1),y(2),⋯,y(n+N),u(1),u(2),⋯,u(n+ N),则可写成N个方程,即y(n+1)=−a1y(n)−a2y(n−1)−⋯−a n y(1)+b0u(n+1)+b1u(n)+⋯+b n u(1) +ξ(n+1)y(n+2)=−a1y(n+1)−a2y(n)−⋯−a n y(2)+b0u(n+2)+b1u(n+1)+⋯+b n u(2) +ξ(n+2)⋮y(n+N)=−a1y(n+N−1)−a2y(n+N−2)−⋯−a n y(N)+b0u(n+N)+b1u(n+N−1)+⋯+b n u(N)+ξ(n+N)上述N个方程可写成向量-矩阵形式[y(n+1) y(n+2)⋮y(n+N)]=[−y(n)−y(n+1)⋯⋯−y(1)u(n+1)⋯u(1)−y(2)u(n+2)⋯u(2)⋮⋮ ⋮ ⋮⋮−y(n+N−1)⋯−y(N)u(n+N)⋯u(N)]×[a1⋮a nb0⋮b n]+[ξ(n+1)ξ(n+2)⋮ξ(n+3)](5.1.7)设y=[y(n+1) y(n+2)⋮y(n+N)],θ=[a1⋮a nb0⋮b n],ξ=[ξ(n+1)ξ(n+2)⋮ξ(n+N)]Φ=[−y(n)−y(n+1)⋯⋯−y(1)u(n+1)⋯u(1)−y(2)u(n+2)⋯u(2)⋮⋮ ⋮ ⋮⋮−y(n+N−1)⋯−y(N)u(n+N)⋯u(N)]则式(5.1.7)可写为y=Φθ+ξ(5.1.8)式中:y为N维输出向量;ξ为N维噪声向量;θ为(2n+1)维参数向量;Φ为N×(2n+1)测量矩阵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统辨识大作业最小二乘法及其相关估值方法应用学号:**********姓名:***基于最小二乘法的多种系统辨识方法研究1.最小二乘法的引出在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。
设单输入-单输出线性定长系统的差分方程为x(k)+a1x(k−1)+⋯+a n(k−n)=b0u(k)+⋯+b n u(k−n),k=1,2,3,⋯(5.1.1)式中: u(k)为随机干扰;x(k)为理论上的输出值。
x(k)只有通过观测才能得到,在观测过程中往往附加有随机干扰。
x(k)的观测值y(k)可表示为y(k)=x(k)+n(k)(5.1.2)式中: n(k)为随机干扰。
由式(5.1.2)得x(k)=y(k)−n(k)(5.1.3)将式(5.1.3)带入式(5.1.1)得y(k)+a1y(k−1)+⋯+a n y(k−n)n=b0u(k)+b1u(k−1)+⋯+b n u(k−n)+n(k)+∑a i(k−i)i=1(5.1.4)我们可能不知道n(k)的统计特性,在这种情况下,往往把n(k)看做均值为0的白噪声。
设nξ(k)=n(k)+∑a i(k−i)i=1(5.1.5)则式(5.1.4)可写成y(k)=−a1y(k−1)−a2y(k−2)−⋯−a n y(k−n)+b0u(k)+b1u(k−1)+⋯+b n u(k−n)+ξ(k)(5.1.6)在观测u(k)时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。
因此假定ξ(k)不仅包含了x(k)的测量误差,而且包含了u(k)的测量误差和系统内部噪声。
假定ξ(k)是不相关随机序列(实际上ξ(k)是相关随机序列)。
现分别测出n+N个随机输入值y(1),y(2),⋯,y(n+N),u(1),u(2),⋯,u(n+ N),则可写成N个方程,即y(n+1)=−a1y(n)−a2y(n−1)−⋯−a n y(1)+b0u(n+1)+b1u(n)+⋯+b n u(1) +ξ(n+1)y(n+2)=−a1y(n+1)−a2y(n)−⋯−a n y(2)+b0u(n+2)+b1u(n+1)+⋯+b n u(2) +ξ(n+2)⋮y(n+N)=−a1y(n+N−1)−a2y(n+N−2)−⋯−a n y(N)+b0u(n+N)+b1u(n+N−1)+⋯+b n u(N)+ξ(n+N)上述N个方程可写成向量-矩阵形式[y(n+1) y(n+2)⋮y(n+N)]=[−y(n)−y(n+1)⋯⋯−y(1)u(n+1)⋯u(1)−y(2)u(n+2)⋯u(2)⋮⋮ ⋮ ⋮⋮−y(n+N−1)⋯−y(N)u(n+N)⋯u(N)]×[a1⋮a nb0⋮b n]+[ξ(n+1)ξ(n+2)⋮ξ(n+3)](5.1.7)设y=[y(n+1) y(n+2)⋮y(n+N)],θ=[a1⋮a nb0⋮b n],ξ=[ξ(n+1)ξ(n+2)⋮ξ(n+N)]Φ=[−y(n)−y(n+1)⋯⋯−y(1)u(n+1)⋯u(1)−y(2)u(n+2)⋯u(2)⋮⋮ ⋮ ⋮⋮−y(n+N−1)⋯−y(N)u(n+N)⋯u(N)]则式(5.1.7)可写为y=Φθ+ξ(5.1.8)式中:y为N维输出向量;ξ为N维噪声向量;θ为(2n+1)维参数向量;Φ为N×(2n+1)测量矩阵。
因此式(5.1.8)是一个含有(2n+1)个未知参数,由N个方程组成的联立方程组。
如果N<2n+1,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。
如果N=2n+1,方程组正好与未知数数目相等,当噪声ξ=0时,就能准确地解出θ=Φ−1y(5.1.9)如果噪声ξ≠0,则θ=Φ−1y−Φ−1ξ(5.1.10)从上式可以看出噪声ξ对参数估计是有影响的,为了尽量较小噪声ξ对θ估值的影响。
在给定输出向量y和测量矩阵Φ的条件下求系统参数θ的估值,这就是系统辨识问题。
可用最小二乘法来求θ的估值,以下讨论最小二乘法估计。
2.最小二乘法估计算法设θ̂表示 θ的最优估值,ŷ表示 y的最优估值,则有ŷ=Φθ̂(5.1.11)ŷ=[ŷ(n+1) ŷ(n+2)⋮ŷ(n+N)],θ̂=[a1̂⋮a n̂b0̂⋮b n̂]写出式(5.1.11)的某一行,则有ŷ(k)=−a1̂y(k−1)−a2̂y(k−2)−⋯−a n̂y(k−n)+b0̂u(k)+b1̂u(k−1)+⋯+b n̂u(k−n)+ξ(k)=−∑a îy(k−i)ni=1+∑b îu(k−i)ni=0,k=n+1,n+2,⋯,n+N(5.1.12) 设e(k)表示y(k)与ŷ(k)之差,即e(k)= y(k)-ŷ(k)=y(k)−ŷ(k)=y(k)—∑a îy(k−i)ni=1+∑b îu(k−i)ni=0=(1+a1̂z−1+⋯+a n̂z−n)y(k)−(b0̂+b1̂z−1+⋯+b n̂z−n)u(k)=â(z−1)y(k)−b̂(z−1)u(k),k=n+1,n+2,⋯,n+N(5.1.13)式中â(z−1)=1+a1̂z−1+⋯+a n̂z−nb̂(z−1)=b0̂+b1̂z−1+⋯+b n̂z−ne(k)成为残差。
把k=n+1,n+2,⋯,n+N分别代入式(5.1.13)可得残差e(n+1),e(n+2),⋯,e(n+N)。
设e=[e(n+1)e(n+2)⋯e(n+N)]T则有e(k)= y−ŷ=y−Φθ̂(5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数J=e T e=(y−Φθ̂)T(y−Φθ̂)(5.1.15) 为最小来确定估值θ̂。
求J对θ̂的偏导数并令其等于0可得∂J∂θ̂=−2ΦT(y−Φθ̂)=0(5.1.16)ΦTΦθ̂=ΦT y(5.1.17) 由式(5.1.17)可得θ的最小二乘估计θ̂=(ΦTΦ)−1ΦT y(5.1.18) 3.递推最小二乘法为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。
设已获得的观测数据长度为N,将式(5.1.8)中的y和ξ分别用Y N,ΦN,ξ̅N来代替,即Y N=ΦNθ+ξ̅N(5.3.1) 用θ̂N表示 θ的最小二乘估计,则θ̂N=(ΦN TΦN)−1ΦN T Y N(5.3.2)设P N =(ΦN TΦN )−1(5.3.5)于是 θ̂N =P N ΦN T Y N (5.3.6) 如果再获得1组新的观测值u (n +N +1)和y(n +N +1),则又增加1个方程y N+1=ψN+1T θ+ξN+1(5.3.7)式中y N+1=y (n +N +1),ξN+1=ξ(n +N +1)ψN+1T =[−y (n +N ) ⋯ −y (N +1) u (n +N +1) ⋯ u(N +1)]将式(5.3.1)和式(5.3.7)合并,并写成分块矩阵形式,可得[Y N y N+1]=[ΦN ψN+1T ] θ+[ξ̅N ξN+1](5.3.8)根据上式可得到新的参数估值θ̂N+1={[ΦN ψN+1T ]T [ΦNψN+1T ]}−1[ΦN ψN+1T ]T [Y N y N+1]=P N+1[ΦN ψN+1T ]T [Y N y N+1]=P N+1(ΦN T Y N +ψN+1y N+1)(5.3.9)式中P N+1={[ΦN ψN+1T ]T [ΦNψN+1T ]}−1=(ΦN TΦN +ψN+1ψN+1T)−1根据矩阵求逆引理可以求得递推最小二乘法辨识公式θ̂N+1=θ̂N +K N+1(y N+1−ψN+1T θ̂N )(5.3.19) K N+1=P N+1ψN+1(1+ψN+1T P N ψN+1)−1(5.3.20)P N+1=P N −P N ψN+1(1+ψN+1T P N ψN+1)−1ψN+1T P N(5.3.21)由于进行递推计算需要给出θ̂N 和P N 初值P 0和θ̂0,通过计算证明,可以取初值:θ̂0=0,P 0=c 2I ,c 是充分大的常数,I 为(2n +1)(2n +1)单位矩阵,则经过若干次递推之后能够得到较好的参数估计。
3. 辅助变量法辅助变量法是一种可克服最小二乘有偏估计的一种方法,对于原辨识方程y =Φθ+ξ(5.4.1) 当ξ(k)是不相关随机序列时,最小二乘法可以得到参数向量θ的一致无偏估计。
但是,在实际应用中ξ(k)往往是相关随机序列。
假定存在着一个(2n +1)×N 的矩阵Z 满足约束条件{limN→∞1NZ Tξ=0limN→∞1NZ TΦ=Q(5.4.2)式中Q是非奇异的。
用Z T乘以式(5.4.1)等号两边得Z T y=Z TΦθ+Z T ξ(5.4.3) 由上式得θ=(Z TΦ)−1Z T y−(Z TΦ)−1Z Tξ(5.4.4) 如果取θ̂IV=(Z TΦ)−1Z T y(5.4.5) 作为θ估值,则称θ̂IV为辅助变量估值,矩阵Z成为辅助变量矩阵,Z中的元素称为辅助变量。
常用的辅助变量法有递推辅助变量参数估计法,自适应滤波法,纯滞后等。
4.广义最小二乘法广义最小二乘法是能克服最小二乘法有偏估计的另一种方法,这种方法计算比较复杂但效果比较好。
下面直接介绍广义最小二乘法的计算步骤:(1)应用得到的输入和输出数据u(k)和y(k)(k=1,2,3,⋯,n+N),按模型a(z−1)y(k)=b(z−1)u(k)+ξ(k)求出θ 的最小二乘估计θ̂(1)=[a1̂(1)⋮a n̂(1) b0̂(1)⋮b n̂(1)](2)计算残差e(1)(k)e(1)(k)=â(1)(z−1)y(k)−b̂(1)(z−1)u(k)(3)用残差e(1)(k)代替 ξ(k),计算f̂(1)=[(Ω(1))TΩ(1)]−1(Ω(1))T e(1)(4)计算y̅(1)(k)和u̅(1)(k)y̅(1)(k)=y(k)+f̂1(1)y(k−1)+⋯+f̂m(1)y(k−m)u̅(1)(k)=u(k)+f̂1(1)u(k−1)+⋯+f̂m(1)u(k−m)(5)应用得到的y̅(1)(k)和u̅(1)(k)按模型a(z−1)y̅(1)(k)=b(z−1)u̅(1)(k)+ε(k)用最小二乘法重新估计θ,得到θ的第2次估值θ̂(2)。
然后按步骤(2)计算残差e(2)(k),按步骤(3)重新估计f,得到估值f̂(2)。
再按照步骤(4)计算y̅(2)(k)和u̅(2)(k),按照步骤(5)求θ的第3次估值θ̂(3)。
重复上述循环,之道θ的估值θ̂(i)收敛为止。
5.一种交替的广义最小二乘法求解技术(夏式法)这种方法是夏天长提出来的,又称夏式法。
以上讨论过的广义最小二乘法的特点在于系统的输入和输出信号反复过滤。
一下介绍的夏式法是一种交替的广义最小二乘法求解技术,它不需要数据反复过滤,因而计算效率较高。