信号与系统实验教案

更新时间:2024-04-04 03:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信 号 与 系 统

验指导书(Matlab

董海兵

湖南工学院电气与信息工程系

二〇一〇年三月一日

实)

前 言

《信号与系统》、《数字信号处理》是电子信息类专业的两门主要技术基础课程,是电子信息类专业本科生的必修课程,也是电子信息类专业硕士研究生入学必考课程。该课程的任务在于研究信号与系统理论的基本概念和基本分析方法,使学生初步认识如何建立信号与系统的数学模型,如何经适当的数学分析求解,并对所得结果给予物理解释,赋予物理意义。该课程的基本理论和方法大量用于计算机信息处理的各个领域,特别是通信、数字语音处理、数字图像处理、数字信号分析等领域应用更为广泛。通过实验,配合《信号与系统》和《数字信号处理》课程的教学、加强学生对信号与系统理论的感性认识、提高学生的综合能力具有重要的意义。

长期以来,《信号与系统》和《数字信号处理》课程一直采用黑板式的单一教学方式,学生仅依靠做习题来巩固和理解教学内容,对课程中大量的应用性较强的内容不能实际动手设计、调试、分析,严重影响和制约了教学效果。由于黑板式教学,课程中大量的信号分析结果缺乏可视化的直观表现,学生自己设计系统也不能直观地得到系统特性的可视化测试结果,学生将大量的时间和精力用于繁杂的手工数学运算,而未真正理解所得结果在信号处理中的实际意义。

近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》和《数字信号处理》中的概念、方法和相应的结果,以图形的形式直观地展现给学生,大大的方便学生迅速掌握和理解教学内容。

为了使学生能够较好的使用MATLAB语言完成相应的实验任务,本指导书中详细地给出了与《信号与系统》相关的众多的MATLAB函数及其用法,同时给出了一些范例程序,说明针对某一具体问题进行编程的方法等。学生们在实验前,只要认真阅读、预习实验的相关内容,并在实验中,严格按照《实验指导书》中规定的实验内容和步骤进行实验,即可完成相应的实验报告。

《信号与系统实验指导书》中设计的实验项目包括:1、信号与系统的时域分析;2、

连续时间信号的频域分析;3、连续时间LTI系统的频域分析; 4、通信系统仿真;5、

连续时间LTI系统的复频域分析。

所有这些实验项目和所涉及到的实验内容基本上覆盖了信号与系统这门课程的大部分主要内容。和其他课程的实验指导书有所不同的是,本实验指导同时兼作《实验报告》之用,目的是希望将学生从不是特别必要的实验报告的文字撰写中解脱出来,从而将主要精力和时间用到对问题的分析、算法的确定和程序的编写之中。

本实验指导中所给出的全部范例程序,都在MATLAB6.5上运行,且是正确的。 由于时间仓促和编者水平有限,本实验指导在编写和编辑的过程中,不可避免地存在错误和不当之处,恳请老师和同学们批评指正。

湖南工学院电气与信息工程系

二〇一〇年三月一日

2

目 录

实验一:连续时间信号与系统的时域分析-------------------------------------------------6

一、实验目的及要求---------------------------------------------------------------------------6 二、实验原理-----------------------------------------------------------------------------------6

1、信号的时域表示方法------------------------------------------------------------------6 2、用MATLAB仿真连续时间信号和离散时间信号----------------------------------7 3、LTI系统的时域描述-----------------------------------------------------------------11 三、实验步骤及内容--------------------------------------------------------------------------15 四、实验报告要求-----------------------------------------------------------------------------26

实验二:连续时间信号的频域分析---------------------------------------------------------27

一、实验目的及要求--------------------------------------------------------------------------27 二、实验原理----------------------------------------------------------------------------------27

1、连续时间周期信号的傅里叶级数CTFS---------------------------------------------27 2、连续时间信号的傅里叶变换CTFT--------------------------------------------------28 3、离散时间信号的傅里叶变换DTFT -------------------------------------------------28 4、连续时间周期信号的傅里叶级数CTFS的MATLAB实现------------------------29 5、用MATLAB实现CTFT及其逆变换的计算---------------------------------------33

三、实验步骤及内容----------------------------------------------------------------------34 四、实验报告要求-------------------------------------------------------------------------48 实验三:连续时间LTI系统的频域分析---------------------------------------------------49

一、实验目的及要求--------------------------------------------------------------------------49 二、实验原理----------------------------------------------------------------------------------49

1、连续时间LTI系统的频率响应-------------------------------------------------------49 2、LTI系统的群延时---------------------------------------------------------------------50 3、用MATLAB计算系统的频率响应--------------------------------------------------50

三、实验步骤及内容----------------------------------------------------------------------51 四、实验报告要求-------------------------------------------------------------------------58 实验四:通信系统仿真------------------------------------------------------------------------59

一、实验目的及要求--------------------------------------------------------------------------59 二、实验原理----------------------------------------------------------------------------------59

1、信号的抽样及抽样定理---------------------------------------------------------------59 2、信号抽样过程中的频谱混叠----------------------------------------------------------62

3

3、信号重建--------------------- ----------------------------------------------------------62 4、调制与解调----------------------------------------------------------------------------------64 5、通信系统中的调制与解调仿真---------------------------------------------------------66 三、实验步骤及内容------------------------------------------------------------------------66 四、实验报告要求---------------------------------------------------------------------------75

实验五:连续时间LTI系统的复频域分析----------------------------------------------76

一、实验目的及要求------------------------------------------------------------------------76 二、实验原理--------------------------------------------------------------------------------76

1、连续时间LTI系统的复频域描述--------------------------------------------------76 2、系统函数的零极点分布图-----------------------------------------------------------------77 3、拉普拉斯变换与傅里叶变换之间的关系-----------------------------------------------78 4、系统函数的零极点分布与系统稳定性和因果性之间的关系------------------------79 5、系统函数的零极点分布与系统的滤波特性-------------------------------------------80 6、拉普拉斯逆变换的计算-------------------------------------------------------------81 三、实验步骤及内容------------------------------------------------------------------------82 四、实验报告要求---------------------------------------------------------------------------87

附录:授课方式和考核办法-----------------------------------------------------------------88

4

实验一 信号与系统的时域分析

一、实验目的

1、熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;

2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程; 3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;

4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用基本性质; 掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。

基本要求:掌握用MATLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。掌握线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。

二、实验原理

信号(Signal)一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。

在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量是否是时间变量。

在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力和声音信号就是连续时间信号的例子。但是,还有一些信号的独立时间变量是离散变化的,这种信号称为离散时间信号。前面提到的股票市场的日收盘指数,由于相邻两个交易日的日收盘指数相隔24小时,这意味着日收盘指数的时间变量是不连续的,因此日收盘指数是离散时间信号。 而系统则用于对信号进行运算或处理,或者从信号中提取有用的信息,或者滤出信号中某些无用的成分,如滤波,从而产生人们所希望的新的信号。系统通常是由若干部件或单元组成的一个整体(Entity)。系统可分为很多不同的类型,例如,根据系统所处理的信号的不同,系统可分为连续时间系统(Continuous-time system)和离散时间系统(Discrete-time system),根据系统所具有的不同性质,系统又可分为因果系统(Causal system)和非因果系统(Noncausal system)、稳定系统(Stable system)和不稳定系统(Unstable system)、线性系统(Linear system)和非线性系统(Nonlinear system)、时变系统(Time-variant system)和时不变系统(Time-invariant system)等等。

然而,在信号与系统和数字信号处理中,我们所分析的系统只是所谓的线性时不变系统,这种系统同时满足两个重要的基本性质,那就是线性性和时不变性,通常称为线性时不变(LTI)

5

系统。

1. 信号的时域表示方法

1.1将信号表示成独立时间变量的函数

例如 x(t)=sin(ωt) 和 x[n]=n(0.5)u[n]

分别表示一个连续时间信号和一个离散时间信号。在MATLAB中有许多内部函数,可以直接完成信号的这种表达,例如:

sin():正弦信号

cos():余弦信号 exp():指数信号

n

1.2用信号的波形图来描述信号

用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。

图1.1 连续时间信号与离散时间信号的波形图

1.3将信号用一个数据序列来表示

对于离散时间信号,还可以表示成一个数的序列,例如:

x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….} ↑n=0

在《信号与系统》和《数字信号处理》课程中,上述三种信号的描述方法是经常要使用的。

2 用MATLAB仿真连续时间信号和离散时间信号

在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列

来表示信号,这个数字序列在MATLAB中叫做向量(vector)。通常的情况下,需要与时间变量相对应。

如前所述,MATLAB有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。

2.1连续时间信号的仿真

程序Program1_1是用MATLAB对一个正弦信号进行仿真的程序,请仔细阅读该程序,

并在计算机上运行,观察所得图形。

6

% Program1_1

% This program is used to generate a sinusoidal signal and draw its plot clear, % Clear all 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,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin为横轴的显示起点,xmax为横轴的显示终点,ymin为纵轴的显示起点,ymax为纵轴的显示终点。

有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅度大小。MATLAB中的grid on/grid off可以实现在你的图形中加网格线。

grid on:在图形中加网格线。

grid off:取消图形中的网格线。

x = input(‘Type in signal x(t) in closed form:’) 在《信号与系统》课程中,单位阶跃信号u(t) 和单位冲激信号δ(t) 是二个非常有用的信号。它们的定义如下

???(t)dtt????1t?0 1.1(a)

?(t)?0,?1,u(t)???0,t?0t?0 1.1(b)

这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。产生单位冲激信号的扩展函数为:

function y = delta(t)

dt = 0.01;

y = (u(t)-u(t-dt))/dt;

产生单位阶跃信号的扩展函数为:

% Unit step function function y = u(t)

y = (t>=0); % y = 1 for t > 0, else y = 0

请将这二个MATLAB函数分别以delta 和u为文件名保存在work文件夹中,以后,就可以像教材中的方法使用单位冲激信号δ(t) 和单位阶跃信号u(t)。

2.2离散时间信号的仿真

程序Program1_2用来产生离散时间信号x[n]=sin(0.2πn)。

% Program1_2

7

% 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 = -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 x[n] title ('Sinusoidal signal x[n]')

xlabel ('Time index n')

请仔细阅读该程序,比较程序Program1_1和Program1_2中的不同之处,以便自己编程时能够正确使用这种方法方针连续时间信号和离散时间信号。 程序Program1_3用来仿真下面形式的离散时间信号: x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….} ↑n=0

% Program1_3

% This program is used to generate 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 draw the plot of x[n] grid on,

title ('A discrete-time sequence x[n]')

xlabel ('Time index n')

由于在程序的stem(n,x,'.') 语句中加有'.'选项,因此绘制的图形中每根棒条线的顶端是一个实心点。

如果需要在序列的前后补较多的零的话,可以利用函数zeros(),其语法为:

zeros(1, N):圆括号中的1和N表示该函数将产生一个一行N列的矩阵,矩阵中的所有元素均为零。利用这个矩阵与序列x[n]进行组合,从而得到一个长度与n相等的向量。

例如,当 x[n]={ 0.1, 1.1, -1.2, 0, 1.3} 时,为了得到程序Program1_3中的序列, ↑n=0 可以用这个MATLAB语句x = [zeros(1,4) x zeros(1, 2)] 来实现。用这种方法编写的程序如下:

% Program1_4

% 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:5; % Specify the interval of time

x = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; % Generate the sequence stem (n,x,'.') % Open a figure window and draw the plot of x[n] grid on,

8

title ('A discrete-time sequence x[n]') xlabel ('Time index n')

离散时间单位阶跃信号u[n]定义为 u[n]???1,?0,n?0n?0 1.2

离散时间单位阶跃信号u[n]除了也可以直接用前面给出的扩展函数来产生,还可以利用MATLAB内部函数ones(1,N) 来实现。这个函数类似于zeros(1,N),所不同的是它产生的矩阵的所有元素都为1。

值得注意的是,利用ones(1,N) 来实现的单位阶跃序列并不是真正的单位阶跃序列,而是一个长度为N单位门(Gate)序列,也就是u[n]-u[n-N]。但是在一个有限的图形窗口中,我们看到的还是一个单位阶跃序列。

在绘制信号的波形图时,有时我们需要将若干个图形绘制在图一个图形窗口中,这就需要使用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(t)等于将x(t)右移t0秒之后的结果。反之,若t0为负数,则y(t)等于将x(t)左移t0秒之后的结果。

在MATLAB中,时移运算与数学上习惯表达方法完全相同。 程序Program1_5对给定一个连续时间信号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)。

% 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,

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(311)

plot(t,x) % Plot x(t) grid on,

title ('Original signal x(t)') subplot (312)

9

plot (t,x1) % Plot x1(t) grid on,

title ('Left shifted version of x(t)') subplot (313)

plot (t,x2) % Plot x2(t) grid on,

title ('Right shifted version of x(t)') xlabel ('Time t (sec)')

2.3.2 信号的时域反褶

对一个信号x[n]的反褶运算在数学上表示为

y[n] = x[-n] 1.4 这种反褶运算,用MATLAB实现起来也是非常简单的。有多种方法可以实现信号的反褶运算。

方法一,修改绘图函数plot(t,x)和stem(n,x)中的时间变量t和n,即用-t和-n替代原来的t和n,这样绘制出来的图形,看起来就是原信号经时域反褶后的版本。

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

方法三,使用MATLAB内部函数fliplr()来实现信号的反褶运算。其用法如下: y = fliplr(x):其中x为原信号x(t)或x[n],而y则为x的时域反褶。需要说明的是,函数fliplr()对信号作时域反褶,仅仅将信号中各个元素的次序作了一个反转,这种反转处理是独立于时间变量t和n的。因此,如果信号与其时间变量能够用一个数学函数来表达的话,那么建议将时间变量t和n的范围指定在一个正负对称的时间区间即可。

2.3.3 信号的时域尺度变换

信号x(t)的时域尺度变换在数学描述为

y(t) = x(at), 1.5

其中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(t) = x(at),y(t)是将x(t)在时间轴上的压缩同时翻转而得到;

由此可见,信号的时域尺度变换,除了对信号进行时域压缩或扩展外,还可能包括对信号的时域反褶运算。实际上,MATLAB完成式1.5的运算,并不需要特殊的处理,按照数学上的常规方法即能完成。

2.3.4周期信号

在《信号与系统》课程中,周期信号是一类非常重要的信号。给定一个信号x(t)或x[n],如果满足

x(t) = x(t+kT) 1.6

10

Q1-5:修改程序Program1_4,并以Q1_5为文件名存盘,利用axis()函数,将图形窗口的横

坐标范围改为-2≤n≤5,纵坐标范围改为-1.5≤ x ≤1.5。

修改Program1_4后得到的程序Q1_5如下: 信号的波形图

此处粘贴图形

Q1-6:仿照前面的示例程序的编写方法,编写一个MATLAB程序,以Q1_6为文件名存盘,

使之能够在同一个图形窗口中的两个子图中分别绘制信号x[n]=0.5x(t)=cos(2πt)[u(t)-u(t-3)]。要求选择的时间窗能够表现出信号的主要部分(或特征)。

|n|

编写的程序Q1_6如下:

信号x[n]=0.5的波形图和信号x(t)=cos(2πt)[u(t)-u(t-3)]的波形图

|n|

Q1-7:根据示例程序的编程方法,编写一个MATLAB程序,以Q1_7为文件名存盘,由给定

信号

x(t) = e-0.5tu(t) 求信号y(t) = x(1.5t+3),并绘制出x(t) 和y(t)的图形。

编写的程序Q1_7如下:

信号x(t)的波形图 信号y(t) = x(1.5t+3) 的波形图

此处粘贴图形 此处粘贴图形

Q1-8:给定一个离散时间信号x[n] = u[n] – u[n-8],仿照示例程序Program1_5,编写程序Q1_8,

产生x[n]的左移序列x1[n] = x[n+6]和右移序列x2[n] = x[n-6],并在同一个图形窗口的三个子图中分别绘制这三个序列的图形。

编写的程序Q1_8如下:

16

信号波形图

此处粘贴图形

Q1-9:编写程序

Q1_9,使之能够接受以键盘方式输入的定义在不同时间段的两个不同连续

时间信号并完成卷积运算,分别绘制这两个信号及其卷积的结果的图形,图形按照2?2分割成四个子图。

编写的程序Q1_9如下:

信号x (t)、h(t)和x (t)*h(t)的波形图

此处粘贴图形

Q1-10:给定两个离散时间序列

x[n] = 0.5n{u[n]-u[n-8]} h[n] = u[n]-u[n-8]

编写程序Q1_10,计算它们的卷积,并分别绘制x[n]、h[n]和它们的卷积y[n]的图形。

编写的程序Q1_10如下:

信号x[n]、h[n]和y[n]的波形图

此处粘贴图形

Q1-11已知一个序列为

?n, x[n]???0,0?n?4otherwise

编写MATLAB程序Q1_11,能够将x[n]以N = 8为周期进行周期延拓得到一个周期为N =8的周期序列y[n],并分别绘制x[n]和y[n]图形。

编写的程序Q1_11如下:

17

信号x[n]的波形图 信号y[n]的波形图 此处粘贴图形 此处粘贴图形

Q1-12 仿照范例程序Program1_7,编写程序Q1_12,计算并绘制由如下微分方程表示的系统

在输入信号为x(t) = (e-2t - e-3t)u(t)时的零状态响应和你手工计算得到的系统零状态响应曲线。

dy(t)dt22?3dy(t)dt?2y(t)?8x(t)

手工计算得到的系统零状态响应的数学表达式是:

编写的程序Q1_12如下: 用MATLAB绘制的手工计算的系统响应

粘帖用MATLAB绘制的手工计算的系统响应

执行程序Q1_12得到的系统响应

此处粘帖执行程序Q1_12得到的系统响应

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。 3、实事求是地回答相关问题,严禁抄袭。

本实验完成时间: 年 月 日

18

实验三 连续时间LTI系统的频域分析

一、实验目的

1、掌握系统频率响应特性的概念及其物理意义;

2、掌握系统频率响应特性的计算方法和特性曲线的绘制方法,理解具有不同频率响应特性的滤波器对信号的滤波作用;

3、学习和掌握幅度特性、相位特性以及群延时的物理意义; 4、掌握用MATLAB语言进行系统频响特性分析的方法。

基本要求:掌握LTI连续和离散时间系统的频域数学模型和频域数学模型的MATLAB描述方法,深刻理解LTI系统的频率响应特性的物理意义,理解滤波和滤波器的概念,掌握利用MATLAB计算和绘制LTI系统频率响应特性曲线中的编程。

二、实验原理及方法

1 连续时间LTI系统的频率响应

所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response),是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。

x(t)X(j?)LTI系统h(t)H(j?)y(t)Y(j?)连续时间LTI系统的时域及频域分析图 上图中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为:y(t)?x(t)*h(t),由傅里叶变换的时域卷积定理可得到:

Y(j?)?X(j?)H(j?)

3.1

或者: H(j?)?Y(j?)X(j?) 3.2

H(j?)为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。即

? H(j?)??h(t)e???j?tdt 3.3

由于H(j?)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是绝对可积(Absolutly integrabel)的话,那么H(j?)一定存在,而且H(j?)通常是复数,因此,也可以表示成复数的不同表达形式。在研究系统的频率响应时,更多的是把它表示成极

19

坐标形式:

H(j?)?H(j?)ej?(?) 3.4

上式中,H(j?)称为幅度频率相应(Magnitude response),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,?(?)称为相位特性(Phase response),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。H(j?)和?(?)都是频率?的函数。

对于一个系统,其频率响应为H(j?),其幅度响应和相位响应分别为H(j?)和?(?),如果作用于系统的信号为x(t)?ej?t,则其响应信号为

0y(t)?H(j?0)ej?0t

?H(j?0)ej?(?0)ej?0t?H(j?0)ej(?0t??(?0))

3.5

若输入信号为正弦信号,即x(t) = sin(?0t),则系统响应为

y(t)?H(j?0)sin(?0t)?|H(j?0)|sin(?0t??(?0)) 3.6

可见,系统对某一频率分量的影响表现为两个方面,一是信号的幅度要被H(j?)加权,二是信号的相位要被?(?)移相。

由于H(j?)和?(?)都是频率?的函数,所以,系统对不同频率的频率分量造成的幅度和相位上的影响是不同的。

2 LTI系统的群延时

从信号频谱的观点看,信号是由无穷多个不同频率的正弦信号的加权和(Weighted sum)所组成。正如刚才所述,信号经过LTI系统传输与处理时,系统将会对信号中的所有频率分量造成幅度和相位上的不同影响。从相位上来看,系统对各个频率分量造成一定的相位移(Phase shifting),相位移实际上就是延时(Time delay)。群延时(Group delay)的概念能够较好地反映系统对不同频率分量造成的延时。

LTI系统的群延时定义为:

d?(?)?(?)?? 3.7

d?群延时的物理意义:群延时描述的是信号中某一频率分量经过线性时不变系统传输处理后产生的响应信号在时间上造成的延时的时间。

如果系统的相位频率响应特性是线性的,则群延时为常数,也就是说,该系统对于所有的频率分量造成的延时时间都是一样的,因而,系统不会对信号产生相位失真(Phase distortion)。反之,若系统的相位频率响应特性不是线性的,则该系统对于不同频率的频率分量造成的延时

20

时间是不同的,因此,当信号经过系统后,必将产生相位失真。

3 用MATLAB计算系统频率响应

在本实验中,表示系统的方法仍然是用系统函数分子和分母多项式系数行向量来表示。实验中用到的MATLAB函数如下:

[H,w] = freqs(b,a):b,a分别为连续时间LTI系统的微分方程右边的和左边的系数向量

(Coefficients vector),返回的频率响应在各频率点的样点值(复数)存放在H中,系统默认的样点数目为200点;

Hm = abs(H):求模数,即进行Hm?H运算,求得系统的幅度频率响应,返回值存

于Hm之中。

real(H):求H的实部;

imag(H):求H的虚部;

phi = atan(-imag(H)./(real(H)+eps)):求相位频率相应特性,atan()用来计算反正切值;

或者

phi = angle(H):求相位频率相应特性;

tao = grpdelay(num,den,w):计算系统的相位频率响应所对应的群延时。 计算频率响应的函数freqs()的另一种形式是:

H = freqs(b,a,w):在指定的频率范围内计算系统的频率响应特性。在使用这种形式的

freqs/freqz函数时,要在前面先指定频率变量w的范围。

例如在语句H = freqs(b,a,w)之前加上语句:w = 0:2*pi/256:2*pi。

下面举例说明如何利用上述函数计算并绘制系统频率响应特性曲线的编程方法。 假设给定一个连续时间LTI系统,下面的微分方程描述其输入输出之间的关系

dy(t)dt22?3dy(t)dt?2y(t)?x(t)

编写的MATLAB范例程序,绘制系统的幅度响应特性、相位响应特性、频率响应的实部和频率响应的虚部。程序如下:

% Program3_1

% This Program is used to compute and draw the plots of the frequency response % of a continuous-time system

b = [1]; % The coefficient vector of the right side of the differential equation a = [1 3 2]; % The coefficient vector of the left side of the differential equation [H,w] = freqs(b,a); % Compute the frequency response H Hm = abs(H); % Compute the magnitude response Hm

phai = angle(H); % Compute the phase response phai

Hr = real(H); % Compute the real part of the frequency response Hi = imag(H); % Compute the imaginary part of the frequency response subplot(221)

plot(w,Hm), grid on, title('Magnitude response'), xlabel('Frequency in rad/sec') subplot(223)

plot(w,phai), grid on, title('Phase response'), xlabel('Frequency in rad/sec')

21

subplot(222)

plot(w,Hr), grid on, title('Real part of frequency response'), xlabel('Frequency in rad/sec') subplot(224)

plot(w,Hi), grid on, title('Imaginary part of frequency response'), xlabel('Frequency in rad/sec')

三、实验内容及步骤

实验前,必须首先阅读本实验原理,了解所给的MATLAB相关函数,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

给定三个连续时间LTI系统,它们的微分方程分别为

系统1:

dy(t)dt22?1dy(t)dt?25y(t)?dx(t)dt Eq.3.1

系统2: 系统3:

dy(t)dt66dy(t)dt?y(t)?dx(t)dt?x(t) Eq.3.2

?10dy(t)dt55?48dy(t)dt44?148dy(t)dt33?306dy(t)dt22?401dy(t)dt?262y(t)?262x(t) Eq.3.3

Q3-1 修改程序Program3_1,并以Q3_1存盘,使之能够能够接受键盘方式输入的微分方程系

数向量。并利用该程序计算并绘制由微分方程Eq.3.1、Eq.3.2和Eq.3.3描述的系统的幅度响应特性、相位响应特性、频率响应的实部和频率响应的虚部曲线图。

抄写程序Q3_1如下:

执行程序Q3_1,绘制的系统1的频率响应特性曲线如下:

从系统1的幅度频率响应曲线看,系统1是低通、高通、全通、带通还是带阻滤波器? 答:

执行程序Q3_1,绘制的系统2的频率响应特性曲线如下:

22

从系统2的幅度频率响应曲线看,系统2低通、高通、全通、带通还是带阻滤波器? 答:

执行程序Q3_1,绘制的系统3的频率响应特性曲线如下:

从系统3的幅度频率响应曲线看,系统3是低通、高通、全通、带通还是带阻滤波器? 答:

这三个系统的幅度频率响应、相位频率相应、频率响应的实部以及频率响应的虚部分别具有何

种对称关系?请根据傅里叶变换的性质说明为什么会具有这些对称关系?

答:

Q3-2 编写程序Q3_2,使之能够能够接受键盘方式输入的输入信号x(t)的数学表达式,系统微

分方程的系数向量,计算输入信号的幅度频谱,系统的幅度频率响应,系统输出信号y(t)的幅度频谱,系统的单位冲激响应h(t),并按照下面的图Q3-2的布局,绘制出各个信号的时域和频域图形。

图Q3-2

23

你编写的程序Q3_2抄写如下:

执行程序Q3_2,输入信号x(t) = sin(t) + sin(8t),输入由Eq.3.3描述的系统。得到的图形如下:

此处粘帖执行程序Q3_2所得到的图形

请手工绘制出信号x(t) = sin(t) + sin(8t) 的幅度频谱图如下:

你手工绘制的信号x(t) = sin(t) + sin(8t) 的幅度频谱图与执行程序Q3_2得到的x(t) = sin(t) +

sin(8t) 的幅度频谱图是否相同?如不同,是何原因造成的?

答:

执行程序Q3_2得到的x(t) = sin(t) + sin(8t) 的幅度频谱图实际上是另外一个信号x1(t)的幅度频

谱,这个信号的时域数学表达式为 x1(t) =

请利用傅里叶变换的相关性质计算并绘制信号x1(t)的幅度频谱图。

计算过程:

手工绘制的x1(t) 的幅度频谱图如下:

结合所学的有关滤波的知识,根据上面所得到的信号的时域和频域图形,请从时域和频域两个

方面解释滤波的概念。

答:

Q3-3 编写程序

Q3_3,能够接受从键盘输入的系统微分方程系数向量,并分别绘制所给三个

24

系统的群延时曲线图。

抄写程序Q3_3如下:

系统Eq.3.1的群延时曲线图 系统Eq.3.3的群延时曲线图

根据上面的群延时曲线图可以看出,对系统Eq.3.1,当频率为5弧度/秒时,群延时为 秒,

当频率为10弧度/秒时,群延时为 秒,如何解释这两个群延时时间?

根据上面的群延时曲线图,说明这两个系统是否会造成对信号的相位失真?为什么?

从系统Eq.3.3的群延时曲线图中可以看出,当信号的频率为1弧度/秒时,系统Eq.3.3对这一

频率的信号的延时是 秒。所以,执行程序Q3_2时,当作用于系统Eq.3.3的输入信号为x(t) = sin(t) + sin(8t)时,其输出信号y(t)的数学表达式为:

四、实验报 告要求

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。

3、实事求是地回答相关问题,严禁抄袭。

本实验完成时间: 年 月 日

25

实验五 连续时间LTI系统的复频域分析

一、实验目的

1、掌握拉普拉斯变换的物理意义、基本性质及应用;

2、掌握用拉普拉斯变换求解连续时间LTI系统的时域响应;

3、掌握系统函数的概念,掌握系统函数的零、极点分布(零、极点图)与系统的稳定性、时域特性等之间的相互关系;

4、掌握用MATLAB对系统进行变换域分析的常用函数及编程方法。

基本要求:掌握拉普拉斯变换及其基本性质,掌握应用拉普拉斯变换求解系统的微分方程,能够自己编写程序完成对系统时域响应的求解。掌握并理解系统函数的概念,掌握系统函数零极点与系统时域和频域特性之间的关系,能够编写程序完成对系统的一些主要特性如稳定性、因果性等的分析。

二、实验原理及方法

1、连续时间LTI系统的复频域描述

拉普拉斯变换(The Laplace transform)主要用于系统分析。描述系统的另一种数学模型就是建立在拉普拉斯变换基础上的“系统函数(System Function)”——H(s):

换L?y(t)?换L?x(t)?

H(s)?Y(s)?系统冲击响应的拉氏变X(s)?系统激励信号的拉氏变 5.1

系统函数H(s)的实质就是系统单位冲激响应(Impulse Response)h(t)的拉普拉斯变换。因此,系统函数也可以定义为:

? H(s)??h(t)e???stdt 5.2

所以,系统函数H(s)的一些特点是和系统的时域响应h(t)的特点相对应的。在教材中,我们求系统函数的方法,除了按照拉氏变换的定义式的方法之外,更常用的是根据描述系统的线性常系数微分方程(Linear Constant-Coefficient Defrential Equation),经过拉氏变换之后得到系统函数H(s)。

假设描述一个连续时间LTI系统的线性常系数微分方程为:

N?ak?0dy(t)kkMdtk??bk?0dx(t)kkdtk 5.3

对式4.3两边做拉普拉斯变换,则有

NMk

?ak?0sY(s)?k?bk?0ksX(s)

26

kM即 H(s)?Y(s)X(s)?b?k?0Nkssk 5.4

kk?ak?0式5.4告诉我们,对于一个能够用线性常系数微分方程描述的连续时间LTI系统,它的系统函数是一个关于复变量s的有理多项式的分式,其分子和分母的多项式系数与系统微分方程左右两端的系数是对应的。根据这一特点,可以很容易的根据微分方程写出系统函数表达式,或者根据系统函数表达式写出系统的微分方程。

系统函数H(s)大多数情况下是复变函数,因此,H(s)可以有多种表示形式:

1、直角坐标形式: H(s)?Re(s)?jIm(s)

Mk?(s?zj)2、零极点形式: H(s)?j?1N

pi)?(s?i?1N3、部分分式和形式: H(s)??k?0Aks?sk(假设系统的N>M,且无重极点)

根据我们所要分析的问题的不同,可以采用不同形式的系统函数H(s)表达式。

在MATLAB中,表达系统函数H(s)的方法是给出系统函数的分子多项式和分母多项式的系数向量。由于系统函数的分子和分母的多项式系数与系统微分方程左右两端的系数是对应的,

因此,用MATLAB表示系统函数,就是用系统函数的两个系数向量来表示。

应用拉普拉斯变换分析系统的主要内容有:

1、分析系统的稳定性;

2、分析系统的频率响应。

分析方法主要是通过绘制出系统函数的零极点分布图,根据零极点分布情况,判断系统的稳定性。

MATLAB中有相应的复频域分析函数,下面简要介绍如下:

[z,p,k] = tf2zp(num,den):求系统函数的零极点,返回值z为零点行向量,p为极点行向量,k为系统传递函数的零极点形式的增益。num为系统函数分子多项式的系数向量,den为系统函数分母多项式系数向量。

H = freqs(num,den,w):计算由num,den描述的系统的频率响应特性曲线。返回值H为频率向量规定的范围内的频率响应向量值。如果不带返回值H,则执行此函数后,将直接在屏幕上给出系统的对数频率响应曲线(包括幅频特性取向和相频特性曲线)。

[x,y] = meshgrid(x1,y1):用来产生绘制平面图的区域,由x1,y1来确定具体的区域范围,由此产生s平面区域。

meshgrid(x,y,fs):绘制系统函数的零极点曲面图。

27

H = impulse(num,den):求系统的单位冲激响应,不带返回值,则直接绘制响应曲线,

带返回值则将冲激响应值存于向量h之中。

2、系统函数的零极点分布图

系统函数的零极点图(Zero-pole diagram)能够直观地表示系统的零点和极点在s平面上的位置,从而比较容易分析系统函数的收敛域(Regin of convergence)和稳定性(stablity)。

下面给出一个用于绘制连续时间LTI系统的零极点图的扩展函数splane(num,den):

% splane

% This function is used to draw the zero-pole plot in the s-plane function splane(num,den)

p = roots(den); % Determine the poles q = roots(num); % Determine the zeros p = p';

q = q';

% Determine the range of real-axis

x = max(abs([p q])); x = x+1;

y = x; % Determine the range of imaginary-axis plot([-x x],[0 0],':');hold on; % Draw the real-axis plot([0 0],[-y y],':');hold on;

% Draw the imaginary-axis

plot(real(p),imag(p),'x');hold on; % Draw the poles plot(real(q),imag(q),'o');hold on; % Draw the zeros title('zero-pole plot');

xlabel('Real Part');ylabel('Imaginal Part') axis([-x x -y y]);

% Determine the display-range

对于一个连续时间LTI系统,它的全部特性包括稳定性、因果性(Causality)和它具有何种滤波特性(Frequency-domain aspect)等完全由它的零极点在s平面上的位置所决定。

3、拉普拉斯变换与傅里叶变换之间的关系

根据课堂上所学的知识可知,拉普拉斯变换与傅里叶变换之间的关系可表述为:傅里叶变换是信号在虚轴上的拉普拉斯变换,也可用下面的数学表达式表示 H(j?)?H(s)s?j? 5.5

上式表明,给定一个信号h(t),如果它的拉普拉斯变换存在的话,它的傅里叶变换不一定存在,只有当它的拉普拉斯变换的收敛域包括了整个虚轴,则表明其傅里叶变换是存在的。下面的程序可以以图形的方式,表现拉普拉斯变换与傅里叶变换的这种关系。

% Relation_ft_lt

% This program is used to observe the relationship between the Fourier transform % and the Laplace transform of a rectangular pulse. clear, close all, a = -0:0.1:5; b = -20:0.1:20;

[a, b] = meshgrid (a, b); c = a+i*b;

%确定绘图区域

28

c = (1-exp (-2* (c+eps)))./ (c+eps); c = abs (c); subplot (211) mesh (a,b,c); surf (a,b,c); view (-60,20)

%计算拉普拉斯变换 %绘制曲面图 %调整观察视角

axis ([-0,5,-20,20,0,2]);

title ('The Laplace transform of the rectangular pulse'); w = -20:0.1:20;

Fw = (2*sin(w+eps).*exp(i*(w+eps)))./(w+eps); subplot (212); plot(w,abs(Fw))

title ('The Fourier transform of the rectangular pulse')

xlabel ('frequence w')

上面的程序不要求完全读懂,重点是能够从所得到的图形中,观察拉和理解普拉斯变换与傅里叶变换之间的相互关系就行。

4、系统函数的极点分布与系统的稳定性和因果性之间的关系

一个稳定的LTI系统,它的单位冲激响应h(t)满足绝对可积条件,即

?

?h(t)dt???? 5.6

同时,我们还应该记得,一个信号的傅里叶变换的存在条件就是这个信号满足绝对可积条件,所以,如果系统是稳定的话,那么,该系统的频率响应也必然是存在的。又根据傅里叶变换与拉普拉斯变换之间的关系,可进一步推理出,稳定的系统,其系统函数的收敛域必然包括虚轴。稳定的因果系统,其系统函数的全部极点一定位于s平面的左半平面。

所以,对于一个给定的LTI系统,它的稳定性、因果性完全能够从它的零极点分布图上直观地看出。

例题5-1:已知一个因果的LTI系统的微分方程为

dy(t)dt66?10dy(t)dt55?48dy(t)dt44?148dy(t)dt33?306dy(t)dt22?401dy(t)dt?262y(t)?262x(t)

编写程序,绘制出系统的零极点分布图,并说明它的稳定性如何。

解:这是一个高阶系统,显然手工计算它的极点是很困难的。可以利用前面给出的扩展函数

splane(),来绘制系统的零极点分布图。范例程序如下:

% Program5_1

% This program plots the zero-pole diagram of an LTI system described % by the linear constant-coefficient differential equation

29

clear, close all, b = 262;

a = [1 10 48 148 306 401 262]; subplot (221) splane (b,a)

title ('The zero-pole diagram') 执行该程序后,得到系统的零极点分布图如图5.1所示。由于已知该系统是因果系统,从零极点分布图上看,它的全部极点都位于s平面的左半平面上,所以系统是稳定的。

然后,直接在命令窗口键入 >> roots(a)

回车后,就得到系统的极点为:

ans =

-0.5707 + 2.4716i -0.5707 - 2.4716i -2.7378 + 0.0956i -2.7378 - 0.0956i -1.6915 + 1.6014i

-1.6915 - 1.6014i

若题目中没有说明该系统是否是因果的,则需要做详细的分析。从零极点分布图上可以看出,该系统可能的收敛域共有四种可能,另外三种可能如下:

(a) 收敛域为Re{s}< -2.7378,此种情况说明,该系统是一个反因果系统(Anticausal system),由于收敛域不包含虚轴,故此系统是不稳定的。

(b)、(c)收敛域为 -2.7378 < Re{s} < -1.6915和-1.6915 < Re{s} < -0.5707,此两种情况说明该系统是一个单位冲激响应为双边信号的非因果系统,收敛域仍不包含虚轴,所以,系统是不稳定的。

总之,系统的稳定性主要取决于系统函数的收敛域是否包含整个虚轴,而系统的因果性则取决于系统极点位置的分布。

图5.1

需要特别强调的是,MATLAB

总是把由分子和分母多项式表示任何系统都当作是因果系

统。所以,利用impulse ()函数求得的单位冲激响应总是因果信号。

5、系统函数的零极点分布与系统的滤波特性

系统具有何种滤波特性,主要取决于系统的零极点所处的位置。没有零点的系统,通常是一个低通滤波器。

例题5-2 已知一个系统的系统函数为

H(s)?

1s?1

图5.2

30

显然,这是一个一阶系统,无零点。为了确定该系统具有何种滤波特性,需要把系统的频率响应特性曲线绘制出来加以判断。借助实验三中的范例程序Program3_1,可以绘制系统的频率特性曲线如图5.2所示。

通过编程,可以将系统的零极点分布图和系统的频率响应特性以及系统的单位冲激响应特性绘制在一个图形窗口的各个子图中,这样便于观察系统的零极点分布情况与系统的时域和频域之间的关系。如图5.3所示

图5.3 系统的零极点分布与系统的单位冲激响应、频率相应

6、拉普拉斯逆变换的计算

我们已经知道,直接用拉普拉斯逆变换(Inverse transform)的定义公式计算逆变换是很困难的,通常的计算拉普拉斯逆变换的方法是长除法(Long division)和部分分式分解法(Partial fraction expension)。MATLAB的内部函数residue()可以帮助我们完成拉普拉斯逆变换的计算。

例题5-3 已知某信号的拉普拉斯变换表达式为

X(s)?求该信号的时域表达式。

1s?3s?22

解:由于题目没有指定收敛域,所以必须考虑所有可能的情况。为此,可以先计算出该信号的

拉普拉斯变换表达式的极点。很显然,X(s)有两个极点,分别为 s = -1,s = -2。零极点分布图

31

如例题图5-3所示。

在MATLAB命令窗口键入:

>> b = 1;

>> a = [1 3 2];

>> [r, p, k] = residue (b, a)

命令窗口立即给出计算结果为:

r = -1 1 p = -2 -1 k =

[ ]

根据r、p、k之值,可以写出X(s)的部分分式和的表达式为: X(s)??1s?2?1s?1例题图5-3

然后根据不同的ROC,可写出X(s)的时域表达式x(t)。

第一种情况,ROC为 Re{s} < -2,则x(t)为反因果信号,其数学表达式为 x(t)?e?2tu(?t)?e?tu(?t)

第二种情况,ROC为 -2 < Re{s} < -1,则x(t)为双边非因果信号,其数学表达式为 x(t)??e?2tu(t)?e?tu(?t)

第三种情况,ROC为 Re{s} > -1,则x(t)为因果信号,其数学表达式为 x(t)??e?2tu(t)?eu(t)

?t在这个例题中,函数residue()仅仅完成了部分分式分解的任务,至于逆变换的数学表达式的结果是什么,还得结合收敛域的不同才能写出。

如果X(s)的分子的阶不小于分母的阶,则k将不等于一个空矩阵,例如,当X(s)?s23s?3s?2时,我们在命令窗口中键入:

>> b = [1 0 0 0]; >> a = [1 3 2]; >> [r,p,k]=residue(b,a)

则:

r = 8 -1 p = -2

32

-1 k =

1 -3

这里的k = [1 3],实际上是将X(s)做了一个长除法后,得到的商的多项式。所以,根据上面的r、p、k之值,可写出X(s)的部分分式和的表达式为:

X(s)?s?3?8s?2?1s?1

有关函数residue()的详细用法,可通过在线帮助加以了解。

三、实验内容及步骤

实验前,必须首先阅读本实验原理,了解所给的MATLAB相关函数,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

Q5-1 将绘制零极点图的扩展函数文件splane以splane为文件名存盘。

Q5-2 运行程序Relation_ft_lt,观察拉普拉斯变换与傅里叶变换之间的关系。在点击工具条上

的旋转按钮,再将鼠标放在曲面图上拖动图形旋转,从各个角度观察拉普拉斯曲面图形,并同傅立叶变换的曲线图比较,加深对拉普拉斯变换与傅里叶变换之间关系的理解与记忆。

Q5-3 编写程序

Q5_3,能够接受从键盘输入的系统函数的分子分母多项式系数向量,并绘制

出系统的零极点图、系统的单位冲激响应、系统的幅度频率响应和相位频率相应的图形。各个子图要求按照图5.3布置。

程序Q5_3抄写如下:

Q5-4 执行程序编写Q5_3,输入因果的系统函数H(s)?绘制所得到的图形如下:

s(s?1)(s?2)的分子分母系数向量,

执行Q5_3所得到的图形

从上面的图形中可以看出,该系统的零点和极点分别位于:

33

从时域和零极点分布特征两个方面说明该系统是否是稳定的系统? 答:

从频率响应特性上看,该系统具有何种滤波特性? 答:

Q5-5 执行程序编写Q5_3,输入因果的系统函数

1H(s)?a 32s?2s?2s?1s?12此处a取1,执行程序Q5_3,输入该系统的分子分母系数向量,得到的图形如下:

从上面的图形中可以看出,该系统的零点和极点分别位于:

从时域和零极点分布特征两个方面说明该系统是否是稳定的系统? 答:

从频率响应特性上看,该系统具有何种滤波特性? 答:

改变系统函数中的a值,分别取0.6、0.8、4、16等不同的值,反复执行程序Q5-3,观察系统

的幅度频率响应特性曲线(带宽、过渡带宽和阻带衰减等),贴一张a = 4时的图形如下:

观察a取不同的值时系统的幅度频率响应特性曲线的变化(带宽、过渡带宽和阻带衰减等),

请用一段文字说明零点位置对系统滤波特性的这些影响。

答:

34

1Q5-6 对于因果系统H(s)?a,已知输入信号为x(t)?sin(t)?sin(8t),要32s?2s?2s?1s?12求输出信号y(t)?Ksin(t),K为一个不为零的系数,根据Q5-5所得到的不同a值时的幅度频率响应图形,选择一个合适的a值从而使本系统能够实现本题的滤波要求。

你选择的a值为: 选择a值的根据是:

试编写一个MATLAB程序Q5_6,仿真这个滤波过程,要求绘制出系统输入信号、系统的单位

冲激响应和系统的输出信号波形。

抄写程序Q5_6如下:

执行程序Q5_6得到的输入输出信号波形图如下:

Q5-7 已知一个因果系统的系统函数为H(s)?x(t)?e?4ts?5s?6s?11s?632,作用于系统的输入信号为

TLAB帮助你求系统的响应信号y(t)的数学表达式。 u(t),试用MA

请在这里抄写你用MATLAB求解的命令(结合必要的文字说明):

四、实验报告要求

1、按要求完整书写你所编写的全部MATLAB程序

2、详细记录实验过程中的有关信号波形图(存于自带的U盘中),图形要有明确的标题。全部的MATLAB图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。

3、实事求是地回答相关问题,严禁抄袭。

本实验完成时间: 年 月 日

35

附录:授课方式和考核办法

由于《数字信号处理》的课程性质,决定了该课程最好的授课地点是实验室,最好的授课方式是老师边讲,学生边做,这样才能真正起到实验课应该起到的作用。

因此,应该转变或者改革实验课程中的管理方式,强化实验过程中的监控力度,淡化实验后的实验报告的批阅。同时,结合学分制的推广实施,要求实验完全开放。具体办法是: 1、强化事先预习

实验前,实验指导教师将严格检查学生的实验预习情况,并作详细记录。主要看:是否按照实验要求完成了相应的问题分析,手工计算和手工绘图工作,是否按照实验要求编写了相应的实验用程序,并就实验目的、实验内容或实验程序对学生提问,根据实际情况决定是否允许学生进行实验,如果没有编写相应程序,则坚决不允许进行实验; 2、强化实验过程的监控力度

实验中,指导教师要认真观察学生的实验情况,认真检查学生的实验结果,并作详细记录; 3、淡化实验报告的批阅

在强化实验前的预习和实验中的过程监控的前提下,完全可以淡化实验报告的批阅。但这并不意味着学生可以不交实验报告,相反,学生实验报告应该作为考核该实验课程的否决条件。 4、考核成绩

成绩可由三部分构成,一部分是根据学生的实验预习情况所给出的分数,另一部分是根据学生在实验过程中的表现情况所给出的分数,可考虑各占40%,最后的20% 还要考虑实验报告是否完成并送达到授课老师,如不送达,则该次实验成绩记0分,送达后,按实际情况酌情计分。

36

本文来源:https://www.bwwdw.com/article/ghvr.html

Top