利用matlab 实现极点配置设计状态观测器现代控制Word文档下载推荐.docx
- 文档编号:15163120
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:11
- 大小:24.11KB
利用matlab 实现极点配置设计状态观测器现代控制Word文档下载推荐.docx
《利用matlab 实现极点配置设计状态观测器现代控制Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《利用matlab 实现极点配置设计状态观测器现代控制Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
2、原理简述
1、状态反馈和输出反馈
设线性定常系统的状态空间表达式为
如果采用状态反馈控制规律u=r-Kx,其中r是参考输入,则状态反馈闭环系统的传递函数为:
2、极点配置
如果SISO线性定常系统完全能控,则可通过适当的状态反馈,将闭环系统极点配置到任意期望的位置。
MATLAB提供的函数acker()是用Ackermann公式求解状态反馈阵K。
该函数的调用格
式为
K=acker(A,B,P)
其中A和B分别为系统矩阵和输入矩阵。
P是期望极点构成的向量。
MATLAB提供的函数place()也可求出状态反馈阵K。
该函数的调用格式为
K=place(A,B,P)
函数place()还适用于多变量系统极点配置,但不适用含有多重期望极点的问题。
函数acker()不适用于多变量系统极点配置问题,但适用于含有多重期望极点问题。
三、仪器设备
PC计算机,MATLAB软件
4、内容步骤、数据处理
题5-1 某系统状态方程如下
理想闭环系统的极点为,试
(1)采用直接计算法进行闭环系统极点配置;
(2)采用Ackermann公式计算法进行闭环系统极点配置;
(3)采用调用place函数法进行闭环系统极点配置。
>
A=[010;
001;
-4-3-2];
B=[1;
3;
6];
C=[100];
D=0;
G=ss(A,B,C,D);
[Q,D]=eig(A)
结果:
Q=
0.29950.3197-0.0731i0.3197+0.0731i
-0.49440.0573+0.5074i0.0573-0.5074i
0.8160-0.7948-0.7948
D=
-1.650600
0-0.1747+1.5469i0
00-0.1747-1.5469i
则矩阵A的特征根为:
-1.6506,-0.1747+1.5469i,-0.1747-1.5469i
程序:
-6];
p=[-1-2-3];
k=acker(A,B,p)
k=1.48090.7481-0.0458
验证:
B=[1;
C=[100];
D=0;
k=[0.50530.70520.2299];
A1=A-B*k;
sys=ss(A1,B,C,D);
G1=zpk(sys)
Zero/pole/gain:
(s^2+5s+15)
-------------------------
(s+1)(s+1.999)(s+3.001)
则其极点为-1,-2,-3
(2)
k=place(A,B,p)
k=1.48090.7481-0.0458
p=[-1-2-3];
k=place(A,B,p);
结果:
(s+4.303)(s+0.6972)
--------------------
(s+3)(s+2)(s+1)
则其极点为-1,-2,-3
题5-2某控制系统的状态方程描述如下:
y=[172424]x
通过状态反馈使系统的闭环极点配置在[-30-1.2]位置上,求出状态反馈矩阵K,验证闭环极点,并绘制闭环系统的阶跃响应曲线进行对比。
程序>
A=[-10-35-50-24;
1000;
0100;
0010];
0;
0];
C=[172424];
p=[-30-1.2-2.4+4i-2.4-4i];
k=place(A,B,p)
k=26.0000172.5200801.7120759.3600
C=[172424];
p=[-30-1.2-2.4+4i-2.4-4i];
k=place(A,B,p);
A1=A-B*k;
sys=ss(A1,B,C,D);
G1=zpk(sys)
(s+1.539)(s^2+5.461s+15.6)
------------------------------------
(s+30)(s+1.2)(s^2+4.8s+21.76)
G1=ss(A1,B,C,D);
t=0:
0.5:
20;
u=ones(size(t));
y2=lsim(G1,u,t);
y1=lsim(G,u,t);
plot(t,y1,'
:
'
t,y2,'
-'
)
蓝色为配置前,绿色为配置后
题5-3 某系统状态空间描述如下
设计全维状态观测器,要求状态观测器的极点为。
-6]'
;
L=(acker(A'
C'
p))'
L=4
0
-10
题5-4已知系统
y=[660]x
(1)求系统的零点,极点和传递函数,并判断系统的能控性和能观测性。
(2)分别选取K=[030].K=[132],K=[031]为状态反馈矩阵,求解闭环系统的零点,极点和传递函数,并判断系统的能控性和能观测性。
它们是否发生改变?
为什么?
(1)
程序
-12-16-7];
B=[0;
1];
C=[660];
sys=ss(A,B,C,D);
G=zpk(sys)
Zero/pole/gain:
6(s+1)
-------------
(s+2)^2(s+3)
则系统的零点为:
-1
则系统的极点为:
-2,-2,-3
Uc=ctrb(A,B);
rank(Uc)
ans=3
则系统能控
Vo=obsv(A,C);
rank(Vo)
ans=3
则系统能观
当k=[030]时:
k=[030];
---------------------------------
(s+0.8821)(s^2+6.118s+13.6)
则零点为-1
pole(G)
ans=
-0.8821
-3.0589+2.0606i
-3.0589-2.0606i
3
Vo=obsv(A,C);
当k=[132]时:
k=[132];
(s+6.319)(s^2+2.681s+2.057)
则闭环系统的零点为:
-6.3186
-1.3407+0.5099i
-1.3407-0.5099i
则系统具有能控性
则系统具有能观测性
当k=[013]时:
k=[013];
-------------------------------
(s+8.08)(s^2+1.92s+1.485)
分析:
系统完全能控则可以任意配置极点,配置极点不改变系统的能控性,但可能改变系统的能观测性。
不存在零极相消的情况下,则不改变系统的能观测性。
五、分析讨论
通过本次试验,掌握了状态反馈和输出反馈的概念及性质。
掌握了利用状态反馈进行极点配置的方法。
学会了用MATLAB求解状态反馈矩阵。
掌握了状态观测器的设计方法。
学会了用MATLAB设计状态观测器。
熟悉了分离定理,学会了设计简单的带有状态观测器的状态反馈系统。
原本通过平常的上课,对于一些概念我还是没有完全掌握,比如极点配置,状态反馈,输出反馈。
通过实验的验证,翻阅书籍,使我对于书本上的概念产生了更深的理解,学会了分析验证书本上的定理而不是盲目学习。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用matlab 实现极点配置设计状态观测器现代控制 利用 matlab 实现 极点 配置 设计 状态 观测器 现代 控制