您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Matlab信号与系统仿真
电子信息工程系实验报告课程名称:计算机仿真技术实验项目名称:实验四信号与系统仿真实验时间:2010-12-1班级:xxxx姓名:xxx学号:xxxxxxx一、实验目的学会运用MATLAB进行连续信号的时移、反折和尺度变换;学会运用MATLAB进行连续信号的相加、相乘运算;学会运用MATLAB数值计算方法求连续信号的卷积。二、实验环境硬件:PC机,基本配置CPUPII以上,内存256M以上;软件:Matlab版本7.1三、实验原理信号的时移、反折和尺度变换是针对自变量时间而言的,其数学表达式与波形变换之间存在一定的变换规律。用MATLAB分析连续时间信号,可以通过时间间隔取足够小的离散时间信号的数值计算方法来实现。四、实验内容及结果分析1.试用MATLAB命令绘制信号/2()sin(10)sin(9)ttftetet的波形图。解:新建一个项目,MATLAB源程序为:clear;clc;t=0:0.01:3;w1=10*pi;w2=9*pi;ft=exp(-t).*sin(w1*t)+exp(-t/2).*sin(w2*t);plot(t,ft);gridonaxis([0,3,-2,2]);运行后波形图如图1所示:图1成绩:指导教师(签名):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;plot(t,ft2);gridont=-2:0.01:3;title('f(t+2)');ft1=funct1(t);axis([-23-21.5]);ft2=funct1(t+2);subplot(223)ft3=funct1(-t);plot(t,ft3);gridonft4=funct1(-2*t+1);title('f(-t)');subplot(221)axis([-23-21.5]);plot(t,ft1);gridonsubplot(224)title('f(t)');plot(t,ft4);gridonaxis([-23-21.5]);title('f(-2t+1)');subplot(222)axis([-23-21.5]);图2()ft、(2)ft、()ft、(21)ft的波形图3求信号1()()(2)ftutut与2()()(1)(2)(3)ftutututut的卷积结果12()()*()ftftft,并画出12(),()ftft和()ft的波形。解:新建一个项目,MATLAB源程序为:clear;clc;axis([-1,3,-0.2,1.2]);dt=0.01;t=-1:dt:4;title('f1(t)');xlabel('t');f1=uCT(t)-uCT(t-2);subplot(222),plot(t,f2),gridon;f2=uCT(t)+uCT(t-1)-uCT(t-2)-uCT(t-3);axis([-1,4,-0.2,2.2]);f=conv(f1,f2)*dt;title('f2(t)');xlabel('t');n=length(f);subplot(212),plot(tt,f),gridon;tt=(0:n-1)*dt-2;axis([-2,7,-0.2,3.5]);subplot(221),plot(t,f1),gridon;title('f(t)=f1(t)*f2(t)');xlabel('t');程序运行后,产生如图3所示的波形:图312(),()ftft和()ft的波形图4求信号1()(0.5)(0.5)ftutut与自身的卷积结果11()()*()ftftft,并画出1()ft和()ft的波形。解:新建一个项目,MATLAB源程序为:clear;clc;dt=0.01;t=-1: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(221),plot(t,f1),gridon;axis([-1,1,-0.2,1.2]);title('f1(t)');xlabel('t');subplot(222),plot(tt,f),gridon;axis([-2,2,-0.2,1.2]);title('f(t)=f1(t)*f1(t)');xlabel('t');程序运行后,产生如图4所示的波形:图41()ft和()ft的波形图五、思考题MATLAB运算符中.*和*的区别?可结合例子说明。答:.*是数组运算,例如k.*A,是k乘以A中的每个元素。而*是矩阵运算.例如:A=[12;34];B=[43;21];r1=100+Ar1=101102103104r2_1=A*B,r2_2=A.*Br2_1=852013r2_2=4664
本文标题:Matlab信号与系统仿真
链接地址:https://www.777doc.com/doc-5863937 .html