实验六Matlab频域分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六 MATLAB 频域分析
5.1 频率特性的概念
系统的频率响应是在正弦信号作用下系统的稳态输出响应。对于线性定常系统,在正弦信号作用下,稳态输出是与输入同频率的正弦信号,仅是幅值和相位不同。设系统传递函数为()G s ,其频率特性为
s j (j )(s)|G G ωω==
例5-1 对系统2
2
(s)s 2s 3
G =
++,在输入信号()sin r t t =和()sin3r t t =下可由Matlab 求系统的输出信号,其程序如下:
》num=2;den=[1 2 3]; 》G=tf(num,den); 》t=0:0.1:6*pi; 》u=sin(t);/ u=sin(3*t); 》y=lsim(G ,u,t); 》plot(t,u,t,y)
运行程序显示系统响应如图5-1所示。
a) sin t 的响应 b) sin (3t)的响应 图5-1 正弦信号输入系统的稳态响应
5.2用()nyquist sys 绘制极坐标图
频率特性中的奈奎斯特图是奈奎斯特(Nyquist )稳定性判据的基础。反馈控制系统稳定的充分必要条件为:奈奎斯特曲线逆时针包围(1,0)j -点的次数等于系统开环右极点个数。
调用Matlab 中nyquist() 函数可绘出奈奎斯特图,其调用格式为:
,,[re im ω]=nyquist(num,den,ω)
或sys =tf(num,den);nyquist(sys)
式中,()/G s num den =;ω为用户提供的频率范围;re 为极坐标的实部;im 为极坐标的虚部。若不指定频率范围,则为nyquist(num,den)。在输入指令中,如果缺省了左边的参数说明,奈奎斯特函数将直接生成奈奎斯特图;当命令包含左端变量时,即[re,im,ω]=nyquist(num,den)时,则奈奎斯特函数将只计算频率响应的实部和虚部,并将计算结果放在数据向量re 和im 中。在此情况下,只有调用plot 函数和向量re 、im ,才能生成奈奎斯特图。
例5-2 设系统的传递函数为2
1
G(s)s 2s 2
=++,绘制其奈奎斯特图。 解 程序如下: 》num=[1];den=[1,2,2]; 》nyquist(num,den)
运行程序,显示奈奎斯特曲线如图5-2所示。
图5-2 奈奎斯特曲线
值得注意的是,由于nyquist ()函数自动生成的坐标尺度固定不变,nyquist ()函数可能会生成异常的奈奎斯特图,也可能会丢失一些重要的信息。在这种情况下,为了重点关注奈奎斯特图在点(-1,j0)附近的形状,着重分析系统的稳定性,需要首先调用轴函数axis(),自行定义坐标轴的显示尺度,以提高图形的分辨率;或用放大镜工具放大,以便进行稳定性分析。
例5-3 设某系统的传递函数为32
1000
G(s)s 8s 17s 10
=+++,则绘制其奈奎斯特图的程序如下:
》num=[1000];den=[1,8,17,10]; 》nyquist (num,den);grid 或
num=[1000];den=[1,8,17,10]; sys=tf(num,den); nyquist (sys); grid
运行程序,显示奈奎斯特曲线如图5-3 a)所示。可以看出在点(-1,j0)附近,奈奎斯特图很不清楚,可利用放大镜对得出的奈奎斯特图进行局部放大,或利用如下Matlab 命令
》v=[-10,0,-1.5,1.5];
》axis(v)
a) b)
图5-3 奈奎斯特局部图
例5-4 设某系统的开环传递函数为
2
210(s 2)(s)(s 1)(s 2s 9)
G +=+-+
则绘制其奈奎斯特图的程序如下:
》num=10*[1, 4, 4]; 》den=conv([1, 1],[1, -2,9]); 》nyquist (num,den); 》grid 或
num=10*[1,4,4];
》den=conv([1,1],[1,-2,9]); sys=tf(num,den); nyquist (sys); grid
运行程序,显示得图5-4 a)。
若规定实轴、虚轴范围(10,10),(-10,10),则绘制其奈奎斯特图的程序如下: 》num=10*[1 4 4]; den=conv([1 1],[1 -2 9]); 》nyquist (num,den); 》axis([-10,10,-10,10]) 运行程序,显示得图5-4 b)。
a )
b )
图 5-4 奈奎斯特曲线
5.3 用bode(sys)画对数坐标图
伯德图由对数幅频和对数相频两张图构成,ω轴采用对数分度,幅值为对数增益即分贝(dB ),相位()ϕω为线性分度。Matlab 中绘制伯德图的函数为bode( ),其调用格式为
[mag,phase,w]=bode(num,den,w) 或 sys=tf(num,den); bode(sys)
式中,G(s)=num/den ,频率ω自动选择范围从0.11000/rad s ωω==到,若自行选择频率范围,可应用logspace()函数,其格式为
ω=logspace(a,b,n)
式中,a 表示最小频率10a ,b 表示最大频率10b ,n 表示10a ~10b 之间频率点数。
例5-5 设某系统的传递函数为225(0.1s 1)
(s)10.6
s(0.5s 1)(s s 1)
5050
G +=
+++,则绘制其
伯德图的Matlab 程序如下:
>> num=5*[0.1 1];
>> den=conv([1 0],conv([0.5 1],[1/2500 0.6/50 1])); >> bode(num,den)
-150
-100
-50
M a g n i t u d e (d B )10
10
10
10
10
P h a s e (d e g )
Bode Diagram
Frequency (rad/sec)