通信原理虚拟实验仿真平台的设计和实现

来源 :软件 | 被引量 : 0次 | 上传用户:qinggo1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:通过研究Matlab与Java编程的开放接口,本文阐述了通信原理虚拟实验平台的设计思路,并以智能客户端的方式实现了该平台。利用网络和界面编程技术,结合Matlab底层运算,使得用户可以自由使用通信组件搭建和修改实验,交互性强。
  关键字:计算机应用技术;虚拟实验;通信原理;仿真技术;Matlab builder Ja
  中图分类号:TP391.6 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.06.001
  0 引言
  通信原理是电子信息和通信工程类专业重要的专业基础课,理论和实践性都很强,不但需要掌握和理解基本的概念,还需要通过课程实验来强化所学理论。为配合通信原理的教学活动,各高校在该课程实验设置和投入方面花费了巨大的人力和物力资源。但一方面硬件实验设备易受损,仪器的精确度所受干扰的因素过多,使得学生在很多情况下很难得到理想效果;另一方面由于实验设备损耗大、开销高和维护困难等局限性,使得众多高校对该课程实验建设的投入明显不足,有的甚至放弃实验教学[1-2]。
  虚拟实验技术作为现代实验教学的发展模式,可以很好的解决以上问题[3]。虚拟实验通过利用软件模拟和仿真硬件功能让用户参与实验教学活动,因其零损耗、灵敏度高、仿真结果稳定等优点,已经在高校教学中得到广泛应用。
  1 国内外研究现状
  目前新加坡国立大学关注通信类虚拟实验的研究,建立了示波器实验,将LabView作为Internet工具之一,充当仪器设备控制器级图形化用户操作平台,进行信号处理、数据分析、存储和现实工作。
  国内研究方向在通信课程虚拟实验的主要由北京邮电大学、中南大学和吉首大学。北京邮电大学和吉首大学主要关注基于Matlab Web Server的远程通信网络虚拟实验室,只能够完成部分给定实验,其以演示性实验为主;中南大学则使用自己创建组件的模式,用Java和开源包Jmatlink实现Java和Matlab的通信,使用Java Applet实现部分简单的通信原理实验[4]。
  2 虚拟实验关键仿真技术
  2.1 Matlab builder JA
  Matlab有多种应用部署产品[5]。如表1所示,Builder产品主要由Matlab Builder EX(支持Excel)、Matlab Builder Ja(支持Java和Web)、Matlab Builder NE(支持COM、C#.NET、Web)。其中Ja产品支持Matlab函数调用、图形应用、Web应用、Web图形化,所有Builder均需要Matlab底层运行环境(Matlab编译器)。
  Matlab在2006中添加了Matlab Builder JA,又叫Java Builder,是对Matlab Compiler的扩展。用Java类中形成一个Java组件或包。每个Matlab函数被封装为Java类的一个方法,可以在Java应用程序中被调用,并可以免费被部署到未安装Matlab的桌面应用或者Web服务器上。Builder JA允许Java调用Matlab的文件,方便了Java进行复杂的数学运算。
  与Matlab对其他程序的外部接口相比,Builder JA接口可以直接通过Java调用Matlab资源,例如可以调用Matlab中的图形界面直接展示结果。Java在网络编程上比较简单,可以通过混合编程开发基于Web的应用程序。
  部署组件必须在有Matlab编译环境的电脑上运行,Matlab开发人员可以直接安装Matlab,Java开发人员可以安装Matlab或安装MCR(Matlab Compiler Runtime)和Matlab Builder Ja组件包,用户的终端机器上需要安装MCR,如果使用Web figures的功能,可以支持浏览器直接访问而无需安装任何插件,此类功能类似于Matlab Web Server。
  3 虚拟实验平台的设计和实现
  3.1 平台总体结构设计
  3.1.1 目标和原则
  首先,尽可能真实的模拟通信原理实验的理论和实际过程,对实验的把握要准确,平台要尽量简化以方便用户使用。
  其次,使用Matlab作为底层运算环境,最大限度的满足用户对通信组件的需求,完成尽可能多的实验,要有良好的扩展性。
  最后,构建一个以通信组件为核心的通信原理虚拟实验平台,支持用户使用通信组件自行搭建任意通信实验,给用户最大的自由度和良好的交互体验。
  3.1.2 总体结构
  基于网络的B/S结构,如图3.1,将重要的数据操作和服务放在服务器端实现,而一些面向用户的交互型操作多在浏览器端实现。其中,前台表达逻辑和业务处理逻辑是客户端主要的事务逻辑,数据库处理逻辑是数据库服务器端主要的事务逻辑,数据库处理逻辑需要调用服务器数据库进行相应操作[6-7]。
  针对远程虚拟实验,用户可以使用Matlab组件直接远程调用相应仿真软件的相关器件和脚本文件。开发人员只需事先开发好相应课程的用户界面和实验脚本,用户无需安装相关软件,只需要使用浏览器访问相应实验页面就可以进行实验操作。
  如图3.2所示,通信原理虚拟实验平台的整体架构[8]包括3个部分:服务器端、智能客户端和本地资源。服务器端和智能客户端间主要使用Java网络编程来互相传递数据;智能客户端和本地资源间只要使用Matlab Builder JA调用本地函数传递数据;智能客户端的界面主要使用Java SWT界面编程技术开发操作界面和虚拟实验组件,实现组件拖拽、连接等操作,并显示仿真结果。
  3.2 平台的实现
  实现通信类虚拟实验平台主要分为三部分,一是实验中所需功能模块和需要设置的参数,主要是在Matlab中编写的相关函数,并且将很多相似功能写成通用函数,以方便直接调用,然后打成Jar包,使用Java语言直接调用相关函数进行运算;二是实现虚拟实验界面,将所需组件集成在界面平台上,实现拖拽、连接功能,并且可以设置具体参数、查看实验结果波形和数据;三是用户自定义扩展组件,由Matlab用户可以自行添加相关Jar包实例化组件。主要实现过程:   第一步:编写Matlab中实现组件的函数并测试;
  第二步:使用Matlab deploytool将所需Matlab函数封装到Java类中,并转换为Jar包,并将Jar包导入到Java开发工程中。
  第三步:配置运行环境,未安装Matlab的环境需要安装MCR;
  第四步:Java实例化类,调用Matlab编写的组件函数,传递数据,并组合调用多个组件函数,测试组合调用结果是否正确;
  第五步:在界面中实现单独组件和组件间参数和结果传递,实现组件拖拽和参数传递,搭建完整实验原理框图,并测试数据传递是否正确。
  3.3 BPSK实验[9]
  打开智能客户端,输入用户名密码进入虚拟实验平台界面。根据BPSK实验框图3.3,将实验所需器材从器材栏里拖拽到实验台上,用鼠标将器材正确连接起,根据需要设置器材的关键参数,点击运行按钮,即可从示波器和功率谱分析仪中看到实验结果。用户可以将所做的实验以XML形式保存到本地,然后在教学管理主页中把实验提交到服务器中,由老师进行指导和评分。
  4 结束语
  通信原理虚拟实验平台是对远程通信原理实验教学的一次有力探索,验证了平台开发的可行性。在之前的设计基础上,丰富了课程实验所涉及的虚拟仪器,基本完成了通信原理的实验设计,解决了实验器材的参数设置和普适性,并初步引入了时间域上的概念。此平台在量化、编码、同步和仪器灵活性方面尚有待解决的问题,此问题的解决可以使得此平台具有更大的灵活性和可扩展性,不仅能够完成通信原理课程的虚拟实验,而且可以成为涵盖通信类学科的综合性虚拟实验平台。
  参考文献
  [1] Sherry,L.Issues in Distance Learning.International Journal of Educational Telecommunicationsl(4),337~365, 1995
  [2] Fuan Wen,“eLearning - Theories, Design, Software and Applications”,Open Web-Based Virtual Lab for Experimental Enhanced Educational Environment, ISBN 978-953-51-0475-9. April,2012.(InTech Open Access).
  [3]J.Wang,S.Chen,W.Jia,et al.The Design and implementation of Virtual Laboratory Platform in Internet. Proceeding of the First International Conference on Web-based Learning in China.2002.169~177
  [4]Yue Zhao, Fuan Wen, "Rapid Implementation of Communication-related Simulation Equipment on the Open Web-based Virtual Lab," Advances in Electronic. Engineering, Communication and Management (EECM) vol.2,Dec.24-25,2011. Beijing, China. pp.417-424.
  [5]http://www.mathworks.cn/products/matlab/index.html?s_cid=baidu_matlab
  [6]焦瑞莉,南利平,李学华. 基于LabVIEW的通信专业远程虚拟实验室[J]. 国外电子测量技术(虚拟仪器),2005(3):4-7.
  [7]廖云伢.基于Java与Matlab集成的数字通信原理虚拟实验平台的设计与实现. 中南大学硕士学位论文.2007.
  [8]郭志强,黄燕,吴平. Java-Matlab集成方法的分析与探讨. 研究与开发,2006年第6期:15~17
  [9]周炯磐,庞沁华,续大我,吴伟陵 . 通信原理. 北京邮电大学出版社.2005年11月:153-156
其他文献
<正> 公安队伍的思想道德素质如何,直接关系到公安机关精神文明建设的成败,而职业道德建设又是思想道德建设的一项重要内容。根据党的十四届六中全会关于全面加强社会主义道
针对变压器铁芯铆接-激光焊接要求,设计了全自动化设备,包括自动上料机构、随行夹具、自动铆接机构、自动激光焊接机构以及自动下料机构等。通过设计多个随行夹具及八工位转
推行理论实践一体化教学是高职院校教学改革的重要举措,可以提升学生职业能力和综合素质,充分满足行业、企业对人才培养质量的要求。实施理论实践一体化教学可采取以下策略:转变
SQLServer集成服务,是为微软平台上构建ETL解决方案提供更高的用户生产力、可伸缩性以及高级转换逻辑,是MicrosoftBI解决方案的重要工具。本文介绍了SQLServer集成服务的技术要
重型工程机械在工程建设中起到十分重要的作用。其中起重机在物料搬运设备中占较大比例。吊臂是重型工程机械汽车起重机最重要的工作部件,吊臂是属于金属结构部分,是除机身外
基于雾图求反图与低光照图像之间统计特性的相似性,本文提出了一种利用Retinex图像增强方法实现图像去雾的新方法,能够实现对雾图的快速、有效去雾。该方法首先获取雾图的求反图,对求反图进行Retinex增强,并对其结果图像进行动态范围调整和色彩复原,得到去雾后的图像。对本文提出的去雾算法与当前其他去雾算法的实验结果对比显示,本文提出的去雾算法去雾效果明显,主客观评价结果与当前最好的算法相当,但本文算
粗糙集理论是近年来发展起来的处理不完整数据的最新成果,是一种刻画不完整性和不确定性的数据的有效数学工具,能高效地分析与处理不精确、不一致和不完整等各种不完备信息,并从中发现隐含知识,揭示潜在规律。首先介绍了粗糙集理论的基本概念、知识表示和属性约简;接着研究了粗糙集理论在视频分析中的应用思想与方法,包括RS在镜头检测中的应用与RS在关键帧提取中的应用;最后对文章进行了总结,并对RS理论进行了展望。