信号与系统实验报告实验一信号与系统的时域分析_第1页
信号与系统实验报告实验一信号与系统的时域分析_第2页
信号与系统实验报告实验一信号与系统的时域分析_第3页
信号与系统实验报告实验一信号与系统的时域分析_第4页
信号与系统实验报告实验一信号与系统的时域分析_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一信号与系统的时域分析一、实验目的1、熟悉和掌握常用的用于信号与系统时域仿真分析的matlab函数;2、掌握连续时间和离散时间信号的matlab产生,掌握用周期延拓的方法将一个非 周期信号进行周期信号延拓形成一个周期信号的matlab编程;3、牢固掌握系统的单位冲激响应的概念,掌握lti系统的卷积表达式及其物理意义, 掌握卷积的计算方法、卷积的基本性质;4、掌握利用matlab计算卷积的编程方法,并利用所编写的matlab程序验证卷积 的常用基本性质;掌握matlab描述lti系统的常用方法及有关函数,并学会利用matlab求解lti 系统响应,绘制相应曲线。基本要求:掌握用matlab描

2、述连续时间信号和离散时间信号的方法,能够编写 matlab程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。 掌握线性时不变连续系统的时域数学模型用matlab描述的方法,掌握卷积运算、线性常 系数微分方程的求解编程。二、实验原理信号(signal一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压 力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些 信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。一幅图 片屮的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或 两个以上的独立变量。

3、在信号与系统课程中,我们只关注这种只有一个独立变量(independent variable) 的信号,并且把这个独立变量统称为时间变量(time variable),不管这个独立变量是否是 时间变量。在自然界屮,大多数信号的时间变量都是连续变化的,因此这种信号被称为连续时间信 号(contimioustime signals或模拟信号(analog signals)例如前面捉到的温度、压力 和声咅信号就是连续时间信号的例子。但是,还有一些信号的独立时间变量是离散变化的, 这种信号称为离散时间信号。前而提到的股票市场的fi收盘指数,由于相邻两个交易日的日 收盘指数相隔24小时,这意味着日收盘指

4、数的时间变量是不连续的,因此日收盘指数是离 散吋i'可信号。而系统则用于对信号进行运算或处理,或者从信号中提取有用的信息,或者滤出信号中 某些无用的成分,如滤波,从而产生人们所希望的新的信号。系统通常是由若干部件或单元 组成的一个整体(entity)。系统可分为很多不同的类型,例如,根据系统所处理的信号的 不同,系统可分为连续时间系统(continuous-time system)和离散时间系统(discrete-time system),根据系统所具有的不同性质,系统又可分为因果系统(causal system)和非因果 系统(noncausal system)、稳定系统(stabl

5、e system)和不稳定系统(unstable system)、 线性系统(linear system)和非线性系统(nonlinear system)、时变系统(time-variant system)和时不变系统(timejnvariant system)等等。然而,在信号与系统和数字信号处理中,我们所分析的系统只是所谓的线性时不变系统, 这种系统同时满足两个重要的基本性质,那就是线性性和时不变性,通常称为线性时不变 (lti)系统。1.信号的时域表示方法 1.1将信号表示成独立时间变量的函数例如x(t)=sin(cot)和 xn=n(0.5)nun分别表示一个连续时间信号和一个离散时间

6、信号。在matlab屮有许多内部函数,可以直 接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线表示一个信号,图11就是一个连续时间信号和一个离散时间信号的波形图。a continuoustime signala discrete-time signal图1.1连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:xn二0.1, 1.1, -1.2, 0, 1.3, .fn=o在信号与系统和数字信号处理课程中,上述三种信号的描述方法是经常耍使用 的。2用m

7、atlab仿真连续时间信号和离散时间信号在matlab中,无论是连续时间信号还是离散时间信号,matlab都是用一个数字 序列来表示信号,这个数字序列在matlab中叫做向量(vector)o通常的情况下,需要与时 间变量相对应。如前所述,matlab有很多内部数学函数可以用来产生这样的数字序列,例如sin()、 cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。2.1连续时间信号的仿真程序program 1_1是用matlab对一个正弦信号进行仿真的程序,请仔细阅读该程 序,并在计算机上运行,观察所得图形。% program 1_1% this progra

8、m is used to generate a sinusoidal signal and draw its plotclear,close all, dt = 0.01;t = -2:dt:2;x = sin(2 *pi*l); plot(t,x)% clear all variables% close all figure windows% specify the step of time variable% specify the interval of time% generate the signal% open a figure window and draw the plot o

9、f x(t)title(/sinusoidal signal x(t)1)xlabelctime t (sec)')常用的图形控制函数axis(xmin,xmax,ymin,ymax):图型显示区域控制函数,其中xmin为横轴的显示起点, xmax为横轴的显示终点,ymin为纵轴的显示起点,ymax为纵轴的显示终点。有时,为了使图形具有可读性,需要在所绘制的图形屮,加上一些网格线来反映信号的 幅度大小。matlab中的grid on/grid off可以实现在你的图形中加网格线。 grid on:在图形中加网格线。 grid off:取消图形屮的网格线。x = input(4type

10、in signal x(t) in closed foim:')在信号与系统课程中,单位阶跃信号u(t)和单位冲激信号8(t)是二个非常有用的 信号。它们的定义如下00j 8(t)dt = 1/=-ao5二 0,心0z 1,t>0u(t) = so,t<0这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。产生单位冲 激信号的扩展函数为:function y = delta(t)dt = 0.01;y = (u(t)-u(t-dt)/dt;产生单位阶跃信号的扩展函数为:% unit step functionfunction y = u(t)y = (t>

11、;=0);% y = 1 for t > 0, else y = 0请将这二个matlab函数分别以delta和u为文件名保存在work文件夹中,以后,就 可以像教材中的方法使用单位冲激信号8(1)和单位阶跃信号u(t)。2.2离散时间信号的仿真程序program 1 _2用來产生离散时间信号xnj=sin(0.2nn)o% program 1_2% this program is used to generate a discrete-lime sinusoidal signal and draw its plotclear, close all, n = -10:10;% clear

12、 all variables% close all figure windows% specify the interval of timex = sin(0.2*pi*n);% generate the signalstem (n,x)% open a figure window and draw the plot of xntitle (sinusoidal signal xnf)xlabel ('time index n*)请仔细阅读该程序,比较程序program 1_1和program 1 _2屮的不同z处,以便自己编程 时能够正确使用这种方法方针连续时间信号和离散时间信号。程

13、序program 1_3用来仿真下面形式的离散时间信号:xn二0.1, 1.1, -1.2, 0, 1.3, .tn=0% program 1_3% this program is used to generate a discrete-time sequence% and draw its plotclear,% clear all variablesclose all,% close all figure windowsn = -5:5;% specify the interval of time, the number of points of n is11.x 二0, 0, 0, 0,

14、 0.1, 1.1, -1.2, 0, 1.3, 0, 0;% generate the signalstem(n,x/)% open a figure window and draw the plot of xnjgrid on,title ('a discrete-time sequence xnf)xlabel ('time index n')由于在程序的stem(n,x;j)语句屮加有t选项,因此绘制的图形屮每根棒条线的顶端是一 个实心点。如果需要在序列的前后补较多的零的话,可以利用函数zeros(),其语法为: zeros(l,n):圆括号中的1和n表示该函数

15、将产生一个一行n列的矩阵,矩阵中的所有 元素均为零。利用这个矩阵与序列xn进行组合,从而得到一个长度与n相等的向量。例如,当 xn= 0.1, 1.1, -1.2, 0,1.3 时,为了得到程序program 1_3中的序列, tn=0可以用这个matlab语句x = fzeros(l,4) x zeros( 1,2)来实现。用这种方法编写的程序如下:% program 1_4% this program is used to generate a discrete-time sinusoidal signal% and draw its plotclear,% clear all varia

16、blesclose all,% close all figure windowsn = -5:5;% specify the interval of timex = zeros(l,4)5 0.1, 1 丄12 0, 1.3, zeros(l,2); % generate the sequence stem (n,x/j)% open a figure window and draw the plot of xngrid on,title (ra discrete-time sequence xnr)xlabel ('time index n*)离散时间单位阶跃信号un定义为1.2un

17、 = j,?-°0,n<0离散时间单位阶跃信号un除了也可以直接用前面给出的扩展函数来产生,还可以利用 matlab内部函数ones(l,n)来实现。这个函数类似于zeros(hn),所不同的是它产生的矩 阵的所有元素都为lo值得注意的是,利用ones(l,n)來实现的单位阶跃序列并不是真正的单位阶跃序列,而 是一个长度为n单位门(gate)序列,也就是但是在一个有限的图形窗口中,我 们看到的还是一个单位阶跃序列。在绘制信号的波形图吋,有时我们需要将若干个图形绘制在图一个图形窗口中,这就需 要使用matlab的图形分割函数subploto,其用法是在绘图函数stem或plot之

18、前,使用图 形分割函数subplot(nl,n2,n3),其中的参数nl, n2和n3的含义是,该函数将把一个图形窗 口分割成nlxn2个子图,即将绘制的图形将绘制在第n3个子图中。23信号的时域变换2.3.1信号的时移信号的时移可用下面的数学表达式来描述:设一个连续时间信号为x(t),它的时移y表示为:y(t) = x(t -1()1.3其中,to为位移量。若t()为正数,则y(t)等于将x(t)右移to秒之后的结果。反之,若to为负 数,则y(t)等于将x(t)左移s秒之后的结果。在matlab中,时移运算与数学上习惯表达方法完全相同。程序program 1_5对给定一个连续时间信号x(t

19、) = e'°-5tu(t),对它分别左移2秒钟和右移 2 秒钟得到信号 x(t) = e°w)u(t+2)和 x2(t) = e-°-5(t-2)u(t-2)o% program 1_5% this program is used to implement the time-shift operation% on a continuous-time signal and to obtain its time-shifted versions % and to draw their plots.% generate the original signal

20、x(t)% shift x(t) to the left by 2 second to get xl(t) % shift x(t) to the right by 2 second to get x2(t)clear,close all, t = -5:0.01:5; x = exp(-0.5*t).*u(t); xl = exp(-0.5*(t+2).*u(t+2); x2 = exp(-0.5*(t-2).*u(t-2);% plot x(t)%plot xl(t)subplot(311) plot(t,x) grid on, title ('original signal x(

21、t)') subplot (312) plot (t,x 1 ) grid on, title ('left shifted version of x(t)1)subplot (313)plot (t,x2)% plot x2(t)grid on,title ('right shifted version of x(t)') xlabel (time t (sec)1)2.3.2信号的时域反褶对一个信号xn的反褶运算在数学上表示为yn = x-nj1.4这种反褶运算,用matlab实现起来也是非常简单的。有多种方法可以实现信号的反 褶运算。方法一,修改绘图函数p

22、lot(t,x)和stem(n,x)'|j的时间变量t和n,即用t和替代原来的 t和m这样绘制出来的图形,看起来就是原信号经吋域反褶后的版本。方法二,直接利用原信号与其反褶信号的数学关系式來实现。这种方法最符合信号反褶 运算的实际意义。方法三,使用matlab内部函数fliplr()来实现信号的反褶运算。其用法如下:y = fliplr(x):其中x为原信号x(t)或xn,而y则为x的时域反褶。需要说明的是,函 数fliplro对信号作时域反褶,仅仅将信号屮各个元素的次序作了一个反转,这种反转处理是 独立于时间变量t和n的。因此,如果信号与其时间变量能够用一个数学函数來表达的话, 那么

23、建议将时间变量t和n的范围指定在一个正负对称的时间区间即可。2.3.3信号的时域尺度变换信号x(t)的吋域尺度变换在数学描述为y(t) = x(at),1.5其中a为任意常数。根据a的不同取值,这种时域尺度变换对信号x具有非常不同的影响。当 a = 1 时,y= x(t);当a = -1时,y(t) = x(-t),即y(t)可以通过将x(t)反褶运算而得到;当a > 1吋,y(t)二x(at), y(t)是将x(t)在时间轴上的压缩而得到;当0 v a v 1时,y(t) = x(at), y(t)是将x(t)在时间轴上的扩展而得到;当-1 < a < 0时,y(t) =

24、x(at), y(t)是将x(t)在时间轴上的扩展同时翻转而得到;当av-1时,y(t) = x(at), y是将x在时间轴上的压缩同时翻转而得到;由此可见,信号的时域尺度变换,除了对信号进行时域压缩或扩展外,还可能包括对信 号的时域反褶运算。实际上,matlab完成式1.5的运算,并不需要特殊的处理,按照数 学上的常规方法即能完成。2.3.4周期信号在信号与系统课程中,周期信号是一类非常重要的信号。给定一个信号x(t)或xn, 如果满足x(t) = x(t+kt)1.6xfn = xn+kn1.7则该信号叫做周期信号。其屮,k为任意整数,t和n为常数,通常称为信号的基本周期或 最小周期。周期

25、信号可以看作是一个时限的非周期信号经过周期延拓之后形成的。在数字信号处理 中,周期延拓这一信号处理方法非常重要。下面的程序段,就是将一个非周期信号x1(t) = e-2tu(t)-u(t-2)过周期延拓之后而得到一 个周期信号:clear, close all;t =-4:0.001:4;t = 2;x = 0;for k = -2:2;x = x+exp(-2*(t-k*t).*(u(t-k*t)-u(t-2-k*t); end仔细阅读该程序,可以发现其算法就是:8x(r)=_ kt)1.8k=-<x>由于k无法计算到无穷,而是以有限值加以替代,反映到有限宽度图形窗口中得到的效

26、果完全符合要求。3 lti系统的时域描述 3.1线性时不变系统在分析lti系统时,有关lti系统的两个重要的性质是必须首先掌握和理解的。这就 是线性性(linearity)和时不变性(time-invariance)o所谓线性性就是指系统同时满足齐 次性和柱加性。这可以用下面的方法来描述。假设系统在输入信号xi(t)作用时的响应信号为力,在输入信号x2(t)作用时的响应信 号为y2(t),给定两个常数"和b,如果当输入信号为x(t)吋系统的响应信号为y(t),且满足x(t) =x1(t) +x2(t)1.9(a)y(t) =yi(t) +y2(t)1.9(b)则该系统具有叠加性(ad

27、ditivity。如果满足x(t) =ax)(t)l0(a)y(t) =ayi(t)1.10(b)则该系统具有齐次性(homogeneity)。一个系统如果是线性系统的话,那么这个系统必须 同时具有叠加性和齐次性。又假设系统在输入信号x作用时的响应信号为y(t),对一个给定时间常数to,如果当 输入信号为x(t-t()时,系统的响应信号为y(t-to)的话,则该系统具有时不变性。同时具有线性性和时不变性的系统,叫做线性时不变系统,简称lti系统。lti系统有 连续时间lti系统和离散时间lti系统之分。连续时间系统的输入和输出信号都必须是连续 时间信号,而离散时间系统的输入和输111信号都必须

28、是离散时间信号。3.2 lti系统的单位冲激响应和卷积模型给定一个连续时间lti系统,在系统的初始条件为零时,用单位冲激信号6作用于系 统,此时系统的响应信号称为系统的单位冲激响应(unit impulse response), 一般用h(t)来 表示。需要强调的是,系统的单位冲激响应是在激励信号为6(t)时的零状态响应(zeustate response )。离散时间lti系统的单位冲激响应的泄义与连续时间lti系统的单位冲激响应相同,只 是离散吋i'可单位冲激函数乱n的定义有所不同。系统的单位冲激响应是一个非常重要的概念,对于一个系统,如果我们知道了该系统的 单位冲激响应,那么,该

29、系统对任意输入信号的响应信号都可以求得。也就是说,系统的输 入信号x、xn和输出信号y、yn之间的关系可以用一个数学表达式来描述,这个数学 表达式为00yn = 丫尢幻/?“-幻1.11(b)&=yo这个表达式就是lti系统的卷积模型,它是根据系统的线性性和时不变性以及信号可以 分解成单位冲激函数经推理得到的°这个表达式实际上告诉了我们一个重要的结论,那就是, 任意lti系统可以完全由它的单位冲激响应h(t)/hn来确定。由于系统的单位冲激响应是 零状态响应,故按照式111求得的系统响应也是零状态响应。式1.11屮的积分运算叫做卷 积积分,求和运算叫做卷积和,是描述连续吋间系

30、统输入输出关系的一个重要表达式。3.3卷积的计算卷积的计算通常可按下面的五个步骤进行(以卷积积分为例):1. 该换两个信号波形图中的横坐标,由t改为工变成函数的自变量;2. 把其中一个信号反褶,如把h变成h(-i);3. 把反褶后的信号做移位,移位量是t,这样t是一个参变量。在工坐标系中,t> 0时图形右移,t<0时图形左移。4. 计算两个信号重叠部分的乘积x(t)h(t-t);5. 完成相乘后图形的积分。对于两个时限信号(time-limited signal),按照上述的五个步骤,作卷积积分运算时, 关键是正确确定不同情况下的积分限。只要正确地确定了积分限都能得到正确定积分结果

31、。 尽管如此,在时域中计算卷积积分,总体上来说是一项比较困难的工作。借助matlab的内部函数coiw()可以很容易地完成两个信号的卷积积分运算。其语法 为:y二dt*conv(x,h)。其中x和h分别是两个作卷积运算的信号,y为卷积结果。对于定义在不同时间段的两个时限信号x(t), to<t<tp和h(t), t2<t<t3o如果用y(t) 来表示它们的卷积结果,则y(t)的持续时间范围要比x或h要长,其时间范围为t0+t2< t < ti+t3o这个特点很重要,利用这个特点,在处理信号在时间上的位置时,可以很容易地将信 号的函数值与时i'可轴的位

32、置和长度关系保持一致性。根据给定的两个连续时间信号x(t) = tu(t)u(tl)和h(t) = u(t)-u(t-l),编写程序,完成这 两个信号的卷积运算,并绘制它们的波形图。范例程序如下:% program 1_6% this program computes the convolution of two continuotime signals clear;close all;to = -2; tl = 4; dt = 0.01;t = to:dt:tl;x = u(t)-u(t-l);h = t.*(u(t)-u(t-l);y = dt*conv(x,h);% compute th

33、e convolution of x(t) and h(t)subplot(221)plot(t,x), grid on, title('signal x(t)'), axis(t0,tl,-0.2,1.2j)subplot(222)plot(t,h), grid on, title('signal h(t)'), axis(t0,tl,-0.2,1.2) subplot(212)t = 2*t0:dt:2*tl;% again specify the time range to be suitable to the% convolution of x and

34、h.plot(t,y), grid on, title(the convolution of x(t) and h(t)1), axis(2*t0,2*t 1 r0.1,0-6), xlabel(*time t sec')在有些时候,做卷积和运算的两个序列中,可能有一个序列或者两个序列都非常长,甚 至是无限长,matlab处理这样的序列时,总是把它看作是一个有限长序列,具体长度由 编程者确定。实际上,在信号与系统分析屮所遇到的无限长序列,通常都是满足绝对可和或 绝对可积条件的信号。因此,对信号釆取这种截短处理尽管存在误差,但是通过选择合理的 信号长度,这种误差是能够减小到可以接受的程度

35、的。若这样的一个无限长序列可以用一个 数学表达式表示的话,那么,它的长度可以由编程者通过指定时间变量n的范围來确定。例如,对于一个单边实指数序列xn = 0.5nun,通过指定n的范围为0 <n < 100,贝!|对 应的xn的长度为101点,虽然指定更宽的n的范圉,xn将与实际情况更相符合,但是, 注意到,当n大于某一数时,xn之值已经非常接近于0 了。对于序列xn = 0.5nunl,当n =7时,x7 = 0.0078,这已经是非常小了。所以,对于这个单边实指数序列,指定更长的n 的范围是没有必要的。当然,不同的无限长序列具有不同的特殊性,在指定n的范围时,只 要能够反映序列

36、的主要特征就可以了。3.4用线性常系数微分方程描述lti系统线性常系数微分方程或差分方程是描述lti系统的另一个时域模型。一个连续时间lti 系统,它的输入信号x(t)输出信号y(t)关系可以用下面的微分方程来表达§d总d= 112山 0clljt=o式1.12中,max (n, m)定义为系统的阶。式1.12描述了 lti系统输入信号和输出信号的一 种隐性关系(implicit relationship) o为了求得系统响应信号的显式表达式(explicit expression),必须对微分方程和差分方程求解。在matlab中,一个lti系统也可以用系统微分方程的系数來描述,例如

37、,一个lti 连续时间系统的微分方程为学+3響+2曲)=如dr dtmatlab则用两个系数向量num = 1和den = 13 2来描述该系统,其中num和den 分别表示系统微分方程右边和左边的系数,按照微分运算的降阶排列。matlab的内部函数impulse(), step(), initial(), lsim()可以用来计算并绘制连续时间 lti系统的单位冲激响应,单位阶跃响应,零输入响应和任意信号作用于系统的零状态响应。 这些函数的用法描述如下:impulse(num, den, t)h= impulse(num, den, t) 和s = step(num, den, t) 和 s

38、tep(num, den, t)y = lsim(num, den, x, t) 和 lsim (num, den, x, t)函数impulse(), step()用來计算由num和den表示的lti系统的单位冲激响应和单位阶 跃响应,响应的时间范围为0t,其中den和num分别为系统微分方程左右两边的系数向 量,t为指定的响应的终点时间。h和s的点数默认值为101点。由此可以计算时间步长为 dt = t/(101-l)o不带返回值的函数如impulse(num, den, t)和step(num, den, t)将直接在屏幕上绘制系统的单位冲激响和单位阶跃响应曲线。带返回值的函数如y二ls

39、im(num, den, x, t)和y二 lsim(num, den, x, t),用来计算由num和den表示的lti系统在输入信号x作用下的零状态 响应。其中t为指定的时间变化范围,x为输入信号,它们的长度应该是相同的。如带返回 参数y,则将计算的响应信号保存在y中,若不带返回参数y,则直接在屏幕上绘制输入信 号x和响应信号y的波形图。例如,编写程序,计算并绘制由下面的微分方程表示的系统的单位冲激响应h(t),单位 阶跃响应s(t)o常+ 3竽+ 2 w啦)matlab范例程序如下:% program 1_7% this program is used to compute the im

40、pulse response h(t) and the step response s(t) of a% continuous-time lti systemclear, close all;num = input(/type in the right coefficient vector of differential equation:');den = input(/type in the left coefficient vector of differential equation: r);1 = 0:0.01: &impulse(num,den,8); step(nu

41、m,den,8) plot(t,x);y=lsim(num,den,x,t);plot(t5y)x = input(*type in the expression of the input signal x(t):');subplot(221),subplot(222),subplot(223),subplot(224),三. 实验内容及步骤实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计 算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序应该完成的工作, 进一步分析程序中各个语句的作用,从而真正理解这些程序。实验前,一定要针对下面的实验项目做

42、好相应的实验准备工作,包括事先编写好相应的 实验程序等事项。q1-1:修改程序program 1_1,将dt改为0.2,再执行该程序,保存图形,看看所得图形的效杲如何?dt = 0.01时的信号波形dt = 0.2时的信号波形tme t (sec)这两幅图形有什么区别,哪一幅图形看起来与实际信号波形更像?答:q1-2:修改程序program 1_1,并以ql_2为文件名存盘,产生实指数信号x(t)=e_2to要求 在图形中加上网格线,并使用函数axis()控制图形的时间范围在02秒之间。然后执行该程 序,保存所的图形。修改program 1_1后得到的程序q1_2如下:% ql_2 clear

43、, close all, dt = 0.01;t = 0:dt:2;% clear all variables% close all figure windows% specify the step of time variable% specify the interval of timex = exp (-2*t);% generate the signalplot (tz x)of x (t)title ( 1 sinusoidal% open a figure window and draw the plot signal x(t)')xlabel(1 time t (sec)

44、 1 )axis(0,2,0,2) grid onsinusoidal signal x(t)ql-3:修改程序program 1_1,并以ql_3为文件名存盘,使之能够仿真从键盘上任意输 入的一个连续时问信号,并利用该程序仿真信号x(t)=e2to修改programl_l后得到的程序ql_3如下:信号x(t)=e2t的波形图»%q1_3 clear, close all, dt = 0.01; t = 0:dt:2;% clear all variables% close all figure windows% specify the step of time variable%

45、specify the interval of timex = exp(-2*t);% generate the signalgrid on plot(t,x)% open a figure window and draw the plot of x(t)titlecinusoidal signal x(t)1) xlabel(time t (sec)1)信号x(t)=e2t的波形图sinusoidal signal x(t)ql-4:将实验原理屮所给的单位冲激信号和单位阶跃信号的函数文件在matlab文件编 辑器屮编写好,并分别以文件名delta和u存入work文件夹屮以便于使用。抄写函数文

46、件delta如卜: q1-4抄写函数文件delta如卜:function y = delta(t)dt = o.ol;y = (u(t)-u(t-dt)/dt;抄写函数文件u如下:% unit step functionfunction y = u(t)y = (t>=0);% y = 1 for t > 0, else y = 0ql-5:修改程序program 1_4,并以ql_5为文件名存盘,利用axis()函数,将图形窗口的横坐标范围改>9-2<n<5,纵坐标范圉改-1.5<x<1.5o修改program 1 _4后得到的程序ql_5如下:cl

47、ose all, n = -5:5;% close all figure windows% specify the interval of time%q1_5 clear,% clear all variablesxzeros(1,4)0.1a 1. lz -1.2, 0a 1.3z zeros (1,2);sequencestem (nz xz 1 . 1 )% generate the% open a figure window and draw the plot of x ngrid on,axis(-2 5-1.5z1.5)此处粘贴图形1.50.5-0.5-1-1-1-52ql-6:仿

48、照前面的示例程序的编写方法,编写一个matlab程序,以q1_6为文件名存 盘,使之能够在同一个图形窗口屮的两个子图屮分別绘制信号xn二0.5测和 x(t)=cos(27it)u(t)-u(t-3)jo要求选择的时间窗能够表现出信号的主要部分(或特征)。编写的程序ql_6如下:%q1_6clear,close all,n = -5:5;x =0.5.aabs(n);% clear all variables% close all figure windows% specify the interval of time% generate the sequencet=-2:0.01:5;% op

49、en a figure window and draw the plot of xny=cos(2*pi*t).*u(t)-u(t-3);subplot(2,1,1),stem (n,x,t); grid on;title (ra discrete-time sequence xnf) xlabel ('time index n') subplot(2,1,2),plot (t.y);信号 xnj=0.5,n| 的波形图和信号 x(t)=cos(27rt)u(t)-u(t-3)09波形图a discrete-time sequence xn0.5qt.rcrcccrrrjz-5

50、-4-3-2-1012345time index nql-7:根据示例程序的编程方法,编写一个matlab程序,以ql_7为文件名存盘,由给定信号x(t) = e'°-5lu(t) 求信号y(t) = x(1.5t+3),并绘制出x(t)和y(t)的图形。 编写的程序ql_7如下:%q1_7clear,close all,dt = 0.01;t = -5:dt:5;x = exp(-o.5*t).*u(t);% clear all variables% close all figure windows% specify the step of time variable% s

51、pecify the interval of time% generate the signaly=exp(-o<75*t-l5)>*u(l5*t+3);subplot(2j j),plot(t,x); grid on;% open a figure window and draw the plot of x(t)litle('sinusoidal signal x(t)f); xlabel('time t (sec)'); subplot(2,1,2),plot(t,y); grid on;titlefsinusoidal signal y(t)f); x

52、label(time t (sec)1);信号x(t)的波形图信号y(t) = x(1.5t+3)的波形图sinusoidal signal x(t)b、-5 3-2012345time t (sec)sinusoidal signal y(t)ql-8:给定一个离散时间信号xn = un -un-8,仿照示例程序program 1_5,编写程序ql_8,产生xn的左移序列x|n = xn+6和右移序列x2n = xn-6,并在同一个图形窗口的 三个子图中分别绘制这三个序列的图形。编写的程序ql_8如下:%q1_8 clear,close all,n = -20:20;x = u(n)-u(n

53、-8);% generate the original signal x(t)xl = u(n+6)-u(n-2); x2 = u(n-6)-u(n-14);% shift x(t) to the left by 2 second to get x l(t)% shift x(t) to the right by 2 second to get x2(t)subplol(311), stem(n,x); grid on;% plot x(t)title ('original signal x(n)*);subplot (312),stem (n,x 1);% plot xl(t)gri

54、d on;title ('left shifted version of x(n)');subplot (313),stem (n,x2);% plot x2(t)grid on;title ('right shifted version of x(n);xlabel (index n');信号波形图original signal x(n)left shifted version of x(n)right shifted /ersion of x(n)此处粘贴图形ql-9:编写程序q1_9,使z能够接受以键盘方式输入的定义在不同时间段的两个不同连 续时间信号并完成卷积运算,分别绘制这两个信号及其卷积的结果的图形,图形按照2x2 分割成四个子图。编写的程序ql_9如下:%q1_9clear, close all;dt=o.ol;t = -5:0.01:5;x =sin(2*t);h =cos(3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论