实验五

更新时间:2024-06-04 09:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验五、状态反馈控制器设计

一、实验目的

1. 掌握状态反馈和输出反馈的概念及性质。

2. 掌握利用状态反馈进行极点配置的方法。学会用MATLAB求解状态反馈矩阵。 3. 掌握状态观测器的设计方法。学会用MATLAB设计状态观测器。 4. 熟悉分离定理,学会设计带有状态观测器的状态反馈系统。

二、实验仪器

PC机

Matlab7.0软件

三、实验内容

2. 已知系统

0??01?0??x??0?u ???001 x???????0?2?3???1?? y??100?x

(1)求解系统的极点。绘制系统的单位阶跃响应曲线,并确定系统的超调量和上升时间。

>> A=[0 1 0;0 0 1;0 -2 -3];B=[0 0 1]';C=[1 0 0 ];D=0;G=ss(A,B,C,D);pole(G)

ans = 0 -1

-2

A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;G=ss(A,B,C,D);step(G)

图5.1单位阶跃响应曲线

(2)求解状态反馈矩阵K,使闭环系统的极点为?3和?13。求解状态反馈系统传?j22递函数。绘制该闭环系统的单位阶跃响应曲线,并确定系统的超调量和上升时间。与原系统

比较, 性能是否改善?

>> A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;p=[-3 1 -1];k=acker(A,B,p) k =

-3 -3 0

Ak=[0 1 0;0 0 1;3 1 -3];Bk=[0 ;0;1];Ck=[1 0 0];G=ss(Ak,Bk,Ck,0);Gk=tf(G)

Transfer function: 1 ------------------- s^3 + 3 s^2 - s - 3

(3)设计一个全维观测器,使观测器的极点为-5,-5,-5。仿真状态观测器观测到的状态。 A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;p=[-5 -5 -5];L=(acker(A',C',p))' >> figure('pos',[50 50 200 150],'color','w')

>> [xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')

图5.3全维观测器状态曲线

>> A=[-1 0 0 ;0 0 1;0 -3 1];B=[0 0 1]';Uc=ctrb(A,B);m=rank(Uc) m = 2

>> K=bfjdpz(A,B,C) Af =

-1 0 0 0 0 -1 0 3 1 Bf = 0 0 -1 Cf =

-1 0 0 Tf =

-1 0 0 0 1 0 0 0 -1

输入能配置的极点组成的向量[-2 -2] Pc =

-2 -2 K =

-1 1 5

已知系统的状态空间表达式为

??11??0??x???x??1?u

0?2????y??20?x

设计一个状态观测器使其极点为-10,-10。

>> A=[-1 1;0 -2];B=[0 1]';C=[2 0];p=[-10 -10];L=(acker(A',C',p))' L =

8.5000 32.0000

>> figure('pos',[50 50 200 150],'color','w')

>> [xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')

图5.4单位阶跃响应曲线

>> A=[-1 1;0 -2];B=[0 1]';C=[2 0];p=[-10 -10];L=[-2 20]';figure('pos',[50 50 200 150],'color','w') >> [xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')

图5.5反馈矩阵响应曲线

本文来源:https://www.bwwdw.com/article/nnm6.html

Top