1 / 23
文档名称:

系统辨识论文.doc

格式:doc   大小:345KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

系统辨识论文.doc

上传人:yzhlyb 2019/8/18 文件大小:345 KB

下载得到文件列表

系统辨识论文.doc

相关文档

文档介绍

文档介绍:系统辨识论文系统辨识论文离散化离散化的实质就是求原连续传递函数D(s)的等效离散传递函数D(z)。1、已知传递函数2、已知状态方程模型。可先把它转化为传递函数,在此我们只讨论第一种情况。Matlab实现1、G=tf(状态方程模型),得到传递函数2、C2d用于将连续系统转换为离散系统3\、Gd=c2d(G,Ts,method)4、Method包括zoh,foh,Tustin,prewarp,、Ts为采样周期,越小越精确。functiontf2de(num,den,delay)%num为传递函数分子系数%den为传递函数分母系数%delay为延时系数,无延时环节为0%系统建立ifdelay==0sys=tf(num,den)elsesys=tf(num,den,'inputdelay',delay)end%系统离散化dsys=c2d(sys,1,'z');inputdelay=;[dnum,dden]=tfdata(dsys,'v');dnum1=zeros(1,inputdelay);dnum=[dnum1dnum];Gz=filt(dnum,dden,1)有延迟>>delay=2;>>tf2de(num,den,delay)Transferfunction:s+2exp(-2*s)*-----------------s^2++:^-3-^-4-----------------------------1-^-1+^-2Samplingtime:1无延迟>>num=[12];>>den=[];>>delay=0;>>tf2de(num,den,delay)Transferfunction:s+2-----------------s^2++:^-1-^-2-----------------------------1-^-1+^-2Samplingtime:1最小二乘法的应用(ARXmodel)ARX模型线性差分方程形如:所以最小二乘法ARX议程的解为:########################辨识########################functionlinearLeastSquare0(m)%m辨识使用的数据个数%假定采用的系统为y(k)-*y(k-1)+*y(k-2)=u(k-1)%并假定输入u(k)为[-11]的随机数%产生输入数据fork=1:mu(k)=sin(k);end%初始化输出y(1)=0;y(2)=0;%噪声幅值大小noiseRange=input('\n噪声幅值范围[-aa]\n请输入(输入-1退出)a=');%获得辨识原始数据fork=3:my(k)=*y(k-1)-*y(k-2)+u(k-1)+noiseRange*rand;endsubplot(2,1,1);%打印原始数据stem(u);title('输入');subplot(2,1,2);plot(y,'c');title('输出');holdon;%最小二乘法辨识fori=1:m-2HL(i,1)=-y(i+1);HL(i,2)=-y(i);HL(i,3)=u(i+1);ZL(i,1)=y(i+2);endcoff=inv(HL'*HL)*(HL'*ZL);%辨识后系统输出y1(1)=0;y1(2)=0;fork=3:my1(k)=-coff(1)*y1(k-1)-coff(2)*y1(k-2)+coff(3)*u(k-1);%+noiseRange*rand;endsubplot(2,1,2);plot(y1,'m-*');%误差计算e=zeros(1,m);e=y1-y;plot(e,'r-.');fprintf('\n辨识结果:');fprintf('\na1=%.3f',coff(1));fprintf('\na2=%.3f',coff(2));fprintf('\nb=%.3f',coff(3));N=10>>linearLeastSquare0(10)噪声幅值范围[-aa]请输入(输入-1退出)a=:a1=-===100N=200##########################仿真#######################m=100;%仿真数据个数inType=0;whileinType~=5holdoff;fprintf('\n\n请选择仿真输入:\n');fprintf('\t1