nupt dsp 实验指导书.doc
《nupt dsp 实验指导书.doc》由会员分享,可在线阅读,更多相关《nupt dsp 实验指导书.doc(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、实验预习:Matlab软件的使用Matlab软件由Mathworks公司推出,至今已发展为适合多学科、多种工作平台的功能强大的大型软件。在欧美高校,Matlab已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,Matlab被广泛用于科学研究和解决各种具体问题。在国内,Matlab也日益盛行。1 Matlab 的主要特点1.语言简洁紧凑,使用方便灵活,库函数极其丰富。利用其丰富的库函数避开烦杂的子程序编程任务,压缩了一切不必要的编程工作。2.运算符丰富。Ma
2、tlab提供了和C语言几乎一样多的运算符,灵活使用Matlab的运算符将使程序变得极为简短3.语法限制不严格,程序设计自由度大。如在Matlab里,无需对矩阵预定义就可使用。4.图形功能强大。在FORTRAN和C语言里,绘图很不容易,在Matlab里数据的可视化非常简单,Matlab 还具有较强的编辑图形界面的能力。5.具有功能强大的工具箱。6.程序的可移植性好。7.Matlab 的缺点是:与其它高级程序相比,程序的执行速度慢。2.Matlab的环境Matlab既是一种语言,又是一个编程环境。作为一个编程环境,Matlab提供了很多方便用户管理变量、输入输出数据以及生成和管理M文件的工具。到M
3、atlab 6.x 则把多种开发工具集成为Matlab桌面系统。包含如下8个组成部分:命令窗口(Command Window)、历史命令窗口(Command History)、资源目录本(Launch Pad)、当前路径浏览器(Current Directory Brower)、帮助浏览器(Help Brower)、工作空间浏览器(Workspace Brower)、数组编辑器(Array Editor)以及程序编辑调试器(EditorDebugger)。它们的功能简述如下:1.Matlab 的命令窗口(Command Window)在Windows桌面上,双击Matlab的图标,就可以进入M
4、atlab的工作环境。首先出现Matlab的标志图形,接着出现其默认的桌面系统。其左上视窗为资源目录(Launch Pad),可切换为工作空间浏览器(Workspace Brower);其左下视窗为历史命令窗口(Command History),可切换为当前路径浏览器(Current Directory Brower);右半个视窗则为命令窗口(Command Window)。命令窗是用户和Matlab做人机对话的主要环境。是它的提示符,可以在提示符后键入Matlab的各种命令并读出相应的结果,但在输入命令后加分号结束,则不会显示结果。2.Matlab 的工作空间(workspace)工作空间是
5、指运行Matlab 程序或命令所生成的所有变量和Matlab提供的常量构成的空间。每打开一次Matlab会自动建立一个工作空间,工作空间在Matlab运行期间一直存在,关闭Matlab后自动消失。刚打开的工作空间只有Matlab提供的几个常量,如pi(3.)、虚数单位i等。运行Matlab程序时。程序的变量被加入工作空间。工作空间的存在在调试程序时非常有用。3.Matlab 的程序编辑调试器(EditorDebugger)Matlab的程序编制有两种方式:一种称为行命令方式,这就是在命令窗中一行一行地输入程序,计算机每次对一行命令作出反应,像计算器那样,这只能编辑简单的程序。更好的程序编制方式
6、是把程序写成一个有多行语句组成的文件,让Matlab来执行这个文件。编写和修改这种文件程序就要用到程序编辑调试器。进入程序编辑器可以有三种方式:1.选择菜单栏的“File”项中的“New”或“Open”项;2.选择工具栏的“New”或“Open”按钮;3.在命令窗内输入edit命令;4.Matlab 的路径浏览器Matlab管理的文件范围由它的搜索路径来确定。该搜索路径由Matlab启动文件MATLABroottoolboxlocalmatlabbrc.m来规定。用户只有将要运行的程序所在的目录加入到Matlab 的路径搜索范围内,在Matlab命令窗口键入文件名后才能执行。要显示或修改搜索路
7、径,可以用path命令:1.path 列出Matlab的搜索路径;2.path(path 加入的新搜索路径) 在原搜索路径群中加入一新搜索路径用命令行设置路径要键入文件的全路径名,很容易出错,用菜单工具较好。Matlab6.x所设置的修改路径的菜单工具如下:在命令窗中单击路径浏览器按钮或选择file菜单里的“set path” ,即可设置搜索路径。5. Matlab 的帮助系统最常用的就是在命令窗口键入 “help 命令名” ,即可在命令窗口出现该命令的帮助信息。6. 历史命令窗口(Command History)历史命令窗口用于记录并显示本次工作进程中曾键入的全部行命令。7. 资源目录本(L
8、aunch Pad)资源目录本用于把用户在当前系统中安装的所有Matlab产品说明、演示以及帮助信息的目录集成起来,便于用户迅速调用查阅。8. 数组编辑器(Array Editor)用户可以直接在数组编辑器中修改所打开的数据,甚至可以更改该数据的数学结构以及显示方式。3. M文件的编写* 用Matlab 语言编写的可在Matlab中运行的程序,称为M文件。M文件有两种形式 :脚本文件(Script File)和函数文件(Function File )。这两种文件的扩展名,均为“ . m” 。3.1. M脚本文件对于一些比较简单的问题 ,在指令窗中直接输入指令计算 。对于复杂计算,采用脚本文件(
9、Script file)最为合适 。MATLAB只是按文件所写的指令执行 。M脚本文件的特点是:脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合。脚本文件运行后 ,所产生的所有变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。3.M文件有两种形式 :脚本(命令)文件(Script File)和函数文件(Function File )。这两种文件的扩展名,均为“ . m”1.M脚本(命令)文件对于一些比较简单的问题 ,在指
10、令窗中直接输入指令计算 。对于复杂计算,采用脚本文件(Script file)最为合适 。MATLAB只是按文件所写的指令执行 。M脚本文件的特点是:脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合。脚本文件运行后 ,所产生的所有变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。2. M函数文件与脚本文件不同 ,函数文件犹如一个“黑箱”,把一些数据送进并经加工处理,再把结果送出来。MATLAB提供的函数指令大部分都是由函
11、数文件定义的。M函数文件的特点是:从形式上看 ,与脚本文件不同,函数文件的笫一行总是以 “function”引导的“函数申明行”。从运行上看 ,与脚本文件运行不同,每当函数文件运行,MATLAB就会专门为它开辟一个临时工作空间,称为函数工作空间( Function workspace)。当执行文件最后一条指令时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。MATLAB允许使用比“标称数目”较少的输入输出变量,实现对函数的调用。M函数文件的形式:function 输出参数函数名(输入参数)函数体 在命令文件和函数文件中都可以以%开头加注释行。编写函数文件时,文件名可
12、以和函数名不同,但调用时应使用文件名。不过最好把文件名和函数名统一,以免出错。3.3. 总结:所以,两者的区别在于:1.脚本文件没有输入参数,也不返回输出参数。函数文件可以有输入参数,也可返回输出参数。2.脚本文件对工作空间的变量进行操作。函数文件的变量为局部变量,只有其输入、输出变量保留在工作空间。4 . M文件的调试编写 M文件时,错误(Bug)在所难免。错误有两种:语法(Syntax)错误和运行(Runtime)错误。语法错误是指变量名、函数名的误写,标点符号的缺、漏等。对于这类错误,通常能在运行时发现,终止执行,并给出相应的错误原因以及所在行号。运行错误是算法本身引起的,发生在运行过程
13、中。相对语法错误而言,运行错误较难处理 。尤其是M函数文件,它一旦运行停止,其中间变量被删除一空,错误很难查找。有两种调试方法:直接调试法和工具调试法:1. 直接调试法:可以用下面方法发现某些运行错误。1) 在M文件中,将某些语句后面的分号去掉, 迫使M文件输出一些中间计算结果,以便发现可能的错误。2) 在适当的位置,添加显示某些关键变量值的语句(包括使用 disp 在内)。3) 在原M脚本或函数文件的适当位置,增添指令 keyboard 。 keyboard 语句可以设置程序的断点 。M文件运行时,在keyboard命令的地方将暂停,同时在命令窗口中显示字符“K”,这时,可以检查和修改函数工
14、作空间中的变量的值。在命令窗口键入return,再按回车键即可继续运行程序。4) 通过将原M函数文件的函数申明行注释掉,可使一个中间变量难于观察的M函数文件变为一个所有变量都保留在基本工作空间中的M脚本文件。2. GUI 界面调试法:MATLAB提供了一个基于GUI界面的调试。使用它,可以对函数进行调试。Debug菜单的使用:Continue:恢复程序运行至结束或另一个断点 。Single Step:单步执行函数。Step In:深入下层局部工作区 。Quit Debugging:退出调试状态。Set/Clear Breakpoint:设置/清除光标处的断点 。Clear All Breakp
15、oints:清除程序中的所有断点 。Stop if Error:运行至出错或结束。Stop if Warning:运行至警告消息或结束。Stop if NaN of Inf:运行至运算结果出现 NaN 或 Inf。5 . Matlab与数字信号处理简介5.1信号表示离散时间信号只在离散时间点上有值,是时间上不连续的“序列”。Matlab中的主要数据类型是二维或多维的实矩阵或复矩阵。数字信号处理过程中所用到的基本数据对象( 例如:一维信号或序列,多通道信号,二维信号等等)都可以用矩阵表示。5.2. 波形发生器许多不同的函数都可以产生波形。其中大部分函数都需要一个时间向量作为参数。如果选择1000
16、Hz的抽样频率产生波形,则合适的时间向量应是:t=0:0.001:1这样就构造了一个有1001个元素的行向量。该向量表示时间从0到1秒,以千分之一秒为步长。例如:产生一正弦波 t=0:0.01:2; x=sin(2*pi*t);5.3 信号处理工具箱(toolbox) Matlab提供了许多现成的信号处理函数,可直接调用。详细内容可点主菜单工具条上的help,浏览Signal Processing Toolbox 即可。6. Matlab的循环控制循环结构、选择结构和顺序结构是复杂程序的基本组成单元,因此熟练掌握Matlab的循环结构和选择结构是编程的基本要求。1. 循环结构Matlab的循环
17、结构可用for语句和while语句来实现。1)for语句使用for语句使用较为灵活,一般用于循环次数已经确定的情况。for语句的调用格式为:for 矩阵变量名表达式1:表达式2:表达式3 语句体end其中,表达式1的值为循环的初值,表达式2的值为步长,表达式3的值为循环的终止值。如果省略表达式2,则默认步长为1。for语句允许嵌套,在程序里,每一个“for”关键字必须和一个“end”关键字配对,否则出错。下面是一个for循环的实例,该循环计算出15的乘法表。for n=1:5 for m=1:n r(m,n)=m*n; % r为一个矩阵, r(m,n)表示矩阵第m行第n列的元素 endend2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- nupt dsp 实验指导书 实验 指导书
限制150内