公式正常信号与系统实验教程刘_第1页
公式正常信号与系统实验教程刘_第2页
公式正常信号与系统实验教程刘_第3页
公式正常信号与系统实验教程刘_第4页
公式正常信号与系统实验教程刘_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

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

2、要求:掌握用matlab描述连续时间信号和离散时间信号的方法,能够编写matlab程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。掌握线性时不变连续系统的时域数学模型用matlab描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。二、实验原理1. 信号的时域表示方法1.1将信号表示成独立时间变量的函数例如 x(t)=sin(t) 和 xn=n(0.5)nun分别表示一个连续时间信号和一个离散时间信号。在matlab中有许多内部函数,可以直接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线

3、表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。图1.1 连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如: xn=., 0.1, 1.1, -1.2, 0, 1.3, . n=0 在信号与系统和数字信号处理课程中,上述三种信号的描述方法是经常要使用的。2 用matlab仿真连续时间信号和离散时间信号 在matlab中,无论是连续时间信号还是离散时间信号,matlab都是用一个数字序列来表示信号,这个数字序列在matlab中叫做向量(vector)。通常的情况下,需要与时间变量相对应。 如前所述,matla

4、b有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。2.1连续时间信号的仿真常用的图形控制函数axis(xmin,xmax,ymin,ymax):图型显示区域控制函数,其中xmin为横轴的显示起点,xmax为横轴的显示终点,ymin为纵轴的显示起点,ymax为纵轴的显示终点。有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅度大小。matlab中的grid on/grid off可以实现在你的图形中加网格线。grid on:在图形中加网格线。grid off:取消图形中的

5、网格线。x = input(type in signal x(t) in closed form:)在信号与系统课程中,单位阶跃信号u(t) 和单位冲激信号(t) 是二个非常有用的信号。它们的定义如下 1.1(a) 1.1(b)这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。产生单位冲激信号的扩展函数为:function y = delta(t)dt = 0.01;y = (u(t)-u(t-dt)/dt;产生单位阶跃信号的扩展函数为:% unit step functionfunction y = u(t)y = (t=0); % y = 1 for t 0, else y

6、 = 0 请将这二个matlab函数分别以delta 和u为文件名保存在work文件夹中,以后,就可以像教材中的方法使用单位冲激信号(t) 和单位阶跃信号u(t)。2.2离散时间信号的仿真 离散时间单位阶跃信号un定义为 1.2离散时间单位阶跃信号un除了也可以直接用前面给出的扩展函数来产生,还可以利用matlab内部函数ones(1,n) 来实现。这个函数类似于zeros(1,n),所不同的是它产生的矩阵的所有元素都为1。 值得注意的是,利用ones(1,n) 来实现的单位阶跃序列并不是真正的单位阶跃序列,而是一个长度为n单位门(gate)序列,也就是un-un-n。但是在一个有限的图形窗口

7、中,我们看到的还是一个单位阶跃序列。 在绘制信号的波形图时,有时我们需要将若干个图形绘制在图一个图形窗口中,这就需要使用matlab的图形分割函数subplot(),其用法是在绘图函数stem或plot之前,使用图形分割函数subplot(n1,n2,n3),其中的参数n1,n2和n3的含义是,该函数将把一个图形窗口分割成n1xn2个子图,即将绘制的图形将绘制在第n3个子图中。2.3信号的时域变换2.3.1 信号的时移 信号的时移可用下面的数学表达式来描述: 设一个连续时间信号为x(t),它的时移y(t) 表示为: y(t) = x(t - t0) 1.3其中,t0为位移量。若t0为正数,则y

8、(t)等于将x(t)右移t0秒之后的结果。反之,若t0为负数,则y(t)等于将x(t)左移t0秒之后的结果。 在matlab中,时移运算与数学上习惯表达方法完全相同。 2.3.2 信号的时域反褶 对一个信号xn的反褶运算在数学上表示为 yn = x-n 1.4 这种反褶运算,用matlab实现起来也是非常简单的。有多种方法可以实现信号的反褶运算。方法一,修改绘图函数plot(t,x)和stem(n,x)中的时间变量t和n,即用-t和-n替代原来的t和n,这样绘制出来的图形,看起来就是原信号经时域反褶后的版本。方法二,直接利用原信号与其反褶信号的数学关系式来实现。这种方法最符合信号反褶运算的实际

9、意义。方法三,使用matlab内部函数fliplr()来实现信号的反褶运算。其用法如下: y = fliplr(x):其中x为原信号x(t)或xn,而y则为x的时域反褶。需要说明的是,函数fliplr()对信号作时域反褶,仅仅将信号中各个元素的次序作了一个反转,这种反转处理是独立于时间变量t和n的。因此,如果信号与其时间变量能够用一个数学函数来表达的话,那么建议将时间变量t和n的范围指定在一个正负对称的时间区间即可。2.3.3 信号的时域尺度变换 信号x(t)的时域尺度变换在数学描述为y(t) = x(at), 1.5其中a为任意常数。根据a的不同取值,这种时域尺度变换对信号x(t)具有非常不

10、同的影响。 当a = 1时,y(t) = x(t); 当a = -1时,y(t) = x(-t),即y(t)可以通过将x(t)反褶运算而得到; 当a 1时,y(t) = x(at),y(t)是将x(t)在时间轴上的压缩而得到; 当0 a 1时,y(t) = x(at),y(t)是将x(t)在时间轴上的扩展而得到; 当 -1 a 0时,y(t) = x(at),y(t)是将x(t)在时间轴上的扩展同时翻转而得到; 当 a 0时图形右移, t =0); % y = 1 for t 0, else y = 0q1-5:修改程序program1_4,并以q1_5为文件名存盘,利用axis()函数,将图

11、形窗口的横坐标范围改为-2n5,纵坐标范围改为-1.5 x 1.5。修改program1_4后得到的程序q1_5如下:% programq1_5% this program is used to generate a discrete-time sinusoidal signal% and draw its plotclear, % clear all variablesclose all, % close all figure windowsn = -5:5; % specify the interval of timex = zeros(1,4), 0.1, 1.1, -1.2, 0, 1

12、.3, zeros(1,2); % generate the sequencestem (n,x,.) % open a figure window and draw the plot of xnaxis(-2 5 -1.5 1.5)grid on,title (a discrete-time sequence xn)xlabel (time index n) 信号的波形图 q1-6:仿照前面的示例程序的编写方法,编写一个matlab程序,以q6为文件名存盘,使之能够在同一个图形窗口中的两个子图中分别绘制信号xn=0.5|n| 和x(t)=cos(2t)u(t)-u(t-3)。要求选择的时间窗

13、能够表现出信号的主要部分(或特征)。编写的程序q1_6如下:% program1_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.clear,close all,n =-5:5;x = pow2(-abs(n); dt = 0.01;t = -2:dt:2;x1=cos(2*pi*t).*u(t)-u(t-3);subplot (21

14、1)plot (n,x) % plot x(t)grid on,title (signal x(n)xlabel (time index n)subplot (212)plot (t,x1) % plot x1grid on,title(singnal x(t)xlabel(time t (sec)信号xn=0.5|n| 的波形图和信号x(t)=cos(2t)u(t)-u(t-3)的波形图q1-7:根据示例程序的编程方法,编写一个matlab程序,以q1_7为文件名存盘,由给定信号 x(t) = e-0.5tu(t)求信号y(t) = x(1.5t+3),并绘制出x(t) 和y(t)的图形。编

15、写的程序q1_7如下:% programq1_7% this program computes the convolution of two continuou-time signalsclear;close all;dt = 0.01;t = -5:dt:5;x =exp(-0.2*t).*u(t);y =exp(-0.5*(1.5*t+3).*u(1.5*t+3);subplot(211)plot(t,x)grid on,title(original signal x(t)subplot(212)plot(t,y)grid on,title(transform version of y(t

16、)xlabel(time t (sec)信号x(t)的波形图 和 信号y(t) = x(1.5t+3) 的波形图此处粘贴图形 此处粘贴图形q1-8:给定一个离散时间信号xn = un un-8,仿照示例程序program1_5,编写程序q1_8,产生xn的左移序列x1n = xn+6和右移序列x2n = xn-6,并在同一个图形窗口的三个子图中分别绘制这三个序列的图形。编写的程序q1_8如下:clear,close all,n = 0:30;xn =un-un-8; % generate the original signal x(n)x1 = un+6-un-2; % shift x(n)

17、to the left by 6 to get x1(n)x2 = un-6-un-14; % shift x(n) to the right by 6 to get x2(n)subplot(311)plot(n,x) % plot x(n)grid on,title (original signal x(n)subplot (312)plot (n,x1) % plot x1(n)grid on,title (left shifted version of x(n)subplot (313)plot (t,x2) % plot x2(n)grid on,title (right shift

18、ed version of x(n)xlabel (time t (sec)q1-9:编写程序q1_9,使之能够接受以键盘方式输入的定义在不同时间段的两个不同连续时间信号并完成卷积运算,分别绘制这两个信号及其卷积的结果的图形,图形按照22分割成四个子图。编写的程序q1_9如下:% program1_6% this program computes the convolution of two continuou-time signalsclear;close all;t0 = -2; t1 = 4; dt = 0.01;t = t0:dt:t1;x = u(t)-u(t-1);h = t.*(

19、u(t)-u(t-1);y = dt*conv(x,h); % compute the convolution of x(t) and h(t)subplot(221)plot(t,x), grid on, title(signal x(t), axis(t0,t1,-0.2,1.2)subplot(222)plot(t,h), grid on, title(signal h(t), axis(t0,t1,-0.2,1.2)subplot(212)t = 2*t0:dt:2*t1; % again specify the time range to be suitable to the % c

20、onvolution of x and h.plot(t,y), grid on, title(the convolution of x(t) and h(t), axis(2*t0,2*t1,-0.1,0.6), xlabel(time t sec)q1-13:利用程序q1_9,验证卷积的相关性质。(a) 验证性质:选择信号x(t)的数学表达式为:x(t)=exp(-2*t)x(t)、(t)和x(t)*(t)的波形 sinusoidal signal )00.20.40.60.811.21.41.61.8200.10.20.30.40.50.60.70.80.91time t (sec)验证

21、所得结论是:函数与冲激函数卷积仍得原函数(b) 验证性质:选择信号x(t)的数学表达式为:x(t)=exp(-2*t)x(t)、(t-t0) 和的波形sinusoidal signal 00.20.40.60.811.21.41.61.8200.10.20.30.40.50.60.70.80.91time t (sec)验证所得结论是:冲激信号与函数卷积相当于将函数平移(c) 验证性质:选择信号x(t)的数学表达式为:x(t)=exp(-2*t) 选择的t1 = 0.2 秒,t2 = 0.4 秒。执行程序q1_9,输入信号x(t-t1) 和(t-t2) 的数学表达式,得到的信号及其卷积的波形图

22、如下:00.20.40.60.811.21.41.61.8200.10.20.30.40.50.60.70.80.91sinusoidal signal x(t-t2time t (sec)sinusoidal signalt)00.20.40.60.811.21.41.61.8200.10.20.30.40.50.60.70.80.91time t (sec)验证所得结论是:函数t1平移后与平移t2的冲激函数卷积得原函数平移t1+t2(d) 验证性质:选择信号x(t)(建议选择一个时限信号)的数学表达式为:的数学表达式为:手工绘制的波形如下:执行程序q1_9,输入信号x(t) 和u(t) 的

23、数学表达式,得到的信号及其卷积的波形图如下:验证所得结论是:(e) 验证性质:选择信号x(t)的数学表达式为: 选择信号h(t)的数学表达式为:选择的t0=:执行程序q1_9,输入信号x(t) 和h(t-t0) 的数学表达式,得到的信号及其卷积的波形图如下:执行程序q1_9,输入信号x(t-t0) 和h(t) 的数学表达式,得到的信号及其卷积的波形图如下:验证所得结论是:q1-14:做如下总结:1、信号与系统分析,就是基于信号的分解,在时域中,信号主要分解成:冲激信号2、写出卷积的运算步骤,并谈谈你对卷积的一些基本性质的理解。利用matlab计算卷积的函数是什么?如何使用?步骤:1、改换图形中

24、的横坐标,由t改为,变成函数的自变量; 2、把其中一个信号反褶; 3、把反褶后的信号作位移,移位量是t,t是参变量,在坐标中,t0图形右移,反之,左移 4、两信号重叠部分相乘; 5、完成相乘后图形的积分。卷积的基本性质:交换律,分配律,结合律,这三个性质与乘法运算性质相似;卷积的微分与积分性质与乘法性质不同,两个函数卷积后的导数等于其中一函数之导数与另一函数之卷积;两函数卷积后的积分等于其中一函数之积分与另一函数之卷积。matlab的内部函数conv()可以很容易地完成两个信号的卷积积分运算。其语法为:y = conv(x,h)。其中x和h分别是两个作卷积运算的信号,y为卷积结果。,用matl

25、ab处理连续时间信号时,独立时间变量t的变化步长应该是很小的,假定用符号dt表示时间变化步长,那么,用函数conv()作两个信号的卷积积分时,应该在这个函数之前乘以时间步长方能得到正确的结果。也就是说,正确的语句形式应为:y = dt*conv(x,h)。对于定义在不同时间段的两个时限信号x(t),t0 t t1,和h(t),t2 t t3。 如果用y(t)来表示它们的卷积结果,则y(t)的持续时间范围要比x(t)或h(t)要长,其时间范围为t0+t2 t t1+t3。这个特点很重要,利用这个特点,在处理信号在时间上的位置时,可以很容易地将信号的函数值与时间轴的位置和长度关系保持一致性。3、在

26、时域中,描述一个连续时间lti系统的数学模型有:常系数微分方程,差分方程4、matlab是如何表示一个由微分方程描述的连续时间lti系统的?求解连续时间lti系统的单位冲激响应、单位阶跃响应以及系统在某一个输入信号作用下的零状态响应的matlab函数有哪些?在matlab中,一个lti系统也可以用系统微分方程的系数来描述,例如,一个lti连续时间系统的微分方程为 matlab则用两个系数向量num = 1和den = 1 3 2来描述该系统,其中num和den分别表示系统微分方程右边和左边的系数,按照微分运算的降阶排列。matlab的内部函数impulse(),step(),initial()

27、,lsim() 可以用来计算并绘制连续时间lti系统的单位冲激响应,单位阶跃响应,零输入响应和任意信号作用于系统的零状态响应。本实验完成时间: 年 月 日实验二 连续时间信号的频域分析一、实验目的1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;2、观察截短傅里叶级数而产生的“gibbs现象”,了解其特点以及产生的原因;3、掌握连续时间傅里叶变换的分析方法及其物理意义;4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质;5、学习掌握利用matlab语言编写计算ctfs、ctft和dtft的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证ctft、dtft的

28、若干重要性质。基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用matlab编程完成相关的傅里叶变换的计算。二、实验原理及方法1、连续时间周期信号的傅里叶级数ctfs分析任何一个周期为t1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。其中三角傅里叶级数为: 2.1或: 2.2其中,称为信号的基本频率(fundamental frequency),分别是信号的直流分量、余弦分量幅度和正弦分量幅度,为合并同频率项之后各正弦谐波分量的幅度和初相位,它们都是频率的函数,绘制出它们与之间的图像,称为信号的频谱图(简称“频谱”),图像为幅度谱,图像为相位谱

29、。三角形式傅里叶级数表明,如果一个周期信号x(t),满足狄里克利条件,那么,它就可以被看作是由很多不同频率的互为谐波关系(harmonically related)的正弦信号所组成,其中每一个不同频率的正弦信号称为正弦谐波分量 (sinusoid component),其幅度(amplitude)为。也可以反过来理解三角傅里叶级数:用无限多个正弦谐波分量可以合成一个任意的非正弦周期信号。指数形式的傅里叶级数为: 2.3其中,为指数形式的傅里叶级数的系数,按如下公式计算: 2.4指数形式的傅里叶级数告诉我们,如果一个周期信号x(t),满足狄里克利条件,那么,它就可以被看作是由很多不同频率的互为谐

30、波关系(harmonically related)的周期复指数信号所组成,其中每一个不同频率的周期复指数信号称为基本频率分量,其复幅度(complex amplitude)为。这里“复幅度(complex amplitude)”指的是通常是复数。上面的傅里叶级数的合成式说明,我们可以用无穷多个不同频率的周期复指数信号来合成任意一个周期信号。然而,用计算机(或任何其它设备)合成一个周期信号,显然不可能做到用无限多个谐波来合成,只能取这些有限个谐波分量来近似合成。假设谐波项数为n,则上面的和成式为: 2.5显然,n越大,所选项数越多,有限项级数合成的结果越逼近原信号x(t)。本实验可以比较直观地了

31、解傅里叶级数的物理意义,并观察到级数中各频率分量对波形的影响包括“gibbs”现象:即信号在不连续点附近存在一个幅度大约为9%的过冲,且所选谐波次数越多,过冲点越向不连续点靠近。这一现象在观察周期矩形波信号和周期锯齿波信号时可以看得很清楚。2、连续时间信号傅里叶变换-ctft 傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。傅里叶变换和其逆变换定义如下: 2.6 2.7 连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。按照教材中的说法,任意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号ejw

32、t的线性组合构成的,每个频率所对应的周期复指数信号ejwt称为频率分量(frequency component),其相对幅度为对应频率的|x(jw)|之值,其相位为对应频率的x(jw)的相位。x(jw)通常为关于的复函数,可以按照复数的极坐标表示方法表示为:x(jw)=| x(jw)|ej x(jw)其中,| x(jw)|称为x(t)的幅度谱,而x(jw)则称为x(t)的相位谱。 给定一个连续时间非周期信号x(t),它的频谱也是连续且非周期的。对于连续时间周期信号,也可以用傅里变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换时有冲激序列构成的,是离散的这是连续时间周期信号的傅里叶变换的

33、基本特征。3、离散时间序列的傅里叶变换-dtft给定一个非周期离散时间序列xn,它的傅里叶变换定义为 2.8其反变换定义为 2.9 式2.8称为离散时间傅里叶正变换,式2.9称为离散时间傅里叶反变换。由式2.9可以看出,一个非周期离散时间序列,总是可以被看作是由无穷多个不同频率的加权的基本频率分量ejn组合而成的。对序列中的频率为的频率分量来说,其权为x(ej),通常是复数,也可以将它表示为 x(ej) = | x(ej)|ejx(ej)|x(ej)|称为序列的幅度谱,而x(ej)称为序列的相位谱,它们都是频率的周期函数。4、连续周期信号的傅里叶级数ctfs的matlab实现4.1 傅里叶级数的matlab计算设周期信号x(t)的基本周期为t1,且满足狄里克利条件,则其傅里叶级数的系数可由式2.4计算得到。

温馨提示

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

评论

0/150

提交评论