信号与系统课程设计09级课件

上传人:无*** 文档编号:196125372 上传时间:2023-03-26 格式:PPT 页数:117 大小:1.11MB
收藏 版权申诉 举报 下载
信号与系统课程设计09级课件_第1页
第1页 / 共117页
信号与系统课程设计09级课件_第2页
第2页 / 共117页
信号与系统课程设计09级课件_第3页
第3页 / 共117页
资源描述:

《信号与系统课程设计09级课件》由会员分享,可在线阅读,更多相关《信号与系统课程设计09级课件(117页珍藏版)》请在装配图网上搜索。

1、信号与系统课程设计电信092011年5月30日n课设介绍课设介绍nMATLAB简介简介nMATLAB基础基础n利用利用MATLAB进行信号与系统分析进行信号与系统分析信号与系统课程设计教学目的n“信号与系统”是一门重要的专业基础课,本课程设计基于MATLAB完成信号与系统综合设计实验,是“信号与系统”课程在实践教学环节上的必要补充。nMATLAB作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。n通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。3信号与系统课程设计基本信息n课设性质:独立实践环节,必修n课设学分:2学分n教学方式:包括采用

2、教师课堂讲授、辅导、实验室 上机、自行设计及答辩各环节。n课设时间:2周,第十五、十六周。上机时间安排见附件一。实验室上机时应带上设计编写好的程序,利用实验室上机时间解决问题。4信号与系统课程设计 基本内容n基本部分,共三道题傅里叶变换分析傅里叶变换分析连续时间系统分析连续时间系统分析离散时间系统分析离散时间系统分析n提高部分,共八道题,每人只做其中的一题。频分复用频分复用音频加解扰音频加解扰抽样定理的工程应用抽样定理的工程应用回音消除回音消除音乐合成音乐合成工频干扰滤除工频干扰滤除音乐回响、混响音乐回响、混响数字式自激振荡器及其应用数字式自激振荡器及其应用5鼓励同学自行鼓励同学自行命题,但要

3、征命题,但要征得指导教师同得指导教师同意。意。信号与系统课程设计 参考书目n谷源涛、应启珩、郑君里著,信号与系统MATLAB综合实验,北京:高等教育出版社,2008年1月。n郑君里、应启珩、杨为理,信号与系统引论,北京:高等教育出版社,2009年3月。n梁虹等,信号与系统分析及Matlab实现,北京:电子工业出版社,2002年2月。6信号与系统课程设计 考核与成绩评定n课设要求:课设要求:基本部分,共三道题,每人都需要全部完成,要求十五周周五做完。提高部分,共八道题,每人按照学号分配(见附件二)只做其中的一题。第十六周周五所提交的课程设计报告如有雷同,一律退回重写。n考核方式:考核方式:平时表

4、现60%,报告及答辩40%。n注意事项:注意事项:答辩时提交纸质报告及课设程序(加注释),可现场演示及编程设计(实际能力考核)。7MATLAB简介nMATLAB是由美国的MathWorks公司推出的应用软件。nMATLAB是Matrix Laboratory(矩阵实验室)的缩写。8MATLAB是什么?n用于科学工程计算的高效率高级语言n语言开发系统n适合多学科、多种工作平台的功能强大的大型软件9MATLAB的主要构成n编程语言:以矩阵和数组矩阵和数组为基本数据单位的编程语言;n工作环境:一系列应用工具提供编写、调试程序的环境;n图形处理:包括绘制图形和创建GUI等。n数学库函数:包含丰富的数学

5、函数和其他复杂功能函数;nAPI:为MATLAB与其它语言编写的程序进行交互提供接口。10MATLAB语言特点(一)n采用统一的数据和变量对象矩阵矩阵,即数据是矩阵元素的数据,变量是矩阵变量;n在生成矩阵对象时,不要求做明确的维数说明,有丰富的矩阵处理功能;n功能强、易学易用,还可根据实际需要扩充功能;n一条语句或一个函数相当于C语言中的一个子程序或一个处理功能;nMATLAB还拥有各种实用的软件,提供了许多通信系统模型,能对系统直接进行仿真;11MATLAB语言特点(二)n用户可以自己编写函数,绘制系统响应曲线;nMATLAB还具有符号运算功能,直接用符号算式进行演算;nMATLAB提供了S

6、IMULINK软件包,该软件包提供了通信和控制系统方块图的图形编程形式,这样利用通信系统方块图的图形对系统直接进行仿真,使得一个很复杂的系统仿真变得相当容易。12nMATLAB采用了面向对象的技术,以矩阵作为基本数据结构和以矩阵运算为基础,集科学计算和图形可视化为一体。nMATLAB是高层次的矩阵/数组语言,具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。nMATLAB还带有许多针对不同应用所开发的工具箱(Toolboxs)。MATLAB语言特点(三)13nMATLAB已成为各种系统仿真、数字信号处理、科学可视化的标准语言。nMATLAB已确认为必须掌握的计算工具,是从理论

7、通向实际的桥梁,是最可信赖的科技资源之一。MATLAB语言重要性14MATLAB产品族可以用来进行如下工作:*数值分析;*数值和符号计算;*工程与科学绘图;*控制系统的设计与仿真;*数字图像处理;*数字信号处理;*通讯系统设计与仿真;*财务与金融工程。15操作桌面的缺省外貌命令窗口(指令窗)命令窗口(指令窗)命令历史窗口(历史指令窗)命令历史窗口(历史指令窗)工作空间窗口(浏览器)工作空间窗口(浏览器)当前路径(当前目录)窗口当前路径(当前目录)窗口16通用操作界面n命令窗口(指令窗)(Command Window)n工作空间窗口(浏览器)(Workspace Browser)n命令历史窗口(

8、历史指令窗)(Command History)n当前路径(当前目录)窗口(Current Directory Browser)n内存数组编辑器(Array Editor)nM文件编辑/调试器(Editor/Debugger)n帮助导航/浏览器(Help Navigator/Browser)n图形窗口(Figure)17命令窗口的常用控制指令18指指 令令含含 义义cd设置当前工作目录设置当前工作目录clf清除图形窗清除图形窗clc清除指令窗中显示内容清除指令窗中显示内容clear清除清除MATLAB工作空间中保存的变量工作空间中保存的变量dir列出指定目录下的文件和子目录清单列出指定目录下的文

9、件和子目录清单edit打开打开M文件编辑器文件编辑器exit关闭关闭/退出退出MATLABquit关闭关闭/退出退出MATLABmd创建目录创建目录more使其后的显示内容分页进行使其后的显示内容分页进行type显示指定显示指定M文件的内容文件的内容which指出其后文件所在的目录指出其后文件所在的目录指令行中的标点符号名名 称称标标 点点作作 用用空格空格(为机器辨认)用作数组元素分隔符号(为机器辨认)用作数组元素分隔符号逗号逗号,用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号之间的分

10、隔符;用作数组元素分隔符号黑点黑点.用作数值表示中的小数点用作数值表示中的小数点分号分号;用作不显示计算结果指令的用作不显示计算结果指令的“结尾结尾”标志;用作不显示计算结果指令标志;用作不显示计算结果指令与其后指令的分隔;用作数组的行间分隔符;与其后指令的分隔;用作数组的行间分隔符;冒号冒号:用以生成一维数组;用作单下标援引时,表示全部元素构成的长列;用以生成一维数组;用作单下标援引时,表示全部元素构成的长列;用作多下标援引时,表示那维上的全部用作多下标援引时,表示那维上的全部注释号注释号%由它由它“启首启首”后的所有物理行部分被看作非执行的注释后的所有物理行部分被看作非执行的注释单引号对单

11、引号对 字符串记述符字符串记述符圆括号圆括号()在数组援引时用;函数指令输入宗量列表时用在数组援引时用;函数指令输入宗量列表时用方括号方括号 输入数组时用;函数指令输出宗量列表时用输入数组时用;函数指令输出宗量列表时用花括号花括号 元胞数组记述符元胞数组记述符下连符下连符_(为使人易读)用作一个变量、函数或文件名中的连字符(为使人易读)用作一个变量、函数或文件名中的连字符续行号续行号.由由4个以上连续黑点构成。它把其下的物理行看作该行的个以上连续黑点构成。它把其下的物理行看作该行的“逻辑逻辑”继续,继续,以构成一个以构成一个“较长较长”的完整指令的完整指令“At”号号放在函数名前,形成函数句柄

12、;放在目录名前,形成用户对象类目录放在函数名前,形成函数句柄;放在目录名前,形成用户对象类目录说明说明为保证指令正确执行,以上符号一定要在英文状态下输入。为保证指令正确执行,以上符号一定要在英文状态下输入。19指令行中的标点符号名名 称称标标 点点作作 用用空格空格(为机器辨认)用作数组元素分隔符号(为机器辨认)用作数组元素分隔符号逗号逗号,用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号之间的分隔符;用作数组元素分隔符号黑点黑点.用作数值表示中的小数点用作数值表示中的小数点分号分号;用作

13、不显示计算结果指令的用作不显示计算结果指令的“结尾结尾”标志;用作不显示计算结果指令标志;用作不显示计算结果指令与其后指令的分隔;用作数组的行间分隔符;与其后指令的分隔;用作数组的行间分隔符;冒号冒号:用以生成一维数组;用作单下标援引时,表示全部元素构成的长列;用以生成一维数组;用作单下标援引时,表示全部元素构成的长列;用作多下标援引时,表示那维上的全部用作多下标援引时,表示那维上的全部注释号注释号%由它由它“启首启首”后的所有物理行部分被看作非执行的注释后的所有物理行部分被看作非执行的注释单引号对单引号对 字符串记述符字符串记述符圆括号圆括号()在数组援引时用;函数指令输入宗量列表时用在数组

14、援引时用;函数指令输入宗量列表时用方括号方括号 输入数组时用;函数指令输出宗量列表时用输入数组时用;函数指令输出宗量列表时用花括号花括号 元胞数组记述符元胞数组记述符下连符下连符_(为使人易读)用作一个变量、函数或文件名中的连字符(为使人易读)用作一个变量、函数或文件名中的连字符续行号续行号.由由4个以上连续黑点构成。它把其下的物理行看作该行的个以上连续黑点构成。它把其下的物理行看作该行的“逻辑逻辑”继续,继续,以构成一个以构成一个“较长较长”的完整指令的完整指令“At”号号放在函数名前,形成函数句柄;放在目录名前,形成用户对象类目录放在函数名前,形成函数句柄;放在目录名前,形成用户对象类目录

15、说明说明为保证指令正确执行,以上符号一定要在英文状态下输入。为保证指令正确执行,以上符号一定要在英文状态下输入。20命令窗口中指令行的编辑n为方便操作,MATLAB不但允许用户在指令窗中对输入指令进行各种编辑和运行,而且允许用户对已经输入的指令进行回调、编辑和重运行。21键键 名名作作 用用前寻式调回已输入过的指令行前寻式调回已输入过的指令行后寻式调回已输入过的指令行后寻式调回已输入过的指令行在当前行中左移光标在当前行中左移光标在当前行中右移光标在当前行中右移光标PageUp前寻式翻阅当前窗中的内容前寻式翻阅当前窗中的内容PageDown后寻式翻阅当前窗中的内容后寻式翻阅当前窗中的内容Home

16、使光标移到当前行的首端使光标移到当前行的首端End使光标移到当前行的尾端使光标移到当前行的尾端Delete删去光标右边的字符删去光标右边的字符Backspace删去光标左边的字符删去光标左边的字符Esc清除当前行的全部内容清除当前行的全部内容Workspace Browser工作空间窗口简介列出数据的变量信息,包括变量名、变量数组大小(尺寸)、变量字节大小和变量类型。基本工作空间或简称为工作空间(Workspace)n MATLAB在进行运算时,将变量存储在内存中,这些存储变量的内存空间称为基本工作空间,简称工作空间。暂时(临时)工作空间:n每当MATLAB在调用执行某一函数时,即进入该函数的

17、暂时工作空间(可视为基本工作空间的下层空间),函数在此空间进行运算,而不影响到基本空间内的变量,当函数执行结束后,MATLAB会同时删除函数的暂时工作空间,并回到基本空间。22内存变量查阅、删除的指令操作法在指令窗中运用who,whos查阅MATLAB内存变量。nwho命令:查看现存于基本空间的变量nwhos命令:详细查看现存于基本空间的变量在指令窗中运用clear指令可以删除内存(工作空间内)的某一或所有变量n如:clear A,clearall23M脚本文件编写初步nM脚本文件该文件中的指令形式和前后位置,与解决同一个问题时在命令窗中输入的那组指令没有任何区别。MATLAB在运行这个脚本时

18、,只是简单地从文件中读取一条条指令,送到MATLAB中去执行。与在指令窗中直接运行命令一样,脚本文件运行产生的变量都驻留在MATLAB基本工作空间中。文件扩展名是“.m”。24M 文 件 调 试 nM语言文件的编辑器meditor不仅仅是一个文件编辑器,同时还是一个可视化的调试开发环境。在M文件编辑器中可以对M脚本文件、函数文件进行调试,以排查程序的错误。M文件的调试不仅可以在文件编辑器中进行,而且还可以在命令行中结合具体的命令进行,但是过程相对麻烦一些,所以重点讲述在M文件编辑器中进行可视化调试的过程。n一般地来说,应用程序的错误有两类,一类是语法错误,另外一类是运行时的错误。其中,语法错误

19、包括了词法或者文法的错误,例如函数名称的拼写错误等。而运行时的错误是指那些程序运行过程中得到的结果不是用户需要的情况。但是,由于M文件是一种解释型语言,语法错误和运行时的错误都只有在运行过程中才能发现,所以程序的调试往往是在程序无法得到正确结果时进行程序修正的惟一手段。25 M语言的断点(Breakpoints)为了能够有效地处理各种情况,M语言的断点类型除了类似C语言的用户定义的断点外,还有几种自动断点,分别为*Stop if Error。*Stop if Warning。*Stop if NaN or Inf。*Stop if All Errors。这些自动断点可以在程序中设置,当程序运行

20、过程中发生了错误或者警告,则程序运行中断,进入调试状态。26M文件编辑器的Breakpoints菜单 27调试程序的按钮 28小 结nMATLAB提供了一种高级编程语言M语言,这种语言的语法结构与C语言非常类似,任何熟悉C语言的用户学习使用M语言都不会有任何障碍。n尽管M语言是一种解释性的编程语言,但是随着MATLAB版本的不断升级,以及充分利用MATLAB提供的各种编程技巧,能够有效提高M语言应用程序的执行效率,使M语言成为了工程领域中最适合进行算法开发验证的编程语言。29MATLAB30(1)窗口命令方式(2)运行以.m 为扩展名磁盘文件31%用plot函数画一个方波t=-1 0 0 1

21、1 3;x=0 0 1 1 0 0;plot(t,x);xlabel(t);ylabel(x(t);axis(-1 3 0 2);直接在命令窗口输入以上命令建一个名字为my_file.m的文件,然后在命令窗口输入文件名及回车。32命令窗口输入:help+函数名例如 help plot33u不需要变量的类型说明u变量名的第一个字符必须是字母u变量名长度:不超过31个字符u大写和小写的字母视为不同的字符 例如:num_students=25uMATLAB默认的预定义变量34MATLAB默认的预定义变量n每当MATLAB启动时,预定义变量(Predefined variable)就被产生。35建议:

22、不要对预定义变量名重新赋值,以免产生混淆。建议:不要对预定义变量名重新赋值,以免产生混淆。预定义预定义变量变量含义含义预定义预定义变量变量含义含义ans计算结果的缺省变量名计算结果的缺省变量名NaN或或nan不是一个数不是一个数(Not a Number),如如0/0,/eps机器零阀值机器零阀值nargin函数输入宗量数目函数输入宗量数目Inf或或inf无穷大,如无穷大,如1/0nargout函数输入宗量数目函数输入宗量数目i或或j虚单元虚单元i=jrealmax最大正实数最大正实数pi圆周率圆周率realmin最小正实数最小正实数MATLAB默认的预定义变量n每当MATLAB启动时,预定义

23、变量(Predefined variable)就被产生。36建议:不要对预定义变量名重新赋值,以免产生混淆。建议:不要对预定义变量名重新赋值,以免产生混淆。预定义预定义变量变量含义含义预定义预定义变量变量含义含义ans计算结果的缺省变量名计算结果的缺省变量名NaN或或nan不是一个数不是一个数(Not a Number),如如0/0,/eps机器零阀值机器零阀值nargin函数输入宗量数目函数输入宗量数目Inf或或inf无穷大,如无穷大,如1/0nargout函数输入宗量数目函数输入宗量数目i或或j虚单元虚单元i=jrealmax最大正实数最大正实数pi圆周率圆周率realmin最小正实数最小

24、正实数u MATLAB用常规的十进制表示数值u 用i或j作为后缀来表示复数的虚部 例 1.235e5表示1.235105,x=2+3jabs(x)求复数x的模angle(x)求复数x的相角(弧度)real(x)求复数x的实部imag(x)求复数x的虚部conj(x)求复数x的共轭37u+加u-减u*乘u/除u 乘方u 矩阵的复共轭转置38u A&B逻辑与(and)u A|B逻辑或(or)u A 逻辑非(not)值为0时表示逻辑假(F),其它任何非零值表示逻辑真。39u A B 大于uA=B 大于等于uA=B 等于uA=B不等于40u表达式 1:10 表示产生一个行向量,它的值为 1 2 3 4

25、 5 6 7 8 9 10u表达式 10:-2:1 表示产生一个递减的行向量,它的值为 10 8 6 4 2 41用冒号:产生数组例 x=2:5 产生一个数组,它的值为x(1)=2,x(2)=3,x(3)=4,x(4)=5例 x=linspace(0,2,11)将区间0,2均匀抽样11点作为数组x。给2维数组赋值时,用分号表示一行的结束。如:z=1 2;3 4。用linspace产生数组42MATLAB 提供了一些产生基本矩阵的函数 zeros 产生矩阵元素全为0的矩阵 ones 产生矩阵元素全为1的矩阵 rand 产生(0,1)均匀分布随机数矩阵 randn 产生正态分布随机数矩阵43siz

26、e(A)返回值数组A的行数和列数(二维)。length(B)确定数组B的元素个数(一维)。4445例1 编一个绘制图示波形的函数。function y=tri(t)y=abs(t)eps s=s+1/(n*n);n=n+1;end+222312111s例3 计算 的值,且误差小于10-6。fprintf(s=%.5fn,s)解:48t=linspace(0,4*pi,512);plot(t,sin(t),t,cos(t),-.);title(my figure);xlabel(t);legend(sin(t),cos(t);4950k=0:39;stem(k,cos(0.9*pi*k);tit

27、le(cos(0.9pik);510510152025303540-1-0.8-0.6-0.4-0.200.20.40.60.81c os(0.9k)cos(0.9k)波形波形52n信号的信号的MATLAB表示表示n利用利用MATLAB进行系统的时域分析进行系统的时域分析n利用利用MATLAB进行信号的频域分析进行信号的频域分析n利用利用MATLAB进行系统的频域特性进行系统的频域特性n利用利用MATLAB进行连续系统的进行连续系统的复频复频域分析域分析n利用利用MATLAB进行离散系统的进行离散系统的复频复频域分析域分析53指数信号Aeat、指数序列ak、抽样函数Sa(t)、正弦型信号、矩形

28、脉冲信号、三角脉冲信号尺度变换、翻转、时移、尺度变换、翻转、时移、相加、相乘、相加、相乘、差分与求和、微分与积分差分与求和、微分与积分54指数信号Aeat y=A*exp(a*t);指数序列ak幂运算a.k实现正弦型信号内部函数cos()和sin()抽样函数Sa(t)sinc(t)矩形脉冲信号 y=rectpuls(t,width)三角波脉冲信号y=tripuls(t,width,skew)55%decaying exponentialt=0:001:10;A=1;a=-0.4;ft=A*exp(a*t);plot(t,ft)01234567891000.10.20.30.40.50.60.7

29、0.80.91t=0:0.1:10;A=1;a=-0.4;ft=A*exp(a*t);stem(t,ft)01234567891000.10.20.30.40.50.60.70.80.9156%rectpulst=0:0.001:4;T=1;ft=rectpuls(t-2*T,T);plot(t,ft)axis(0,4,-0.5,1.5)00.511.522.533.54-0.500.511.557-3-2-1012300.10.20.30.40.50.60.70.80.91-3-2-1012300.10.20.30.40.50.60.70.80.9158-50-40-30-20-100102

30、030405000.10.20.30.40.50.60.70.80.9159-50-40-30-20-100102030405000.10.20.30.40.50.60.70.80.916061例1已知三角波x(t),用MATLAB画出的x(2t)和x(2-2t)波形。-3-2-1012300.10.20.30.40.50.60.70.80.91解:62相加相加用算术运算符用算术运算符“+”实现实现相乘相乘用数组运算符用数组运算符“.*”实现实现例2画信号Aeatcos(w0t+f)的波形。解:t=0:0.001:8;A=1;a=-0.4;w0=2*pi;phi=0;ft1=A*exp(a*t

31、).*sin(w0*t+phi);plot(t,ft1)012345678-0.8-0.6-0.4-0.200.20.40.60.8163643已知三角波x(t),画出其微分与积分的波形。解:%differentiation h=0.001;t=-3:h:3;y1=diff(f2_2(t)*1/h;plot(t(1:length(t)-1),y1)%integrationt=-3:0.1:3;f2=(t)tripuls(t),4,0.5);for x=1:length(t)y2(x)=quad(f2,-3,t(x);endplot(t,y2)65三角波x(t)微分与积分的波形-3-2-1012

32、300.10.20.30.40.50.60.70.80.916667t 表示计算系统响应的抽样点向量;)()()()()()()()(01230123txbtxbtxbtxbtyatyatyatya+a=a3,a2,a1,a0;b=b3,b2,b1,b0;sys=tf(b,a)y=lsim(sys,x,t)sys=tf(b,a)b和a分别为微分方程右端和左端各项的系数向量。x 是系统输入信号向量;sys 是LTI系统模型,借助tf函数获得68 连续时间系统冲激响应可用impulse函数直接求出,其调用形式为y=impulse(sys,t)连续时间系统阶跃响应可用step函数直接求出,其调用形式

33、为y=step(sys,t)t 表示计算系统响应的抽样点向量;sys 是LTI系统模型。69b,a 分别是差分方程左、右端的系数向量;00jkxbikyajmjini-b=b0,b1,b2,bM;a=a0,a1,a2,aN;可用MATLAB表示为y=filter(b,a,x)x 表示输入序列;y 表示输出序列。70b,a 分别是差分方程左、右端的系数向量;k 表示输出序列的取值范围;h 就是单位脉冲响应。h=impz(b,a,k)71例如(s3+2s+3)(s2+3s+2)可用下面MATLAB语句求出。a=1,0,2,3;b=1,3,2;c=conv(a,b)c=conv(a,b)式中a,b为

34、待卷积两序列的向量表示,c是卷积结果。conv函数也可用于计算两个多项式的积72解:%program3_1微分方程求解ts=0;te=5;dt=0.01;sys=tf(10,1 2 100);t=ts:dt:te;x=sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel(Time(sec)ylabel(y(t)012345-0.2-0.100.10.2Time(sec)y(t)73解:%program3_2连续时间系统的冲激响应ts=0;te=5;dt=0.01;sys=tf(10,1 2 100);t=ts:dt:te;y=impulse(sys,t);p

35、lot(t,y);xlabel(Time(sec)ylabel(h(t)012345-1-0.500.51Time(sec)h(t)74R=51;d=rand(1,R)-0.5;k=0:R-1;s=2*k.*(0.9.k);x=s+d;figure(1);plot(k,d,r-.,k,s,b-,k,x,g-);M=5;b=ones(M,1)/M;a=1;y=filter(b,a,x);figure(2);plot(k,s,b-,k,y,r-);110nkxMkyMn-解:75例3 分析噪声干扰的信号xk=sk+dk通过M点滑动平均系统的响应,其中sk=(2k)0.9k是原始信号,dk是噪声。0

36、 10 20 30 40 50-2 0 2 4 6 8 Time index k dk sk xk 01020304050-202468Time index kskyk噪声干扰信号xk=sk+dk通过M点滑动平均系统的响应如图。76110nkxMkyMn-%program 3_4 离散系统的单位脉冲响应k=0:10;a=1 3 2;b=10;h=impz(b,a,k);stem(k,h)012345678910-2000-10000100020003000单位脉冲响应解:77例5 计算xk*yk并画出卷积结果,已知xk=1,2,3,4;k=0,1,2,3,yk=1,1,1,1,1;k=0,1,

37、2,3,4。%program 3_5x=1,2,3,4;y=1,1,1,1,1;z=conv(x,y);N=length(z);stem(0:N-1,z);012345670246810解:7879 频谱Cn一般为复数,可分别利用abs和angle函数获得其幅度频谱和相位频谱。其调用格式分别为x=abs(Cn)y=angle(Cn)周期信号的频谱Cn 为离散信号,可以用stem画出其频谱图。80例1 试用MATLAB画出图示周期三角波信号的频谱。解:解:周期信号的频谱为-000 )2sin(j422nnnnCn81N=8;n1=-N:-1;%计算n=-N到-1的Fourier系数c1=-4*j

38、*sin(n1*pi/2)/pi2./n1.2;c0=0;%计算n=0时的Fourier系数n2=1:N;%计算n=1到N的Fourier系数c2=-4*j*sin(n2*pi/2)/pi2./n2.2;cn=c1 c0 c2;n=-N:N;subplot(2,1,1);stem(n,abs(cn);ylabel(Cn的幅度);subplot(2,1,2);stem(n,angle(cn);ylabel(Cn的相位);xlabel(omega/omega0);82-8-6-4-202468-2-1012Cn的相位w/w 0-8-6-4-20246800.10.20.30.40.5Cn的幅度83

39、例2 求周期矩形脉冲的Fourier级数表示式,并用MATLAB求出由前N项Fourier级数系数得出的信号近似波形。)2/(Sa0wnTACntnnTATACtxnntnnT001jcos)2(Sa2e)(0www-+取A=1,T=2,=1,w0=)cos()2(Sa5.0)(1tnntxnT+解:84t=-2:0.001:2;N=input(Number of harmonics=);c0=0.5;xN=c0*ones(1,length(t);%dc componentfor n=0:1:N xN=xN+cos(pi*n*t)*sinc(n/2);%正弦分量为零endplot(t,xN);

40、85-2-1.5-1-0.500.511.52-0.200.20.40.60.811.2-2-1.5-1-0.500.511.52-0.200.20.40.60.811.2-2-1.5-1-0.500.511.52-0.200.20.40.60.811.2-2-1.5-1-0.500.511.52-0.200.20.40.60.811.2N=5N=15N=50N=50086数值函数积分quad可用来计算非周期信号频谱F 是一个字符串,它表示被积函数的文件名;a,b 分别表示定积分的下限和上限。y=quad(F,a,b)87例3 试用数值方法近似计算三角波信号的频谱。)()1()(21tpttx

41、-解解:图示三角波可表示为三角波信号频谱的理论值为88例3试用数值方法近似计算三角波信号的频谱。w=linspace(-6*pi,6*pi,512);N=length(w);X=zeros(1,N);sf=(t,w)(t=-1&t=1).*(1-abs(t).*exp(-j*w*t);for k=1:N X(k)=quad(sf,-1,1,w(k);endfigure(1);plot(w,real(X);title()xlabel(omega);ylabel(X(jomega);figure(2);plot(w,real(X)-sinc(w/2/pi).2);xlabel(omega);tit

42、le(计算误差);89例3试用数值方法近似计算三角波信号的频谱。运行结果运行结果-20-15-10-505101520-20246x 10-9w计算误差90函数fft可用来计算离散周期信号频谱x 是离散周期信号0N-1 一个周期的序列值;Xm=fft(x)Xm 是离散周期信号频谱在0N-1 的值。函数fft还可用来计算离散非周期信号频谱、连续周期信号和连续非周期信号的频谱。91例4计算下图所示周期矩形序列的频谱。xkk0M-M%Program 4_4 计算离散周期矩形序列的频谱N=32;M=4;%定义周期矩形序列的参数x=ones(1,M+1)zeros(1,N-2*M-1)ones(1,M)

43、;%产生周期矩形序列X=fft(x);%计算DFS系数m=0:N-1;stem(m,real(X);%画出频谱X的实部title(Xm的实部);xlabel(m)figurestem(m,imag(X);%画出频谱X的虚部title(Xm的虚部);xlabel(m)解:92例4计算下图所示周期矩形序列的频谱9394)1()j)(2()j)(1()1()j)(2()j)(1()()()j(11+-NaaaMbbbABHNNMMwwwwwwwb 分子多项式系数;a 分母多项式系数;w 需计算的H(jw)的抽样点。(数组w中少需包含两个w的抽样点)。计算频响的MATLAB函数H=freqs(b,a,

44、w)95例1三阶归一化的Butterworth低通滤波器的系统函数为w=linspace(0,5,200);b=1;a=1 2 2 1;h=freqs(b,a,w);subplot(2,1,1);plot(w,abs(h);subplot(2,1,2);plot(w,angle(h);1)j(2)j(2)j(1)j(23+wwwwH 试画出|H(jw)|和(w)。解:96三阶Butterworth低通滤波器的幅度响应和相位响应97)(cosj11)2(Sa21001www+tnRCnnnCRCHwwwj/1j/1)j(+RCwj11+tnnnnHCty0j0)e(j)(ww-2Sa0wnTAC

45、n2Sa21n解:98%p5_2 Periodic signal pass LTI systemT=4;w0=2*pi/T;RC=0.1;t=-6:0.01:6;N=51;c0=0.5;xN=c0*ones(1,length(t);%dc for n=1:2:N%even harmonics are zero H=abs(1/(1+j*RC*w0*n);phi=angle(1/(1+j*RC*w0*n);xN=xN+H*cos(w0*n*t+phi)*sinc(n*0.5);endplot(t,xN);xlabel(time RC=,num2str(RC);grid;set(gca,xtick

46、,-5 -3 -1 0 1 3 5);99-5-3-113500.51RC=1t(秒)y(t)-5-3-113500.51RC=0.1y(t)t(秒)100NNMMaaabbbABH-+jj10jj10jjjeeee)e()e()e(计算频率响应的MATLAB函数b 分子的系数;a 分母系数;w 抽样的频率点(至少2点),w在02之间。h=freqz(b,a,w)101b=1;a1=1-0.9;a2=1 0.9;w=linspace(0,2*pi,512);h1=freqz(b,a1,w);h2=freqz(b,a2,w);plot(w/pi,abs(h1),w/pi,abs(h2),:);l

47、egend(alpha=0.9,alpha=-0.9);wwjje11)e(-H解:102jje11)e(-H103二104r,p,k=residue(num,den)num,den分别为X(s)分子多项式和分母多项式的系数向量。r为部分分式的系数;p为极点;k为多项式的系数。若为真分式,则k为空。105计算多项式根roots的函数可用于计算H(s)的零极点。r=roots(D)%计算多项式D(s)的根 H(s)零极点分布图可用pzmap函数画出,调用形式为pzmap(sys)表示画出sys所描述系统的零极点图。106用部分分式展开法求X(s)的反变换。%program6_1format ra

48、t%将结果数据以分数的形式输出num=1 2;den=1 4 3 0;r,p=residue(num,den)sssssX342)(23+r=-1/6 ,-1/2 ,2/3 p=-3 ,-1 ,036/115.03/2)(+-+-+ssssX)(e61)(e21)(32)()(31tututusXLtxtt-解:107用部分分式展开法求X(s)的反变换。%program6_2num=2 3 0 5;den=conv(1 1,1 1 2);%将因子相乘的形式转换成多项式的形式r,p,k=residue(num,den)magr=abs(r)%求r的模angr=angle(r)%求r的相角)2(1

49、532)(223+ssssssX)(解:108用部分分式展开法求X(s)的反变换。)2(1532)(223+ssssssX)(nr=-2.0000+1.1339i,-2.0000-1.1339i,3.0000np=-0.5000+1.3229i,-0.5000-1.3229i,-1.0000nk=2nmagr=2.299,2.2991,3.0000 nangr=2.6258,-2.6258,0 3229.1 j5.0e2991.23229.1 j5.0e2991.2132)(6258.2j6258.2j-+-ssssX)()6258.23229.1cos(e1495.1)(e3)(2)(5.0

50、tuttuttxtt+-109试画出系统 的零极点分布图,求其单位冲激响应h(t)和频率响应H(jw),并判断系统是否稳定。num=1;den=1 2 2 1;sys=tf(num,den);poles=roots(den)figure(1);pzmap(sys);t=0:0.02:10;h=impulse(num,den,t);figure(2);plot(t,h)title(Impulse Respone)H,w=freqs(num,den);figure(3);plot(w,abs(H)xlabel(omega)title(Magnitude Respone)1221)(23+ssssH

51、解:110运行结果运行结果-1.4-1.2-1-0.8-0.6-0.4-0.20-1-0.8-0.6-0.4-0.200.20.40.60.81Real AxisImag AxisPole-zero map012345678910-0.0500.050.10.150.20.250.30.350.40.45Impulse Responetime(s)01234567891000.10.20.30.40.50.60.70.80.91FrequencywMagnitude Respone111二、112r,p,k=residuez(num,den)num,den分别为X(z)分子多项式和分母多项式的

52、系数向量。r为部分分式的系数;p为极点;k为多项式的系数。若为真分式,则k为空。113利用tf2zp函数计算H(z)的零极点,调用形式为z,p,k=tf2zp(b,a)H(z)零极点分布图可用zplane函数画出,调用形式为zplane(b,a)b和a分别为H(z)分子多项式和分母多项式的系数向量。返回值z为零点、p为极点、k为增益常数。114将X(z)用部分分式展开。%program7_1num=18;den=18 3-4-1;r,p,k=residuez(num,den)运行结果为r=0.3600,0.2400,0.4000 p=0.5000,-0.3333,-0.3333 k=故X(z)

53、可展开为321431818)(-+zzzzX2111)3333.01(4.03333.0124.05.0136.0)(-+-zzzzX解:115试画出系统 的零极点分布图,求其单位冲激响应hk和频率响应H(ej)。%program 7_2b=1 2 1;a=1-0.5-0.005 0.3;figure(1);zplane(b,a);num=0 1 2 1;den=1-0.5-0.005 0.3;h=impz(num,den);figure(2);stem(h)xlabel(k)title(Impulse Respone)H,w=freqz(num,den);figure(3);plot(w/pi,abs(H)xlabel(Frequency omega)title(Magnitude Respone)3213213.0005.05.012)(-+-+zzzzzzzH解:116运行结果运行结果2Real part-1-0.500.51Imaginary part-1-0.500.5105101520253035-1-0.500.511.522.5kImpulse Respone00.10.20.30.40.50.60.70.80.91012345678FrequencyMagnitude Respone117

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!