当前位置:文档之家› 基于matlab的通信原理辅助实验系统设计毕设论文

基于matlab的通信原理辅助实验系统设计毕设论文

基于matlab的通信原理辅助实验系统设计论文

专业:电子信息工程学号:08128001 姓名:施小飞

摘要:通信原理与实际应用联系密切,又具有很强的理论性和抽象性,需要应用概率论、随机过程、信号与系统、模拟与数字电路等多门课程知识为基础。给我们的学习造成了一定的困难。为了解决该问题,使抽象的理论知识具体化、形象化,我们引入了此课题。旨在通过以MATLAB 语言进行的GUI编程,搭出一个简单的、直观的、容易操作的、可视化的人机交互界面。通过鼠标点击按钮,即可完成通信原理课程中一些基本的实验。

关键词:通信原理 matlab 实验系统

1.引言:

1.1 课题研究的目的及意义

随着现代通信技术发展的日新月异,通信原理课程变得愈来愈重要。

通信原理是通信工程专业、电子信息专业的一门重要的专业基础课程,它以各种通信系统的基本理论为研究对象。

本文的目的是研究基于MATLAB 的通信原理辅助实验系统的设计方法并对其进行实现。1.2 选用MATLAB的原因

由于我们要做的只是一个通信原理辅助实验系统,并非是对通信系统深入地、精确地分析研究。此外,我们还需要搭出一个人机友好的界面,综合分析一下,我们决定采用MATLAB,用.m文件编程实现图形用户界面及界面内部的通信原理的相关计算[3]。

Visual Basic和Visual C++亦可进行图形用户界面的编程。但此课题我们选用MATLAB,因为MATLAB语法简单,贴近人的思维方式,图形表现丰富有效,并且MATLAB提供了各种数学、科学计算的相关函数,编程简洁美观,比Basic和C语言用起来要更方便一些。另外,MATLAB 还提供了与Visual Basic和Visual C++相连接的接口,可以实现两种语言的混合编程[5]。

综合以上优点,所以选用MATLAB做通信原理辅助实验系统的设计。

2 GUI相关知识简介

2.1 定义及简单介绍

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户介面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

如Windows是以图形界面方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观。而DOS就不具备GUI,所以他只能输入命令。DOS 的这种界面叫CUI (Command line User Interface ) 命令行模式的人机接口。

通常人机交互图形化用户界面设计经常读做“goo-ee”,准确来说 GUI 就是屏幕产品的视觉体验和互动操作部分。

GUI是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。

GUI即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。

3 图形用户界面设计

3.1 句柄图形

句柄图形(Handle Graphics)是一种面向对象(Object-Oriented)的绘图系统中的概念。所有的图形操作都是针对图形对象而言的,图形对象是图形系统中最基本、最底层的图元。3.1.1 句柄图形的结构层次

句柄图形是基于这样一个概念,即一幅图的每一组成部分是一个对象,每一个对象都有一系列句柄和其相关,每一个对象有按需要可以改变的属性。它提供创建计算机所必需的各种软件。它所支持的命令,可以直接创建线、文字、网格、面以及图形用户界面前面所介绍的高层图形命令(如plot、mesh等)。这些都是以句柄图形软件为基础写成的。因此,句柄图形也被称为低层图形[23]。

低层命令使用起来不像高层命令那样数学概念清晰,调用格式简明易懂。但是低层命令直接操作基本绘制元素(Basic Drawing Elements),可以更细致、更具个体化地表现图形,更自然、更贴切地展现应用场合的物理意义。

每个对象都有一个“与生俱来,终生不变”的独特“身份(Identifier)”,即句柄。句柄是存取图形对象的唯一规范标识符。不同对象的句柄不可能重复或混淆。

MATLAB对各种图形对象提供了相应的创建函数,这些函数如表5.1所示。

表5.1 建立图形对象的函数

3.1.2 访问对象句柄

句柄实际上局势分配给每个对象的数组标志。每次创建一个对象时,就为它建立一个唯一的句柄[24]。

(1)获取对象句柄

MATLAB有3个专门获取图像句柄的指令:前2个时直接指令式的;后一个必须与鼠标配合使用。

●gcf %返回当前图形窗口的句柄

●gca %返回当前轴的句柄

●gcf %返回最近被鼠标点击的图形对象的句柄

用MATLAB的低级图形命令编程时,经常要用句柄来查询对象的属性值,在这方面,MATLAB 提供了很多查询句柄的函数。但在编写M文件时,使用这些函数往往不是最好的方法。在创建对象时,用一个变量来保存句柄值,往往能提高编程和执行效率。

(2)对象属性的获取和设置

所有图形对象都有属性,正是通过设定这些属性来定义或修改图形的特征。对象属性包括属性名和与之相应的值[25]。

1)get函数

get函数用于获取指定对象的属性值。用法如下:

‘PropertyName’):获得句柄为H的对象中名为“PropertyName”

● PropertyValue=get(H,

的属性的值。例如:命令“V=get(gca,‘Position’)”用于返回当前图形对象中坐

标轴左下角和右上角的位置坐标。

● PropertyName=get(0,‘Default’):返回默认的属性

值。这里的句柄H必须时标量,这里的参数ObjectType和PropertyName是可选的。

2)set函数

set函数用来设置对象的属性值,它的调用格式如下:

● set(H,‘PropertyName’,PropertyValue):把句柄为H的对象中名为“PropertyName”

的属性的值设置为“PropertyValue”。句柄H可以是向量,这种情况下,函数set为

所有对象设置属性值。

3.2 界面菜单

3.2.1图形窗口的标准菜单

PC平台上,默认情况下产生的MATLAB图形窗口总有一个顶层菜单条【Top-level meau】。每个菜单项在单击时都会产生一个下拉菜单【Pull-down meau】。这种标准菜单由界面菜单的“MeauBar”属性管理。该属性有两个取值[“none”|”figure”]:当属性值取“none”时,图形窗口不显示标准菜单(及工具条);当属性值取“figure”时,图形窗口显示标准菜单[26~27](这是厂家的默认值)。

3.2.2 菜单属性

菜单对象属性可以分为公共属性、基本控制属性和callback管理属性[28]。

1)“Position”属性

取值:标量,指定菜单的相对位置,这里“相对”的含义是对象的Position属性,只有和同级的uimeau对象比较时才有意义。例如:在主菜单中,Position属性为1的位于菜单的最左边,并依次向右侧递增;某一菜单的所有子菜单中,Position属性为1的位于最上面,并且依次往下递增。

2)“Visible”属性

取值:{on|off},指示菜单是否可见,如果设为off,则菜单不显示但仍然存在并且能通过get/set来访问其属性。

3)“Label”属性

菜单名(Label)是用户菜单属性中不可缺少的一个,用于识别不同菜单项。

类型:String。用来命名用户菜单项名称,该字符串应该能够简明扼要反映相应操作的本

质。像其他Windows开发工具一样,MA TLAB运行在菜单文字中使用特殊字符“&”表示热键。

4)“Callback”属性

回调函数(Callback)也是用户菜单属性中不可缺少的一个,用于产生相应的操作,使该菜单项发挥应有的作用。

类型:String,可以是一个标准的MA TLAB命令、一个在path设置的路径中可以搜索到的.m文件名。当用户选用该菜单时,回调的作用是:将该属性值字符串送给eval去执行,以实现该菜单的功能。倘若用户不对自制菜单项的回调属性进行设置,那么该菜单项回调属性值为“空串”,因而当用户选择该菜单项时,将没有任何反应。

3.3 用户控件

像GUI菜单一样,GUI控件也提供了一种友好的交互方式,它的出现给用户的操作带来了很多方便,而且控件比菜单更为直观。

3.3.1 控件对象的创建

MATLAB主要靠编写程序来创建用户界面。uicontrol对象时MATLAB提供的3种基本图形对象(uicontrol、axes、uimeau)中的一种,uicontrol函数按照指定的属性值来创建uicontrol 对象。程序代码包含两大块:创建控件的代码和控件的回调函数代码。各种控件都用uicontrol 函数创建,其调用格式如下:

Hc=uicontrol(H_parent,’PN’,PV,…)

其中:Hc为待制作用户控件的句柄,H_parent为其父对象句柄,当该句柄默认时,MATLAB将在当前图形界面上添加用户控件;PN、PV(属性名、属性值)二元队,用来定义用户控件的属性(如类型、回调等)。

3.3.2 编程序建立控件

(1)单功能控件(按钮键)

单击鼠标按钮,执行由回调字符串所定义的动作。

h_push1=uicontrol(gcf,'style','push','unit','normalized',...

'position',[0.72,0.35,0.12,0.1],...

'string','通过信道后','callback',...

(2)无线电选择键

无线电按钮键‘style’的属性值是“radiobutton”。

hr2=uicontrol(gcf,'style','radio','string','频域',...

'position',[0.85,0.2,0.14,0.1],'callback',[...

(3)静态文本框

静态文本框是只显示一个文本字符串的uicontrol,其‘style’的属性值是“text”。

uicontrol('style','text','string','时域或频域',...

'position',[0.85,0.4,0.12,0.08]);

(4)可编辑文本框

可编辑文本框允许用户动态地编辑或重新安排文本字符串,其‘style’的属性值是“edit”。

hedit=uicontrol(gcf,'style','edit',...

'position',[0.85,0.85,0.12,0.1],'callback',[...

4 通信原理辅助实验系统

4.1 登录界面

图4.1 登录界面

点击如图所示的“Enter”,则执行“Enter”按钮内部callback后面的程序,此时系统将调用zhan.m文件,出现选择调制系统的界面。

4.2 通信系统选择界面

图4.2 选择调制系统界面

此界面主要用来选择不同的调制系统。点击图中的不同按钮,系统会相应地执行按钮下面的callback后面的程序。比如:点击“AM”按钮,系统会调用am_new.m文件(附录A所示的程序),生成调幅系统界面。点击其他按钮,情况类似,均是调用*_new.m文件,生成对应的调制系统界面。

由于界面上带有关闭按钮,所以此界面中没有再设置“关闭”键。

4.3 调幅系统界面

图4.3 调幅系统界面

以AM调制系统为例:此界面是点击图6.2所示界面中“AM”按钮后,调用执行am_new.m 文件后生成的。不同的调制系统,会在图6.3所示的绘图区域上方显示不同的静态文本“*调制系统波形”(*代表不同的调制系统的名称);图6.3最右方所示的三个文本编辑框,用来改变系统的参数(调制系统不同,这三个文本编辑框也不同)。右下方的“时域”“频域”是无线电选择键。选择“时域”,系统会将torf变量置0,torf变量进入am_new.m调用的核心算法am.m文件(附录B所示的程序)中,选择时域的计算模块;选择“频域”,系统则将torf变量置1,torf变量进入am_new.m文件所调用的核心算法am.m文件中,选择频域的计算模块。

在一般情况下,连续执行两条plot命令,则后面一条命令的输出结果会把前面的一条语句的输出图形给覆盖掉,“图形重叠”按钮的功能是后面所画的波形叠加在前面所画的波形上(hold on)。“图形覆盖”按钮的功能是后面所画的波形覆盖前面所画的波形(hold off)。

点击“返回”按钮,系统回调zhan.m文件,出现图 6.2所示界面。

图4.4 调幅系统信源波形

图4.5 调幅系统调制后波形

图4.6 调幅系统通过信道后波形

图4.7 调幅系统解调后波形

4.4 系统工作流程

首先运行lvxiangnan.m文件,出现图6.1所示界面。然后点击“enter”,这时“enter”按钮键的callback调用zhan.m文件,出现界面如图6.2所示。同理,点击图6.2中的各个按键,会分别调用am_new.m、 fm_new.m、 ssb_new.m、 ask_new.m、fsk_new.m、psk_new.m文件,出现类似于图6.3所示的界面。点击界面上的按钮,会分别执行不同的功能。其中,“返回”按钮将返回到图6.2所示界面。

其他调制系统的界面只需将附录am_new.m文件所示程序中所调用am程序相应地改为fm、ssb、ask、fsk、psk,并把传入函数的变量个数对应起来,然后再删改一些编辑框和文本框即

可。

5 总结

通信原理是通信工程专业、电子信息专业的一门重要的专业基础课程,它以各种通信系统的基本理论为研究对象。通信原理与实际应用联系密切,又具有很强的理论性和抽象性,需要应用概率论、随机过程、信号与系统、模拟与数字电路等多门课程知识为基础。给我们的学习造成了一定的困难。

通过介绍MATLAB图形编程语言及通信原理的相关知识,最终搭建出通信原理辅助实验系统的界面,给读者提供了一个直观认识通信系统的感性基础。用户仅通过点击鼠标,即可观看调幅(AM)、调频(FM)、单边带(SSB)、二进制振幅键控(2ASK)、二进制频移键控(2FSK)、二进制相移键控(2PSK)六种模型的各种波形,使学生建立起学习通信原理的兴趣。

参考文献

[1] 樊昌信,曹丽娜. 通信原理. 北京:国防工业出版社,2010

[2]李军,常鸿森,保宗悌. 基于MATLAB的数字通信系统仿真应用. 华南师范大学学报,2002, 第1期: 100-104

[3] 罗军辉,罗勇江,白义臣等. MATLAB7.0在数字信号处理中的应用. 北京:机械工业出版社,2005. 86-88

[4] 王宏,MATLAB6.5及其在信号处理中的应用. 北京:清华大学出版社,2004

相关主题
文本预览
相关文档 最新文档