上机实习Ⅰ:系统辨识方法初识_第1页
上机实习Ⅰ:系统辨识方法初识_第2页
上机实习Ⅰ:系统辨识方法初识_第3页
上机实习Ⅰ:系统辨识方法初识_第4页
上机实习Ⅰ:系统辨识方法初识_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上机实习:系统辨识方法初识12自动化 许天野 12350068指导老师:王国利摘要:系统辨识、状态估计和控制理论是现代控制论中相互渗透的三个领域。控制理论的应用离不开系统辨识技术,实际中,许多控制系统的模型在工作中是变化的,为了实现自适应控制,需要系统辨识技术不断更新模型参数。通过学习使用MATLAB软件,初步体验系统辨识方法。关键字:系统辨识,控制理论,MATLAB。Practice 1:Practice the method of System identificationAbstract: System identification, State estimation and The P

2、rinciple of Automatic Control are three different disciplines of the modern control theory, which are interpenetrated with one another. In practice, the model of system is changing all the time. To control adaptively, the system model should be update its parameters, by the method of

3、System identification. By learning the using of MATLAB, we are supposed to practice the method of system identification.Key Words: System identification, System identification, MATLAB目录一、引言21.1介绍21.2实验目的2二、实验内容和方法22.1实验内容22.2实验步骤32.2.1输入信号选择32.2.2 数据收集32.2.3 实验步骤3三、实验结果5四、实验分析探究74.1分析74.2探究74.3结果分析1

4、0一、 引言1.1介绍在自然科学和社会科学的许多领域中,人们越来越重视对系统进行定量的系统分析、系统综合、仿真、控制和预测。将被控对象模型化,是开展工作的前提和基础。基于传递函数的经典控制理论分析前需要确定模型的各个参数,忽略工作中的变化,适用于精度要求不高的情况下。而实际中许多控制系统内部参数是未知的,而且工作中有可能会变化,这就需要系统辨识来确定模型参数。通常为机理分析法和测试法相结合来辨识,对于系统机理已知的部分采用机理分析法,机理未知的部分采用测试法。1.2实验目的本次实验通过使用 MATLAB 仿真系统辨识的过程,以此熟悉系统辨识的基本过程 与 MATLAB 系统工具箱的使用, 对系

5、统辨识有更深的理解。二、 实验内容和方法2.1实验内容(1) 通过系统的模型获取仿真试验数据(2) 利用相关分析法来辨识系统的脉冲响应函数(3) 对所获得的非参数模型进行检验,同时,分别对各种噪声模型的实验结果进行比对对于参数模型的辨识,通过选取各种不同的参数模型,进行系统的结构辨识,在此基础上应用各种参数估计算法来估计模型的参数,并对所估计的模型进行检验。2.2实验步骤已知系统传递函数为,实验借助这个已知模型,利用matlab仿真其响应,作为实验数据采集后,利用matlab系统辨识工具箱辨识出近似的系统模型,并且验证辨识出的模型和原来模型的对比。根据这个思想,我设计进行一下实验。2.2.1输

6、入信号选择本实验的系统辨识是基于线性系统模型的,所以输入信号要尽量选择近似于线性,幅值在一定的范围内是线性的。同时,输入信号要足够大以至于输出信号最大程度地由输入信号决定,抑制噪声和量化误差的作用。所以这次试验采用正弦扫频信号和阶跃信号作为输入信号。正弦信号周期为从t0tf,频率为f0ff,内的线性扫频信号。2.2.2 数据收集 实验数据收集必须有足够高的频率以收集到所有关注频率范围内的输入输出信号样本。根据香农采样定理,采样信号的频率至少大于两倍的原始信号。本实验中我们采用了100Hz的采样信号进行采样。部分代码如下: f0 = 0;ff = 2;dt = 1/100; %采样频率为100H

7、ztmax = 20; %时间范围t = (0:dt:tmax)' %所有采样时间点2.2.3 实验步骤1. 用matlab建立一个如下的四阶系统2. 产生输入激励信号(扫频,阶跃)u1/u2,激励系统产生输出,y1/y2。w = 2*pi*(f0 + (ff-f0)*t/tmax);u1 = sin(w.*t/2); %扫频信号u2 = ones(size(u1); %阶跃信号y1 = lsim(sys, u1, t); %两种激励下的相应y2 = lsim(sys, u2, t);3. 画出两种输入输出信号的波形。subplot(211) %分图显示plot(t, u1, t, y

8、1); %扫频信号激励下的波形legend('u1', 'y1') %图标ylabel('Swept Frequency')grid subplot(212)plot(t, u2, t, y2); %阶跃信号激励下的波形legend('u2', 'y2')ylabel('Step Response')xlabel('Time, Seconds')grid4. 使用merge()函数对这两组数据进行融合,确定阶数之后,再使用n4sid()函数进行系统辨识。如果阶数不确定,可以多试几次,

9、以确定最接近的结果。data = merge(iddata(y1, u1, dt), iddata(y2, u2, dt);%数据融合 order = 4; %辨识前确定阶数id_sys = n4sid(data, order, 'focus', 'simulation');id_sys = d2c(id_sys);tf(id_sys)5. 将辨识出的系统函数进行零极点图、时域波形对比。figure(2)pzmap(sys,id_sys) %零极点图对比legend('Original System', 'Identified Syste

10、m') figure(3)y_sys, t_sys = step(sys, t);y_id, t_id =step(id_sys,t); %阶跃响应下的对比plot(t_sys,y_sys, t_id,y_id);legend('Original System', 'Identified System') ylabel('Step Response')xlabel('Time, Seconds')grid三、 实验结果1、两种不同的激励信号下,系统产生的相应波形。2、辨识出的系统模型和原始系统模型的零极点图对比: 辨识出的

11、零极点图和原图十分相近,说明辨识效果非常好。3、辨识得出的系统和原始系统的阶跃响应波形对比:两者非常相近,说明辨识结果很好。四、 实验分析探究4.1分析本次实验中,以一个确定的传递函数产生的输出信号作为系统辨识的采样数据,利用了Matlab的系统辨识工具箱,得到了很好的效果。在系统辨识的步骤中,关于系统的阶数实验前已经已知,如果实际中要求得辨识函数,还需要去试探。4.2探究1、如果使用斜坡函数作为激励信号的话,系统辨识工具箱得出的结果是否也如此准确呢?将阶跃信号换成斜坡输入信号:u2 = ones(size(u1); for i=1:2000 u2(i+1,1)=u2(i+1,1)+i;end得出的结果:在输出跟随输入这个方面,斜坡响应的误差更明显一些。结果依然很令人满意。可以看出,在改变输入激励信号之后,系统工具箱仍能给出满意的辨识结果。2、如果在辨识之前,设定系统的阶数为3阶,结果会如何呢?Ordor=3结果如下:显然和原传递函数相差很远。4.3结果分析1、选择系统输入信号时,应选取线性幅值有界的信号,使得系统尽量工作在线性状态下。这次试验选择了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论