Matlab数字信号处理基础.ppt

上传人:赵** 文档编号:65779926 上传时间:2022-12-08 格式:PPT 页数:52 大小:1.77MB
返回 下载 相关 举报
Matlab数字信号处理基础.ppt_第1页
第1页 / 共52页
Matlab数字信号处理基础.ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《Matlab数字信号处理基础.ppt》由会员分享,可在线阅读,更多相关《Matlab数字信号处理基础.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第2章 Matlab数字信号处理基础1主 要 内 容 MATLAB7.0MATLAB7.0语言特点及工作环境语言特点及工作环境 M M文件介绍文件介绍 MATLABMATLAB基本控制语句基本控制语句 数字信号处理常用数字信号处理常用MATLABMATLAB函数函数22.1 MATLAB 7.02.1 MATLAB 7.0语言特点语言特点1)1)开发环境开发环境 新的桌面提供多文档管理、个人定制桌面以及常用新的桌面提供多文档管理、个人定制桌面以及常用 命令定义快捷键;命令定义快捷键;功能更强的数组编辑器和工作空间浏览器,用户可功能更强的数组编辑器和工作空间浏览器,用户可 以更方便地浏览、编辑

2、和图形化变量;以更方便地浏览、编辑和图形化变量;M_LintM_Lint代码分析器可以方便用户修改代码,不仅提代码分析器可以方便用户修改代码,不仅提 高了程序性能,而且增强了可维护性;高了程序性能,而且增强了可维护性;改进后的编辑器可以方便用户选择执行改进后的编辑器可以方便用户选择执行MM文件中的部文件中的部 分内容。分内容。MATLAB 7.0语言简介语言简介32)2)编程编程 支持函数嵌套;支持函数嵌套;可以用匿名函数定义单行函数;可以用匿名函数定义单行函数;3)3)计算计算 整数算法,可以计算和处理更大的整型数据集;整数算法,可以计算和处理更大的整型数据集;单精度算法、线性代数、单精度算

3、法、线性代数、FFTFFT和滤波,方便用户处理更和滤波,方便用户处理更 大的单精度数据;大的单精度数据;提供提供LinsolveLinsolve函数,方便用户更快地求解线性函数;函数,方便用户更快地求解线性函数;ODEODE求解泛函数,操作隐式差分等式和求解多点式边界求解泛函数,操作隐式差分等式和求解多点式边界 值问题。值问题。44)4)图形图形 使用新的绘图界面,用户不必通过使用新的绘图界面,用户不必通过MM函数代码就可直接在函数代码就可直接在 界面窗口中交互式地创建编辑图形;界面窗口中交互式地创建编辑图形;用户可直接从图形窗口中生成用户可直接从图形窗口中生成MM代码文件,方便多次重复代码文

4、件,方便多次重复 绘图;绘图;更强大的图形标注和处理功能,包括对象对齐、连接注更强大的图形标注和处理功能,包括对象对齐、连接注 释等;释等;数据探测工具可使用户在图形窗口中方便地查询图形上数据探测工具可使用户在图形窗口中方便地查询图形上 各点的坐标值;各点的坐标值;可方便地对图形对象进行旋转、平移和缩放等变换;可方便地对图形对象进行旋转、平移和缩放等变换;功能更强大的图形句柄。功能更强大的图形句柄。55)5)图形用户界面图形用户界面 用户可使用面板和分组按钮对界面控件进行分组;用户可使用面板和分组按钮对界面控件进行分组;用户可以直接在用户可以直接在GUIDEGUIDE中访问中访问ActiveX

5、ActiveX控件。控件。6)6)文件输入文件输入/输出和外部应用程序接口输出和外部应用程序接口 新的文件输入新的文件输入/输出函数支持读取更大的文本文件,可以输出函数支持读取更大的文本文件,可以 向向ExcelExcel和和HDF5HDF5文件中写入内容;文件中写入内容;支持压缩格式的支持压缩格式的MATMAT文件,用户可以使用较少的磁盘空间文件,用户可以使用较少的磁盘空间 快速保存大量的数据;快速保存大量的数据;在不必重启在不必重启MATLABMATLAB前提下,可使用前提下,可使用JavaaddpathJavaaddpath函数动函数动 态添加、删除或重载态添加、删除或重载JavaJav

6、a类;类;6 支持支持COMCOM用户接口、服务器事件和用户接口、服务器事件和Visual BasicVisual Basic脚本;脚本;可基于简单的对象访问协议(可基于简单的对象访问协议(SOAPSOAP)访问网页服务器;)访问网页服务器;提供提供FTPFTP对象用于连接对象用于连接FTPFTP服务器,实现对异地文件的处理;服务器,实现对异地文件的处理;支持支持UnicodeUnicode国际字符集标准,国际字符集标准,MATMAT文件中的字符数据可以文件中的字符数据可以 在不同语言之间共享。在不同语言之间共享。2.2 MATLAB 7.02.2 MATLAB 7.0的工作环境的工作环境 M

7、ATLAB7.0MATLAB7.0的工作界面主要由菜单、工具栏、当前工作目的工作界面主要由菜单、工具栏、当前工作目录窗口、工作空间管理窗口、历史命令窗口和命令窗口组成,录窗口、工作空间管理窗口、历史命令窗口和命令窗口组成,如图如图1-11-1所示。点击左下角所示。点击左下角startstart,弹出快捷菜单,其中有工具弹出快捷菜单,其中有工具箱、帮助和演示等多个选项,可选择需要的菜单进入相关界面。箱、帮助和演示等多个选项,可选择需要的菜单进入相关界面。7MATLABMATLAB桌面桌面81)1)命令窗口命令窗口单击单击MATLABMATLAB桌面命令窗口右上角的桌面命令窗口右上角的【Unloc

8、k Command Unlock Command WindowWindow】按钮按钮,可使命令窗口脱离主窗口而成为一个独立的可使命令窗口脱离主窗口而成为一个独立的窗口窗口,如图所示。如图所示。MATLAB7.0 MATLAB7.0的命令窗口的命令窗口92)2)历史命令窗口历史命令窗口 该窗口主要用于记录所有执行过的命令,在默认设置下,该窗口主要用于记录所有执行过的命令,在默认设置下,该窗口会保留自安装后所有使用过的命令的历史记录,并标该窗口会保留自安装后所有使用过的命令的历史记录,并标明使用时间,用户可以通过用鼠标双击某一历史记录来重新明使用时间,用户可以通过用鼠标双击某一历史记录来重新执行该

9、命令。与命令窗口类似,该窗口也可以成为一个独立执行该命令。与命令窗口类似,该窗口也可以成为一个独立的窗口,如图所示。选中历史命令后,单击鼠标右键,弹出的窗口,如图所示。选中历史命令后,单击鼠标右键,弹出便捷操作菜单,通过上下文菜单,可以进行剪切、删除等操便捷操作菜单,通过上下文菜单,可以进行剪切、删除等操作,也可为选中的表达式或命令创建一个作,也可为选中的表达式或命令创建一个MM文件。文件。103)3)当前工作目录窗口当前工作目录窗口在当前工作目录窗口可显示或改变当前目录在当前工作目录窗口可显示或改变当前目录,如图所示。如图所示。MATLAB7.0MATLAB7.0的当前工作目录窗口的当前工作

10、目录窗口 114)4)工作空间管理窗口工作空间管理窗口工作空间管理窗口显示目前内存中所有的工作空间管理窗口显示目前内存中所有的MATLABMATLAB变量的变变量的变量名、数据结构、字节数以及类型等信息,如图所示。量名、数据结构、字节数以及类型等信息,如图所示。MATLAB7.0MATLAB7.0的工作空间管理窗口的工作空间管理窗口122.3 M2.3 M文件介绍文件介绍MM文件分为脚本文件(文件分为脚本文件(MATLAB scriptsMATLAB scripts)和函数文件)和函数文件(MATLAB functionsMATLAB functions),两者在语法和使用上略有区别。),两者

11、在语法和使用上略有区别。1)M1)M文件编辑器文件编辑器MM文件编辑器提供了一个进行文本编辑和文件编辑器提供了一个进行文本编辑和MM文件调试的图形文件调试的图形用户界面,如图所示。用户界面,如图所示。M M文件编辑器文件编辑器13 新建一个新建一个 M M 文件有以下三种途径:文件有以下三种途径:菜单操作(菜单操作(File File New New ScriptScript)命令操作(命令操作(edit Medit M文件名)文件名)命令按钮(快捷键)命令按钮(快捷键)打开已有的打开已有的 M M 文件有四种途径:文件有四种途径:菜单操作(菜单操作(File File OpenOpen)命令

12、操作(命令操作(edit M edit M 文件名)文件名)命令按钮(快捷键)命令按钮(快捷键)双击双击MM文件名文件名14图所示为图所示为MM文件编辑器新建文件编辑器新建/打开快捷键。打开快捷键。M M文件编辑器新建文件编辑器新建/打开快捷键打开快捷键 15 MATLABMATLAB中许多常用的函数都是函数式中许多常用的函数都是函数式MM文件。函数文件类似一个文件。函数文件类似一个黑箱,对用户而言,可见的只是输入和输出,这有助于程序模块化,适黑箱,对用户而言,可见的只是输入和输出,这有助于程序模块化,适于构建大型程序。由函数执行的命令以及这些命令所创建的中间变量都于构建大型程序。由函数执行的

13、命令以及这些命令所创建的中间变量都是隐含的,除特别声明外,这些中间变量在运算过程中都是局部变量,是隐含的,除特别声明外,这些中间变量在运算过程中都是局部变量,存放在函数本身的工作空间内,不会和存放在函数本身的工作空间内,不会和MATLABMATLAB基本工作空间的变量相基本工作空间的变量相互覆盖。互覆盖。2)2)函数函数函数文件由函数文件由functionfunction语句引导,通常包含如下语句引导,通常包含如下5 5个部分。个部分。函数题头:指函数的定义行,是函数语句的第一行,在该函数题头:指函数的定义行,是函数语句的第一行,在该行中定义函数名、输入变量列表及输出变量列表等。行中定义函数名

14、、输入变量列表及输出变量列表等。HIHI行:指函数帮助文本的第一行,为该函数文件的帮助行:指函数帮助文本的第一行,为该函数文件的帮助主题,当使用主题,当使用lookforlookfor命令时,可以查看到该行信息。命令时,可以查看到该行信息。16 帮助信息:提供了函数的完整的帮助信息,包括帮助信息:提供了函数的完整的帮助信息,包括HIHI之后之后 至第一个可执行的行至第一个可执行的行 或空行为止的所有注释语句。或空行为止的所有注释语句。函数体:指函数代码段,也是函数的主体部分。函数体:指函数代码段,也是函数的主体部分。注释部分:指对函数体中各语句的解释和说明文本,注注释部分:指对函数体中各语句的

15、解释和说明文本,注 释语句是以符号释语句是以符号%引导的。引导的。脚本是若干命令或函数的集合,用于执行特定的功能。在脚本是若干命令或函数的集合,用于执行特定的功能。在MATLABMATLAB命令窗口直接输入此文件的主文件名,命令窗口直接输入此文件的主文件名,MATLABMATLAB可顺序可顺序执行此文件内的所有命令,不需要在其中输入参数,也不需要给出执行此文件内的所有命令,不需要在其中输入参数,也不需要给出输出变量来接收处理结果。脚本的操作对象为输出变量来接收处理结果。脚本的操作对象为MATLABMATLAB工作空间内工作空间内的变量,脚本式的变量,脚本式MM文件运行产生的所有变量都是全局变量

16、,这些变文件运行产生的所有变量都是全局变量,这些变量都驻留在量都驻留在MATLABMATLAB基本工作空间内,通过使用基本工作空间内,通过使用clearclear命令或者关命令或者关闭闭MATLABMATLAB系统可以清除这些变量。系统可以清除这些变量。3)3)脚本脚本17 脚本文件可以理解为简单的脚本文件可以理解为简单的MM文件,脚本文件中的变量文件,脚本文件中的变量都是全局变量。函数文件是在脚本文件的基础之上多添加了都是全局变量。函数文件是在脚本文件的基础之上多添加了函数定义行,其代码组织结构和调用方式与对应的脚本文件函数定义行,其代码组织结构和调用方式与对应的脚本文件截然不同。函数文件是

17、以函数声明行截然不同。函数文件是以函数声明行“functionfunction”作为开始,作为开始,如果没有特别声明,函数文件中的变量都是局部变量。函数如果没有特别声明,函数文件中的变量都是局部变量。函数运行完毕之后,其定义的变量将从工作区间中清除。而脚本运行完毕之后,其定义的变量将从工作区间中清除。而脚本文件只是将一系列相关的代码结合封装,没有输入参数和输文件只是将一系列相关的代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。而多数函数出参数,即不自带参数,也不一定要返回结果。而多数函数文件一般都有输入和输出变量,并返回结果。文件一般都有输入和输出变量,并返回结果。18

18、MATLABMATLAB中的循环语句包括中的循环语句包括forfor循环和循环和whilewhile循环两种。循环两种。1)for 1)for 循环循环 forfor循环语句是流程控制语句中的基础,它以指定的次数循环语句是流程控制语句中的基础,它以指定的次数重复执行循环体内的语句。重复执行循环体内的语句。forfor语句通常由循环体和循环条语句通常由循环体和循环条件组成,循环体指的是重复执行的语句,而循环条件是指控件组成,循环体指的是重复执行的语句,而循环条件是指控制循环语句走向的语句。制循环语句走向的语句。for for 循环语法结构如下:循环语法结构如下:for for 循环变量循环变量

19、=数组数组 循环体;循环体;endend1 1、循环语句、循环语句19MATLAB MATLAB 中的中的for for 循环语句与其它语言中的循环语句与其它语言中的for for 循环语句循环语句相同,循环体的执行次数由数组的列数确定。相同,循环体的执行次数由数组的列数确定。2)while2)while循环循环 whilewhile循环语句与循环语句与forfor循环语句的循环控制机制不同,前者是以条循环语句的循环控制机制不同,前者是以条件是否满足来判断循环是否结束,而后者则是以执行次数是否达到指件是否满足来判断循环是否结束,而后者则是以执行次数是否达到指定值为判断循环是否结束的条件。定值为

20、判断循环是否结束的条件。whilewhile循环语句的一般形式为:循环语句的一般形式为:whilewhile循环判断的语句循环判断的语句 循环体循环体 其中,循环判断语句为某种形式的逻辑判断表达式,当该表达式的值其中,循环判断语句为某种形式的逻辑判断表达式,当该表达式的值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。逻辑表达式的值为真。N2_1.m20 在在whi

21、lewhile循环语句中,必须有可以修改循环控制变量的命令,否则该循循环语句中,必须有可以修改循环控制变量的命令,否则该循环语句将陷入死循环。循环语体中可以有控制退出循环的命令,如环语句将陷入死循环。循环语体中可以有控制退出循环的命令,如breakbreak语句。当循环体运行至该命令时,强制退出当前循环,执行循环后的其他语句。当循环体运行至该命令时,强制退出当前循环,执行循环后的其他语句。与语句。与breakbreak语句对应,语句对应,MATLABMATLAB还提供了还提供了continuecontinue命令,当循环体运命令,当循环体运行至该命令时会忽略其后的循环体操作转而执行下一层次的循

22、环。当循环行至该命令时会忽略其后的循环体操作转而执行下一层次的循环。当循环控制语句为一空矩阵时,将不执行循环体的操作而直接执行其后的其他命控制语句为一空矩阵时,将不执行循环体的操作而直接执行其后的其他命令语句。令语句。2 2、分支语句、分支语句1)if-else-end1)if-else-end语句语句 常用的分支结构分为单分支、双分支和多分支结构。常用的分支结构分为单分支、双分支和多分支结构。例程2.2 编程计算Fiboncci数组中小于10的元素之和21 单分支结构单分支结构if if 条件式条件式 表达式表达式endend 双分支双分支if if 条件式条件式 表达式表达式1 1;els

23、e else 表达式表达式2 2;endend 多分支多分支if if 条件式条件式1 1 表达式表达式1 1;elseifelseif 条件式条件式2 2 表达式表达式2 2;elseelse 表达式表达式k k;endend2)switch-case-otherwise2)switch-case-otherwise语句语句语句结构如下:语句结构如下:switch expressionswitch expression case value1 case value1 statements1;statements1;case value2case value2 statements2;stat

24、ements2;case case valuemvaluem statementsnstatementsn;otherwise otherwisestatements;statements;endend22 expressionexpression是一个标量或者字符串,是一个标量或者字符串,MATLAB MATLAB 首先计算首先计算expressionexpression的值,然后将它依次与各个的值,然后将它依次与各个casecase指令后的检测值进行比较,指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出当比较结果为真时,就执行相应的语句组,然后跳出 switch sw

25、itch 结构。如果结构。如果所有的比较结果都为假,则执行所有的比较结果都为假,则执行otherwiseotherwise后面的语句组,然后跳出后面的语句组,然后跳出switch switch 结构。结构。otherwiseotherwise指令可以不出现。指令可以不出现。与其他的程序设计语言的与其他的程序设计语言的switch-caseswitch-case语句不同的是,在语句不同的是,在MATLABMATLAB语语言中,当其中一个言中,当其中一个casecase语句后的条件为真时,语句后的条件为真时,switch-caseswitch-case语句不对其后语句不对其后的的casecase语

26、句进行判断,即使有多条语句进行判断,即使有多条casecase判断语句为真,也只执行所遇到判断语句为真,也只执行所遇到的第一条为真的语句。的第一条为真的语句。MATLAB基本程序控制语句基本程序控制语句 23常用的波形产生函数如表常用的波形产生函数如表2-12-1所示。所示。表表2-1 2-1 常用波形产生函数常用波形产生函数数字信号处理常用数字信号处理常用MATLAB函数函数1 1、波形产生函数、波形产生函数24 SquareSquare函数:调用方式如下函数:调用方式如下x=x=square(t,dutysquare(t,duty):产生指定周期、峰值为:产生指定周期、峰值为1 1的方波,

27、的方波,dutyduty为占空比为占空比、幅度最大值为、幅度最大值为1 1的方波的方波x=x=square(tsquare(t):产生周期为:产生周期为25【例例2-32-3】用用squaresquare函数产生周期为函数产生周期为1 1,占空比分别为,占空比分别为50%50%和和30%30%的方波。的方波。26x=x=sawtooth(t,widthsawtooth(t,width):参数:参数widthwidth表示一个周期内最大值的表示一个周期内最大值的位置,是该位置横坐标和周期的比值。该函数根据位置,是该位置横坐标和周期的比值。该函数根据widthwidth取取值不同产生不同形状的三角

28、波。值不同产生不同形状的三角波。SawtoothSawtooth函数:调用方式如下函数:调用方式如下、幅度最大值为、幅度最大值为1 1的锯齿波的锯齿波x=x=sawtooth(tsawtooth(t):产生周期为:产生周期为【例例2-42-4】用用sawtoothsawtooth函数产生周期为函数产生周期为1 1的锯齿波和方波。的锯齿波和方波。27 SincSinc函数:调用方式如下函数:调用方式如下【例例2-52-5】用用sincsinc函数产生波形。函数产生波形。x=x=sinc(tsinc(t):产生:产生sincsinc函数波形。函数波形。28 DiricDiric函数:调用方式如下函

29、数:调用方式如下。【例例2-62-6】用用diricdiric函数产生波形。函数产生波形。当当n n为偶数时,为偶数时,函数周期为函数周期为x=x=diric(x,ndiric(x,n):当:当n n为奇数时,函数周期为为奇数时,函数周期为29 RectpulsRectpuls函数:调用方式如下函数:调用方式如下x=x=rectpuls(trectpuls(t):产生非周期、单位高度的矩形波;方波:产生非周期、单位高度的矩形波;方波的中心在的中心在t=0t=0处。处。x=x=rectpuls(t,wrectpuls(t,w):产生宽度为:产生宽度为w w的非周期、单位高度的矩的非周期、单位高度

30、的矩形波。形波。30【例例2-72-7】用用rectpulsrectpuls函数产生长度为函数产生长度为1s1s,宽度为,宽度为0.7s0.7s的的非周期矩形波。非周期矩形波。31 TripulsTripuls函数:调用方式如下函数:调用方式如下x=x=tripuls(ttripuls(t):产生非周期单位高度的三角波,三角波:产生非周期单位高度的三角波,三角波的中心位置在的中心位置在t=0t=0处;处;x=x=tripuls(t,width,stripuls(t,width,s):产生倾斜度为:产生倾斜度为s s的三角波。的三角波。x=x=tripuls(t,widthtripuls(t,w

31、idth):产生:产生widthwidth宽度的三角波;宽度的三角波;32【例例2-82-8】用用tripulstripuls函数产生长度为函数产生长度为1s1s,宽度为,宽度为0.6s0.6s,倾,倾斜度分别为斜度分别为0 0和和0.90.9的非周期三角波。的非周期三角波。33 PulstranPulstran 函数:调用方式如下函数:调用方式如下x=x=pulstran(t,d,pulstran(t,d,funcfunc):其中参数:其中参数funcfunc取值为取值为gauspulsgauspuls(高斯调制正弦信号高斯调制正弦信号);rectpulsrectpuls(非周期方波非周期方

32、波);tripulstripuls(非周(非周期三角波)。该函数产生以期三角波)。该函数产生以d d为采样间隔的为采样间隔的funcfunc指定形状的冲指定形状的冲激串;激串;x=pulstran(t,d,x=pulstran(t,d,funcfunc,p1,p2),p1,p2):将参数:将参数p1p1和和p2p2传递给传递给funcfunc函数;函数;x=x=pulstran(t,d,p,Fspulstran(t,d,p,Fs):向量:向量p p表示原始序列,表示原始序列,FsFs为采样率。为采样率。对原始序列多次延迟相加得到输出序列。对原始序列多次延迟相加得到输出序列。34【例例2-92-

33、9】用用pulstranpulstran函数产生三角波冲激串。函数产生三角波冲激串。35 chirpchirp函数函数chirp(t,f0,t1,f1)chirp(t,f0,t1,f1):产生线性调频余弦信号。:产生线性调频余弦信号。f0f0和和f1f1分别分别是是0 0时刻和时刻和t1t1时刻的瞬时频率。时刻的瞬时频率。chirp(t,f0,t1,f1,method)chirp(t,f0,t1,f1,method):参数参数methodmethod指定不同的扫频指定不同的扫频方式方式,取值方式取值方式三种三种包括包括:LinearLinear线性的线性的quadraticquadratic二

34、次的二次的logarithmiclogarithmic对数的对数的36【例例2-102-10】用用chirpchirp函数产生二次扫频信号,绘出时域波形函数产生二次扫频信号,绘出时域波形和时频图。和时频图。372 2、傅里叶变换函数、傅里叶变换函数常用的常用的FFTFFT及反变换函数如下表所示。及反变换函数如下表所示。函数函数说明说明fftfft计算快速离散傅立叶变换计算快速离散傅立叶变换fftshiftfftshift调整调整fftfft函数的输出顺序,将零频位置函数的输出顺序,将零频位置移到频谱的中心移到频谱的中心 ifftifft计算离散傅立叶反变换计算离散傅立叶反变换38 fftfft

35、函数:调用方式如下函数:调用方式如下y=y=fft(xfft(x):计算信号:计算信号x x的快速傅立叶变换的快速傅立叶变换y y。当。当x x的长度为的长度为2 2的幂时,用基的幂时,用基2 2算法,否则采用较慢的分裂基算法。算法,否则采用较慢的分裂基算法。y=y=fft(x,nfft(x,n):计算:计算n n点点FFTFFT。当。当length(xlength(x)n)n时,截断时,截断x x,否,否则补零。则补零。39【例例2-112-11】产生一个正弦信号频率为产生一个正弦信号频率为60Hz60Hz,并用,并用fftfft函数函数计算并绘出其幅度谱。计算并绘出其幅度谱。40 ffts

36、hiftfftshift函数:调用方式如下函数:调用方式如下y=y=fftshift(xfftshift(x):如果:如果x x为向量,为向量,fftshift(xfftshift(x)直接将直接将x x的左右两的左右两部分交换;如果部分交换;如果x x为矩阵(多通道信号),将为矩阵(多通道信号),将x x的左上、右的左上、右下和右上、左下四个部分两两交换。下和右上、左下四个部分两两交换。【例例2-122-12】产生一个正弦信号频率为产生一个正弦信号频率为60Hz,60Hz,采样率为采样率为1000Hz,1000Hz,用用fftshiftfftshift将其零频位置搬到频谱中心。将其零频位置搬

37、到频谱中心。例例2-12 2-12 60Hz60Hz正弦信号的幅度谱及搬移后的频谱正弦信号的幅度谱及搬移后的频谱41 ifftifft函数:调用方式如下函数:调用方式如下y=y=ifft(xifft(x):计算信号:计算信号x x的傅立叶反变换。的傅立叶反变换。【例例2-132-13】计算方波信号的傅立叶反变换。计算方波信号的傅立叶反变换。例例2-13 2-13 矩形信号及其矩形信号及其IFFTIFFT变换变换y=y=ifft(x,nifft(x,n):计算:计算n n点点IFFTIFFT。如果。如果length(xlength(x)n)n,以,以n n为长为长度截短度截短x x,否则补零。,

38、否则补零。423 3、滤波器分析与实现函数、滤波器分析与实现函数函数名函数名函数功能函数功能函数名函数名函数功能函数功能convconv求卷积求卷积AbsAbs求幅值求幅值impzimpz数字滤波器的冲数字滤波器的冲激响应激响应angleangle求相角求相角zplanezplane离散系统的零极离散系统的零极点图点图filterfilter直接直接型滤波器型滤波器常用滤波器分析与实现函数常用滤波器分析与实现函数 43 convconv:调用方式如下:调用方式如下【例例2-142-14】用用convconv求两个向量的卷积。求两个向量的卷积。impzimpz:调用方式如下:调用方式如下 h,t

39、h,t=impz(b,a,nimpz(b,a,n):返回:返回n n点冲激响应。点冲激响应。c=c=conv(a,bconv(a,b):返回向量:返回向量a a、b b的卷积的卷积c c。h,th,t=impz(b,aimpz(b,a):b b、a a分别为系统传递函数的分子和分母分别为系统传递函数的分子和分母的系数向量。返回系统的系数向量。返回系统(b,ab,a)的冲激响应的冲激响应h h和相应的时间轴和相应的时间轴向量向量t t。h,th,t=impz(b,aimpz(b,a,n,Fsn,Fs):指定冲激响应采样点间隔:指定冲激响应采样点间隔1/Fs1/Fs。FsFs为相对频率,缺省值为为

40、相对频率,缺省值为1 1。44【例例2-152-15】计算线性系统计算线性系统(b,ab,a)的冲激响应:的冲激响应:图图2-15 2-15 系统的冲激响应系统的冲激响应45lzplanezplane:调用方式如下:调用方式如下 zplane(z,pzplane(z,p):绘制系统零极点图,:绘制系统零极点图,“o o”表示零点,表示零点,“x x”表示极点。表示极点。z z,p p分别为零点和极点向量。分别为零点和极点向量。zplane(b,azplane(b,a):b b、a a分别为系统传递函数的分子和分母系分别为系统传递函数的分子和分母系 数向量。数向量。46【例例2-162-16】计

41、算线性系统计算线性系统(b,ab,a)的零点和极点。的零点和极点。图图2-16 2-16 系统的零极点图系统的零极点图47 absabs:调用方式如下:调用方式如下 y=y=abs(xabs(x):返回复数向量:返回复数向量x x的幅值向量的幅值向量y y。【例例2-172-17】绘出一个正弦信号的傅立叶变换的幅度谱。绘出一个正弦信号的傅立叶变换的幅度谱。图图2-17 2-17 正弦信号傅立叶变换的幅度谱正弦信号傅立叶变换的幅度谱48 angleangle:调用方式如下:调用方式如下 p=p=angle(hangle(h):返回复数向量:返回复数向量h h的相位向量的相位向量p p。【例例2-

42、182-18】绘出方波信号的相频特性。绘出方波信号的相频特性。图图2-18 2-18 方波信号的相频特性方波信号的相频特性49 filterfilter:调用方式如下:调用方式如下y=y=filter(b,a,xfilter(b,a,x):计算输入信号:计算输入信号x x经过传递函数分子分母经过传递函数分子分母系数向量(降幂排列)为系数向量(降幂排列)为b b、a a的滤波器后的输出的滤波器后的输出y y。y,zfy,zf=filter(b,a,xfilter(b,a,x):返回最终的状态向量:返回最终的状态向量zf zf。=filter(b,a,x,zifilter(b,a,x,zi):指定滤波器的初始条件:指定滤波器的初始条件zi zi。50【例例2-192-19】计算低通滤波器的冲激响应。计算低通滤波器的冲激响应。例例2-19 2-19 ChebyshevChebyshev I I型低通滤波器冲激响应型低通滤波器冲激响应51小结52

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁