基于MatlabGUI的通信原理演示系统设计_第1页
基于MatlabGUI的通信原理演示系统设计_第2页
基于MatlabGUI的通信原理演示系统设计_第3页
基于MatlabGUI的通信原理演示系统设计_第4页
基于MatlabGUI的通信原理演示系统设计_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

1、论文题目 :基于 Matlab GUI的通信原理演示系统设计专 业 :通信工程学 生 :签名:指导教师 :签名:摘 要通信原理是通信工程、电子信息类专业的重要专业基础课程,也是许多学校通信、 信息专业研究生入学考试的必考科目。 在传统的教学和设计中, 主要采用的方法是手工 分析与电路板试验, 而该课程大部分是较为繁琐的理论和推导, 因此容易使学生感到乏 味和难以接受。利用 Matlab/GUI为平台设计开发的通信原理演示系统,克服了传统方 法的局限性。该系统具有可视化、交互性良好、操作便捷等优点,是未来教学和设计运 用的趋势。本文在介绍模拟线性调制解调、 模拟信号数字化、 二进制数字调制解调、

2、和信道编 码理论的基础上,利用 Matlab 语言进行 GUI 编程,实现交互式实时动态演示系统的设 计,并对该平台进行测试及结果分析。设计出的演示系统参数可变,测试结果正确,各 模块间逻辑结构清晰,整体运行稳定,更有利于教师的授课讲解和学生的学习理解。【关键词】 通信原理 演示系统 Matlab 图形用户界面(GUI 【 论文类型 】设计型Title :The Research and Implement of Demonstration System About Communication Theory Based on Matlab GUIMajor :Communication Eng

3、ineeringName :Duan Yi Signature :Supervisor :Zhang Ming Signature :ABSTRACTCommunication Theory is a communication engineering, electronic information professional foundation courses, many schools in communication and information professionals compulsory subjects of the Graduate Record Examination.

4、In the traditional method of teaching and design, manual analysis and circuit board test are currently used, and more than that, a lot of theoretical knowledge and complicated reasoning often make the students feel confused. In order to solve these problems, we introduce a GUI system which is based

5、on Matlab platform. It can provide more demo content and help students understand the theory more easily and intuitive. In addition, it is simple to operate, interact well and can return accurate result quickly. We all think it is the trend of development and will be widely used.This paper we introd

6、uce some theoretical knowledge first, which include analog linear modulation and demodulation, Digitization of analog signals, Binary digital modulation and demodulation and channel coding theory ,and then we implement a simulation system based on Matlab GUI. We can provide the test parameters and s

7、ystem will return the result correctly. What is more the logical structure of each module is clear and the system running stable. All of that are conductive to either the teaching of teacher or studying of students.【 Key words 】 Communication Theory Demonstration system Matlab Graphical User Interfa

8、ce(GUI 【 Type of Thesis】 Design前 言随着我国高等教育逐步实现了大众化以及产业结构进一步调整, 社会对人才的需求 也出现了多样化和层次化的改变, 这样反应到高等学校的教学要求与定位中, 必然会带 来教学内容上的差异和教学方式上的多样化。当代,科学技术突飞猛进,日新月异,突 出各个学科的特色, 培养有竞争力的人才已经成为各大高等院校的迫切任务。 如何花较 少的时间让学生获得较多的知识, 是一个值得探讨的问题。 为此,寻求更好的学习工具 已成为完成这一项任务的关键。通信原理是一门介绍信息传输基本原理包括理论、 技术的课程。 主要研究对象是通 信系统。研究的目的是利用尽

9、可能小的通信资源, 获得尽可能高的通信质量。研究方法 是在系统级、 模块级层次上将实际通信系统抽象成数字模型, 采用数学分析和计算机模 拟的方法进行研究, 得到系统性能与系统参数之间的定量关系。 在给定系统性能要求的 情况下,设计和优化系统的参数。 在系统的数学模型比较复杂,用数学分析方法获得系 统性能与系统参数之间的定量关系有困难的时候, 可以采用计算机仿真的方法获得这些 参数之间的关系,达到优化通信系统的目的。在通信原理的教学和设计中,传统的方法主要是手工分析与电路板试验,通信系统 中所有变量相互之间是非线性的关系,大部分是较为繁琐的理论和推导,容易使学生感 到乏味和难以接受。实际的通信系

10、统是一个功能结构相当复杂的系统,对系统做出的任 何改变都可能影响到整个系统的性能和稳定。使用 Matlab GUI可以设计出适合教学使 用的更直观方便的仿真系统。在通信原理课程教学中,其友好的人机界面能够直观地显 示出信号在通信系统中各部分的波形,包括时域或者频域的波形, 有利于学习者理解和 掌握完整的通信系统的概念,对教师教学产生有益的帮助。 Matlab 可以方便地进行通信 系统的分析和仿真,直观清楚,对于比较难理解的概念和原理有非常大的指导作用。配 合 GUI 可以改善现行仿真方案的局限性。本文主要研究了通信原理课程的交互式实时动态演示系统的设计, 其中包括模拟线 性调制解调系统、模拟信

11、号数字化系统、二进制数字调制解调系统和信道编解码系统, 进行了演示系统的界面设计和系统测试。设计出的演示系统参数可变,测试结果正确, 达到了预期效果。目 录1 绪 论 . 1 1.1 课题研究背景及意义 . 1 1.2 Matlab GUI简介 . 21.3 本文的主要内容 . 32 通信原理演示系统设计 . 5 2.1 演示系统主界面设计 . 6 2.2 模拟线性调制解调演示系统设计 . 8 2.2.1 模拟线性调制解调原理 . 8 2.2.2 设计思路及步骤 . 10 2.3 模拟信号数字化演示系统设计 . 13 2.3.1 模拟信号数字化基本原理 . 14 2.3.2 抽样子系统设计 .

12、 16 2.3.3 量化子系统设计 . 17 2.3.4 编码子系统设计 . 18 2.4 二进制数字调制解调演示系统设计 . 19 2.4.1 二进制数字调制解调原理 . 19 2.4.2 2ASK子系统设计 . 22 2.4 3 2FSK子系统设计 . . 24 2.4.4 2PSK子系统设计 . . 24 2.5 信道编码和解码演示系统设计 . 25 2.5.1 信道编码和解码的基本原理 . 25 2.5.2 线性分组码编解码子系统设计 . 27 2.5.3循环码编解码子系统设计 . 282.6 本章小结 . . 293 系统测试 . 30 3.1 模拟线性调制解调子系统测试 . 30

13、3.2 模拟信号数字化子系统测试 . 32 3.2.1 抽样子系统测试 . 323.2.2 量化子系统测试 . 34 3.2.3 编码子系统测试 . 34 3.3 二进制调制解调子系统测试 . 35 3.3.1 2ASK调制解调子系统测试 . 35 3.3.2 2FSK调制解调子系统测试 . . 36 3.3.3 2PSK调制解调子系统测试 . . 37 3.4 信道编码和解码子系统测试 . 38 3.4.1 线性分组码编码和解码子系统测试 . 38 3.4.2 循环码编码和解码子系统测试 . 383.5 本章小结 . . 394结 论 . 40 4.1 工作总结 . . 40 4.2 存在的

14、问题 . 40 4.3 工作展望 . . 41 致 谢 . 42 参考文献 . 431 绪 论1.1 课题研究背景及意义自十九世纪初电信技术问世以来,短短的一百年多年时间里,通信技术的发展可谓 日新月异。从通信的发展历史进程看,按照人类交流方式的不同分为三个阶段:第一阶 段,人们只能通过语言、手势、烽火台等方法简单交流消息;第二阶段是随着文字、印 刷术、邮政的出现,可以记录、传递更多的消息;第三阶段是人们认识和开始使用电能 的同时,利用电信号进行复杂信息的传递。今天,随着计算机技术的飞速发展,通信技 术在各种工程领域,特别是新兴高科技术产业内也获得了越来越广泛的应用。通信技术 领域的更新与发展

15、都是以通信基本原理为基础的,因此,作为通信行业的工程技术人员, 只有掌握了通信系统的基本原理和基础理论, 才能适应通信技术的飞速发展。 “ 通信原理 ” 属于电子信息类各专业的专业基础课程,它不仅是通信工程、电子信息工程专业学生的 必修课,还是相关专业硕士研究生入学考试的科目之一。随着现代通信技术的发展和深 入,计算机科学与技术、自动控制以及光电子等专业也纷纷开设通信原理课程。 “ 通信原 理 ” 课程涉及概率与统计、随机过程、信号与系统分析、数字电路、模拟电路、通信电路 等多门先修的课程,具有理论性强、知识面广的特点。作为一门专业基础课,通信原理 是学习其他后续专业课程的基础,因此学好通信原

16、理课程具有非常重要的意义。从近几年通信原理的教学情况调查和学生反映来看,当前高等院校在教学方法上的 负面效应越来越突出:第一,通信原理课程的特点是教学要求高,理论结果基本来源于 复杂的数学运算、推导,导致学生将大量时间用于数学运算,没有真正理解通信原理每 个知识点在实际中的应用。第二,教学中,以教师为主以课堂为中心,缺乏教与学的互 动性,没有充分调动学生的主动性和积极性。教师对学生通常采用黑板式教学及题式练 习,对于课程中大量信号的结果没有直观的表现出来,学生只能手工绘制波形图,对于 复杂信号手工来绘制其波形图更显得困难。此外,由于被动学习,学生学习热情不高, 缺乏构造学生知识层次、人文层次等

17、。第三 , 从实际环节来看,传统的通信原理实验室验 证性的实验。学生进入实验室的时间有限,有时实验时结果没有显示,但自己还没有时 间去理解就得从实验室出来。甚至,有的高校,实验器材有限,许多实验都无法进行。 传统的实验要求学生完成一些软件实现的算法也是基于 C 语言的,许多学生由于 C 语言 编程能力有限,不能有效地完成实验,难以达到教学要求。第四 , 新知识不断出现,教材内容偏重理论,相关理论的最新应用实例不足,导致学生难以理解理论知识,使理论与 实际相分离。基于以上现状,我们寻求到一个解决方案,那就是结合计算机进行虚拟实验,应用 Matlab 软件来进行设计和研究通信原理中众多抽象的概念。

18、实践表明,学生可以在短时 间学会 Matlab 的基本知识, 经过短时间的学习可以很快入门, 可以对其进行操作和使用。 Matlab 软件具有高效的数值计算及符号计算功能, 可以使学生摆脱复杂的数学运算分析, 此外,其图形处理能力,实现了编程和计算结果的可视化,其功能丰富的工具箱提供了 大量使用方便的处理工具,加上其友好的界面及自然化语言,便于学生学习和掌握。用 Matlab 图形用户界面(GUI 设计出的通信原理演示系统,将通信原理课程中较难掌握 和理解的重点理论和方法通过概念浏览,动态演示实例分析等方式生动地展现出来,使 学生能够更透彻地理解所学的知识,让学生有更多的时间去思考和理解通信原

19、理中的基 本概念和基本方法。可见,研究如何利用 Matlab 图形用户界面设计、开发出合理的通信 原理演示系统,具有重大意义。1.2 Matlab GUI简介Matlab 是由 Math Works公司于 1984年推出的一套高性能的数值计算可视化软件, 集数值分析、矩阵运算、信号处理和图形显示于一体,被称为第四代计算机语言,是目 前国际上最流行、应用最广泛的科学与工程计算软件,具有强大的计算、仿真、绘图等 功能。 Matlab 中包括被称作工具箱的各类应用问题的求解工具。 工具箱实际上是对 Matlab 进行扩展应用的一系列 Matlab 函数(即 M 文件 ,可以用来求解各类学科的问题,包

20、括 控制系统识别、神经网络、图像处理、信号处理等。随着 Matlab 版本的不断升级,其所 含的工具箱的功能越来越丰富,应用范围也越来越广泛。它具有运算符丰富、程序环境 高级并且简单、设计自由、可移植性好、图形功能强大、使用方便灵活、具有强大的工 具箱、源程序开放等优点,现被广泛应用于自动控制、航天工业、汽车工业、生物医学 工程、语音处理和雷达工程等行业,也是国内外高校和研究部门进行许多科学研究的重 要工具。目前许多大学的实验室都安装有 Matlab 供学习和研究之用。 Matlab 在科研和高 校基础课教学中具有明显优势,是理工科大学生必不可少的工具。Matlab 以其强大的科学计算及图像生

21、成功能著称,它同时也提供了图形用户界面的 设计和开发功能。 GUI 即图形用户界面,是 Graphical User Interface简称,又称图形用户 接口。它包含图形对象,如窗口、图标、菜单和文本的用户界面,是用户和计算机之间交流的工具。 Matlab 7.X为了方便制作图形用户界面 GUI ,提供了一个交互式的设计工 具 GUIDE 。通过 GUIDE 可以很方便地设计出各种符合要求的图形用户界面。用户通过 一定的方法如鼠标、键盘等选择、激活这些图形对象,使计算机产生某种动作或者变化 (比如计算、绘图等 。 GUI 设计既能以 Matlab 程序设计为主,也能以鼠标为主,利用 GUID

22、E 工具进行设计, 也可以结合以上两种方法进行设计。 Matlab 将所有 GUI 支持的用 户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版 本的提高,这种能力还会不断加强。 GUIDE 将用户保存设计好的图形用户界面保存在一 个 FIG 资源文件中, FIG 文件是一个二进制文件,包含系列化的图形窗口对象,所有对 象的属性都是用户创建图形窗口时保存的属性, 该文件最主要的功能是对象句柄的保存。 同时自动生成包含图形用户界面初始化和组件界面布局控制代码的 M 文件,这个 M 文 件为实现回调函数的编写提供了一个参考框架。 M 文件包含 GUI 设计、控制函数及控件

23、 的回调函数, 主要用来控制 GUI 展开时的各种特征。 M 文件基本上可以分为 GUI 初始化 和回调函数 2个部分,控件的回调函数可根据用户与 GUI 的具体交互行为分别调用。 用户界面的重要性在于它极大地影响了最终用户的使用, 影响了计算机的推广使用, 甚至影响到人们的工作和生活。由于开放用户界面的工作量极大,加上不同用户对界面 的要求不尽相同,因此,用户界面已成为计算机软件研制中最困难的部分之一。当前, Internet 的发展异常迅猛,虚拟现实、科学计算可视化及多媒体技术等对用户界面提出了 更高的要求。 GUI 的广泛流行是当今计算机技术的重大成就之一,它以友好性、直观性、 易懂性在

24、软件编程上被广泛使用。1.3 本文的主要内容本文主要研究了通信原理课程的交互式实时动态演示系统的设计,其中包括模拟线 性调制解调系统、模拟信号数字化系统、二进制数字调制解调系统和信道编解码系统, 进行了演示系统的界面设计和系统测试。全文共分四个章节。第 1章为绪论。主要介绍了课题研究的背景及意义,并简介了 Matlab GUI技术。 第 2章为通信原理演示系统设计。主要设计了演示系统主界面和各个子界面。子界 面主要包括模拟线性调制解调系统界面、模拟信号数字化系统界面、二进制数字调制解 调系统界面和信道编解码系统界面。对于每个子界面,在介绍相应的通信原理知识的基 础上详细说明了设计过程。第 3章

25、为系统测试。对设计出的每一个界面进行测试,根据改变不同参数时界面上所输出的波形或结果,验证演示系统的合理性与正确性。 第 4章对全文进行总结,提出不足,对今后工作进行展望。2 通信原理演示系统设计基于 Matlab 强大的功能,利用 Matlab 的 GUI 工具箱可以设计和实现通信原理课程 中重点内容的交互式实时动态演示。通信原理内容庞杂,所涉及的知识面比较广,本文 选取通信原理中 4个知识模块进行分析和设计,分别为:模拟线性调制解调系统、模拟 信号数字化系统、二进制调制解调系统、信道编解码系统。每个知识模块又可以划分为 几个小知识模块。其中,模拟线性调制解调系统包括调幅信号(AM 的调制解

26、调、载波 受到抑制的双边带信号(DSB 的调制解调、单边带信号(SSB 的调制解调。模拟信号 数字化模块包含了抽样、量化、编码 3个子模块。其中,量化又包含了均匀量化、非均 匀量化。二进制数字调制解调系统包含了 2ASK 调制解调、 2FSK 调制解调、 2PSK 调制 解调。信道编码和解码包含线性分组码的编码解码、循环码的编码解码。演示系统结构 如图 2.1所示。 图 2.1 演示系统结构图在进行界面设计前先介绍系统设计的原则和整个 GUI 界面设计的一般步骤。在后期 设计中都遵循该设计原则和一般步骤。由于设计要求不同,设计出来的界面也不同。本 文的界面设计遵循 3个原则:简单性、一致性、习

27、惯性。1简单性。要求设计界面时应该力求简洁直接清晰地体现界面的功能和特点。对于 可有可无的功能最好删除,确保界面的整洁。设计的界面要直观,应多采用图形。设计 的界面应尽量减少窗口的数目。2一致性。有两层含义,一是设计的界面风格要尽量保持一致,二是新设计的界面 与已有的界面风格最好不同。3习惯性。要求设计新界面时应该尽量使用人们熟悉的标志和符号。用户可能不了 解新界面的具体含义及操作方法,但它可以依靠熟悉标识符作为正确猜想,方便用户正 确使用。此外还要注意界面的动态性能。在系统设计过程中每个模块的 GUI 界面设计遵循以下步骤:步骤一:GUI 界面设计。分析界面所要求实现的主要功能,明确任务,构

28、思界面, 使用 Matlab 图形用户界面开发环境 GUI 提供的一系列创建用户图形界面的工具, 主要是 通过不同的文本框、按钮等许多工具的使用,将构思的主界面和各个子界面制作出来。 要清楚各个界面的功能,确保界面的布局合理美观、界面的风格最好保持一致。步骤二:回调函数的设计。用户应根据设计好的图形界面的功能,针对各个不同图 形对象来编写能够实现该功能的回调函数,确保这个图形界面能够完成所预定的功能, 达到直接通过界面上各个控件就可以控制数据的输入,并且可以方便直观地看到预期结 果。基于以上设计原则和设计步骤,进行界面设计,设计流程图如图 2.2所示。 图 2.2 系统流程图下面详细介绍每个功

29、能模块的设计过程。2.1 演示系统主界面设计根据前面所说的设计步骤。用户根据自己的需要点击相应的按钮,可以进入子界面。 主界面“结束演示”按钮可以关闭主界面,结束演示。主界面显示将要演示的 4大知识 模块及对应的子模块, 4大知识模块为模拟线性调制解调系统、 模拟信号数字化系统、 二 进制数字调制解调系统、信道编解码系统。模拟线性调制解调系统是单独的一个模块,模拟线号数字化系统包含抽样、 量化、 编码 3个子模块, 二进制数字调制解调包含 2ASK 、 2FSK 、 2PSK 3个子模块, 信道编解码包含线性分组码编码解码、 循环码编码解码两个子 模块。设计出的演示系统主界面如图 2.3所示。

30、 图 2.3 演示系统主界面主界面中显示的菜单栏是通过菜单编辑器设计的。菜单编辑器主要用于建立菜单栏 (Menu Bar 和右键菜单(Context Menus ,如图 2.4所示。若 figure 窗口的 Menu Bar 属性为 none ,只显示用户设计的菜单;若 Menu Bar属性值为 figure ,用户设计的菜单排 列在标准菜单之后。若要在菜单选项标签的某个字符上加上下划线(该字符一般用作快 捷键 ,只需要在 label 字符前加上“ &” 。 图 2.4 主界面菜单编辑器主界面中添加了结束演示按钮,双击该按钮,会出现属性设置对话框,它对应的 pushbutton 按钮的

31、标签 Tag 属性设为 pushbutton2, string 属性设为“结束演示” , FontSize 属性设为 18, FontWeight 属性设为 demi 。要使该按钮实现结束演示的功能,需要编写对应的回调函数。具体操作为:在主界面编辑界面中,选中结束演示按钮,点击右键选择 View Callbacks中的 Callback 菜单选项, 就可以打开 GUI.fig 对应的 m 文件,这个文件是 Matlab 自动生成的, 在 function pushbutton2_Callback(hObject, eventdata, handles下面添加 如下两行代码:close(gcbf

32、;quit;保存之后运行,点击该按钮就可以关闭演示系统,结束演 示。为了使主界面美观添加了图片。图片可以自由选择。添加背景其实就是将图片显示 在 axes 中。首先我们要确保 axes 和图片尺寸合适且匹配。可以调整 axes 的尺寸来适应 图片的大小,图片大小是 483 ×385,单位为像素。双击 axes ,在跳出的属性查看器中将 Units 设置为 pixels (像素 ,将 Position 属性的 Width 和 Height 分别设置为 483和 385。 然后编辑对应的 M 文件,即在 OpeningFcn 函数下面添加以下代码:backgroundImage = im

33、portdata('meitu.jpg'% 将背景图像载入 Matlabaxes(handles.axes1;% 选择坐标系image(backgroundImage;% 将图片添加到坐标系中,于是就成了背景axis off;% 将坐标系的坐标轴标签去掉保存后,打开主界面就可以将图片显示在主界面中。2.2 模拟线性调制解调演示系统设计2.2.1 模拟线性调制解调原理调制是一个将信号变换成适于信道传输的装置。模拟调制针对的信源为模拟信号, 常用的模拟调制有调幅、调相、调频。发送端进行了调制,接收端要进行解调。在模拟 线性调制中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅

34、(AM 。为了 提高传输的效率,适当选择带通滤波器的频率响应 (H , 可以得到各种幅度调制信号如 载波受到抑制的双边带调幅信号(DSB 和单边带调幅信号(SSB 。线性调制器的一般 模型如图 2.5所示。 图 2.5 线性调制器的一般模型t c cos在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调 制信号波形呈线性关系。下面简单介绍调幅信号(AM 、双边带信号(DSB 、单边带信 号(SSB 的调制解调原理。1调幅信号(AM 调制解调原理设模拟基带信号为 (t m 外加直流 0A ,滤波器的频率响应 (H =1为全通网络,则输 出为调幅(AM 信号时域和频域一般表达

35、式为:t t m t A t t m A t s c c c AM cos (cos cos ( (00+=+= (2.1 ( (21 ( ( (0c c c c AM M M A S -+= (2.2 可以将调幅信号看成一个余弦载波加抑制载波双边带调幅信号, 当 A >(t m 时, 称为 调幅信号欠调幅;反之,称为过调幅。当 (t m 的频带宽度远远小于载波频率的时候,欠 调幅信号可以用包络检波的方式解调,而过调幅信号只能通过相干解调。相干解调的方 式如图 2.6。 c图 2.6 相干解调 2双边带信号(DSB 调制解调原理在 AM 信号中,载波分量并不携带信息,却占据了大量的发射功

36、率,造成这部分功 率的浪费。如果在 AM 调制模型中输入的基带信号没有直流分量,或者将直流分量抑制 掉,即可得到一种高调制效率的调制方式 载波受到抑制的双边带调幅信号(DSB 。 载波受到抑制的双边带调幅信号时域和频域一般表达式为:t t m t s c DSB cos ( (= (2.3 ( (21 (c c DSB M M S -+= (2.4 DSB 信号解调时必须采用相干解调, 即让已调信号与本地恢复载波信号相乘并通过低 通滤波器滤除高频分量,就恢复出了原始信息。3单边带信号(SSB 调制解调原理模拟基带信号经过双边带调制后,包含两个边带,即上边带、下边带。从恢复原始信号频谱的角度看,

37、 只要传输双边带信号的一半带宽就可以完全恢复出原始信号的频谱。 产生 SSB 信号的最直观方法是将线性调制器的滤波器设计成截止频率为 c f 的理想低通或 理想高通特性。 SSB 信号的时域表示式为:t t m t t m t s c c SSB sin (21cos (21 (±= (2.5 式中, “ +”为下边带, “ -”为上边带。 (t m是 (t m 的希尔伯特变换。若 (M 为 (t m 的傅氏变换,则 (t m的傅氏变换 (M 为: sgn ( (j M M-= (2.6 式中, sgn 为符号函数。单边带信号占用的带宽只有双边带信号的一半,在接收端 采用相干解调的方

38、式对单边带信号进行解调。2.2.2 设计思路及步骤1设计思路和要求用 GUI 设计一个模拟线性调制解调系统,调制信号是振幅为 1,频率为 1Hz 的正弦 波。第一:能在同一个 GUI 上演示 AM 调制解调过程、 DSB 调制解调过程、 SSB 上边带 和下边带调制解调过程。第二:设计出的 GUI 界面由 6个部分组成:调制区、解调区、 参数设置区、绘图区、说明、返回。其中调制区中包括 6个控件:载波信号、调制信号、 AM 信号、 DSB 信号、 SSB 下边带信号、 SSB 上边带信号。解调区包括 4个控件:AM 解调信号、 DSB 解调信号、 SSB 下边带解调信号、 SSB 上边带解调信

39、号。第三:参数设 置区包含 2个可变参数:载波频率(Hz 、 AM 信号直流分量。当用户根据自己的需求输 入数值后,整个界面就会以输入的参数为基准。当选择“载波信号”按钮时,能够在图 轴上画出相应载波频率下载波信号时域波形和频域波形,当选择“ AM 信号”按钮时, 能够在图轴上画出给定 AM 信号直流分量下 AM 信号时域和频域的波形。同理选择“调 制信号” 、 “ DSB 信号” 、 “ SSB 下边带信号” 、 “ SSB 上边带信号” 、 “ AM 解调信号” 、 “ DSB 解调信号” 、 “ SSB 下边带解调信号” 、 “ SSB 上边带解调信号”按钮时会分别在图轴上画 出相应信号

40、时域波形和频域波形。第四:本次演示过程结束后,按“退出”按钮就能退 出本界面返回到主界面。添加说明部分,对演示系统添加说明,方便学习者清晰理解作 者的思路。2设计步骤步骤一:界面设计按照设计思路在 GUI 编辑界面中添加相应的控件。添加 11个按钮控件,双击第 1个按钮,会出现对话框,将 string 属性设为“载波信号” , Tag 属性设为“ pushbutton1” 。 双击第 2个按钮将 string 属性设为“调制信号” , Tag 属性设为“ pushbutton2” 。双击第 3个按钮将 string 属性设为“ AM 信号” , Tag 属性设为“ pushbutton3” 。

41、双击第 4个按钮将 string 属性设为“ DSB 信号” , Tag 属性设为“ pushbutton4” 。双击第 5个按钮将 string 属 性设为“ SSB 下边带信号” , Tag 属性设为“ pushbutton5” 。双击第 6个按钮将 string 属性 设为“ SSB 上边带信号” , Tag 属性设为“ pushbutton6” 。双击第 7个按钮将 string 属性设 为 “ AM 解调信号” , Tag 属性设为 “ pushbutton7” 。 双击第 8个按钮将 string 属性设为 “ DSB 解调信号” , Tag 属性设为“ pushbutton8”

42、。双击第 9个按钮将 string 属性设为“ SSB 下边 带解调信号” , Tag 属性设为“ pushbutton9” 。双击第 10按钮将 string 属性设为“ SSB 上 边带解调信号” , Tag 属性设为“ pushbutton10” 。双击第 11个按钮将 string 属性设为“返 回” , Tag 属性设为“ pushbutton_back” 。添加 2个编辑框控件,将两个编辑框的 string 属 性均设为空,同时在各自正左方添加静态文本控件进行说明。此外还添加了 4个面板 (Panel 控件, string 属性分别为设为 “调制区” 、 “解调区” 、 “说明”

43、、 “参数设置区” 。将前 6个按钮控件(即载波信号、调制信号、 AM 信号、 DSB 信号、 SSB 下边带信号、 SSB 上边带信号按钮控件布局在“调制区”面板中,将第 7至 10个按钮控件(即 AM 解调信号、 DSB 解调信号、 SSB 下边带解调信号、 SSB 上边 带解调信号按钮布局在“解调区”面板中,将 2个编辑框及相应的静态文本控件布局 在“参数设置区”面板中。说明面板控件中添加静态文本, string 属性设为“ 1、调制信 号是振幅为 1,载波为 1Hz 的正弦波 2、解调时均采用相干解调的方法 3、两幅图横轴分 别为 t,f 。解调信号有延迟。 4、解调时,红色为原信号蓝

44、色为解调信号”模拟线性调制解 调系统的界面如图 2.7所示。 (a 模拟线性调制解调系统编辑界面 (b模拟线性调制解调系统演示界面 图 2.7 模拟线性调制解调系统界面步骤二:回调函数设计要实现演示效果,就要对控件的回调函数进行编程。由 GUI 生成的 M 文件,控制 GUI 并决定 GUI 对用户操作的响应。 它包含运行 GUI 所需的所有代码。 GUI 自动生成 M 文件的框架,用户在该框架下编写 GUI 组件的回调函数。 M 文件由一系列子函数构成, 包含主函数、 Opening 函数、 Output 函数和回调函数。其中主函数是不可以修改的,否则 会导致 GUI 界面初始化失败。用户对

45、控件操作的时候,控件对操作进行响应,所指定执 行的函数就是该控件的回调函数。在 GUI 编辑界面点击 可以打开界面对应的 M 文件 (MNtiaozhijietiao.m ,点击 M 文件中的 就可以有选择地进入控件的 Callback 。根据 每个控件要实现的功能添加代码 。 也可以右键单击控件 , 选择 View Callbacks中的 Callback 菜单项,打开对应的 M 文件。(1参数设置区回调函数设计载波频率 (Hz 和 AM 信号的直流分量是要输入的参数 , 在 M 文件中找到载波频率、 和 AM 信号直流分量文本控件对应的 callback ,添加代码。 2个文本控件添加代码

46、类似, 只是定义的变量不同,这里只对载波频率对应文本控件添加的代码进行说明。即在 function edit1_Callback(hObject, eventdata, handles下添加代码:global fc;%定义载波频率 为全局变量 f 1=str2double(get(handles.edit1,'string'%将字符串转换为 double 型数值 fc=f1;%赋值(2调制区、解调区回调函数设计调制区包含 6个按钮控件。解调区包含 4个按钮控件。选择任何一个按钮都可以绘 制出相应信号的时域和频率的波形。例如输入载波频率和 AM 信号的直流分量后, 点击 “ AM

47、 信号” 按钮,在 axes1中会绘制 AM 信号时域波形,在 axes2中会绘制 AM 信号频域波形,要实现该功能就要右键单击 “AM 信号 ” ,选择 View Callbacks 中的 Callback 菜单项,在 function pushbutton3_Callback(hObject, eventdata, handles下面添 加以下代码:axes(handles.axes1global fc;global A;%fc为载波频率, A 为 AM 信号的直流分量T=5; fm=1;dt=0.001;%T为信号时长, fm 是信源最高频率, dt 是时间采样间隔 t=0:dt:T;mt=cos(2*pi*fm*t;%调制信号(信源s_a

温馨提示

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

评论

0/150

提交评论