通信系统综合设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字信号处理》上机实验指导手册

实验一:Matlab工具软件使用

1、实验目的

(1)熟悉matlab仿真工具软件,熟悉matlab软件的启动、程序运行。

(2)掌握matlab中一些基本的、常用的函数。

2、实验原理与方法

MATLAB(Matrix Laboratory)是Mathworks公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便且界面友好的用户环境。MATLAB的推出得到了各个领域专家学者的广泛关注。其强大的扩展功能为各个领域的应用提供了基础。由各个领域的专家学者相继推出了十几种MATLAB工具箱,信号处理工具箱就是其中之一,借助这一工具箱进行信号处理方面的研究,可大大节省时间。这些工具箱函数的使用可通过Help 命令得到。为了便于使用,下面简要介绍MATLAB的启动、编程和运行程序的过程,最后给出实验中可能用到的工具箱函数。

1.启动MATLAB系统及编程

在Windows 桌面上双击MATLAB6.5,启动MATLAB系统,Windows 工作平台上自动弹出一个窗口,其标题为MATLAB Command Window,称其为 MATLAB命令窗口。该窗口是用户与MATLAB解释器进行通信的工作环境,所有的MATLAB 函数、命令及程序都要在该命令窗口下运行。

在命令窗口中,用户可以发出MATLAB命令。每条命令输入并按回车键后,MATLAB系统便解释并执行之,显示命令执行结果。如果不想显示中间结果,可在相应命令后加分号即可。

应当注意,在命令窗口输入命令只适合一些简单的运算程序,不便于编辑修改较复杂的程序。这是因为直接在命令窗口输入的命令一经执行后,只记录其运行结果变量,如果有错误,就得再输入一遍(当然,有较简便的重新输入方法)。这样一来调试程序大麻烦。M文件为这种编辑运行程序过程提供了方便。

在MATLAB系统中,根据功能可将MATLAB系统所使用的外部文件分成几类,并用不同的扩展名作为标识。

(l)M文件以字母m为扩展名,一般为ASCII码文本文件,可以用任何文本编辑器进行编辑。

(2)MAT文件是MATLAB系统的二进制数据文件,用于保存MATLAB系统所

使用的数据。

(3)MEX文件是经过MATLAB编译系统编译的函数二进制可执行文件,可直接调入MATLAB系统中运行,运行速度比M文件快得多,所以常把已经调试好且比较大的M文件编译成MEX文件,供以后使用。M文件又分为程序M文件和函数M 文件。下面简要介绍实验过程中要用到的程序M文件的编辑与运行方法。

如前述,M文件为ASCII文本文件,可以用任何文本编辑器进行编辑。本实验只介绍在MATLAB命令窗口状态下M文件的编辑运行与修改。

1)新建M文件

在MATLAB命令窗口状态,选File-New-M-file,MATLAB系统弹出文件编辑窗口,类似于Windows的记事本(低版本MATLAB就是调用Windows 记事本),这时一切编辑就如同记事本一样。

2)运行与修改M文件

MATLAB采用的是行命令模式,用户每输入一条命令,回车后MATLAB就解释并执行这条命令,再根据要求显示运算结果。此外,MATLAB也可执行某个文件中的MATLAB语句序列(类似于DOS的批处理文件)。这两种模式一起构成了MATLAB 的解释环境。

当一个M文件编辑存盘后,在MATLAB命令窗口输入M文件名并回车,则MATLAB系统就逐行解释并执行该M文件中的命令序列(即程序)。若发现错误,则打开M文件修改,再运行。

2.实验用MATLAB函数简介

为了便于实验时查阅,下面简要介绍几种实验中可能要用到的MATLAB函数。

1)abs

功能:求绝对值(模值)。

格式:y=abs(x)

说明:

Y=abs(x)用于计算x的绝对值,当x为复数时,得到的是复数的模值。

当x为字符串时,abs(x)得到字符串的各个字符的ASCII码,例如,x=′123′,则abs(x)得到:

49 50 51。

2)angle

功能:求相角。

格式。ϕ=angle(h)

说明:ϕ=angle(h)用于求复矢量或复矩阵的相角(以弧度为单位),相角介于-π和+π之间。例如,对复数h可用两种方法表示:

h=x+jy=me j ϕ

则m 和ϕ可由x+jy 表示格式的复数求得

M=abs(h)

ϕ=angle(h)

当然,也可由m 和ϕ求取h=x+jy 格式中的x 和y :

h=m. ∗exp (i ∗ϕ)

x=real (h )

y =imag (h )

3)conv

功能:求卷积。

格式:c=conv (a ,b )

说明:conv (a ,b )用于求矢量a 和b 的卷积,即

c(n)=∑−+−=1

N 0k k)n (b )1k (a ,n=1,2,…

式中N 为矢量a 和b 的最大长度。例如,当a=[1 2 3],b=[4 5 6]时,则

c=conv (a ,b )

c=

4 13 28 27 18

此函数可直接用于求两个有限长序列的卷积。设x(n)和h(n)的长度分别为M 和N ,则计算二者卷积的MATLAB 语句如下:

y =conv (x ,h )

y 的长度为N +M —1。

4)filter

功能:利用IIR 滤波器或FIR 滤波器对数据进行滤波。

格式:y=filter (b ,a ,x )

[y ,zf ]=filter (b ,a ,x )

y =filter (b ,a ,x ,zi )

说明:filter 利用数字滤波器对数据进行滤波,其实现采用直接Ⅱ型结构,因而适用于IIR 和FIR 两种滤波器。滤波器的系统函数为 H(z)=N -N 11M

M 110z a z a 1z b z b b ++++++−−−""

即滤波器系数a=[a 0 a 1 a 2…a N ],b=[b 0 b 1 …b M ],输入序列矢量为X 。

这里的标准形式为a 0=1,如果输入矢量a 时,a 0≠1,则MATLAB 将自动进行归一化系数的操作;如果a 0=0,则给出出错信息。

y=filter (b ,a ,x )利用给定系数矢量a 和b 对x 中的数据进行滤波,结果放入y 矢量中,y 的长度取max (N ,M )。

相关文档
最新文档