数字信号处理实验指导书定稿新.docx
《数字信号处理实验指导书定稿新.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验指导书定稿新.docx(64页珍藏版)》请在冰豆网上搜索。
数字信号处理实验指导书定稿新
数字信号处理实验指导书
前言
数字信号处理是是电子信息工程专业的一门专业基础课。
本课程主要研究如何对信号进行分析、变换、综合、估计与识别等加工处理的基本理论和方法,数字信号处理实验是验证、巩固和补充课堂讲授的理论知识的必要环节。
通过实验,使学生巩固所学基本理论,掌握最基本的数字信号处理的理论和方法,提高综合运用所学知识,提高计算机编程的能力。
进一步加强学生独立分析问题、解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后的工作打下良好的基础。
数字信号处理实验指导书针对每个实验介绍了MATLAB语言数字信号处理工具箱中的相应函数,举例并附有相应的程序。
为配合课堂理论教学,实验内容安排仍从认识性和验证性入手,逐步增加设计性和工程应用性内容,达到训练实验技能和积累工程实际应用经验之目的。
数字信号处理实验成绩按百分制核定。
预习占20%,实验过程占40%,实验报告占40%。
电气电子信息工程系
电工电子基础教研室
2007.03
实验要求
在实验过程中,要求学生做到:
(1)预习实验指导书有关部分,认真做好实验内容的准备工作,就实验可能出现的情况提前作出思考和分析,需要计算的参数提前完成计算工作,并认真写出预习报告。
(2)仔细观察实验过程中图形随参数的变化,记录图形变化的主要情况,作出必要说明和分析。
(3)认真书写实验报告并在规定的时间内把实验报告交给辅导教师。
实验报告包括实验目的和要求,实验情况及其分析。
对需要编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到。
如有事不能出席,所缺实验一般不补。
实验验收分为两个部分。
第一部分是上机操作,包括检查程序运行和即时提问。
第二部分是提交书面的实验报告。
每个实验都应当在规定的时间内完成并检查通过,过期视为未完成该实验,扣该实验操作成绩。
为避免期末集中检查方式产生的诸多不良问题,希望同学们抓紧时间,合理安排,认真完成。
第一部分MATLAB简介
一、MATLAB简介及其安装使用说明
1、MATLAB程序设计语言简介
MATLAB,MatrixLaboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。
截至目前,MATLAB已经发展到7.x版,适用于所有32位的Windows操作系统,按NTFS(NT文件系统)格式下完全安装约需850MB。
MATLAB软件主要由主包、仿真系统和工具箱三大部分组成。
2、MATLAB应用入门
(1)MATLAB的安装与卸载
MATLAB软件在用户接口设计上具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。
MATLAB自身带有卸载程序,在其安装目录下有uninstall子目录,运行该目录下的uninstall.exe即可;也可以通过Windows系统的安装卸载程序进行卸载。
(2)MATLAB的启动与退出
MATLAB安装完成后,会自动在Windows桌面上生成一个快捷方式,它是指向安装目录下\bin\win32\matlab.exe的链接,双击它即可来到MATLAB集成环境的基本窗口,通常称之为命令窗口。
MATLAB的退出与普通WIN32的程序一样,值得一提的是它有一个自身专有的快捷键Ctrl+Q。
(3)MATLAB界面简介
图1MATLAB基本界面——命令窗口
图2
图3
图4
图5
图6指令历史
图7
1)菜单栏
菜单栏中包括File、Edit、View、Web、Window和Help六个菜单项。
这里着重介绍File、help项。
File项:
数据输入/输出的接口,包括10个子项,这里重点介绍其中的5个子项:
New:
新建文件项。
有四个选择:
MFile(*.M,文本格式的MATLAB程序文件,可以直接通过文件名的方式在MATLAB环境下解释运行;Figure(图形);Model(仿真模型文件)和GUI(可视化界面文件)。
Open:
打开所有MATLAB支持的文件格式,系统将自动识别并采用相应的程序对文件进行处理。
例如,打开一个.m文件,系统将自动打开M文件编辑器对它进行编辑。
SetPath...:
设置工作路径。
可以打开路径设置(SetPath)对话框(图2),将用户自己建立的目录加入MATLAB的目录系统中,以便所编制的文件能够在MATLAB环境中直接调用。
图8路径设置对话框
单击AddFolder...按钮可以将你的一个文件夹加入到系统路径中;AddwithSubfolders...允许把一个文件夹包括其所有的子文件夹加入到系统路径中。
这两种操作均可以直观地在右侧的路径栏内看到结果。
选中一个加入的文件夹,你可以利用MovetoTop(移至所有路径的最前面),MoveUp(上移一个),MoveDown(下移一个),MovetoBottom(移至所有路径的最后面)等四个按钮将改变文件在系统路径中的排列位置以利于对文件的搜索使用,也可以利用Remove按钮将其删除。
对路径操作完毕后,按Save按钮予以保存;
Help项:
MatlabHelp:
打开以html超文本形式存储的的帮助文件主页;
Demos:
打开matlab演示窗主页;
AboutMatlab:
Matlab注册图标、版本、制造商和用户信息;
图9Help选项
图10Help窗口
2)命令行区
进行通用操作,数值计算,编程和数据类型,输入输出,绘图,用户界面等命令,例如,命令:
help函数名(*.m文件);
edit编辑函数、文件
对输入命令的解释MATLAB按以下顺序进行:
①检查它是否是工作空间中的变量,是则显示变量内容。
②检查它是否是嵌入函数,是则运行之。
③检查它是否是子函数。
④检查它是否是私有函数。
⑤检查它是否是位于MATLAB搜索路径范围内的函数文件或脚本文件。
请注意,如果有两个以上的方案与输入的命令相匹配,MATLAB将只执行第一个匹配。
二、Matlab基本语句
1、程序控制语句
(1)循环语句
MATLAB的循环语句包括for循环和while循环两种类型。
1)for循环
语法格式:
for循环变量=起始值:
步长:
终止值
循环体
end
起始值和终止值为一整形数,步长可以为整数或小数,省略步长时,默认步长为1。
执行for循环时,判定循环变量的值是否大于(步长为负时则判定是否小于)终止值,不大于(步长为负时则小于)则执行循环体,执行完毕后加上步长,大于(步长为负时则小于)终止值后退出循环。
例1给矩阵A、B赋值。
MATLAB语句及运行结果如下:
k=5;
a=zeros(k,k)%矩阵赋零初值
form=1:
k
forn=1:
k
a(m,n)=1/(m+n-1);
end
end
fori=m:
-1:
1
b(i)=i;
end
运行结果:
a=
1.00000.50000.33330.2500?
0.2000
0.50000.33330.25000.20000.1667
0.33330.25000.20000.16670.1429
0.25000.20000.16670.14290.1250
0.20000.16670.14290.12500.1111
b=
12?
345
2)while循环
语法格式:
while表达式
循环体
end
其执行方式为:
若表达式为真(运算值非0),则执行循环体;若表达式为假(运算结果为0),则退出循环体,执行end后的语句。
例2
a=3;
whilea
a=a-1
end
输出:
a=2
a=1
a=0
(2)条件转移语句
条件转移语句有if和switch两种。
1)if语句
MATLAB中if语句的用法与其他高级语言相类似,其基本语法格式有以下几种:
格式一:
if逻辑表达式
执行语句
end
格式二:
if逻辑表达式
执行语句1
else
执行语句2
end
格式三:
if逻辑表达式1
执行语句1
else?
if逻辑表达式2
执行语句2
end
2)switch语句
switch语句的用法与其他高级语言相类似,其基本语法格式为:
switch表达式(标量或字符串)
case值1
语句1
case值2
语句2
…
otherwise
语句n
end
2、绘图语句
常用的MATLAB绘图语句有figure、plot、subplot、stem等,图形修饰语句有title、axis、text等。
(1)figure
figure有两种用法,只用一句figure命令,会创建一个新的图形窗口,并返回一个整数型的窗口编号。
figure(n)表示将第n号图形窗口作为当前的图形窗口,并将其显示在所有窗口的最前面;如果该图形窗口不存在,则新建一个窗口,并赋以编号n。
(2)plot
线型绘图函数。
用法为plot(x,y,'s')。
参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表1所示。
表1
(3)Stem
绘制离散序列图,常用格式stem(y)和stem(x,y)分别和相应的plot函数的绘图规则相同,只是用stem命令绘制的是离散序列图。
(4)subplot
subplot(m,n,i)图形显示时分割窗口命令,把一个图形窗口分为m行,n列,m×n个小窗口,并指定第i个小窗口为当前窗口。
(5)绘图修饰命令
在绘制图形时,我们通常需要为图形添加各种注记以增加可读性。
在plot语句后使用title('标题')可以在图形上方添加标题,使用xlabel('标记')或ylabel('标记')为X轴或Y轴添加说明,使用text(X值、Y值、'想加的标示')可以在图形中任意位置添加标示。
例3画图基本语句如图1所示。
MATLAB语句及运行结果如下:
x=0:
0.1*pi:
2*pi;%定义x向量
figure
(1);%创建一个新的图形窗口,编号为1
subplot(2,2,1);%将窗口划分为2行,2列,在第1个窗口中作图
plot(x,sin(x));%画图
title('正弦线');%给图形加标题
subplot(2,2,2);%在第2个窗口中作图
plot(x,sin(x),'r');%画一正弦波,红色
xlabel('X');%给x轴加说明
ylabel('SIN(X)');%给y轴加说明
subplot(2,2,3);%在第3个窗口中作图
plot(x,sin(x),'--');%画一正弦波,破折线
subplot(2,2,4);%在第4个窗口中作图
plot(x,sin(x),'r+');%画一正弦波,红色+线
text(4,0,'注记');
图1
三、Matlab基本数值运算
1、MA