计算机与信息工程学院设计性实验报告
一、实验目的
1.掌握用matlab 分析系统时间响应的方法
2.掌握用matlab 分析系统频率响应的方法
3.掌握系统零、极点分布与系统稳定性关系
二、实验原理
1.系统函数H(s)
系统函数:系统零状态响应的拉氏变换与激励的拉氏变换之比. H(s)=R(s)/E(s)
在matlab 中可采用多种方法描述系统,本文采用传递函数(系统函数)描述法. 在matlab 中, 传递函数描述法是通过传递函数分子和分母关于s 降幂排列的多项式系数来表示的.例如,某系统传递函数如下
)1(8
.03.11
)(2+++=s s s s H
则可用如下二个向量num 和den 来表示: num=[1,1];den=[1,1.3,0.8] 2.用matlab 分析系统时间响应
1)脉冲响应
y=impulse(num,den,T)
T:为等间隔的时间向量,指明要计算响应的时间点. 2)阶跃响应
y=setp(num,den,T) T 同上.
3)对任意输入的响应 y=lsim(num,den,U,T) U:任意输入信号. T 同上.
3.用matlab 分析系统频率响应特性
频响特性: 系统在正弦激励下稳态响应随信号频率变化的特性.
()()()
()j s j H j H s H j e φωω
ωω===
|H(j ω)|:幅频响应特性.
ϕ(ω):相频响应特性(或相移特性).
Matlab 求系统频响特性函数freqs 的调用格式: h=freqs(num,den,ω)
ω:为等间隔的角频率向量,指明要计算响应的频率点. 4.系统零、极点分布与系统稳定性关系
系统函数H(s)集中表现了系统的性能,研究H(s)在S 平面中极点分布的位置,可很方面地判断系统稳定性.
1) 稳定系统: H(s)全部极点落于S 左半平面(不包括虚轴),则可以满足
0)]([lim =∞
→t h t
系统是稳定的.
2)不稳定系统: H(s)极点落于S 右半平面,或在虚轴上具有二阶以上极点,则在足够长时间后,h(t)仍继续增长, 系统是不稳定的.
3)临界稳定系统: H(s)极点落于S 平面虚轴上,且只有一阶,则在足够长时间后,h(t)趋于一个非零数值或形成一个等幅振荡.
系统函数H(s)的零、极点可用matlab 的多项式求根函数roots()求得. 极点:p=roots(den) 零点:z=roots(num)
根据p 和z 用plot()命令即可画出系统零、极点分布图,进而分析判断系统稳定性.
三、实验内容
设()(1)(2)
s
H s s p s p =
--
设①p1=-2,p2=-30; ②p1=-2,p2=3
1. 针对极点参数①②, 画出系统零、极点分布图, 判断该系统稳定性.
2. 针对极点参数①②,绘出系统的脉冲响应曲线,并观察t →∞时, 脉冲响应变化趋势.
3. 针对极点参数①, 绘出系统的频响曲线.
四、实验要求
1.预习实验原理;
2.对实验内容编写程序(M 文件),上机运行; 3.绘出实验内容的各相应曲线或图。
五、实验设备
1.装MATLAB 软件的计算机 1台
六、实验步骤及结果
1、针对极点参数①②, 画出系统零、极点分布图, 判断该系统稳定性. 已知:()(1)(2)
s
H s s p s p =
--
①p1=-2,p2=-30 则()(+2)(+30)
s
H s s s =
则1den =[1 32 60]; 1num =[1 0];
②p1=-2,p2=3
则()(+2)(+3)
s
H s s s =
则2den =[1 5 6]; 2num =[1 0]; 编写程序如下:
num=[1 0];
den=conv([1,2],[1,30]); sys=tf(num,den); poles=roots(den) figure(1); pzmap(sys);
grid on
num=[1 0]; den=conv([1,2],[1,-3]); sys=tf(num,den); poles=roots(den) figure(2); pzmap(sys);
grid on 系统零、极点分布图如下图所示:
因为系统一H(s)全部极点落于S 左半平面(不包括虚轴),所以该系统是稳定的。
-30
-25
-20
-15
-10
-5
P ole-Zero Map
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
P ole-Zero Map
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
因为系统二H(s)有极点3落于S 右半平面 ,并不是所有极点落在S 左半平面,所以该系统是不稳定的。
2、针对极点参数①②,绘出系统的脉冲响应曲线,并观察t →∞时, 脉冲响应变化趋势. 编写程序如下:
t=0:0.01:3;
sys1=tf([1 0],[1 32 60]); sys2=tf([1 0],[1 -1 -6]); y1=impulse(sys1,t); y2=impulse(sys2,t);
subplot(1,2,1),plot(t,y1),gtext('H1(t)'),xlabel('t'),ylabel('H1(t)'),title('当p1=-2,p2=-30时的脉冲响应曲线');
subplot(1,2,2),plot(t,y2),gtext('H2(t)'),xlabel('t'),ylabel('H2(t)'),title('当p1=-2,p2=3时的脉冲响应曲线');
绘出系统的脉冲响应曲线如下图:
图一:()1lim t 0t H →∞
=
01
23
-0.2
0.2
0.4
0.60.8
1
1.2
t
H 1(t )
当p1=-2,p2=-30时的脉冲响应曲线01
23
500
10001500
20002500300035004000
4500
5000t
H 2(t )
当p1=-2,p2=3时的脉冲响应曲线
图二:()2lim t t H →∞
=∞
3、针对极点参数①, 绘出系统的频响曲线. 参数①:p1=-2,p2=-30
即:1den =[1 32 60]; 1num =[1 0]; 编写程序如下:
w=-100:.01:100; num=[1];den=[1 32 60]; y=freqs(num,den,w); plot(w,y)
axis([-100 100 -0.001 0.02]);
七、实验小结
-400
-300
-200
-100
100
200
300
400
00.005
0.010.0150.020.0250.03
0.035当p1=-2,p2=-30时,系统的频响曲线
1.灵活运用axis 函数可以获得最佳的图形相貌,以便于研究问题。
2.灵活运用gtext ,xlabel ,ylabel ,title ,grid 函数可增加图形的可读性,使图形更加直观
3.在①p1=-2,p2=-30中,最后求得1num =[1 0];此处容易使1num =[1];使计算结果出错。
教师签名:
年 月 日。