Matlab数字信号处理基础

上传人:206****923 文档编号:57513036 上传时间:2018-10-22 格式:PPT 页数:52 大小:1.77MB
返回 下载 相关 举报
Matlab数字信号处理基础_第1页
第1页 / 共52页
Matlab数字信号处理基础_第2页
第2页 / 共52页
Matlab数字信号处理基础_第3页
第3页 / 共52页
Matlab数字信号处理基础_第4页
第4页 / 共52页
Matlab数字信号处理基础_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《Matlab数字信号处理基础》由会员分享,可在线阅读,更多相关《Matlab数字信号处理基础(52页珍藏版)》请在金锄头文库上搜索。

1、1,第2章 Matlab数字信号处理基础,2,主 要 内 容, MATLAB7.0语言特点及工作环境, M文件介绍, MATLAB基本控制语句, 数字信号处理常用MATLAB函数,3,2.1 MATLAB 7.0语言特点,1)开发环境 新的桌面提供多文档管理、个人定制桌面以及常用 命令定义快捷键; 功能更强的数组编辑器和工作空间浏览器,用户可 以更方便地浏览、编辑和图形化变量; M_Lint代码分析器可以方便用户修改代码,不仅提 高了程序性能,而且增强了可维护性; 改进后的编辑器可以方便用户选择执行M文件中的部 分内容。,MATLAB 7.0语言简介,4,2)编程 支持函数嵌套; 可以用匿名函

2、数定义单行函数; 3)计算 整数算法,可以计算和处理更大的整型数据集; 单精度算法、线性代数、FFT和滤波,方便用户处理更 大的单精度数据; 提供Linsolve函数,方便用户更快地求解线性函数; ODE求解泛函数,操作隐式差分等式和求解多点式边界 值问题。,5,4)图形 使用新的绘图界面,用户不必通过M函数代码就可直接在 界面窗口中交互式地创建编辑图形; 用户可直接从图形窗口中生成M代码文件,方便多次重复 绘图; 更强大的图形标注和处理功能,包括对象对齐、连接注 释等; 数据探测工具可使用户在图形窗口中方便地查询图形上 各点的坐标值; 可方便地对图形对象进行旋转、平移和缩放等变换; 功能更强

3、大的图形句柄。,6,5)图形用户界面 用户可使用面板和分组按钮对界面控件进行分组; 用户可以直接在GUIDE中访问ActiveX控件。 6)文件输入/输出和外部应用程序接口 新的文件输入/输出函数支持读取更大的文本文件,可以 向Excel和HDF5文件中写入内容; 支持压缩格式的MAT文件,用户可以使用较少的磁盘空间 快速保存大量的数据; 在不必重启MATLAB前提下,可使用Javaaddpath函数动 态添加、删除或重载Java类;,7, 支持COM用户接口、服务器事件和Visual Basic脚本; 可基于简单的对象访问协议(SOAP)访问网页服务器; 提供FTP对象用于连接FTP服务器,

4、实现对异地文件的处理; 支持Unicode国际字符集标准,MAT文件中的字符数据可以 在不同语言之间共享。,2.2 MATLAB 7.0的工作环境,MATLAB7.0的工作界面主要由菜单、工具栏、当前工作目录窗口、工作空间管理窗口、历史命令窗口和命令窗口组成,如图1-1所示。点击左下角start, 弹出快捷菜单,其中有工具箱、帮助和演示等多个选项,可选择需要的菜单进入相关界面。,8,MATLAB桌面,9,1)命令窗口,单击MATLAB桌面命令窗口右上角的【Unlock Command Window】按钮,可使命令窗口脱离主窗口而成为一个独立的窗口,如图所示。,MATLAB7.0的命令窗口,10

5、,2)历史命令窗口,该窗口主要用于记录所有执行过的命令,在默认设置下,该窗口会保留自安装后所有使用过的命令的历史记录,并标明使用时间,用户可以通过用鼠标双击某一历史记录来重新执行该命令。与命令窗口类似,该窗口也可以成为一个独立的窗口,如图所示。选中历史命令后,单击鼠标右键,弹出便捷操作菜单,通过上下文菜单,可以进行剪切、删除等操作,也可为选中的表达式或命令创建一个M文件。,11,3)当前工作目录窗口,在当前工作目录窗口可显示或改变当前目录,如图所示。,MATLAB7.0的当前工作目录窗口,12,4)工作空间管理窗口,工作空间管理窗口显示目前内存中所有的MATLAB变量的变量名、数据结构、字节数

6、以及类型等信息,如图所示。,MATLAB7.0的工作空间管理窗口,13,2.3 M文件介绍,M文件分为脚本文件(MATLAB scripts)和函数文件(MATLAB functions),两者在语法和使用上略有区别。,1)M文件编辑器,M文件编辑器提供了一个进行文本编辑和M文件调试的图形用户界面,如图所示。,M文件编辑器,14, 新建一个 M 文件有以下三种途径: 菜单操作(File New Script) 命令操作(edit M文件名) 命令按钮(快捷键) 打开已有的 M 文件有四种途径: 菜单操作(File Open) 命令操作(edit M 文件名) 命令按钮(快捷键) 双击M文件名,

7、15,图所示为M文件编辑器新建/打开快捷键。,M文件编辑器新建/打开快捷键,16,MATLAB中许多常用的函数都是函数式M文件。函数文件类似一个黑箱,对用户而言,可见的只是输入和输出,这有助于程序模块化,适于构建大型程序。由函数执行的命令以及这些命令所创建的中间变量都是隐含的,除特别声明外,这些中间变量在运算过程中都是局部变量,存放在函数本身的工作空间内,不会和MATLAB基本工作空间的变量相互覆盖。,2)函数,函数文件由function语句引导,通常包含如下5个部分。, 函数题头:指函数的定义行,是函数语句的第一行,在该行中定义函数名、输入变量列表及输出变量列表等。 HI行:指函数帮助文本的

8、第一行,为该函数文件的帮助主题,当使用lookfor命令时,可以查看到该行信息。,17, 帮助信息:提供了函数的完整的帮助信息,包括HI之后 至第一个可执行的行 或空行为止的所有注释语句。 函数体:指函数代码段,也是函数的主体部分。 注释部分:指对函数体中各语句的解释和说明文本,注 释语句是以符号%引导的。,脚本是若干命令或函数的集合,用于执行特定的功能。在MATLAB命令窗口直接输入此文件的主文件名,MATLAB可顺序执行此文件内的所有命令,不需要在其中输入参数,也不需要给出输出变量来接收处理结果。脚本的操作对象为MATLAB工作空间内的变量,脚本式M文件运行产生的所有变量都是全局变量,这些

9、变量都驻留在MATLAB基本工作空间内,通过使用clear命令或者关闭MATLAB系统可以清除这些变量。,3)脚本,18,脚本文件可以理解为简单的M文件,脚本文件中的变量都是全局变量。函数文件是在脚本文件的基础之上多添加了函数定义行,其代码组织结构和调用方式与对应的脚本文件截然不同。函数文件是以函数声明行“function”作为开始,如果没有特别声明,函数文件中的变量都是局部变量。函数运行完毕之后,其定义的变量将从工作区间中清除。而脚本文件只是将一系列相关的代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。而多数函数文件一般都有输入和输出变量,并返回结果。,19,MATL

10、AB中的循环语句包括for循环和while循环两种。,1)for 循环for循环语句是流程控制语句中的基础,它以指定的次数重复执行循环体内的语句。for语句通常由循环体和循环条件组成,循环体指的是重复执行的语句,而循环条件是指控制循环语句走向的语句。 for 循环语法结构如下:for 循环变量 = 数组循环体;end,1、循环语句,20,MATLAB 中的for 循环语句与其它语言中的for 循环语句相同,循环体的执行次数由数组的列数确定。,2)while循环 while循环语句与for循环语句的循环控制机制不同,前者是以条件是否满足来判断循环是否结束,而后者则是以执行次数是否达到指定值为判断

11、循环是否结束的条件。 while循环语句的一般形式为: while循环判断的语句 循环体,其中,循环判断语句为某种形式的逻辑判断表达式,当该表达式的值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。,N2_1.m,21,在while循环语句中,必须有可以修改循环控制变量的命令,否则该循环语句将陷入死循环。循环语体中可以有控制退出循环的命令,如break语句。当循环体运行至该命令时,强制退出当前循环,执行循环后的其他语句。与break语句对应,MATLAB还提供了continue命令,当循环体运

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

13、ncase value1statements1; case value2statements2; case valuemstatementsn;otherwise statements; end,23,expression是一个标量或者字符串,MATLAB 首先计算expression的值,然后将它依次与各个case指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch 结构。如果所有的比较结果都为假,则执行otherwise后面的语句组,然后跳出switch 结构。otherwise指令可以不出现。与其他的程序设计语言的switch-case语句不同的是,在MA

14、TLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断,即使有多条case判断语句为真,也只执行所遇到的第一条为真的语句。,MATLAB基本程序控制语句,24,常用的波形产生函数如表2-1所示。,表2-1 常用波形产生函数,数字信号处理常用MATLAB函数,1、波形产生函数,25, Square函数:调用方式如下,x=square(t,duty):产生指定周期、峰值为1的方波, duty为占空比,26,【例2-3】用square函数产生周期为1,占空比分别为50%和30%的方波。,27,x=sawtooth(t,width):参数widt

15、h表示一个周期内最大值的 位置,是该位置横坐标和周期的比值。该函数根据width取值不同产生不同形状的三角波。, Sawtooth函数:调用方式如下,【例2-4】用sawtooth函数产生周期为1的锯齿波和方波。,28, Sinc函数:调用方式如下,【例2-5】用sinc函数产生波形。,x=sinc(t):产生sinc函数波形。,29, Diric函数:调用方式如下,。,【例2-6】用diric函数产生波形。,30, Rectpuls函数:调用方式如下,x=rectpuls(t):产生非周期、单位高度的矩形波;方波的中心在t=0处。,x=rectpuls(t,w):产生宽度为w的非周期、单位高

16、度的矩形波。,31,【例2-7】用rectpuls函数产生长度为1s,宽度为0.7s的非周期矩形波。,32, Tripuls函数:调用方式如下,x=tripuls(t):产生非周期单位高度的三角波,三角波的中心位置在t=0处;,x=tripuls(t,width,s):产生倾斜度为s的三角波。,x=tripuls(t,width):产生width宽度的三角波;,33,【例2-8】用tripuls函数产生长度为1s,宽度为0.6s,倾斜度分别为0和0.9的非周期三角波。,34, Pulstran 函数:调用方式如下,x=pulstran(t,d,func):其中参数func取值为gauspuls(高斯调制正弦信号);rectpuls(非周期方波);tripuls(非周期三角波)。该函数产生以d为采样间隔的func指定形状的冲激串;,

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

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号