1、信号分析与处理 实验指导书实验一 时域分析实验一. 实验目的 (1) 熟悉MATLAB开发环境。(2) 掌握MATLAB各种表达式的书写规则以及常用函数的使用。(3) 熟悉MATLAB的基本操作(4) 熟悉MATLAB中产生信号和绘制信号的基本命令。(5) 熟悉序列的简单运算,如:加法、标量乘法、时间反转、延时、乘法等。二. 实验原理MATLAB (矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。但在以后的几年内,它逐渐发展为一种极其灵活的计算体系,用于解决各种重要的技术问题。MATLAB程序执行MATLAB语言,并提供了一个极其广泛的预定义函数库,这样就使得技术工作变得
2、简单高效。三. 实验任务及步骤1、 学习了解MATLAB的实验环境:在Windows桌面上, 双击MATLAB图标,即可进入MATLAB系统命令窗口。 图1-1 MATLAB系统命令窗口当MATLAB运行时,有多种类型的窗口,有的用于接收命令,有的用于显示信息。三个重要的窗口有命令窗口;图像窗口;编辑/调试窗口;它们的作用分别为输入命令;显示图形;充许使用者创建和修改MATLAB程序。在本节课中我们将会看到这三个窗口的例子。 当MATLAB程序启动时,一个叫做MATLAB桌面的窗口出现了。默认的MATLAB桌面结构如图1-1所示。在 MATLAB集成开发环境下,它集成了管理文件、变量和应用程序
3、的许多编程工具。在MATLAB桌面上可以得到和访问的窗口主要有: 命令窗口(The Command Window) 命令历史窗口(The Command History Window) 启动平台(Launch Pad) 编辑调试窗口(The Edit/Debug Window) 工作台窗口和数组编辑器(Workspace Browser and Array Editor) 帮助空间窗口(Help Browser) 当前路径窗口(Current Directory Browser)1.1 命令窗口 MATLAB桌面的右边是命令窗口。在命令窗口中,用户可以在命令行提示符()后输入一系列的命令,这些
4、命令的执行也是在这个窗口中实现的。假设你要计算一个半径为2.5m的圆的面积。在命令窗口中的操作如下:当回车键敲下的一瞬间,结果被计算了出来,并被存储到一个叫 area 的变量中(其实是一个 11 的数组)。这个变量的数值将显示在命令窗口(The Command Windows) 而且这个变量能进行进一步的计算。(注意是MATLAB预先定义好的变量,所以pi不需要预先声明。) 如果一个语句在一行内书写太长了,可能要另起一行接着写,在这种情况下我们需要在第一行末打上半个省略号(.),再开始第二行的书写。将一系列命令写入一个文件,在命令窗口(The Command Windows)输入此文件的文件名
5、,然后MATLAB就开始执行这个文件,而不是用直接在命令窗口(The Command Windows)键入的方法,这样的文件叫做脚本文件(Script files),由于脚本文件(Script files)的扩展名为“.m”,所以这它也叫做M文件。1.2 历史命令窗口(The History Command Window )历史命令窗口(The History Command Window)用于记录用户在命令窗口(The Command Windows),其顺序是按逆序排列的。即最早的命令在排在最下面,最后的命令排在最上面。这些命令会一直存在下去,直到它被人为删除。双击这些命令可使它再次执行。
6、在历史命令窗口(The Command Windows)删除一个或多个命令,可以先选择,然后单击右键,这时就有一个弹出菜单出现,选择 Delete Section。任务就完成了。1.3 启动平台(the launch pad)启动平台是一个特殊的工具,为MATLAB和其工具箱提供帮助、demos、其他相关文件和应用程序等参考资料。这些信息是产品附带的,所有的参考资料都在每个产品或工具箱后面列出。不同的人拥有不同的产品,所以这个内容随个人安装的不同而不同。 图1-2显示的是只带有基本 MATLAB产品的参考资料的启动平台。双击其中一个条目,你将会得到 MATLAB的帮助,运行 MATLAB的示例
7、,访问这个程序所支持的标准工具,或访问MATLAB在互联网上的网站。图 1-2 带有基本 MATLAB产品的参考资料的启动平台1.4 编辑调试器 编辑调试器一般用于创建M文件,或者修改已存在的M文件。当你打开或修改一个M文件,编辑调试器会自动被调用。创建一个M 文件的方法:一、在菜单按“File/New/M-file”创建; 二、单击图标。 打开一个已存在的 M 文件也有两个方法: 一、按路径“File/Open”打开; 二、单击图标。编程调试器是个重要的程序的文档编辑器,MATLAB语言的一些特性会被不同的顔色表现出来。M文件中的评论用绿色表示,变量和数字用黑色来表示,字符变量用红色表示,语
8、言的关键字用蓝色表示。如图1-3显示了一个包含有M文件的简单的编辑窗口。 图1-3显示了一个包含有M 文件的简单的编辑窗口当 M 文件保存完后,在命令窗口(The Command Windows)中输入这个M文件的名字,它就可以被执行了。1.5 图像窗口(Figure Windows) 图像窗口主要是用于显示MATLAB图像。它所显示的图像可以是数据的二维或三维坐标图,图片,或用户图形接口。下面是一个简单的脚本文件(Script files)用于计算函数sinx 并打印出图像。如果此文件以 sin_x.m 为文件名保存,那么你可以在命令窗口(The Command Windows)输入此文件名
9、就可以执行文件了。当脚本文件(Script files)被编译后,MATLAB将会找开一个图像窗口,并在窗口打印出函数sinx的图像。 图1-4 函数 sinx 的图像1.6 工作区浏览器 当前工作区的内容也可以通过基于 GUI 的工作空间窗口检测到。工作空间窗口默认出现在MATLAB桌面的左上角,它提供了和 whos 命令可得到的相同的信息,并当工作区内的内容发生改变时,其内的信息也会随之更新。工作空间窗口(The workspace browser)允许用户改变工作区内的任何一个变量的内容。 图 1-5 工作空间窗口典型的工作空间窗口(The workspace browser)如图 1-
10、5.你能看到它显示的信息和whos命令得到的信息是一样的。双击这个窗口任一变量便产生了一个数组编辑器,这个编辑器允许用户修改保存在变量中的信息。1.7 MATLAB 帮助 你有三种方法可以得到MATLAB的帮助。最好的方法是使用帮助空间窗口(help browser)。你可以单击MATLAB桌面工具栏上的图标,也可以在命令窗口(The Command Windows)中输入helpdesk 或 help win 来启动帮助空间窗口(help browser)。你可以通过浏览MATLAB参考证书或搜索特殊命令的细节得到帮助。帮助空间窗口如图1-6所示。 图1-6 帮助空间窗口 另外还有两种运用命
11、令行的原始形式得到帮助。第一种方法是在MATLAB命令窗口(The Command Windo ws)中输入help 或help和所需要的函数的名字。如果你在命令窗口(The Command Windows)中只输入help, MATLAB将会显示一连串的函数。如果有一个专门的函数名或工具箱的名字包含在内,那么help将会提供这个函数或工具箱。 第二种方法是通过lookfor 命令得到帮助。lookfor 命令与help 命令不同,help命令要求与函数名精确匹配,而lookfor只要求与每个函数中的总结信息有匹配。Lookfor 命令 比 help 命令运行起来慢得多,但它提高了得到有用信息
12、的机会。举个例子,假设你想找到一个求矩阵的逆阵(inverse of matrix)的函数。但是MATLAB中没有叫 inverse 的函数,这时 help 命令就不起作用了,只能用 lookfor 命令,得到结果.1.8 信号时域分析1用到的MATLAB命令运算符: . + - * / ; %基本矩阵: i ones pi rand randn zeros基本函数: cos exp imag real 数据分析: sum二维图形: axis grid legend plot subplot stairs stem title xlable ylable clf工具箱:sawtooth squ
13、are2序列的产生(1) 程序11:单位抽样序列的产生和绘制% Program P1_1% Generation of a Unit Sample Sequence clf;% Generate a vector from -10 to 20n = -10:20;% Generate the unit sample sequenceu = zeros(1,10) 1 zeros(1,20);% Plot the unit sample sequencestem(n,u);xlabel(Time index n);ylabel(Amplitude);title(Unit Sample Seque
14、nce);axis(-10 20 0 1.2);(2) 程序12:正弦序列的产生和绘制% Program P1_2% Generation of a sinusoidal sequencen = 0:40;f = 0.1;phase = 0;A = 1.5;arg = 2*pi*f*n - phase; x = A*cos(arg);clf;% Clear old graphstem(n,x);% Plot the generated sequenceaxis(0 40 -2 2);grid; title(Sinusoidal Sequence);xlabel(Time index n);ylabel(Amplitude);axis;3序列的运算(信号的平滑) 数字信号处理应用的一个常见例子是从被加性噪声污染的信号中移除噪声。假定信号sn被噪声dn所污染,得到一个含有噪声的信号xn=sn+dn。我们需要对xn进行运算,产生一个合理的逼近sn,对时刻n的样本求平均,产生输出信号是一种简单有效的方法。如:三点滑动平均的信号。程序13 实现三点滑动平均的信号运算: yn=(x(n-1)+x(n)+x(n+1)/3程序如下:% Signal Smoothing by Averagingclf;R = 51
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1