您好, 访客   登录/注册

一种高效的卫星导航数据处理软件设计方?

来源:用户上传      作者: 王永杰

  【摘要】 介绍高效率实时卫星导航数据处理软件的三项关键技术:支持多种数据处理算法和数据处理模型的设计;对数据处理流程的封装和设计;提高系统的性能以便实现实时数据处理。在提高性能的设计中,除了优化算法外,内存数据的组织和管理方法也很重要。通过几种对常用数据索引结构的比较,采用T-Tree作为卫星导航数据处理软件的内存数据索引结构,这样不仅可以提高系统空间利用率,还可以提高系统的运行效率。
  【关键词】 多算法和模型 T-Tree内存数据索引优化
  1 引言
  卫星导航作为一项有着数据处理等多方面技术综合的运用过程,在实际的从左与运行中,应该要注重导航数据的技术处理,并在具体的分析过程中,采用现代化的综合技术手段,形成及时处理与事后处理两种方法的综合应用,其中,在接收数据的整体把握上,形成准确的计算机处理技术,尤其是结合当前的信息化网络发展技术,通过计算机连接处理的功能,将不同的技术与数据软件形成整体结合,进行实时处理与事后处理的综合分析,将数据及时精准化管理,从不同的数据导航中形成高效率的综合模式,这些将具有重大的现实意义。
  2 数据处理的流程
  在具体的数据处理中,要依据不同的流程应用,从数据处理、预处理、解算等形式,并根据实际的整体效果给与原始的数据档案分析,在预处理的技术中,形成工艺流程的综合化、规范化、现代化模式,并构建数据筛选、解码等多种形式的综合应用,构建标准化的数据处理技术,形成观测性的技术模式,收到更好的实际效果。
  尤其是在接收器的数据处理技术中,要突出对标准化的数据处理技术,在不同的标准化追求下,根据不同厂家的定义与实际需求,形成各种观测格式,对这种格式的模拟性要求也要有综合性的管理,在通过软件的技术处理之后,转化为标准化的格式,并在数据包的转化技术运用中,采用实时数据的软件处理,形成观测数据的文件传输模式,构建全新、全方位的数据格式创新运用模式。
  同时,在导航数据技术的处理中,还要综合考虑各种观测数值的信号运用,包括有卫星高度、卫星的健康程度等等,采用不同的计算方法,包括有历元间高次差法、残差法等等,并依据相应的标准进行数据的综合对比分析,构建数据处理的精细化模式。
  另外,在卫星系统的导航管理技术中,围绕基线解算的方法,采用周跳的形式,进行合理的对比分析,在这种技术的流程处理上,综合将数据的分析与实际卫星的管理形成和谐、针对性的运用,在此基础上,完善数据的综合处理技术,将具有重要的现实意义。
  3 数据处理软件对多种数据处理算法和模型的支持
  在数据处理的软件功能上,为了突出整体功能的具体实施,数据处理的软件要结合现代化的信息技术以及资源共享的有效模式,采用多种软件支持的数据算法和模型,这也是一个不容忽视的问题。通过采用跳周探测计算的方法可以更为精准的进行多种数据的计算和处理。
  CycleslipDetector定义了所有支持算法的公共接口,CycleslipDetection定义了使用这个接口来调用某个算法,它的子类是具体类,实现了不同的算法。CycleslipDetector和CycleslipDetection相互作用以实现选定的算法。当算法被调用时,CycleslipDetection可以将算法所需要的所有数据传给算法实现者。CycleslipDetection将它的客户请求转发给它的CycleslipDetector。实现类图如(图1)所示。
  CycleslipDetector类层次为CycleslipDetection定义了一系列的可重用的算法和行为,继承有助于析出这些算法中的公共功能。继承提供了另一种支持多种算法和行为的方法。一种实现方案,可以直接生成一个CycleslipDetection的子类,从而给他不同的行为。但这将会将行为硬行编制到CycleslipDetection中,而将算法的实现与CycleslipDetection的实现内容混合起来,从而使CycleslipDetection难以理解、难以维护和难以扩展,而且还不能动态的改变算法。最后得到一组相关的类,他们之间唯一的差别是他们使用的算法。将算法封装在独立的CycleslipDetector中,使CycleslipDetector可以独立于CycleslipDetection,这样算法可以切换、扩展和理解。CycleslipDetector可以根据对时间/空间的要求,对相同的行为提供不同的实现方法。这样实现也有一些缺点,增加了CycleslipDetector和CycleslipDetection之间的开销。无论CycleslipDetector实现的算法是简单还是复杂,他们都共享CycleslipDetection的接口。因此很有可能某些CycleslipDetector不会用到所有通过这个接口传递给他们的信息,这就意味着CycleslipDetection会创建和初始化一些永远用不到的信息。如果这是不可容忍的,那就需要在CycleslipDetector和CycleslipDetection间进行更加紧密的耦合。在实现的过程中应该考虑两个类之间的接口必须使CycleslipDetector能够访问CycleslipDetection中的任何数据,反之亦然。一种办法是将CycleslipDetection的数据放在参数中传递给CycleslipDetector操作,也就是说将数据发送给CycleslipDetector。这使得两个类解耦。但另一方面,CycleslipDetection可能发一些CycleslipDetector不需要的数据。另一种方法,是让CycleslipDetection将自身作为一个参数传递给CycleslipDetector,CycleslipDetector显式的向CycleslipDetection请求它需要的数据,CycleslipDetection必须对它的数据定义一个更加精细的接口,这使两个类的耦合更加紧密。
  4 数据处理流程设计
  流程设计是一个全面的运用过程,要围绕正常的工作流程开展工作,因为如果一旦出现数据处理异常的情况下,就会出现执行不到位,流程应用不够等现象,因此,要围绕数据处理的综合流程,形成与软件技术相适应的综合管理模式,将数据处理的每一个子过程进行全面的分析,降低整体的柔和度,也要形成链接的整体性,改变各种不同的表现形式。实现方法如(图2)所示。
  DataProcessMediator定义了与各个子过程通信的接口。每一个DataProcessMediator的子类对应了一个处理过程,确定子过程之间的协作。每一个SubProcess的子类对应了一个数据处理的子过程。
  这样设计将原本分布在对个对象间的行为集中在一起,改变这些类的行为只需生成DataProcessMediator的子类即可。这样多个同事类可以被复用。DataProcessMediator有利于SubProcess的解耦,可以独立的改变和复用DataProcessMediator和SubProcess类。使用DataProcessMediator和SubProcess之间一对多的交换代替多对多的交互。一对多的关系更易于理解、维护和扩展。将中介作为一个独立的概念并封装在一个对象中,使我们的注意力从对象各自本身的行为转移到它们之间的交换上来,有助于理解数据处理软件的子过程是如何交互的。当数据处理的流程相对固定时,没必要定义接口类,设计提供的抽象耦合已经使各个SubProcess类一起工作。SubProcess向DataProcessMediator发送和接受请求,DataProcessMediator在各个SubProcess协调以完成数据处理。

转载注明来源:https://www.xzbu.com/8/view-4288417.htm