当前位置:文档之家› 公选课结课论文

公选课结课论文

淮阴工学院公选课结课论文作者: 学号:学院: 经济管理学院专业: 信息管理与信息系统题目: 基于Java与MATLAB集成的数字通信原理虚拟实验平台的设计与实现2014 年11 月1绪论1.1研究背景1989年,美国Virginia大学的钻ilialnwulf教授提出了“虚拟实验室”【1】的概念也称为“合作实验室(cof一Laboratory)”,它用来描述一个计算机网络化的虚拟实验环境。

它致力于构筑一个综合不同工具和技术的电子化、网络化的科学研究集成环境。

在这个环境里,科学家们可以非常有效地利用地理上分布的各种资源(数据、信息、设备、人力)来从事科研活动。

wulf形象地把虚拟实验室称为“无墙的研究中心”【2】。

所谓虚拟实验室就是以计算机网络为核心,将虚拟仪器通过网络连接起来,以实现数据采集、分析、远程操作的一个系统。

它主要具有如下特点:(1)虚拟实验室具有开放性、直观性。

利用虚拟实验室,通过网络能实现远程异地为学习者实时或跨地域地提供图文、音像并茂且丰富多彩的人机界面,配合先进的传感测试技术,利用计算机的模拟功能、动画效果实现缓慢过程的快速化或快速过程的缓慢化,并把误操作后可能产生的报废或爆炸情况模拟地显示出来,对有毒有害、污染环境和破坏性实验,也可以在虚拟实验室内完成,实现经济效益和社会效益的双赢。

(2)虚拟实验室更新快捷,易于扩充维护,操作方便。

当今社会一方面是科学技术的飞速发展,新技术、新设备、新工艺不断出现,加快了仪器设备的更新换代;另一方面高等教育经费与日益扩大的招生规模相比相对不足,难以大量购买高、新、尖仪器设备,教学多只能演示,难以满足实验教学科研的需要。

而虚拟实验室可随时开放,反复实践,满足学生的求知欲,提高动手能力。

(3)虚拟实验室可降低经费成本,提高教学科研效益。

虚拟实验室的建立能有效降低耐用品的消耗量,避免设备的重复购置,提高教学科研效益。

虚拟实验室操作方便,不受实验条件的影响,没有实验时间的限制,灵活方便可移植,充分实现资源共享。

随着Intemet的发展,虚拟实验室呈现出网络化的趋势,即在客户端不需要任何的安装和维护工作,可直接通过网络访问远程的虚拟实验室,这种实现方式代表着当前虚拟实验室研究发展的一个新的方向[3]。

1.2课题的研究现状国内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特别是在一些著名的大学和虚拟实验室中,已经建好并投入使用的虚拟实验系统也不少。

新加坡国立大学建立的网络虚拟实验室【4】,利用了JavaAPplet来控制远程硬件实验设备。

美国亚利桑那州立大学采用JavaAPPlet技术开发的数字信号处理编辑器J 一Dap[5],可以让用户通过,web浏览器实现跨平台访问。

与西方发达国家相比,国内在虚拟实验方面开展的工作还不多。

德国Ruhr大学网络虚拟实验室。

该实验室是一个有关控制工程的学习系统,它通过直观的三维实验场景视觉效果,依赖各虚拟实验设备的仿真特性,实现对虚拟实验的交互式操作[6]。

目前从网上可查到的信息和各院校开放的对外服务看,国内清华大学、北京大学、上海交通大学、华南理工大学、中南大学等高校己陆续在网上设立了自己的电子教室。

其中有少数电子教室提供了有限的虚拟实验服务,如中南大学信息科学与工程学院建立了一个数字图像处理网上虚拟实验室[7],学生可以通过联网计算机终端来进行仿真实验。

华中科技大学机械学院建立的工程测试网上虚拟实验室,学生可以通过联网计算机终端来进行仿真实验。

上海电视大学的虚拟炒股和虚拟法庭网上实验室也是一个很好的例子。

中央广播电视大学远程教育学院建设的虚拟校园采用基于Intemet的类游戏图形引擎,在此基础上,将网络学院的诸多具体功能整合在图形引擎中,突破了目前对虚拟校园的应用仅仅停留在校园一般性浏览的应用上,并作为基础平台进行大规模应用,取得了较好的效果,这种基于虚拟校园的思想搭建远程教育基础平台,并以学员为中心,构想一些实际的教学功能,在虚拟校园的应用方面进行了有益的尝试[8] 文献描述了虚拟生物学实验室的设计与开发,该系统是以JavaApPlet作为客户端,以JavaBean的形式实现实验组件,用XML来描述应用和实验数据;文献[巧]提出的基于Internet虚拟实验室平台是以Java语言实现的,客户端是JavaApPlet,设备组件由JavaBean实现。

该实验室以组件的方式提供具体的仪器设备,用户可视化地定制自己的实验流程。

这些虚拟实验环境有着组件重用、平台独立、可扩充性等特点。

但这些虚拟环境的开发普遍存在着开发周期较长、组件实现工作量大等缺陷。

因此,人们尝试着将Java与其他软件集成来解决当前存在的问题。

1.3虚拟实验平台中基于Java与MATLAB集成开发的提出由于虚拟实验平台上组件开发存在一些难点,开发人员尝试用集成方式来克服上述问题。

通常,在采用纯Java来集成MATLAB的方案中,通常有如下几种方案【9】:1.利用CORBA实现连接。

CORBA定义了一个开放的分布对象总线(对象请求代理ORB)标准,允许分布式对象应用程序之间进行互操作,不管这些应用程序采用什么语言编写或驻留在什么地方,可实现对Java对象以及非Java对象的远程调用,并可采用一种“位置透明”的形式与传统的系统进行沟通。

CORBA对象是标准的软件对象,具有语言独立性。

每个CORBA 对象有一个清晰定义的接口,该接口用CORBA接口定义语(hiterface Definition Language,IDL)来定义。

虽然利用CORBA技术可以实现应用程序之间的相互操作,MATLAB语言是解释性语言,Java是编译性质的语言,不能利用IDL实现Java与MATLAB之间的通信。

要解决这个问题,可以借助C或C++语言,因为CORBA可以实现Java与C++之间的通信,而MATLAB提供了C++语言的编程接口。

这样客户端和服务器端使用相同的IDL接口,客户端利用Java语言编程,并用Java编译器进行编译,产生客户端ORB。

服务器端利用C++编程调用MATLAB的接口函数,并用C++译器编译,产生服务器端ORB。

这样通过IDL实现了客户端对服务对象的方法调用。

2.利用MATLAB的COMBullder连接。

COM由一组规范和一个系统级的实现构成,这组规范由COM核心、结构化存储、统一数据传输以及智能命名构成。

其中,COM核心定义了软件组件的对象与客户通过接口进行交互通信的规格说明;结构化存储定义了复合文档的存储格式,以及创建文档的接口;统一数据传输定义了组件之间数据交换的标准接口;智能命名给予对象一个系统可识别的名字。

对于COM客户来说,使用组件功能只能通过调用组件的接口函数完成。

3.利用JNI技术和MATLAB引擎函数实现连接。

JNI(sunMierosystems,2003)是定义Java程序如何调用非Java程序的一种方法,已成为公开的标准。

JNI使在JVM中运行的Java代码可以调用原生函数(nativemethods)。

而且,通过调用API,甚至JVM都可以被嵌入到其他非Java的系统中。

目前的JNI设计只能用来和C或C++所写的原生函数(nativemethods)相连接,MATLAB提供了C/C++语言的接口函数,这恰好可以满足调用的需求。

我们可以利用JNI技术,实现在Java程序中调用使用了MATLAB引擎函数的C/C++原生函数,这就实现了Java对MATLAB的功能调用。

这三种方法,各有其优缺点,在应用时应根据实际情况选择合适的方法。

通过coRBA或JMs等技术,优点是它完全遵照技术标准,可以实现对MATLAB的远程的调用,但正由于这种方法的标准,使开发变的复杂,不利于快速的开发,而且集成异构软件的通信时间比较长。

利用MATLABCOMBullder的方法,不受操作系统平台的限制,只需要安装MATLAB的组件,集成后的系统可以在不安装MATLAB的环境中完成MATLAB的功能。

但是其必须针对特定的功能生成特定的COM组件,通用性差。

利用JNI技术,虽然失去了与平台独立的优越性,必须针对特定的操作系统设计程序,并且在运行的系统中必须安装MATLAB,但由于这种开发的方法存在了开源的调用程序库,可以快速的实现对MATLAB的调用,在不要求平台无关的情况下是一种很好的选择。

现在已有一个叫做JMatLinkIZ'I的开源应用,它利用C语言的本地方法调用MATLAB引擎函数,并把包含C语言原生函数Java类集成到该应用中,利用该类库中的方法,可以方便的在Java程序中实现初始化MATLAB工作空间,向MATLAB工作空间读写数据等操作。

因此,在己有技术支持的条件下,将与MATLAB集成到虚拟实验平台上开发数字通信原理课程的实验室将是十分有价值的。

2数字通信实验平台的需求分析和总体设计2.1平台的需求分析及其功能划分2.1.1平台的需求分析随着数字化技术的发展,《数字通信原理》由80年代的专业课已转变为一门专业基础课。

该课程的实验对学生理解和掌握一些理论知识有着指导意义。

一般来说,在考虑实验平台的开发过程中,要充分从该课程的特点,实验环境及教学对实验的要求等方面来进行分析。

1.从课程的特点来看,《数字通信原理》是一门理论性很强的基础课程,成为很多高校的本科教学的必修课程,该课程的重要性不言而喻。

而实验对学生和老师在学与教上起着相辅相成的作用,理论课程的学习脱离不了实验环节的支撑,而实验的实施也是要以课程为基础。

因此,在课程的教与学的同时,一定要参与到实验课程当中来,对课程的学习和教育科研来说,能在一定程度上起到推动作用。

2.从实验的环境来看,真实条件下的实验环境受人员、场地、时空和设备等的限制,它们成为了教学实验的瓶颈。

在对真实实验的充分把握下,我们需要开发的数字通信原理虚拟实验室应该要能符合现代教学的特色,能够满足多用户的使用要求,并能克服现有的物理设备存在的一些不足。

在基于这些角度的考虑后,虚拟实验室应该具有下列一些特性:(l)需采用基于Iniemet的B/s模式。

客户端通过浏览器登录到虚拟实验室的用户界面,通过因特网与服务器方进行通信。

利用这么一个特性,解决了用户的时空和场地的限制,同时客户端的开发应该与用户使用的操作系统独立。

(2)应该解决多任务、多用户访问的问题。

对于使用者而言,虚拟实验环境当然是不能受到单一和访问的限制,他们希望自己可以在不同地方或者不同时间来做实验。

因此,我们在开发的过程中,需要考虑实验平台的多功能性、分布式访问等要求,为用户提供一个友好交互的实验平台。

(3)灵活、动态和逼真的仿真效果。

实验的结果对使用者来说最为关键,对其理解一门课程相当重要。

相关主题