1、实验一 熟悉 MATLAB 软件三、程序验证实验例 1-1 指数信号 指数信号在 MATLAB 中用 exp 函数表示。如 ,调用格式为 ft=A*exp(a*t) 程序是atAetf)(A=1; a=-0.4;t=0:0.01:10; %定义时间点ft=A*exp(a*t); %计算这些点的函数值plot(t,ft); %画图命令,用直线段连接函数值表示曲线grid on; %在图上画方格例 1-2 正弦信号 正弦信号在 MATLAB 中用 sin 函数表示。调用格式为 ft=A*sin(w*t+phi)A=1; w=2*pi; phi=pi/6;t=0:0.01:8; %定义时间点ft=A
2、*sin(w*t+phi); %计算这些点的函数值plot(t,ft); %画图命令grid on; %在图上画方格例 1-3 抽样信号 抽样信号 Sa(t)=sin(t)/t 在 MATLAB 中用 sinc 函数表示。定义为 )/(sin)(tctSat=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;axis(-10,10,-0.5,1.2); %定义画图范围,横轴,纵轴title(抽样信号) %定义图的标题名字例 1-4 三角信号 三角信号在 MATLAB 中用 tripuls 函数表示。调用格式为 ft=tripuls(t,wid
3、th,skew),产生幅度为 1,宽度为 width,且以 0 为中心左右2各展开 width/2 大小,斜度为 skew 的三角波。width 的默认值是 1,skew 的取值范围是-1+1 之间。一般最大幅度 1 出现在 t=(width/2)*skew 的横坐标位置。t=-3:0.01:3;ft=tripuls(t,4,0.5);plot(t,ft); grid on;axis(-3,3,-0.5,1.5);例 1-5 虚指数信号 调用格式是 f=exp(j*w)*t)t=0:0.01:15;w=pi/4;X=exp(j*w*t);Xr=real(X); %取实部 Xi=imag(X);
4、 %取虚部Xa=abs(X); %取模Xn=angle(X); %取相位subplot(2,2,1),plot(t,Xr),axis(0,15,-(max(Xa)+0.5),max(Xa)+0.5),title(实部 );subplot(2,2,3),plot(t,Xi),axis(0,15,-(max(Xa)+0.5),max(Xa)+0.5),title(虚部 );subplot(2,2,2), plot(t,Xa),axis(0,15,0,max(Xa)+1),title(模);subplot(2,2,4),plot(t,Xn),axis(0,15,-(max(Xn)+1),max(Xn
5、)+1),title(相角);%subplot(m,n,i) 命令是建立 m 行 n 列画图窗口,并指定画图位置 i例 1-6 复指数信号 调用格式是 f=exp(a+j*b)*t)t=0:0.01:3;a=-1;b=10;f=exp(a+j*b)*t); subplot(2,2,1),plot(t,real(f),title(实部)subplot(2,2,3),plot(t,imag(f),title(虚部) subplot(2,2,2),plot(t,abs(f),title(模)subplot(2,2,4),plot(t,angle(f),title(相角)例 1-7 矩形脉冲信号 矩形
6、脉冲信号可用 rectpuls 函数产生,调用格式为 y=rectpuls(t,width),幅度是 1,宽度是 width,以 t=0 为对称中心。t=-2:0.01:2;3width=1;ft=2*rectpuls(t,width);plot(t,ft)grid on;例 1-8 单位阶跃信号 单位阶跃信号 u(t)用“t=0” 产生,调用格式为 ft=(t=0)t=-1:0.01:5;ft=(t=0);plot(t,ft); grid on;axis(-1,5,-0.5,1.5)四、程序设计实验编制程序,生成如下连续信号:(1) )(2()tuetft=-1:0.01:10 ; % 定义
7、时间点.A=2;a=-2; f_step=(t=0); %产生阶跃函数ft=(A-exp(a*t).*f_step; % 产生函数 ftplot(t,ft,r);grid on;axis(-2,12,-1,2.5);Xlabel(x);Ylabel(ft);(2) )2()cos1()tuttft=-1:0.01:4;t0=2;A=1;f_step1=(t=0);f_step2=(t=2);f_win=f_step1-f_step2; % 产生窗函数ft=(A+cos(pi*t).*f_win;plot(t,ft,r);grid on;axis(-2,5,-0.5,2.5);4实验二 连续时间
8、信号的运算四、程序设计实验1.连续信号的时域运算和时域变换1)设信号 f(t)=(1+t/2)*u(t+2)-u(t-2),求 f(t+2),f(t-2) ,f(-t),f(2t)和 f(-3t-2),并画出其时域波形。(MATTLAB 符号数学函数 Heaviside 表示阶跃信号)syms t ft ft1 ft2 ft3 ft3 ft4 f_windf_wind=heaviside(t+2)-heaviside(t-2);ft=(1+0.5*t)*f_wind;ft1=subs(ft,t,t-2);ft2=subs(ft,t,t+2);ft3=subs(ft,t,-t);ft4=subs
9、(ft,t,2*t);syms ft5;ft5=subs(ft,t,-3*t-2);subplot(2,3,1),ezplot(ft);subplot(2,3,2),ezplot(ft1);subplot(2,3,3),ezplot(ft2);subplot(2,3,4),ezplot(ft3);subplot(2,3,5),ezplot(ft4);subplot(2,3,6),ezplot(ft5);2)已知信号 f1(t)=(-t+4)u(t)-u(t-4)和信号 f2(t)=sin(2*pi*t),求 f3(t)=f1(t)+f2(t)和 f4(t)=f1(t)f2(t),并画出波形。s
10、yms t ft1 ft2 ft3 ft4 ;ft1=(-t+4)*(heaviside(t)-heaviside(t-4);ft2=sin(2*pi*t);ft3= ft1+ft2;ft4= ft1*ft2;subplot(1,2,1),ezplot(ft3),grid on;subplot(1,2,2),ezplot(ft4),grid on;2.连续信号的卷积计算1)两个连续信号 f1(t)和 f2(t)的图形如下,用 MATLAB 计算卷积 f(t)=f1(t)*f2(t),并绘出 f(t)的时域波形。Comment YUN1: 思考为什么5p=0.01;k1=0:p:2;k2=0:p
11、:2;ft1=1/2*k1; %ft1=1/2*k1.*(heaviside(k1)-heaviside(k1-2); ft2=1/2*k2; %ft2=1/2*k2.*(heaviside(k2)-heaviside(k2-2); ft,k=sconv(ft1,ft2,k1,k2,p);2)用 MATLAB计算信号 f1(t)=e-2tu(t)和 f2(t)=e-tu(t)的卷积,并绘出 f(t)的时域波形。p=0.01;k1=0:p:5; k2=0:p:5;f1=exp(-2*k1);f2=exp(-1*k2);f,k=sconv(f1,f2,k1,k2,p);实验三 连续 LTI系统的时
12、域分析三、程序验证实验【例一】求系统 的冲激响应和阶跃响应。)t(x93)t(y86)t(y (1)系统的冲激响应的 MATLAB程序如下:b=3,9;a=1,6,8;sys=tf(b,a);t=0:0.1:10;y=impulse(sys,t);plot(t,y) ;xlabel(时间(t) ;ylabel(y(t) ;title(单位冲激响应);系统的冲激响应曲线如图所示:60 1 2 3 4 5 6 7 8 9 1000.511.522.53似似(t)y(t)似似似似似似(2)系统的阶跃响应的 MATLAB 程序如下:b=3,9;a=1,6,8;sys=tf(b,a);t=0:0.1:1
13、0;y=step(sys,t);plot(t,y) ;xlabel(时间(t) ;ylabel(y(t) ;title(单位阶跃响应);系统的阶跃响应曲线如图所示:0 1 2 3 4 5 6 7 8 9 1000.20.40.60.811.21.4似似(t)y(t)似似似似似似【例二】求系统 的全响应。y0,tcos()ty( (1)系统在正弦激励下的零状态响应。MATLAB 程序如下:b=1 ;a=1,0,1 ;sys=tf(b,a) ;t=0 :0.1 :10 ;x=cos(t);y=lsim(sys,x,t) ;plot(t,y) ;xlabel(时间);ylabel(y(t) ;tit
14、le(零状态响应);系统的零状态响应曲线如图所示。70 1 2 3 4 5 6 7 8 9 10-3-2-101234似似y(t)似似似似似(2)系统的全响应。MATLAB 程序如下:b=1 ;a=1,0,1 ;A B C D=tf2ss(b,a) ;sys=ss(A,B,C,D);t=0 :0.1 :10 ;x=cos(t);zi=-1,0 ;y=lsim(sys,x,t,zi) ;plot(t,y) ;xlabel(时间);ylabel(y(t) ;title(系统的响应);系统的全响应曲线如图所示。0 1 2 3 4 5 6 7 8 9 10-3-2-10123似似y(t)似似似似似【例
15、三】已知某 LTI 系统的激励为 ,单位冲激响应为 ,)t(usin)t(f)t(ue)t(h2试画出激励信号 ,单位冲激响应 ,系统零状态响应 的图形。)t(fh)t(yfMATLAB 程序如下:T=0.1;t=0:T:10;f=3.*t.*sin(t);h=t.*exp(-2*t);lf=length(f);lh=length(h);8for k=1:lf+lh-1y(k)=0;for i=max(1,k-(lh-1):min(k,lf)y(k)=y(k)+f(i)*h(k-i+1);endyzsappr(k)=T*y(k);endsubplot(3,1,1);plot(t,f);titl
16、e(f(t);subplot(3,1,2);plot(t,h);title(h(t);subplot(3,1,3);plot(t,yzsappr(1:length(t);title(零状态响应近似结果);xlabel(时间);系统的响应曲线如图所示。0 1 2 3 4 5 6 7 8 9 10-2002040 f(t)0 1 2 3 4 5 6 7 8 9 1000.10.2 h(t)0 1 2 3 4 5 6 7 8 9 10-505 似似似似似似似似似似似四、程序设计实验(1)计算下述系统在指数函数激励下的零状态响应。 s1.823s8.97463s9.0906.51.5)s(H6 b=1
17、.65,-0.331,-576,90.6,19080 ;a=1,0.996,463,97.8,12131,8.11,0 ;A B C D=tf2ss(b,a) ;sys=ss(A,B,C,D) ;x=-2 ;t=0 :0.01 :10 ;y=exp(x.*t) ;ft=lsim(sys,y,t) ;plot(t,ft);title( exp zero-state response) ;9(2)计算下述系统在冲激、阶跃、斜坡和正弦激励下的零状态响应。 )t(f0564.f189.0)t(f248.0)t(f475.0 )t(y37.y23ty36.y63ty )()1()2()()( b=-0.
18、475,-0.248,-0.1189,-0.0564 ;a=1,0.6363,0.9396,0.5123,0.0037 ;sys=tf(b,a) ;t=0 :0.1 :10 ;y1=impulse(sys,t) ;y2=step(sys,t) ;x1=t ; x2=sin(t) ;y3=lsim(sys,x1,t) ;y4=lsim(sys,x2,t) ;subplot(2,2,1) ;plot(t,y1) ;title(impulse zero state response) ;subplot(2,2,2) ;plot(t,y2) ; title(step zero state respon
19、se) ;subplot(2,2,3) ;plot(t,y3) ; title(slope zero state respons) ;subplot(2,2,4) ;plot(t,y4 ); title(sin(t) zero state response) ;(3)已知某线性时不变系统的动态方程式为: 0t),(f3t2)t(y4t)t(y 系统的初始状态为 ,求系统的零输入响应 。1,0 )t(yxeq=D2y+4*Dy+4*y=0;cond=y(0)=2,Dy(0)=1;yx=dsolve(eq,cond);ezplot(yx,0,10);xlabel(t);ylabel(yx(t);t
20、itle(系统的零输入响应);grid on;axis(0,5,0,2.5);10实验四 连续系统的频域分析三、程序验证实验1.周期信号的分解【例 1】用正弦信号的叠加近似合成一个频率为 的方波。50HzMATLAB 程序如下:clear all;fs=10000;t=0:1/fs:0.1;f0=50;sum=0;subplot(211)for n=1:2:9plot(t,4/pi*1/n*sin(2*pi*n*f0*t),k);hold on;endtitle(信号叠加前);subplot(212)for n=1:2:9;sum=sum+4/pi*1/n*sin(2*pi*n*f0*t);e
21、ndplot(t,sum,k);title(信号叠加后);产生的波形如图所示:110 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1-2-1012 似似似似似0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1-2-1012 似似似似似2.傅里叶变换和逆变换的实现求傅里叶变换,可以调用 fourier 函数,调用格式为 F=fourier(f,u,v),是关于 u 的函数 f 的傅里叶变换,返回函数 F 是关于 v 的函数。求傅里叶逆变换,可以调用 ifourier 函数,调用格式为 f=ifou
22、rier(F,v,u),是关于 v 的函数 F的傅里叶逆变换,返回函数 f 是关于 u 的函数。【例 2】已知连续信号 ,通过程序完成其傅里叶变换。2()teMATLAB 程序如下:syms t;f=fourier(exp(-2*abs(t);ezplot(f) ;得到的傅里叶变换如图所示:12-6 -4 -2 0 2 4 600.10.20.30.40.50.60.70.80.91w4/(4+w2)【例 3】已知连续信号 ,通过程序完成其傅里叶逆变换。21()FjMATLAB 程序如下:syms t w ifourier(1/(1+w2),t) 得到的结果为:ans =1/2*exp(-t)
23、*heaviside(t)+1/2*exp(t)*heaviside(-t)图形如图所示:-3 -2 -1 0 1 2 300.050.10.150.20.250.30.350.40.450.5t1/2 exp(-t) heaviside(t)+1/2 exp(t) heaviside(-t)3.傅里叶变换的性质举例联系傅里叶变换的时移特性和频移特性。【例 4】分别绘出信号 和 的频谱,求 的频谱。21()()tfte1)ft 21()()tfteMATLAB 程序如下:r=0.02;t=-5:r:5;N=200;W=2*pi;k=-N:N;w=k*W/N;f1=1/2*exp(-2*t).*
24、stepfun(t,0);F=r*f1*exp(-j*t*w);F1=abs(F);p1=angle(F);subplot(3,1,1);plot(t,f1);grid13xlabel(t);ylabel(f(t);title(f(t);subplot(3,1,2);plot(w,F1);xlabel(w);grid;ylabel(F(jw);subplot(3,1,3);plot(w,p1*180/pi);grid;xlabel(w);ylabel(相位( 度);-5 -4 -3 -2 -1 0 1 2 3 4 500.5tf(t)f(t)-8 -6 -4 -2 0 2 4 6 800.20
25、.4wF(jw)-8 -6 -4 -2 0 2 4 6 8-1000100w似似(似)再求信号 的频谱,MATLAB 程序如下:()ft%求 的频谱1r=0.02;t=-5:r:5;N=200;W=2*pi;k=-N:N;w=k*W/N;f1=1/2*exp(-2*(t-1).*stepfun(t,1);F=r*f1*exp(-j*t*w);F1=abs(F);p1=angle(F);subplot(3,1,1);plot(t,f1);gridxlabel(t);ylabel(f(t);title(f(t-1);subplot(3,1,2);plot(w,F1);xlabel(w);grid;
26、ylabel(F(jw)的模);subplot(3,1,3);plot(w,p1*180/pi);grid;xlabel(w);ylabel(相位( 度);14-5 -4 -3 -2 -1 0 1 2 3 4 500.5tf(t)f(t-1)-8 -6 -4 -2 0 2 4 6 800.20.4wF(jw)似似-8 -6 -4 -2 0 2 4 6 8-2000200w似似(似)【例 5】傅里叶变换的频移特性:信号 为门信号,绘出信号()ftg和信号 的频谱,并与原信号的频谱图进行比较。101()jtfte102()jtfte(1) ,求其频谱可以采用数值就算得方法。MATLAB 程()gt
27、序如下:R=0.02;t=-2:R:2;f=stepfun(t,-1)-stepfun(t,1);W1=2*pi*5;%频率宽度N=500;k=0:N;W=k*W1/N;%采样数为 N,W 为频率正半轴的采样点F=f*exp(-j*t*W)*R;%求 F(jw)F=real(F);W=-fliplr(W),W(2:501);%形成负半轴及正半轴的 2N+1 个频率点 WF=fliplr(F),F(2:501);%形成对应于 W 的 F(jw)的值subplot(2,1,1);plot(t,f);xlabel(t);ylabel(f(t);axis(-2,2,-0.5,2);title(f(t)
28、=u(t+1)-u(t-1);subplot(2,1,2);plot(W,F);xlabel(W);ylabel(F(W); title(f(t)的傅里叶变换);15-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-0.500.511.52tf(t)f(t)=u(t+1)-u(t-1)-40 -30 -20 -10 0 10 20 30 40-0.500.511.52WF(W)f(t)似似似似似似(2)得到 , 的频谱的 MATLAB 程序如下:101()jtfte102()jtfeR=0.02;t=-2:R:2;f=stepfun(t,-1)-stepfun(t,1);f1=f.*
29、exp(-j*10*t) ;f2=f.exp*(j*10*t)W1=2*pi*5;N=500;k=-N :N ;W=k*W1/N;F1=f1*exp(-j*t*W)*R;F2=f2*exp(-j*t*W)*R;F1=real(F1);F2=real(F2);subplot(2,1,1);plot(W,F1);xlabel(W);ylabel(F1(W);title(频谱 F1(jw);subplot(2,1,2);plot(W,F2);xlabel(W);ylabel(F2(W);title(频谱 F2(jw);得到的傅里叶变换的频移特性如图所示:16-40 -30 -20 -10 0 10
30、20 30 40-0.500.511.52WF1(W)似似F1(jW)-40 -30 -20 -10 0 10 20 30 40-0.500.511.52WF2(W)似似F2(jW)四、程序设计实验(1)方波的合成实验。用 5 项谐波合成一个频率为 ,幅值为 3 的方波,写出50HzMATLAB 程序,给出实验的结果。clear all; fs=10000;t=0:1/fs:0.1;f0=50;sum=0;subplot(211)for n=1:2:9;plot(t,4/pi*3/n*sin(2*pi*n*f0*t), k);hold on;endtitle(信号叠加前);subplot(21
31、2)for n=1:2:9;sum=sum+4/pi*3/n*sin(2*pi*n*f0*t);endplot(t,sum,k);title( 信号叠加后 );(2)编写程序,画出信号 , 以及信号 的频谱图。3()()tfe4)ft4()jtfe17r=0.02;t=-5:r:5;N=200;W=2*pi;k=-N:N;w=k*W/N;f1=1*exp(-3*t).*stepfun(t,0);F=r*f1*exp(-j*t*w);F1=abs(F);p1=angle(F);subplot(3,1,1);plot(t,f1);gridxlabel(t);ylabel(f(t);title(f(
32、t);subplot(3,1,2);plot(w,F1);xlabel(w);grid;ylabel(F(jw);subplot(3,1,3);plot(w,p1*180/pi);grid;xlabel(w);ylabel(相位(度));r=0.02;t=0:r:10;N=200;W=2*pi;k=-N:N;w=k*W/N;f1=1*exp(-3*(t-4).*stepfun(t,4);F=r*f1*exp(-j*t*w);F1=abs(F);p1=angle(F);subplot(3,1,1);plot(t,f1);gridxlabel(t);ylabel(f(t);title(f(t-4)
33、;subplot(3,1,2);plot(w,F1);xlabel(w);grid;ylabel(F(jw)的模 );subplot(3,1,3);plot(w,p1*180/pi);grid;xlabel(w);ylabel(相位(度));R=0.02;t=-5:R:5;f=1*exp(-3*t).*stepfun(t,0);f1=f.*exp(-j*4*t) ;W1=2*pi*5;N=500;k=-N :N ;W=k*W1/N;F1=f1*exp(-j*t*W)*R;F1=real(F1);subplot(1,1,1);plot(W,F1);xlabel(W);ylabel(F1(W);t
34、itle(频谱F1(jw);18实验五 信号抽样与恢复三、程序验证实验例 5-1 Sa(t)的临界采样及信号重构;wm=1; %信号带宽wc=wm; %滤波器截止频率Ts=pi/wm; %采样间隔ws=2*pi/Ts; %采样角频率 n=-100:100; %时域采样电数nTs=n*Ts %时域采样点f=sinc(nTs/pi);Dt=0.005;t=-15:Dt:15;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t); %信号重构t1=-15:0.5:15;f1=sinc(t1/pi);subplot(
35、211);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(sa(t)=sinc(t/pi)的临界采样信号);subplot(212);plot(t,fa)xlabel(t);ylabel(fa(t);title(由 sa(t)=sinc(t/pi)的临界采样信号重构 sa(t);grid;例 5-2 Sa(t)的过采样及信号重构和绝对误差分析程序和例 4-1 类似,将采样间隔改成 Ts=0.7*pi/wm , 滤波器截止频率该成 wc=1.1*wm ,添加一个误差函数wm=1;wc=1.1*wm; Ts=0.7*pi/wm;ws=2*pi/Ts;n=-1
36、00:100;nTs=n*Tsf=sinc(nTs/pi);Dt=0.005;t=-15:Dt:15;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t);19error=abs(fa-sinc(t/pi); %重构信号与原信号误差t1=-15:0.5:15;f1=sinc(t1/pi);subplot(311);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(sa(t)=sinc(t/pi)的采样信号);subplot(312);plot(t,fa)xlabel(t)
37、;ylabel(fa(t);title(由 sa(t)=sinc(t/pi)的过采样信号重构 sa(t);grid;subplot(313);plot(t,error);xlabel(t);ylabel(error(t);title(过采样信号与原信号的误差 error(t);例 5-3 Sa(t)的欠采样及信号重构和绝对误差分析程序和例 4-2 类似,将采样间隔改成 Ts=1.5*pi/wm , 滤波器截止频率该成 wc=wm=1wm=1;wc=wm; Ts=1.5*pi/wm;ws=2*pi/Ts;n=-100:100;nTs=n*Tsf=sinc(nTs/pi);Dt=0.005;t=-
38、15:Dt:15;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t);error=abs(fa-sinc(t/pi); %重构信号与原信号误差t1=-15:0.5:15;f1=sinc(t1/pi);subplot(311);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(sa(t)=sinc(t/pi)的采样信号);subplot(312);plot(t,fa)xlabel(t);ylabel(fa(t);20title(由 sa(t)=sinc(t/pi)的欠采样
39、信号重构 sa(t);grid;subplot(313);plot(t,error);xlabel(t);ylabel(error(t);title(欠采样信号与原信号的误差 error(t);四、程序设计实验1验证实验原理中所述的相关程序;2设 f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi) ,由于不是严格的频带有限信号,但其频谱大部分集中在0,2之间,带宽 wm 可根据一定的精度要求做一些近似。试根据以下两种情况用 MATLAB 实现由 f(t)的抽样信号 fs(t)重建f(t) 并求两者误差,分析两种情况下的结果。(1) wm=2 , wc=1.2wm , Ts=1
40、;wm=2;wc=1.2*wm; Ts=1;ws=2*pi/Ts;n=-100:100;nTs=n*Ts;f=0.5*(1+cos(nTs).*(heaviside(nTs+pi)-heaviside(nTs-pi);Dt=0.005;t=-15:Dt:15;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t);error=abs(fa-0.5*(1+cos(t).*(heaviside(t+pi)-heaviside(t-pi); %重构信号与原信号误差t1=-15:0.5:15;f1=sinc(t1/pi
41、);subplot(311);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(采样信号 1);subplot(312);plot(t,fa)xlabel(t);ylabel(fa(t);title(采样信号重构 1);grid;subplot(313);plot(t,error);21xlabel(t);ylabel(error(t);title(采样信号 1 与原信号的误差 error(t);(2) wm=2 , wc=2 , Ts=2.5wm=2;wc=2; Ts=2.5;ws=2*pi/Ts;n=-100:100;nTs=n*Ts;f=0.5*(1
42、+cos(nTs).*(heaviside(nTs+pi)-heaviside(nTs-pi);Dt=0.005;t=-15:Dt:15;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t);error=abs(fa-0.5*(1+cos(t).*(heaviside(t+pi)-heaviside(t-pi); %重构信号与原信号误差t1=-15:0.5:15;f1=sinc(t1/pi);subplot(311);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(采样
43、信号 2);subplot(312);plot(t,fa)xlabel(t);ylabel(fa(t);title(采样信号重构 2);grid;subplot(313);plot(t,error);xlabel(t);ylabel(error(t);title(采样信号 2 与原信号的误差 error(t);实验六 信号的复频域分析三、程序验证实验22例 6-1 用部分分式展开法求 F(s)的反变换32()4sF解:其 MATLAB 程序为format rat;num=1,2;den=1,4,3,0;r,p=residue(num,den)例 6-2 已知系统函数为 321ssH()=试画出
44、其零极点分布图,求系统的单位冲激响应 h(t)和频率响应 ,并判断系H( j)统是否稳定。解:其 MATLAB 程序如下:num=1;den=1,2,2,1;sys=tf(num,den);figure(1);pzmap(sys);t=0:0.02:10;h=impulse(num,den,t);figure(2);plot(t,h)title(Impulse Response)H,w=freqs(num,den);figure(3);plot(w,abs(H)xlabel(omega)title(Magnitude Response) 例 6-3 试分别用 Laplace 和 ilaplac
45、e 函数求(1) 的 Laplace 变换;()sin()tfeaut(2) 的 Laplace 反变换。21F解:(1)其程序为f=sym(exp(-t)*sin(a*t);F=laplace(f)23或syms a tF=laplace(exp(-t)*sin(a*t)(2)其程序为F=sym(s2/(s2+1);ft=ilaplace(F)或syms sft= ilaplace(s2/(s2+1)四、程序设计实验1验证实验原理中所述的相关程序。2求信号 的拉普拉斯变换。)()(3tuetff=sym(exp(-t*3)*t);F=laplace(f);3求函数 的反变换。23795)(2
46、ssFformat mat;num=1,5,9,7;den=1,3,2;r,p=residue(num,den);实验七 连续时间系统的复频域分析三、程序验证实验示例 1:已知系统函数为: ,画出该系统的零极点分布图。21()sH源程序如下:num=1 -1;den=1 2 2;zs=roots(num);ps=roots(den);% The first method 24figure(1);plot(real(zs),imag(zs),o,real(ps),imag(ps), kx, markersize,12);axis(-2 2 -2 2);grid on;sys=tf(num,den
47、);% The second methodfigure(2);pzmap(sys);运行结果为:-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2-1.5-1-0.500.511.52-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1-0.8-0.6-0.4-0.200.20.40.60.81 Pole-Zero MapReal AxisImaginaryAxis从运行结果可以看出,两种方法所画出的零极点图是一致的。示例 2:已知系统函数为: ,利用 Matlab 画出该系统的321()Hss零极点分布图,分析系统的稳定性,并求出该系统的单位冲激响应和幅频响应。源程序如下:num=1;den=1 2 2 1;sys=tf(num,den);poles=roots(den);figure(1);pzmap(sys);25xlabel(t(s);ylabel(h(t);title(Impulse Response);t=0:0.0