信号系统实验讲义

更新时间:2024-01-25 23:47:01 阅读量: 教育文库 文档下载

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

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

信号与系统实验指导书

“信号与系统实验”是与“信号与系统”课程理论教学相配套而开设的计算机仿真实验课程,其目的在于实现在可视化的交互式实验环境中,以计算机为辅教学手段,以科技应用软件MATLAB 为实验平台,辅助学生完成“信号与系统”课程中的数值分析、可视化建模及仿真调试,同时将“信号与系统”课程教学中难点、重点及部分课后练习,通过计算机来进行可视化的设计、调试和分析,从而将学生从繁杂的手工运算中解脱出来,把更多的时间和精力用于对信号与系统基本分析方法和原理的理解和应用上,培养学生主动获取知识和独立解决问题的能力,为学习后继专业课打下坚实的基础。 实验教学基本要求:

1、熟悉MATLAB 的运行环境及基本操作命令,掌握MATLAB编程方法、常用语句和可视化绘图技术;掌握MATLAB编程实现常用信号的表示方法及基本运算、上机调试,分析运行结果,书写实验报告。

2、掌握用MATLAB 对线性系统的时域特性进行分析的基本方法,信号的时域运算、变换及MATLAB 实现方法,学会应用MATLAB 对常用信号进行时域特性分析及波形绘制。

3、掌握基于MATLAB对连续信号进行拉普拉斯变换和反变换分析应用。进一步了解用MATLAB计算复杂系统的方法;掌握用MATLAB分析并绘制连续系统零极点图以判断因果系统稳定的方法;掌握用MATLAB分析连续系统的频率特性及其幅度特性、相位特性。

4、掌握应用MATLAB离散LTI系统的时域和z域分析方法。掌握利用MATLAB计算离散系统响应的数值方法,包括冲激响应、全响应等;掌握离散信号z变换和逆z变换的MATLAB实现方法; 掌握离散系统的系统函数零极点分布与系统频率特性分析的MATLAB实现方法。

1

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

预习知识 MATLAB 程序入门和基础应用

MATLAB如今已经被广泛地应用于各个领域中,是当今世界上最优秀的数值计算软件。它广为流传的原因不仅在于在它的计算功能强大,图形功能丰富、方便,还在于它的编程效率高,扩充能力强;语句简单,易学易用,而不会像其他的那些高级语言一样距人于千里之外。在这里我们就对MATLAB做一下简单的介绍。

1、 MATLAB简介

在科学技术飞速发展的今天,计算机正扮演着越来越重要的角色。在进行科学研究与工程一用的过程中,科技人员往往会遇到大量繁重的数学运算和数值分析,传统的高级语言BASIC、FORTRAN及C语言等虽然能在一定成都上减轻计算量,但它们均要求应用人员具有较强的编程能力和对算法有深入的研究[7]。

另外,在运用这些高级语言进行计算结果的可视化分析及图形处理方面,对非计算机专业的普通用户来说,仍存在着一定的难度。MATLAB正式在这一应用要求背景下产生的数学类科技应用软件,它具有的顶尖的数值计算功能。强大的图形可视化功能及简介医学的“科学便笺式”工作环境和编程语言,从根本上满足了科技人员对工程数学计算的要求,并将科技人员从繁重的数学运算中解放出来,因而,越来越受到广大科技工作者的普遍欢迎。

MATLAB是matrix和laboratory前三个字母的缩写,意思是“矩阵实验室”,是MathWorks公司推出的数学类可以应用软件。其DOS版本(MATLAB1.0)发行于1984年,到现在已经到了MATLAB7.X。经过20多年的不断发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱(Toolboxs)组成。

MATLAB具有一下基本功能: ? 数值计算功能 ? 符号计算功能 ? 图形处理集可视化功能 ? 可视化建模集动态仿真功能

2

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学,用户不用花太多时间即可掌握其编程技巧。其指令格式与教科书中的数学表达式非常相近,用MATLAB编写程序尤如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高了编程效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据已二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使科技人员对大量原始数据的分析变得轻松和得心应手。

正是由于MATLAB在数值计算及符号计算等方面的强大功能,使MATLAB一路领先,成为数学类科技应用软件中的佼佼者。目前,MATLAB已成为国际上公认的最优秀的科技应用软件。MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前,在国外高等院校,MATLAB已成为本科生、研究生必须掌握的基础软件,国内很多理工院校也已经把MATLAB作为学生必须掌握的一种软件,“教育部全国计算机专业课程知道委员会”已将MATLAB语言列为推荐课程。

2、MATLAB的安装

如今我们最常用的MATLAB版本是MATLAB7.0,虽然它不是最高最新的版本,但是它已经把MATLAB的功能很好的汇总在一起。

MATLAB既可在PC单机环境下亦可在网络环境下安装进行,在这里介绍MATLAB7.0在PC机单机环境使用Microsoft Windows 2000或者Windows XP操作系统进行安装的情况。

MATLAB7.0对系统的基本要求为:

? Microsoft Windows 2000或者Windows XP ? 奔腾处理器(1.0G上) ? 256MB以上内存 ? 16位以上显卡

3

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

在系统满足上述要求的情况下,即可进行MATLAB7.0的安装,安装过程]如下:

1)插入光盘,自动运行; 或点击安装程序 setup.exe

图1. 1Mathwoks公司的软件安装工具界面

2)安装程序自动打开Mathworks公司多的安装工具后,按下【Next】按钮即继续安装。

3)安装程序自动进入注册对话框,用户在响应的编辑框内输入产品注册码(可以在解压缩后的文件夹中找到),然后按下【Next】按钮继续安装。

图1.2 产品注册码输入界面

4

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

3)用户认可Mathworks公司的软件协议后,继续在用户名称和公司名称的编辑框内输入相关信息。按下【Next】按钮继续安装。

图1.3 认可软件协议,并填写用户名和公司名称

图1.4 选择安装界面

4)安装程序会自动打开MATLAB6.5安装内容选择对话框(图1.2),MATLAB的组件、安装目录路径以及安装所需要的磁盘空间等信息均显示在图中。在项目1下的编辑框内输入安装的路径与目录,并可点击【Browse】按钮,以浏览、选择并改变MATLAB的安装的路径与子目录。

5

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

图1.5 安装路径和安装项目选择

3、MATLAB的启动与退出 1)MATLAB的启动

方式一:使用 Windows “开始” 菜单 方式二:双击 Matlab 快捷图标 2)MATLAB的退出

方式一:在 Matlab 主窗口 File 菜单中选择 Exit Matlab 方式二:在 Matlab 命令窗口输入 exit 或 quit 方式三:单击 Matlab 主窗口的“关闭”按钮 4、MATLAB的系统界面

MATLAB既是一种高级计算机语言,又是一个编程环境。MATLAB的系统界面,通常是指这个软件所具有的各种界面以及这些界面理的诸多菜单命令、工具栏按钮与对话框。通过对其操作,可以运行并管理系统:生成编辑与运行程序,管理变量与工作空间,输入输出数据与相关信息以及生成与管理M文件等。本节要介绍MATLAB7.0的系统界面、系统菜单项命令、系统工具按钮、系统界面的窗口、Start开始按钮等。

MATLAB7.0的系统界面如图1.6所示。在图中,最上面有“MATLAB”标题,标题栏的右边从左到右依次为窗口最小化、缩放和关闭按钮。标题栏下是条形主菜单,主菜单下是工具栏按钮与设置当前目录的弹出式菜单框及其右侧的查看目录树的按钮(【Browse for Folder】)。在工具栏下的大窗口就是MATLAB的主窗口,

6

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

在大窗口里设置有4个小窗口(这是桌面平台的默认设置):“Workspace”、“Current Directory”、“Command History”、“Command Windows”。在最下方是“Start”开始按钮。

当前工作目录 命令 提示符 当前工作空间 命令窗口 输入命令的历史记录

图1.6 MATLAB命令窗口

5、MATLAB 7.0菜单项命令

条形组菜单有【文件(File)】、【编辑(Edit)】、【程序调试(Debug)】、【窗口显示(Desktop)】、【窗口(Window)】、【帮助(Help)】等6个菜单项。

【File】:可以根据目的的不同来新建和打开各种不同的文件,如M文件,Simulink仿真库等等,而且可以把已经编辑好的文件进行存档。

【Edit】:复制、粘贴和删除等常见文档操作。在【Edit】菜单中有3个窗口刷新选项,分别用来刷新命令窗口、历史窗口和工作空间中的操作记录,用户也可以在各窗口上直接单击鼠标右键实现同样操作。

【Debug】:程序调试。详细内容参见程序调试相关章节。

【Desktop】:设置用户界面的窗口显示。在【Desktop】菜单中,用户可以进行对用户界面上的窗口进行设置,子菜单中选择【Desktop Layout\\Default】,用户界面显示默认设置。如果用户选择【Desktop Layout\\Command Windows Only】,则

7

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

用户界面只包含命令窗口,如图所示。

【窗口(Window)】菜单项下拉后仅有【关闭所有窗口】的子项。 【帮助(Help)】是一些使用MATLAB的帮助命令。 【查看(View)】菜单的功能式用于查看各种界面。

MATLAB的工具栏以图标方式为用户提供了MATLAB的常用命令及操作。工具栏图标及对应功能如图1.7所示。

图1.7 工具栏

6、用户界面中的窗口

用户界面所包含的各个窗口的功能和使用方法。这里介绍的窗口是用户MATLAB进行各项工作的基本平台,熟练地理解和使用各个窗口是所有MATLAB操作的基础。

1)命令窗口(Command Window)

命令窗口是MATLAB中最重要的窗口,默认显示在用户界面的右侧。用户在命令窗口中进行MATLAB的多种操作,如输入各种指令、函数和表达式等,此窗口是MATLAB中使用最为频繁的窗口,显示除图形外的一切运行结果。

当用户启动MATLAB7.0时,命令窗口中首先显示“To get started, select MATLAB Help or Demos from the help menu.”的提示信息,提醒用户:开始使用MATLAB之前,可以参考帮助系统(MATLAB Help)和演示文档(Demos)。在提示信息后,命令窗口中显示运行提示符“>>”。

命令窗口的工作区为用户提供了交互式的工作环境,即用户可随时输入命令,计算机即时给出元素结果。用户只需输入简单易学的MATLAB命令,即可进行诸如数值计算、符号运算和运算结果的可视化等复杂的分析和处理。但要注意,每一条命令或命令行键入后都要按【Enter】(回车)键,命令才会被执行。例如,在命令窗口的工作区直接输入如下字符:a=ones(3,3)

8

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

然后按回车键,即可创建一个3×3且元素值为1的矩阵,并显示如下运行结果:

a= 1 1 1

1 1 1

1 1 1

2)历史窗口(Command History)

用户在命令窗口中运行的所有命令,都被默认保留在历史窗口中,并且标明指令运行的日期和时间。用户可以对已执行命令进行操作,选择某条指令单击鼠标右键,在菜单选项中选择需要的操作,例如剪切、复制、粘贴和删除操作等。如果选择【Evaluate Selection】选项,即对选中指令重新进行运行,也可通过双击一条历史命令来重新执行该命令,重新执行命令。

3)工作空间窗口(Workspace)

工作空间窗口中显示MATLAB7.0工作内存中所有变量的名称、数据结构、大小及类型等信息,不同类型对应不同的图标,如图1.8(左)所示。用户可以选择窗口工具栏中的图标,来新建一个变量,如图1.8(右)所示,新建一个名为“undefined variable”的变量。

图1.8 工作空间窗口中的变量

4)数组编辑窗口

MATLAB7.0为用户提供了一个可以对数组进行编辑的窗口,即数组编辑窗口。数组是MATLAB的基本数据结构,是所有运算的基础。用户可以在工作空间窗口中选中一个数组,双击此数组或选择图标,出现内存数组编辑对话框。

9

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

7、MATLAB软件的使用

刚启动MATLAB进入到如图1.9所示的界面,但是这只是文件引索和命令执行窗口。我们可以通过点击【File】→【New】→【M-file】,进入到如图1.9所示的界面,也就是M程序编辑窗口,或者按下Ctrl+n键,或者直接点击新建空白M文件,这就是我们在接下来的实验中要用到的界面。

图1.9 M程序编辑窗口

进入到上面的界面以后,就开始进行编写程序。我们把编写好的程序键入,然后再把程序保存起来,因为MATLAB不会编译没有保存的文件。点击【File】→【Save As…】,给文件输入一个容易辨别的名字,系统会以 .m为后缀保存到G:\\MATLAB\\work的work文件夹中。保存之后,我们要对程序进行编译,点击【Debug】→【Run】,或者直接按F5就可以进行编译。编译成功,会听到“嘀”的一声,随之弹出程序运行结果。如果编译不成功,则会在图1.9所示窗口显示出哪一行出现了错误。对指出的错误进行修改,再次编译运行。 8、实验中要用的指令介绍

在整个信号与系统实验过程中,我们要利用MATLAB语言来编程实现对信号描述,时域变换,计算卷积等等一些过程。所以,对MATLAB中的简单常用指令必须有一个比较好的了解。下面对一些常用指令做简单的介绍。

function:在MATLAB中不是它的自带函数就可以完成所有功能,更多的时候是自己编写程序来实现我们要的功能,这时就要用到此命令,调用格式为:function ****( ) 括号外面为函数名称,括号中为函数中要用到的变量。

plot命令:plot命令是MATLAB中用来绘制用向量表示法(在下一章中讲到)

10

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

表示的连续信号的波形。它的功能是将向量点用直线依次连接起来。调用格式:plot(k,f),其中k和f是向量。

ezplot命令:ezplot命令是用来绘制用符号运算表示法表示的连续信号的波形。调用格式:ezplot(f,[t1,t2]),其中[t1,t2]为一时间范围,f为以t为变量的函数。

title命令:在绘图命令中,我们可以用此命令来对绘制出来的波形做一些注释,以便后期我们做图形处理。调用格式为:title(? ?? ?) 中间部分可以任意对图形进行注释的文字。

xlabel、ylabel命令:这两个也是来对绘制出来的波形做标注用的,可以标注出两个坐标轴的未知数的意义,增加图形中的信息量。调用格式:xlabel(? ?? ?),ylabel(? ?? ?) 中间可以是对坐标轴做注释的文字或字母。

axis命令:此命令可以来定义绘制波形中坐标的范围。调用格式为:axis([k1,k2,g1,g2]),其中k1,k2表示横坐标的范围,g1,g2表示纵坐标的范围。

syms命令:在符号表示法中,可以用此命令来定义变量。调用格式为:syms t 意思是定义一个变量t。

sym命令:是符号表示法中的调用系统自带函数的命令。调用格式为:f=sym(????) 中间为系统能识别的常用信号,如正弦信号,e?nt等。

stem命令:此命令专门用来绘制离散序列的波形。调用格式为:stem(k,f) 调用此命令可以绘制出离散序列的点状图。

subs命令:此可以将连续信号中的时间变量t用t-t0,at等等来替换,从而可以完成信号在时域范围内的变换。调用格式为:subs(f,t,t-t0) 通过调用此函数可以把信号做移位,伸展等等变换。

fliplr命令:此函数用来将向量以零时刻为基准点进行反折。调用格式为:f=fliplr(f1) 这样f就是向量f1反折后的函数。

min、max命令:这两个命令可以用来比较算出一个向量中的最小值和最大值,或者比较得出两个值中的较小值。调用格式为:min(k),max(k),min(k1,k2),max(k1,k2)

length命令:此函数可以计算出向量的长度。调用格式为:length(f)。 ones函数:这是MATLAB中一个常用的函数,它产生元素全部为1的矩阵,本文中用此函数来表示离散阶跃序列,或者定义连续的门信号,调用格式为:n=

11

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

0:5;ones(1,n)表示长度为整数n的阶跃序列。k=1:p:8;ones(1,length(k))表示长度为k的门信号。

subplot命令:在MATLAB绘图过程中,有时候为了便于观测图形的变化,需要在一幅波形显示窗口显示多个信号的波形,这时可以调用subplot命令。调用格式为:subplot(n1,n2,k),如定义一个subplot(2,2,1),就可以在显示窗口中显示k=2×2个波形。

conv函数:这个函数是用来计算两个序列的卷积和,调用此函数,可以将两个给定的序列计算出卷积和,调用格式为f=conv(f1,f2)。

12

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

实验一 MATLAB简介及连续信号的基本运算

一. 实验目的

1. 熟悉MATLAB软件平台;

2. 掌握MATLAB编程方法、常用语句和可视化绘图技术; 3. 学习MATLAB编程实现常用信号的表示方法及基本运算;

二. 实验原理

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

矩阵是MATLAB进行数据处理的基本单元,矩阵运算是MATLAB最重要的运算。通常意义上的数量(也称为标量)在MATLAB系统中是作为1×1的矩阵来处理的,而向量实际上是仅有一行或者一列的矩阵。通常用向量表示信号的时间取值范围,如n = -5:5,但信号x(n)、向量n本身的下标都是从1开始的,因此必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。

在MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数;而对n为自变量的离散序列,在绘图时统一用stem函数。

1.单位阶跃信号?(t)和单位冲激信号?(t)的m文件 在自己的工作目录中创建如下两个m文件。 (1)单位阶跃信号?(t)

function f=heaviside(t) %阶跃信号 f=(t>0);

(2)单位冲激信号?(t)

function chongji(t1,t2,t0) %冲激信号?(t- t0),t1和t2分为起始时间和终止时间 dt=0.01;

13

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

t=t1:dt:t2; n=length(t); x=zeros(1,n); x(1,(t0-t1)/dt+1)=1/dt;

stairs(t,x); %以阶梯方式绘画 axis([t1,t2,0,1.1/dt])

2.连续信号的相加、相乘、时移、反转和尺度变换等基本运算 (1)两个连续信号的相加

在MATLAB中要实现两个连续信号f1(t)、f2(t)的相加,可用如下语句:

x=symadd(f1,f2) 或 x=f1+f2 % x(t)= f1(t)+f2(t) (2)两个连续信号的相乘

在MATLAB中要实现两个连续信号f1(t)、f2(t)的相乘,可用如下语句:

x=symmul(f1,f2) 或 x=f1*f2 % x(t)= f1(t) f2(t) (3)连续信号的平移

要实现连续信号f(t)向右平移t0,MATLAB语句格式为:

x=subs(f,t,t-t0) % x(t)= f(t-t0) (4)连续信号的反转

要实现连续信号f(t)的反转,MATLAB语句格式为:

x=subs(f,t,-t) % x(t)= f(-t) (5)连续信号的尺度变换

要实现连续信号f(t)的尺度变换,MATLAB语句格式为:

x=subs(f,t,a*t) % x(t)= f(at)

要实现连续信号f(t)的平移、尺度变换的综合运算,MATLAB语句格式为:

x=subs(f,t,a*t-b) % x(t)= f(at-b)

例1:信号f1(t)、 f2(t)如图1(a)、(b)所示,编制一个m文件,绘出f1(t)=e-0.5t[?(t)-?(t-2)]、 f2(t)=sin(5?t)[?(t)-?(t-2)]、f1(-2t+1)、f1(t) f2(t-1)的波形。

解:实现所要求运算的m文件如下, syms t

f1=sym('exp(-0.5*t)*(heaviside(t)-heaviside(t-2))');

14

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

f2=sym('sin(5*pi*t)*(heaviside(t)-heaviside(t-2))'); subplot(2,2,1),ezplot(f1);title('f1'); subplot(2,2,2), ezplot(f2);title('f2'); f3=subs(f1,t,-2*t+1); subplot(2,2,3);ezplot(f3);title('f3'); f4=f1*subs(f2,t,t-1);

subplot(2,2,4);ezplot(f4);title('f4'); 运算结果如图9-1所示。其中,图9-1(a)、(b)、(c)、(d)分别为f1(t)、f2(t) 、f1(-t+1) 、f1(t) f2(t-1)的波形。

3.连续信号的卷积运算

由于MATLAB运算的特点,两个连续信号f1(t)、f2(t)的卷积f(t)=f1(t)*f2(t),用MATLAB实现的过程应为:

(1)将连续信号f1(t)、f2(t)以时间间隔Δ进行取样,得离散序列f1(k?)、f2(k?); (2)构造f1(k?)、f2(k?)与相对应的时间向量k1和k2; (3)调用conv()函数计算卷积积分f(t)的近似向量f(k?); (4)构造f(k?)对应的时间向量k。

下面是利用MATLAB实现连续信号卷积运算的通用函数sconv(),它在计算出卷积积分近似值的同时,还绘出f(t)的波形图。

function [f,k]=sconv(f1,f2,k1,k2,p)

%计算连续信号卷积积分f(t)=f1(t)*f2(t) %f:卷积积分f(t)对应的非零值向量 %k:f(t)的对应时间向量 ?,f2:f1(t),f2(t)的非零样值向量 %k1,k2:f1(t),f2(t)的对应时间向量 %p:取样时间间隔

图1

f=conv(f1,f2); %计算序列f1,f2的卷积和f f=f*p;

k0=k1(1)+k2(1); %计算序列f非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和f的非零样值的宽度 k=k0:p:k3*p; %确定卷积和f非零样值的时间向量 subplot(2,2,1);

15

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

plot(k1,f1); title('f1(t)'); xlabel('t'); ylabel('f1(t)'); subplot(2,2,2);

plot(k2,f2); title('f2(t)'); xlabel('t'); ylabel('f2(t)'); subplot(2,2,3);

plot(k,f); %画出卷积f(t)的波形 title('f(t)=f1(t)*f2(t))'); xlabel('t'); ylabel('f(t)'); h=get(gca,'position'); h(3)=2.5*h(3);

set(gca,'position',h) %将第三个子图的横坐标扩展为原来的2.5倍

例2:已知f1(t)=e-t[?(t)-?(t-2)]、 f2(t) = [?(t)-?(t-3)],编制一个m文件,绘出f1(t)、f2(t)和f(t)=f1(t)* f2(t)的波形。

解:实现所要求运算的m文件如下,运算结果如图2所示。

p=0.01; k1=0:p:2 f1=exp(-k1); k2=0:p:3;

f2=ones(1,length(k2)); [f,k]=sconv(f1,f2,k1,k2,p)

图2

三. 实验内容

1.建立以自己的汉语名字命名一个文件夹,用以存放自己所编制的M文件和产生的结果,并设置成当前工作目录。

2. 编写M文件,绘出信号f1(t)?e?0.5tsin(2πt)[?(t)??(t?6)]、f2(t)??(t)??(t?10)的波形及其卷积结果的波形,取样时间间隔为0.05s。

3. 编写M文件,绘出f 1(t)=Sa(2πt),f 2(t)= f 1(2t-2)的波形,t的范围在-2 ~2s。

四. 实验报告

1. 报告组成部分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部m文件。

思考题:在调用某一函数文件时,该文件中除了输入、输出变量外的其它变量在调用函数结束后是否还存在?这些变量是全局还是局部变量?

16

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

实验二 连续LTI系统的时域分析

一. 实验目的

4. 加深对线性时不变系统中零状态响应概念的理解,掌握其求解方法; 5. 掌握求解给定连续系统的冲激响应和阶跃响应的方法。

二. 实验原理

1.连续系统零状态响应的数值解

线性时不变 (LTI) 连续时间系统用常系数线性微分方程进行描述,系统的零状态响应就是在系统初始状态为零条件下微分方程的解。MATLAB控制系统工具箱提供了一个lism函数来求解连续时间系统的零状态响应,其调用格式为

y = lism(sys,f,t)

其中t表示计算系统响应的时间抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程、状态方程。在求解微分方程时,微分方程的LTI系统模型sys要借助MATLAB中的tf函数来获得,其调用格式为

sys = tf(b,a)

其中a、b分别为微分方程左端和右端各项的系统向量。

例如系统方程 a2y(3)(t)?a2y(2)(t)?a1y(1)(t)?a0y(t)?b2f(2)(t)?b1f(1)(t)?b0f(t) 该方程左边、右边的系数向量分别为a?[a3,a2,a1,a0],b?[b2,b1,b0]。

例1:描述某线性时不变系统的方程为

y\t)?4y'(t)?4y(t)?f'(t)?3f(t)

试求:当f(t)?e?t?(t)时,系统的零状态响应yzs(t)。

解:实现所要求运算的m文件如下,

a = [1 4 4]; %将y(t)各阶导数的系数放在向量a中 b = [1 3]; %将f(t)各阶导数的系数放在向量b中 sys = tf(b, a); %求系统模型sys td = 0.01; %定义时间间隔

17

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

t = 0 : td : 10; %定义时间向量 f = exp(-t); %将f(t)表示出来 y = lsim(sys, f, t); %求系统的零状态响应 plot(t, y); %绘出零状态响应的波形 xlabel('t(sec)'); %给出x坐标的标签 ylabel('y(t)'); %给出y坐标的标签 grid on %在图上显示方格 程序运行结果见图1。

0.350.30.250.2y(t)0.150.10.050012345t(sec)678910

图1. 零状态响应波形

2.连续系统的冲激响应和阶跃响应

连续系统的冲激响应、阶跃响应分别是输入信号为?(t)和?(t)所对应的零状态响应。MATLAB控制系统工具箱专门提供了两个函数求解连续系统的冲激响应和阶跃响应。

冲激响应:y = impulse(sys, t) ; 阶跃响应:y = step(sys, t);

其中t表示计算系统响应的时间抽样点向量,sys是LTI系统模型。

例2:描述某线性时不变系统的方程为

y\t)?2y'(t)?100y(t)?20f'(t)?100f(t)

试求系统的冲激响应h(t)和阶跃响应g(t)。

解:实现所要求运算的m文件如下,

18

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

b=[20 100]; %输入微分方程右边的系数行向量; a=[1 2 100]; %输入微分方程左边的系统行向量; sys=tf(b,a);

t=0:0.02:4; %定义时间向量 figure(1)

impulse(sys,t); %计算冲激响应并绘制波形 figure(2)

step(sys,t); %计算阶跃响应并绘制波形 运算结果如图2(a)、(b)所示。

Impulse Response25201510Amplitude50-5-10-15-2000.511.52Time (sec)2.533.54

图2(a) 冲激响应波形

Step Response32.52Amplitude1.510.50-0.500.511.52Time (sec)2.533.54

图2(b) 阶跃响应波形

19

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

三. 实验内容

1.已知系统的微分方程为

y\t)?2y'(t)?2y(t)?f'(t)

若f(t)?et,计算系统的零状态响应yzs(t)、冲激响应h(t)和阶跃响应g(t),并画出波形图。

2.已知系统的微分方程为

y''(t)?3y'(t)?2y(t)?2f'(t)?6f(t),f(t)??(t)

分别求系统的零状态响应和阶跃响应,并在一个窗口中画出两个图形,观察结果。如果输入信号改为f(t)??(t),那么结果又将如何?

四. 实验报告

1. 报告组成部分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部m文件。 3. 简述心得体会。

20

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

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

一. 实验目的

1. 掌握基于MATLAB的拉普拉斯变换和反变换分析应用。进一步了解用MATLAB计算

复杂系统的方法。

2. 掌握用MATLAB分析并绘制连续系统零极点图以判断因果系统稳定的方法。 3. 掌握用MATLAB实现连续系统的频率特性及其幅度特性、相位特性。

二. 实验原理

1.拉普拉斯变换和反变换的符号运算

在MATLAB符号运算工具箱中,提供了拉普拉斯正变换和反变换的函数。 正变换的调用格式为

F = laplace(f)

其中f为时间函数的符号表达式,F为拉普拉斯变换式,也是符号表达式。

反变换的调用格式为

f = ilaplace(F)

其中F为拉普拉斯变换式的符号表达式,f为时间函数,是符号形式。

例1:求解拉普拉斯变换及反变换。 (1)求f(t)?te?2t?(t)的象函数F(s)。 (2)求F(t)?s?2的原函数f(t)。 2(s?1)(s?3)s解:实现(1)所求运算的m文件如下,

syms t ;

e = sym('Heaviside(t)'); F=laplace(t*exp(-2*t)*e)

运行结果:

21

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

实现(2)所求运算的m文件如下,

syms s

f=ilaplace((s+2)/(((s+1)^2)*(s+3)*s))

运行结果:

2.连续系统的零极点分析

系统函数H(s)通常是一个有理分式,其分子和分母均为多项式。计算H(s)的零极点可以应用MATLAB提供的roots函数,求出分子和分母多项式的根即可。绘制系统的零极点分布图可以根据已求出的零极点,利用plot语句画图,还可以由H(s)直接应用pzmap函数画图。

pzmap函数的调用形式

pzmap(sys)

表示绘制出sys所描述系统的零极点图。LTI系统模型要借助tf函数获得,其调用方式为 sys=tf(b,a)

式中b和a分别表示系统函数H(s)分子多项式和分母多项式的系数向量。

例2:已知系统函数为

s2?2s?0.8H(s)?3

s?2s2?2s?1试用MATLAB画出系统的零极点分布图、冲激响应波形和阶跃响应波形。

解:实现所求运算的m文件如下,

b=[1 -2 0.8]; a=[1 2 2 1]; subplot(1,3,1); pzmap(b,a); t=0:0.02:15; subplot(1,3,2);

22

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

impulse(b,a,t); subplot(1,3,3); step(b,a,t);

运行结果如图1所示。

Pole-Zero Map10.80.60.60.41Impulse Response1Step Response0.80.50.4Imaginary Axis0.2Amplitude0-0.2-0.40.200-0.2-0.6-0.8-1-2-0.40Real Axis2-0.6Amplitude051015-0.5051015Time (sec)Time (sec)

图1 零极点分布图、冲激响应和阶跃响应的波形

3.系统的频率特性分析 (1)频率响应的定义

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

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

Y(j?)?X(j?)x(t)LTI系统h(t))X(j?)H(j?y(t)H(j?)?或者: 图 2 连续时间LTI系统的时域及频域分Y(j?)X(j?)

?H(j? ) Y ( j ? )

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

??

由于H(j?)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是

H(j?)??h(t)e?j?tdt绝对可积(Absolutly integrabel)的话,那么H(j?)一定存在,而且H(j?)通常是复数,因此,也可以表示成复数的不同表达形式。在研究系统的频率响应时,更多的是把它表示成极坐标

23

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

形式:

上式中,

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

H(j?)称为幅度频率响应(Magnitude response),反映信号经过系统之后,信号各

频率分量的幅度发生变化的情况,?(?)称为相位特性(Phase response),反映信号经过系统后,信号各频率分量在相位上发生变化的情况。

H(j?)和?(?)都是频率?的函数。

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

,则其响应信号为

j?(?)j?tj(?t??(?0))y(t)?H(j?0)ej?0t?H(j?0)e0e0?H(j?0)e0

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

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

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

由于

H(j?)加权,

H(j?)和?(?)都是频率?的函数,所以,系统对不同频率的频率分量造成的幅度

和相位上的影响是不同的。

如果系统的相位频率响应特性是线性的,该系统对于所有的频率分量造成的延时时间都是一样的,因而,系统不会对信号产生相位失真(Phase distortion)。反之,若系统的相位频率响应特性不是线性的,则该系统对于不同频率的频率分量造成的延时时间是不同的,因此,当信号经过系统后,必将产生相位失真。 (2)用MATLAB计算系统频率响应

对于因果系统来说,若系统函数H(s)的收敛域包含s平面的虚轴,则其频率响应H(jω)存在,否则不存在频率响应。因此,在分析频率特性之前,一般需要先对系统的稳定性进行分析。MATLAB提供了专门对连续系统频率响应H(jw)进行分析的函数freqs()。该函数可以求出系统频率响应的数值解,并可绘制出系统的幅频及相频响应曲线。

freqs()函数有如下几种调用格式: 1)h=ferqs(b,a,w)

其中,b和a为描述系统函数的两个行向量;w为形如w1:p:w2冒号运算定义的系统频率响应的频率范围;例如在语句h = freqs(b,a,w)之前加上语句:w = 0:2*pi/256:2*pi。向量h则返回在向量w所定义的频率点上,系统频率响应的样值。

2)[h,w]=freqs(b,a,n)

将计算默认频率范围内n个频率点的系统响应的样值,并赋值返回变量h,n个频率点记录在w中。若n默认,则计算200个频率点。

24

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

3)freqs(b,a)

该格式并不返回系统频率响应的样值,而是以对数坐标的方式绘出系统的幅频响应和相频响应曲线。

hm = abs(h):求模数,求得系统的幅度频率响应,返回值存于hm之中。 real(h):求h的实部; imag(h):求h的虚部;

phase = atan(-imag(h)./(real(h)+eps)):求相位频率响应特性,atan()用来计算反正切值;或 phase = angle(h):求相位频率响应特性; (3)举例

如何利用上述函数计算并绘制系统频率响应特性曲线的编程方法。 例3:已知一因果系统的系统函数为

s2?4H(s)?4

s?2s3?3s2?2s?1试分析其频率特性。

解:实现所求运算的m文件如下,

a=[1 2 3 2 1]; b=[1 0 -4]; p=roots(a); pxm=max(real(p)); if pxm>=0 '系统不稳定' else

freqs(b,a) end

运行结果如下:

25

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

101Magnitude1010100-1-210-110Frequency (rad/s)0101200Phase (degrees)1000-100-200-1100110Frequency (rad/s)10

图4 系统的幅频响应和相频响应

或者也可以用以下方法得到: a=[1 2 3 2 1]; b=[1 0 -4]; w = logspace(-1,1); [h,w] = freqs(b,a,w); hm = abs(h); phase = angle(h);

subplot(2,1,1), loglog(w,hm),grid on ; %loglog:x轴和y轴坐标都取对数 subplot(2,1,2), semilogx(w,phai),grid on; %semilogx: x轴坐标取对数

例4:假设给定一个连续时间LTI系统,下面的微分方程描述其输入输出之间的关系

d2y(t)dy(t)?3?2?x(t)

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

程序如下: b = [1]; a = [1 3 2];

[h,w] = freqs(b,a); % 计算频率响应h hm = abs(h); % 计算幅频响应hm phase = angle(h); % 计算相频响应phai

26

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

hr = real(h); % 计算幅频响应的实部 hi = imag(h); % 计算幅频响应的虚部 subplot(221)

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

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

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

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

Magnitude response0.80.60.40.2005Frequency in rad/secPhase response100.60.40.20-0.2510Frequency in rad/secImaginary part of frequency response00Real part of frequency response0-1-2-3-0.1-0.2-0.305Frequency in rad/sec10-0.405Frequency in rad/sec10

图4 系统的幅频响应、相频响应和实部、虚部

三. 实验内容

1.求函数f(t)?e2.求F(s)??2tcos(10?t)?(t)的拉普拉斯变换。

s?3的原函数f(t)。 2s?6s?1027

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

3.已知系统函数为H(s)?1,画出该系统的零极点分布图,并判断系统是32s?2s?2s?1否稳定。若稳定,再求解系统的幅频、相频特性以及幅频的实部和虚部。

四. 实验报告

1. 报告组成部分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部m文件。 3. 简述心得体会。

28

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

实验四 离散LTI系统的时域和z域分析

一. 实验目的

1. 掌握利用MATLAB计算离散系统响应的数值方法,包括冲激响应、全响应等。 2. 掌握离散信号z变换和逆z变换的MATLAB实现方法;

3. 掌握离散系统的系统函数零极点分布与系统频率特性分析的MATLAB实现方法。

二. 实验原理

1.单位序列?(k) 单位序列的定义:

?(k)???1,k?0

0,k?0?下面为绘制?(k-k0)波形图的子程序:

function impseq(k1,k2,k0)

k=k1:k2; %k1,k2为时间序列的起始及终止时间序号 fk=[(k-k0)==0]; %k0为单位序列在时间轴上的位移量 stem(k,fk) axis([k1,k2,0,1.1]) xlabel('k') title('单位序列')

输入命令impseq(-1,5,3),则可获得单位序列?(k-3)的波形图,如图1所示。

单位序列10.80.60.40.20-1012k345

图1 单位序列

29

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

2.单位阶跃序列?(k) 单位阶跃序列的定义:

?(k)???1,k?0

?0,k?0下面为绘制?(k-k0)波形图的MATLAB子程序。

function stepseq(k1,k2,k0)

k=k1:k2; %k1,k2为时间序列的起始及终止时间序号 fk=[(k-k0)>=0]; %k0为阶跃序列在时间轴上的位移量 stem(k,fk) axis([k1,k2,0,1.1]) xlabel('k')

title('单位阶跃序列')

运行如命令stepseq(-1,10,3),则可获得单位阶跃序列?(k-3)的波形图,如图2所示。

单位阶跃序列10.80.60.40.20-101234k5678910

图2 单位阶跃序列

3.离散系统的时域响应

利用MATLAB分析离散系统时域响应的常用函数是: 计算系统单位序列响应的函数: impz(b,a); 计算系统全响应的函数: filter(b,a,x,zi);

其中,a、b分别为系统差分方程左端和右端各阶差分项的系数;x为输入;zi为系统的初始值。注意,zi并不是y(-1),y(-2),其推导如下。

30

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

设输入f(k)=0,二阶差分方程为

yzi(k)?a1yzi(k?1)?a2yzi(k?2)?0

对上式进行z变换,有

Y(z)?a1[z?1Y(z)?y(?1)]?a2[z?2Y(z)?z?1y(?1)?y(?2)]?0

零输入响应:

?[a1y(?1)?a2y(?2)]?a2y(?1)z?1

Yzi(z)?1?a1z?1?a2z?2有zi???[a1y(?1)?a2y(?2)],?a2y(?1)?,可由函数filtic求得,其调用格式为

filtic(b,a,y0,x0)

其中,y0为y(k)的初始值;x0为f(k)的初始值。

若令x为零向量,则利用函数filter()可得零输入响应;若令zi=filtic(b,a,0),代入函数filter()可得到零状态响应。

例1:求差分方程y(k)-1.5y(k-1)+y(k-2)=2f(k-2)的单位序列响应和全响应。已知输入信号

f(k)??(k),初始条件y(-1)=1,y(-2)=2。

解:实现所求运算的m文件如下,

b=[0 0 2]; a=[1 -1.5 1]; k1=0;k2=30;k=k1:k2; N=length(k); f=ones(1,N); zi=filtic(b,a,[1 2]); y=filter(b,a,f,zi); figure(1);

stem(k,y),xlabel('k'),title('全响应') figure(2);

31

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

yim=impz(b,a);

stem(yim),xlabel('k'),title('单位序列响应')

运行结果如图3所示。

全响应1043826140-12-20-3-2-4单位序列响应051015k20253005101520k2530354045

图3 系统全响应和单位序列响应波形

4.离散信号的z变换和逆z变换 序列f(k) (k为整数)的双边z变换定义为

F(z)?k????f(k)z??k

MATLAB的符号数学工具箱(Symbolic Math Tools)提供了计算z正变换的函数ztrans和计算逆z变换的函数iztrans。其调用形式为:

F=ztrans(f) %求符号函数f的z变换,返回函数的自变量为z; F=ztrans(f,w) %求符号函数f的z变换,返回函数的自变量为w;

F=ztrans(f,k,w) %对自变量为k的符号函数f求z变换,返回函数的自变量为w。 f=iztrans(F) %对自变量为z的符号函数F求逆z变换,返回函数的自变量为n; f=iztrans(F,k) %对自变量为z的符号函数F求逆z变换,返回函数的自变量为k; f=iztrans(F,w,k) %对自变量为w的符号函数F求逆z变换,返回函数的自变量为k。 例2:已知序列f(k)?2,求其z变换。 解:在MATLAB命令窗口键入如下命令,

>> syms k

>> f=sym('2^(-k)'); %定义已知序列 >> F=ztrans(f) %求z变换

32

?k信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

运行结果:

例3:已知一离散系统的系统函数H(z)?z,求其单位序列响应h(k)。

z2?3z?2解:在MATLAB命令窗口键入如下命令,

>> syms k z

>> H=sym('z/(z^2+3*z+2)');

>> h=iztrans(H,k) %求逆z变换

运行结果:

5.离散系统的零极点分析

MATLAB的zplane函数用于系统函数的零极点图的绘制,调用方式为:

zplane(b,a)

其中, b、a分别为系统函数分子、分母多项式的系数向量。

在MATLAB中,可以借助函数tf2zp来直接得到系统函数的零点和极点的值,函数tf2zp的作用是将H(z)转换为用零点、极点和增益常数组成的表示式,即:

H(z)?B(z)(z?z1)(z?z2)...(z?zm) ?CA(z)(z?p1)(z?p2)...(z?pn)tf2zp函数的调用形式如下:

[z,p,C]=tf2zp(b,a)

z2?0.7z?0.1例4:已知一离散系统的系统函数H(z)?,试绘制其零极点图。 2z?3z?2解:实现所求运算的m文件如下,

a=[1 3 2]; b=[1 -0.7 0.1];

zplane(b,a) %绘制零极点图

33

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

运行结果如图4所示,图中,零点、极点分别用“○”、“×”表示。

10.5Imaginary Part0-0.5-1-2-1.5-1-0.5Real Part00.51

图4 系统的零极点分布图

6.离散系统的频率响应分析

若离散系统是稳定的,其系统函数的收敛域应包含单位圆,离散系统的频率响应即为单位圆上(z?1)的系统函数,即

H(ej?)?H(ej?)ej?(?)?H(z)z?ej?

j?其中,H(e)为系统的幅频特性,?(?)为系统的相频特性。在MATLAB中,利用freqz( )

函数可方便地求得系统的频率响应。调用格式如下:

freqz(b,a)

该调用方式将绘制系统在0~?范围内的幅频特性和相频特性图,其中,b、a分别为系统函数分子、分母多项式的系数向量。

freqz(b,a,’whole’)

该调用方式将绘制系统在0~2?范围内的幅频特性和相频特性图。

freqz(b,a,N)

该调用方式将绘制系统在0~?范围内N个频率等分点的幅频特性和相频特性图,N的缺省值为512;

freqz(b,a,N,’whole’)

该调用方式将绘制系统在0~2?范围内N个频率等分点的幅频特性和相频特性图。

34

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

此外,还有如下相类似的四种调用形式。其中,返回向量H包含了离散系统频率响应

H(ej?)在0~?(或0~??)范围内各频率点处的值,返回向量w则包含了在0~?(或0~??)

范围内N个(或512个)频率等分点。利用这些调用方式MATLAB并不直接绘制系统的频率特性图,但可由向量H、w用abs、angle、plot等函数来绘制幅频特性和相频特性图。

[H,w]= freqz(b,a) [H,w]=freqz(b,a,’whole’) [H,w]=freqz(b,a,N) [H,w]=freqz(b,a,N,’whole’)

例5:已知一离散系统的系统函数为

H(z)?试分析其频率特性。

z 2z?0.3z?0.2解:实现所求运算的m文件如下,

b=[0 1 0]; a=[1 0.3 0.2]; freqz(b,a,'whole')

运行结果如下:

4Magnitude (dB)20-2-400.20.40.60.811.21.41.6Normalized Frequency (?? rad/sample)1.820Phase (degrees)-100-200-300-40000.20.40.60.811.21.41.6Normalized Frequency (?? rad/sample)1.82

图5 离散系统的幅频响应和相频响应

三. 实验内容

1.已知因果系统的系统函数为

35

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

z2H(z)?2

z?0.75z?0.125利用MATLAB:(1)画出单位序列响应的波形;(2)画出幅频响应和相频响应特性曲线。

2.已知一离散因果系统的系统函数为:

z2?2z?1H(z)?3

z?0.5z2?0.005z?0.3利用MATLAB, (1)画出系统零极点分布图,并判断系统是否稳定(2)画出幅频响应和相频响应特性曲线。

3.已知系统的差分方程为

y(k)?0.4y(k?1)?0.12y(k?2)?f(k)?2f(k?1)

(1)输入f(k)??(k),初始条件y(?1)?1,y(?2)?2,求系统的零输入响应、零状态响应和全响应波形图(选取k=0:15)。

(2)输入f(k)?(0.25)k?(k),重新计算(1)。

四. 实验报告

1. 报告组成部分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部m文件。 3. 简述心得体会。

36

信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编

z2H(z)?2

z?0.75z?0.125利用MATLAB:(1)画出单位序列响应的波形;(2)画出幅频响应和相频响应特性曲线。

2.已知一离散因果系统的系统函数为:

z2?2z?1H(z)?3

z?0.5z2?0.005z?0.3利用MATLAB, (1)画出系统零极点分布图,并判断系统是否稳定(2)画出幅频响应和相频响应特性曲线。

3.已知系统的差分方程为

y(k)?0.4y(k?1)?0.12y(k?2)?f(k)?2f(k?1)

(1)输入f(k)??(k),初始条件y(?1)?1,y(?2)?2,求系统的零输入响应、零状态响应和全响应波形图(选取k=0:15)。

(2)输入f(k)?(0.25)k?(k),重新计算(1)。

四. 实验报告

1. 报告组成部分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部m文件。 3. 简述心得体会。

36

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

Top