长江大学:电工电子国家级实验教学示范中心《信号与系统》课程实验指导书(电子版)

信号部分实验目录1.连续信号的绘制2.连续信号的微积分和卷积3.非周期信号的频谱4.连续系统的零极点分析5.选代法及离散卷积计算6.离散系统的时域和频域分析7.信号与系统综合实验项
信号部分实验 目录 1. 连续信号的绘制 2. 连续信号的微积分和卷积 3. 非周期信号的频谱 4. 连续系统的零极点分析 5. 迭代法及离散卷积计算 6. 离散系统的时域和频域分析 7. 信号与系统综合实验项

信号与系统实验指导书 实验1连续信号的绘制 1.1实验目的 1.掌握用Matlab绘制波形图的方法,学会常见波形的绘制。 2.掌握用Matlab编写函数的方法。 3.周期信号与非周期信号的观察。加深对周期信号的理解。 1.2实验原理与计算示例 1、用Matlab绘制波形图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。它不仅有强 大的计算功能,还有多种多样的画图功能。 这里主要介绍信号与系统分析中常用的几个Matlab函数,包括Matlab提供的内部函数 和自定义函数。 我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文件供 以后执行;或是生成一个函数,在命令窗口中执行。下面先定义几个基本函数。 >单位阶跃函数 M文件名:u.m %单位阶跃函数(连续或离散) %调用y=u(t) 产生单位阶跃函数 function y=u(t) y=(t>=0) >门函数 M文件名:rectpuls.m,Matlab的内部函数 调用格式y=rectpuls(t)产生高度为1,宽度为1的门函数 调用格式y=rectpuls(t,W)产生高度为1,宽度为W的门函数 > 三角脉冲函数 M文件名:tripuls.m,Matlab的内部函数 调用格式y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数 调用格式y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数 调用格式y=tripuls(t,w,s) 产生高度为1,宽度为w的三角脉冲函数,-1抽样函数 M文件名:Sa.m %抽样函数(连续或离散) %高度为1, %调用y=Sa(t)产生高度为1,第一个过零点为π function f=Sa(t) f=sinc(t./pi); %sinc(t)=sin(t)/(t)是Matlab内部函数 >符号函数 M文件名:sign.m是Matlab的内部函数 >周期方波 -1-
! "# $%&'()*+, -./ 0123 45678)*09:3; ?@ A3B&BC D ?@ EFGHIJKLMNO PQ RS TU VW +XYZ [\]^_`abcOdefg%h .ijklm8%Q-n op qrU ^sfgjk$m8%Q _`abcOfgtuvYZPQ'w VW !"#$% &'( )*+'( ) ,- !"#$% *.&'( )*+'( . ,- VW !#$% &'( )*+'( ) ,/012 !#$% *3&'( )*+'( 3 ,/012 !#$% *3*% &'( )*+'( 3 ,/012*4)5%5)6% 7(89/0:;%4)*/0: ?@ AB &'( )* CD &'( )*EFGHI=( CD % JK#;% % K L MD$DN OP $ VW

信号与系统实验指导书M文件名:square.m,Matlab的内部函数调用格式y=square(w0*t)产生基频为w0(周期T=2元/w0)的周期方波。占空比为50%。调用格式y=square(w0*t,DUTY)占空比DUTY=t/T*100,t为一个周期中信号为正的时间长度。周期锯齿波或三角波M文件名:sawtooth.m,1Matlab的内部函数调用格式产生基频为wO(周期T=2元/wO)的周期锯齿波。为正斜率。y=sawtooth(w0*t)调用格式y=sawtooth(w0*t,WIDTH)参数WIDTH=0.5,产生周期三角波:WIDTH=0,产生斜率为负的周期锯齿波。例2.1-1画出下列信号的波形图。(a)正弦信号sin(0.5元t):(c)随机信号:(b)门函数G,();(d)离散信号cos(0.1元k),k=0,±1,±2..(e)周期T=10s的周期锯齿波信号。()指数衰减的余弦信号 2e-1/6 cos 元t 。解:用Matlab计算的程序如下:正弦借号的波形%画正弦信号的程序e2_1_1.mt0=-2*pi:t1=2*pi:dt=0.02:Et=to:dt:tl;f=sin(pi/2*t):max_f=max(f) :min_f=min(f) :plot(t,f,'linewidth',2):grid:line([to t]], [o o]):axis([t0,t1,min_f-0.2,max_f+0.2])t(sec)xlabel(t(sec)),title(正弦信号的波形)图2.1-1正弦信号运行程序后显示的图形如图2.1-1所示。%画门函数的程序e2_1_2.m门函数的波形t0=-3;t1=3;dt=0.02;t=to:dt:t1:f=rectpuls(t,2) :0.8max_f=max (f) :0.6min_f=min(f) :2plot(t,f,"linewidth',2):grid;line([to t]], [0 o]):axis([t0,t1,min_f0.2,max_f+0.2])xlabel(t(sec)"),title(门函数的波形")(sec)运行程序后显示的图形如图2.1-2所示。图2.1-2门函数的波形%画随机信号的程序e2_1_3.m隐机信号的波形t0=-8:t1=8:dt=0.15:t=to:dt:tl;f=randn(1, length(t)) :max_f=max(f) :min_f=min(f) :plot(t,f,linewidth,2):grid:line([to ti],[o o]):axis([t0, t1,min_f-0.2,max_f+0.2])xlabel(t(sec)),title(随机信号的波形)t(sec)图2.1-3随机信-2-
QRSTUVWXYZ VW %[D!" 3\]^( 3 _` abK3,_`cd@efg( h@ %[D!" 3\6ijakefg ijakKa\)6(FG_`lQR(m,7n o'@ VW %D3p 3\]^( 3 _` abK3,_`qrd@(mst@ %D3p 3\6.uiavw .uiavJh6_`/0dx.uiav6 st(y,_`qrd@ Dxty z{ j | j }~j { => -nt zm{QR,|}"b~)~)J 4b\#;)b\#;Jb; ); % #Kb\; D~D ; ~ ; #$ **$"3p*b; !;$" )* ; D% *)*~4Jb*D~Jb $DN"$ %"*$" m{QR,d: g-ns 2 z-,|}"b~)~bJ 4;);Jb; ); !"#$% *b; D~D ; ~ ; #$ **$"3p*b; !;$" )* ; D% *)*~4Jb*D~Jb $DN"$ %"*$" -,d: g-ns 2 zQR,|}"b~)~J 4;);J)h; ); !D )*$"p ; D~D ; ~ ; #$ **$"3p*b; !;$" )* ; D% *)*~4Jb*D~Jb $DN"$ %"*$" QR,d: -,d: Q m{QR

信号与系统实验指导书运行程序后显示的图形如图2.1-3所示。高散余弦信号的波形%画离散余弦信号的程序e2_1_4.mnO=-20;nl=20:n=no:nl;f=cos(pi*n/10):max_f=max(f):min_f=min(f) :stem(n,f,"."):axis([n0,nl,min_f-0.2,max_f+0.2])xlabel(k'),title(离散余弦信号的波形")运行程序后显示的图形如图2.1-4所示。图2.1-4离散余弦信号周期缓齿波的波形%画周期锯齿波的程序e2_1_5.mt0=-6*pi:t1=6*pi:dt=0.05:t=t0:dt:tl:f=sawtooth(pi/5*t,0):max_f=max(f) :min_f=min(f) :plot(t,f,'linewidth',2):0.5grid:line([to ti], [o 0]):axis([t0,tl,min_f-0.2,max_f+0.2))xlabel(t(sec))title(C周期锯齿波的波形)t(sec)运行程序后显示的图形如图2.1-5所示。图2.1-5周期锯齿波%画指数衰减余弦信号的程序e2_1_6.mt0=-4*pi;t1=2*pi;dt=0.01;t=to:dt:tl;指数衰减余弦信导的波形f1=2*exp(-t/6).*cos(pi*t):2ecosixt)f2=2*exp(-t/6);f3=-2*exp(-t/6);max_f=max(f1) :min_f=min(f1):plot(t,f1,'1inewidth',2):hold on;plot(t,f2,":"):hold on;plot(t,f3,":"):t(sec)line([to ti], [o o]):图2.1-6指数衰减余弦信line([00],[min_f-0.5max_f+0.2]):axis([t0,t1,min_f-0.5,max_f+0.2)xlabel(t(sec)")hold offgtext(2e(-t/6)cos(\pi t)")title(指数衰减余弦信号的波形)运行程序后显示的图形如图2.1-6所示。例2.1-2画出下列信号的波形图。(a) f(t)=te(t)-Ze(t-i):(b) J2(t) = sin[元tsgn(t)];i=l(c) f,(t)=(1-0.5tDG(t);(d) J,(t)=Sa(t/5-1)解:为了方便的画图,可以编写一个通用的画波形的函数,这样每次画图时调用该函数就可以了。函数名为myplot.m,Matlab程序为-3 -
QRSTUVWXYZ g-ns 2 z {QR,|}"b~)~J 4b;)b; ); % #\K); D~D ; ~ ; %" **J; D% *)*~4Jb*D~Jb $DN"$ *$" {QR,d: g-ns ! 2 z_`qrd,|}"b~)~hJ 4\#;)\#;Jh; ); %D3p #Kh\*; D~D ; ~ ; #$ **$"3p*b; !;$" )* ; D% *)*~4Jb*D~Jb $DN"$ %"*$" _`qrd,d: g-ns 2 zX{QR,|}"b~)~J 4\#;)b\#;J); ); )b\"# 4KJ\% #\; bb\"# 4K; 4b\"# 4K; D~D ); ~ ); #$ *)*$"3p*b; p$; #$ *b*; p$; #$ **; $" )* ; $" * ~4JhD~Jb; D% *)*~4Jh*D~Jb $DN"$ %" p$ " b"4K% # $" X{QR,d: g-ns 2 Dxty j $ # " % & & ! j ! p D ]^%Q D ECdeD ]^p' -np X{Q ! {QR _`qrd

信号与系统实验指导书function myplot(x,y)%x为横坐标数组,y为纵坐标数组.x0=x(1):xe=x(end)max_y=max(y) :min_y=min(y) :dy=(max_y-min_y)/10:plot(x,y,"linewidth',2):grid;axis([xo, xe, min_ydy, max_y+dy])set(gca,FontSize,8)用Matlab画图的程序如下:%画波形图的程序e2.1_7.mt=linspace(-1,4, 300):f1=t. *u(t)-u(t-1)-u(t-2)-u(t-3)-u(t-4) ;figure(1),myplot(t,f1)ylabel(f1(t)"),xlabel(Time(sec))t=linspace(-4,4,300);f2=sin(pi*t.*sign(t)):figure(2),myplot(t,f2)ylabel(f2(t)"),xlabel(Time(sec)")t=linspace(-4, 4, 300);f3=(1-0.5*abs(t)).*rectpuls(t,4)figure(3),myplot(t,f3)ylabel(f3(t)"),xlabel(Time(sec)*)t=1inspace(-18*pi,18*pi,300):f4=Sa(t/5-1);figure(4),myplot(t,f4)ylabel(f4(t)"),xlabel(Time(sec)")运行程序后显示的图形如图2.1-7所示。ee0.90.60.80.70.4 0.600.5COAO0.3 30.2 0.6oimefer(b)(a)0.90.80.7a66050.0.30.20.1m(c)(d)-4 -
QRSTUVWXYZ ! #$ * (*(J );" "; D~D ;~ ; D~4~K); #$ **$"3p*b;!; D% *"*~4*D~ %" D*C"* D -nt zd:,|}"b~)~J $%#D" 4)**; )J\ 4 4)4 4b4 44 4; !" )*#$ *) $DN"$ ) *$DN"$ a" %" $%#D" 4**; b% #\J\% ; !" b*#$ *b $DN"$ b *$DN"$ a" %" $%#D" 4**; )4Jh\DN% J\!"#$% *; !" *#$ * $DN"$ *$DN"$ a" %" $%#D" 4)\#*)\#*; CD Kh4); !" *#$ * $DN"$ *$DN"$ a" %" g-ns ( 2

信号与系统实验指导书图2.1-7例2.1-2的波形2、周期信号的判断正该信号是最典型的周期信号,对于任意给定的频率,正弦信号总是周期的。两个或多个正弦信号的和不一定是周期的,这取决于各个正弦信号的周期或频率之间的关系。正弦信号组合后的周期T是每个正弦信号完成整数个周期所用的最小持续时间。它由计算各周期的LCM(最小公倍数)得出。基频f。是T的倒数,它等于各频率的GCD(最大公约数)。即它们的周期之比为有理数,或它们的频率是可约的,则它们的和是周期信号。例2.1-3观察下面的信号是否是周期信号?2111(a)f(t)=2sin(=元t)+4cos(=元t)+4cos(元t-二元)5323(b) f,(t)=sin(t)+3cos(元t)解(a),(t)中每个分量的周期(以秒为单位)分别是3、4和6。f(t)的公共周期是T=LCM(3,4,6)=12s。所以,(t)是周期为T=12元的周期信号。(b)由于两个分量的频率の,=1rad/s、の,=元rad/s的比值是无理数,因此无法找出公共周期。所以f(t)是非周期的。(a)程序如下%观察周期信号的周期e218.mt=linspace(-13,13,400);f=2*sin(2/3*pi*t)+4*cos(0.5*pi*t)+4*cos(1/3*pi*t-1/5*pi):myplot (t, f)xlabel(Time(sec)")[x, y]=ginput (2)%返回当前鼠标的位置text(-9,7,[bf周期:T=,num2str(x(2)-x(1)),sec])%显示周期程序运行后会在图上出现可动的十字,这就是函数ginput(2)的作用,移动鼠标使纵线对准波形的最大值按下左键,再移动鼠标使纵线对准波形的另一最大值按下左键。周期就显示在图中。图形如图2.1-8所示。显然是周期的,周期T~12s。封期:T-1190图2.1-8观察周期波形图2.1-9观察非周期波形(b)程序如下%观察周期信号的周期e2_1_9.mt=linspace(-12,12,400) :f=sin(t)+3*cos(pi*t)::myplot (t, f)xlabel(Time(sec)")-5-
QRSTUVWXYZ z{$ !(Y z{$ Qk BQz{ +9%Y$ E( Qz{ k¡¢ £Kz{ ,¤s $dQz{¥8¦Q2 §¨©¢0ª=> )*«§¬®¯x' $ ° 0±( +*,«? -ngs_ ÃxÄ]Å ÆÇ E$ ÈÉÊËÌÍÎÏÐ Ñ ÒÅÓÔÕÖ× !Ø <¾ÙtÚÛ ÜÒÅÓÔÕÖ×!Ø Ý%<¾ÙtÚÛ _ O - 2Þ$ -nt 9 ! " %#&# !! (&" )* +, + @ - AB @ . CAB @ ( D AB

信号与系统实验指导书程序运行后的图形如图2.1-9所示。显然它不是周期的。实验内容1.31-1、用MATLAB画出下列信号的波形。Itl(a) fi(t) =s[cost];(b) fz(t)=[e(t+ 2)- 8(t - 2)];2(c) f;(t) = sin 元t[s(-t)-(2 -t)];(d) f4(t)=Gz(t)sgn(t);(e) J, =G,(t)Q,(t-2);(f) J(t) =ε(2-[t /)sin(元t)1-2、用基本信号画出图2.1-10中的信号。45()(0)J(0)2图2.1-101-3用MATALB画出图2.1-11所示信号。其中,K=10,A=5。↑ f,(0)+J,(0)002元2元图2.1-111-4试用Matlab绘制出如下连续时间信号的时域波形,并观察信号是否为周期信号。若是周期信号,周期是多少?(a) f(t)=3sin(t)+2sin(πt)+sin(2元t)(b) f(t)= sin(t)+2cos(4t)+ sin(5t)(c) f(t)=sin(πt)+2cos(2t)1.4实验步骤和方法1、学习例2.1-1的基本函数波形的画图方法,将程序中的参数如门函数的宽度、频率的大小、三角或锯齿波的变形等,以便熟悉这些基本函数的用法。2、仿照例2.1-1的方法,完成实验1-1的编程。上机调试程序,观察并判别波形的正确性。3、仿照例2.1-2的方法,完成实验1-2、1-3的编程。上机调试程序,观察并判别波形的正确性。比较调用自编函数画图的优点。4、仿照例2.1-3的方法,完成实验1-4的编程。上机调试程序,观察并判别信号的周期性。与理论分析结果比较。1.5预习要点-6-
EFGHIJKL -ngs . 2Þ09$ ¼/)/0Dxty $ " % $ " & & % $ " % # ! % % & & ¼'wDx O //)0Dx 2ßO 1 / ! à xtá©¢ â ã$¶p ä$ $Bå· ! ¼æç 'w D 1-nO è| éê¼ <§¼ëìk 4± ^íîEï'w ¼ðñç ¥8òó -Ã~à-n ãô» z õö ¼ðñç ¥8òó ¼ -Ã~à-n ãô» zõö´÷XD øù !¼ðñç ¥8òó ! -Ã~à-n ãô» ö"úMNûü´÷ ! ! ! ! ! !

信号与系统实验指导书1.学习有关Matlab的绘画函数的用法。主要绘图函数有:plot,stem,grid,line,axis,xlabel,ylabel,hold,title,text,gtext, ginput以及曲线的颜色、线的粗细等。自编画图函数:myplot2.学习有关基本信号的数学表示法和MATLAB表示法。如门函数、三角波等。3.门函数的若干表示法。4.复习有关周期信号的判别方法。几个不同频率的周期信号组合后还是周期信号吗?如何计算组合后周期信号的周期?1.6实验报告要求1.根据求出的数学表达式编写出的程序。绘出的各种波形图。2.上机调试程序的方法。3.根据实验归纳、总结出用Matlab绘图的方法。4.心得体会及其他。5.用MATLAB显示下列表达式均表示门函数。数学表达式MATLAB表达式Ge(t)rectpuls(t, 6)u(t)-u(t-4)(t)-(t-4)rectpuls(t-2, 4)(-t)-(-t-4)u(-t)-u(-t-4)(-t)-(-t+4)u(-t)-u(t+4)(2-/t1)u(2-abs(t)(-t)(t+4)u(-t).*u(t+4)-7-
( !! " # " $!! % &'()*+,)-./ 01 2345 678 /)/0 67 9: ,;?67 !@AB45CDE FGHIJKAB45LMNOPAB45QR 9STULMNAB45ABR VWXY 6Z[1\Y]^ Y_`=a bcde]^E VWfghi,jkY E !lmno'pq /)/0 r7st6Z[u67: /)/0 ! ! "" #$ ! %&!

信号与系统实验指导书实验2连续信号的微积分和卷积2.1实验目的1.学习Matlab的符号运算功能及编程方法。2.掌握用Matlab计算微积分的数值方法和解析方法。并应用于求解信号的功率或能量。3.掌握用Matlab进行卷积运算的数值方法和解析方法。加深对卷积积分的理解。2.2实验原理与计算示例1、微分和积分的数值解我们知道,连续信号的微分是用差分来近似的,当步长(时间间隔)越小时,用差分表示微分就越f(t)f(k)精确。见图2.3-1所示。f(k)所以,求导数就是近似求差分与步长之比。f(k)-f(k-I)即7(k)-f(k-1)f'(o)h-tk-1kMatlab中用dif函数来计算差分f(k)-f(k-1)图2.3-1用差分表示微分其调用格式为y=diff(f)连续信号的定积分可由Matlab中的quad函数和quadl来实现,其调用格式为quad(‘function_name',a,b)采用自适应Simpson算法quadl(function_name,a,b)采用自适应Lobatto算法其中,functionname为被积函数名,a,b为指定的积分区间。2、微分和积分的解析解Matlab除了数值计算以外,还有强大的符号运算功能。在数值计算过程中,参与运算的变量都是被赋了值的数值。而在符号运算的整个过程中,参与运算的是符号变量。在符号运算中所出现的数字都是当做符号来处理的。Matlab中,对符号表达式微分的函数是dif)。利用这个函数,可以求符号表达式的一阶导数、n阶导数。该函数有三种调用格式diff(f),diff(f,a),diff(f,n)或diff(f,a,n)其中,f为符号表达式,a说明对其求导,n表示求导次数。积分运算的函数是int(,它也有三种调用形式int(f),int(f,v),int(f,a,b)或int(f,v,a,b)其中,f为符号表达式,v说明对其求积分,a,b表示积分的区间。显然前两个是求不定积分,后两个是求定积分。-0.51 sin(1 + 元 /6)dt例2.3-1计算定积分S=解用三种积分函数计算如下>>format long;>)y=inline(exp(-0.5*t).*sin(t+pi/6)"):>》s=quad(y,0,3*pi)s:0.90084081100646-1-
! "# $ %&'()*'+ ,-./012!345670 89:;?@A<04BCD@ EFGH IC IJ0 KD367 4L9:MN O P Q54 RSTUV WXYZ[[\[] 12!_`a P Q 5bc0RSTUV ^^^^^^^^^^^^^^^defY\g[ehijZkhlhfmnopfpq] rst uZmvwkh defYx\g[ehijZkhlhfmnopfpq] rst ykqfjjk RP0 VzQ{0 V|_}= ~J0 P0L $3z P0L3$ PIc385+ P0*BUQ3 Q0`J BU K KQSTU ^^^^^^^^YZ[[\[]p^YZ[[\[pf]pYZ[[\[ph]# YZ[[\[pfph] RP0[ VBU0f *R K0h BC K Q3 Zhj\]0S U ^^^^^^^^^^Zhj\[]pZhj\[p¡]pZhj\[pfpq]# Zhj\[p¡pfpq] RP0[ VBU0¡ *R 0fpq^BC}=¢£¤¥3 ¦_ 0§¥3 _ _ Q¨© ! ""# $%&%''& ( )*+,-.+

信号与系统实验指导书>>s1=quadl(y.0,3*pi)s1 =0.90084078775646>>sf=int(exp(-0.5*t)*sin(t+pi/6)",0,3*pi)sf=.90084078781888619095323632923836f()符号积分计算是精确值。例2.3-2画出如图2.3-2所示信号的一阶导数和积分的波形图。02图2.3-2解:(a)用Matlab的数值计算方法的程序如下:%画微分和积分的程序(数值计算)e2_3_1n.mclear allt0=-3:t1=3:dt=0.02:t=to:dt:tl:f1=tripuls(t,4, 0.5):%定义三角波%求导df=diff(f1)/dt:f=inline(tripuls(t,4, 0.5)');%定义在线函数对象for x=1l:length(t)%求积分intf(x)=quad(f,-3,t(x)):end% 画f(t)subplot(3,1,1),myplot(t,f1):ylabel(f(t)")%画f(t)的导数subplot(3,1,2),myplot(t(1:length(t)-1),df):ylabel(df(t)/dt)subplot(3,1,3),myplot(t,intf):%画f(t)的积分ylabel(f(t)的积分),xlabel(Time(sec)")运行程序后显示的图形如图2.3-3所示。的波形200一就导教01的积分t0SnTime(sec)Time(sec)图2.3-3用数值计算的微积分波形图2.3-4用符号计算的微积(b)用Matlab的符号计算方法的程序如下:%画微分和积分的程序(符号计算)e2_31s.mclear all:syms tf1=sym(1/3*(t+2)*Heaviside(t+2)-4/3*(t-1)*Heaviside(t-1)+(t-2)*Heaviside(t-2)')-2-
/012345678 ' ! ""# ' $%&9%99& ""# $%&9%9%'%%%'$$#:##:$:#%# 3EF ª¨H IC! K« H ¬ ¨©¬ ;+?@ABCDE:F#F' G #'#!: H!H' ' "&";IJKLM !!'!;N7 "&";IJOPQBRS 'H T !"#";N>+ ! U #"'"'" "';+ U ?>+" U VG & §¢CH ¨H IC ¨©¬ ;+?@AW0DE:F#F' G ' '#:XY!:&#'XY!':XY!: ( )BCDE?.>+MZ ( ( )W0DE?.>
