目录
1.H∞输出反馈控制
1.1 框架结构
1.2 广义系统
1.3 等价的LMI问题
2.参考文献
3.文献案例实现
3.1 二阶系统
3.2 H∞最优输出反馈控制器
3.2.1 程序
3.1.2 时域和频域分析
3.3 H∞次优输出反馈控制器
3.3.1 程序
3.3.2 时域和频域分析
3.4 最优与次优控制器对比
H∞输出反馈控制框架
min γ
H∞最优输出反馈
可以用LMI ToolBox中的mincx求解器求解,也可以用MATLAB封装函数hinflmi(本文选择)或hinfric实现,其中hinflmi和hinfric使用格式及案例分析也可以查看往期文章。
使用hinfric和hinflmi函数设计H∞输出反馈控制器(含白嫖代码)_Mr. 邹的博客-CSDN博客
《基于LMI的输出反馈H∞控制及其仿真----李阳,李树民》
文献链接给在上面了(万方),本来是粘贴出来直接给大家看,但是客服说我侵权了,我只能把文献删了,希望大家理解!谢谢!
对于即将要用上的函数,这里不再做解释,具体可以查看往期文章:
ltisys和ltiss函数使用及示例学习_Mr. 邹的博客-CSDN博客
使用hinfric和hinflmi函数设计H∞输出反馈控制器(含白嫖代码)_Mr. 邹的博客-CSDN博客
H2/H无穷控制之msfsyn、hinfmix和h2hinfsyn函数使用及示例学习_Mr. 邹的博客-CSDN博客_hinfsyn函数
%% H∞最优输出反馈控制器
a = [0 1 ;-6 -5];b1 = [1;0];b2 = [0;1];
c1 = [1 0];d11 = 0;d12 = 0;
c2 = [1 0];d21 = 1;d22 = 0;
P = ltisys(a,[b1 b2],[c1;c2],[d11 d12;d21 d22]);%开环广义系统
[gopt,K] = hinflmi(P,[1 1]);%H∞最优输出反馈控制器
[ak,bk,ck,dk] = ltiss(K);%控制器的状态空间形式
[kdum,kden] = ss2tf(ak,bk,ck,dk);%控制器传递函数的分子分母
ktf = tf(kdum,kden)%控制器的传递函数形式
clsys = slft(P,K)%闭环系统传递函数
spol(clsys)%闭环系统极点,用于检验闭环系统稳定性
norminf(clsys)%外部扰动w到被调输出的闭环系统RMS/ee增益
figure(1);splot(clsys,'st')%闭环系统时域响应阶跃图
figure(2);splot(clsys,'bo')%闭环系统频域响应伯德图
图1 闭环系统时域响应阶跃图
图2 闭环系统频域响应伯德图
%% H∞次优输出反馈控制器
a = [0 1 ;-6 -5];b1 = [1;0];b2 = [0;1];
c1 = [1 0];d11 = 0;d12 = 0;
c2 = [1 0];d21 = 1;d22 = 0;
P = ltisys(a,[b1 b2],[c1;c2],[d11 d12;d21 d22]);%开环广义系统
[gopt,K] = hinflmi(P,[1 1],0.1);%设定性能指标γ<0.1,即次优H∞输出反馈控制器
[ak,bk,ck,dk] = ltiss(K);%控制器的状态空间形式
[kdum,kden] = ss2tf(ak,bk,ck,dk);%控制器传递函数的分子分母
ktf = tf(kdum,kden)%控制器的传递函数形式
clsys = slft(P,K)%闭环系统传递函数
spol(clsys)%闭环系统极点,用于检验闭环系统稳定性
norminf(clsys)%外部扰动w到被调输出的闭环系统RMS/ee增益
figure(1);splot(clsys,'st')%闭环系统时域响应阶跃图
figure(2);splot(clsys,'bo')%闭环系统频域响应伯德图
图3 闭环系统时域响应阶跃图
图4 闭环系统频域响应伯德图
由于最优控制器难以实现,因为增益K的值过大,LMI工具箱也提示控制器的模态过快, 建议提高的值来取消快的模态,所以文章选用了性能指标γ上限为0.1的次优H∞输出反馈控制器。
如果有帮助,麻烦帮忙点个赞是我最大的分享动力,非常感谢!
注:仅为便利自己学习,错误在所难免,如有兴趣的学者可以参考交流,谢谢!
参考资料:
《基于LMI的输出反馈H∞控制及其仿真----李阳,李树民》
ltisys和ltiss函数使用及示例学习_Mr. 邹的博客-CSDN博客
使用hinfric和hinflmi函数设计H∞输出反馈控制器(含白嫖代码)_Mr. 邹的博客-CSDN博客
H2/H无穷控制之msfsyn、hinfmix和h2hinfsyn函数使用及示例学习_Mr. 邹的博客-CSDN博客_hinfsyn函数