没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
淮 阴 工 学 院
公选课结课论文
作 者:
学 号:
学 院:
经济管理学院
专 业:
信息管理与信息系统
题 目:
基于 Java 与 MATLAB 集成的数字通信
原理虚拟实验平台的设计与实现
2014
年
11
月
2
1 绪论
1.1 研究背景
1989 年,美国 Virginia 大学的钻 ilialnwulf 教授提出了“虚拟实验室”
【1】
的概
念也称为“合作实验室(cof 一 Laboratory)”,它用来描述一个计算机网络化的虚拟
实验环境。它致力于构筑一个综合不同工具和技术的电子化、网络化的科学研究集成
环境。在这个环境里,科学家们可以非常有效地利用地理上分布的各种资源(数据、信
息、设备、人力)来从事科研活动。wulf 形象地把虚拟实验室称为“无墙的研究中心”
【2】
。所谓虚拟实验室就是以计算机网络为核心,将虚拟仪器通过网络连接起来,以实现
数据采集、分析、远程操作的一个系统。
它主要具有如下特点:
(1)虚拟实验室具有开放性、直观性。利用虚拟实验室,通过网络能实现远程异地
为学习者实时或跨地域地提供图文、音像并茂且丰富多彩的人机界面,配合先进的传
感测试技术,利用计算机的模拟功能、动画效果实现缓慢过程的快速化或快速过程的
缓慢化,并把误操作后可能产生的报废或爆炸情况模拟地显示出来,对有毒有害、污染
环境和破坏性实验,也可以在虚拟实验室内完成,实现经济效益和社会效益的双赢。
(2)虚拟实验室更新快捷,易于扩充维护,操作方便。当今社会一方面是科学技术
的飞速发展,新技术、新设备、新工艺不断出现,加快了仪器设备的更新换代;另一方
面高等教育经费与日益扩大的招生规模相比相对不足,难以大量购买高、新、尖仪器
设备,教学多只能演示,难以满足实验教学科研的需要。而虚拟实验室可随时开放,反
复实践,满足学生的求知欲,提高动手能力。
(3)虚拟实验室可降低经费成本,提高教学科研效益。虚拟实验室的建立能有效降
低耐用品的消耗量,避免设备的重复购置,提高教学科研效益。
虚拟实验室操作方便,不受实验条件的影响,没有实验时间的限制,灵活方便可移
植,充分实现资源共享。
随着 Intemet 的发展,虚拟实验室呈现出网络化的趋势,即在客户端不需要任何
的安装和维护工作,可直接通过网络访问远程的虚拟实验室,这种实现方式代表着当
前虚拟实验室研究发展的一个新的方向
[3]
。
1.2 课题的研究现状
国内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特别是在一些
著名的大学和虚拟实验室中,已经建好并投入使用的虚拟实验系统也不少。
3
新加坡国立大学建立的网络虚拟实验室
【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)标准,允许分布式对
象应用程序之间进行互操作,不管这些应用程序采用什么语言编写或驻留在什么地方,
4
可实现对 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 技术,虽然
剩余15页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2730
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功