洛阳理工学院实验报告科目:班级:姓名:学号:同组人:日期:成绩:评语:评阅教师:实验一认识matlab工作环境及信号的绘制与运算一.实验目的:1.通过实验认识matlab软件及其工作环境。2.掌握常见信号的绘制方法。3.能对信号进行简单的运算并绘图。二.实验设备:1.装有matlab软件的计算机三.实验内容:1.向量表示法MATLAB的信号处理工具箱有大量的函数可用于产生信号,这些函数中大部分都要求用矢量来表示时间,例如要产生一个在0-1秒的时间段上以5毫秒为抽样间隔的时间值矢量t,是用命令t=0:0.005:1;这个矢量包含每秒200个时间抽样点,或者说抽样频率为200Hz。在MATLAB中,可以精确地表示离散时间信号,因为信号的值对应于矢量的各元素。但是,MATLAB对连续时间信号只能提供近似表示,由各元素分别代表连续时间信号抽样值的一个矢量来近似。当使用这种近似时,应该选择足够小的抽样间隔,以保证那些样本值能反映信号的全部细节。例题1:绘制图形参考程序:t=0:0.5:10;f=exp(-.1*t).*sin(2/3*t);plot(t,f);gridylabel(‘f(t)’)xlabel(‘Time(sec)’)axis([030-11]);将会显示波形如下图所示:在这段程序中,绘制曲线时,时间坐标值作为元素保存在矢量中。表达式exp(-.1*t)和sin(2/3*t)分别产生一个矢量,各矢量中的元素等于对应不同时间点处表达式的值。由这两个表达式生成的两个矢量的对应元素相乘得到矢量,然后用plot命令绘出该信号的时域波形。Plot命令可以将点与点间用直线连接,当点与点间的距离很小时,绘出的图形就成了光滑的曲线。2.用MATLAB绘出单位阶跃信号的波形。一种得到单位阶跃信号的方法是在MATLAB的SymbolicMathToolbox中调用单位阶跃函数Heaviside,这样可方便的表示出单位阶跃信号。但是,在用函数ezplot实现其可视化时,就出现一个问题:函数ezplot只能画出既存在于SymbolicMath工具箱中,又存在于总MATLAB工具箱中的函数,而Heaviside函数仅存在于SymbolicMathToolbox中,因此就需要在自己的工作目录work下创建Heaviside的M文件,该文件如下:functionf=Heaviside(t)f=(t>0)%t>0时f为1,否则为0正确定义出该函数并保存运行后,就可以调用该函数了,如先定义向量:t=0:0.06:2然后调用Heaviside函数表示出该信号并绘出波形f=heaviside(t)plot(t,f)axis([-1,3,-0.2,1.2])得到波形如下图所示。(2)另一种表示单位阶跃信号的方法是用向量f和t分别表示信号的样值和对应时刻值。零时刻以前,信号样值为零,从零时刻起,信号样值为1,定义出这样的两个向量后,就可用plot命令绘出波形图了。%t0时刻以前信号为零,在t0处有一跃变,以后为1functionaiya(t1,t2,t0);t=t1:0.04:-t0;tt=-t0:0.01:t2;n=length(t);nn=length(tt);u=zeros(1,n);uu=ones(1,nn);plot(tt,uu);holdonplot(t,u);plot([-t0,-t0],[0,1]);holdofftitle(‘单位阶跃信号’)axis([t1,t2,-0.2,1.5])调用函数jieyue绘制波形aiya(-2,5,0)3.符号运算的表示法如前说述,MATLAB可以有两种方法来表示连续时间信号。用这两种方法均可实现连续信号的时域运算和变换,但用符号运算的方法则较为简便。下面分别介绍各种运算、变换的符号运算的MATLAB实现方法。1).相加s=symadd(f1,f2)或s=f1+f2ezplot(s)上面是用MATLAB的符号运算命令来表示两连续信号的相加,然后用ezplot命令绘制出其结果波形图。其中f1,f2是两个用符号表达式表示的连续信号,s为相加得到的和信号的符号表达式。2).相乘w=symmul(f1,f2)或w=f1*f2ezplot(w)上面是用MATLAB的符号运算命令来表示两连续信号的相乘,然后用ezplot命令绘制出其结果波形图。其中f1,f2是两个用符号表达式表示的连续信号,w为相乘得到的积信号表达式。3).时移y=subs(f,t,t-t0);ezplot(y)上面的命令是实现连续时间信号的平移及其结果的可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量,subs命令则将连续时间信号中的时间变量t用t-t0替换。4).反褶y=subs(f,t,-t);ezplot(y)上面的命令是实现连续时间信号的反褶及其结果的可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量。5).尺度变换y=subs(f,t,a*t);ezplot(y)上面的命令是实现连续时间信号的...