传递函数频域辨识及M序列生成指南.docx
传递函数频域辨识及M序列生成指南12自动化摘要:系蜴群识.状态估计和限制理论是现代限制论中相互渗透的三个领域限制理论的应用离不开系统辨识技术,实际中,很多限制系统的模型在工作中是变更的,为了实现自适应限制,须要系统辨识技术不断更新模里参数。通过学习运用MAT1.AB软件,初步体验系统辨识方法。关键字:系统辨识,限制理论,MAT1.ABoAbstract:Systemidentification.StateestimationandThePrincip1.eofAutomaticContro1.arethreedifferentdiscip1.inesofthencxierncontro1.theory,whichareinte>eneiratedwithoneanother.Inpractice,thencx1.e1.ofsystemischanginga1.1.thetine.Toconiro1.adaptive1.y,thesystemmode1.shou1.dbeUpda1.eitsparameters,bytheneth<xiofSystemidentification.By1.earningtheusingofMAT1.AB,weareSUpPoSedtopracticetemethodosystemidentification.KeyWords:Systemide11it1.ca1.iorSystemidentif1.catioMAT1.AB书目一、引言31.1 介绍31.2 试验目的3二、试验内容和方法32.1 试验内容3试验一:3试验二:32.2 试验步骤4试验一:4非周期激励信号6试验二:M序列712三、试验分析分析12引言1.1 介绍在自然科学和社会科学的很多领域中,人们越来越由视对系统进行定录的系统分析、系统综合、伪出、限制和预料。将帙控对象模型化,是开展工作的前提和场础。班于传递函数的经典限制理论分析前须要确定模型的各个参数,忽视工作中的变更,«5刖于精度要求不高的状况下.而实际中很多限制系统内部参数是未知的,而且工作中行可能会变更,这就须要系统辨识来确定模型参数.通常为机理分析法和测试法相结合来辨识,对于系统机理已知的部分来纳机理分析法,机理未知的部分采纳测试法。1.2 试验目的本次试蛤通过运用MAT1.AB仿真系统辨识的过程,采纳领域特性拟合的1.eVy方法,按要求完成传递函数的辨识。描述试脸脸证的数据打舞、基本过程和试脸结果.结合课堂学习的M序列的特性和生成方法,运用ma1.ab诺吉产生一个M序列并分析器臼相关特性.二、试验内容和方法2.1试验内容试验一:1 .自已设定个校定系统.采纳月期测试伯号.测定系统的知率响吨.2 .对JM1.中的系统.果纳等周期制试格号确定系统的嫉率响应,井与JSI的结果对比.3 .魅于卷1成SB2产生的频率响应数据,采纳谀也讲授的领域特性拟合方法,辨M传递潜的舂效,将辨识结果与Matiab工具陈中的等价的功徙由数invfrgs产生的结果做对比.试验二:依据地大桧度现行反镣存存器M序列生成机制.编写M序列生成的生成程序.1 .自己设定称位寄存潜的爆效和初侑.产生响应的M序列.2 .燃制期1产生的M序列的自相关福数和功率的密度图幅.2.2试验步骤试验一:周期性信号:闷期性伯号最典型的就是正弦周期函数,在不同痂率下会产生不同的冏期,进而有不同的频率响应。将不同频率的正弦波组合起来作为输入信9.U=ASin(W+)Y=Azsin(wt+0)所以:Am=AYAPhi=P-(P设计系统由较:num=43|;(kn=(456);sys=f(wm.den);TransferIunc1.ion:4s+3.一4sa2+5s+6依据这个原理,设计离散的正弦周期信号.k一个用期内取100o个采样点.采样是个周期.单位采样间隔二0.001T2、由于T=2»Pijw.所以每一次痂率变更掷黑变更冏期.诳而有不同的漱励和响应图像.3、在十个周期内,对第五和第六个采样周期迸行分析,得到周期内的最大值和以大值的坐标。4、对比激励和响应的最大(ft的峰值比和相位差.进而得到不同颇率的一系列频谱响应.Mat1.ab代码如下:w=1.ogspace(-1,2,1000);T=2piw;dt=0.1.*T;tmax=round(10*T);fori=1.:1.:1.(XX)t=(O:dtG):tmaxG)*;u1.=sin(w(i)*t);u=1.sim(sys,u1.,t);X)C)个点中蜂优点,的坐标Am(i)n=max(u(51000:61000);PhiG)=(n-T(i)4dt)0.1.2pi;endF,=Am*cos(-Phi);Q=Amsin(-Phi);H=P+Ign1.d1.=freq21evy(Hfw,2,1.);n2d2=freq21evy(h,w,2,D;bode(tf(n2,d2),'r,)1.ho1.don1.bode(tf(n1.,d1.)g');结果如下:01020-30405060(DeP)Osf10°o'10?Frequency(rod's)绿色为辨识出来的系统的波特图,红色为用系统函数用ina1.1.ab自带frvqs函数而出来的图解可以看出这里二者的图像已般较为接近,假如接卷增大W的密集程度,图像将更为接近.但计算结果较慢,非周期激励信号周期澈励信号有很多种选择.如单位阶跃信号和脉冲信号,以及高斯信号和指数函数倍号.在选择中我纠结了很长时间,起先选择用阶践信号来做.结果不是很志向.后来想起了指数函数信号,确定拿来试一试。非周期激励信号顾名思义就是不使用周期信号的周期性方法来解决这个问卷.像正龙信号这种周期和顺率亲密相关的信号可以干脆由激励响应御到关于不同频率的输出,而非周期信号如指数函数则不能这么做.要进行傅里叶变换将其变换到痂域上去.MaUab在矩阵运算方面有希得天独厚的优势,所以这里的僧里叶变换我采纳了矩阵的计律方法.代码特别简洁筒洁理解.y=y2,*e×p(-1.j*q*w*dt);u=u2*exp(-1.j*q*w*dt);num=32;den=234;sys=tf(num,den);dt=0.01.;t=0:0.001:30;u2=exp(-t);y2=ISim(SyS,u2,t);w=0:0.01:2*2*pi;n=1.ength(w);q=1.:30001;y=y2,*e×p(-1.j*q'*w*dt);u=u2*exp(-1.j*q*w*dt);1.=y.u;nd三freq21evy(1.,w,2,1);bode(tf(n,d)r')ho1.donbode(tf(n2,d2)g')BcdeDiagram试验二:M序列m序列内发生潜是一种反馈移位型结构的电路,它由n位移位寄存器加界或反馈网络组成其序列长度21.nM,只有一个多余状态即全O状态,所以称为最大线性序列码发生器.由于其结构己定型,且反馈函数和连接形式都有肯定的规律,因此利用杳表的方式就设计出m序列码。列出部分m序列码的反华函数F和移存甥位数n的时应关系。假如给定一个序列信号长度M.列依据1211M求出n.I1.1.n有表2-1便可以得到相应的反馈函数F.11A/=2*-1.反馈函数F37415e1.e4.e3C4531QieQf.QiQi663QRQe7127Q1.Q.QieQS255Q1.Qt.Q1.Qi9511亿Q101023Q-牖112047gQ1.124095Qxe亿®Q<®<?n依据m序列的特征方程:移位寄存器结构为n级线性移位寄存罂的如图3.1所示:自相关特性:1、定义:0.1)÷|1,-1),J()=1.,(1.)=-1.2、A,序列如与经r拖延移位序列"mr分别表示:<J=f1.1.,2p.r=rt1.+r.<n>r()p,ai(It3、序列S")的自相关定义为R(r)=()(a1+r)+(>)(2÷r)+.+(<>r)()+.+(<)(f1.OAp=(1.rt1.r)+(rt2rt2r)÷.+(.p)+.+(t>r)¼=(0的数F1.-I的数目)/此留意到(<<<r)=(r)(*¼f)4、依据移位相加特性,”“)则“IIr)仍是“序列中的元素,M序列中一个周期中0的数目与1的数目之差。又由时序列的均密性可知,0比1的个数少一个R(0>=1:R(r>=-1.W,生成M序列的代码如下:functionnew_sequence»M_sequence(init_register,type_of_connection)N=Iength(iniJregiSter);%推断初始例的Kb1.ength1.=2N-17%可产生最大序列的长度register=init-register;temp-register三ones(1.,N);new-sequence=ones(1.,Iength1.);new_sequence(1.)=init_register(N);%除笫,个M序列侦fori=2:1.:1.ength1.temp-register(1.)=mod(sum(register.*type_of_connection),2);fort=2:1:Ntemp_register(t)=register(t-1.);%移位endregister=temp_register;new-sequence(i)=register(N);endend如:输入:M=M-SequencMOOOO1.(0I001.);结果如下;Co1.uvins1through13Co1.unnt14through26Co1.unns27through31下面为门相关函数的代码:function÷=Autocorre1.ation(M)Np=Iength(M);sum=。;M1.=OneS(I,Np);fork=1.:1.:150sum=0;k1.=mod(k,Np);fori=1.:1.:Np-k1.M1.(i)=M(i+k1.);endforj=1.:1.:k1.MI(NP-k1.+j)=M(j);endfort=1.:1.:Npsum=sum+juan(M(t),M1.(t);endR(k)=sumNp;endh=1.:1.:150;f=R;figure;p1.ot(h,R);figure;Hpsd=fft(R,Np);Px×=abs(Hpsd);p1.ot-P××=10*1.og1.0(P××);step(0:1:Np-IjPxx);tit1.e('Gong1.v,)endfunctionf=juan(