好文档 - 专业文书写作范文服务资料分享网站

利用MATLAB 实现极点配置、设计状态观测器(现代控制)

天下 分享 时间: 加入收藏 我要投稿 点赞

实 验 报 告

实验名称 利用MATLAB 实现极点配置、设计状态观测器

系 专业 自动化 班

姓名 学号 授课老师

实验时

预定时间 实验台号

一、目的要求 1、掌握状态反馈和输出反馈的概念及性质。 2、掌握利用状态反馈进行极点配置的方法。学会用MATLAB 求解状态反馈矩阵。 3、掌握状态观测器的设计方法。学会用MATLAB 设计状态观测器。 4、熟悉分离定理,学会设计带有状态观测器的状态反馈系统。 原理简述 状态反馈和输出反馈 设线性定常系统的状态空间表达式为??Ax?Buxy?Cx 如果采用状态反馈控制规律u= r-Kx,其中 r是参考输入,则状态反馈闭环系统的传递函数为: Gk?C[sI?(A?BK)]?1B 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 软件 内容步骤、数据处理 题5-1 某系统状态方程如下 ?0&??0x????4y??1010??1??3?u01?x???? ??3?2????6??0?x理想闭环系统的极点为??1?2?3?,试 (1)采用直接计算法进行闭环系统极点配置; (2)采用Ackermann公式计算法进行闭环系统极点配置; (3)采用调用place函数法进行闭环系统极点配置。 >> A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3;6]; C=[1 0 0]; D=0; G=ss(A,B,C,D); [Q,D]=eig(A) 结果: Q = - + + - D = 0 0 0 + 0 0 0 - 则矩阵A的特征根为:, + , - 程序: >> A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3; -6]; C=[1 0 0]; D=0; p=[-1 -2 -3]; k=acker(A,B,p) 结果:k = 验证: >> A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3;6]; C=[1 0 0]; D=0; k=[ ]; A1=A-B*k; sys=ss(A1,B,C,D); G1=zpk(sys) 结果:Zero/pole/gain: (s^2 + 5s + 15) ------------------------- (s+1) (s+ (s+ 则其极点为-1 ,-2 ,-3 (2) 程序: >> A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3; -6]; C=[1 0 0]; D=0; p=[-1 -2 -3]; k=place(A,B,p) 结果:k = 验证: 程序: >> A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3; -6]; C=[1 0 0]; D=0; p=[-1 -2 -3]; k=place(A,B,p); A1=A-B*k; sys=ss(A1,B,C,D); G1=zpk(sys) 结果: Zero/pole/gain: (s+ (s+ -------------------- (s+3) (s+2) (s+1) 则其极点为-1,-2,-3 题5-2 某控制系统的状态方程描述如下: ??10?35?50?24??1??1??0?000?x???u ???x?0100??0?????010??0??0y=[1 7 24 24]x 通过状态反馈使系统的闭环极点配置在[-30 ?2.4?4j]位置上,求出状态反馈矩阵K,验证闭环极点,并绘制闭环系统的阶跃响应曲线进行对比。 程序>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0]; B=[1;0;0;0]; C=[1 7 24 24]; D=0; p=[-30 +4i ]; k=place(A,B,p) 结果:k = 验证: 程序:>> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0]; B=[1;0;0;0]; C=[1 7 24 24]; D=0; p=[-30 +4i ]; k=place(A,B,p); A1=A-B*k; sys=ss(A1,B,C,D); G1=zpk(sys) 结果:Zero/pole/gain: (s+ (s^2 + + ------------------------------------ (s+30) (s+ (s^2 + + >> A=[-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0]; B=[1;0;0;0]; C=[1 7 24 24]; D=0; G=ss(A,B,C,D); p=[-30 +4i ]; k=place(A,B,p); A1=A-B*k; G1=ss(A1,B,C,D); t=0::20; u=ones(size(t)); y2=lsim(G1,u,t); y1=lsim(G,u,t); plot(t,y1,':',t,y2,'-') 蓝色为配置前,绿色为配置后 题5-3 某系统状态空间描述如下 ?0&??0x????4y??1010??1??3?u01?x???? ??3?2????6??0?x设计全维状态观测器,要求状态观测器的极点为程序>> A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3;-6]'; C=[1 0 0]; D=0; p=[-1 -2 -3]; L=(acker(A',C',p))' ??1?2?3?。 结果:L = 4 0 -10 题5-4已知系统 10??0??0?x??0?u ???0x01???????12?16?7????1??y=[6 6 0]x 求系统的零点,极点和传递函数,并判断系统的能控性和能观测性。 分别选取K=[0 3 0].K=[1 3 2],K=[0 3 1]为状态反馈矩阵,求解闭环系统的零点,极点和传递函数,并判断系统的能控性和能观测性。它们是否发生改变为什么 (1) 程序 >> A=[0 1 0;0 0 1;-12 -16 -7]; B=[0;0;1]; C=[6 6 0]; D=0; sys=ss(A,B,C,D); G=zpk(sys) 结果: Zero/pole/gain: 6 (s+1) ------------- (s+2)^2 (s+3) 则系统的零点为:-1 则系统的极点为:-2,-2,-3 程序 >> A=[0 1 0;0 0 1;-12 -16 -7]; B=[0;0;1]; C=[6 6 0]; D=0; Uc=ctrb(A,B);rank(Uc) 结果:ans = 3 则系统能控 程序: >> A=[0 1 0;0 0 1;-12 -16 -7]; B=[0;0;1]; C=[6 6 0]; D=0; Vo=obsv(A,C); rank(Vo) 结果:ans =3 则系统能观 (2) ①当k=[0 3 0]时: 程序>> A=[0 1 0;0 0 1;-12 -16 -7];

利用MATLAB 实现极点配置、设计状态观测器(现代控制)

实验报告实验名称利用MATLAB实现极点配置、设计状态观测器系专业自动化班姓名学号授课老师实验时预定时间实验台号间一、目的要求
推荐度:
点击下载文档文档为doc格式
0fwhb6v7z06cyp27lz4y3h0qq02udc01bvt
领取福利

微信扫码领取福利

微信扫码分享