信号与系统matlab仿真实验指导

2019-06-05 15:26

信号与系统实验指导书

第二部分 上机实验

实验一 连续时间信号的时域分析

一、实验目的:

1、熟悉表示连续时间信号的MATLAB函数; 2、掌握用MATLAB描绘二维图像的方法。

3、掌握用MATLAB对连续信号进行基本的运算和时域变换的方法。 二、实验原理:

(一)连续时间信号的时域表示

信号是消息的载体,是消息的一种表现形式。信号可以是多种多样的,通常表现为随时间变化的某些物理量,一般用x(t)或x(n)来表示。信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。

连续时间信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干不连续点以外,信号都有确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似地表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。在MATLAB中通常用向量来表示连续时间信号,向量需要与时间变量相对应。

对于连续时间信号x(t),可用x、t两个行向量来表示。其中向量t是形如t = t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为终止时间,p为时间间隔。向量x为连续信号x(t)在向量t所定义的时间点上的样值。如产生连续信号

sin(t)x(t)?Sa(t)?可用如下命令实现:

tt =-10:1.5:10; x=sin(t)./ t;

在命令窗口(Command Window)中可得到程序执行的结果即x、t的具体值。注意:在MATLAB程序调试过程中,有时程序执行不出结果或虽然出结果但存在一些问题,MATLAB 都会在Command窗口中给出错误说明,掌握利用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时,曲线是间断的。

第1页

信号与系统实验指导书

图一 图二

应用plot函数时应确保自变量t和函数值x的个数相等;函数axis([x1,x2,y1,y2])用来对横纵坐标进行限定,以完善图形,其中x1和x2分别为横坐标的起始和截止位置,y1和y2分别为纵坐标的起始和截止位置; xlabel(‘’)、ylabel(‘’)和title(‘’)用于为该图添加横、纵坐标说明和标题;有时在一个程序中需要将几个图形绘制在一个窗口,利用subplot(m,n,k)函数可以将当前窗口分成m行n列个子窗口,并在第k个子窗口绘图,窗口的排列顺序为从左至右,从上至下分别为1,2,?m*n。

以上为几个常用绘图函数的基本用法,有关各函数的其他参数可参考MATLAB的帮助文件。

在《信号与系统》课程中,单位冲激信号?(t) 和单位阶跃信号u(t)是两个最基本的信号。它们的定义如下:

?????(t)dt?1 1.1 1.2

?(t)?0,?1,u(t)???0,t?0t?0t?0下面给出产生单位冲激信号和单位阶跃信号的两个函数,供参考。 产生单位冲激信号的程序为:

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/dt stairs(t,x);

产生单位阶跃信号的程序为:

function x=ut(t)

x=(t>0); %t>0时x为1,否则为0

在调用该函数表示信号时,需要先定义向量t,如t=-1:0.01:3。

对于其他常用信号,可以直接调用MATLAB中的内部函数进行定义,例如:正弦信号:sin( ),余弦信号:cos( ),指数信号:exp( ),符号函数:sign( );square( ),周期方波:

第2页

信号与系统实验指导书

周期锯齿波:sawtooth( )。复指数信号是时间t的复函数,需要用模和相角或实部和虚部来表示复指数信号随时间变化的规律,对应的函数分别为abs( ),angle( ),real( ),imag( )。

各函数的参数及定义方法可参考MATLAB的帮助文件。 (二)连续时间信号的基本运算和时域变换 1、加法:x1(t)+x2(t)

信号的加法运算为对应位置处量值的相加,在MATLAB中可用运算符“+”实现,但要求参与运算的两信号向量的长度必须相等。如果长度不等或者长度相等但采样位置不同,则不能直接应用该运算符,此时需要先给定参数使序列具有相同的位置向量和长度。下面给出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<=max(t1))==1))=x1; %在公共区间定义y1 y2(find((t>=min(t2))&(t<=max(t2))==1))=x2; %在公共区间定义y2 y = y1+y2;

其中x1和x2为参与加法运算的两信号,t1和t2分别为x1和x2的时间向量。 2、乘法:x1(t)·x2(t)

序列的乘法运算为对应位置处量值的相乘,在MATLAB中由数组运算符“.*”实现,也受到“+”运算符同样的限制。

3、时移:y(t) = x(t - t0)

其中,t0为位移量,当t0>0时,y(t)为x(t)右移t0时刻之后的结果,当t0<0时,y(t)为x(t)左移|t0|时刻之后的结果。

在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)

第3页

信号与系统实验指导书

进行左移得到x1 = exp(-0.5*(t+2))后,还需要对x1的时间变量重新定义。由于函数的平移可看作是函数时间向量的平移,而对应的样值不变,当函数左移时,所有时间序号都减小|t0|个单位,反之,则增加t0个单位。因此可用如下方式实现:

t1=t+t0; x1=x;

plot(t1,x1)

注:函数左移时,t0<0,即t-|t0|;函数右移时,t0>0。

4、反折:y(t) = x(-t)

在MATLAB中有多种方法可以实现信号的反折运算。

(1)修改绘图函数plot(t,x)中的时间变量t,即用-t代替原来的t。

(2)直接利用原信号与其反折信号的数学关系式来实现。这种方法最符合信号反折运算的实际意义。

(3)使用MATLAB内部函数fliplr( )来实现信号的反褶运算。其用法为: y = fliplr(x),其中x为原信号,而y则为x的时域反折。需要说明的是,函数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 < 1时,y(t) = x(at),y(t)是将x(t)在时间轴上扩展得到。在MATLAB中,按照数学上的常规方法即能实现。

(三)周期信号

周期信号是一类非常重要的信号。给定一个信号x(t),如果满足x(t) = x(t+kT),则该信号叫做周期信号。其中,k为任意整数,T为常数,通常称为信号的基本周期或最小周期。周期信号可以看作是一个有限长非周期信号经过周期延拓之后形成的。

周期信号可用如下表达式定义:x(t)?三、实验内容:

1、参考示例程序,绘制信号e?2tcos3?t[u(t)?u(t?3)]的图形。

2、产生一个指数为[-0.1+(pi/4)*i]*t的复指数函数,0?t?3,时间间隔取为0.5,绘出函数的实部、虚部、幅度和相位的波形。

3、已知e?0.5t?u(t),求信号y(t)?x(1.5t?3),并绘制出x(t) 和y(t)的图形。 4、选做:

(1)周期信号的实现。根据式1.3产生一个周期信号。

(2) 根据符号函数和单位阶跃函数的关系,利用符号函数sign实现单位阶跃函数。要求图形窗口的横坐标范围为-5~5,纵坐标范围为-1.5~1.5。

k????x(t?kT) 1.3

1?第4页

信号与系统实验指导书

四、思考:

1、为什么图二中t=0处曲线是间断的,如何使其成为连续的曲线? 2、代数运算符号*和.*的区别是?

第5页


信号与系统matlab仿真实验指导.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基本农田初步设计变更报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: