公选课结课论文-基于java与matlab集成的数字通信原理虚拟实验平台的设计与实现(编辑修改稿)内容摘要:

界面、在该实验界面中来设计实验流程、调整设备参数值、运行实验流程输出结果以及动态注册实验组件、保存实验流程和在线提示等。 实验的动态仿真效果也是开发过程中一个要考虑的重要功能。 7 平台的体系结构 采用 JMatLink 来集成 Java 与 MAILAB 的数字通信原 理虚拟实验平台利用面向对象的设计方法分别从客户端和服务器端来进行设计。 客户端需要开发用户实验操作界面和虚拟实验设备 ,远程用户可以在用户操作界面中选择实验组件 ,根据真实实验定制实验流程 ,然后点击运行按钮 ,执行后得到实验结果。 服务器端主要包括虚拟实验设备的 JavaBean 组件库、组件注册 XML 文件库及处理用户请求并与 MATLAB 进行通信的VirtualLabserver(VLS)模块。 图 21为数字通信原理虚拟实验室的系统结构图。 在这个远程虚拟实验室平台上 ,远 程用户从访问到完成整个实验过程 : 图 21 数字通信原理虚拟实验平台体系结构 平台的运行环境 平台运行环境包括客户端运行环境和服务器端运行环境。 客户端需要具有解释Java 字节码的虚拟机 ,服务器端提供 Web 服务器一 Tomcat 应用服务器。 下面针对这两个部分具体介绍系统运行环境。 虚拟实验室使用 J2SE 语言开发 ,具有 Java 语言特有的跨平台性。 只要计算机系统具有解释 Java 字节码的 JVM,即可在该计算机上执行 Java,所以它可以运行在几乎所有流行的操作系统之上。 如微软的 WindowS 系列 ,如 Windows9 WindowsMe、WindowsNT、 Windows20xx 系列、 Sun 公司的 Solaris、苹果公司的 Macintosh 以及 Linux和 Unix 操作系统等。 浏览器 Java Applet Java 虚拟机 Host Inter Server Web Server Java 类文件 VLS JMatlink 组件 XML MATLAB 8 用户可以通过两种方式进入虚拟实验室 ,第一种方式是使用支持 Java 的浏览器。 不过 Netscape 和 Interexplorer 的不同版本支持不同版本的 Java,所以使用正和 Java插件 (JavaPlug一in)。 目前虚拟实验室使用的 JDK 的版本是。 第二种方式是使用 WebStart 技术进入虚拟实验室 ,采用 webstart 斌技术会自动安装相应的 JDK 运行环境。 服务器端主要提供 Web服务器 ,可以安装在一台 Windows20xxServer或 WindowsNT上。 在 Windows20xxServer 或 WindowsNT 上安装服务器 ,可以选择 或其他 web服务器。 也可以选择其他平台充当 web 服务器 ,如 Linux 十 APache 等。 在该平台上 ,我们采用 进行相关的组件、属性文件等发布的服务。 3 数字通信实验平台 的详细设计与实现 与 MATLAB 的通信机制 简介 1999 年 ,德国的 StefanMueller 博士成功的在 Java 与 MATLAB 之间架了一个桥梁一 JMatLink 接口 ,使得 Java 能方便调用 MATLAB 计算引擎的函数库。 经过多年不断地改进 ,现今已是一个成熟的软件产品。 JMatLink 中所有的方法都是 native 方法 ,native 方法其实是用 C 语言编写的方法的存根。 这些方法是一些不需要改变源码就能被 Windows95/98/NT/20xx 和各种UNIX 平台所支持的框架。 的内部机制 为了实现 Java与 MATLAB的通信 ,JMatLink主要应用了 JNI技术 ,因为相比较来看JNI 方便快捷、稳定可靠 ,并能实现实时通信。 JNI 主要解决服务之间如何连接的问题。 它由以下几部分组成 : (l)基础结构。 它提供了在分布式系统中把服务组织成联邦的一组构件。 (2)程序设计模型。 它支持并鼓励可靠的分布式服务产品。 (3)服务。 它可成为联邦 JNI 系统组成的一部分 ,为联邦的其它成员提供功能。 在 Java与 MATLAB的集成过程中 ,Java应用程序使用 JMatLink来实现调用 MATLAB的引擎函数进行相关的数据处理。 两者的通信机制如图 31所示 ,首先 JMatLink 通过JavaJNI 技术来定位和调用本地方法 ,导入 文件和 文件并将 C/C++编写的文件编译成动态链接库 ,同时引入 , 文件中包含了 MATLAB 引擎函数 ,当 Java 应用程序需要和 MATLAB 通信时 ,先把 9 载入内存中 ,Java 应用程序通过调用内存中的 的函数实现与 MATLAB 引擎函数的通信 ,进而实现调用 MATLAB 库函数。 这样 Java 就可以实现与MATLAB 的通信了。 图 31Java 与 MATLAB 间的通信机制 通过这样一种方式实现了 Java 和 MATLAB 中异构对象的通信 ,他们之间的通信实际是要完成二者间参数的传递。 而参数的传递主要通过 JMatLink 创建的对象 engine,然后通过该对象执行其方法来调用 MATLAB 引擎函数 ,可以打开一个引擎连接 ,建立引擎连接后 ,engine 把要执行的命令和 数据作为参数送到 MATLAB 的工作区间 ,所有的命令和待计算数值都以字符串的数据格式进行传递 ,待 String 型参数到达 MATLAB 工作区间后 ,MATLAB 调用相关库函数对其进行处理 ,再由 MATLAB 引擎函数把计算结果返回给 Java 应用程序。 应用程序获得处理结果后可以关闭 MATLAB 引擎。 当 Java应用程序要与 MATLAB通信时 ,我们采用 JMatLink来联接 Java和 MATLAB,对于两者的通信来说 ,本地方法可以在编写的 Java application,apPlets和 servlets中调用 MAILAB 的计 算引擎。 服务器端主要模块的设计与实现 服务器管理界面 对于服务器管理模块而言 ,应当实现服务的启动、管理人员对日常工作的一些配置、控制和维护以及对 MATLAB 的打开与关闭等。 为了能很好的完成该模块的功能 ,首先采用 swing技术开发了服务管理界面 ,如图 33所示 ,该界面为操作人员的图形化窗口 ,方便其使用。 该管理界面主要完成如下功能 : (l)在 web服务器发布服务后 ,用户发送调用请求之前需初始化 ,打开该操作界面。 (2)当后台运行接受到用户请求时 ,将解析后的数据流的相关信息进行显示。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。