第6章 MATLAB在信号与系统中的应用

上传人:cn****1 文档编号:567956161 上传时间:2024-07-22 格式:PPT 页数:74 大小:739.50KB
返回 下载 相关 举报
第6章 MATLAB在信号与系统中的应用_第1页
第1页 / 共74页
第6章 MATLAB在信号与系统中的应用_第2页
第2页 / 共74页
第6章 MATLAB在信号与系统中的应用_第3页
第3页 / 共74页
第6章 MATLAB在信号与系统中的应用_第4页
第4页 / 共74页
第6章 MATLAB在信号与系统中的应用_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《第6章 MATLAB在信号与系统中的应用》由会员分享,可在线阅读,更多相关《第6章 MATLAB在信号与系统中的应用(74页珍藏版)》请在金锄头文库上搜索。

1、第第6章章 MATLAB在信号与系统在信号与系统中的应用中的应用l6.1 连续信号及其表示连续信号及其表示l6.2 线性时不变系统线性时不变系统l6.3 连续时间系统的时域分析连续时间系统的时域分析l6.4 连续时间系统的变换域分析连续时间系统的变换域分析例例6-1 用用MATLAB命令绘制连续时间信号命令绘制连续时间信号 MATLAB程序程序t=0:0.01:10; %设定时间向量设定时间向量f=3*exp(-0.1*t).*cos(2*t); %产生信号产生信号f(t)plot(t,f) %绘制绘制f(t)xlabel(t),ylabel(f(t) %设定坐标轴名设定坐标轴名程序运行结果如

2、图:程序运行结果如图:6.1 连续信号及其表示连续信号及其表示MATLAB中,用等时间间隔点的样值来近似表示连续信号。中,用等时间间隔点的样值来近似表示连续信号。例6-2 用MATLAB命令绘制符号函数和阶跃信号。MATLAB程序程序t=-200:200; %设定时间向量设定时间向量f1=sign(t); %产生符号函数产生符号函数f2=1/2+f1/2; %产生单位阶跃信号产生单位阶跃信号subplot(1,2,1),plot(t,f1) %绘制符号函数绘制符号函数axis(-200 200 -1.1 1.1) %设置坐标范围设置坐标范围xlabel(t),ylabel(sgn(t) %设置

3、坐标轴名设置坐标轴名title(符号函数符号函数) %设置图名设置图名subplot(1,2,2),plot(t,f2) %绘制单位阶跃信号绘制单位阶跃信号axis(-200 200 -0.1 1.1) %设置坐标范围设置坐标范围title(单位阶跃信号单位阶跃信号) %设置图名设置图名xlabel(t),ylabel(u(t) %设置坐标轴名设置坐标轴名程序运行结果如图程序运行结果如图在在MATLAB中,还用函数中,还用函数stepfun()实现,实现,其调用格式为其调用格式为 stepfun(T,T0):T为时间向量;为时间向量;T0为跃变时刻;为跃变时刻;当当TT0时返回时返回1,且返回

4、的向量与,且返回的向量与T具有相同的长度具有相同的长度。t=linspace(-1,4,1000);x=t1;y=stepfun(t,1);subplot(1,2,1),plot(t,x)xlabel(t),ylabel(x),axis(-1.1 4.1 -0.1 1.1)subplot(1,2,2),plot(t,y)xlabel(t),ylabel(y)axis(-1.1 4.1 -0.1 1.1)表表6-1 常用的信号产生函数常用的信号产生函数函数名函数名函数功能函数功能函数名函数名函数功能函数功能square产生周期方波信号生周期方波信号rectpuls产生非周期方波生非周期方波信号信

5、号sawtooth产生周期生周期锯齿波、波、三角波信号三角波信号tripuls产生非周期三角生非周期三角波信号波信号sinc产生生sinc信号信号pulstran产生冲激串生冲激串chirp产生生调频余弦信号余弦信号diric产生生Dirichlet或或周期周期sinc函数函数gauspuls产生高斯正弦脉冲生高斯正弦脉冲信号信号gmonopuls产生高斯生高斯单脉冲脉冲信号信号例例6-3 产生一个频率为产生一个频率为50Hz的周期锯齿波。的周期锯齿波。MTALAB程序程序t=0:0.0001:0.2; %设定时间向量设定时间向量f=2*sawtooth(2*pi*50*t); %产生锯齿波信

6、号产生锯齿波信号plot(t,f) %绘制锯齿波信号绘制锯齿波信号title(锯齿波信号锯齿波信号) %加图名加图名6.2 线性时不变系统线性时不变系统l参数不随时间改变,且满足叠加性和均匀性参数不随时间改变,且满足叠加性和均匀性的系统称为的系统称为线性时不变(线性时不变(linear time invariant, LTI)系统。)系统。l分析分析LTI系统可采用时域方法或变换域方法如系统可采用时域方法或变换域方法如傅立叶变换、拉普拉斯变换和傅立叶变换、拉普拉斯变换和Z变换。变换。lLTI系统可分为连续时间系统和离散时间系统系统可分为连续时间系统和离散时间系统l描述描述连续连续LTI系统系统

7、方法:用常系数微分方程、方法:用常系数微分方程、系统的传递函数或状态方程。系统的传递函数或状态方程。(2) 连续系统的传递函数连续系统的传递函数函数函数功能功能调用格式用格式tf2ss传递函数模型函数模型转换为状状态空空间模型模型A,B,C,D=tf2ss(b,a)tf2zp传递函数模型函数模型转换为零零-极点极点增益模型增益模型z,p,k=tf2zp(b,a)ss2tf状状态空空间模型模型转换为传递函函数模型数模型b,a=ss2tf(A,B,C,D,iu) iu为输入量入量ss2zp状状态空空间模型模型转换为零零-极点极点增益模型增益模型z,p,k=ss2zp(A,B,C,D,iu) iu为

8、输入量入量zp2tf零零-极点增益模型极点增益模型转换为传递函数模型函数模型b,a=zp2tf(z,p,k)zp2ss零零-极点增益模型极点增益模型转换为状状态空空间模型模型A,B,C,D=zp2ss(z,p,k)表表6-2 系统模型转换函数系统模型转换函数 b=1 5 6;a=2 6 0 4; A,B,C,D=tf2ss(b,a)A = -3 0 -2 1 0 0 0 1 0B = 1 0 0C = 0.5000 2.5000 3.0000D = 0 z,p,k=tf2zp(b,a)z = -3.0000 -2.0000p = -3.1958 0.0979 + 0.7850i 0.0979

9、- 0.7850ik = 0.5000例例6-4 某某连续系系统的的传递函数函数为求求该系系统的状的状态空空间模型和零模型和零-极点增益模型。极点增益模型。例例6-5 某系某系统的的传递函数函数为求求该系系统的系数向量和状的系数向量和状态空空间模型。模型。 z=-1 -2;p=-3 -4 5;k=2; b,a=zp2tf(z,p,k)b = 0 2 6 4a = 1 2 -23 -60 A,B,C,D=zp2ss(z,p,k)A = 5.0000 0 0 1.0000 -7.0000 -3.4641 0 3.4641 0B = 1 0 0C = 2.0000 -8.0000 -5.7735D

10、= 0 A=-2 1;-3 0;B=2 1;C=1 0;D=1; b,a=ss2tf(A,B,C,D)b = 1.0000 4.0000 4.0000a = 1.0000 2.0000 3.0000 z,p,k=ss2zp(A,B,C,D)z = -2.0000 + 0.0000i -2.0000 - 0.0000ip = -1.0000 + 1.4142i -1.0000 - 1.4142ik = 16.3 连续时间系统的时域分析连续时间系统的时域分析LTI连续时间系统在时域中以常系数微分方连续时间系统在时域中以常系数微分方程来描述:程来描述:可利用可利用dsolve函数求解常系数微分方程来

11、函数求解常系数微分方程来得到。得到。解:先求零输入响应,再求零状态响应,然后两部分加在一起。解:先求零输入响应,再求零状态响应,然后两部分加在一起。MATLAB程序程序eq1=D2y+5*Dy+6*y=0; %设定零输入条件下的微分方程设定零输入条件下的微分方程ic1=y(0)=1,Dy(0)=1; %输入初始状态输入初始状态yzi=dsolve(eq1,ic1); %求解微分方程,得到零输入响应求解微分方程,得到零输入响应yzi=simplify(yzi) %化简零输入响应化简零输入响应eq2=D2y+5*Dy+6*y=exp(-t)*Heaviside(t); %设定给定输入条件下的微分方

12、程设定给定输入条件下的微分方程ic2=y(-0.01)=0,Dy(-0.01)=0; %设定初始状态为设定初始状态为0yzs=dsolve(eq2,ic2); %求解微分方程,得到零状态响应求解微分方程,得到零状态响应yzs=simplify(yzs) %化简零状态响应化简零状态响应y=yzi+yzs %全响应全响应运行程序,得到:运行程序,得到:yzi =4*exp(-2*t)-3*exp(-3*t)yzs =1/2*heaviside(t)*(exp(-t)-2*exp(-2*t)+exp(-3*t)y =4*exp(-2*t)-3*exp(-3*t)+1/2*heaviside(t)*(

13、exp(-t)-2*exp(-2*t)+exp(-3*t)MATLAB程序程序eq1=D2y+5*Dy+6*y=Dirac(t); %设定输入为冲激信号时的微分方程设定输入为冲激信号时的微分方程eq2=D2y+5*Dy+6*y=Heaviside(t); %设定输入为阶跃信号时的微分方程设定输入为阶跃信号时的微分方程ic=y(-0.01)=0,Dy(-0.01)=0; %设定初始状态为设定初始状态为0h=dsolve(eq1,ic); %求解微分方程,得到冲激响应求解微分方程,得到冲激响应h=simplify(h) %化简冲激响应化简冲激响应g=dsolve(eq2,ic); %求解微分方程,

14、得到阶跃响应求解微分方程,得到阶跃响应g=simplify(g) %化简阶跃响应化简阶跃响应求解例求解例6-7中系统的冲激响应和阶跃响应中系统的冲激响应和阶跃响应 程序运行结果为:程序运行结果为:h =-heaviside(t)*(exp(-3*t)-exp(-2*t)g =-1/6*heaviside(t)*(-1+3*exp(-2*t)-2*exp(-3*t)。MATLAB程序程序delta=0.01; %采样时间间隔采样时间间隔k1=0:delta:5; %信号信号f1对应的时间向量对应的时间向量k2=0:delta:5; %信号信号f2对应的时间向量对应的时间向量f1=sin(k1);

15、 %输入信号输入信号f1f2=exp(-2*k2); %输入信号输入信号f2f=ctconv(f1,k1,f2,k2,delta); %调用子函数调用子函数ctconv,计算计算f1和和f2的卷积的卷积%子函数子函数ctconv的定义如下的定义如下function f=ctconv(f1,k1,f2,k2,delta)f=delta*conv(f1,f2); %计算卷积,将结果赋给计算卷积,将结果赋给fk0=k1(1)+k2(1); %计算计算f序列非零样值的起始位置序列非零样值的起始位置k3=length(f1)+length(f2)-2; %计算计算f序列的长度序列的长度k=k0:delt

16、a:k0+k3*delta; %f序列对应的时间向量序列对应的时间向量例例6-8 已知已知计算计算时的卷积时的卷积subplot(2,2,1);plot(k1,f1); %在子图在子图1中绘制中绘制f1(t)xlabel(t);ylabel(f1(t);title(f1(t);subplot(2,2,2);plot(k2,f2); %在子图在子图2中绘制中绘制f2(t)xlabel(t);ylabel(f2(t);title(f2(t);subplot(2,2,3);plot(k,f); %在子图在子图3中绘制中绘制f(t)h=get(gca,position);h(3)=2.3*h(3);s

17、et(gca,position,h); %将子图将子图3的横坐的横坐标范围扩至原来的标范围扩至原来的2.3倍倍xlabel(t);ylabel(f(t);title(f(t)=f1(t)*f2(t);MATLAB程序程序delta=0.01; %采样时间间隔采样时间间隔k1=0:delta:5; %设定设定f对应的时间向量对应的时间向量k2=0:delta:4; %设定设定h对应的时间向量对应的时间向量f=exp(-k1); %激励信号激励信号f1a=1 5 6; %系数向量系数向量b=1;r,p,k=residue(b,a); %极点留数法求冲激响应极点留数法求冲激响应h=r(1)*exp(

18、p(1)*k2)+r(2)*exp(p(2)*k2);y=ctconv(f,k1,h,k2,delta); %调用子函数调用子函数ctconv,计算计算零状态响应零状态响应(1) impulse() :单位冲激响应,调用格式:impulse(sys):绘制系统的单位冲激响应。impulse(sys,t):绘制在指定时间范围内系统的单位冲激响应。y=impulse(sys,t):参数同上,不绘图,将结果保留在y中。MATLAB提供提供 的求解系统响应的函数的求解系统响应的函数。(2) step()函数:求阶跃响应,调用格式:函数:求阶跃响应,调用格式:lstep(sys):绘制系统的阶跃响应。:

19、绘制系统的阶跃响应。lstep (sys,t):绘制在指定时间范围内系统的阶跃响应。:绘制在指定时间范围内系统的阶跃响应。l y= step(sys,t):参数同上,不绘图,将结果保留在:参数同上,不绘图,将结果保留在y中。中。(3) lsim()函数:求时域响应,调用格式:函数:求时域响应,调用格式: lsim(sys,u,t):在:在t指定的时间范围内绘制当输入为指定的时间范围内绘制当输入为u时系时系统的零状态响应波形。统的零状态响应波形。y = lsim(sys,u,t):参数同上,不绘图,将结果保留在:参数同上,不绘图,将结果保留在y中。中。lsim(sys,u,t,x0):在:在t指

20、定的时间范围内绘制当输入为指定的时间范围内绘制当输入为u时时系统的全响应波形。系统的全响应波形。y= lsim(sys,u,t,x0):参数同上,不绘图,将结果保留在:参数同上,不绘图,将结果保留在y中。中。 (4) (4) initial()函数:求零输入响应调用格式:函数:求零输入响应调用格式:initial(sys,x0):绘制当初始状态为:绘制当初始状态为x0时系统的零时系统的零输入响应波形。输入响应波形。initial(sys,x0,t):在:在t指定的时间范围内绘制当初始指定的时间范围内绘制当初始状态为状态为x0时系统的零输入响应波形。时系统的零输入响应波形。y= initial(

21、sys,x0,t):参数同上,不绘图,将结果保:参数同上,不绘图,将结果保留在留在y中。中。注意:注意: 调用调用impulse()、step()和和lsim()时的系统模时的系统模型可以是传递函数模型,也可以是状态空间模型,型可以是传递函数模型,也可以是状态空间模型,但调用但调用initial()时的系统模型时的系统模型sys必须是状态空间模必须是状态空间模型。型。MATLAB程序程序a=2 1 4; %设定系数向量设定系数向量ab=1 1; %设定系数向量设定系数向量bsys=tf(b,a); %得到系统的传递函数模型得到系统的传递函数模型A, B,C,D=tf2ss(b,a); %由传递

22、函数模型求得状态空间模由传递函数模型求得状态空间模型型sys1=ss(A,B,C,D); %状态空间模型状态空间模型y0=1 0; %输入系统的初始条件输入系统的初始条件t=0:0.01:5; %设定时间向量设定时间向量f=exp(-t); %系统输入系统输入 subplot(2,2,1);impulse(sys,t); %impulse(b,a,t), 绘制系统的单位冲激响应绘制系统的单位冲激响应 subplot(2,2,2);step(sys,t); %绘制系统的阶跃响应绘制系统的阶跃响应 subplot(2,2,3);initial(sys1,y0,t); % initial(A,B,C

23、,D,y0,t)绘制系统的零输入响应绘制系统的零输入响应 subplot(2,2,4);lsim(sys,f,t); %绘制系统的零状态响应绘制系统的零状态响应%也可以先求出各种响应,再绘制出来,具体如下也可以先求出各种响应,再绘制出来,具体如下 y1=impulse(sys,t); subplot(2,2,1);plot(t,y1); y2=step(sys,t); subplot(2,2,2);plot(t,y2); y3=initial(sys1,y0,t); subplot(2,2,3);plot(t,y3); y4=lsim(sys,f,t); subplot(2,2,4);plot

24、(t,y4);%直接绘制各种响应直接绘制各种响应6.4 连续时间系统的变换域分析连续时间系统的变换域分析MATLAB程序程序T=4;tao=2; %设定矩形脉冲信号的周期和脉冲宽度设定矩形脉冲信号的周期和脉冲宽度w=2*pi/T; %基频基频a0=quadl(abs(t)=1,-2,2)/T; %求求a0N=100; %设定最大谐波数设定最大谐波数an=zeros(1,N);bn=zeros(1,N); %初始化初始化an和和bnfor k=1:N an(k)=quadl(rectcos,-2,2,k,w)*2/T; %计算计算an bn(k)=quadl(rectsin,-2,2,k,w)*

25、2/T; %计算计算bnend例例6-11 6-11 利用利用MATLABMATLAB将重复周期为将重复周期为4 4、脉冲宽度为、脉冲宽度为2 2、脉冲、脉冲幅度为幅度为1 1的矩形波信号展开成傅立叶级数。的矩形波信号展开成傅立叶级数。x=pulstran(t,-6:4:6,rectpuls,2); %生成周期矩形脉冲信号subplot(3,2,1);plot(t,x); %绘制周期矩形脉冲信号xlabel(t);ylabel(Amplitude);axis(-4,4,-0.2,1.2);grid on;title(Rectangular wave);%有限项级数逼近k_max=1 10 30

26、 50 100; %最大谐波数向量for m=1:length(k_max)f=a0;for k=1:k_max(m) f=f+an(k)*cos(k*w*t)+bn(k)*sin(k*w*t);endsubplot(3,2,m+1);plot(t,f);grid on;xlabel(t);ylabel(Partial Sum);axis(-4,4,-0.2,1.2);title(Max Harmonics=,num2str(k_max(m);end %绘制周期矩形脉冲信号绘制周期矩形脉冲信号t=-4:0.01:4; %设定时间向量设定时间向量其中用到两个自定义的子函数:rectcos和rec

27、tsin,它们的定义如下:function y=rectcos(t,n,w)y=(abs(t)=1).*cos(n*w*t);function y=rectsin(t,n,w)y=(abs(t)0 phi(k)=pi; endend end%绘制幅度谱和相位谱n=1:N;subplot(1,2,1);stem(n*w,cn);xlabel(nw);ylabel(cn);axis(0,21,0,0.6);title(幅度谱);subplot(1,2,2);stem(n*w,phi);xlabel(nw);ylabel(phi);axis(0,21,0,3.5);title(相位谱); 例6-12

28、中周期矩形波的脉冲宽度不变,将重复周期由原来的6变为10,重绘其幅度谱,与上图6-9相比较,可以看出,当脉冲宽度不变、周期增大时,谱线的幅度随之减小,谱线之间的间隔变小,谱线更密。 例6-12中周期矩形波的周期不变,脉冲宽度由原来的2变为1,其幅度谱如下,与图6-9相比较,可以看出,当周期不变、脉冲宽度减小时,谱线的幅度随之减小,信号频带宽度增加。6.4.2 傅立叶变换傅立叶变换MATLAB程序syms t; %定义符号变量tf=sym(Heaviside(t+1)-sym(Heaviside(t-1); %输入符号函数fF=fourier(f); %求f的傅立叶变换Fezplot(abs(F

29、); %绘制幅度谱例6-14 进行逆傅立叶变换 syms x w u v; F1=exp(-w2/4); %符号函数的变量是w f1=ifourier(F1) %返回函数的参量是默认变量xf1 =1/pi(1/2)*exp(-x2) F2=exp(-abs(x); %符号函数的变量是x f2=ifourier(F2) %返回函数的参量是变量tf2 =1/(1+t2)/pi F3=2*exp(-abs(w)-1; %符号函数的变量是w f3=ifourier(F3,u) %返回函数的参量是指定变量uf3 =-dirac(u)+2/pi/(1+u2)T=4; %时间宽度时间宽度N=200; %时域

30、采样点数时域采样点数delta=T/N; %时域采样间隔时域采样间隔t=linspace(-T/2,T/2-T/N,N); %时间向量时间向量f=(t=-1)-(t=1); %f(t)f1=f.*exp(-j*10*t); %f1(t)f2=f.*exp(j*10*t); %f2(t)W=20*pi; %频域范围频域范围K=1000; %频域采样点数频域采样点数w=linspace(-W/2,W/2-W/K,K); %频率序列频率序列F=f*exp(-j*t*w)*delta; %计算计算f(t)的傅立叶变换的傅立叶变换F(jw)F1=f1*exp(-j*t*w)*delta; %计算计算f1

31、(t)的傅立叶变换的傅立叶变换F1(jw)F2=f2*exp(-j*t*w)*delta; %计算计算f2(t)的傅立叶变换的傅立叶变换F2(jw)F=real(F);F1=real(F1);F2=real(F2);subplot(3,1,1);plot(w,F);xlabel(w);ylabel(F(jw);title(频谱频谱F(jw)subplot(3,1,2);plot(w,F1);xlabel(w);ylabel(F1(jw);title(F(jw)左移到左移到w=-10处的频谱处的频谱F1(jw)subplot(3,1,3);plot(w,F2);title(F(jw)右移到右移到

32、w=10处的频谱处的频谱F2(jw) 6.4.3 连续时间系统的频域分析连续时间系统的频域分析MATLAB提供了求解系统提供了求解系统频率响应的函数频率响应的函数freqs(),其调用格式如下:其调用格式如下:(1) h = freqs(b,a,w):返回在指定频率范围:返回在指定频率范围w内系统的频内系统的频率响应,其中率响应,其中b和和a是系统对应的常系数微分方程的系数向是系统对应的常系数微分方程的系数向量。量。(2) h,w = freqs(b,a):返回默认频率范围内:返回默认频率范围内200个频率个频率点的系统频率响应的样值和这点的系统频率响应的样值和这200频率点。频率点。(3)

33、h,w = freqs(b,a,f):返回默认频率范围内:返回默认频率范围内f个频率点个频率点的系统频率响应的样值和这的系统频率响应的样值和这f个频率点。个频率点。(4) freqs(b,a):以对数坐标绘制系统的幅频特性和相频:以对数坐标绘制系统的幅频特性和相频特性。特性。MATLAB程序程序b=2;a=1 5 6; %分子、分母多项式系数向量分子、分母多项式系数向量w=logspace(-1,1); %设定频率向量设定频率向量figure(1);freqs(b,a,w); %绘制系统的频率响应绘制系统的频率响应%还可以先求出系统的频率响应,再绘制其幅频特性和相频特性还可以先求出系统的频率响

34、应,再绘制其幅频特性和相频特性H=freqs(b,a,w); %求频率响应求频率响应mag=abs(H); %取频率响应的模取频率响应的模phase=angle(H)*180/pi; %取频率响应的相位,并转换成角度取频率响应的相位,并转换成角度figure(2);subplot(2,1,1),loglog(w,mag) %以对数坐标绘制幅频特性曲线以对数坐标绘制幅频特性曲线xlabel(Frequency(rad/s),ylabel(Magnitude),gridsubplot(2,1,2),semilogx(w,phase) %以对数坐标绘制相频特性曲线以对数坐标绘制相频特性曲线xlabe

35、l(Frequency(rad/s),ylabel(Phase(degrees),grid%下面是以线性坐标绘制频响特性曲线下面是以线性坐标绘制频响特性曲线figure(3);subplot(2,1,1),plot(w,mag) %以线性坐标绘制幅频特性曲线以线性坐标绘制幅频特性曲线xlabel(Frequency(rad/s),ylabel(Magnitude),gridsubplot(2,1,2),plot(w,phase) %以线性坐标绘制相频特性曲线以线性坐标绘制相频特性曲线xlabel(Frequency(rad/s),ylabel(Phase(degrees),grid(a)直接绘

36、制系统的(b)幅频特性和相频特性(b) 先求系统频响,再以对数坐标绘制其特性曲线(c) 先求系统频响,再以线性坐标绘制其特性曲线例例6-17 某一某一LTI连续时间系统由连续时间系统由 表征,求该系统的频率响应。表征,求该系统的频率响应。MATLAB程序程序b=1 8 -6 4;a=10 5; %设定分子、分母多项式系数向量设定分子、分母多项式系数向量w=-20:0.05:20; %设定频率向量设定频率向量H=freqs(b,a,w); %求频率响应求频率响应mag=abs(H); %取频率响应的模取频率响应的模phase=angle(H)*180/pi; %取频率响应的相位,并转换成角度取频

37、率响应的相位,并转换成角度subplot(2,1,1),plot(w,mag) %以线性坐标绘制幅频特性曲线以线性坐标绘制幅频特性曲线xlabel(Frequency(rad/s),ylabel(Magnitude),gridsubplot(2,1,2),plot(w,phase) %以线性坐标绘制相频特性曲线以线性坐标绘制相频特性曲线xlabel(Frequency(rad/s),ylabel(Phase(degrees),grid 图图6-15 系统的幅频特性和相频特性系统的幅频特性和相频特性6.4.4 拉普拉斯变换拉普拉斯变换例6-18 进行Laplace变换 syms t s a z

38、w f1=t4; %符号函数的自由变量为t L1=laplace(f1) %返回函数的参量为默认变量sL1 =24/s5 f2=1/sqrt(s); %符号函数的自由变量为s L2=laplace(f2) %返回函数的参量为变量tL2 =(pi/t)(1/2) f3=exp(-a*t); %符号函数的自由变量为t L3=laplace(f3,z) %返回函数的参量为指定变量zL3 =1/(z+a) f4=abs(t)*exp(-a*abs(w); %符号函数有两个自由变量:t和w L4=laplace(f4,w,z) %对参量为w的函数进行拉氏变换,%返回函数的参量为指定变量zL4 = abs

39、(t)/(z+a)MATLAB程序程序syms s;F=sym(2*s/(s2+1)2);f=ilaplace(F);subplot(121);ezplot(F);subplot(122);ezplot(f);6.4.5 连续时间系统的复频域分析连续时间系统的复频域分析MATLAB程序程序b=1 -4 5;a=3 2 -4 6; %分子、分母多项式系数向量分子、分母多项式系数向量%求零极点求零极点zeros=roots(b); %求系统函数的零点求系统函数的零点poles=roots(a); %求系统函数的极点求系统函数的极点%利用利用plot绘制系统函数的零极点图绘制系统函数的零极点图x=m

40、ax(max(abs(zeros),max(abs(poles); %确定离坐标原点最远的零极点的距离确定离坐标原点最远的零极点的距离x=x+0.1; %确定横坐标范围确定横坐标范围y=x; %确定纵坐标范围确定纵坐标范围axis(-x x -y y); %设置坐标轴的显示范围设置坐标轴的显示范围figure(1), hold onplot(-x x,0 0); %绘制横坐标轴绘制横坐标轴plot(0 0,-y y); %绘制纵坐标轴绘制纵坐标轴plot(real(zeros),imag(zeros),o); %绘制零点绘制零点plot(real(poles),imag(poles),X);

41、%绘制极点绘制极点title(Pole-Zero Map); %加图题加图题text(0.1,x-0.2,Imaginary Axis); %标注虚轴标注虚轴text(y-0.5,0.2,Real Axis); %标注实轴标注实轴%直接利用直接利用pzmap函数绘制系统函数的零极点图函数绘制系统函数的零极点图sys=tf(b,a); %系统函数系统函数figure(2),pzmap(sys); %绘制系统函数的零极点图绘制系统函数的零极点图%绘制系统的幅频特性和相频特性绘制系统的幅频特性和相频特性figure(3),freqs(b,a);运行程序,系统函数的零点为:运行程序,系统函数的零点为:zeros=2.0000 + 1.0000i 2.0000 - 1.0000i极点为:极点为:poles= -1.9115 0.6224 + 0.8117i 0.6224 - 0.8117i(a) 用plot绘制的系统函数零极点图(b) 用pzmap函数绘制的系统函数零极点图MATLAB程序b=1 4;a=1 6 11 6;r,p,k=residue(b,a)程序运行结果为:r = 0.5000 -2.0000 1.5000p = -3.0000 -2.0000 -1.0000k =

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号