控制系统.docx
- 文档编号:29806747
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:29
- 大小:583.30KB
控制系统.docx
《控制系统.docx》由会员分享,可在线阅读,更多相关《控制系统.docx(29页珍藏版)》请在冰豆网上搜索。
控制系统
8.4在自动控制中的应用
1.系统分析函数
控制工具箱中的频域分析函数参见表8.3。
这些函数中凡是以系统名称sys作为输入变元的,都同时适用于连续系统和离散系统。
而且也适用于多输入多输出系统,因为这些特征都已包含在系统名称中。
表8.3 控制工具箱中的频域分析函数
参数名称和典型调用格式
功 能
bode(sys),[mag,phase,w]=bode(sys)
bode图绘制
fres=evalfr(sys,f)
计算系统单个复频率f的频率响应
H=freqresp(sys,w)
计算系统在给定实频率区间的频率响应
[Gm,Pm,wcg,wcp]=margin(sys) margin(sys)
计算系统的增益和相位裕度
ngrid
Nichols网络图绘制
nichols(sys)
Nichols图绘制
nyquist(sys)
Nyquist图绘制
sigma(sys)
系统奇异值bode图绘制
bode(sys)用来计算系统的对数频率响应,画出bode(波德)图,但不返回数据(不管sys是连续系统还是离散系统)。
如果是多输入多输出系统。
画出的bode图将自动分成相应的子图。
在左端输出变量[mag,phase,w]=bode(sys)时,它计算并返回系统对数频率响应的振幅、相位和对应的频率数据,但不返回图形。
bode(sys,w)中变元w可以规定绘图的频率范围或频点。
bode(sys1,sys2,…,sysN,w)可以在一张图上画出多个系统的bode图。
bode(sys1,'PlotStylel',sys2,'PlotStylel'…,w)可以规定多个系统的bode图的外观。
H=evalfr(sys,f) 计算系统sys单个复频率点f的频率响应。
其公式为
f应以复楼标量给出。
★H=freqresp(sys,w)计算系统在给定实频率区间w的频率响应H,其中w为实数数组,H则为复数数组,对多输入多输出系统,H是三维复数矩阵。
★[Gm,Pm,wcg,wcp]=margin(sys)计算系统的增益裕度Gm、相位裕度Pm和相应的穿越频率wcg,wcp。
★[Gm,Pm,wcg,wcp]=margin(mag,phase,w)表示输入变元也可以是bode图的输出数据。
Nargin(sys)在无左端输出变量时,给出数据。
Margin(sys)在无左端输出变量时,给出bode图及穿越频率处的标志,在图上给出数据。
★ngrid用于nichols网格图绘制,如图8.4-1所示。
★nichols(sys)用于nyquist图绘制。
★nyquist(sys)用于系统奇异值bode图绘制。
这几种频率特性图的绘制函数与bode图相仿,bode的调用格式也都适用于这几个函数。
Nichols图和nyquist图在一般的自动控制课程中都要介绍,奇异值bode图是鲁棒控制理论中用到的概念。
在最简单的情况下,它就是bode图。
图8.4-1 用ngrid命令绘制的nichols网格图
问题16 阻尼系数对二阶系统频率响应的影响
二阶系统的传递函数为
设其固有频率
,阻尼系数
,分别画出其bode(波德)图。
将系统在条件TS=0.1下离散化,并做同样的工作。
解:
建模
先用ord2函数建立二阶连续系统LTI模型s,用c2d函数转换为离散LTI模型sd,再用bode函数绘制对数频率特性曲线。
不同的
用for循环处理。
注意bode(sys)函数对连续系统和离散系统是公用的,它会根据sys的不同属性自动选择相应的计算方法,从而简化了编程。
MATLAB程序
clear,clf,wn=10;
forzeta=[0.1:
0.3:
1] %设定不同的zeta
[n,d]=ord2(wn,zeta);
s1=tf(n*wn^2,d); %生成二阶连续系统
sd1=c2d(s1,0.1); %转成二阶采样系统,采样同期0.1秒
figure
(1),bode(s1),holdon %画波德图
figure
(2),bode(sd1),holdon %画波德国,注意离散系统用同样命令
end
holdoff
程序运行结果
对连续系统和离散系统绘制波德图分别见8.4-2和图8.4-3。
从图中可以看出,二阶连续系统阻尼系数
很小时,其幅频特性在转折频率处出现谐振峰,相频特性在这个频率附近迅速下降。
随着
的增大,幅频特性的峰值减小,在
≥0.7后,幅频特性单调下降。
相频特性的下降也趋于平缓。
图8.4-2 连续系统在不同
值下的波德图
图8.4-3离散系统在不同
值下的波德图
离散系统的频率响应在低频区和连续系统基本相同,在高频区有一个最高极限频率,这个频率是采样频率的一半,在本例中采样周期TS=0.1,故采样频率为
。
图上的极限频率为31.4[1/s]。
这体现了采样定理的规律,即经过采样以后的信号,只能保留半采样频率以下的频谱。
不仅如此,从图中也可以看出,在靠近二分之一采样频率处的频率特性,也和连续系统差别较大,这是由于频率泄漏的效应,采样过程可以把高于半采样频率的一部分频谱,折叠相加到关于半采样频率点对称的频带上。
造成了这部分频谱的崎变。
所以实际设计采样开关时通常要把采样频率选为系统工作频率(注意是f而不是
)的5~10倍。
问题17 高阶系统的开闭环频率响应
设系统的传递函数为
画出其波德国。
将系统在条件TS=0.1下离散化,并做同样的工作。
然后把两种系统分别用单位负反馈构成闭合环路,画出其波德图与开环进行比较,并判断其稳定性。
解:
建模
先用zpk函数建立连续系统LTI模型s,用c2d函数转换为离散LTI模型sd,再用feedback函数得到两种系统的闭环传递函数,最后用bode函数绘绘对数频率特性曲线。
用damp(sys)函数判稳。
注意damp(sys)函数对连续系统和离散系统也是公用的,它会根据sys的不同属性自动选择相应的计算方法,但判稳准则不同。
对连续系统,阻尼系数大于零为稳定;对离散系统,根的模小于1为稳定。
MATLAB程序
clear,
Ts=0.1
s=zpk(-6,[0,-1,-10,-100]',2000) %生成四阶连续系统s
sd=c2d(s,Ts) %变换四阶离散系统sd
sb=feedback(s,1) %把连续系统闭合,生成闭环系统sb
sbd=feedback(sd,1) %把离散系统闭合,生成闭环系统sbd
figure
(1),bode(s,'--',sb,'.-') %在图1中绘出连续系统的开闭环频率特性
figure
(2),bode(sd,'--',sbd,'.-') %在图2中绘出离散系统的开闭环频率特性
damp(sb) %闭环sb的根的固有频率和阻尼系数
damp(sbd) %判断闭环sbd的根的固有频率和阻尼系数
[Gm,Pm,wcg,wcp]=margin(s) %判断闭环sb的稳定裕度
[Gmd,Pmd,wcgd,wcpd]=margin(sd) %判断闭环sb的稳定裕度
程序运行结果
原始四阶连续系统s
Zero/pole/gain:
200(s+6)
------------------------------------
s(s+1)(s+10)^2
对应的离散系统sd
Zero/pole/gain:
0.023516(z+2.649)(z-0.5488)(z+0.1787)
-----------------------------------------------------------------
(z-1)(z-0.9048)(z-0.3679)^2
Samplingtime:
0.1
连续系统闭合后生成闭环系统sb
Zero/pole/gain:
200(s+6)
-----------------------------------------------------------------
(s+13)(s+7.513)(s^2+0.491s+12.29)
离散系统闭合后生成的闭环系统sbd
Zero/pole/gain:
0.023516(z+2.649)(z-0.5488)(z+0.1787)
-----------------------------------------------------------------
(z-0.4869)(z-0.2366)(z^2-1.894z+1.01)
Samplingtime:
0.1
连续闭环sb的根的固有频率和阻尼系数
Eigenvalue Damping Freq.(rad/s)
-2.46e-001+3.50e+000i 7.00e-002 3.51e+000
-2.46e-001-3.50e+000i 7.00e-002 3.51e+000
-7.51e +000 1.00e+000 7.51e+000
-1.30e +001 1.00e+000 1.30e+001
离散闭环sbd的根的固有频率和阻尼系数
Eingenvalue Magnitude Equiv.Damping Equiv.Freq.(rad/s)
9.47e-001+3.37e-001i 1.01e+000 -1.47e-002 3.42e+000
9.47e-001-3.37e-001i 1.01e+000 -1.47e-002 3.42e+000
4.87e-001 4.84e-001 1.00e+000 7.20e+000
2.37e-001 2.37e-001 1.00e+000 1.44e+001
闭环sb的稳定裕度
Gm=1.7762, wcg=4.6560 Pm=8.0194 wcp=3.4467
离散闭环sbd的稳定裕度
Warning:
Closedloopisunstable.
Gmd=0, Pmd=0, wcgd=NaN, wcpd=NaN
对四阶连续系统和离散系统绘制的波德图分别见图8.4-4和图8.4-5。
图8.4-4 问题17四阶连续系统的波德图
图8.4-5 对应的四阶离散系统的波德图
由结果可知本题中的连续系统是稳定的,但稳定裕度很小,振幅稳定裕度Gm只有1.7762dB,相位稳定裕度Pm为8.0194°。
而对应的离散系统则不稳定的。
控制工具箱函数有很多都可以用来判别系统的稳定性,稳定裕度函数margin还会直接告诉用户系统稳定与否,因此实际上没有必要再去用画nyquist频率特性的方法来判别稳定性。
仅公庆没有适当的计算工具来求复杂系统的闭环根时,这种古典的方法才有价值。
在分析系统的开环特性和闭环特性的关系时,可以注意两点,第一点,在开环的幅频特性远远大于0dB(例如+20dB以上)的低频区,闭环幅频特性为0dB,相频特性也近似为零,说明在这个频段,反馈信号很强,这时闭环特性近似于反馈回路特性的逆;第二点,在开环的幅频特性远远小于0dB(例如-20dB以下)的高频区,闭环与开环幅频特性和相频特性相重合,等于不起作用。
读者可从开闭环传递函数变换关系中得出这个具有普遍意义的结论。
问题18 奈奎斯特曲线及判稳
设系统的传递函数为
这是一个开环不稳定的系统。
画出其Nyquist曲线,判别其闭环稳定性,并用MATLAB的其他函数加以检验。
在此系统上加一个零点(s+0.5)后,再做同样的工作,把两种情况进行比较并讨论。
解:
建模
选用zpk函数建立系统的LTI模型s1,调用nyquist函数画出其nyquist曲线,再用feedback函数得到它的闭环传递函数,用margin函数绘制出简略的对数频率特性曲线。
用求闭环脉冲响应的方法再检验判稳的正确性。
对系统2做同样的工作。
MATLAB程序
clear,
s1=zpk([],[-6,-1,1.2],50); %生成连续系统s1
figure
(1)
subplot(2,2,1),nyquist(s1),grid %画nyquist图
sb1=feedback(s1,1)
subplot(2,2,2),impulse(s1),grid %画开环脉冲响应图
subplot(2,2,3),margin(s1),grid %画nichols图
subplot(2,2,4),impu1se(sb1),grid %画闭环脉冲响应图
s2=zpk([-.5],[-6,-1,1.2],50); %生成加微分的连续系统s2
figure
(2)
subplot(2,2,1),nyquist(s2),grid %画nyquist图
sb2=feedback(s2,1)
subplot(2,2,2),impu1se(s2),grid %画开环脉冲响应图
subplot(2,2,3),margin(s2),grid %画nichols图
subplot(2,2,4),impulse(sb2),grid %画闭环脉冲响应图
程序运行结果
s1闭环后构成的系统sb1零极增益模型为
Zero/pole/gain:
50
--------------------------------------------------------
(s+7.013)(s^2-1.213s+6.103)
s2闭环后构成的系统sb2零极增益模型为
Zero/pole/gain:
50(s+0.5)
---------------------------------------------------------
(s+0.3914)(a^2+5.409s+45.48)
得到的图形分别见图8.4-6(a)和图图8.4-6(b)。
图8.4-6 问题18系统2的图形
从两个闭环模型的分母,已经清楚地看出,系统1是不稳定的,而系统2是稳定的。
两个图的第二子图的脉冲响应,说明系统开环是不稳定的。
从第四子图上,通过闭环脉冲响应,也可以得出同样的结论。
而从奈奎斯特曲线上分析,就要费些功夫了。
因为系统开环有一个右半平面极点,奈奎斯特曲线必须以反时针绕(-1,0)点转一圈,系统才是稳定的。
系统1的奈奎斯特曲线是顺时针方向,因此是稳定的。
两个图的第二子图为脉冲响应,说明两系统开环都是不稳定的。
这里还可以看出,没有输入变元的margin函数,不能够直接给出稳定的判据。
它可以给出简略的波德图,并且在上面标注出振幅和相位裕度的值。
但对于不稳定的系统它也给出这些值。
很容易引起错觉。
因此,如果没有用别的方法来判稳,还是应该用带有左端变元的margin函数来判稳,它会明确地指出系统是否稳定。
2.系统的状态空间分析函数
状态空间分析比其他方法之所以复杂,一是因为用矩阵进行运算和求解;二是因为它的非惟一性,即对同一个系统,通过相似变换,可以有无数种A,B,C,D组合来描述。
MATLAB控制工具箱提供的状态空间分析函数参见表8.4。
●第一类函数是关于系统可观性、可控性判别的,主要介绍以下几种。
(1)可控性矩阵
★Co=ctrb(sys)或Co=ctrb(A,B),…
其中Co=[B,AB,A2B,…,An-1B]
若rank(Co)=n,则系统可探。
(2)可观性矩阵
★Ob=obsv(sys),Ob=obsv(A,C),…
其中
若rank(Ob)=n,则系统可观。
表8.4 控制工具箱中的状态空间分析函数
函数和典型输入变元
功 能
系统可观性、可控性
Ctrb(sys),ctrb(A,B)
计算系统的可控性矩阵
Obsv(sys),obsv(A,B)
计算系统的可观性矩阵
Ctrbf(A,B,C)
可控阶梯形(可控与不可控)分解
Odsvf(A,B,C)
可观阶梯形(可控与不可观)分解
Gram(sys,'c'),
计算系统的可控或可观Gramian矩阵
相似变换和状态空间实现
ss2ss(sys,T),
相似变换
canon(sys,'type')
状态空间的规范实现
ssbal(sys)
状态空间的均衡实现
balreal(sys)
基于Gramian矩阵的状态空间均衡实现
mineral(sys)
状态空间的最小实现
modred(sys,elim)
状态空间的模型降阶
(3)Gramian矩阵
系统可观性、可控性的另一判据,可用于时变系统。
可控Gramian矩阵,Wc=
★Wc=gram(sys,'c')它的满秩(rank(Wc)=n)与系统的可控等价。
可观Gramian矩阵,
★Wo=gram(sys,'o')它的满秩rank(Wo)=n与系统的可观等价。
调用此函数时,要求系统必须是稳定的。
●第二类函数是关于系统相似变换的。
包括以下几种。
(1)通用相似变换函数
★sysT=ss2ss(sys,T) 通过非奇异变换矩阵T,把状态变量由x变为xT。
即xT=Tx。
则变换后的系统sysT状态方程系数矩阵为AT,BT,CT,DT,即有sysT=ss(AT,BT,CT,DT),其中
(2)变为规范形式的函数
★csys=canon(sys,`type`) 用来把系统sys变为规范形式csys。
Type用来选择规范的类型,有两种可选规范形式:
约当矩阵(model)形式和伴随矩阵(companion)形式。
要得到变换矩阵T,可用以下格式
[csys,T]=canon(sys,`type`)
(3)把系统分解为可控与不可控两部分的函数
★[]Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C)
其中
,
(Ac,Bc)是可控的子空间,而
。
T为变换矩阵,Abar=T*A*T’, Bbar=T*B, Cbar=C*T’。
k是长度为n的矢量,其元素为各块的秩。
(4)把系统分解为可观与不可观两部分
★[Abar,Bbar,Cbar,T,k]=obsvf(A,B,C)
其中
(Ao,Bo)是可观的子空间,而Co(sI-Ao)-1Bo=C(sI-A)-1B
T为变换矩阵,Abar=T*A*T’, Bbar=T*B, Cbar=C*T’。
k是长度为n的矢量,其元素为各块的秩。
★把系统sys中可控又可观的部分取出,构成最小实现系统rsys的函数。
Rsys=mineral(sys) 生成阶次最小的状态空间或零极增益模型rsys。
(5)状态空间的均衡实现函数为ssba和balreal,均衡是为了减少矩阵的奇异性,提高运算的精度。
(6)[sysb,T]=ssbal(sys) 对系统sys作相似变换,使变换后系统sysb的系统矩阵[T*A/T,T*B;C/T0]的行和列有大致相同的范数。
(7)sysb=balreal(sys) 它是以Gramian矩阵为基础的,除了得出均衡的系统sysb外,用下述格式
★[sysb,G,T,Ti]=balreal(sys)还可得出可控又可观的对角Gramina矩阵G,可观测其特别小的项与其他项的差别,作为模型是否可降价的依据。
(8)rsys=modred(sys,elim) 删除状态空间模型中的由下标矢量elim指定的状态,使得模型降价。
为了确定elim,往往要选调用[sysb,G,T,Ti]=balreal(sys)。
问题19 系统的可控性与可观性及其结构分解
设系统的状态空间方程为
将其作可控性与可观性结构分解。
解:
建模
先作可控性结构分解,得出状态方程系数矩阵的秩rA和可控矩阵的秩rc。
如果rc=rA,则系统完全可控;如果rc 个状态不可控,可控阶梯型分解有效。 即系统可分为可控与不可控两部分。 类似的,用obscf函数可作可观性结构分解。 MATLAB程序 A=[-2,2,-1;0,-2,0;1,-4,3];B=[0;0;1];C=[1,-1,1];D=0; %系数矩阵赋值 s1=ss(A,B,C,D); %构成LT1模型 [Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C) %化为可控阶梯型 rA=rank(A) %状态方程系数矩阵的秩 rc=sum(k) %判断可控矩阵的秩 程序运行结果 Abar= -2 0 0 -2 -2 1 -4 -1 3 Bbar= 0 0 1 Cbar= -1 -1 1 T= 0 1 0 -1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统