实验五matlab频域分析教学教材Word格式.docx
《实验五matlab频域分析教学教材Word格式.docx》由会员分享,可在线阅读,更多相关《实验五matlab频域分析教学教材Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
6*pi;
》u=sin(t);
/u=sin(3*t);
》y=lsim(G,u,t);
》plot(t,u,t,y)
运行程序显示系统响应如图5-1所示。
a)sint的响应b)sin(3t)的响应
图5-1正弦信号输入系统的稳态响应
5.2用
绘制极坐标图
频率特性中的奈奎斯特图是奈奎斯特(Nyquist)稳定性判据的基础。
反馈控制系统稳定的充分必要条件为:
奈奎斯特曲线逆时针包围
点的次数等于系统开环右极点个数。
调用Matlab中nyquist()函数可绘出奈奎斯特图,其调用格式为:
或
式中,
;
为用户提供的频率范围;
re为极坐标的实部;
im为极坐标的虚部。
若不指定频率范围,则为
。
在输入指令中,如果缺省了左边的参数说明,奈奎斯特函数将直接生成奈奎斯特图;
当命令包含左端变量时,即
时,则奈奎斯特函数将只计算频率响应的实部和虚部,并将计算结果放在数据向量
中。
在此情况下,只有调用plot函数和向量
、
,才能生成奈奎斯特图。
例5-2设系统的传递函数为
,绘制其奈奎斯特图。
解程序如下:
》num=[1];
den=[1,2,2];
》nyquist(num,den)
运行程序,显示奈奎斯特曲线如图5-2所示。
图5-2奈奎斯特曲线
值得注意的是,由于nyquist()函数自动生成的坐标尺度固定不变,nyquist()函数可能会生成异常的奈奎斯特图,也可能会丢失一些重要的信息。
在这种情况下,为了重点关注奈奎斯特图在点(-1,j0)附近的形状,着重分析系统的稳定性,需要首先调用轴函数axis(),自行定义坐标轴的显示尺度,以提高图形的分辨率;
或用放大镜工具放大,以便进行稳定性分析。
例5-3设某系统的传递函数为
,则绘制其奈奎斯特图的程序如下:
》num=[1000];
den=[1,8,17,10];
》nyquist(num,den);
grid
num=[1000];
sys=tf(num,den);
nyquist(sys);
运行程序,显示奈奎斯特曲线如图5-3a)所示。
可以看出在点(-1,j0)附近,奈奎斯特图很不清楚,可利用放大镜对得出的奈奎斯特图进行局部放大,或利用如下Matlab命令
》v=[-10,0,-1.5,1.5];
》axis(v)
a)b)
图5-3奈奎斯特局部图
例5-4设某系统的开环传递函数为
则绘制其奈奎斯特图的程序如下:
》num=10*[1,4,4];
》den=conv([1,1],[1,-2,9]);
》grid
num=10*[1,4,4];
》den=conv([1,1],[1,-2,9]);
运行程序,显示得图5-4a)。
若规定实轴、虚轴范围(10,10),(-10,10),则绘制其奈奎斯特图的程序如下:
》num=10*[144];
den=conv([11],[1-29]);
》axis([-10,10,-10,10])
运行程序,显示得图5-4b)。
a)b)
图5-4奈奎斯特曲线
5.3用bode(sys)画对数坐标图
伯德图由对数幅频和对数相频两张图构成,
轴采用对数分度,幅值为对数增益即分贝(
),相位
为线性分度。
Matlab中绘制伯德图的函数为bode(),其调用格式为
[mag,phase,w]=bode(num,den,w)或
bode(sys)
式中,G(s)=num/den,频率
自动选择范围从
,若自行选择频率范围,可应用logspace()函数,其格式为
式中,a表示最小频率10a,b表示最大频率10b,n表示10a~10b之间频率点数。
例5-5设某系统的传递函数为
,则绘制其伯德图的Matlab程序如下:
>
num=5*[0.11];
den=conv([10],conv([0.51],[1/25000.6/501]));
bode(num,den)
函数
的应用。
程序如下:
w=logspace(-1,4,300);
%确定频率范围及点数
[mag,phase,w]=bode(num,den,w);
semilogx(w,20*log(mag));
grid%绘图坐标及大小
xlabel('
Frequency[rad/s]'
),ylabel('
20*log(mag)'
)
图5-6伯德图
5.4用margin(sys)计算增益裕量和相位裕量
Matlab中采用裕量函数margin()来确定相对稳定性,其调用格式为
[Gm,Pm,Wcg,Wcp]=margin(sys)或
margin(sys)
式中,Gm为增益裕量;
Pm为相为裕量;
Wcg为相角穿越频率;
Wcp为幅值穿越频率。
在输入指令中,如果缺省了左边的参数说明,margin()函数将在伯德图上自动标注系统的增益裕量和相位裕量.
例5-7设某系统的传递函数为
,则计算其增益裕量和相位裕量的程序如下:
num=[0.8];
den=[1210.5];
sys=tf(num,den);
margin(sys)执行程序,显示该系统的伯德图及相对稳定裕度如图5-7所示。
图5-7例5-7中系统的伯德图及相对稳定裕度
若执行
[Gm,Pm,Wcg,Wcp]=margin(sys)
则可得Gm=1.8772,Pm=21.9176,Wcg=1.0004,Wcp=0.7881
纯滞后环节的表示
Sys.iodelay=0.1;
Margin(sys);
闭环系统带宽、谐振峰值、谐振频率
BW=bandwidth(sys)
作业:
MP8.1用MATLAB绘制
的Bode图,并验证其谐振频率为5
,谐振峰值为14dB。
num=[25];
den=[1125];
bode(sys)
BW=bandwidth(sys),运行结果BW=7.7112
MP8.2先手工绘制下列传递函数的Bode图,然后用MATLAB加以验证。
(a)
(b)
(c)
(d)
MP8.3某单位负反馈系统的开环传递函数为:
用MATLAB绘制闭环系统的Bode图,根据Bode图估计闭环带宽,并在图上标注所得结果。
MP8.4某2阶系统框图如图MP8.4所示,
图MP8.42阶反馈控制系统
(a)在
到
之间,用logspace函数生成系统闭环Bode图。
根据该Bode图,估计系统的谐振峰值
、谐振频率
、和带宽
(b)用图8.11估算系统的阻尼系数
和固有频率
(c)根据闭环传递函数计算
的精确值,并与(b)的结果作比较。
MP8.5考虑图MP8.5给出的闭环反馈系统,用MATLAB绘制系统的开环和闭环Bode图。
图MP8.5闭环反馈系统
MP9.1某单位负反馈系统的开环传递函数为
,试用MATLAB程序验证:
该系统的增益裕度为
,相角裕度为
MP9.2用nyquist函数绘制下列传递函数的Nyquist。
(b)
(c)
MP9.4考虑某单位负反馈控制系统,其开环传递函数为:
(a)当T=0.1s时,利用margin函数,确定使相角裕度为
的K的取值;
(b)利用所得的增益K,在
的范围内,画出相角裕度与T的关系曲线。