基于MATLAB的信号与系统实验仿真系统的设计连续信号分析模块.docx
《基于MATLAB的信号与系统实验仿真系统的设计连续信号分析模块.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的信号与系统实验仿真系统的设计连续信号分析模块.docx(38页珍藏版)》请在冰豆网上搜索。
基于MATLAB的信号与系统实验仿真系统的设计连续信号分析模块
基于MATLAB的信号与系统实验仿真系统设计-连续信号分析模块
[摘要]
本文利用MATLAB可视化编程语言开发了一套“信号与系统”实验仿真系统,对实验系统的开发背景、开发平台软件作了简要介绍。
该系统界面友好,操作简单,参数设置方便,输出结果准确直观,为“信号与系统”实验提供了一种新的实现手段。
软件虚拟实验必将成为该课程实验教学的发展方向。
信号与系统是电子信息类专业的专业基础课程,由于信号与系统是一门很抽象,理论和实践结合较紧密的学科,因此实验教学在课程教学中占有十分重要的地位,本文基于MATLAB设计并实现了一套信号与系统试验系统。
引言
《信号与系统》课程是一门实用性较强、涉及面较广的专业基础课,是高等学校电子信息、计算机技术、自动控制等专业的一门重要的必修基础课,在许多学校都被列为重点课程,具有十分重要的地位和作用。
该课程是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后续专业课起着承上启下的作用。
该课程的基本方法和理论大量应用于计算机信息处理的各个领域,特别是在通信、数字语音处理、数字图像处理、数字信号分析领域的应用更为广泛。
因此,让学生掌握对信号与系统进行分析的基本方法和理论,无论是今后专业课的教学,还是学生毕业后从事专业工作的能力,都具有重要的意义。
在目前的教学工作中,《信号与系统》的教学主要是考虑课堂上重点讲授基本理论知识要点,但是《信号与系统》是一门以数学推导为核心的理论性很强的学科,其概念比较抽象,数学计算又比较繁琐并且较少开设实验。
长期以来《信号与系统》一直采用“教师——黑板——学生”的单一教学模式,学生仅依靠做课后习题来巩固和理解教学内容,对课程中大量的应用性较强的内容不能实际动手设计、调试、分析,使学生的课后实践受到相当大的
限制,严重影响和制约了教学效果。
为了帮助学生理解与掌握课程中的基本概念、基本原理、基本分析方法以及培养学生综合应用所学知识解决实际问题的能力,特引入功能强大的Matlab仿真语言,在此基础上设计了基于Matlab软件平台仿真环境的课程实验系统。
该系统对于帮助学生完成数值计算、信号与系统分析的可视化建模
及仿真调试起到了积极的推动作用。
“信号与系统”课程的特点是概念抽象,数学运算量大、公式和理论
推导相对较多,因此“信号与系统”一直处于教难、学更难的境况中,这
就更加需要通过实验来帮助学生理解这些抽象概念。
由于信号与系统
实验所需的设备价格较高,实验难度较大,许多学校都因不具备实验条
件而放弃了实验课程的开设,极大地影响了教学效果。
近年来,随着计算机硬件性能的不断提升和计算机软件技术的飞
速发展,利用计算机进行实验系统仿真成为一种趋势。
用软件来对实验
系统进行仿真有以下几个优点:
(1)实验成本低,且实验器材的选择余地大;
(2)易于实现较为复杂的实验过程;
(3)实验所需时间较少,实验效率高;
(4)便于记录和分析实验过程和实验结果。
【关键词]
关键词:
数字信号处理;教学实验系统;MATLAB;GUI
Abstract
Withthecontinuousdevelopmentofinformationtechnology,digitalsignalprocessinghasbecomeaveryimportantsubjectandtechnologyfield。
Ithaswidelyapplicatedinthecommunication,audioandimage,remotesensing,biologicalengineering.Thecorecontentofdigitalsignalprocessing,mainlyisthesignaltransmissionandprocessing,identificationandsoon.Whenthesignalsystemisacarrierofinformation,informationprocessing.Therefore,inordertobetterresearchsignalandsystemofbasictheoryandmethod,helpstudentsbetterunderstandandmasterofdigitalsignalprocessingtheoryknowledge,intheexperimentalprocessbyMATLAB,theplatformforcomputer-aideddesign.
MATLABalgorithmisusedtodevelop,datavisualization,dataanalysisandnumericalcalculationoftheadvancedtechnologyandtheinteractivelanguageenvironment.Asapowerfulscientificcomputingplatforms,italmosttosatisfyallcomputingrequirements.Asforsimulationandprogramdesignandvisualizationofgeneralitydemandhasincreased,emphaticallyimprovetheMATLABgraphicaluserinterface,greatlysatisfytheneedsoftheusers.
GUIDEofmatlabisaquickdevelopmentenviroment.Agraphicsuserinterfaceforateachingexperimentsoftwareofdigitalsignalprocesshasbeendesignedandimplemented.IntegratingDSPexperiments,anewcomputeraidedinstructionmodeisderivedthroughtthissystemwhichcombingmatlabandmultimedia.Beingactiveandthisinterfaceisfriendlyandopen,thissystemisbeneficialforthestudentstocomprehendDSPtheoryandimprovestheteachingeffectandefficiency.
Keywords:
digitalsignalprocess;teachingexperiment;Matlab;graphicsuserinterface
第一章引言
1.1概述
1.2基于matlab的信号与系统试验平台
1.3研究意义
1.4本文的主要工作
第二章系统分析
2.1引言
2.2需求分析
2.3可行性分析
2.4系统主要目标及功能
2.5小结
第三章方案选取
3.1引言
3.2界面工作的选取
3.3模拟信号实验的软件工具选择
3.4方案选择
第四章开发运营环境
4.1系统开发环境和运营环境
4.1开发语言和开发工具介绍
第五章系统软件平台的设计
5.1引言
5.2系统整体框架
5.3系统设计步骤
5.4系统模块
5.5生成可执行文件
5.6小结
第六章系统测试
6.1引言
6.2测试背景
6.3测试结果
6.4小结
第七章结论
致谢
参考文献
附录
第1章绪论
1.1课题研究的背景及意义
“数字信号处理”在电子信息专业中是一门很重要的课程,它涉及的知识广泛,包括微积分、概率论、信号与系统等。
学生在学习这方面的内容的时候,通常感觉比较抽象,对其中的基本理论和分析方法难以具体地理解和掌握。
为此,很多学校安排了实验课程,借助一些优良的软件平台(如MATLAB等)来解决这一实际问题,帮助学生更好地理解和掌握数字信号处理中的基本理论和分析方法,激发他们的学习兴趣,从而达到良好的教学效果。
1.2教学实验系统简介
数字信号处理实验环节在教学过程中是非常重要的,实验有助于学生理解和掌握所学的理论。
MATLAB是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
作为强大的科学计算平台,它几乎满足所有的计算要求。
随着对仿真和程序设计通用性及可视化需求的日益增加,MATLAB着重改善了图形用户界面的制作,极大地满足了用户的需求。
MATLAB的GUID是专门用于图形用户界面的快速开发环境,本文利用该工具设计教学实验系统,该系统将MATLAB软件和多媒体硬件结合,将数字信号处理的实验内容融入进去,形成一种新的计算机教学实验方式。
该系统的形象直观,总体界面友好,具有开放性,便于学生对所学理论知识的理解,大大提高教学的效果和效率。
现在大多数高校都借助于MATLAB进行辅助教学,MATLAB语言是一种非常适合信号分析与处理的语言,它的使用对学生理解数字信号处理中的许多基本理论起到极其重要的作用。
MATLAB具有强大的图形用户界面生产能力,用户可以根据自己的需要设计图形界面。
本实验系统以MATLAB为开发平台,保证了该系统具有一定的通用性,它采用图形交互的界面,不仅可以用于实验教学,也可以用于辅助理论教学,操作起来非常方便,形象直观。
它开发了基本信号的产生,常用序列的计算,傅里叶变换,滤波器的设计等MATLAB辅助分析与设计实验。
通过这个实验系统,可以将数字信号处理课程中许多抽象的理论知识形象地表示出来,使得原先实验中较难观察到的现象以及繁琐的设计计算等,都能较简单的解决。
该实验系统为学生提供了一个形象而全面的演示,激发学生的学习兴趣,加深学生对数字信号处理课程中理论知识的理解。
1.3设计的目标任务
在许多高校的相关专业,数字信号处理都被列为专业必修课。
但是,它涉及的知识广泛,包括微积分、概率论、信号与系统等。
学生在学习这方面的内容的时候,通常感觉比较抽象,对其中的基本理论和分析方法难以具体地理解和掌握。
目前,我校的数字信号处理课程总共48个学时,其中有6个实验学时,要想在这么短的时间内让学生较好地掌握数字信号处理的理论知识,这是比较困难的,所以可以利用MATLAB友好的人际交互界面,制作出形象、开放的教学实验系统,以此达到帮助学生更好的掌握数字信号处理理论知识的目的。
第2章数字信号处理与开发环境的简介
2.1数字信号处理的简介
随着信息技术的高速发展,信息时代和数字世界悄然到来,数字信号处理已成为一门重要的学科和一个极其重要的科学领域。
它被广泛地应用于电子信息工程、通信工程、语音、图像、自动控制、雷达、遥感和生物工程等众多领域。
数字信号处理是把信号用符号或者是数字的形式表示成序列,通过通用(专用)信号处理设备或计算机,用数值计算的方法进行各种处理,它的目的是对真实世界的连续模拟信号进行测量或滤波,达到提取有用信息并加于利用的效果,例如检测、变换、增强、参数提取、频谱分析等。
数字信号处理系统具有以下一些明显的优点:
(1)精度高。
模拟网络的精度由元器件决定,模拟元器件的精度很难达到10-3以上,而数字系统只要14位字长就可达到10-4的精度。
在高精度系统中,有时只能采用数字系统。
(2)灵活性高。
数字系统的性能主要由乘法器的系数决定,而系数是存放在系数存储器中的,只需改变存储的系数,就可得到不同的系统,比改变模拟系统方便得多。
(3)可靠性强。
因为数字系统只有两个信号电平“0”、“l”,因而受周围环境温度以及噪声的影响较小,而模拟系统,各元器件都有一定的温度系数,且电平是连续变化的,易受温度、噪声、电磁感应等的影响。
如采用大规模集成电路,可靠性就更高。
(4)容易大规模集成。
这是由于数字部件有高度规范性,便于大规模集成、大规模生产,对电路参数要求不严,故产品成品率高。
尤其是对于低频信号,例如地震波分析,需要过滤几赫兹到几十赫兹信号,用模拟网络处理时,电感器、电容器的数值、体积和重量都非常大,性能亦不能达到要求、而数字信号处理系统在这个频率处却非常优越。
(5)时分复用。
也就是利用数字信号处理器同时处理几个通道的信号。
处理器运算速度越高,能处理的信道数目也就越多。
(6)可获得高性能指标。
例如对信号进行频谱分析,模拟频谱仪在频率低端只能分析到1OHz以上频率.且难于做到高分辨率(足够窄的带宽),但在数字的谱分析中,已能做到10-3Hz的谱分析。
又如有限长冲激响应数字滤波器,则可实现准确的线性相位特性,这在模拟系统中是很难达到的。
(7)二维与多维处理。
利用庞大的存储单元,可以存储一帧或数帧图象信号,实现二维甚至多维信号的处理,包括二维或多维滤波、二维及多维谱分析等。
数字信号处理系统也有其局限性,例如,数字系统的速度还不算高,硬件的速度也只在几十兆赫以下,故不能处理很高频率的信号。
另外,系统比较复杂,因而价格昂贵等也是其缺点。
2.2MATLAB简介与特点
2.2.1MATLAB的简介
MATLAB是矩阵实验室(MatrixLaboratory)的简称,MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分,和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
GUIDE(GraphicalUserInterfaceDevelopmentEnviroment)是MATLAB中一个专门用于GUI程序设计的向导设计器,通过GUIDE可以很方便地设计出各种符合要求的图形用户界面,用户可以根据提示完成新界面的制作,却不必了解新界面内部是如何工作的。
GUI设计既可以以基本的MATLAB程序设计为主,也可以用鼠标利用GUID工具进行设计,也可以综合以上两种方法进行设计。
2.2.2MATLAB的特点
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
第二章系统分析
2.1引言
现代社会,通信与传感、仿真计算技术紧密结合,信息成为社会的高级“神经中枢”,随着我国科学技术的发展和国内外合作的加强,对通信水平的要求也日益增加,如果通信水平跟不上,社会成员之间的合作程度就受到限制,生产力的发展也必然受到限制,可见通信在现代生活中扮演的角色越来越重要,本课题以此为出发点,采用Matlab语言为工作环境,Matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易,自1984年由美国MathWorks公司推向市场以来,历经十几年的发展,现已成为国际公认的优秀科技应用软件,是数字信号处理方面得天独厚优势图形开发工具.本软件设计目标是以配合教学为出发点,主要是面对通信工程专业的初学者,用简单,可视化的仿真模拟图形给大家演示部分基本波的传输特性,以及在信道中的传输特性。
使他们直观,感性地了解和掌握通信系统的概念、传输性能等[3]。
为了规范和条理的进行本系统的设计以及使后续的开发维护工作变得有趣而轻松,故编写本系统需求分析说明书;旨在开发过程中进行参考,使系统在需求的规范之内,避免重复劳动,加快开发进度以及提高开发效率;同时也是为以后系统维护服务提供指南;由于时间仓促,错误之处在所难免,请见谅。
2.2需求分析
通信在现今生活中已是普遍存在,在经济发展,政治军事活动,个人生活中的应运以是相当普遍,是社会发展不可缺少的工具,自1844年莫而斯在华盛顿和巴尔的摩之间发送世界第一份电报以来,通信已经经历了150多年,发展到目前数字通信趋于替代模拟通信的趋势。
《信号与系统》课程,是高等理工科类院校通信与电子信息工程等专业中一门十分重要的基础理论课,也是电子信息工程专业许多后续课程的重要理论基础。
以前的信号模拟是通过硬件,对仪器和实验室的要求较高,不便于广泛应用,而且信号处理具有内容繁多、概念抽象、设计复杂等特点,学生在学习时常常会感到枯燥,难以理解和掌握。
基于此种需求,本系统设计为教学演示型软件,运用Matlab软件开发,便于学生直观观察信号系统中涉及的波形及特性的原理图,为后续课程的学习,以及独立分析和设计新的系统,打下基础。
2.3可行性分析
2.3.1技术可行性
本课题所涉及的研究目标,在国内外已经有相当成熟的理论基础和技术基础。
通过开发人员的文献调查,对于Matlab做用户图象界面和信号模拟所涉及到的技术问题进行细致的分析,很大一部分可以使用电子信息工程的专业知识进行构建,其他的部分则可以通过自学,调用已经开发好的一些功能模块来完成课题涉及到的技术要求。
2.3.2经济可行性
本课题通过对既有开发平台的使用,能够设计出比较完善的信号系统实验平台,没有任何经济上的负担,本课题可以自主开发信号系统实验平台,为实验提供了灵活性,摆脱了硬件可以看到实验结果,而且又可脱离Matlab来进行仿真.为教学和研究提供了方便,在经济上节约了实验开支,锻炼了学生的自我研发意识和自己动手的能力。
2.3.3操作可行性
Matlab程序流程简单明了,开发率高,并且能够结合其他多种开发工具,共同实现信号模拟功能。
它易学易用,不需大量编程,能创作出一些高水平的模拟平台作品,对于非专业的开发人员和专业开发人员都是一个好的选择。
从可操作性的角度来讲,完全可行。
2.4系统主要目标及功能
2.4.1系统目标
本课题开发目标是利用Matlab软件开发一套集可视化图形与动态仿真为一体的教学演示型软件,主要是面对初学者,用可视化的仿真模拟图形配合老师的讲课内容给大家演示《信号与系统》课程中部分信号的传输波形、卷积、傅立叶变换以及滤波器设计等,帮助他们直观、感性地了解和掌握信号系统的概念、基本特征等,深化对通信概念的理解。
2.4.2系统主要功能
本系统主要功能包括基本序列计算、基本信号产生、卷积、傅立叶变换、滤波器设计。
简单基础地涵盖了《信号与系统》部分主要章节,用可视化的仿真模拟图形为大家演示部分基本信号的传输波形和调制变换,部分交互式界面可直接输入合适的值使大家更直观、感性地了解和掌握信号系统的概念、传输性能、基本特征等,为课程的学习