H无穷控制学习笔记——系统性能分析
一、连续时间系统
1、系统增益指标
(1)系统性能指标定义
对于线性时不变的连续时间系统:x˙(t)=Ax(t)+Bw(t)z(t)=Cx(t)+Dw(t)\dot{x}(t)=Ax(t)+Bw(t)\\z(t)=Cx(t)+Dw(t)x˙(t)=Ax(t)+Bw(t)z(t)=Cx(t)+Dw(t)
其中,x(t)∈Rnx(t)\in R^nx(t)∈Rn是系统的状态,w(t)∈Rqw(t)\in R^qw(t)∈Rq是外部扰动输入,z(t)∈Rrz(t)\in R^rz(t)∈Rr是系统被调输出。如果对于某一类外界扰动信号w(t),系统的被调输出z(t)能够保持小,则认为这样的系统具有好的性能,反映了系统抑制外部扰动的能力。
考虑系统的增益Γ\GammaΓ:Γ=supw≠0size(z)‾size(w)\Gamma=\mathop{{sup}}\limits_{w\ne0}\mathop{\underline{size(z)}}\limits_{size(w)}Γ=w=0supsize(w)size(z)
对于平方可积的信号,定义:∣∣f∣∣2=(∫0∞∣∣f(t)∣∣2dt)1/2||f||_2=(\int_0^{\infty}||f(t)||^2dt)^{1/2}∣∣f∣∣2=(∫0∞∣∣f(t)∣∣2dt)1/2
其中是向量的欧式范数,这样定义的∣∣f∣∣2||f||_2∣∣f∣∣2正好是信号f的能量。
对于幅值有界的信号,定义:∣∣f∣∣∞=supt≥0∣∣f(t)∣∣||f||_{\infty}=\mathop{{sup}}\limits_{t\ge0}||f(t)||∣∣f∣∣∞=t≥0sup∣∣f(t)∣∣
其中是向量的欧式范数,当f是一个标量信号时,∣∣f∣∣∞||f||_{\infty}∣∣f∣∣∞是f的峰值。
因此,系统的一些性能指标可以定义为:
- IE增益:Γie=supw(t)=w0δ(t),∣∣w0∣∣≤1∣∣Z∣∣2\Gamma_{ie}=\mathop{{sup}}\limits_{w(t)=w_0\delta(t),||w_0||\le1}||Z||_2Γie=w(t)=w0δ(t),∣∣w0∣∣≤1sup∣∣Z∣∣2
- EP增益:
Γep=sup∣∣w∣∣2≤1∣∣Z∣∣∞\Gamma_{ep}=\mathop{{sup}}\limits_{||w||_2\le1}||Z||_{\infty}Γep=∣∣w∣∣2≤1sup∣∣Z∣∣∞ - EE增益:
Γee=sup∣∣w∣∣2≤1∣∣Z∣∣2\Gamma_{ee}=\mathop{{sup}}\limits_{||w||_2\le1}||Z||_2Γee=∣∣w∣∣2≤1sup∣∣Z∣∣2 - PP增益:
Γpp=sup∣∣w∣∣∞≤1∣∣Z∣∣∞\Gamma_{pp}=\mathop{{sup}}\limits_{||w||_{\infty}\le1}||Z||_{\infty}Γpp=∣∣w∣∣∞≤1sup∣∣Z∣∣∞
(2)性能指标求解
那么,如何求这些性能指标呢?
求IE增益:
定理:对于原线性时不变连续时间系统,如果该系统是严格真的(D=0)和渐进稳定(矩阵A特征值均具有负实部)的,那么系统的IE增益是有限的,并且Γie=∣∣BTYB∣∣1/2\Gamma_{ie}=||B^TYB||^{1/2}Γie=∣∣BTYB∣∣1/2,其中矩阵的范数取为谱范数,即矩阵的最大奇异值,即A的谱范数为ATAA^TAATA的最大特征值的平方根。矩阵Y是以下李雅普诺夫方程的解:YA+ATY+CTC=0YA+A^TY+C^TC=0YA+ATY+CTC=0
该定理可以转化为以下的优化问题:minγs.t.PA+ATP+CTC<0BTPB≤γIP>0min~~ \gamma\\ s.t.~~~~~~~PA+A^TP+C^TC<0\\B^TPB\le\gamma I\\P>0min γs.t. PA+ATP+CTC<0BTPB≤γIP>0
该优化问题有一个最优值γ∗\gamma^*γ∗,则Γie=γ∗\Gamma_{ie}=\sqrt{\gamma^*}Γie=γ∗。该优化问题是一个具有线性不等式约束和线性目标函数的凸优化问题,可以应用LMI工具箱中的求解器mincx来求解。求EP增益:
定理:对于原线性时不变连续时间系统,如果该系统是严格真的(D=0)和渐进稳定(矩阵A特征值均具有负实部)的,那么系统的EP增益是有限的,并且Γep=∣∣CXCT∣∣1/2\Gamma_{ep}=||CXC^T||^{1/2}Γep=∣∣CXCT∣∣1/2,其中矩阵的范数取为谱范数,即矩阵的最大奇异值,即A的谱范数为ATAA^TAATA的最大特征值的平方根。矩阵X是以下李雅普诺夫方程的解:AX+XAT+BBT=0AX+XA^T+BB^T=0AX+XAT+BBT=0
该定理可以转化为以下的优化问题:minγs.t.AQ+QAT+BBT<0CQCT≤γIQ>0min~~ \gamma\\ s.t.~~~~~~~AQ+QA^T+BB^T<0\\CQC^T\le\gamma I\\Q>0min γs.t. AQ+QAT+BBT<0CQCT≤γIQ>0
该优化问题有一个最优值γ∗\gamma^*γ∗,则Γep=γ∗\Gamma_{ep}=\sqrt{\gamma^*}Γep=γ∗。该优化问题是一个具有线性不等式约束和线性目标函数的凸优化问题,可以应用LMI工具箱中的求解器mincx来求解。求EE增益:
定理:对于原线性时不变连续时间系统,设γ\gammaγ是一个给定的常数,则下列条件是等价的:
[1]系统渐进稳定,且Γee<γ\Gamma_{ee}<\gammaΓee<γ
[2]存在一个对称矩阵P>0,使得:[ATP+PAPBCTBTP−γIDTCD−γI]<0\begin{bmatrix} A^TP+PA & PB & C^T\\\\ B^TP & -\gamma I & D^T\\\\ C & D & -\gamma I\\\\ \end{bmatrix}<0⎣⎢⎢⎢⎢⎢⎢⎡ATP+PABTPCPB−γIDCTDT−γI⎦⎥⎥⎥⎥⎥⎥⎤<0
条件[2]是一个线性矩阵不等式,因此可以应用LMI工具箱中的求解器feasp来判断系统增益Γee\Gamma_{ee}Γee是否满足给定的约束条件。求PP增益:
定理:对于原线性时不变连续时间系统,设γ\gammaγ是一个给定的标量,如果存在对称矩阵R>0、标量γ>0\gamma>0γ>0和μ>0\mu>0μ>0,使得:[ATR+RA+γRRBBTR−μI]<0\begin{bmatrix} A^TR+RA+\gamma R & RB\\\\ B^TR & -\mu I\\\\ \end{bmatrix}<0⎣⎢⎢⎡ATR+RA+γRBTRRB−μI⎦⎥⎥⎤<0
和[λR0CT0(γ−μ)IDTCDγI]>0\begin{bmatrix} \lambda R & 0 & C^T\\\\ 0 & (\gamma-\mu) I & D^T\\\\ C & D & \gamma I\\\\ \end{bmatrix}>0⎣⎢⎢⎢⎢⎢⎢⎡λR0C0(γ−μ)IDCTDTγI⎦⎥⎥⎥⎥⎥⎥⎤>0那么Γpp<γ\Gamma_{pp}<\gammaΓpp<γ。
注意到上述不等式并不是线性矩阵不等式。
2、H2H_2H2性能
传递函数矩阵T(s)=C(sI−A)−1B+DT(s)=C(sI-A)^{-1}B+DT(s)=C(sI−A)−1B+D的H2H_2H2范数定义为:∣∣T(s)∣∣2=Trace(∫−∞+∞T(jw)T∗(jw)dw/2π)1/2||T(s)||_2=Trace(\int_{-\infty}^{+\infty}T(jw)T^*(jw)dw/2\pi)^{1/2}∣∣T(s)∣∣2=Trace(∫−∞+∞T(jw)T∗(jw)dw/2π)1/2其中T∗(jw)T^*(jw)T∗(jw)表示矩阵T(jw)T(jw)T(jw)的共轭转置,Trace代表矩阵的迹(n×n矩阵A的主对角线上各个元素的总和)。
T的H2H_2H2范数的平方等于系统脉冲响应的总的输出能量,还等于系统在白噪声输入信号激励下的稳态输出方差。
对于单输入单输出系统,∣∣T(s)∣∣2=Γie=Γep||T(s)||_2=\Gamma_{ie}=\Gamma_{ep}∣∣T(s)∣∣2=Γie=Γep。
定理:对于原线性时不变连续时间系统,如果该系统是渐进稳定的,则:
[1]∣∣T∣∣2<∞||T||_2<\infty∣∣T∣∣2<∞当且仅当D=0;
[2]如果D=0,那么以下结论等价:
(i)∣∣T∣∣2<γ||T||_2<\gamma∣∣T∣∣2<γ
(ii)存在对称矩阵X>0,使得AX+XAT+BBT<0,Trace(CXCT)<γ2AX+XA^T+BB^T<0,Trace(CXC^T)<\gamma^2AX+XAT+BBT<0,Trace(CXCT)<γ2
(iii)存在对称矩阵Y>0,使得ATY+YA+CTC<0,Trace(BTYB)<γ2A^TY+YA+C^TC<0,Trace(B^TYB)<\gamma^2ATY+YA+CTC<0,Trace(BTYB)<γ2
根据该定理,可以应用LMI工具箱的求解器feasp来验证系统是否满足给定的H2H_2H2范数约束条件。
3、H∞H_\inftyH∞性能
传递函数矩阵T(s)=C(sI−A)−1B+DT(s)=C(sI-A)^{-1}B+DT(s)=C(sI−A)−1B+D的H∞H_\inftyH∞范数定义为:∣∣T(s)∣∣∞=supwσmax(T(jw))||T(s)||_\infty=\mathop{{sup}}\limits_w\sigma_{max}(T(jw))∣∣T(s)∣∣∞=wsupσmax(T(jw))即系统频率响应的最大奇异值的峰值。
∣∣T(s)∣∣∞=Γee||T(s)||_\infty=\Gamma_{ee}∣∣T(s)∣∣∞=Γee。
因此,通过求解优化问题:minγs.t.[ATP+PAPBCTBTP−γIDTCD−γI]<0P>0min~~ \gamma\\ s.t.~~\begin{bmatrix} A^TP+PA & PB & C^T\\\\ B^TP & -\gamma I & D^T\\\\ C & D & -\gamma I\\\\ \end{bmatrix}<0\\P>0min γs.t. ⎣⎢⎢⎢⎢⎢⎢⎡ATP+PABTPCPB−γIDCTDT−γI⎦⎥⎥⎥⎥⎥⎥⎤<0P>0可以得到系统最优H∞H_\inftyH∞性能分析问题的解。由于该问题是一个具有线性矩阵不等式约束和线性目标函数的凸优化问题,因此可以应用LMI工具箱的求解器mincx来求解。
4、举例说明
某二阶系统:G(s)=ks2+2ζωs+ω2G(s)=\frac{k}{s^2+2\zeta\omega s+\omega^2}G(s)=s2+2ζωs+ω2k该系统的一个状态空间实现为:[ABCD]=[−2ζω−ω211000k0]\begin{bmatrix} A & B\\ C & D \end{bmatrix}=\begin{bmatrix} -2\zeta\omega & -\omega^2 & 1\\ 1 & 0 & 0\\ 0 & k & 0 \end{bmatrix}[ACBD]=⎣⎡−2ζω10−ω20k100⎦⎤
系统1:G1(s):ζ=0.1,ω=1,k=1G_1(s):\zeta=0.1,\omega=1,k=1G1(s):ζ=0.1,ω=1,k=1;
系统2:G2(s):ζ=1,ω=3,k=20G_2(s):\zeta=1,\omega=3,k=20G2(s):ζ=1,ω=3,k=20;
(1)IE增益
求解该系统的IE增益代码实现为:
clc;clear all
%% 定义系统状态空间矩阵
A1=[-0.2,-1;1,0];B1=[1;0];C1=[0,1]; % 系统1
A2=[-6,-9;1,0];B2=[1;0];C2=[0,20]; % 系统2
%% 求解IE增益方法1:求解李雅普诺夫方程 YA+A'Y+C'C=0
% matlab X=lyap(A,C)可用于求解李雅普诺夫方程AX+XA(^T)=-C
CC1=C1'*C1;AA1=A1';
Y1=lyap(AA1,CC1);
ie_1=sqrt((norm(B1'*Y1*B1,2)))CC2=C2'*C2;AA2=A2';
Y2=lyap(AA2,CC2);
ie_2=sqrt((norm(B2'*Y2*B2,2)))
%% 求解IE增益方法2:转化为优化问题用LMI工具箱求解
setlmis([]); % 定义一个矩阵不等式系统
X=lmivar(1,[2 1]); % P矩阵是一个2*2的对称矩阵
r=lmivar(1,[1 1]); % gamma
lmiterm([1 1 1 X],1,A1,'s'); % PA+A'P
lmiterm([1 1 1 0],CC1); % C'C
lmiterm([2 1 1 X],B1',B1); % B'PB
lmiterm([-2 1 1 r],1,1); % -gammaI
lmiterm([-3 1 1 X],1,1); % P
lmisys=getlmis;n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n[rj]=defcx(lmisys,j,r);c(j)=trace(rj);
end[copt, xopt]=mincx(lmisys,c);
xx=dec2mat(lmisys,xopt,X);
gamma=dec2mat(lmisys,xopt,r);
ie_11=sqrt(gamma)
%2
setlmis([]); % 定义一个矩阵不等式系统
X=lmivar(1,[2 1]); % P矩阵是一个2*2的对称矩阵
r=lmivar(1,[1 1]); % gamma
lmiterm([1 1 1 X],1,A2,'s'); % PA+A'P
lmiterm([1 1 1 0],CC2); % C'C
lmiterm([2 1 1 X],B2',B2); % B'PB
lmiterm([-2 1 1 r],1,1); % -gammaI
lmiterm([-3 1 1 X],1,1); % P
lmisys=getlmis;n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n[rj]=defcx(lmisys,j,r);c(j)=trace(rj);
end[copt, xopt]=mincx(lmisys,c);
xx=dec2mat(lmisys,xopt,X);
gamma=dec2mat(lmisys,xopt,r);
ie_22=sqrt(gamma)
输出为:
系统1的ie_1=1.5811(李雅普诺夫方程);ie_11=1.5818(LMI工具箱);
系统2的ie_2=1.9245(李雅普诺夫方程);ie_22=1.9261(LMI工具箱);
(2)EP增益
求解该系统的EP增益代码实现为:
clc;clear all
%% 定义系统状态空间矩阵
A1=[-0.2,-1;1,0];B1=[1;0];C1=[0,1]; % 系统1
A2=[-6,-9;1,0];B2=[1;0];C2=[0,20]; % 系统2
%% 求解EP增益方法1:求解李雅普诺夫方程 AX+XA'+BB'=0
% matlab X=lyap(A,C)可用于求解李雅普诺夫方程AX+XA(^T)=-C
BB1=B1*B1';AA1=A1;
X1=lyap(AA1,BB1);
ep_1=sqrt((norm(C1*X1*C1',2)))BB2=B2*B2';AA2=A2;
X2=lyap(AA2,BB2);
ep_2=sqrt((norm(C2*X2*C2',2)))
%% 求解EP增益方法2:转化为优化问题用LMI工具箱求解
setlmis([]); % 定义一个矩阵不等式系统
X=lmivar(1,[2 1]); % Q矩阵是一个2*2的对称矩阵
r=lmivar(1,[1 1]); % gamma
lmiterm([1 1 1 X],A1,1,'s'); % AQ+QA'
lmiterm([1 1 1 0],BB1); % BB'
lmiterm([2 1 1 X],C1,C1'); % CQC'
lmiterm([-2 1 1 r],1,1); % -gammaI
lmiterm([-3 1 1 X],1,1); % Q
lmisys=getlmis;n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n[rj]=defcx(lmisys,j,r);c(j)=trace(rj);
end[copt, xopt]=mincx(lmisys,c);
xx=dec2mat(lmisys,xopt,X);
gamma=dec2mat(lmisys,xopt,r);
ep_11=sqrt(gamma)
%2
setlmis([]); % 定义一个矩阵不等式系统
X=lmivar(1,[2 1]); % Q矩阵是一个2*2的对称矩阵
r=lmivar(1,[1 1]); % gamma
lmiterm([1 1 1 X],A2,1,'s'); % AQ+QA'
lmiterm([1 1 1 0],BB2); % BB'
lmiterm([2 1 1 X],C2,C2'); % CQC'
lmiterm([-2 1 1 r],1,1); % -gammaI
lmiterm([-3 1 1 X],1,1); % Q
lmisys=getlmis;n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n[rj]=defcx(lmisys,j,r);c(j)=trace(rj);
end[copt, xopt]=mincx(lmisys,c);
xx=dec2mat(lmisys,xopt,X);
gamma=dec2mat(lmisys,xopt,r);
ep_22=sqrt(gamma)
输出为:
系统1的ep_1=1.5811(李雅普诺夫方程);ep_11=1.5822(LMI工具箱);
系统2的ep_2=1.9245(李雅普诺夫方程);ep_22=1.9260(LMI工具箱);
(3)EE增益
求解该系统的EE增益代码实现为:
clc;clear all
%% 定义系统状态空间矩阵
A1=[-0.2,-1;1,0];B1=[1;0];C1=[0,1];D1=0; % 系统1
A2=[-6,-9;1,0];B2=[1;0];C2=[0,20];D2=0; % 系统2
%% 求解EE增益方法:转化为优化问题用LMI工具箱求解
setlmis([]); % 定义一个矩阵不等式系统
X=lmivar(1,[2 1]); % P矩阵是一个2*2的对称矩阵
r=lmivar(1,[1 1]); % gammalmiterm([1 1 1 X],A1',1,'s'); % A'P+PA
lmiterm([1 2 1 X],B1',1); % B'P
lmiterm([1 2 2 r],-1,1); % -gammaI
lmiterm([1 3 1 0],C1); % C
lmiterm([1 3 2 0],D1); % D
lmiterm([1 3 3 r],-1,1); % -gammaI
lmiterm([-2 1 1 X],1,1); % Plmisys=getlmis;n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n[rj]=defcx(lmisys,j,r);c(j)=trace(rj);
end[copt, xopt]=mincx(lmisys,c);
xx=dec2mat(lmisys,xopt,X);
gamma=dec2mat(lmisys,xopt,r);
ee_11=gamma
%2
setlmis([]); % 定义一个矩阵不等式系统
X=lmivar(1,[2 1]); % P矩阵是一个2*2的对称矩阵
r=lmivar(1,[1 1]); % gammalmiterm([1 1 1 X],A2',1,'s'); % A'P+PA
lmiterm([1 2 1 X],B2',1); % B'P
lmiterm([1 2 2 r],-1,1); % -gammaI
lmiterm([1 3 1 0],C2); % C
lmiterm([1 3 2 0],D2); % D
lmiterm([1 3 3 r],-1,1); % -gammaI
lmiterm([-2 1 1 X],1,1); % Plmisys=getlmis;n = decnbr(lmisys); % 系统决策变量个数
c = zeros(n,1); % 确定向量c的维数
for j=1:n[rj]=defcx(lmisys,j,r);c(j)=trace(rj);
end[copt, xopt]=mincx(lmisys,c);
xx=dec2mat(lmisys,xopt,X);
gamma=dec2mat(lmisys,xopt,r);
ee_22=gamma
输出为:
系统1的ee_11=5.035388(LMI工具箱);
系统2的ee_22=2.222583(LMI工具箱);
本文是作者在日常学习生活中所作,难免有遗漏或错误,遇到问题的读者请点击给我写信向我的邮箱反馈,不胜感激。
H无穷控制学习笔记——系统性能分析相关推荐
- 运动学习与控制-学习笔记(三)——运动控制理论
运动学习与控制-学习笔记(三)--运动控制理论 一.理解控制理论以及两个重要概念 1.Motor Control Theory 2.两个重要概念:Coordination,Degree of Free ...
- 滑模控制学习笔记(六)
滑模控制学习笔记(六) 等效滑模控制 等效滑模控制器设计 等效控制设计 滑模控制设计 仿真实例 等效滑模控制 滑模控制率可由等效控制uequ_{eq}ueq和切换鲁棒控制uswu_{sw}usw ...
- 电机控制学习笔记——PMSM数学模型
电机控制学习笔记--PMSM数学模型 0 引言 1 电压方程和磁链方程 2 转矩方程和运动方程 参考文献 0 引言 要实现对永磁同步电机的精准控制,首先需要对永磁同步电机进行建模,获得其电压方程. ...
- 三相永磁同步电机的矢量控制学习笔记一
三相永磁同步电机的矢量控制学习笔记1 一 内容 三相永磁同步电机CPMSM)是一个强搞合.复杂的非线性系统,为了能够更好地 设计先进的 PMSM 矢量控制算法,建立合适的数学模型就显得尤为重要.本次学 ...
- matlab使用LMI对二阶系统进行H无穷控制
MATLAB使用LMI对二阶系统进行H无穷控制 1. 二阶系统建立 2. 二阶系统实现 3. MATLAB代码 本文需要对LMI理论和H无穷控制理论具有一定的了解. 1. 二阶系统建立 建立一个二阶系 ...
- 滑模控制学习笔记(三)
滑模控制学习笔记(三) 基于趋近律的滑模控制 几种典型的趋近律 等速趋近律 指数趋近律 幂次趋近律 一般趋近律 基于趋近律的控制器设计 仿真实例 状态空间模型建立 滑模控制器模型建立 仿真结果 基于趋 ...
- 滑模控制学习笔记(四)
滑模控制学习笔记(四) 基于上界的滑模控制 系统描述 控制器设计 仿真实例 基于准滑动模态的滑模控制 仿真实例 基于上界的滑模控制 系统描述 考虑二阶非线性系统如下:θ¨=f(θ,θ˙)+g(θ, ...
- 滑模控制学习笔记(一)
滑模控制学习笔记(一) 滑模控制基本理论 1.滑模变结构控制定义 2. 滑模面的参数设计 3.滑模消抖方式 4.滑模变结构控制理论研究方向 滑模控制基本理论 \quad\quad 滑模变结构控制在机器 ...
- 电机控制学习笔记——坐标变换
电机控制学习笔记--坐标变换 0 前言 1 坐标系 2 Clarke变换(abc/ α \alpha α β \beta β变换) 2.1 恒幅值变换 2.2 恒功率变换 2.3 小结 3 Park变 ...
最新文章
- C#Winform自动检测版本更新,下载最新版本
- java 句子拆分_java – 将段落拆分为单个句子.我在这里覆盖了所有的基地吗?
- 智简全渠道孟伟:做CRM十六年,企业的一百种死法
- LCD显示原理和驱动方式介绍
- MOSS点滴(1):如何开发和部署feature
- 如何自己亲手制作一个防疫地图?
- lightswitch 添加 TreeView 控件
- mcq 队列_MCQ | 基础知识 免费和开源软件| 套装3
- egg(115)--egg之订单页面筛选,搜索
- java map传入参数_JAVA中map中参数的添加修改
- OGG工作原理(Oracle Golden Gate)
- 讲幻灯片的基本技巧——2021年中会议发言之二
- 电脑装机不求人装机员系统集合
- 小米5s安装xpose 下
- opencv4nodejs安装
- java 播放h264_一个可以解码并实时播放H264的播放器
- 李成蹊 同济大学计算机,同济大学2010年艺术特长生名单
- Spring的配置项aspectj-autoproxy
- 基于LiDAR里程计和先验地图的定位方法
- (转)刹车离合同时踩非常危险