附录A 用MatLab进行数字信号处理

2019-02-20 23:16

附录A 用MatLab进行数字信号处理

一、 Matlab简介

在科学研究和工程应用中,往往要进行大量的数学计算,这些运算一般来说难以用手工精确和快捷地进行,而要借助计算机编制相应的程序做近似计算。目前流行用Basic、Fortran和c语言编制计算程序, 既需要对有关算法有深刻的了解,还需要熟练地掌握所用语言的语法及编程技巧。在本讲义的附录一中,提供了一部分算法的C代码,但这些功能代码段仅仅是在数字信号处理过程中一个很小的部分。一方面实验时间有限,另一方面,各个专业的同学对编程有不同程度的要求。往往实验的大部分时间用来调试程序,真正用于理解课程内容的时间相对被压缩。

为克服上述困难,美国Mathwork公司于1967年推出了\Laboratory\(缩写为Matlab)软件包,并不断更新和扩充,是一种功能强、效率高便于进行科学和工程计算的交互式软件包。其中包括:一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序,并集应用程序和图形于一便于使用的集成环境中。在此环境下所解问题的Matlab语言表述形式和其数学表达形式相同,不需要按传统的方法编程。

虽然Matlab作为一种新的计算机语言,但由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言--如Basic、Fortran和C等那样难于掌握,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。Matlab语言具有编程效率高,易学易懂;使用方便;绘图方便等一系列优点。

二、 MatLab基本绘图

(一)绘图函数简介

有关MatLab运算、函数、逻辑控制等可以参考一些Matlab的书籍、或参阅多媒体通信实验室主页中有关MatLab的部分,在本讲义中不再赘述。这里介绍以下MatLab下二维图形的绘制。下表是MatLab中不同绘图函数的名称和功能简介:

函数名称 函数功能介绍 函数名称 函数功能介绍 Bar errorbar 长条图 图形加上误差范围 Fplot polar 较精确的函数图形 极座标图 Hist rose 累计图 极座标累计图 Stairs stem 阶梯图 针状图 Fill feather 实心图 羽毛图 Compass Quiver 罗盘图 向量场图 Contour 在x-y平面绘制等位线图 Gplot 绘拓扑图 Loglog Pcolor 双对数坐标曲线 伪彩图 Semilogx Semilogy y轴对数坐标曲线 x轴对数坐标曲线

1

(二)Stem函数绘图

各种不同的绘图函数分别适用于不同的场合,使用“stem”绘制针状图最简单,从附录中提供的MatLab原代码可以看出,只需要将需要绘制的数据存放在一个数组中,然后将这个数组作为参数传递给“stem”函数就可以得到输出图形。例如,下面的代码可以绘制正弦函数的图形:

n=1:50; %定义序列的长度是50 x=zeros(1,50); %注意:MATLAB中数组下标从1开始 x(1)=1; %冲击函数 stem(x); %绘制函数图形 得到的函数图形如下图所示:

(三)Plot函数绘图

当然,在某些时候针状图的显示效果并不是非常理想,这时候,我们通常采用“plot”函数绘制图形。“plot”函数功能非常强大,输入以下内容

x = -pi:.1:pi; y = sin(x); plot(x,y)

可以绘制正弦函数的图形如下图所示:

如果输入以下代码,则可以同时得到正弦函数和余弦函数的图形。

plot(x, sin(x), x, cos(x)); %同时绘制两条曲线

2

(四)图形的修饰

在绘制图形的过程中我们可以用其他函数调整图形坐标、坐标轴标题等和图形有关的信息,以下是一个操作示例:

x=linspace(0, 2*pi, 100); 0个点的x座标 close all; %关闭所有已经打开的图形视窗 plot(x, sin(x), x, cos(x)); %同时绘制两条曲线

图形完成後,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:

axis([0, 6, -1.2, 1.2]);

此外,MATLAB也可对图形加上各种注解与处理:

xlabel('Input Value'); %x轴注解 ylabel('Function Value'); %y轴注解

title('Two Trigonometric Functions'); %图形标题 legend('y = sin(x)','y = cos(x)'); %图形注解 grid on; % 显示格线

经过这些处理以后,可以得到一张十分美观的函数图形,当然图形可以进一步处理得到个性化的结果,有兴趣的同学可以查阅MatLab有关书籍或MatLab联机帮助中的有关部分。这里再介绍一个十分有用的函数“subplot”,该函数用来同时画出数个小图形於同一个视窗之中,请大家自己在MatLab中输入以下命令,并看一下显示的结果:

subplot(2,2,1); plot(x, sin(x)); subplot(2,2,2); plot(x, cos(x)); subplot(2,2,3); plot(x, sinh(x)); subplot(2,2,4); plot(x, cosh(x));

三、 MatLab联机帮助的使用

联机帮助是任何软件十分重要的一个部分,对于没有系统学习过MatLab的同学来说,学会如何使用MatLab的联机帮助是非常必要的。MatLab提供两种格式的联机帮助,一种是HTML文件,可以用浏览器来查看;另一种是PDF文件,需要由MatLab提供的阅读工具来查看和搜索。以下分别介绍这两种格式联机帮助的调用方法和操作示例。

3

(一)HTML格式联机帮助的查询

HTML格式的帮助文件利用浏览器作为工具进行阅读和搜索,十分符合生活于网络环境技术人员的胃口,首先推荐使用这种格式的联机帮助。调用联机帮助需要打开MatLab中“Help”菜单的“Help Desk(HTML)”子选项。则MatLab打开缺省的浏览器并装载MatLab帮助文件索引,现在可以根据该HTML文件中显示的内容索引按类查找信息,也可以在“Go To MATLAB function”输入框的位置输入需要搜索的关键字进行搜索。

(二)PDF格式联机帮助的查询

PDF文件也是一种非常流行的文件格式,象Oracle、3COM等其他行业的大公司,其产品文档中一般都提供该格式。MatLab也不例外,在MatLab中调用PDF格式的联机帮助需要打开“Help”菜单中的“Help Window”子选项。MatLab回打开一个PDF文件阅读器,在这里面,和HTML情况下类似,可以按照内容分类查找有关信息;也可以在左上角的输入框中输入查找关键字进行内容的搜索。

MATLAB认识所有一般常用到的加(+)、减( -)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)

4


附录A 用MatLab进行数字信号处理.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:施工现场突发事件应急预案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: