您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 信号与系统MATLAB实验
实验1信号的时域描述与运算一、实验目的1.掌握信号的MATLAB表示及其可视化方法。2.掌握信号基本时域运算的MATLAB实现方法。3.利用MATLAB分析常用信号,加深对信号时域特性的理解。二、实验原理与方法1.连续时间信号的MATLAB表示连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。在MATLAB中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。从严格意义上来说,MATLAB并不能处理连续时间信号,在MATLAB中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。例如一个正弦信号可以表示如下:t=0:0.01:10;x=sin(t);利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。例如对于上述正弦信号,可以用符号对象表示如下:x=sin(t);ezplot(X);利用ezplot(x)命令可以绘制上述信号的时域波形012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81Time(seconds)图1利用向量表示连续时间信号-6-4-20246-1-0.500.51t图2利用符号对象表示连续时间信号sin(t)常用的信号产生函数函数名功能函数名功能heaviside单位阶跃函数rectpuls门函数sin正弦函数tripuls三角脉冲函数cos余弦函数square周期方波sincsinc函数sawtooth周期锯齿波或三角波exp指数函数2.连续时间信号的时域运算对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。1)相加和相乘信号相加和相乘指两信号对应时刻的值相加和相乘,对于两个采用向量表示的可以直接使用算术运算的运算符“+”和“*”来计算,此时要求表示两信号的向量时间范围和采样间隔相同。采用符号对象表示的两个信号,可以直接根据符号对象的运算规则运算。2)微分和积分对于向量表示法表示的连续时间信号,可以通过数值计算的方法计算信号的微分和积分。这里微分使用差分来近似求取的,由时间向量[Nttt,,,21]和采样值向量[Nxxx,,,21]表示的连续时间信号,其微分可以通过下式求得1,,2,1,|)('1Nktxxtxkkttk其中t表示采样间隔。MATLAB中用diff函数来计算差分kkxx1。连续时间信号的定积分可以由MATLAB的qud函数实现,调用格式为quad('function_name',a,b)其中,function_name为被积函数名,a、b为积分区间。对于符号对象表示的连续时间信号,MATLAB提供了diff函数和quad函数分别用于求微分和积分。3.离散时间信号的MATLAB表示离散时间信号仅在一些离散时刻有定义。在MATLAB中离散时间信号需要使用两个向量来表示,其中一个向量用于表示离散的时间点,另一个向量表示在这些时间点上的值。例如对于如下时间信号}3,2,1,1,2,1,2,3{)(nx采用MATLAB可以表示如下:n=-3:4;x=[-32-121-123];stem(n,x,'filled');xlabel('n');title('x(n)');Stem函数用于绘制离散时间信号波形,为了与我们表示离散时间信号的习惯相同,在绘图时一般需要添加‘filled’选项,以绘制实心的杆状图形。上述命令绘制的信号时域波形如图3所示。-3-2-101234-3-2-10123n图3离散时间信号示例x(n)4.离散时间信号的时域运算离散时间信号的相加相乘是将两个信号对应的时间点上的值相加或相乘,可以直接使用算术运算的运算符“+”和“*”来计算。离散时间信号的位移,则可看作是将表示时间的向量平移,而表示对应时间点上的值的向量不变。离散时间信号的反转,则可以看作是将表示时间的向量和表示对应时间点上的值的向量以零点为基准点,一纵轴为对称轴反折,向量的反折可以利用MATLAB的fliplr函数实现。三、实验内容(1)利用MATLAB绘制下列连续时间信号波形。○1)()1()(5.0tutxetMATLAB程序如下:symstx=(1-exp(-0.5*t))*heaviside(t);ezplot(x,[0,5])波形图如下:○2)]2()()[cos()(tututtxMATLAB程序如下:symstx=cos(pi*t)*[heaviside(t)-heaviside(t-2)];ezplot(x,[0,5])波形图如下:○3)]2()2()[cos(2||)(tututttxMATLAB程序如下:symstx=abs(t)*0.5*cos(pi*t)*[(heaviside(t+2)-heaviside(t-2))];ezplot(x,[-2,2])波形图如下:○4)]3()()[2sin()(tututetxtMATLAB程序如下:symstx=exp(-t)*sin(2*pi*t)*[heaviside(t)-heaviside(t-3)];ezplot(x,[-1,4])波形图如下:(2)利用MATLAB绘制下列离散时间信号波形○1)3()(nunxMATLAB程序如下:n=0:8;x=(n=3);stem(n,x,'filled')波形图如下:○2)()2/1()(nunxnMATLAB程序如下:n=-3:6;y=(n=0);x=(-0.5).^n.*y;stem(n,x,'filled')波形图如下:○3)]5()([)(nununnxMATLAB程序如下:n=-2:6;x=n.*((n=0)-(n=5));stem(n,x,'filled')波形图如下:○4)()2/sin()(nunnxMATLAB程序如下:n=-1:6;x=sin(n.*pi.*0.5).*(n=0);stem(n,x,'filled')波形图如下:(3)利用MATLAB生成并绘制连续周期矩形波信号,要求周期为2,峰值为3,显示三个周期的波形。利用MATLAB提供的square函数来生成方波信号MATLAB程序如下:t=0:0.00001:6;x=3*square(pi*t);plot(t,x)波形图如下:(4)已知信号)(1tx,及信号)2sin()(2ttx,用MATLAB绘出下列信号的波形。由教材上)(1tx的波形可知)(1tx为一个三角波的右半部分。○1)()()(213txtxtx○2)()()(214txtxtx○3)()(115txtxx○4)1()()(326txtxtxMATLAB程序如下:symstx1=(4-t)*(heaviside(t)-heaviside(t-4));x2=sin(2*pi*t);x3=x1+x2;x4=x1*x2;xa=(4-(-t))*(heaviside(-t)-heaviside(-t-4));x5=xa+x1;x6=x2*subs(x3,t,t-1);subplot(2,2,1);explot(x3,[-5,5]);subplot(2,2,1);ezplot(x3,[-5,5]);subplot(2,2,2);ezplot(x4,[-5,5]);subplot(2,2,3);ezplot(x5,[-5,5]);subplot(2,2,4);ezplot(x6,[-5,5])波形如下:(5)已知离散时间信号)(nx,用MATLAB绘出)2()2(),(),(nxnxnxnx和的波形。由教材上)(nx的波形可知}3,3,3,3,2,1{)(nx○1)(nx○2)(nx○3)2(nx○4)2(nxMATLAB程序如下:n=-6:6;x1=(n+3).*[(n=-2)-(n=1)]+3.*[(n=1)-(n=4)];stem(n,x1,'filled');n=-6:6;n=-n;x2=x1;stem(n,x2,'filled');n=-6:6;n=n+2;x3=x1;stem(n,x3,'filled');n=-6:6;n=n-2;x4=x1;stem(n,x4,'filled');波形如下:(6)用MATLAB编程绘制下列信号的时域波形,观察信号是否为周期信号?若是周期信号,周期是多少?若不是周期信号,请说明原因。○1)2cos()42cos(2)34cos(1)(ttttxMATLAB程序如下:symst;x=1+cos(pi*t/4-pi/3)+2*cos(pi*t/2-pi/4)+cos(2*pi*t);ezplot(x,[-15,15]);波形图如下:该信号是周期信号,周期T=8○2)sin(2)sin()(tttxMATLAB程序如下:symst;x=sin(t)+2*sin(t*pi);ezplot(x,[-15,15]);波形图如下:周期信号。为非,故之间不存在最小公倍数和为无理数,但周期是周期信号为周期信号,周期该信号不是周期信号。)(,22,)sin(2;212)sin(212121txTTTTTtTt○3)832sin(32)(nnxMATLAB程序如下:n=-15:15;x=cos(n*pi/6)+sin(n*pi/3)+cos(n*pi/2);stem(n,x,'filled');;波形图如下:该信号是周期信号,周期T=3○4)2cos()3sin()6cos()(nnnnxMATLAB程序如下:n=-15:15;x=cos(n*pi/6)+sin(n*pi/3)+cos(n*pi/2);stem(n,x,'filled');波形图如下:该信号是周期信号,周期T=12四.实验心得体会通过此次实验我掌握了MATLAB的基本使用及其在信号分析上的应用,达到了实验目的,在实验的过程中我体会到了MATLAB功能的强大,提高了我对信号与系统这门课程的兴趣。实验2LTI系统的时域分析一、实验目的①掌握利用MATLAB对系统进行时域分析的方法。②掌握连续时间系统零状态响应、冲激响应和阶跃响应的求解方法。③掌握求解离散时间系统响应、单位抽样响应的方法。④加深对卷积积分和卷积和的理解。掌握利用计算机进行卷积积分和卷积和计算的方法。二、实验原理1、连续时间系统时域分析的MATLAB实现1)连续时间系统的MATLAB表示设LTI因果系统的微分方程一般式为:)()()()()()()()(0'1)1(1)(0'1)1(1)(txbtxbtxbtxbtyatyatyatyammmmnnnn则在MATLAB里,可以建立系统模型如下:b=[;a=[;sys=tf(b,a);2)连续时间系统的零状态响应用lsim(sys,x,t)表示求解零状态响应。3)连续时间系统的冲激响应与阶跃响应。用impulse函数来调用。2、离散时间系统时域分析的MATLAB实现1)离散时间系统的MATLAB表示。LTI离散系统通常可以由系统差分方程描述;则在MATLAB里,可以建立系统模型如下:b=[;a=[;2)离散时间系统对任意输入的响应。用ilter(b,a,x)函数调用。3)离散时间系统的单位抽样响应。用impz函数来调用。3、卷积和与卷积积分1)离散时间序列的卷积和
本文标题:信号与系统MATLAB实验
链接地址:https://www.777doc.com/doc-5419474 .html