1、信 号 与 系 统实 验 报 告 (1-6)学 号 140250128姓 名 张诗焘实验题目 实验一 典型连续时间信号描述及运算一、实验目的: (1)通过绘制典型信号的波形,了解这些信号的基本特征 (2)通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用 (3)通过将信号分解成直流/交流分量,初步了解信号分解过程 二、实验内容: 1、 利用实验讲义中的信号的运算方法,完成如下实验内容: 已知 f1(t)=(-t+4)u(t)-u(t-4)和信号 f2(t)=sin(2 t),,用 MATLAB 绘出满足下列要求的信号波形。(1) (2)311=+fttf4112+ftftf(3) (
2、4)5236(5) 762ftft实验程序:(1) 的 MATLAB 编写例程如下:311=+fttffunction f=u(t)f=(t0);syms t;f1=sym(-t+4)*(u(t)-u(t-4);subplot(1,2,1);ezplot(f1);y1=subs(f1,t,-t);f3=f1+y1;subplot(1,2,2);ezplot(f3);实验结果:0 1 2 3 401234t(-t+4) (u(t)-u(t-4)f1(t)-4 -2 0 2 401234t(-t+4) (u(t)-u(t-4)+(t+4) (u(-t)-u(-t-4)f3(t)(2) 的 MATL
3、AB 编写例4112+ftftf程如下:figure(2)subplot(1,2,1);ezplot(f1);实验结果:y1=subs(f1,t,-2*t);f4=-(f1+y1);subplot(1,2,2);ezplot(f4);的 MATLAB 编写例程如下:)()(3325tftf)(f2=sym(sin(2*pi*t);figure(3) ;subplot(121);ezplot(f2);f5=f2*f3;subplot(122);ezplot(f5); -4 -3 -2 -1 0 1 2 3 4-4-3-2-101234tsin(2 t) (t - 4) (u(t - 4) - u
4、(t) + (u(-t) - u(- t - 4) (t + 4)的 MATLAB 编写例程如下:)()(4216tftf)(f6=f1*f2;figure(4)ezplot(f6); 0 0.5 1 1.5 2 2.5 3 3.5 4-3-2-101234tsin(2 t) (t - 4) (u(t - 4) - u(t)的 MATLAB 编写例程)(2()567tftf)(如下:y6=subs(f6,t,t-2);figure(5)f7=y6+f2;ezplot(f7);仿真得到的图2、求解如下信号的直流/交流分量并显示在同一图中,在实验报告中给出程序。 从 0 以 0.1 步长变化到 5
5、00。 结果如下图所示10sin2/5ftt实验程序:function fA=fAC(f,fD)fA=f-fD;function fD=fDC(f)fD=mean(f);t=0:0.1:500;y=100*abs(sin(2*pi.*t./50);plot(t,y);hold on;z=fDC(y);plot(t,z,-b);hold on;x=fAC(y,fDC(y);plot(t,x,-g);实验结果:3、实验总结:(1)通过绘制波形,对图像和典型信号有更深的印象(2)对信号的分解有了理解实验题目 实验二 线性系统时域分析一、实验目的: (1)掌握求解连续时间信号时域卷积的方法(2)掌握线
6、性时不变系统时域分析方法2、实验内容: 1、利用 MATLAB 实现下述两个信号的积分:即 ,)()()1211tutf )()(221tutf实验程序:function f,k=sconv(f1,f2,k1,k2,p)f=conv(f1,f2); f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2; k=k0:p:(k3*p+k0); subplot(2,2,1);plot(k1,f1);title(f1(t);xlabel(t);ylabel(f1(t);subplot(2,2,2);plot(k2,f2); title(f2(t);xlabel
7、(t);ylabel(f2(t);实验结果:;)()()1211tutf;2subplot(2,2,3);plot(k,f);h=get(gca,position);h(3)=2.5*h(3);set(gca,position,h) title(f(t)=f1(t)*f2(t);xlabel(t);ylabel(f(t);function f=u(t)f=(t0);p=0.01;k1=-1:p:2;f1=u(k1+0.5)-u(k1-1);k2=0:p:2;f2=0.5*k2;f,k=sconv(f1,f2,k1,k2,p);-1 -0.5 0 0.5 1 1.5 200.10.20.30.4
8、0.50.60.70.80.91-1 -0.5 0 0.5 1 1.5 2 2.5 300.10.20.30.40.50.60.70.80.91-0.5 0 0.5 1 1.5 2 2.5 30.10.20.30.40.50.60.70.80.91 f(t)=f1(t)*f2(t)tf(t)2、求解如下 LTI 系统的冲激响应、阶跃响应2r(t ) r(t ) 8r(t ) e(t)实验程序:a=2 1 8;b=1;figure(1)impulse(b,a,0:0.1:10);实验结果:figure(2)step(b,a,0:0.1:10);3、已知描述系统的微分方程和激励信号如下r(t) 4
9、r(t) 4r(t) e(t) 3e(t), e(t) )(tu实验程序:a=1 4 4;b=1 3;t=0:0.01:10;x=exp(-t);lsim(b,a,x,t);实验结果:三、实验总结: (1)用matlab求解连续时间信号时域卷积,有了更直观的认识(2)知道了线性时不变系统时域分析方法,对连续时间信号的冲激响应,阶跃响应,零状态相应有更直观的认识实验题目 实验三 周期信号频域分析一、实验目的: (1)掌握周期信号傅立叶级数分解与合成的计算公式 (2)掌握利用 MATLAB 实现周期信号傅立叶级数分解与综合方法 (3)理解并掌握周期信号频谱特点二、实验内容: function A_
10、sym,B_sym=CTFShchsym% 采用符号计算求一个周期内连续时间函数 f 的三角级数展开系数,再用这些% 展开系数合成连续时间函数 f.傅立叶级数 % 函数的输入输出都是数值量 实验结果:% Nf=6 谐波的阶数 % Nn 输出数据的准确位数 % A_sym 第 1 元素是直流项,其后元素依次是 1,2,3.次谐波 cos 项展开系数 % B_sym 第 2,3,4,.元素依次是 1,2,3.次谐波 sin 项展开系数 % tao=1 tao/T=0.2 syms t n k x T=5;tao=0.2*T;a=0.5; if nargin4;Nf=10;endif nargin5
11、;Nn=32;endx=time_fun_x(t);A0=int(x,t,-a,T-a)/T; %求出三角函数展开 系数 A0 As=int(2*x*cos(2*pi*n*t/T)/T,t,-a,T-a); %求出三角函数展开系数 As Bs=int(2*x*sin(2*pi*n*t/T)/T,t,-a,T-a); %求出三角函数展开系数 BsA_sym(1)=double(vpa(A0,Nn); %获取串数组 A0 所对应的 ASC2 码数值数组for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn); %获取串数组 A 所对应的 ASC2 码数值数
12、组 B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn); %获取串数组 B 所对应的 ASC2 码数值数组endif nargout=0 c=A_sym;disp(c) %输出 c 为三角级数展开系数:第 1 元素是直流项,其后元素依次 是 1,2,3.次谐波 cos 项展开系数 d=B_sym;disp(d) %输出 d 为三角级数展开系数: 第 2,3,4,.元素依次是 1,2,3.次谐 波 sin 项展开系数 t=-8*a:0.01:T-a; f1=c(1)+c(2).*cos(2*pi*1*t/5)+0.*sin(2*pi*1*t/5); ; % 基波 f2=
13、c(3).*cos(2*pi*2*t/5)+0.*sin(2*pi*2*t/5); ; % 2 次谐波 f3=c(4).*cos(2*pi*3*t/5)+0.*sin(2*pi*3*t/5); % 3 次谐波 f4=c(5).*cos(2*pi*4*t/5)+0.*sin(2*pi*4*t/5); ; % 4 次谐波 f5=c(5).*cos(2*pi*5*t/5)+0.*sin(2*pi*5*t/5); % 6 次谐波 f6=c(7).*cos(2*pi*6*t/5)+0.*sin(2*pi*6*t/5); % 6 次谐波 f7=c(7).*cos(2*pi*7*t/5)+0.*sin(2*
14、pi*7*t/5); % 7 次谐波f8=c(8).*cos(2*pi*8*t/5)+0.*sin(2*pi*8*t/5); % 8 次谐波 f9=c(9).*cos(2*pi*9*t/5)+0.*sin(2*pi*9*t/5); % 9 次谐波 f10=c(10).*cos(2*pi*10*t/5)+0.*sin(2*pi*10*t/5); % 10 次谐波 f11=f1+f2+f3; % 基波+2 次谐波 +3 次谐波f22=f11+f4+f5+f6; % 基波+2 次谐波+3 次谐波+4 次谐波+5 次谐波 +6 次谐波 f33=f22+f7+f8+f9+f10; % 基波+2 次谐波
15、+3 次谐波+4 次谐波+5 次谐波 +6 次谐波 +7 次谐波+8 次谐波 +8 次谐波 +10 次谐波 subplot(2,2,1) plot(t,f1)hold on y=time_fun_e(t) %调用连续时间函数-周期矩形脉冲 plot(t,y,r:) title(基波+ 直流) axis(-4,4.5,-0.5,1.5) subplot(2,2,2) plot(t,f11)hold on y=time_fun_e(t)plot(t,y,r:) title(基波+2 次谐波+3 次谐波) axis(-4,4.5,-0.5,1.5) subplot(2,2,3) plot(t,f22
16、),hold on y=time_fun_e(t) plot(t,y,r:) title(基波+2 次谐波+.+5 次谐波+6 次谐波 ) axis(-4,4.5,-0.5,1.5) subplot(2,2,4) plot(t,f33),hold on y=time_fun_e(t) plot(t,y,r:) title( 基波+2 次谐波 +.+9 次谐波+10 次谐波 ) axis(-4,4.5,-0.5,1.5)end function x=time_fun_x(t)% 该函数是 CTFShchsym.m 的子函数。它由符号变量和表达式写成。h=1; x1=sym(heaviside(t
17、+0.5)*h; x=x1-sym(heaviside(t-0.5)*h;function y=time_fun_e(t) % 该函数是 CTFShchsym.m 的子函它由符号函数和表达式写成 a=0.5;T=5;h=1;tao=0.2*T;t=-8*a:0.01:T-a; e1=1/2+1/2.*sign(t+tao/2); e2=1/2+1/2.*sign(t-tao/2); y=h.*(e1-e2); %连续时间函数-周期矩形脉冲2、实验程序:%testFynction2WaveNum=10; Nn=5;a=2; T=4; h=1; t0=-2:0.01:4-a;x=sym(abs(2
18、-ts)-1);A0=double(int(x,ts,0,2*a)*h/T;An=int(2*x*cos(2*pi*n*ts/T)/T,ts,0,2*a); Bn=int(2*x*sin(2*pi*n*ts/T)/T,ts,0,2*a);clear A_List B_List;for i=1:WaveNum实验结果:A_List(i)=double(vpa(subs(An,n,i),Nn)*h;B_List(i)=double(vpa(subs(Bn,n,i),Nn)*h;endt=mod(t0,T);f0=zeros(1,length(t); f=zeros(WaveNum,length(t
19、);for i=1:WaveNumf(i,:)=A_List(i).*cos(2*pi*i*t/T)+B_List(i).*sin(2*pi*i*t/T);if i=1f(i,:)=f(i,:)+A0;endf0=f0+f(i,:);endy=testFunction2(t);figure(2)plot(t0,f0,r,t0,y,b-);figure(3)for i=1:WaveNumF(i)=sqrt(A_List(i).2+B_List(i).2)./2;endF=A0 F;xx=0:length(F)-1;xx=-fliplr(xx) xx(2:end);F=fliplr(F) F(2:
20、end);stem(xx,F);title(三角波-幅度谱);figure(4)beta=-atan(B_List./A_List);beta=0 beta;xx=-length(beta)+1:length(beta)-1;beta=fliplr(beta),beta(2:end);stem(xx,beta); title(三角波-相位谱);endfunction y=testFunction2(t)global T;y=abs(2-mod(t,T)-1;endfunction y=testFunction1global h;global a;global T;a=1; T=4; t=-3*
21、a:0.01:T-a;e1=1/2+1/2.*sign(t);e2=1/2+1/2.*sign(t-a);y=h.*(e1-e2);end三、实验总结: (1)通过MATLAB实现周期信号傅立叶级数分解与综合方法,掌握基本方法,对傅里叶级数有更深的认识 (2)通过利用 MATLAB 观察周期信号频谱特点,对周期信号频谱特点进行了理解实验题目 实验四 连续时间信号的傅立叶变换一、实验目的: (1)掌握连续信号傅立叶变换与逆变换的计算方法(2)掌握利用 MATLAB 实现连续时间信号傅立叶变换的方法二、实验内容: 1、利用 fourier()命令求解如下信号的傅立叶变换,给出 的波形图以及 的表达
22、式和幅度频谱图:)(tf)(jF(1) 钟形脉冲: tetft,)()(2(2) 符号函数: 实验程序:(1)钟形脉冲:syms t w ft=exp(-(t/2)2);Fw=fourier(ft);subplot(2,1,1);ezplot(ft);subplot(2,1,2)ezplot(Fw);实验结果:(2)符号函数:syms t wft=sym(heaviside(t)-heaviside(-t);Fw=fourier(ft)ezplot(ft,-,2);实验结果:实验画图由于在 t=0 处傅里叶变换有冲激函数,无法画出 Fw 波形,得到的傅里叶变换函数式是:Fw =fourier(
23、Heaviside(t), t, w) - fourier(Heaviside(t), t, -w)2、求解如下信号的福利叶变换,绘出信号的时域波形及幅度频谱图:(1) 升余弦脉冲: 10),*cos(12)( tpitf(2) ,01)(ttf(1)实验程序:%升余弦脉冲R=0.02;t=-1:R:1;f=1/2*(1+cos(pi.*t);W1=2*pi*5;N=500;k=0:N;W=k*W1/N;F=f*exp(-j*t*W)*R;F=real(F);W=-fliplr(W),W(2:501);F=fliplr(F),F(2:501);subplot(2,1,1);plot(t,f);
24、xlabel(t);ylabel(f(t);title(f(t)=1/21+cos(pi*t);subplot(2,1,2);plot(W,F);xlabel(w);ylabel(F(w);title(f(t)的付氏变换 F(w);实验结果:实验程序: 实验结果:R=0.02;t=-2:R:2;f=1-abs(t)/2;W1=2*pi*5;N=500;k=0:N;W=k*W1/N;F=f*exp(-j*t*W)*R;F=real(F);W=-fliplr(W),W(2:501);F=fliplr(F),F(2:501);subplot(2,1,1);plot(t,f);xlabel(t);yl
25、abel(f(t);title(f(t)=1-|t|/2);subplot(2,1,2);plot(W,F);xlabel(w);ylabel(F(w);title(f(t)的付氏变换 F(w);仿真得到的图2、已知 的波形如下:)(tf1且 ;设 ,试用 matlab 给出 、 、 、)()jFtf11)()*()jFtftf1 )(tf1t)(jF1,并验证时域卷积定理。(j实验程序:R=0.05;t=-2:R:2; f=heaviside(t)-heaviside(t-1); subplot(321) plot(t,f) xlabel(t); 实验结果:ylabel(f(t); y=R*
26、conv(f,f); n=-4:R:4; subplot(322); plot(n,y); xlabel(t); ylabel(y(t)=f(t)*f(t); axis(-3 3 -1 3); W1=2*pi*5; N=200; k=-N:N; W=k*W1/N; F=f*exp(-j*t*W)*R; F=real(F); Y=y*exp(-j*n*W)*R; Y=real(Y); F1=F.*F subplot(323); plot(W,F); xlabel(w); ylabel(F(jw); subplot(324); plot(W,F1); xlabel(w); ylabel(F(jw)
27、.F(jw); axis(-20 20 0 4); subplot(325); plot(W,Y); xlabel(w); ylabel(Y(jw); axis(-20 20 0 4); 三、实验总结: (1)通过MATLAB绘制连续信号傅立叶变换与逆变换的图像,掌握其基本的计算方法,对傅立叶变换与逆变换有了更深刻的认识。(2)通过利用 MATLAB 实现连续时间信号傅立叶变换的方法,对傅里叶变换有了更深的认识。实验题目 实验六 拉普拉斯变换及其逆变换一、实验目的: (1)掌握连续系统及信号拉普拉斯变换概念(2)掌握利用 MATLAB 绘制系统零极点图的方法(3)掌握利用 MATLAB 求解拉
28、普拉斯逆变换的方法实验程序:(1)a=-1:0.08:1;b=-1.99:0.08:1.99;a b=meshgrid(a,b);s=a+i*b;s=(s.*s)./(s.*s+4);Fs=abs(s);mesh(a,b,Fs); %绘制曲面图surf(a,b,Fs);axis(-1,1,-2,2,0,15);title(单边余弦信号cos(2t)拉氏变换曲面图);colormap(hsv);实验结果:(2)a=-3:0.06:-1;b=-2:0.06:2;实验结果:-3 -2.5-2 -1.5-1-2-10120510152025信信信信信信信信信a,b=meshgrid(a,b);s=a+i*b;s=1./(s+2).*(s+2)+1);Fs=abs(s);mesh(a,b,Fs);suf(a,b,Fs);title(单边正弦信号f (t) = e-2t sin( t)u(t)拉氏变换曲面图);colormap(hsv);2、已知连续时间信号 ,试求出该信号的拉普拉斯变换 和)()(tuetf3 )(sF傅立叶变换 ,用 MATLAB 绘出拉普拉斯变换曲面图 及幅频曲线)(jF )(s,观察曲面图在虚轴上的剖面图,并将其与幅频曲线相比较,分析j(频域与复频域的对应关系。