基于Web的水声信号的虚拟示波器_第1页
基于Web的水声信号的虚拟示波器_第2页
基于Web的水声信号的虚拟示波器_第3页
基于Web的水声信号的虚拟示波器_第4页
基于Web的水声信号的虚拟示波器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学毕业设计(论文)外文资料翻译学院自动化专业电气工程及其自动化学生姓名张伟东班级学号B110506外文出处IEEEComputerSociety,1998MassachuesttsAve.NWWashington,DCUSA,182附件:1.外文资料翻译译文;2.外文原文指导教师评价:1.翻译内容与课题的结合度:□优□良□中□差2.翻译内容的准确、流畅:□优□良□中□差3.专业词汇翻译的准确性:□优□良□中□差4.翻译字符数是否符合规定要求:□符合□不符合指导教师签名:年月日基于Web的水声信号的虚拟示波器作者:DavidAlderman(NUWCDIVNPT),NancyCallaghan(NUWCDIVNPT),TimothyA.Jones(NUWCDIVNPT),G.EdwardRoberts(NUWCDIVNPT).摘要:美国海军水下作战中心,DivisionNewport(NUWCDIVNT)开发了一种虚拟数字示波器,拥有在数字信号处理器(DSP)中利用信号数据流的不同节点的特殊能力。NUWCDIVNPT虚拟示波器是用Java编程语言编写的,并且可以使用任何网络浏览器。它实现了原始桌上型示波器的大部分功能,包括触发源和模式选择,垂直和水平尺度控制以及游标的互动。虚拟示波器适用范围为观察运动数据(实时或模拟),和通过互联网解决信号处理器硬件的问题。NVO软件被设计为使用统一建模语言的设计方法。NVO的主要设计目标之一是确保设计不仅满足了能从DSP处理和显示数据的要求,而且很容易的为其他数据源在没有重大的重新设计和重新编码工作的情况下进行扩展。面向对象的设计方法如继承,封装等。数据的抽象性和多态性使这些设计目标得以实现。本文将讨论设计NVO时面向对象设计法的准则。一:概述互联网的爆炸式增长和Java编程语言的出现给予培训,测试和评估技术领域(TT&E)一系列新的可能性。美国海军水下作战中心的新港部门,是海军应对潜艇和海底战争的主要研究,开发、测试和评估、工程和舰队支持中心。NUWCDIVNPT开创了互联网和Java以更具成本效益的方式来满足其客户使命的技术。最近实现这项技术的例子是Mapplet。Mapplet是一个显示跟踪信息的Java应用程序。它是为了允许用户远程(或本地)从范围或其他来源(如模拟生成的时间/空间/位置信息(TSPI))查看实时跟踪信息。NUWCDIVNPT涉足该领域的最新尝试就是NVO,NUWCDIVNPT正在开方NVO为大西洋海底测试和评估中心(AUTEC)所使用。AUTEC是一个位于安德罗斯岛岛海域中巴哈马岛上开放的海洋测试和评估综合设施。随着校准,精度、三维跟踪,AUTEC提供了基本的声、环境和海洋研究项目的测量系统。NVO被设计为结合对策跟踪(CMRT)一起操作的,是AUETC的很多声学测量系统之一。面向对象编程技术的使用,确保它在用于其他TT&E范围时可以很容易地适应其他测量系统。NVO,如图一所示,利用Java在任何流行的web浏览器中“编写一次,随处运行”的功能优势,为大范围的用户提供一种远程监控实时范围练习和实验的方法。实现一个普通的桌NVO客户端软件,包含约50个级别,被设计使用统一建模语言(UML)的面向对象设计方法。项目的短期要求是显示从水听器得到的声学数据和在给定的时间内发展尽可能多的功能。然而,长期的目标是设计NVO,以至在未来,它可以显示来自多个数据源的数据不同的数据类型并且用户可以在任何时候改变数据源。使用面向对象的设计方法使得可以用最小的软件重设计完成项目的长期目标,并且无需添加新代码。例如:整体设计和协议来接受频率分析仪或者水声声纳系统的数据,GUI选择框反映出数据源的选择。下面的章节讨论了用于完成这些设计目标的面向对象的设计方法。每个部分解决克服使用一个面向对象的设计方法或方法的问题。NVO应用程序设计和软件被描述为与设计之间的关系问题。每个部分还包括一个讨论在执行NVO软件操作时软件如何运行的问题。以下部分指向类型名;请注意,当运行在一起时,他们是指一个类名。在Java命名类的公约里利用每个词的类名,使得每个单词之间不留空格(例如,RootOverlayManager)。4.1覆盖管理器和覆盖对象NVO显示对象由许多单独的面板。如图一所示,这是一个面板选择游标,一个用于输入基地时的,触发控制面板时的面板。NVO显示里最大的区域是绘图窗口,就是发生如绘图数据,背景图,游标等多图形活动的矿口。设计的问题是模块化。如果处理绘图窗口的所有代码都在一个面板对象,那么很快就会变得非常大。大型的软件很难理解,修改和维护。一个面向对象的关键原则是保持对象定义良好和模块化,是为了保持绘图窗口,覆盖管理类和覆盖对象类的设计模块化。覆盖管理器类管理策划中的任意数量的覆盖对象窗口。窗口里覆盖管理器管理策划任意数量的覆盖对象。目前,有四个NVO覆盖对象:背景颜色,沿着边界tic标记线的网格,绘制数据,和游标。图3显示了覆盖管理器设计方案的一个类层次结构。覆盖管理是一个容器来覆盖,它包含当它描绘方法被调用时递归地描绘每个覆盖。覆盖管理器将覆盖对象存储在一个向量,它需要添加新的覆盖和删除覆盖要求。覆盖管理器处理图形覆盖作为一个图像,就是双缓存,高速缓冲存储器来提高处理速度。如果有什么变化图片就更新。覆盖管理器响应模式更新,例如直接的、非缓存等。NVO目前策划源自DSP的时域数据,但覆盖管理器允许添加任何绘图叠加的灵活性,比如从一个快傅里叶变换(FFT)的频域数据。图3

覆盖类层次结构覆盖对象是一个抽象描绘方法的抽象类。它提供了所有所需的访问器方式,例如协调与叠管理器对象加的方法,改造和更新叠加,叠加和绘画。(一个对象的访问器方法,允许其他对象来访问其数据)。一个新的覆盖对象简单子类覆盖对象,提供具体的实现方法来描绘它的图形叠加信息和使用提供的访问器方法。例如,网格覆盖对象覆盖了抽象描绘其母的方法,和使用AWT方法来绘制线条和tic标记。每个覆盖对象还实现了一个公共接口称为覆盖。叠加类提供了三个接口:油漆、重塑和设置覆盖。因为Java并不直接支持多重继承,覆盖类的目的是提供一种方法给类,即不覆盖对象的子类,与覆盖管理器进行交互框架。在实时执行NVO期间,用户可以打开和关闭通道。当一个用户发出请求打开一个通道,一条消息通过服务器发送到适当的DM来打开请求的通道。如果DM可以打开通道,它发送一个确认消息给客户端通过服务器。一旦客户端接收到确认消息,一个新的策划覆盖由覆盖管理器创建和管理。当用户关闭通道,然后覆盖被移除。这种设计允许任意数量的策划覆盖显示在窗口中。4.2动态GUI建设NVO显示为用户提供了许多不同的GUI控制功能。其中一些控件,如水平扩展和交互式游标,总是保持不变。因此,他们可以在软件初始化时间时中的Java构造函数方法创建。其他功能像数据源选择很大程度上取决于测量系统的硬件配置。水听器可供操作的数量可以每天不同或数据源可能不是水听器。这可能是一些其他类型的测量装置如一个加速度计。NVO通过动态创建显示的某些部分处理不同的硬件配置和数据源。通过GUI对象的精心设计以及NVO、服务器和DM之间的消息协议,实现了动态创建GUI的功能。特别是,NVO目前选择框显示允许用户选择一个水听器相应的算法利用点。可用水听器的实际的数量和名称,和根据DSP的配置的可用接触,以及直到NVO客户端已经开始他们才知道。因此,选择框和相应的标题无法在初始化时创建GUI对象的构造函数方法,,即使通常是完成了。事件的顺序是,当一个客户开始显示,使客户端软件请求到服务器的选择框选择和每个箱子的称号。DM通过发送选择到服务器请求的,将选择反馈到请求的客户处。一旦再接收到选择,GUI对象构建显示。这种动态分配的GUI功能例如服务另一个目的的选择框,在未来,传入的数据可能来自一些除了DSP的来源。当前的GUI对象设计和服务器之间的协议,客户端和DM允许不同数量的有任何标题,每个都有不同数量的选择。NVO设计需要小的修改处理不同数量和输入源类型的数据。4.3通道面板传承未来增强NVO的方法之一是增加更多的数据通道。此增强功能可以很容易地通过利用继承固有的对象来完成。当然,继承的主要设计优势之一是面向对象的设计。如图一所示,通道选择面板右边的显示是相同的。这些板是一个简单的名为Tracesetup的新类的实例化,Tracesetup类接受一个频道号码来提供其身份。通过一行代码实例化一个新对象来创建任意数量的通道面板。问题就变成了如何显示许多通道面板,这样,他们的使用对用户是直观的和他们的布局能审美愉悦。在Java中,AWT列出了显示图形组件的布局经理。布局管理器之一,卡布局管理器类,旨在处理覆盖多个面板。CardLayOutManager使每个组件,通道板在我们的例子中,和他的容器(背景板)一样大的,并确保一次只有一个是可见的。这将是使从当前的布局管理器转变为CardLayOutManager变得容易。这里的要点是,无需编写新的代码显示可以改变处理多个频道。4.3通道数据模型设计构造NVO显示为用户提供对许多GUI控件控制影响显示什么数据,以及它是如何显示。由用户控制的数据变化必须从处理用户交互对象处理这些数据的对象。例如,当用户打开游标时,CursorsOverlay对象,当他们与他们的位置在绘图窗口中,负责绘制游标和显示他们的价值观,,需要显示光标。处理这种交互的一种方式是让这些对象引用彼此,然后他们可以访问对方的公开数据。然而,这种类型的设计往往使对象紧密结合,从而使软件更难理解和更容易错误。通道数据模型是由用户通过NVOGUI修改选择并用于封装数据的设计构造。所有的GUI相关数据,必须用于处理对象存储在ChannelDataModel对象。通道数据模型设计使用Java的观察者/可观察到的类并利用模型-视图-控制器(MVC)范例。在MVC模式中,对象分为三个类别:(1)模型,它持有的数据,(2)控制器,操作数据,(3)视图,必须反映数据的变化。一些对象可能是数据的观众和控制器。图4展示了一个基本的MVC安排。图4

一个基本的模型-视图-控制器的安排我们的想法是要分开来自所有其他对象的数据。从分离获得数据中有重要的好处。首先,它将确保可以严格控制对数据的访问。其次,它确保查看器和控制器类可以很容易地添加或删除该项目。第三,它可以确保程序的组件之间有明确的界限。在Java中,MVC架构通过使用观察器来观察类。观察者是一个对象,注册感兴趣另一个对象的状态。一个可观察到的是一个对象的状态可能感兴趣的其他对象。每当有一个可观察到的状态的变化,它使用一个通知观察者方法通知所有观察家注册。在NVO实现,所有可观察到的数据封装在一个对象被称为通道数据模型。通道数据模型是所有封装可见注册作为观察员。作为观察员NVO的意见都是注册通道的数据模型。当用户通过键盘或鼠标输入信息,适当的数据对象操纵通道内的数据模型。作为单独的可见变化状态,他们通知通道数据模型对象,这反过来会通知所有的观察者数据已经被改变了。不需要发送到特定的控制器和具体通知观众。通道数据模型对象只是通知所有注册的观察者,通知消息的一部分传递一个参数,告诉观察家哪些数据已经改变了。然后观察人士自由行动与否取决于他们的兴趣那一块的数据。这个方案的封装内个人可见“super-observable”可以确保控制器和视图很容易地修改,插入或删除代码。“super-observable”除了注册为可见否则不了解所有的控制器或视图。添加一个新的视图或控制器意味着简单的写一个对象,注册通道数据模型作为观察员然后在中数据模型使用设置和设置方法来操作通道内的适当的数据对象。图5说明了通道数据模型概念和它如何与GUI交互。图5

NVO实现MVC使用Java观察者/可观察到的类4.5利用点选择设计的构造正如前面所描述的未来NVO目标是能够处理来自哪里测量系统的数据。这需要一个灵活的数据结构被设计来处理任何类型数据。严格的数据结构不仅意味着要对于各种数据源创建一个新的数据结构,这也意味着开发新代码来处理每一个新的数据结构。设计构建了水龙头点选择以最小的软件修改处理不同类型的多个数据源。设计中使用的面向对象的主体利用点选择构造抽象,继承和封装数据。这里定义了一个虚拟通道的单流数据。在我们的系统中,基于水听器的数量和点击点的数量(即。,五个水听器和四个点选择收益率二十虚拟频道)。用户目前可以选择和显示两个虚拟通道在绘图窗口。(用户限在同一时间制选择相同的频道;这是一个信号的限制处理器)。许多类型的数据与每一个虚拟通道相关联,例如解析等一系列数据,数据类型(整数或浮点数),数据点的数量,采样率,和触发信息。另外,用户选择相关的数据如绘图时要使用的颜色数据。这里的难题是设计一种方式为任意数量的虚拟数据通道和任何类型的数据以便协议和数据处理的协议不需要完全重新设计和重新编码。

图6显示了一个类层次图利用点选择数据结构。父类是一个称为选择可观察到的类。访问器方法定义了子分类对象的父母的名字并寻找一个特定的方法利用点的选择对象。有两个子类,选择矢量和点击点的选择。选择向量处理的枚举列表选择对象和水龙头点选择对象封装了数据关联到一个虚拟通道。水龙头点选择对象访问器方法来设置和获取封装数据。图6

点选择的类层次结构图7显示了运行时实现水龙头点选择的数据计划。总的来说,选择对象是彼此相关的树状结构。最重要的事情注意这个成果是它可以处理除了水听器之外其他来源的数据。图7

利用点选择运行时数据计划4.6数据交互在章节4.4和4.4中,对通道数据模型设计构造和利用点选择设计构造进行了讨论。图8显示了如何将这些构造在NVO运作。利用点选择构建虚拟通道和处理数据从DM通过服务器收到更新信息。通道数据模型构造处理可以由用户通过GUI改变的数据。当用户想要打开或关闭一个通道时通道数据模型通过服务器发送消息到DM。数据覆盖对象需要两个数据结构的信息。它从水龙头点的选择及相关参数构造获取数据数组并且用户从通道数据模型控制选择,比如时间,分割线。图8

数据交互4.7网络连接和消息处理Java标准类库提供类基本的输入和输出流,使做输入/输出(I/O)处理很容易。NVO从超文本标记语言(HTML)文件,打开一个缓冲的输入流建立连接的端口号并将其传递到消息解析器对象。消息解析器读取所有传入消息并存储数据。传入的消息包括数组的数据显示在绘图窗口,通道控制消息,从服务器错误消息,和GUI配置信息如选择要显示在选择框。缓冲输出流传递给消息生成器对象,负责所有即将离任的消息发送到服务器。传出消息包括初始请求GUI选择选择,打开和关闭通道来自用户的请求,通道修改信息,其中包括用户请求改变触发模式,和客户端退出消息。触发模式包括自动模式(连续流数据)或模式。与触发模式,用户可以选择电压水平和延迟时间触发。注意触发处理模式目前尚未实现;NVO处理连续的数据流。NVO使用XDR传输的所有数据类型信息。XDR是一个标准为描述和编码数据使用图书馆的功能来扩展数据表示,XDR图书馆已经实现了能用于编写可移植可以在其他机器上读取的数据五:评测2.0节中描述的局限性,NUWCDIVNPT能够在一个相当短的时间内开发一个稳定原型。NVO一直在Code70部门内部和外部获好评。下一个NVO的进化是展示产品其他范围得到赞助,继续发展。需要改进,但使用面向对象设计技术确保将在降低成本和减少水平的努力下进一步发展。六:未来发展计划下一步NVO的设计是添加处理超过两个数据通道的能力以及处理和显示不仅仅从DSP测量系统数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论