连续时间信号在MATLAB中的运算.docx
信号与通信系统综合项目设计报告题目:连续时间信号在JVlATLA小中的运算摘要本文介绍了基于MATLAB的连续时间信号的运算。首先利用MATLAB分别分析了基于连续时间信号的时域波形、时域运算、时域变换,并做出了连续时间信号的卷积积分的仿真波形、连续时间信号的积分与微分的仿真波形。在编程过程中分别用到了y=heaviside()、y=conv()、y=diff(b,a,w)、y=int(a,b)等函数。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号及运算的仿真波形。关键词:连续时间信号;运算;MATLAB;仿真摘要I一、设计任务及要求I二、设计原理12.1连续时间信号概述I2.2设计原理1三、仿真实现31.1连续时间信号的平移、反转和尺度变换31.2连续时间信号的相加与相乘5L3连续时间信号的卷积61.4连续时间信号的积分与微分8四、设计总结H参考文献12一、设计任务及要求1 .学会运用MATLAB进行连续时间信号平移、反转和尺度变换;2 .学会运用MATLAB进行连续时间信号微分、积分运算;3 .学会运用MATLAB进行连续时间信号相加、相乘运算;4 .掌握连续时间信号的基本运算的实现方法;5 .熟悉MATLAB相关函数的调用格式及作用。二、设计原理2.1 连续时间信号概述在某一时间区间内,除若干个不连续点外,如果任意识可都可给出确定的函数值,则称该信号为连续时间信号,简称为连续信号。从严格意义上讲,MATLAB数值计算的方法并不能处理连续时间信号,然而,可利用连续信号在等时间间隔的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。2.2 设计原理1 .连续时间信号的时移、反折和尺度变换信号的时移、反折和尺度变换是针对自变量时间而言的,其数学表达式与波形变换之间存在一定的变换规律。信号/的时移就是将信号数学表达式中的t用t±t。替换,其中S为正实数。因此,波形的时移变换是将原来的/波形在时间轴上向左或者向右移动。FQ+to)为/波形向左移动to;/(Lt。)为/波形向右移动to。信号/的反折就是将表达式中的自变量t用替换,即变换后的波形是原波形的y轴镜像。信号F的尺度变换就是将表达式中的自变量t用at替换,其中,a为正实数。对应于波形的变换,则是将原来的F的波形以原点为基准压缩(a>l)至原来的la,或者扩展(0<a<l)至原来的1/a。上述可以推广到/(z±o)的情况。2 .连续时间信号的微分及积分运算连续时间信号的微分运算,可使用diff命令函数来完成,其语句格式为:diff(funcion/variable',n)o其中,function表示需要进行求导运算的函数,或者被赋值的符号表达式;VariabIe为求导运算的独立变量;n为求导阶数,默认值为一阶导数。连续时间信号积分运算可以使用int命令函数来完成,其语句格式为:int(functbn,'variable',a,b)0其中,function表示被积函数,或者被赋值的符号表达式;Variable为积分变量;a为积分下限,b为积分上限,a和b默认时则求不定积分。3 .连续时间信号的相加与相乘运算信号的相加与相乘是指在同一时刻信号取值的相加与相乘。因此,MATLAB对于时间信号的相加与相乘都是基于向量的点运算。故只需将信号表达式进行相加与相乘即可。4 .连续时间信号的卷积用MATLAB分析连续时间信号,可以通过时间间隔取足够小的离散时间信号的数值计算方法来实现。可调用MATLAB中的ConV()函数近似地数值求解连续信号的卷积积分。如果对连续时间信号力和小进行等时间间隔t均匀抽样,则力和/2«)分别变为离散序列力(mr)和2(mr).其中m为整数。当&足够小时,力(mr)和2(mZ)即为连续时间信号力和心。因此连续信号的卷积积分运算转化为:/(0=/KO*2(r)=匿f()f2(t-)d=Iim(wr)f(t-nt)-t/n)m=-<>()采用数值计算法,只求当t=nt时卷积积分/的值/(nf),其中,n为整数,即/(n)=f(wr)f2(r-mt)r=/(nr)f2(n-n)rn=-0cm=-(12)(wr)2(n-7H)rn=-<x>其中,实际就是离散序列/(n)和2(mAf)的卷积和。当At足够小时,/(nr)就是卷积积分的结果。从而连续时间信号/(nr)=(n)*fn)(1-3)上式表明通过MATLAB实现连续信号力和/2。)的卷积,可以利用各自抽样后的离散时间序列的卷积再乘上抽样间隔At。抽样间隔At越小,误差也就越小。三、仿真实现1.1连续时间信号的平移、反转和尺度变换已知信号/=)-1)+(,一仇(f+l)-"Q),画出f、f(t-2)>/()、/(-2f+l)的波形。(1)建立了函数文件,即在MATLAB的工作目录下创建functl.m文件,MATLAB源程序为:functionft=functl(t)ft=heaviside(t)-heaviside(t-1)+(t-1).*(heaviside(t+l)-heaviside(t);end(2)调用上述函数来绘制所求的信号波形,MATLAB源程序为:%连续时间信号的反转,平移,尺度变换%f(t)=u(t)-u(t-1)+(t-1)u(t+l)-u(t)clear;clc;t=-2:0.01:4;ftl=functl(t);ft2=functl(t-2);ft3=functl(-t);ft4=functl(-2*t+l);subplot(2,2,l);plot(t,ftl,r,linewidth',3);%画原信号f(t)波形图title('f(t)f);gridon;axis(-2.1,4,-2.2,1.2);subplot(2,2,2);plot(t,ft2,r','linewidth*,3);%画时移信号f(t-2)波形图title(f(t-2),);gridon;axis(-2.1,4,-2.2,1.2);subplot(2,2,3);plot(t,ft3r,linewidth,3);%画反转信号f(t)波形图titleCf(-t)1);gridon;axis(-2.1,4,-2.2,1.2);subplot(2,2,4);plot(Lft3,TjineWidth;画压缩后信号f(2+1)波形图title(,f(-2t+l),);gridon;axis(-2.1,4,-2.2,1.2);functionft=functl(t)ft=heaviside(t)-heaviside(t-1)+(t-1).*(heaviside(t+l)-heaviside(t);end(3)程序运行完,产生如图1所示的波形。年Figure1X文件(F)Sfl(E)三(V)SLM)IRT)Je面)H(W)帮助(三)、f(-2t*1)图1连续时间信号的时移、反折和尺度变换根据所得波形可知,Af-2)波形为/波形向右平移2个单位;/(T)波形为了波形以t=0为对称轴进行反转;/(-2/+1)波形为/(力波形先向左平移1个单位,在进行以t=0为对称轴的反转,最后将横坐标压缩到原来的1/2。1.2 连续时间信号的相加与相乘已知信号(r)=sin(刈)、2(f)=sin(8d)、=2,求1(r)+2(r)及力(6/2的波形图。(1) MATLAB源程序为:%连续时间信号的相加,相乘%fl(t)=sin211t%f2(t)=sinl611t%f(t)=fl(t)+f2(t)w=2*pi;t=0:0.01:3;fl=sin(w*t);f2=sin(8*w*t);subplot(221)plot(t,fl);gridon;titleCfl(t);axis(0,3,-l2,1.2);subplot(222)plot(t,f2);gridon;title(,f2(t),);axis(0,3,-l2J.2);subplot(223)plot(t,fl+l,t,fl-lt,fl÷f2);%“:表示线的结构,就是虚的电线gridon;title('fl+f2');subplot(224)plot(t,fl,t,-11,t,fl.*f2);gridon;title(,fl(t)f2(t)');(2)程序运行完,产生如图2所示的波形。*¾Figure1X,文件(F)邸B(E)SV(V)(l)IRT)Ji面(D)S(W)帮助(三)匕CJH,0国Q工图2连续时间信号的相加与相乘图2中,力+心为两信号相加之和,其和信号在任意时刻的信号值等于两信号在该时刻的信号值之和。力Q)小为两个信号点相乘,其积信号在任意时刻的信号值等于两信号在该时刻的信号值之积。1.3 连续时间信号的卷积已知信号(r)=u(t)-u(t-2)/2。)=(,)+11«-1)一(,-2)-(,一3)的卷积=*2(r),画出了,力和心的波形。(1) MATLAB源程序为:%卷积%fl(t)=u(t)-u(t-2)%f2(t)=u(t)+u(t-l)-u(t-2)-u(t-3)clear;%clear命令可以用来清除工作空间的内容clc;%clc清除命令窗口的内容dt=0.01;t=-l:dt:6;%从-1到6,以0.01为间隔进行划分fl=heaviside(t)-heaviside(t-2);%heaviside是阶跃函数f2=heaviside(t)+heaviside(t-1)-heaviside(t-2)-heaviside(t-3);f=conv(f1,f2)*dt;%conv是卷积,比如说ConV(a,b)就是说a卷积bn=length(f);tt=(0:n-l)*dt-2;subplot(221);lot(t,f1,b',linewidth2);%t表示以其为横坐标,以y为纵坐标绘制图。b表示蓝线,linewidth,2表示线宽gridon;%表示在画图的时候添加网格线axis(-lA-02,32);%axis(xminxmaxyminymax)设置当前坐标轴X轴和y轴的限制范围title(,fl(t)r);subplot(2,2,2);plot(t,f2,'b','linewidth',2);gridon;axis(-1,6,-0.2,32);title(,t2(t)');subplot(2,2,3,41);plot(tt,f,'b,linewidth,2);gridon;axis(-1,6,-0.2,3.2);title(,f(t);(2)程序运行完,产生如图3所示的波形。图3中,为卷积后的波形图,的图形不,力倒置为力(T),力(T)再移动T个单位,得至一),再对t)/2进行积分。<-2时与>3,/2与力(TT)无重合的区间,乘积/2«)力(汇-,)为零,故积分结果为零;r(-2,3)时,其卷积结果就是对力"T)A的积分结果(积分上下限分别为重叠区域的左边限和右边限)。1.4 连续时间信号的积分与微分1 .微分BIf(t)=t2*u(t)-u(t-1)+u(t-1),求微分。在符号运算中,若要调用它必须用Sym定义后,才能实现。(1) MArLAB源程序为:%连续时间信号的微分%diff为相关函数命令SymStf2;%定义符号变量f2=t*(2*heaviside(t)-heaviside(t-1)+heaviside(t-1);%生成一个原始信号,其中heaviside(t)为阶跃函数,当t<0时,其为0,当t=0时,其为0.5,当t>0时,其为1t=-1:0.01:2;%定义变量t的范围subplot(121);ezplot(f2,t);titleC原函数);gridonylabel(,x(t)1);f=diff(f2,'tl);%对函数f2中的变量t进行一次微分(即求一阶导数)subplot(122)ezplot(f,t);HtleC微分函数);gridonylabel(,x(t)r)(2)程序运行完,产生如图4所示的波形。BI Figure 1×File Edit VieW Insert Tools Desktop Window HelpT口 痣Q qq争®送 ;百图4连续时间信号的微分原函数对其微分,即对其求导数。图中微分函数的值为原函数的导数值,在0<tvl时,原函数斜率为2,求微分后其值在0<tvl时为2。在lvt<2时,原函数斜率为1,求微分后其值在l<t<2时为Io2.积分己知力(。=2*Qia-1),求积分%定义符号变量%生成一个原始信号,其中heaviside(t)(1) MATLAB源程序为:symstfl;fl=2*heaviside(t)-heaviside(t-1);为阶跃函数,当t<0时,其为0,当仁0时,其为0.5,当t>0时,其为1t=-1:0.01:2;subplot(121);ezplot(fl,t);title('原函数')gridonylabel('x(t)1);f=int(fl,t,);subplot(122)ezplot(f,t);title(积分函数,)gridonylabel(,x(t)t)%定义变量t的范围%对函数fl中的变量t进行积分 XEdit View Insert Tools Desktop Window Help图5连续时间信号的积分(2)程序运行完,产生如图5所示的波形。原函数对其积分,图中原函数与积分函数的波形,在0<t<l时,原函数的值为2,求积分后其值在0<t<l时其斜率为2。在l<t<2时,原函数的值为1,求积分后其值在0<t<l时其斜率便为Io四、设计总结一周多的时间在我们不经意间已经悄然逝去,在这一周多的时间里我们每一个人都执著于自己的课程设计中。在课程设计中也遇到了许多问题,首先就是在MATLAB软件的版本和安装问题,还有就是一些程序上的小错误,函数调用等问题,但最后在老师的悉心指导和同学们的反复交流下我们都有了属于自己的小成就。通过这次课设,我们再次熟悉了MATLAB的函数和基本操作,能流利的使用MATLAB进行函数的仿真模拟和运算。了解了连续信号MATLAB实现原理:从严格意义上讲,MATLAB数值计算的方法并不能处理连续时间信号。然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。这个过程中我们都学到了很多,对书本上知识的深刻理解和动手实践能力的提升。总体来说这次课设做的还是很成功的,这次课程设计的安排让我的实践能力也有了很大的提高。总之这些经验会让我一生受用的。所以我感谢这次课程设计的安排。参考文献山孙祥.徐流美.吴清MATLAB基础教程.北京:清华大学出版社,2016吴大正.信号与线性系统分析(第5版).连续信号.高等教育出版社出版,2019.3唐向宏.岳恒立.邓雪峰.MATLAB及在电子信息类课程中的应用.北京:电子工业出版社,2016赵静.张瑾.高新科.基于MATLAB的通信系统仿真.北京:北京航空航天大学出版社,20175梁虹.信号与线性系统分析.基于MATLAB的方法与实现.北京:电子工业出版社,2016.513