- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文通过具体的例子阐明如何在 MATLAB系统中进行全维状态观测器和降维状态观测器的设计。MATLAB 为状态空间设计提供了很多有用的函数,方便了矩阵方程的求解,其中的MATLAB里面提供的库函数对全维状态观测器和降维状态观测器的设计也显得非常地方便。
现通过例子说明如何用 MATLAB 设计状态观测器。为了评价 MATLAB 所设计的状态观测器的性能,本文通过在 SIMULINK 环境下来仿真一个三阶状态观测器,来说明用 MATLAB 设计状态观测器的准确性。
1、全维观测器的设计
已知三阶系统的状态空间方程为:
首先检验系统的是否完全能观
A=[2 -1 1;0 -1 2;1 0 -2];
C=[2 1 0];
N=[C;C*A;C*A*A]
rank(N)
rank(N)
ans = 3 ,说明系统是完全能观的。
下面选择观测器需要配置的期望极点为:s1 =-12 s2,3 =-3±0.88i
由此求出观测器增益矩阵G:
A=[2 -1 1;0 -1 2;1 0 -2];
C=[2 1 0];
P =[-12;-3+0.88*i;-3-0.88*i];
G = acker(A,C,P);
求得G = [11.6527 -6.3054 1.0619]
可得全维观测器的方程为:
下面可依据上式构建simulink图,据此观察观测器的跟踪能力:
跟踪效果图如下:
X1
X2
X3
从图中可以看出状态观测器的状态X1,X2,X3 能够完全估计原三阶系统的状态。如果原三阶系统和其状态观测器的初始状态不同,状态观测器的状态X1,X2,X3 不能同原三阶系统状态完全一致,但能很快跟踪原三阶系统状态(主要取决于状态观测器的响应速度,即状态观测器的极点配置。)
2、降维观测器设计
从上面的全维观测器输出方程可以看出,此系统输出就等于第一个状态,因此该状态可以有输出求得,即变换矩阵P为单位阵,而降维观测器的阶次为2。
降维观测器的期望特征根选为-3±0.88i
据此求观测器增益
a22=[-1 1;0 -1];
a12=[-2 -2];
pe=[-3+1i*2*7^(1/2)/3;-3-1i*2*7^(1/2)/3];
lt=acker(a22,a12,pe);
l=lt
求得 ,得到
引入中间变量
得降维观测器的状态方程为
下面可依据上式构建simulink图,据此观察观测器的跟踪能力
X2
X3
从降维观测器仿真的输出图形中可以看出,系统状态变量X2、X3的跟踪能力比较理想。
3、结论
本文提供了一种利用 MATLAB 软件,方便、快捷地设计全维状态观测器的方法。通过本方法很容易设计出不同参数下性能良好的状态观测器,从而容易仿真出状态观测器参数变化对状态跟踪性能的影响。进一步可以对具有状态观测器的反馈控制系统进行设计和仿真,能够迅速地对系统在不同参数下进行性能仿真。
参考文献
〔1〕薛定宇.科学运算语言 MATLAB5.3 程序设计与应用〔M〕.北京:清华大学出版社,2000.
〔2〕魏克新. MATLAB 语言与自动控制系统设计[M].北京:机械工业出版社,1999.
文档评论(0)