系统辨识的Matlab实现方法(手把手)

上传人:飞*** 文档编号:35375434 上传时间:2018-03-14 格式:PDF 页数:17 大小:1.06MB
返回 下载 相关 举报
系统辨识的Matlab实现方法(手把手)_第1页
第1页 / 共17页
系统辨识的Matlab实现方法(手把手)_第2页
第2页 / 共17页
系统辨识的Matlab实现方法(手把手)_第3页
第3页 / 共17页
系统辨识的Matlab实现方法(手把手)_第4页
第4页 / 共17页
系统辨识的Matlab实现方法(手把手)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《系统辨识的Matlab实现方法(手把手)》由会员分享,可在线阅读,更多相关《系统辨识的Matlab实现方法(手把手)(17页珍藏版)》请在金锄头文库上搜索。

1、最近在做一个项目的方案设计,应各位老总的要求,只有系统框图和器件选型可不行, 为了凸显方案设计的高大上, 必须上理论分析,炫一下“技术富”,至于具体有多大实际指导意义,那就不得而知了!本人也是网上一顿百度,再加几日探索,现在对用matlab 实现系统辨识有了一些初步的浅薄的经验,在此略做一小节。必须要指出的是,本文研究对象是经典控制论理最简单最常用的线性时不变的siso 系统,而且是2 阶的哦,也就是具有如下形式的传递函数:121)(22TssTsG本文要做的就是,对于有这样传递函数的一个系统,要辨识得到其中的未知数T, !这可是控制系统设计分析的基础哦,没有系统模型,啥理论、算法都是白扯,在

2、实际工程中非常重要哦!经过总结研究,在得到系统阶跃响应实验数据之后(当然如果是其他响应,也有办法可以辨识, 在此还是只讨论最简单的阶跃响应实验曲线,谁让你我是菜鸟呢),利用 matlab 至少可以有两种方法实现实现(目前我只会两种,呵呵) !一、函数法二、GUI 系统辨识工具箱下面分别作详细介绍!一、函数法看官别着急,先来做一段分析(请看下面两排红*之间部分),这段分析是网上找来的,看看活跃一下脑细胞吧,如果不研读一下,对于下面 matlab 程序,恐怕真的就是一头雾水咯!* G(s)可以分解为:)(1)(212ssTsG其中,11112221TT1、2都是实数且均大于零。则有:211T,21

3、21 2传递函数进一步化为:)()(2121 sssG因此,辨识传递函数就转化为求解1、2。当输入为单位阶跃函数时, 对上式进行拉普拉斯反变换, 得系统时域下的单位阶跃响应为 :tteety212111221)(即tteety21211122)(1令1=2k)1(k,得tktekekkty22 111)(1tktekekk2)1(2111对上式两边取以e为底的对数得tkektkkty2)1(211ln1ln)(1ln当t时,tkek2)1(11ln0,则上式化简为tkkty21ln)(1ln该式的形式满足直线方程batty)(*其中,)(*ty=)(1lnty,1ln,2kkba)1(k通过最

4、小二乘算法实现直线的拟合,得到a,b的值,即可得到1、2的值,进而可得系统的传递函数。* Matlab 程序代码 : clc close all t=1 3 5 7 9 11 13 15 17 19; y=0.149086 0.5890067 0.830617 0.933990 0.973980 0.991095 0.995868 0.998680 0.999490 0.999850; y2=log(1-y); plot(t,y2,*); grid on pm=polyfit(t,y2,1) value=polyval(pm,t); hold on plot(t,value,r) title(

5、fontname黑体fontsize20y(t)=at+b) w2=-pm(1) w1=w2/(1-exp(-pm(2) T=1/sqrt(w1*w2) theta=(w1+w2)/(2*sqrt(w1*w2) z=; p=-w1 -w2; k=w1*w2; sys=zpk(z,p,k) figure(2) step(sys,0:0.5:20); axis(0 20 0 1.2) hold on plot(t,y,r*) 打开 matlab,新建一个Function,把上述程序段拷进去,保存,运行,运行结果:系统的传递函数为)4797.0)(126.1(54034.0)(SSSG很顺利吧?先高

6、兴一个!问题接着马上就来了,上面这个例子,这个传递函数的极点刚好都是负实数,因此辨识得很顺利, 但是如果系统是欠阻尼系统, 也就是如果传递函数的根是复数,那么上述函数段,就无能为力咯, 会出现说“ matlab 无法处理增益为复数情况之类”例如)1)(1(2)(jSjSSG对于这个系统,若果用simulink 做一下阶跃响应,再把实验数据代入上述函数段,那就不行咯!怎么办呢,只能另辟蹊径了!二、 (System Identification Tool)系统辨识工具箱早听说 matlab 博大精深,神通广大了, 于是乎我确定肯定有更简单、直观、强大的工具来完成这小儿科把戏。查资料琢磨之后,我做了

7、个小实验, 在 simulink 里验证了该种方法。 该方法的大原则是: 在确定了系统的输入输出数据(两个列向量 N 1 形式,如果是 1 N,会提示出错!) 之后, 设计好一定的辨识原则 (比如说是 2 阶?3 阶?,传递函数是零极点形式,还是带阻尼形式,等等),然后就交给强大的 matlab ,得到辨识结果。 Step by step ,plz!Step1、 建立模型获取系统输入输出数据图 1 图 1 系统的输入是阶跃信号,用Scope1监视,并输出到workspace (这步不会的自己百度哦) ,采样周期是0.1s,得到输入变量 u (101 1 的矩阵) ; 本人在系统的阶跃响应上叠加

8、了一白噪声,当然也可以不加噪声, 加了噪声就是期望更真实的模拟实际情况,白噪声参数设置见图2 图 2 同样在 Scope2 监视,也将结果输出到workspace ,得到响应数据 y(同样也是 101 1 的矩阵)Step 2 、进入辨识工具箱 &设置辨识规则直接在 command window 输入 ident,回车,进入辨识工具箱图3 图 3 点击 import 下拉菜单,选时域数据time domain data,见图 4 图 4 在下图 5 红色圈区域输入之前得到的系统输入和输出数据,u 和 y 图 5 在下图 6 绿色圈内输入数据的一些信息,因为之前模型中, 阶跃起点我是放在 0s

9、处的,这里也设置0,如果前面模型仿真是1s,这里应该也是 1s;采样时间是 0.1s,根据实际情况设置统一哦图 6 设置完之后,点击import 此时界面变成图7图 7 如果在下图 8 勾选红框这个选项, 就会出现我们刚才设定输入输出数据的曲线,如图 9 所示, 其他勾选项是频域的分析和显示, 暂不用它。图 8 图 9 看看与我们实际设置的输入输出是否符合,如果符合,那么我们离成功就不远咯,如果发现异常,那再好好检查一遍,直到确保数据导入没有问题!下面两段 红色斜杠 之间的内容,对于本实验,可以直接跳过,看一下对后续复杂模型的处理有好处哦,也算全面熟悉一下工具。/ 到这接着选 preproce

10、ss 也就是对数据进行预处理了, 下拉菜单中有很多种处理方法和手段, 有这个心思的人可以挨个试一下功能。图10 图 10 预处理的对象是 working data 中的数据,每进行一种预处理在左边就会有新的数据生成,这时只要将新的数据移动到working data的那个方框,就可以将working data 换成你所想处理的数据了,可以这样多次进行处理, 得到你最终想用来辨识的数据和用于验证的数据(不需要的数据可以拖到那个trash 里面删除,就是回收站了,也可以从回收站中找回的)接下来就是辨识了,首先把辨识用的数据拖到working data 那个方框,再把验证的数据拖到validation

11、 data 那个方框,这个 validation data 就是最原始数据稍作处理得到的一个更接近理论模型的对象数据, 在这实验里,本人用的就是默认数据, 也就是不做任何 preprocess处理。/ 点下拉菜单 estimate , 选你想要的模型, 在弹出的对话框中设定参数,图 11 图 11 这里边的模型种类比较多,有线性的、非线性的、状态空间的、经典传递函数形式的等等,我们所选的就是图中红色方框process models ,单击。弹出如下界面图12!图 12 在本实验中,我们做如下设置,见图13 红框标出部分。图 13 是否有零点、有延迟、有积分?根据勾选,传函自动调整传递函数极点个

12、数及其他然后点击最下方 Estimate ,就有模型生成了。图14 图 14 先勾选上图绿色框选项,看到了什么?给出了拟合率,best fits 98.72 有木有?传递函数具体的数值,双击上图红色框, 见图 15?图 15 在右边的数据栏中;也就是model views 中了,下面有很多可以选择,每选一个就可以生成一幅对应的图,是由用于验证的数据生成的。把模型拖到 to workspace 那个方框,再去看workspace ,多的那个变量就是你所辨识出的模型了注意:在某个模型或某组数据上点一下,线变细了就不会在图中显示出来了! ! ! ! ! ! ! !最后再一次提出,上述分析并不一定完全正确,可能有些概念并不清晰可靠, 当然还有很多功能并没有被发掘,可以确定的是解决这个问题的两个大方向没有问题,若想做到精益求精, 还需要再仔细研究斟酌哦!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号