《数字信号处理实验教学-电子教案.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验教学-电子教案.docx(44页珍藏版)》请在第一文库网上搜索。
1、数字信号处理实验教程华南理工大学电子与信息学院2012年9月目录第一章MatIab简介及其安装使用说明21.1 MAT1AB程序设计语言简介21.2 .MAT1AB应用入门21.3 MatIab基本语句81.4 Mat1ab基本数值运算131.5 MaHab函数、及其调用方法16第二章验证性实验202.1 实验:常见离散信号产生和实现202.2 实验:离散系统的时域分析222.3 实验:FFT算法的应用242.4 实验:离散系统的变换域分析272.5 实验:有限冲激响应数字漉波器设计322.6 实验:无限冲激响应数字滤波器设计36第三章设计性和研究性实验413.1 设计性实验:图像信号的抽取与
2、插值413.2 设计性实验:语音及音乐信号的采样、滤波413.3 设计性实验:双音多频(DTMF)信号的合成和识别423.4 设计性实验:音乐信号处理423.5 设计性实验:OFDM系统的实现433.6 设计性实验:利用超声波信号测量距离433.7 设计性实验:语音信号中的基音估计44第一章MatIab简介及其安装使用说明1.1 MAT1AB程序设计语言简介MAT1AB,Matrix1aboratory的缩写,是由Mathworks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。与大家常用的FOrtran和C等高级语言相比,MAT1AB的语法规则更简单,更贴近人的思维
3、方式,被称之为“草稿纸式的语言”。截至目前.,MAT1AB已经发展到7.X版,适用于所有32位的Windows操作系统,按NTFS(NT文件系统)格式下完全安装约需850MBoMAT1AB软件主要由主包、仿真系统和工具箱三大部分组成。1.2 .MAT1AB应用入门1. MAT1AB的安装与卸载MAT1AB软件在用户接口设计上具有较强的亲和力,其安装过程比较典型,直接运行光盘中的安装向导支撑程序SETUP.exe,按其提示一步步选择即可。MAT1AB自身带有卸载程序,在其安装目录下有UninSta11子目录,运行该目录下的UninSta11eXe即可;也可以通过Windows系统的安装卸载程序进
4、行卸载。2. MAT1AB的启动与退出MAT1AB安装完成后,会自动在Windows桌面上生成一个快捷方式,它是指向安装目录下binwin32mat1ab.exe的链接,双击它即可来到MAT1AB集成环境的基本窗口,通常称之为命令窗口。MAT1AB的退出与普通WIN32的程序一样,值得一提的是它有一个自身专有的快捷键CtrI+Q。3. MAT1AB界面简介烟K越M单栏工具栏金令行区状态松垂直犯ITe毒曲会IseiobrogotoCurrefifDirecrorybrowser.EnterMAnABfunctions.Viewor(honge(urren!directory.O1aiomovew
5、indow(1osewindow,outsideofdesktop.DrogheSeporotorbartoresizewindows.bpandIoviewVieworuseprevious1yrunfunctions,documentation,demos,andtookforyourproduds.图2.2WorkspaceFi1eEditViewWebWindowHe1p苏用囱暗stack:Doub1e-ditk.avariab1etoseeandchangeitscontentsinIheArrayEditor.SizeBytesC1assIXIO80CioUbIearray1x11
6、6doub1earray(comp1ex)1x14ce11array1x1080doub1earray(g1oba1)1x10Wintarray1x1080doub1earray(1ogica1)1x612chararray1x1822in1ineobject1x10164sparsearray1x1406structarray1x1040uint32arrayJv 3 图2.3图2.4UseIhepofhnomeeditboxtoviewdirectoriesood!hek(OnUntSCMrntDifctoyE1E23-3u-2OOO4:55PKDMb1MIideMHetoopenIrin
7、on-appropriatefoo1.YieWthehe1portionoftheSt1ededMf1e.mat)14tz.M)14tza11.m1Iatzp1ot.diaryfa11ing.M-fi1eM-f1eM-f1eM-fi1eM-fi1KAT-fi1e21-9u-20001:211S-Jun-20004:51IS-JUn-280JO-Oec-IW10-0c-199906Tr200019-Apr-2000Co1IatzPrtP1ot1engtP1otIengt1Fo1der27-Hv-19976:28AMBUOCYCdA11fi1esIFIIeTyPeI1aStModifiedIDeS
8、Cripti6eadjacencymatrixortncsicdome,thesoccerba11.FINISHDIGB-Buckyisnew-ty-wsparsconnectivitygraphofthegeodeandthecarbon-60o1ecu1e.图2.5JCommandHistory回降Fi1eEditViewWebWindowHe1p%8/12/028:52AH%whichco11atzCO11atz(2)co11atzp1ot(3)dbquit1oadtheta0(17)t,y=ode23(11otka,z02,20;20)t,=ode23(,1otka,zO2z10;10
9、)co11atz(5)Jimestampmarksthestartofeachsession.Se1ectoneormore1inesandright-c1icktocopy,eva1uate,orcreateanM-fi1efromthese1ection.图2.6指令历史Changeva1uesofarraye1ements.Changethedisp1ayformat./UsethetabstoviewtheVariab1esyouhaveopenintheArrayEditor.图2.71)菜单栏菜单栏中包括Fi1e、Edit、View、WebWindoW和HeIP六个菜单项。这里着重
10、介绍Fi1e、he1p项。FiIe项:数据输入/输出的接口,包括10个子项,这里重点介绍其中的5个子项:New:新建文件项。有四个选择:MFi1e(*.M,文本格式的MAT1AB程序文件,可以直接通过文件名的方式在MAT1AB环境下解释运行;FigUre(图形);Mode1(仿真模型文件)和GUI(可视化界面文件)。Open:打开所有MAT1AB支持的文件格式,系统将自动识别并采用相应的程序对文件进行处理。例如,打开一个.m文件,系统将自动打开M文件编辑器对它进行编辑。SetPath.:设置工作路径。可以打开路径设置(SetPath)对话框(图2),将用户自己建立的目录加入MAT1AB的目录系
11、统中,以便所编制的文件能够在MAT1AB环境中直接调用。单击AddHo1der.按钮可以将你的一个文件夹加入到系统路径中;AddwithSubfo1ders.允许把一个文件夹包括其所有的子文件夹加入到系统路径中。这两种操作均可以直观地在右侧的路径栏内看到结果。图2.8路径设置对话框选中一个加入的文件夹,你可以利用MoVetoToP(移至所有路径的最前面),MoveUp(上移一个),MoveDoWn(下移一个),MovetoBottOm(移至所有路径的最后面)等四个按钮将改变文件在系统路径中的排列位置以利于对文件的搜索使用,也可以利用Remove按钮将其删除。对路径操作完毕后,按SaVe按钮予以
12、保存;He1p项:Mat1abHe1p:打开以htm1超文本形式存储的的帮助文件主页;Demos:打开mat1ab演示窗主页;AboutMat1ab:MatIab注册图标、版本、制造商和用户信息;JMAT1ABWfidowFi1eEditViewWebWindowjHe1pWxtepace口注X能般GCFu11ProductFamiyHeIpMAT1ABHe1pUsingtheQeSktoP自0日!的StadcFy5jngtheCommandWindowexpected,identifierfound.1idhIjk二二一I二二二二.二二二I二1-1:II11I111-I11fiboutMAT
13、1A82048de8de8d8deNeISiZeMgHNiC町y=maic(3)who图2.9He1P选项图2.10HeIP窗口2)命令行区进行通用操作,数值计算,编程和数据类型,输入输出,绘图,用户界面等命令,例如,命令:he1p函数名(*.m文件);edit编辑函数、文件对输入命令的解释MAT1AB按以下顺序进行:检查它是否是工作空间中的变量,是则显示变量内容。检查它是否是嵌入函数,是则运行之。检查它是否是子函数。检查它是否是私有函数。检查它是否是位于MT1B搜索路径范围内的函数文件或脚本文件。请注意,如果有两个以上的方案与输入的命令相匹配,MAT1AB将只执行第一个匹配。1.3MatIa
14、b基本语句一.程序控制语句1 .循环语句MAT1AB的循环语句包括for循环和whi1e循环两种类型。Dfor循环语法格式:for循环变量=起始值:步长:终止值循环体end起始值和终止值为一整形数,步长可以为整数或小数,省略步长时,默认步长为1。执行for循环时,判定循环变量的值是否大于(步长为负时则判定是否小于)终止值,不大于(步长为负时则小于)则执行循环体,执行完毕后加上步长,大于(步长为负时则小于)终止值后退出循环。例1给矩阵A、B赋值。MAT1AB语句及运行结果如下:k=5;a=zeros(k,k)%矩阵赋零初值form=1:kforn=1:ka(m,n)=1(m+n-1);endendfori=m:-1:1b=i;end运行结果:a=1.00000.50000.33330.2500?0.2000O.5000O.3333O.2500O.2000O.1667O.3333O.2500O.2000O.1667O.1429O.2500O.2000O.1667O.1429O.1250O.2000O.1667O.1429O.1250O.I111b=1 2?3452