您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > MATLAB及其在数字信号处理中的应用
MATLAB及其在数字信号处理中的应用摘要在科学技术迅速发展的今天,几乎所有的工程技术领域中存在数字信号,对这些信号进行有效处理,以获取我们需要的信息,正有力地推动数字信号处理学科的发展。MATLAB语言由于其语法的简洁性、代码接近自然数学描述方式以及具有丰富的专业函数库等诸多优点,吸引了众多科学研究工作者,越来越成为科学研究、数值计算、建模仿真以及学术交流的事实标准。随着MATLAB/SIMULINK通信、信号处理专业函数库和专业工具箱的成熟,它们在通信理论研究、算法设计、系统设计、建模仿真和性能分析验证等方面的应用也更加广泛。MATLAB软件集数值分析、信号处图形显示于一体,且界面友好、具有强大的专业函数库和工具箱,在数字信号处理的科学研究中越来越重要的计算和仿真验证工具。关键词:MATLAB数字信号处理应用1ABSTRACTWiththerapiddevelopmentofscienceandtechnology,almostallengineeringtechnologyhaverelationshipwithdigitalsignaltoday.Weshouldtohandlethesesignaleffectively,inordertogettheinformationweneed.Andinthiswaythedevelopmentofdigitalsignalprocessingdisciplineisstronglypromoted.Becauseofitssuccinctgrammarandthecodegetsclosetonatureandmathematicsdescriptionwaywithabundantprofessionalfunctionlibrary,andmanyotheradvantages,MATLABlanguagehasbecameatoolofscientificresearchthatbeusedmoreandmorewidely.Itattractednumerousscientificresearchersandbecamethecriterionoftruthofnumericalcalculations,modelingsimulationandacademicexchange.Withthematureofcommunicationandsignalprocessingprofessionalfunctionlibraryandprofessionaltoolbox,theapplicationofMATLAB/SIMULINKalsomoreextensiveincommunicationtheoryresearch,algorithmdesign,systemdesign,modelingsimulationvalidationandperformanceanalysis.MATLABsoftwaresetnumericalanalysis,signalplacegraphicdisplayatanorganicwhole,andfriendlyinterface.Becauseofitsstrongprofessionalfunctionlibraryandtoolbox,itplaysamoreandmoreimportantroleindigitalsignalprocessingofscientificresearchespeciallythecalculationandsimulationvalidationtool.Keywords:MATLAB,digitalsignalprocessing,applications2目录摘要··························································································0ABSTRACT······················································································11MATLAB简介············································································31.1MATLAB的主要组成部分·······················································31.2MATLAB开发环境···································································42MATLAB在数字信号处理中的应用···············································42.1基本信号的表示及可视化··························································42.2MATLAB在采样与波形发生的应用·············································62.3MATLAB在数字滤波器中的应用················································7参考文献······················································································1231MATLAB简介MATLAB是功能强大的科学及计算软件,它不但具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。MATLAB的应用领域极为广泛,除了数学计算和分析外,还被广泛地应用于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,因此,MATLAB是面向21世纪的计算机程序设计及科学计算语言。1.1MATLAB的主要组成部分MATLAB系统包括5个主要部分:(1)开发环境MATLAB开发环境由一组工具和组件组成,这些工具是图形化的用户界面,包括MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、文件和搜索路径浏览器。(2)MATLAB数学函数库MATLAB集成了丰富的数学函数库,其强大的计算能力覆盖了从基本函数(如求和、正弦、余弦和复数运算等)到高级函数(如矩阵求逆、矩阵特征值、贝塞尔函数和快速傅立叶变换等)的范围。(3)MATLAB语言MATLAB语言是一种以矩阵运算为基础的高级语言,包括控制流的描述、函数、数据结构、输入输出及面向对象的编程环境,既可以编制快速使用小程序,也可以编制大型复杂的应用程序。(4)图形功能MATLAB提供了功能强大的图形系统,既可以用高级命令完成二维和三维数据的可视化、图像处理、动画和图形表达等功能,也可以通过使用图形句柄完成复杂的图形功能,实现对所有图形对象的操作。(5)应用程序接口(API)MATLAB还提供了应用程序接口库函数,允许用户使用C或FORTRAN语4言编写程序与MATLAB连接,功能包括与MATLAB的动态连接、调用MATLAB作为运算引擎、读写MAT文件等。MATLAB的广泛应用促进了其本身功能的迅速发展,以特定领域的应用为主要目的的应用程序——工具箱的数量和内容在不断增多。1.2MATLAB开发环境启动MATLAB后,将显示包括命令窗口(CommandWindow)、工作空间窗口(Workspace)、命令历史窗口(CommandHistory)和当前路径窗口(CurrentDirectory)等四个窗口和主菜单组成的操作桌面(图1.1)。操作桌面缺省状态下显示三个窗口,工作空间和当前路径窗口在同一位置显示,可以通过该窗口下方的箭头或窗口标签来切换。图1.1操作桌面2MATLAB在数字信号处理中的应用2.1基本信号的表示及可视化数字信号处理的基础是离散信号及离散系统,在MATLAB中可直观快速进行离散信号的显示与运算。用MATLAB表示一离散序列x[k]时,可用两个向量5来表示。其中一个向量表示自变量k的取值范围,另一个向量表示序列x[k]的值,在命令窗口直接输入表示两个向量的命令语句即可。例如利用MATLAB表示单位脉冲序列δ[k-2]在-4≤k≤4范围内各点的取值,可在命令窗口输入如下语句:k=[-4:4];%确定k的取值范围x=[(k-2)==0];%当(k-n)为0时x的值为1,否则x的值为0stem(k,x);%建立坐标系,作图xlabel(‘k’);%在X轴添加标签:k程序产生的序列波形如图2.1所示。图2.1MATLAB产生的单位脉冲序列δ[k-2]在-4≤k≤4的图形又如生成余弦序列x[n]=cos(0.02πn),其中n的取值范围是[0,100],可在命令窗口直接输入如下命令语句:n=0:2:100;%确定自变量n的取值范围x=cos(0.02*pi*n);stem(x)%作图xlabel(‘n’);%在X轴添加标签:n程序产生的波形如图2.2所示6图2.2余弦序列x[n]=cos(0.02πn)的图像另外,MATLAB的工具箱中还提供了大量的信号产生函数,例如:sawtooth(产生锯齿波或三角波信号)、square(产生方波信号)、chirp(产生调谐余弦信号)、gauspuls(产生高斯正弦脉冲信号)等等,调用这些函数可以方便地生成多种复杂信号。2.2MATLAB在采样与波形发生的应用数字信号处理的对象,是在采样时钟的控制之下,通过A/D转换器一定的采样频率对模拟信号进行采样得到的。根据采样定理,采样率必须大于模拟信号的最高采样率(Nyquist频率)的2倍。但是在许多情况下,要求信号以不同的频率采样,改变采样时钟虽然可行,但是并不可取。这时需要对采样数据进行处理:或者用抽取的方法降低其采样率(下采样);或者用内插的方法提高其采样率(上采样);或者两者兼有之(重采样)。在程序设计阶段,为了对程序进行调试或验证算法的正确性,需要一些特性已知的信号(简单的如正弦、方波、三角波等),所以可以由Matlab提供一些波形产生函数。例如在上节中提到的方波发生器square()、锯齿波和三角波发生器sawtooth()等。此外,对于采样处理,MATLAB也提供了一些简单的处理函数,例如函数resample()可用于改变信号的采样率、函数decimat()用于经低通滤波后信号的下采样以及函数interp()用于经低通滤波后信号的上采样等等。7例如:要产生一频率为10kHz的周期高斯脉冲信号,其带宽为50%。脉冲重复的频率为1kHz,采样率为50kHz,脉冲序列的长度为10ms。重复时幅度每次衰减为原来的0.8倍。可在MATLAB的命令窗口直接输入如下命令语句:t=0:1/50e3:10e-3;%确定时间范围及步长d=[0:1/1e3:10e-3;0.8.^(0:10)]';y=pulstran(t,d,'gauspuls',10e3,0.5);%对连续函数进行采样而得到脉冲序列plot(t,y);%作图xlabel('时间/s');%给X轴加标签“时间/s”ylabel('幅值')%给Y轴加标签“幅值”程序产生的波形如图2.3所示。图2.3周期高斯脉冲信号2.3MATLAB在数字滤波器中的应用滤波器是指用来对输入信号进行滤波的硬件或软件。如果滤波器的输入、输出都是离散时间信号,则该滤波器冲击响应也必然是离散的,这样的滤波器定义8为数字滤波器。数字滤波器用硬件实现的基本部件包括延迟器、乘法器和加法器;如果用软件来实现时,它即是一段线性卷积程序。软件实现的优点是系统函数具有可变性,仅依赖于算法结构,而且易于获得较理想的滤波功能。MATLAB的信号处理工具箱的两个基本组成就是滤波器的
本文标题:MATLAB及其在数字信号处理中的应用
链接地址:https://www.777doc.com/doc-4851917 .html