您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 实验二-连续时间信号在MATLAB中的运算
1电子信息工程系实验报告课程名称:信号与系统实验项目名称:连续时间信号在MATLAB中的运算实验时间:2013-11-22班级:电信112班姓名:学号:一、实验目的:1、学会运用MATLAB进行连续信号的时移、反折和尺度变换;2、学会运用MATLAB进行连续信号的相加、相乘运算;3、学会运用MATLAB数值计算方法求连续信号的卷积。二、实验环境:1、Windows72、MATLAB7.1三、实验原理:2.1信号的时移、反折和尺度变换信号的时移、反折和尺度变换是针对自变量时间而言的,其数学表达式与波形变换之间存在一定的变换规律。信号()ft的时移就是将信号数学表达式中的t用0tt替换,其中0t为正实数。因此,波形的时移变换是将原来的()ft波形在时间轴上向左或者向右移动。0()ftt为()ft波形向左移动0t;0()ftt为()ft波形向右移动0t。信号()ft的反折就是将表达式中的自变量t用t替换,即变换后的波形是原波形的y轴镜像。信号()ft的尺度变换就是将表达式中的自变量t用at替换,其中,a为正实数。对应于波形的变换,则是将原来的()ft的波形以原点为基准压缩(1a)至原来的1/a,或者扩展(01a)至原来的1/a。上述可以推广到0()fatt的情况。2.2MATLAB数值计算法求连续时间信号的卷积用MATLAB分析连续时间信号,可以通过时间间隔取足够小的离散时间信号的数值计算方法来实现。可调用MATLAB中的conv()函数近似地数值求解连续信号的卷积积分。如果对连续时间信号1()ft和2()ft进行等时间间隔t均匀抽样,则1()ft和2()ft分别变为离散序列1()fmt和2()fmt。其中m为整数。当t足够小时,1()fmt和2()fmt即为连续时间信号1()ft和2()ft。因此连续信号的卷积积分运算转化为:成绩:指导教师(签名):21212()()*()()()ftftftfftd120lim()()tmfmtftmtt采用数值计算法,只求当tnt时卷积积分()ft的值()fnt,其中,n为整数,即12()()()mfntfmtfntmtt12()[()]mtfmtfnmt其中,12()[()]mfmtfnmt实际就是离散序列1()fmt和2()fmt的卷积和。当t足够小时,()fnt就是卷积积分的结果,从而连续时间信号12()()[()*()]ftfntfnfn上式表明通过MATLAB实现连续信号1()ft和2()ft的卷积,可以利用各自抽样后的离散时间序列的卷积再乘上抽样间隔t。抽样间隔t越小,误差也就越小。四、实验内容及结果分析:4.1试用MATLAB命令绘制信号/2()sin(10)sin(9)ttftetet的波形图。解:为画出/2()sin(10)sin(9)ttftetet连续信号的波形图编写如下程序代码:clear;clc;t=-1:0.001:3;ft=exp(-t).*sin(10*pi*t)+exp(-t/2).*sin(9*pi*t);plot(t,ft);gridon;axis([-1,3,-2.5,2.5]);把编写好程序以sye41.m为文件名保存,并执行此文件,然后在窗口中可看到/2()sin(10)sin(9)ttftetet连续信号的波形如图1所示:图13/2()sin(10)sin(9)ttftetet连续信号的波形4.2已知信号()()(1)(1)[(1)()]ftututtutut,画出()ft、(2)ft、()ft、(21)ft的波形。解:(1)先在MATLAB的工作目录下创建uCT的M文件,其MATLAB源文件为:functionf=uCT(t)f=(t=0);(2)然后建立()ft函数文件,即在MATLAB的工作目录下创建funct1.m文件,MATLAB源程序为:functionf=funct1(t)f=uCT(t)-uCT(t-1)+(t-1).*(uCT(t+1)-uCT(t));(3)调用上述函数来绘制所求的信号波形。程序运行完,产生如图2所示的波形。MATLAB源程序为:clear;clc;t=-2:0.001:4;ft1=funct42(t);ft2=funct42(t+2);ft3=funct42(-t);ft4=funct42(-2*t+1);subplot(2,2,1)plot(t,ft1);gridon;title('f(t)');axis([-22-22]);subplot(2,2,2)plot(t,ft2);gridon;title('f(t+2)');axis([-22-12]);subplot(2,2,3)plot(t,ft3);gridon;title('f(-t)');axis([-24-22]);subplot(2,2,4)plot(t,ft4);gridon;title('f(-2*t+1)');axis([-24-22]);4图2()ft、(2)ft、()ft、(21)ft的波形图4.3求信号1()()(2)ftutut与2()()(1)(2)(3)ftutututut的卷积结果12()()*()ftftft,并画出12(),()ftft和()ft的波形。解:为画出12(),()ftft和()ft的波形图编写如下程序代码:clear;clc;dt=0.001;t=-2:dt:11;f1=uCT(t)-uCT(t-2);f2=uCT(t)+uCT(t-1)-uCT(t-2)-uCT(t-3);f=conv(f1,f2)*dt;n=length(f);tt=(0:n-1)*dt-2;subplot(2,2,1);plot(t,f1);gridon;axis([-24-0.21.2]);title('f1(t)');xlabel('t');5subplot(2,2,2);plot(t,f2);gridon;axis([-24-0.22.2]);title('f2(t)');xlabel('t');subplot(2,1,2);plot(tt,f);gridon;axis([-211-0.23.2]);title('f(t)=f1(t)*f2(t)');xlabel('t');把编写好程序以sye43.m为文件名保存,并执行此文件,然后在窗口中可看到12(),()ftft和()ft的波形如图3所示:图312(),()ftft和()ft的波形图4.4求信号1()(0.5)(0.5)ftutut与自身的卷积结果11()()*()ftftft,并画出1()ft和()ft的波形。解:为画出1()ft和()ft的波形图编写如下程序代码:clear;clc;dt=0.001;t=-2:dt:2;f1=uCT(t+0.5)-uCT(t-0.5);f=conv(f1,f1)*dt;n=length(f);tt=(0:n-1)*dt-2;subplot(1,2,1);plot(t,f1);gridon;axis([-1,1,-0.2,1.2]);title('f1(t)');xlabel('t');subplot(1,2,2);plot(tt,f);gridon;axis([0,4,-0.2,1.2]);6title('f(t)=f1(t)*f1(t)');xlabel('t');把编写好程序以sye44.m为文件名保存,并执行此文件,然后在窗口中可看到1()ft和()ft的波形如图4所示:图41()ft和()ft的波形图五、问题与思考:MATLAB运算符中.*和*的区别?可结合例子说明。编写如下程序代码:clc;clear;A=[123;456;789]B=[111;101010;100100100]C=A*BD=A.*B运行结果如右图:总结如下:C=A*B表示的是矩阵A和矩阵B的基本运算。D=A.*B表示的是矩阵A中的元素乘以矩阵B中对应的元素。
本文标题:实验二-连续时间信号在MATLAB中的运算
链接地址:https://www.777doc.com/doc-1885030 .html