当前位置:文档之家› 系统辨识经典辨识方法

系统辨识经典辨识方法

经典辨识方法报告1. 面积法辨识原理分子多项式为1的系统 11)(111++++=--s a sa s a s G n n nn Λ……………………………………………()由于系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取微分方程的系数来辨识系统的传递函数。

在求得系统的放大倍数K 后,要先得到无因次阶跃响应y(t)(设τ=0)。

大多数自衡的工业过程对象的y(t)可以用下式描述来近似1)()()()(a 111=++++--t y dtt dy a dt t y d a dt t y d n n n nK ……………………………() 面积法原则上可以求出n 为任意阶的各系数。

以n=3为例,注意到1|)(,0|)(d |)(d |)(d 23====∞→∞→∞→∞→t t t t t y dtt y dt t y dt t y …………………………() 将式()的y(t)项移至右边,在[0,t]上积分,得⎰-=++t dt t y t y a dtt dy a dt t y d a 01223)](1[)()()(…………………………………() 定义⎰-=tdt t y t F 01)](1[)(……………………………………………………………()则由式()给出的条件可知,在t →∞⎰∞-=01)](1[a dt t y ……………………………………………………………()将式a 1y(t)移到等式右边,定义 )()]()([)()(a 201123t F dt t y a t F t y a dtt dy t =-=+⎰…………………………………()利用初始条件()当t →∞时)(a 22∞=F …………………………………………………………………… ()同理有a 3=F 3(∞)以此类推,若n ≥2,有a n =F n (∞)分子、分母分别为m 阶和n 阶多项式的系统当传递函数的形式如下所示时111111)()(11)(u h K m n s a s a s a s b s b s b K s G n n n n m m m m ∞=≥++++++++=----ΛΛ…………………………………定义∑∞=----+=++++++++==1111111111)()(1)(i ii m m m m n n nn s c s b s b s b s a s a s a s P s P Ks G ΛΛ………………………………由于⎰∞--=-0**)](1[)](1[dte t h t h L st …………………………………………则)](1[*t h -的Laplace 变换为: ∑∑∞=∞=-+=-=-111*1)(11)](1[i iii i i s C sC s sP s t h L ……………………………………定义一阶面积1A 为:11110011lim )](*1[lim )](*1[c sC sC t h L dt t h A i ii i i i s s =+=-=-=∑∑⎰∞=∞=-→∞→………令 )1(1)]([1*1s c s t h L +=……………………………………………………………定义二阶面积为:2122**0012)1)(1()]()([limc s c s c sc dtd h h A i i i i i i is t=++=-=∑∑⎰⎰∞=∞=-→∞τττ…同理,令 )...1(1)]([11221*1---++++=i i i s c s c s c s t h L ……………………………………定义i 阶面积为i i c A =。

由此可得:∑∞=----+++++=++++1111111)1)(1...(1...i i i m m mm n n nn s A s b s b s b s a sa s a …上式可写成如下形式:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+++-+-+-+-++--m n n n n m n m n m n n n m n n n n A A A A A A A A A A A A b b b M ΛΛΛΛΛΛΛM 21121211121………………………⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--n m n n n A A A b b b A A A A a a a M M ΛΛΛΛΛΛΛΛM 2121121121010010001………………………通过该系数矩阵,即可求出传递函数分子分母系数的值。

程序设计传递函数形式如式的系统取系统传递函数如下:MATLAB 程序如下:clc %清空工作区cleardt=; %设置采样时间t=0:dt:50; %设置时间长度num=1; %此系统分子为1 den=[3 2 1]; %分母多项式系数%绘制原传递函数阶跃响应曲线fprintf('原系统传递函数为:')G=tf(num,den)y=step(num,den,t);Length=length(y); %数据长度plot(t,y);grid;xlabel('t/s');ylabel('y(t)');%进行辨识设计fprintf('辨识参数结果:');%求a1sum1=0;for(i=1:Length)sum1=sum1+(1-y(i))*dt;F(i)=sum1;enda1=sum1%求a2sum2=0;for(i=1:Length)sum2=sum2+(F(i)-a1*y(i))*dt; f(i)=sum2;enda2=sum2%求a3sum3=0;for(i=1:Length)sum3=sum3+(f(i)-a2*y(i))*dt; enda3=sum3%绘制辨识后的传递函数dt=;t=0:dt:50;num2=1;den2=[a3 a2 a1 1];fprintf('系统辨识后的传递函数为:')G=tf(num2,den2)h=step(num2,den2,t); %辨识所得传递函数阶跃响应plot(t,y,'black',t,h,'blue');legend('原传递函数','辨识所得传递函数');title('原传递函数与辨识所得传递函数的阶跃响应对比') grid;xlabel('t/s');ylabel('y(t)和h(t)');fprintf('相关系数:'); %求相关系数r=corrcoef(y,h)运行以上程序得到结果如下:原系统传递函数为:G =1-------------------------3 s^3 + 2 s^2 + s + 1Continuous-time transfer function.辨识参数结果:a1 =a2 =a3 =系统辨识后的传递函数为:G =1-----------------------------------s^3 + s^2 + s + 1Continuous-time transfer function.相关系数:r =此时原传递函数和辨识所得传递函数的阶跃响应对比如下图:图原传递函数和辨识所得传递函数的阶跃响应对比由上图可以看出,辨识所得结果比较准确。

传递函数形式如式的系统(无噪声)取系统传递函数如下:MATLAB程序如下:clc %清空工作区cleardt=; %设置采样时间t=0:dt:20; %设置时间长度num=[1 3 1]; %分子多项式系数den=[2 3 1]; %分母多项式系数%绘制原传递函数阶跃响应曲线fprintf('原系统传递函数为:')G=tf(num,den)y=step(num,den,t);Length=length(y);plot(t,y);grid;xlabel('t/s');ylabel('y(t)');%辨识程序设计,此系统m+n=5,故应计算A1-A5fprintf('A1-A5阶面积分别为:')%求A1sum1=0;for(i=1:Length-1)sum1=sum1+(1-(y(i)+y(i+1))/2)*dt;A(i)=sum1;endA1=sum1%求A2sum2=0;for(i=1:Length-1)sum2=sum2+(A(i)-A1*(y(i)+y(i+1))/2)*dt;B(i)=sum2;endA2=sum2%求A3sum3=0;for(i=1:Length-1)sum3=sum3+(B(i)-A2*(y(i)+y(i+1))/2)*dt;C(i)=sum3;endA3=sum3%求A4sum4=0;for(i=1:Length-1)sum4=sum4+(C(i)-A3*(y(i)+y(i+1))/2)*dt;D(i)=sum4;endA4=sum4%求A5sum5=0;for(i=1:Length-1)sum5=sum5+(D(i)-A4*(y(i)+y(i+1))/2)*dt; endA5=sum5%求分子系数b1,b2M=(-1)*(inv([A3,A2;A4,A3]))*[A4;A5];fprintf('分子多项式系数为:')b1=M(1,1)b2=M(2,1)%求分母系数a1,a2,a3N=[1 0 0;A1 1 0;A2 A1 1]*[b1;b2;0]+[A1;A2;A3]; fprintf('分母多项式系数为:')a1=N(1,1)a2=N(2,1)a3=N(3,1)%求辨识所得传递函数num1=[b2 b1 1];den1=[a3 a2 a1 1];fprintf('辨识所得传递函数为:')G=tf(num1,den1)h=step(num1,den1,t);plot(t,y,'black',t,h,'blue');legend('原传递函数','辨识所得传递函数');title('原传递函数与辨识所得传递函数的阶跃响应对比') grid;xlabel('t/s');ylabel('y(t)');fprintf('相关系数:'); %求相关系数r=corrcoef(y,h)运行以上程序结果如下:原系统传递函数为:G =s^2 + 3 s + 1-------------------------2 s^3 + s^2 + 3 s + 1Continuous-time transfer function.A1-A5阶面积分别为:A1 =A2 =A3 =A4 =A5 =分子多项式系数为:b1 =b2 =分母多项式系数为:a1 =a2 =a3 =辨识所得传递函数为:G =s^2 + s + 1-----------------------------------s^3 + s^2 + s + 1Continuous-time transfer function.相关系数:r =此时原传递函数和辨识所得传递函数的阶跃响应对比如下图:图原传递函数和辨识所得传递函数的阶跃响应对比由上图可以看出,在未加入噪声之前,采用面积法辨识结果很精确,并且,分子可以为阶次低于分母的任意阶次。

相关主题