资源描述:
《信号与系统实验报告 最新.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三 常见信号的MATLAB表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB表示信号的方法并绘制信号波形3.掌握使用MATLAB进行信号基本运算的指令4.熟悉用MATLAB实现卷积积分的方法二、实验原理根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。1.连续时间信号从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中
2、,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续信号可用向量或符号运算功能来表示。⑴向量表示法对于连续时间信号,可以用两个行向量f和t来表示,其中向量t是用形如的命令定义的时间范围向量,其中,为信号起始时间,为终止时间,p为时间间隔。向量f为连续信号在向量t所定义的时间点上的样值。⑵符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。⑶常见信号的MATLAB表示 单位
3、阶跃信号单位阶跃信号的定义为: 方法一:调用Heaviside(t)函数首先定义函数Heaviside(t)的m函数文件,该文件名应与函数名同名即Heaviside.m。%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为yfunctiony=Heaviside(t)y=(t>0);%定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。方法二:数值计算法在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun()函数,它是用数值计算法表示的单位阶跃函数。其调用格
4、式为:stepfun(t,t0) 其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可。 符号函数符号函数的定义为: 在MATLAB中有专门用于表示符号函数的函数sign(),由于单位阶跃信号e(t)和符号函数两者之间存在以下关系:,因此,利用这个函数就可以很容易地生成单位阶跃信号。2.离散时间信号离散时间信号又叫离散时间序列,一般用表示,其中变量k为整数,代表离散的采样时间点(采样次数)。在
5、MATLAB中,离散信号的表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于MATLAB中元素的个数是有限的,因此,MATLAB无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据的命令,即stem()函数,而不能用plot()函数。 单位序列d单位序列)的定义为 单位阶跃序列单位阶跃序列的定义为3.卷积积分两个信号的卷积定义为:MATLAB中是利用conv函数来实现卷积的。功能:实现两个函数和的卷积。格式:g=conv(f1,f2)说明:f1=f1(t),f2=f2(t) 表示两个函数,g=g(t
6、)表示两个函数的卷积结果。三、实验内容1.分别用MATLAB的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形: ⑴⑵ (1)t=-1:0.01:10;t1=-1:0.01:-0.01;t2=0:0.01:10;f1=[zeros(1,length(t1)),ones(1,length(t2))];f=(2-exp(-2*t)).*f1;plot(t,f)axis([-1,10,0,2.1])symst;f=sym('(2-exp(-2*t))*heaviside(t)');ezplot(f,[-1,10]);(2)t=-
7、2:0.01:8;f=0.*(t<0)+cos(pi*t/2).*(t>0&t<4)+0.*(t>4);plot(t,f)symst;f=sym('cos(pi*t/2)*[heaviside(t)-heaviside(t-4)]');ezplot(f,[-2,8]);2.分别用MATLAB表示并绘出下列离散时间信号的波形: ⑵ ⑶ (2)t=0:8;t1=-10:15;f=[zeros(1,10),t,zeros(1,7)];stem(t1,f)axis([-10,15,0,10]);(3)t=0:50;t1=-10:
8、50;f=[zeros(1,10),sin(t*pi/4)];stem(t1,f)axis([-10,50,-2,2])3.已知两信号,,求卷积积分,