《信号与系统实验内容(2)-精品文档资料整理.docx》由会员分享,可在线阅读,更多相关《信号与系统实验内容(2)-精品文档资料整理.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一连续时间信号的时域表示一、实验目的:1、掌握连续时间信号的MATLAB表示方法;2、掌握用MATLAB描绘二维图像的方法。二、实验原理:信号是消息的载体,是消息的一种表现形式。信号可以是多种多样的,通常表现为随时间变化的某些物理量,一般用x(t)或x(n)来表示。信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。连续时间信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干不连续点以外,信号都有确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似地表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。在
2、MATLAB中通常用向量来表示连续时间信号,向量需要与时间变量相对应。对于连续时间信号x(t),可用x、t两个行向量来表示。其中向量t是形如t = t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为终止时间,p为时间间隔。向量x为连续信号x(t)在向量t所定义的时间点上的样值。如产生连续信号可用如下命令实现:t =-10:1.5:10;x=sin(t)./ t;在命令窗口(Command Window)中可得到程序执行的结果即x、t的具体值。注意:在MATLAB程序调试过程中,有时程序执行不出结果或虽然出结果但存在一些问题,MATLAB 都会在Command窗口中给
3、出错误说明,掌握利用Command窗口中的说明检查程序的方法。用上述向量对连续信号进行表示后,就可以用plot命令绘制信号的时域波形。命令如下:plot(t,x)title(x(t)=Sa(t)xlabel(t)axis(-10,10,-0.2,1.2)绘制的信号波形如图一所示,当把t改为:t =-10:0.5:10;则可得到图二。因为plot命令将点与点之间用直线连接,当点与点之间距离很小时,绘出的图形就成了光滑的曲线。但图二在t=0时,曲线是间断的。应用plot函数时应确保自变量t和函数值x的个数相等;函数axis(x1,x2,y1,y2)用来对横纵坐标进行限定,以完善图形,其中x1和x2
4、分别为横坐标的起始和截止位置,y1和y2分别为纵坐标的起始和截止位置; xlabel()、ylabel()和title()用于为该图添加横、纵坐标说明和标题;有时在一个程序中需要将几个图形绘制在一个窗口,利用subplot(m,n,k)函数可以将当前窗口分成m行n列个子窗口,并在第k个子窗口绘图,窗口的排列顺序为从左至右,从上至下分别为1,2,m*n。以上为几个常用绘图函数的基本用法,有关各函数的其他参数可参考MATLAB的帮助文件。单位冲激信号d(t) 和单位阶跃信号u(t)是信号处理中两个最基本的信号,它们的定义如下:下面给出产生单位冲激信号和单位阶跃信号的两个函数,供参考。产生单位冲激信
5、号的程序为:function x=delta(t1,t2,t0)dt=0.01; %信号的时间间隔t=t1:dt:t2; %信号时间样本点向量n=length(t); %时间样本点向量长度x=zeros(1,n); %各样本点函数值赋值为零x(1,(t0-t1)/dt+1)=1/dt; %在时间t=-t0处,样本点赋值为1/dtstairs(t,x);产生单位阶跃信号的程序为:function x=ut(t)x=(t0); %t0时x为1,否则为0在调用该函数表示信号时,需要先定义向量t,如t=-1:0.01:3。对于其他常用信号,可以直接调用MATLAB中的内部函数进行定义,例如:正弦信号:
6、sin( ),余弦信号:cos( ),指数信号:exp( ),符号函数:sign( );周期方波:square( ),周期锯齿波:sawtooth( )。复指数信号是时间t的复函数,需要用模和相角或实部和虚部来表示复指数信号随时间变化的规律,对应的函数分别为abs( ),angle( ),real( ),imag( )。各函数的参数及定义方法可参考MATLAB的帮助文件。三、实验内容:1、参考示例程序,绘制信号的图形,t取-1到4,步长值设为0.01。t =-1:0.01:4x=sin(t)./ t;2、产生一个指数为的复指数函数,绘出函数的实部、虚部、幅度和相位的波形,t取0到20,步长值设
7、为0.1。t =0:0.1:20x=abs(t);x= angle(t);x= real(t);x= imag(t)四、思考:1、为什么图二中t=0处曲线是间断的,如何使其成为连续的曲线?因为axis函数对纵坐标的上边界限定过小,图形在边界处不能完整的显示五、实验心得实验二 连续时间信号的时域分析一、实验目的:1、掌握用MATLAB对连续信号进行基本运算和时域变换的方法;2、掌握用MATLAB表示周期信号的方法。二、实验原理:(一)连续时间信号的基本运算和时域变换1、加法:x1(t)+x2(t)信号的加法运算为对应位置处量值的相加,在MATLAB中可用运算符“+”实现,但要求参与运算的两信号向
8、量的长度必须相等。如果长度不等或者长度相等但采样位置不同,则不能直接应用该运算符,此时需要先给定参数使序列具有相同的位置向量和长度。下面给出sigadd函数实现任意两信号的加法运算。function y,t = sigadd(x1,t1,x2,t2)t = min(min(t1),min(t2):max(max(t1),max(t2); %结果的时间向量y1 = zeros(1,length(t); y2 = y1; %初始化y1(find(t=min(t1)&(t=min(t2)&(t0时,y(t)为x(t)右移t0时刻之后的结果,当t00时,y(t)为x(t)左移|t0|时刻之后的结果。在
9、MATLAB中,时移运算与数学上习惯表达方法完全相同。例:clear;t = -5:0.01:5;x = exp(-0.5*t).*ut(t); x1 = exp(-0.5*(t+2).*ut(t+2); subplot(211)plot(t,x) title (原信号x(t)subplot (212)plot (t,x1) title ( x(t)左移2)xlabel ( t (sec)若信号的自变量的范围和t的范围相同,则不能用上述方法,如将x = exp(-0.5*t)进行左移得到x1 = exp(-0.5*(t+2)后,还需要对x1的时间变量重新定义。由于函数的平移可看作是函数时间向量
10、的平移,而对应的样值不变,当函数左移时,所有时间序号都减小|t0|个单位,反之,则增加t0个单位。因此可用如下方式实现:t1=t+t0;x1=x;plot(t1,x1)注:函数左移时,t00。4、反折:y(t) = x(-t)在MATLAB中有多种方法可以实现信号的反折运算。(1)修改绘图函数plot(t,x)中的时间变量t,即用-t代替原来的t。(2)直接利用原信号与其反折信号的数学关系式来实现。这种方法最符合信号反折运算的实际意义。(3)使用MATLAB内部函数fliplr( )来实现信号的反褶运算。其用法为: y = fliplr(x),其中x为原信号,而y则为x的时域反折。需要说明的是
11、,函数fliplr()对信号作时域反折,仅仅将信号中各个元素的次序作了一个反转,这种反转处理是独立于时间变量t的。因此,还需要对时间变量t进行反折,即t= -fliplr(x)。5、展缩:y(t) = x(at)其中a为任意常数。根据a的不同取值,尺度变换对信号x(t)具有不同的影响。当a 1时,y(t) = x(at),y(t)是将x(t)在时间轴上压缩得到;当0 a x = 1 2 3 4; h = 4 3 2 1; y=conv(x,h)在屏幕上得到显示结果:y = 4 11 20 30 20 11 4这表明,多项式p1和p2的乘积为:用MATLAB处理连续时间信号时,时间变量t的变化步
12、长应该很小,假定用符号dt表示时间变化步长,那么,用函数conv( )作两个信号的卷积积分时,应该在这个函数之前乘以时间步长方能得到正确的结果。也就是说,正确的语句形式应为:y = dt*conv(x,h)。对于定义在不同时间段的两个时限信号x(t),和h(t),。 如果用y(t)来表示它们的卷积结果,则y(t)的持续时间范围应为,这个结论很重要。在处理卷积结果的时间范围时,要利用这个结论,将结果的函数值与时间轴的位置和长度关系保持一致。另,用函数conv( )计算得到的卷积结果的长度为参与卷积的两函数长度之和减1。可参考以下程序得到卷积结果的时间变量:%计算卷积结果的非零样值的起点位置,%k
13、1,k2分别为参与卷积的两函数的时间向量k0=k1(1)+k2(1); %计算卷积结果的非零样值的宽度 k3=length(f); %确定卷积结果的非零样值的时间向量k=k0:p:k0+(k3-1)*p; 有时候,参与卷积运算的两个函数,可能有一个或者两个都很长,甚至是无限长,MATLAB处理这样的函数时,总是把它看作是一个有限长序列,具体长度由编程者确定。实际上,在信号与系统分析中所遇到的无限函数,通常都是满足绝对可积条件的信号,因此,对信号采取这种截断处理尽管存在误差,但是通过选择合理的信号长度,能够将误差减小到可以接受的程度。三、实验内容:1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?2、计算信号(a=1)和的卷积f(t), f1(t)、f2(t)的时间范围取为010,步长值取为0.1。绘制三个信号的波形。1、2、五、实验心得