控制系统CAD——基于MATLAB语言张晋格第7章控制系统设计方法课件教学.pptVIP

控制系统CAD——基于MATLAB语言张晋格第7章控制系统设计方法课件教学.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
控制系统CAD——基于MATLAB语言张晋格第7章控制系统设计方法课件教学.ppt

MATLAB 程序如下: a=[0 1 0;0 0 1;-6 -11 -6] b=[0;0;1] c=[1 0 0] ro=rank(obsv(a,c)) a1=a b1=c c1=b p=[-2+2i*sqrt(3),-2-2i*sqrt(3),-5] k=acker(a1,b1,p) ke=k %判定系统是否可观 运行程序,得到结果: 说明 由于原系统可观(即rank=3),因此可以设计全阶状态观测器。 状态观测器的增益阵 , ke = 3.0000 7.0000 -1.0000 7.5.2 最小阶状态观测器 全阶状态观测器设计是基于重构所有的状态变量。实际上,系统的输出变量总是可以测量的,因此可以利用输出向量Y来直接产生部分状态变量,从而降低观测器的阶数。当观测器的阶数降至最小时,称为最小阶状态观测器 设状态向量x为n维,输出向量y为可测量的m维。由于m个输出变量是状态变量的线性组合,因此m个状态变量就不必估计了,只需估计n-m个状态变量即可。 该n-m阶的降阶观测器就是最小阶状态观测器。 下图所示为最小阶状态观测器的系统结构图 若原系统完全能控,则状态反馈向量可以由下式给出 其中 T为定义的变换矩阵 为能控性矩阵 说明: 通过变换矩阵T,可以定义一个新的状态向量 ,且 。 如果能控性矩阵C的秩为n(满秩意味着系统状态完全能控),则矩阵T的逆存在,并且可将原系统状态方程写为 其中 这样就把原方程变换成能控标准型。如果原系统给出时就采用能控标准型,则可免去状态变换,根据特征多项式系数直接计算状态反馈阵K 应用矩阵变换算法进行极点配置的步骤: 1)检查给定系统的能控性 2)确定原系统系数矩阵A的特征多项式系数,即 3)确定变换矩阵 4)确定期望特征多项式系数 ,即 5)求反馈增益阵K,即 2、爱克曼公式(Ackermann) 设给定系统状态方程为 设系统状态完全能控,又设期望的闭环极点为 利用状态反馈控制 的闭环系统状态方程为 定义 则期望的特征方程为 定义 则对于系数矩阵有 根据凯利·哈密尔顿(Cayley-Hamilton)定理, 应满足其自身的特征方程,即 将 代入,可求得反馈矩阵K为 此式称为爱克曼公式 式中的 是能控性矩阵。 根据爱克曼公式配置极点的步骤为 1)检查给定系统的能控性 2)确定 的系数 , 即 3)求 4)求反馈增益阵K,即 例7-15 已知受控对象 试 1)设计控制器 ,使期望闭环极点 2)试用矩阵变换法、爱克曼公式法以及工具箱place()函数或acker()求解本题。 理论分析 定义状态变量 则系统的状态空间描述为 其中 编写程序计算 MATLAB 程序如下(矩阵变换法): a=[0 1 0;0 0 1;-6 -11 -6] b=[0;0;10] m=[b a*b a^2*b] rank(m) j=[-2+2i*sqrt(3) 0 0;0 -2-2i*sqrt(3) 0;0 0 -10] ja=poly(a) a1=ja(2);a2=ja(3);a3=ja(4) w=[a2 a1 1;a1 1 0;1 0 0] t=m*w jj=poly(j) aa1=jj(2);aa2=jj(3);aa3=jj(4) k=[aa3-a3 aa2-a2 aa1-a1]*(inv(t)) 运行程序,得到结果: ans = 3 k = 15.4000 4.5000 0.8000 MATLAB 程序如下(爱克曼公式): a=[0 1 0;0 0 1;-6 -11 -6] b=[0;0;10] m=[b a*b a^2*b] rank(m) j=[-2+2i*sqrt(3) 0 0;0 -2-2i*sqrt(3) 0;0 0 -10] poly(j) phi=polyvalm(poly(j),a) k=[0 0 1]*(inv(m))*phi ans = 3 k = 15.4000 4.5000 0.8000 运行程序,得到结果: MATLAB 程序如下(place函数法): k = 15.4000 4.5000 0.8000 运行程序,得到结果: a=[0 1 0;0 0 1;-6 -11 -6] b=[0;0;10] p=[-2+2i*sqrt(3) -2-2i*sqrt(3) -10]

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档