您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于MATLAB的GUI数字信号处理仿真平台的设计
的图形交互式数字信号处理实验平台李红星*作者简介:中国矿业大学硕士研究生,男,电子与通信工程.E-mail:willystar@126.com(中国矿业大学信息与电气工程学院,江苏徐州221008)摘要:MATLAB软件在电子信息类课程中应用越来越广泛,其中的交互式图形用户界面及其参数的可调性可使数字信号处理的分析过程变得易于控制、直观可视化,有利于提高”数字信号处理”课程的教学质量和效果。本文以GUI编辑界面建立GUI的方法,基于MATLAB对数字信号处理中的实验:基本离散时间信号的实现、常用离散时间信号的运算与波形变换、离散系统的零极点分析、DFT计算、进行了交互式设计,最后给出了部分实验的分析和结果,展示了MATLAB图形用户界面在“数字信号处理”课程辅助教学中的优点。关键词:MATLABGUI;数字信号处理;仿真;实验平台中图分类号:TP319TheGraphicalInteractiveExperimentsPlatformfordigitalsignalprocessingbasedonMATLABLIhongxing(SchoolofInformation&Electricalengineering,ChinaUniversityofMining&Technology,Xuzhou,Jiangsu221008)Abstract:TheMATLABsoftwareappliesinthefieldofelectronicinformationisgettingmoreandmorewidespread,inwhichgraphicalinteractiveuserinterfaceandtheparametercontrollabilitymaycausetheDigitalSignalProcessing'sparsingprocesstobecomeeasytocontrol,thedirect-viewingvisualization,whichisadvantageousintheenhancementofthequalityandeffectinteachingthecourseofDigitalSignalProcessing.ThisarticleestablishesGUIbythewayofGUIeditioncontactsurface.BasedonMATLAB,theexperimentsofDigitalSignalProcessing:thecommonlyusedrun-ondigitaltimesignalrealized,calculationsofthecommonlyusedrun-ondigitaltimesignal,digitalsystem'szero-poleanalysisandcalculationofDFThasbeencarriedontheinteractivedesign,finallyithasgiventhepartexperiment'sanalysisandtheresultinthispaper,whichhasdemonstratedtheadvantagesoftheapplicationsofMATLABGUIsinteachingthecourseofDigitalSignalProcessing.Keywords:MATLABGUI;DigitalSignalProcessing;Simulation;Experimentalplatform1引言随着科学技术的迅速发展,社会要求高等学校培养的大学生要有扎实的理论基础,又要受过严格的工程技术训练。通过教学过程中的实验环节,可以不断地提高学生分析和解决实际问题的能力。仿真实验作为一种科学研究手段和实验实物的补充,具有不受设备和环境条件限制,不受时间地点、地点限制,不需要增加投资,也不需要维护和修理设备等特点,因而越来越多地受到人们的重视,也有了多种仿真分析的通用工具。MATLAB(矩阵实验室)作为一种编程语言和可视化工具,它具有一系列丰富的功能,可解决工程、科学计算和数学中的许多问题,是目前高等院校与科研院所广泛使用的优秀应用软件。该软件功能强大,界面直观,语言自然,使用方便,在信号处理、系统识别、自动控制、非线性系统、模糊控制、优化技术、神经网络、小波分析等领域也得到了广泛的应用。“数字信号处理”课程是电子信息、自动控制、通信工程、电气工程等电类专业的主干课中国科技论文在线程之一,该课程是一门理论性与应用性并重的课程,它以“高等数学”、“工程数学”、“电路分析基础”、“信号与系统”等课程为基础,同时又是后续“通信原理”等专业课程的基础,在教学环节中起着承上启下的重要作用。因此,如何有效地提高“数字信号处理”课程的教学质量和效果,让学生具备扎实的信号与系统分析的基本方法和理论,为后续专业课程培养数学概念、物理概念和工程概念相互结合的学习方法和思维方法,是一项具有重要意义的工作。长期以来,由于“数字信号处理”课程本身的特点,该课程主要依靠传统黑板式的单一教学方式来进行教学,学生仅依靠做习题来巩固和理解教学内容,一定程度上影响和制约了该课程的教学效果,主要表现在以下几个方面:(1)该课程强调对数学概念、物理概念及工程概念的理解与统一,对数学要求较高,理论分析结果往往来源于复杂的数学运算及推导,这就可能导致学生将大量的时间用于手工数学运算,过度关注信号与系统分析的数学过程,而忽视了分析结果在信号处理中的实际应用。因此学生迫切需要一种工具软件来辅助完成课程中的数值计算与分析。(2)由于黑板式的单一教学模式,课程中大量二维、三维的信号与系统分析过程和结果缺乏可视化的准确表现,一定程度上影响学生对所学知识的深入理解和掌握。(3)由于缺乏交互式的仿真实验环节,学生在学习过程中存在一定的被动性,特别是在系统设计方面,自己设计的系统经过复杂的手工数学计算后,往往不能直观地得到系统的可视化测试结果,一定程度制约了学生的学习兴趣和学习主动性。因此,该课程迫切需要进行教学方法和教学手段的改革,即改革传统的单一教学模式,加强实践教学,将计算机仿真引入到“数字信号处理”课程的教学中来,实现在交互式的可视化实验环境中,以计算机为辅助教学手段,用信号分析软件帮助学生完成数值计算、离散信号与系统分析的可视化建模及仿真,为学习后续专业课打下坚实的基础。国际上公认的优秀科技应用软件MATLAB为“数字信号处理”课程实现计算机仿真提供了强有力的工具和平台,其强大的数值计算功能、可视化图形处理功能、专业的符号运算和可视化建模仿真功能,深受广大工程技术人员的欢迎,其中的信号处理工具箱、通信工具箱已成为“信号与系统”、“数字信号处理”、“通信原理”等课程及相关工程应用领域的有效计算和仿真工具。目前,在国外高等学校,MATLAB已成为本科生、研究生必须掌握的基础软件,国内部分理工科院校也把MATLAB作为学生必须掌握的一种基础软件。MATLAB已成为“信号与系统”、“数字信号处理”、“通信原理”等电类专业的重要基础课程的首选实验平台。本文正是基于上述“数字信号处理”课程现状和应用背景提出的,利用MATLAB作为开发平台,设计实现基于MATLAB的图形交互式教学实验系统。应用MATLAB具体形象地演绎“数字信号处理”课程中的基本概念和理论方法,在交互式的可视化实验环境中,激发学生学习兴趣和学习主动性,加深学生对课程中抽象概念和理论的掌握和理解,有效提高“数字信号处理”课程的教学质量和效果。使学生在学习“数字信号处理”课程的同时,掌握MATLAB的应用,为后续“通信原理”等专业课熟练应用MATLAB打下良好的基础。数字信号处理课程涉及较深的数学功底,其内容涉及以傅里叶变换、拉普拉斯变换、Z变换、复变函数的环路积分为数学基础,这些内容对数学基础薄弱的同学来说掌握起来比较困难。但是这门课程在大多数工科院校中要求的是掌握数字信号处理的思维和数字信号处理的技能,而不是陷入繁琐的数学推导之中。所以学习“数字信号处理”的基本原则是“必须够用为度”。许多人选择使用MATLAB来实现“必须有用为度”这一原则。中国科技论文在线《基于MATLAB的数字信号处理与实践开发》中第四章设计了“基于MATLABGUI的离散系统”设计了比较完整的GUI界面。基本离散信号与系统设计的比较充分,但是对于DFT没有涉及。《数字信号处理及MATLAB实现》(清华出版社)一书对与数字信号处理中的基本理论给出了大量的MATLAB实例及源程序。可以较好的满足学生对理论知识学习的需要,避免陷入繁杂的数学推导中。但是都是基于m文件的。可操作性不如GUI.同样的书籍还有许多,如《MATLAB7.X数字信号处理》、《数字信号处理的MATLAB实现》(科学出版社)等。图形交互式的数字信号处理实验平台的设计主要涉及两个方面的问题:一、图形化用户界面;二、数字信号处理基于MATLAB的仿真实现,即用MATLAB完成信号与系统的可视化建模与仿真。本文围绕该设计涉及的问题分为三大部分:第一部分对图形化用户界面进行了介绍,包括图形化用户界面简介、编辑GUI的常用函数、GUI的建立,着重研究以GUI编辑界面——GUIDE建立GUI。第二部分是GUI信号与系统实验平台的设计,包括设计的基本内容、系统总体设计步骤、及实验系统的设计及实现。第三部分对实验平台涉及的部分实验进行了分析,并给出了部分实验的实验结果。2MATLAB图形化用户界面2.1图形化用户界面简介图形化用户界面(GraphicalUserInterfaces,以下简称GUI)是一种图形化的沟通界面[1][2][3][4],通过此界面可以很方便地达到一些特定控制的操作,而这些界面又是由按钮、窗口、工具栏、键盘操作等对象所构成的,以方便借助这些界面调用MATLAB来进行运算处理操作。GUI是未来的趋势,因为人类对于图形辨识的能力远超过其他表达方式,因此借助GUI程序能够设计出专属某个主题的图形化界面,使初次接触的使用者也能够快速且容易地上手。另外,MATLAB具有高度的数学运算能力与各种领域的工具箱,若能结合GUI所完成的程序会非常实用2.2编辑GUI的常用函数(1)get:获得对象的属性值语法如下所示:get(handle)句柄值为handle对应的对象的所有属性值get(handle,’属性名称’)获得特定属性名称对应的属性值其中handle表示该对象的句柄值。首先必须特别注意的一个重点是,MATLAB中所有GUI对象都是由句柄值进行对象的控制,句柄值就好像一个对象的识别证,每个对象都有一个专属的句柄值,这个值可以由用户自行设置或直接通过MATLAB绘图函数、GUI对象相关函数自动产生,如plot等函数都会产生句柄值,借助句柄值就可以指定对应的对象通过其属性来编辑操作。(2)set:设置对象的属性值语法如下所示:set(handle,’属性名称’,’属性值’)设置句柄值为handle的对象属性set(handle,’属性名称1’,’属性值’,’属性名称2’,’属性值’,---)一次设置多个属性类似,只是目的不同而已,因为set用以设置对象的属性,因此输入参数中多一个属性值,也就是设置指定属性名称所对应的属性值,并且set在语法上可以一次设置多个属性。除了以上这两个最常使用的属性获得与设置的函数外,在GUI中若能够善用gcf、gca、gco、gcbf、gcbo、findobj等函数来查询对象的句柄值,在对象属性设置上更能方便与快捷地实现GUI对象的目的。所谓的当前对象有以下两个定义:最后建立的对象与最后选取的对象。·gcf:对当前的figure对象回
本文标题:基于MATLAB的GUI数字信号处理仿真平台的设计
链接地址:https://www.777doc.com/doc-3670232 .html