收藏 分享(赏)

信号与系统实验(晏密英).ppt

上传人:dcs1276 文档编号:4742522 上传时间:2019-01-10 格式:PPT 页数:25 大小:85.50KB
下载 相关 举报
信号与系统实验(晏密英).ppt_第1页
第1页 / 共25页
信号与系统实验(晏密英).ppt_第2页
第2页 / 共25页
信号与系统实验(晏密英).ppt_第3页
第3页 / 共25页
信号与系统实验(晏密英).ppt_第4页
第4页 / 共25页
信号与系统实验(晏密英).ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、实验一 信号的时域表示方法,一、实验目的1、熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;2、掌握连续时间和离散时间信号的MATLAB产生及编程;基本要求:掌握用MATLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,并且以图形的方式表示各种信号的波形。,2.1 连续时间信号的仿真 编写Program1_1:用MATLAB对一个正弦信号进行仿真的程序.% Program1_1 % This program is used to generate a sinusoidal signal and draw its plot clear, % Clear all

2、variables close all, % Close all figure windows dt = 0.01; % Specify the step of time variable t = -2:dt:2; % Specify the interval of time x = sin(2*pi*t); % Generate the signal plot(t,x) % Open a figure window and draw the plot of x(t) title(Sinusoidal signal x(t) xlabel( Time t (sec) axis(xmin,xma

3、x,ymin,ymax):图型显示区域控制函数 xmin为横轴的显示起点,xmax为横轴的显示终点,ymin为纵轴的显示起点,ymax为纵轴的显示终点。,说明:,(1)MATLAB中的grid on/grid off可以实现在你的图形中加网格线。 grid on:在图形中加网格线。 grid off:取消图形中的网格线。 x = input(Type in signal x(t) in closed form:)(2)产生单位冲激信号的扩展函数为: function y = delta(t) dt = 0.01; y = (u(t)-u(t-dt)/dt;(3)产生单位阶跃信号的扩展函数为:

4、% Unit step function function y = u(t) y = (t=0); % y = 1 for t 0, else y = 0,2.2 离散时间信号的仿真(1)程序Program1_2用来产生离散时间信号xn=sin(0.2n)。 % Program1_2 % This program is used to generate a discrete-time sinusoidal signal and draw its plot clear, % Clear all variables close all, % Close all figure windows n =

5、 -10:10; % Specify the interval of time x = sin(0.2*pi*n); % Generate the signal stem (n,x) % Open a figure window and draw the plot of xn title (Sinusoidal signal xn) xlabel (Time index n),(2) 程序Program1_3用来仿真下面形式的离散时间信号:xn=, 0.1, 1.1, -1.2, 0, 1.3, .n=0 % Program1_3 % This program is used to gener

6、ate a discrete-time sequence % and draw its plot clear, % Clear all variables close all, % Close all figure windows n = -5:5; % Specify the interval of time, the number of points of n is 11. x = 0, 0, 0, 0, 0.1, 1.1, -1.2, 0, 1.3, 0, 0; % Generate the signal stem(n,x,.) % Open a figure window and dr

7、aw the plot of xn grid on, title (A discrete-time sequence xn) xlabel (Time index n)说明:由于在程序的stem(n,x,.) 语句中加有.选项,因此绘制的图形中每根棒条线的顶端是一个实心点。,三 实验内容 Q1-1:修改程序Program1_1,将dt改为0.2,再执行该程序,保存图形,看看所得图形的效果如何?这两幅图形有什么区别,哪一幅图形看起来与实际信号波形更像?Q1-2:修改程序Program1_1,并以Q1_2为文件名存盘,产生实指数信号x(t)=e-2t。 要求在图形中加上网格线,并使用函数axis(

8、)控制图形的时间范围在02秒之间。然后执行该程序,保存图形。Q1-3:修改程序Program1_3,并以Q1_3为文件名存盘,利用axis()函数,将图形窗口的横坐标范围改为-2n5,纵坐标范围改为-1.5 x 1.5。四、实验报告要求 1、按要求完整书写你所编写的全部MATLAB程序 2、详细记录实验过程中的有关信号波形图(存于自建文件夹中),图形要有明确的标题。,实验二 信号的时域变换表示方法,一、实验目的(1)掌握用MATLAB实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形;(2)掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程。,

9、实验原理:,2.1 信号的时移 y(t) = x(t - t0) 编写程序Program2_1:对给定一个连续时间信号x(t) = e-0.5tu(t),对它分别左移2秒钟和右移2秒钟得到信号x1(t) = e-0.5(t+2)u(t+2)和x2(t) = e-0.5(t-2)u(t-2)。 % Program2_1 % This program is used to implement the time-shift operation % on a continuous-time signal and to obtain its time-shifted versions % and to

10、draw their plots.clear,close all, t = -5:0.01:5; x = exp(-0.5*t).*u(t); % Generate the original signal x(t),x1 = exp(-0.5*(t+2).*u(t+2); % Shift x(t) to the left by 2 second to get x1(t) x2 = exp(-0.5*(t-2).*u(t-2); % Shift x(t) to the right by 2 second to get x2(t) subplot(3,1,1) plot(t,x) % Plot x

11、(t) grid on, title (Original signal x(t) subplot (3,1,2) plot (t,x1) % Plot x1(t) grid on, title (Left shifted version of x(t) subplot (3,1,3) plot (t,x2) % Plot x2(t) grid on, title (Right shifted version of x(t) xlabel (Time t (sec),2.2 信号的时域反褶对一个信号xn的反褶运算在数学上表示为 yn = x-n方法一,修改绘图函数plot(t,x)和stem(n

12、,x)中的时间变量t和n,即用-t和-n替代原来的t和n,这样绘制出来的图形,看起来就是原信号经时域反褶后的版本。方法二,直接利用原信号与其反褶信号的数学关系式来实现。这种方法最符合信号反褶运算的实际意义。方法三,使用MATLAB内部函数fliplr()来实现信号的反褶运算。其用法如下:y = fliplr(x):其中x为原信号x(t)或xn,而y则为x的时域反褶。 函数fliplr()对信号作时域反褶,仅仅将信号中各个元素的次序作了一个反转,这种反转处理是独立于时间变量t和n的。因此,如果信号与其时间变量能够用一个数学函数来表达的话,那么建议将时间变量t和n的范围指定在一个正负对称的时间区间

13、即可。,2.3 信号的时域尺度变换信号x(t)的时域尺度变换在数学描述为 y(t) = x(at), 其中a为任意常数。根据a的不同取值,这种时域尺度变换对信号x(t)具有非常不同的影响。当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 -1时,y

14、(t) = x(at),y(t)是将x(t)在时间轴上的压缩同时翻转而得到;由此可见,信号的时域尺度变换,除了对信号进行时域压缩或扩展外,还可能包括对信号的时域反褶运算。实际上,MATLAB完成上式的运算,并不需要特殊的处理,按照数学上的常规方法即能完成。,2.4 周期信号周期信号可以看作是一个时限的非周期信号经过周期延拓之后形成的。在数字信号处理中,周期延拓这一信号处理方法非常重要。 下面的程序段,就是将一个非周期信号x1(t) = e-2tu(t)-u(t-2)经过周期延拓之后而得到一个周期信号: clear, close all; t = -4:0.001:4; T = 2; x = 0

15、; for k = -2:2;x = x+exp(-2*(t-k*T).*(u(t-k*T)-u(t-(k+1)*T); end 仔细阅读该程序,可以发现其算法就是:由于k无法计算到无穷,而是以有限值加以替代,反映到有限宽度图形窗口中得到的效果完全符合要求。,三 实验内容Q2-1:根据示例程序的编程方法,编写一个MATLAB程序,以Q2_1为文件名存盘,由给定信号x(t) = e-0.5t u(t) 求信号y(t) = x(1.5t+3),并绘制出x(t) 和y(t)的图形。Q2-2:给定一个离散时间信号xn = un un-8,仿照示例程序Program2_2,编写程序Q2_2,产生xn的左

16、移序列x1n = xn+6和右移序列x2n = xn-6,并在同一个图形窗口的三个子图中分别绘制这三个序列的图形。Q2-3 已知一个序列为编写MATLAB程序Q2_3,能够将xn以N = 8为周期进行周期延拓得到一个周期为N =8的周期序列yn,并分别绘制xn和yn图形。四、实验报告要求 1、按要求完整书写你所编写的全部MATLAB程序 2、详细记录实验过程中的有关信号波形图(存于自建文件夹中),图形要有明确的标题。,实验三 LTI系统的时域描述,一 实验目的 1、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;2、掌握利用MATL

17、AB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用基本性质;3.掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。基本要求:掌握线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。,二 .实验原理 2.1卷积的计算 卷积的计算通常可按下面的五个步骤进行(以卷积积分为例): 1 改换两个信号波形图中的横坐标,由t改为,变成函数的自变量; 2 把其中一个信号反褶,如把h()变成h(-); 3 把反褶后的信号做移位,移位量是t,这样t是一个参变量。在坐标系中,t 0时图形右移

18、, t 0时图形左移。 4 计算两个信号重叠部分的乘积x()h(t-); 5 完成相乘后图形的积分。借助MATLAB的内部函数conv()可以很容易地完成两个信号的卷积积分运算。其语法为:y = conv(x,h)。其中x和h分别是两个作卷积运算的信号,y为卷积结果。用MATLAB处理连续时间信号时,独立时间变量t的变化步长应该是很小 的,假定用符号dt表示时间变化步长,那么,用函数conv()作两个信号的 卷积积分时,应该在这个函数之前乘以时间步长方能得到正确的结果。也 就是说,正确的语句形式应为:y = dt*conv(x,h),例:根据给定的两个连续时间信号x(t) = tu(t)-u(

19、t-1)和h(t) = u(t)-u(t-1),编写程序,完成这两个信号的卷积运算,并绘制它们的波形图。范例程序如下: % Program3_1 % This program computes the convolution of two continuou-time signals clear;close all; t0 = -2; t1 = 4; dt = 0.01; t = t0:dt:t1; x = u(t)-u(t-1); h = t.*(u(t)-u(t-1); y = dt*conv(x,h); % Compute the convolution of x(t) and h(t)

20、 subplot(2,2,1) plot(t,x), grid on, title(Signal x(t), axis(t0,t1,-0.2,1.2) subplot(2,2,2) plot(t,h), grid on, title(Signal h(t), axis(t0,t1,-0.2,1.2) subplot(2,1,2) t = 2*t0:dt:2*t1; % Again specify the time range to be suitable to the % convolution of x and h. plot(t,y), grid on, title(The convolu

21、tion of x(t) and h(t), axis(2*t0,2*t1,-0.1,0.6), xlabel(Time t sec),2.2 用线性常系数微分方程描述LTI系统 MATLAB的内部函数impulse(),step(),initial(),lsim() 可以用来计算并绘制连续时间LTI系统的单位冲激响应,单位阶跃响应,零输入响应和任意信号作用于系统的零状态响应。这些函数的用法描述如下:h= impulse(num, den, T) 和 impulse(num, den, T) s = step(num, den, T) 和 step(num, den, T) y = lsim(

22、num, den, x, t) 和 lsim (num, den, x, t),实验内容: (1)编写程序Program3_2:计算并绘制由下面的微分方程表示的系统的单位冲激响应h(t),单位阶跃响应s(t)。MATLAB范例程序如下: % Program3_2 % This program is used to compute the impulse response h(t) and the step response s(t) of a % continuous-time LTI system clear, close all; num = input(Type in the right

23、 coefficient vector of differential equation:); den = input(Type in the left coefficient vector of differential equation:); t = 0:0.01:8; x = input(Type in the expression of the input signal x(t):); subplot(2,2,1), impulse(num,den,8); subplot(2,2,2), step(num,den,8) subplot(2,2,3), plot(t,x); subplo

24、t(2,2,4), y=lsim(num,den,x,t);plot(t,y),(2)给定两个离散时间序列xn = 0.5nun-un-8hn = un-un-8 编写程序Q3_2,计算它们的卷积,并分别绘制xn、hn和它们的卷积yn的图形。四、实验报告要求 1、按要求完整书写你所编写的全部MATLAB程序; 2、详细记录实验过程中的有关信号波形图(存于自建文件夹中),图形要有明确的标题。,实验四 连续时间信号及系统的频域分析,一 实验目的 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、掌握连续时间傅里叶变换的分析方法及其物理意义; 3、掌握各种典型的连续时间非周期信号的频谱

25、特征以及傅里叶变换的主要性质; 4、学习掌握利用MATLAB语言编写计算CTFS、CTFT和DTFT的仿真程序,并能利用这些程序对一些典型信号进行频谱分析; 5.掌握用MATLAB语言进行系统频响特性分析的方法。 基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB编程完成相关的傅里叶变换的计算。,实验原理给定一个周期为T1 = 2s的连续时间周期方波信号,如图所示,其一个周期内的数学表达式为:,clear, close all T = 2; dt = 0.00001; t = -2:dt:2; x1 = u(t) - u(t-1-dt); x =

26、0; for m = -1:1 % Periodically extend x1(t) to form a periodic signalx = x + u(t-m*T) - u(t-1-m*T-dt); end w0 = 2*pi/T; N = 10; % The number of the harmonic components L = 2*N+1; for k = -N: N; % Evaluate the Fourier series coefficients akak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t)*dt; end phi = anglel(ak);

27、,编写程序Q4_2,,仿照程序Program4_1,编写程序Q4_2,以计算上图周期函数的傅里叶级数的系数。,采用数值计算算法的理论依据是:若信号为时限信号,当时间间隔T取得足够小时,上式可演变为:上式用MATLAB表示为:X=x*exp(j*t*w)*T,其中X为信号x(t)的傅里叶变换,w为频率,T为时间步长。 相应的MATLAB程序: T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10; w = -4*pi:dw:4*pi; X(j)可以按照下面的矩阵运算来进行: X=x*exp(-j*t*)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 为了使计算结果能够直观地表现出来,还需要用绘图函数将时间信号x(t),信号的幅度谱|X(j)|和相位谱 X(j)分别以图形的方式表现出来,并对图形加以适当的标注。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报