《数字信号处理》实验指导书.docx
- 文档编号:2977538
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:78
- 大小:583.81KB
《数字信号处理》实验指导书.docx
《《数字信号处理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》实验指导书.docx(78页珍藏版)》请在冰豆网上搜索。
《数字信号处理》实验指导书
基于计算机的数字信号处理
实验指导书
党向东王海涛
沈阳理工大学信息科学与工程学院
二〇〇七年三月
目录
前言……………………………………………………………………...…………….1
第一章MATLAB基础知识1
第二章MATLAB基本数值运算4
第三章MATLAB的图形处理功能8
第四章MATLAB的程序设计11
第五章常用数字信号处理函数16
第六章MATLAB在数字信号处理中的应用23
实验一常见离散信号的MATLAB产生和图形显示33
实验二离散系统的频率响应分析和零、极点分布37
实验三序列线性卷积、圆周卷积的计算及其关系的研究39
实验四利用DFT分析信号的频谱41
实验五信号时间尺度变换的研究43
实验六快速傅里叶变换及其应用47
实验七IIR滤波器的实现与应用56
实验八FIR滤波器的实现与应用61
前言
数字信号处理研究数字序列信号的表示方法,并对信号进行运算,以提取包含在其中的特殊信息。
近年来,由于在研究及应用两方面均取得了进展,数字信号处理领域已经日趋成熟。
本课程以计算机为工具,通过一定量的实验项目,以验证所学的概念和算法。
由于MATLAB软件的功能十分强大,使用起来也非常方便,在工程技术中尤其是信号处理领域得到了广泛的应用,因此以MATLAB作为本计算机实验课的计算机语言工具。
希望大家通过本教材的学习及上机实践,能基本掌握MATLAB程序设计知识,能利用MATLAB进行简单的数字信号处理问题,利用其提供的工具箱能进行滤波器的设计,为理论知识的实用化而奠定基础。
第一章MATLAB基础知识
§1-1MATLAB软件简介
MATLAB,MatrixLaboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境,在这个环境中,问题与求解都能方便地以数学的语言(主要是矩阵形式)或图形方式表示出来。
与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方式,被称为“草稿纸式的语言”。
§1-2MATLAB应用入门
1.MATLAB的安装与卸载
MATLAB软件在用户接口时具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下uninstall.exe的即可;也可以通过Windows系统的安装卸载程序进行卸载。
2.MATLAB的启动与退出
MATLAB安装完成后,会自动在Windows桌面上生成一个MATLAB图标,它是指向安装目录下\bin\win32\matlab.exe的链接,双击这个图标即可来到MATLAB集成环境的基本窗口;也可以在开始菜单的程序选项中选择MATLAB快捷方式;还可以在MATLAB的安装路径的bin子目录中双击可执行文件matlab.exe。
MATLAB的退出与普通WIN32的程序一样,值得一提的是它有一个自身专有的快捷键Ctrl+Q。
初次启动MATLAB后,将进入MATLAB默认设置下的桌面平台如图1-1所示。
图1-1MATLAB默认设置下的桌面平台
3.MATLAB的桌面平台
默认设置下的桌面平台包括6个窗口,分别是MATLAB主窗口、命令窗口(CommandWindow)、历史窗口CommandHistory)、当前目录窗口CurrentDirectory)、发行说明书窗口(LaunchPad)和工作间管理窗口(Workspace)。
3.1MATLAB主窗口
MATLAB的其它几个窗口都包含在这个大的主窗口中,主窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。
主要包括菜单栏(File、Edit、View、Web、Window和Help共6个下拉菜单)、工具栏(10个按钮控件)等。
工具栏各按钮控件及说明如下所示:
3.2命令窗口(CommandWindow)
MATLAB的命令窗口如图1-2所示。
其中“
”为运算提示符,表示MATLAB正处在准备状态。
当在提示符后输入一段运算式或命令并按Enter键后,MATLAB将给出计算结果,然后再进入准备状态。
图1-2MATLAB的命令窗口
3.3MATLAB常用命令
MATLAB有一些嵌入函数,有时应用这些函数可以起到事半功倍的效果。
MATLAB常用的控制命令见表1-1。
表1-1:
MATLAB常用命令
命令
功能
cd
显示或改变当前工作目录,与工具栏中
同效
dir
列出当前目录或指定目录下的文件和子目录清单,类似于DOS命令DIR
clc、home
的所有显示内容,并把光标移到命令窗口的左上角
clf
清除MATLAB当前图形窗口中的图形
clear
清除内存中的变量和函数
disp
显示变量的内容
type
列出指定文件的全部内容,类似于DOS命令TYPE
exit、quit
退出MATLAB
who
列出当前工作空间中的变量
whos
列出当前工作空间中的变量的更多信息
what
列出当前目录或指定目录下的.M文件、..MAT文件和..MEX文件
which
显示指定函数或文件的路径
lookfor
按照指定的关键字查找所有相关的.M文件
第二章MATLAB基本数值运算
§2-1MATLAB内部特殊变量和常数
MATLAB内部有很多变量和常数,用以表达特殊含义。
常用的有:
⑴变量ans:
指当前未定义变量名的答案。
⑵常数eps:
表示浮点相对精度,其值是从1.0到下一个最大浮点数之间的差值。
该变量值作为一些MATLAB函数计算的相对浮点相对精度,按IEEE标准,eps=2-52,近似为2.2204e-016。
⑶常数Inf:
表示无穷大。
当输入或计算中有除以0时产生Inf。
⑷虚数单位i、j:
表示复数虚部单位,相当于
。
⑸NaN:
表示不定型值,是由0/0运算产生的。
⑹常数pi:
表示圆周率π,其值为3.1415926535897…。
§2-2变量类型
1.变量命名规则
MATLAB中对变量的命名应遵循以下规则:
1)变量名可以由字母、数字和下划线混合组成,但必须以字母开头。
2)字符长度不能大于31。
3)变量命名区分大小写。
2.局部变量和全局变量
局部变量是指那些每个函数体内自己定义的,不能从其它函数和MATLAB工作空间访问的变量。
全局变量是指用关键字“global”声明的变量。
全局变量名应尽量大写,并能反映它本身的含义。
如果需要在工作空间和几个函数中都能访问一个全局变量,必须在工作空间和这几个函数中都声明该变量是全局的。
§2-3向量及其运算
向量运算是矢量运算的基础,向量也是组成矩阵的基本元素之一。
1.向量的生成
1.1直接输入向量
生成向量最直接的方法就是在命令窗口中直接输入。
格式上的要求是,向量元素需要用“[]”括起来,元素之间可以用空格、逗号或分号分隔;需要注意的是,用空格和逗号分隔生成行向量,用分号分隔生成列向量。
例A=[1,2,3]或A=[123]%生成行向量
A=[1;2;3]%生成列向量
1.2利用冒号表达式生成向量
冒号表达式的基本形式为x=x0:
step:
xn,其中x0、step、xn分别为给定数值,x0表示向量的首元素数值,xn表示向量尾元素数值限(只有当xn-x0恰为step值的整数倍时,xn才能成为尾数),step表示从第二个元素开始,元素数值大小与前一个元素数值大小的差值。
例在命令窗口,给向量a、b、c赋值。
>>a=1:
2:
12
a=
1357911
>>b=12:
-2:
1
b=
12108642
>>c=1:
2:
13
c=
135791113
1.3特殊向量的生成
对于特殊的向量可直接调用MATLAB的函数生成。
如y=linsoace(x1,x2,n)用于生成线性等分的n维行向量,使得y
(1)=x1,y(n)=x2。
另外,向量还可以从矩阵中提取,还可以把向量看成是1×n阶(行向量)或n×1阶(列向量)的矩阵,以矩阵形式生成。
2.向量的基本运算
2.1加(减)与数乘计算
例>>a=[1,2,3,4];b=[0,1,2,3];c=a-b
c=
1111
>>d=a-3
d=
-2-101
>>4*a
ans=
481216
2.2对位乘、点积计算
同维向量a与b的对位乘用c=a.*b实现,即c的每一个元素之值是a与b对应元素的乘积。
同维向量a与b的点积,一个方法是利用函数dot来实现;另一种方法是先生成a与b的对位乘向量c,再取c的各元素和即为a与b的点积。
例>>a.*b
ans=
02612
>>dot(a,b)%或sum(a.*b)
ans=
20
§2-4矩阵及其运算
MATLAB具有强大的矩阵运算和数据处理功能,对矩阵的处理必须遵从代数规则。
1.矩阵的生成
(1)一般矩阵的生成
对于一般的矩阵,MATLAB的生成方法有很多种。
最简单的方法是从键盘直接输入矩阵元素。
直接输入矩阵元素时应注意:
各行的元素之间用空格或逗号隔开,行与行之间用分号或回车隔开,用中括号把矩阵所有的元素括起来。
例在工作空间产生一个3×3矩阵A可用MATLAB语言描述如下:
A=[1,2,3;4,5,6;7,8,9]
或A=[123
456
789]
运行结果为
A=
123
456
789
(2)特殊矩阵的生成
对于特殊的矩阵可直接调用MATLAB的函数生成
用函数zeros生成全0矩阵:
格式为B=zeros(m,n)生成m×n的全0阵。
用函数ones生成全1矩阵:
格式为B=ones(m,n)生成m×n的全1阵。
用函数eye生成单位阵:
格式为B=eye(m,n)生成m×n矩阵,其中对角线元素全为1,其它元素为0。
2.矩阵的运算
矩阵的运算有基本运算和函数运算两种类型。
基本运算包括矩阵的加、减、乘、除、幂、转置、逆等,其主要特点是通过MATLAB提供的基本运算符+、-、*、/、^等即可完成。
函数运算主要是通过调用MATLAB系统内置的运算函数来求取矩阵的,求秩,求特征值和特征相量,等等。
需要时可以参阅联机帮助和相关参考书。
例矩阵的基本运算
>>a=[1,2,3;4,5,6];
>>b=[6,5,4;3,2,1];
>>c=a+b%计算两个矩阵的和
c=
777
777
>>d=b'%计算矩阵b的转置
d=
63
52
41
>>e=a*d%做矩阵的乘法,必须满足矩阵乘法的基本要求
e=
2810
7328
>>f=det(e)%求矩阵e的行列式
f=
54
>>g=e^(-1)%求矩阵e的逆
g=
0.5185-0.1852
-1.35190.5185
第三章MATLAB的图形处理功能
从最原始版本的MATLAB开始,图形功能就已经成为基本的功能之一。
随着MATLAB版本的逐步升级,MATLAB的图形工具箱从简单的点、线、面处理发展到了集二维图形、三维图形甚至四维表现图和对图形进行着色、消隐、光
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 数字信号 处理 实验 指导书