基于MATLAB的连续信号的频谱分析_第1页
基于MATLAB的连续信号的频谱分析_第2页
基于MATLAB的连续信号的频谱分析_第3页
基于MATLAB的连续信号的频谱分析_第4页
基于MATLAB的连续信号的频谱分析_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号: 西北师范大学知行学院本科生毕业设计论文题 目: 基于 matlab 的连续信号的频谱分析 学 号: 姓 名: 系 别: 电信系 专 业: 电子信息工程 班 级: 指导教师: 教师职称: 完成时间: i内容摘要内容摘要本文概述了信号的频谱分析。重点介绍了利用 matlab 软件设计实现信号频谱的基本分析原理及功能,以及利用 matlab 软件提供的图形用户界面(graphical user interfaces ,gui)设计具有人机交互、界面友好的用户界面。本文采用 matlab的图形用户界面设计功能, 显示出了各个图形界面。在该实验中, 集成了信号处理中的多个图形分析, 应用效果良好

2、。本设计是一种演示型实验,用可视化的仿真工具,以图形和动态仿真的方式演示部分基本信号的波形和变换,使学习人员直观、感性地了解和掌握信号与系统的基本知识。 关键词关键词 信号处理,matlab,图形用户界面,实验软件iiabstract this paper summarizes the signal spectrum analysis. mainly describes the use of matlab software design and realize the basic signal spectrum analysis principle and function, and the

3、use of matlab software provides a graphical user interface (graphical user interfaces, gui) design with human-computer interaction, friendly interface of the user interface. this paper based on matlab graphical user interface design functions, showed each spectrum charts interface. in this experimen

4、t, the integration of the signal processing of multiple graphics analysis and its application effect is good. this design is a type of experiments demonstrate visual simulation tools, with graphics and dynamic simulation demonstrates the basic way of signal waveform and transform, make learning pers

5、onnel intuitive, perceptual understand and grasp the basic knowledge of signal and system.key words: signal processing,matlab,graphical user interface,experimental softwareiii目 录第一章第一章 引言引言.1 11.1 概述 .11.2 连续信号的频谱分析 .11.3 研究意义 .21.4 本文的主要工作 .2第二章第二章 系统分析系统分析.3 32.1 引言 .32.2 需求分析.32.3 可行性分析 .42.3.1 技

6、术可行性.42.3.2 经济可行性 .42.3.3 操作可行性 .42.4 设计主要目标及功能.52.4.1 设计目标 .52.4.2 设计主要功能 .52.5 小结.5第三章第三章 方案选取方案选取.6 63.1 引言 .63.2 界面工具的选取 .63.3 连续信号实验的软件工具选择 .73.4 设计方案选择.7第四章第四章开发运行环境开发运行环境 .7 74.1 系统开发环境和运行环境 .74.2 开发语言和开发工具介绍.84.2.1 windows xp .84.2.2 matlab 7.0 .84.2.3 图形用户界面(gui) .9第五章第五章 实验设计实验设计.1010iv5.1

7、 引言 .105.2 设计整体框图 .105.3 实验设计步骤.115.4.2 模块具体设计 .125.5 生成可执行.195.6 小结.19第六章第六章 设计测试设计测试.2020第七章第七章 结论结论.20201基于基于 matlab 的连续信号的频谱分析的连续信号的频谱分析学生:祁永娇 指导教师:吴晓春第一章第一章 引言引言1.11.1 概述概述随着计算机的普及应用以及科技的发达,现代社会是信息的社会,对信息的研究变得非常重要,而对信号波形的模拟可以方便研究人员研究。以前的信号模拟是用硬件,对仪器和实验室的要求较高,不便于广泛应用,而且信号处理具有内容繁多、概念抽象、设计复杂等特点,学生

8、在学习时常常会感到枯燥,难以理解和掌握。硬件模拟信号波形对设备要求较高,有时候受仪器或操作不对等因素的影响将无法正确直观的看到波形,参数改变时不能立即看到波形变化。而用软件的形式对信号波形进行仿真有着界面可视性强,操作简单方便;便于数据修改,文件保存,实验效率高,实验内容丰富,结果直观易懂,便于分析;而且系统容易扩展新的实验项目。所以信号仿真很有必要而且急为迫切,对连续信号的处理及分析更加便捷。1.21.2 连续信号的频谱分析连续信号的频谱分析信号频谱分析是将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化规律,称为频谱分析。频谱分析主要分析信号是由哪些频率的正弦信号叠加得到

9、的,以及这些正弦信号的振幅。matlab 在全世界内都很是流行,特别是在工程计算领域。近年来越来越多的国人也喜爱上了这一套软件。matlab 的 toolbox 中也含有概率统计方面的库函数。概率方面的库函数主要有各种常见分布的分布函数、概率密度、分布率以及生成服从各种分布随机数的函数统计方面的库函数含盖了简单随机样本下常见的参数估计(点估计、区间估计),假设检验等等。通过实验, 加强学生对信号与系统课程的理解和掌握。介绍了信号2之间相互转换的基本原理,并结合仿真程序的开发实例,重点讨论了典型的连续信号的基本运算:时移、折叠和尺度的关键步骤和代码,最后,给出了调制的仿真结果。matlab 是一

10、种高性能的用于工程计算的编程软件,它具有强大的数学计算、算法推导、建模仿真、图形绘制等功能。文中提出了用典型信号正弦信号的波形转换的方案,解决了连续信号的频谱分析,使得其他连续信号的执行更加便利。1.31.3 研究意义研究意义matlab 作为编程语言和可视化工具 , 用 matlab 开发的实验为学生提供了“信号分析”、“信号抽样”、“系统仿真”、“系统特性”、“滤波器设计”及“傅立叶变换”等实验模块 。 它的界面演示框如同通用示波器 , 显示了信号分析与系统设计的动态仿真过程 , 给人以直观的感受。在教学中它能为同学们提供了大量的实例, 同时它也留下了在实验中同学们可以改变信号、模块、仿真

11、子系统等的参数 , 并观察信号与系统的相应变化. 在实验过程中 , 同学们对所学的书本知识会有感性的认识和直观的验证 , 加深对“信号与系统”原理的理解。本课题能避开理论推导运算中的不足,巧妙的运用软件来仿真硬件才能实现的实验结果,大大降低了实验设备要求,而且有很多的库函数可以在实验时直接调用,避免了用硬件做实验的局限性。可以更方便的做信号频谱分析实验,为教学和研究提供了方便。还能够锻炼一个人在面对一个具体的项目时,遇到问题,分析问题,解决问题的能力;获得独立策划、实施课题,并按照既定计划进行开发的经验,以及查找相关文献的能力。通过自己的努力使得对于 matlab 有一个全面的、深刻的认识,并

12、且对 matlab 做界面的软件有了一定的了解,对系统规划有了初步的认识。为以后研发工作打下坚实的基础,积累宝贵的经验。1.41.4 本文的主要工作本文的主要工作本文主要是用 matlab 实现连续信号的频谱分析,用 matlab 语言编程一个适合连续信号波形互相转换的实验,方便学生学习。具体的工作主要有: 首先选择典型的连续信号正弦信号做实例,用 matlab 语言3来编程,分别绘出正弦信号的时域波形图、正弦信号的幅频谱图、正弦信号的均方根谱图、正弦信号的功率谱图、正弦信号的对数谱、通过ifft 转换的正弦信号波形图。借助工程计算软件 matlab 在信号处理领域中的强大功能,实现了连续信号

13、的频谱分析,以及连续信号可视化和运算结果的可视化。第二章第二章 系统分析系统分析2.12.1 引言引言现代社会,通信与传感、仿真计算技术紧密结合,信息成为社会的高级“神经中枢” ,随着我国科学技术的发展和国内外合作的加强,对通信水平的要求也日益增加,如果通信水平跟不上,社会成员之间的合作程度就受到限制,生产力的发展也必然受到限制,可见通信在现代生活中扮演的角色越来越重要,本课题以此为出发点,采用 matlab 语言为工作环境,matlab 语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易,自 1984 年由美国 mathworks 公司推向市场以来,历经十几年的发展,现已成为国际公

14、认的优秀科技应用软件,是数字信号处理方面得天独厚优势图形开发工具.本、设计目标是以配合教学为出发点,主要是面对通信工程专业的初学者,用简单,可视化的仿真模拟图形给大家演示部分基本波的传输特性,以及在信道中的传输特性。使他们直观,感性地了解和掌握通信系统的概念、传输性能等。2.22.2 需求分析需求分析通信在现今生活中已是普遍存在,在经济发展,政治军事活动,个人生活中的应运以是相当普遍,是社会发展不可缺少的工具,自 1844 年莫而斯在华盛顿和巴尔的摩之间发送世界第一份电报以来,通信已经经历了 150 多年,发展到目前数字通信趋于替代模拟通信的趋势。 信号与系统课程,是高等4理工科类院校通信与电

15、子信息工程等专业中一门十分重要的基础理论课,也是电子信息工程专业许多后续课程的重要理论基础。以前的信号模拟是通过硬件,对仪器和实验室的要求较高,不便于广泛应用,而且信号处理具有内容繁多、概念抽象、设计复杂等特点, 学生在学习时常常会感到枯燥, 难以理解和掌握。基于此种需求,本系统设计为演示型实验,运用 matlab软件开发,便于学生直观观察信号系统中涉及的波形及特性的原理图, 为后续课程的学习,以及独立分析和设计新的系统,打下基础。2.32.3 可行性分析可行性分析2.3.1 技术可行性本课题所涉及的研究目标,已经有相当成熟的理论基础和技术基础。通过开发人员的文献调查,对于 matlab 做用

16、户图象界面和信号模拟所涉及到的技术问题进行细致的分析,很大一部分可以使用电子信息工程的专业知识进行构建,其他的部分则可以通过自学,调用已经开发好的一些功能模块来完成课题涉及到的技术要求。2.3.2 经济可行性本课题通过对既有开发平台的使用,能够设计出比较完善的信号系统处理,没有任何经济上的负担,本课题可以自主开发信号系统实验平台,为实验提供了灵活性,摆脱了硬件可以看到实验结果,而且用matlab 来进行仿真.为教学和研究提供了方便,在经济上节约了实验开支,锻炼了学生的自我研发意识和自己动手的能力。2.3.3 操作可行性matlab 程序流程简单明了,理解能力高,并且能够结合开发工具,共同实现信

17、号模拟功能。它易学易用,不需大量编程,能拓展出一些高水平的模拟平台作品,对于非专业的开发人员和专业开发人员都是一个好的选择。从可操作性的角度来讲,完全可行。52.42.4 设计主要目标及功能设计主要目标及功能2.4.1 设计目标本课题开发目标是利用 matlab 软件开发一套集可视化图形与动态仿真为一体的教学演示型软件,主要是面对初学者,用可视化的仿真模拟图形配合老师的讲课内容给大家演示信号与系统课程中连续信号(正弦信号)的频谱分析(时域波形、幅频谱、均方根、功率谱、对数谱、ifft 转换) ,帮助他们直观、感性地了解和掌握信号系统的概念、基本特征等,深化对通信概念的理解。 2.4.2 设计主

18、要功能本设计主要功能包括基本序列计算、基本信号产生、幅度频谱绘制、均方根计算、功率计算、对数计算、ifft 转换。简单基础地涵盖了信号与系统部分基本章节, 用可视化的仿真模拟图形为大家演示部分基本信号的传输波形和调制变换,部分交互式界面可直接输入合适的值使大家更直观、感性地了解和掌握信号系统的概念、传输性能、基本特征等,为课程的学习打下基础。界面上的文字说明帮助大家了解本图形的特性或功能。整套设计采取图文并茂、循序渐进、从感性到理性的方式,让初学者掌握基本信号模拟和运算。2.52.5 小结小结一个设计在开发之前就需要进行需求分析和可行性分析,本章重点阐述本设计的需求分析、可行性分析和目的,对这

19、个设计的需求有了一个比较有力的证明。6第三章第三章 方案选取方案选取3.13.1 引言引言本设计研究的连续信号的频谱分析,用开发软件 matlab 运行的。本系统的关键是实现信号之间的转换和信号基本参数的运算,这对接触matlab 的我们来是说比较容易的,但谱之间是有差别的。谱是个很不严格的东西,常常指信号的 fourier 变换, 是一个时间平均(time average)概念 功率谱的概念是针对功率有限信号的(能量有限信号可用能量谱分析),所表现的是单位频带内信号功率随频率的变换情况。保留频谱的幅度信息,但是丢掉了相位信息,所以频谱不同的信号其功率谱是可能相同的。有两个重要区别: 1。功率

20、谱是随机过程的统计平均概念,平稳随机过程的功率谱是一个确定函数;而频谱是随机过程样本的 fourier 变换,对于一个随机过程而言,频谱也是一个“随机过程” 。 (随机的频域序列) 2。功率概念和幅度概念的差别。此外,只能对宽平稳的各态历经的二阶矩过程谈功率谱,其存在性取决于二阶局是否存在并且二阶矩的fourier 变换收敛; 而频谱的存在性仅仅取决于该随机过程的该样本的 fourier 变换是否收敛。3.23.2 界面工具的选取界面工具的选取由于我们的课题是基于 matlab 的连续信号的频谱分析,在做用户界面的时候选择了 gui 用户界面,这样看起来会更加的方便,使用也是更加的便捷。73.

21、33.3 连续信号实验的软件工具选择连续信号实验的软件工具选择我们在学习信号与系统和数字信号处理课程时,做实验的时候用的是 matlab 软件来实现信号波形的模拟以及处理,可以比较直观准确的看到波形,对 matlab 软件也有了初步的认识,也可以用它编写一些比较简单的程序来。在信号波形模拟的领域中,我们只接触过matlab 软件,所以在编写模拟信号波形这个模块中我们选择 matlab 软件。matlab 是 math 和 works 公司推出的一个为工程计算和数据分析而专门设计的高级交互式软件包,利用它能容易地解决在系统仿真领域教学与研究中遇到的问题。3.43.4 设计方案选择设计方案选择在本

22、系统的设计中, 界面布局设计采用一键向下的设计方法, 即先设计子界面,然后设计实验主界面。界面设计完成后, 可以让图像更直观的展现。可以用于实验操作。第四章第四章 开发运行环境开发运行环境4.14.1 系统开发环境和运行环境系统开发环境和运行环境1) 硬件环境能运行普通应用程序的计算机一台;2)软件环境操作系统:windows xp 开发工具:matlab7.1 matlab gui84.24.2 开发语言和开发工具介绍开发语言和开发工具介绍4.2.1 windows xpwindows xp,或视窗 xp 是微软公司最新发布的一款视窗操作系统。它发行于 2001 年 10 月 25 日,原来

23、的名称是 whistler。微软最初发行了两个版本,家庭版(home)和专业版(professional)。家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证、双处理器等特性。且家庭版只支持 1 个处理器,专业版则支持 2 个。字母 xp 表示英文单词的“体验”(experience)。windows xp 是基于 windows 2000 代码的产品,同时拥有一个新的用户图形界面(叫做月神 luna),它包括了一些细微的修改,其中一些看起来是从linux 的桌面环境(desktop environmen)诸如 kde 中获得的灵感。带有用户图形的登陆界面

24、就是一个例子。此外,windows xp 还引入了一个“基于人物”的用户界面,使得工具条可以访问任务的具体细节。 它包括了简化了的 windows 2000 的用户安全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。4.2.2 matlab 7.0matlab(matrix laboratory)语言是美国的 cleve moler 博士构思并开发集命令翻译、科学计算于一身的一套交互式软件系统,是目前国际工程控制界应用最广、最流行的一种控制系统计算机辅助设计的软件工具,它集成了计算功能,符号运算,数据可视化等功能,具有功能强大、界面友好、配套工具箱完善等特点,其 simulin

25、k 仿真环境及 s 函数的应用为我们提供了有效实用的设计方法,该软件先前的版本与 visual c+和 visual basic 等可视化编程软件相比功能较差,但是新版的matlab 7.1 软件已经在这方面向这些软件靠近,其可视化编程能力有了很大程度的提高.该软件最突出的特点就是简洁的,开放式代码。提供了更为直观,符合人们思维习惯的代码,现简单介绍该软件的主要特点。1) 语言简单,代码灵活,极其丰富的库函数资源。在程序设计中该软件对代码的书写形式没有很严格的限制,同时利用丰富的库函数简化了子程序的编写任务,利用极其丰富的库函数可以使程序开发避免繁9杂的子程序编程任务避免了一些不必要的错误,提

26、高了程序的可靠性。2) 丰富灵活的运算符。matlab 提供了和 c 语言一样多的运算符,使用这些运算符可使程序短小、灵活。3) 面向对象编程和结构化控制功能。尤其是新版的 matlab7.0 软件在可视化方面较以前版本有了很大程度的提高,使得界面编程更加自由,方便。4) 程序设计自由度大。在新版的 matlab7.0 软件中,用户无须对矩阵进行预定义就可以使用,对数组和变量的应用也得到很大程度的扩展。5) 程序可移植性好,基本上可以不作修改就可以在各种型号的计算机和操作系统上运用。6) 分门别类的工具箱是该软件的又一大特点。核心工具箱和学科类的工具箱。这些工具箱都是该学科的高水平的专业人士所

27、编,所以用户可以直接使用。提高了编程效率。7) 开放的共享源代码。开放性的代码是该软件最受欢迎的另一大特点。所有的核心文件和工具箱文件都是可读可该的源代码。所以matlab 语言被称为第四代编程语言3。4.2.3 图形用户界面(gui)图形用户界面(gui)是用户与计算机程序之间的交互方式,是用户与计算机进行信息交流的方式。计算机在屏幕显示图形和文本,若有扬声器还可产生声音。用户通过输入设备,如:键盘、鼠标、跟踪球、绘制板或麦克风,与计算机通讯。用户界面设定了如何观看和如何感知计算机、操作系统或应用程序。通常,多是根据悦目的结构和用户界面功能的有效性来选择计算机或程序。图形用户界面或 gui

28、是包含图形对象,如:窗口、图标、菜单和文本的用户界面。以某种方式选择或激活这些对象,通常引起动作或发生变化。最常见的激活方法是用鼠标或其它点击设备去控制屏幕上的鼠标指针的运动。按下鼠标按钮,标志着对象的选择或其它动作。matlab 在 demo 命令中包含了 gui 功能的极好例子。matlab 为表现其基本功能而设计的演示程序 demo 是使用图形界面的最好范例。10matlab 的用户,在指令窗中运行 demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。如: demo 研究该命令,以了解 uimenu 和 uicontrol 如何给 matlab 函数提供交互输

29、入。在运行了 demo 例子后,很可能会问“为什么要在 matlab 中建立一个 gui?”这是一个很好的问题,简单的回答是可能并不需要使用matlab 来分析数据,求解问题,绘制结果的绝大多数的人,并不会发现 gui 工具很有用。但另一方面,gui 可以在 matlab 中生成非常有效的工具和应用程序,或是建立演示工作的交互式界面。 第五章第五章 实验设计实验设计5.15.1 引言引言信号系统实验繁多、复杂,许多实验还需要输入参数,若将系统设计成一个界面,使得系统繁重、拥挤,不能够实现友好、美化的界面的设计要求。因此,在设计界面的时候,采用一个主界面和若干子界面,每个子界面是一个模块,实现一

30、个实验或功能,并通过主界面调用子界面的设计方法。5.25.2 设计整体框图设计整体框图本实验系统整体结构设计由两部分组成: 界面模块设计和菜单模块设计。其中, 界面模块总共包括八个模块: 开始引导模块、主模块、基本信号的时域波形产生模块、幅频谱转换模块、功率转换模块、ifft 转换模块、均方根转换模块、对数转换模块。系统的整体结构如图 5-1 所示。11 图 5-1 系统的整体结构5.35.3 实验设计步骤实验设计步骤设计的具体步骤如下:1)运用 matlab 的图形用户界面(gui)设计方法, 设计整个实验系统的开始引导界面、实验主界面及其实现信号处理课程中具体实验的各个子界面。2)运用 m

31、atlab 的图形用户界面(gui)设计方法, 设计系统的说明界面及其各个实验的说明界面。3)分别编写各个子界面的各个控件对象的回调函数, 来实现控件相应控制功能, 达到直接通过界面上各个控件就可以控制数据的输入输出, 并可以方便地对实验结果的数据及其图形进行读取和分析的目的。4)编写主界面的回调函数, 将各个实验子界面整合在信号处理系统实验主界面中, 即通过主界面就可以进入任何一个实验子界面进行实验。5)编写开始引导界面的回调函数, 实现从引导界面直接进入主界面。5.5.4 4 系统模块系统模块时域波形幅度频谱 功率转换均方根转换对数转换ifft 变换开始引导界面开始界面125.4.1 模块

32、划分简介本系统根据要实现的实验类别、个数的要求来规划模块,在设计的时候本着界面美观、简洁的原则。 5.4.2 模块具体设计 a基本信号产生模块的窗体创建启动 matlab7.0,在命令窗口输入 guide,打开 gui 制作窗口,在窗体上有界面制作工具。在 pushbutton 下单击右键 callback,打开 callback function,调用 matlab 内部提供的函数,square 函数, sawtooth 函数, sinc 函数, diric 函数, rectpuls 函数, tripuls 函数 ,pulstran 函数 ,chip 函数在 gui 制作窗口,axes 是用

33、来显示图形,当单击 pushbutton,运行结果,会在 axes 中显示出来。简单函数基本性质的模块,通过人机交互方式进行设计,在信号 1和信号 2 中输入幅值,频率,初相,移位不同的值,对其信号相加,信号相乘,信号移位使信号在 axes 窗口中,显示出来。仿真的波形有正弦波,三角波,指数函数,抽样函数,脉冲函数等。popupmenu 函数中用 switch val1case 1 来调用不同的波形, )设置句柄get(handles.popupmenu)用 strdouble(get(handles.edit,string)来输入测试数据,达到直观仿真模拟图. 例一:正弦信号时域波形a正弦信

34、号的公式。正弦信号,一般写做 (5-3)tktfsin式中 k 为振幅,是角频率, 为初相位。弦信号是周期信号,其周期t 与角频率和频率 满足下列关系式 (5-4)ft12b正弦信号的运行结果如图所示:13c.程序代码fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号x=sin(2*pi*f*t);subplot(231);plot(t,x);%作正弦信号的时域波形axis(0,0.01,-1,1);xlabel(t);ylabel(y);title(正弦信号时域波形); 例二:正弦信号幅度频谱图a运行结果如图

35、5-12 所示:14图 5-12 正弦信号幅频谱图c部分程序:fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; plot(f,mag);%做频谱图axis(0,100,0,80);xlabel(频率(hz);ylabel(幅值);title(正弦信号幅频谱图);grid; 例三:正弦信号均方根谱15a正弦信号均方根谱运行界面如图 5-13 所示图 5-13

36、正弦信号均方根谱图c部分程序:fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);plot(f,sq);xlabel(频率(hz);ylabel(均方根谱);title(正弦信号均方根谱);16grid; 例四:正弦信号功率谱a正弦信号功率谱运行界面如图 5-14 所示图 5-14 正弦信号功率谱图b部分程

37、序:fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);17power=sq.2;plot(f,power);xlabel(频率(hz);ylabel(功率谱);title(正弦信号功率谱);grid; 例五:正弦信号对数谱a.正弦信号对数谱运行界面如图 5-15 所示图 5-15 正弦信号对数谱b部分程序

38、:fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; 18axis(0,100,0,80);sq=abs(y);power=sq.2;grid;ln=log(sq);plot(f,ln);xlabel(频率(hz);ylabel(对数谱);title(正弦信号对数谱);grid; 例六:通过 ifft 转换的正弦信号波形a.通过 ifft 转换的正弦信号波形运

39、行界面如图 5-16 所示图 5-16 通过 ifft 转换的正弦信号波形图b部分程序:fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率19%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);power=sq.2;grid;ln=log(sq);xifft=ifft(y);magx=real(xifft);ti=0:length(xifft)-1/fs;

40、plot(ti,magx);xlabel(t);ylabel(y);title(通过 ifft 转换的正弦信号波形);grid;5.5.5 5 生成可执行生成可执行本系统要求最终结果要在开发工具(matlab)软件运行,我们在做gui 的时候主要参考了别人生成可执行文件的方法。首先在 matlab 命令行窗口中打开 gui 设计的图形界面。然后拖入所要的图形控件,按需要修改外观直至满足要求。点击 guide 界面上方的 run 按钮,会生成一个 fig 文件,一个 m 文件,其中 fig 文件是你界面的图形,m 文件是你界面的回调函数,在 m 文件里每个控件的回调函数都已经自动生成,把我们自己

41、的 m 代码填在相应的回调函数里即可。5.6 小结本章讨论了软件系统平台的整体设计,给出了系统整体框图和各模块的界面和设计方法,详细介绍了各个模块产生波形的原理,并分析了最后生成可执行文件的方法。- 20 -第六章第六章 设计测试设计测试经过紧张的工作,我们终于按照要求完成了一系列的程序设计,为了更好的对本设计的正确性做出客观公正的评价,为了更进一步的对本课题进行验证,为了能给得到一个满意的结果,让用户更好的学习本课程,也为了发现设计本身隐蔽的一系列问题从而提高用户的工作效率。为此对此设计做了详细的测试我们完成的功能是仿真, 信号波形的动态仿真、时域波形、幅频谱、均方根谱、功率谱、对数谱、通过

42、 ifft 转换的波形图等。当输入数据之后,结果会以可视化的方式显示出来。其他的就是一些静态的演示图,通过编程显示出来,主要实现的内容包括基本信号的波形转换。通过测试,本设计具有良好的系统精确性。通过设计也使我们明白了:编写一个功能完善的设计是需要经过多次的测试调试才能够正常运行的。程序编写的完成只是整个开发过程中的小部分,这对我们以后学习单元测试和集成测试、软件的开发过程有很好的帮助。在测试过程中出现的某些故障都是出乎意料的,有些问题的解决也许并不困难,但要周密的考虑过程。第七章第七章 结论结论在吴晓春老师的指导下,本次毕业设计,就要画上一个句号了。通过对信号的频谱分析这个课题的设计,我们在

43、编程能力上有了实质性地提高。鉴于本文设计的信号频谱分析平台为个人计算机,其性能有限,故暂不能做大规模的精确系统测试。虽然连续信号的频谱分析已经顺利完工并能够正常运行,但想要成为一个能够在大范围内广泛应用的此类设计,本系统还需要投入更多的精力去学习和完善。matlab 实验平台发展到现在,虽然时间不长,然现如今已经发展21成为信息产业中一个大的研究热点。更是由于次实验系统的复杂性和所具有的挑战性,才使得有更多的 matlab 爱好者投身其中,为基于matlab 的信号与系统实验平台的发展贡献力量。希望通过本文,给喜欢 matlab 的爱好者提供一些可以借鉴的材料,以此共勉!1)个人学习的认识。要

44、在最短的时间内做出最成功的设计,不仅靠课堂上的知识,还要靠平时的积累,和课外阅读的素材。matlab 有很好的图象处理功能,其特点是开发效率高,接受能力快。我们此次的毕业设计就是在 matlab环境中开发的。如果所实现的波形较多则可显示出非常高的效率和使用价值。2)编程和系统规划的认识。熟练使用开发工具不等于编程,或许掌握一种开发工具并不容易。使用开发工具并不能提高编程水平。我们的程序是利用 matlab 的用户图象功能来编写界面,并且规划了这个系统的各个板块,各个板块互相独立,条理清晰,能方便快捷的在各个板块中切换。在编程的时候我们遇到一些麻烦,因为对 matlab 软件本来就很陌生,且并不

45、是任何工具都可以写出高效的代码。当然这是我们的弱项,我们或许无权去评判。 3)不足和提高。毕业设计期间,我们对自己有了更加理性的了解,我们的软件工程的思想是有限的,软件需求的能力也是有限的,编程能力和系统规划能力有待提高。尽管这样,我们还是尽量运用了软件工程的思想。我们的编程能力在开发当中得到了很大提高,可以写出高效紧凑的代码,当然这是我们每个人都可以做到的。4)设计心得大学毕业设计是我们所必须面对的。过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且

46、也是对自己能力的一22种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。毕业设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。22致致 谢谢经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起学习的同学们的支持,想要完成这个设计是难以想象的。本论文是在我们导师吴晓春的悉心指导

47、下完成。在整个做作课题的过程中,吴老师不时给予我们热情的鼓励和实验设施上的大力支持,这是我们的课题顺利完成的保障。首先,我要向我的导师吴小春老师,表示最衷心的感谢。从本论文一开始设计,到系统的最初规划,程序编写以及最后的论文撰写过程中都给于了我许多得建议和指正。吴老师平日里工作繁忙,但在我做毕业设计的每个阶段,她都给予了我悉心的指导,为我们及时纠正毕业设计中出现的错误。除了敬佩吴老师的专业水平外,她严谨的治学态度和孜孜不倦的科研精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。另外,衷地感谢我的父母,我的家人,感谢他们一直以来对我的关爱和支持!还要感谢这四年来所有老师、感谢知行学院对我

48、的辛苦培育。还有这四年来所有关心我的人。感谢所有我需要感谢的人,在此,我谨表示深深的谢意!23参考文献参考文献1 苏中义.matlab简介j.上海电机技术高等专科学院学报,2003,4:78.2 杨建强,罗先香.matlab软件工具箱简介j水科学进展,2001,12(2):237242.3 刘瑞桢.matlab简介j电脑编程技巧与维护,1997,7(1):4851.4 杨世文,许小健.matlab 优化工具箱在结构优化设计中的应用j科学技术与工程,2008,8(5):13471349.5 刘勤让,罗小武.基于matlab的信号处理仿真j. 信息工程大学学报,2000,1(1):3840.6 高

49、飞,汪浩.基于matlab的“信号与系统”仿真实验及其性能分析j南民族学院学报(自然科学版),2001,10(2):266269.7 林月美, 陈仁安,基于matlab 的信号与系统软件实验平台j集美大学学报, 2001,6(3):51254.8 夏平基于matlab的信号与系统、数字信号处理实验体系j.教学实验,2004,26(5):7376.9 李蕴华基于matlab的信号与系统频域分析j.武汉科技学院学报,2006,19(5):2124.10 任亚莉matlab 在信号与系统仿真实验中的应用j.编程园地,2006,16(2):3436.11 许艳惠基于ma丁lab的信号系统仿真及应用j.

50、 仪器仪表用户,2006:9697.12 吕锋,刘泉,江雪梅基于matlab 的信号与系统软件实验平台j. 理工高教研究, 2006 ,4 (25):9899.13 罗朝明,李文,李延平,刘杰基于matlab 和vb 的信号与系统虚拟实验系统j. 湖南理工学院学报(自然科学版),2007,20(1):5962.14 马蕾,任全会基于matlab 的信号与系统频域方面仿真教学j. science & technology information,2007,10:361362.15 肖军,张伟宏matlab软件及其应用j. 软件工程师,1998,4:2527.24附附 录:主要代码录:主要

51、代码一 正弦信号时域波形图代码:fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号x=sin(2*pi*f*t);plot(t,x);%作正弦信号的时域波形axis(0,0.01,-1,1);xlabel(t);ylabel(y);title(正弦信号时域波形);二 正弦信号幅频谱图代码fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/

52、n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; plot(f,mag);%做频谱图axis(0,100,0,80);xlabel(频率(hz);ylabel(幅值);title(正弦信号幅频谱图);grid;三 正弦信号均方根谱代码fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);plot(f

53、,sq);25xlabel(频率(hz);ylabel(均方根谱);title(正弦信号均方根谱);grid;四 正弦信号功率谱图代码fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);power=sq.2;plot(f,power);xlabel(频率(hz);ylabel(功率谱);title(正弦信号

54、功率谱);grid;五 正弦信号对数谱图代码fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);power=sq.2;grid;ln=log(sq);plot(f,ln);xlabel(频率(hz);ylabel(对数谱);title(正弦信号对数谱);grid;六 通过 ifft 转换的正弦信号波形图代码

55、26fs=1000;%设定采样频率n=1024;%设定数据长度i=0:n-1;t=i/fs;f=100;%设定正弦信号频率%生成正弦信号y=fft(x,n);%进行 fft 变换mag=abs(y);%求幅值f=(0:n-1)*fs/n;%横坐标频率的表达式为 f=(0:m-1)*fs/m; axis(0,100,0,80);sq=abs(y);power=sq.2;grid;ln=log(sq);xifft=ifft(y);magx=real(xifft);ti=0:length(xifft)-1/fs;plot(ti,magx);xlabel(t);ylabel(y);title(通过 i

56、fft 转换的正弦信号波形);grid;09/20 11:46 102 机体齿飞面孔双卧多轴组合机床及 cad 设计09/08 20:02 3kn 微型装载机设计09/20 15:09 45t 旋挖钻机变幅机构液压缸设计08/30 15:32 5 吨卷扬机设计10/30 17:12 c620 轴拨杆的工艺规程及钻 2-16 孔的钻床夹具设计09/21 13:39 ca6140 车床拨叉零件的机械加工工艺规程及夹具设计 83100308/30 15:37 cpu 风扇后盖的注塑模具设计09/20 16:19 gdc956160 工业对辊成型机设计08/30 15:45 ls 型螺旋输送机的设计1

57、0/07 23:43 ls 型螺旋输送机设计09/20 16:23 p-90b 型耙斗式装载机设计09/08 20:17 pe10 自行车无级变速器设计10/07 09:23 话机机座下壳模具的设计与制造09/08 20:20 t108 吨自卸车拐轴的断裂原因分析及优化设计09/21 13:39 x-y 型数控铣床工作台的设计09/08 20:25 yd5141syz 后压缩式垃圾车的上装箱体设计10/07 09:20 zh1115w 柴油机气缸体三面粗镗组合机床总体及左主轴箱设计09/21 15:34 zxt-06 型多臂机凸轮轴加工工艺及工装设计10/30 16:04 三孔连杆零件的工艺规程及钻 35h6 孔的夹具设计2708/30 17:57 三层货运电梯曳引机及传动系统设计10/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论