您的当前位置:首页正文

一种基于HLA

2020-11-19 来源:易榕旅网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 107566106 A(43)申请公布日 2018.01.09

(21)申请号 201710770521.9(22)申请日 2017.08.31

(71)申请人 沈阳理工大学

地址 110159 辽宁省沈阳市浑南新区南屏

中路6号(72)发明人 刘立士 田野 李琳琳 陈永恒 

倪军辉 路文霞 孙兴 (51)Int.Cl.

H04L 7/00(2006.01)H04L 12/24(2006.01)H04L 29/06(2006.01)H04L 29/08(2006.01)G06F 17/50(2006.01)

权利要求书2页 说明书9页 附图7页

(54)发明名称

一种基于HLA-RTI的AOS分布式通信仿真系统

(57)摘要

本发明公开了一种基于HLA-RTI的AOS分布式通信仿真系统,包括数据处理成员单元、附加帧同步标记成员单元、帧同步成员单元、以及数据提取成员单元。本发明可仿真AOS空间各类信源的发送和接收过程,为AOS空间链路通信技术研究人员提供了仿真分析依据和数据支持。

CN 107566106 ACN 107566106 A

权 利 要 求 书

1/2页

1.一种基于HLA-RTI的AOS分布式通信仿真系统,包括数据处理成员单元、附加帧同步标记成员单元、帧同步成员单元、以及数据提取成员单元,其特征在于:

数据处理成员单元,对于包装业务,用于对信源数据首先进行空间包封装处理,得到信源数据的空间包数据流,其次进行MPDU复用处理,得到信源数据的MPDU数据流,然后进行帧生成处理,得到信源数据的帧数据流,最后信源数据的帧数据流通过虚拟信道的调度处理后,被发送至附加帧同步标记成员;对于位流业务,数据处理成员对信源数据首先进行BPDU封装处理,得到信源数据的BPDU数据流,然后进行帧生成处理,得到信源数据的帧数据流,最后信源数据的帧数据流通过虚拟信道的调度处理后,被发送至附加帧同步标记成员单元;

附加帧同步标记成员单元,其在包装业务和位流业务中的作用是一致的,首先对接收到的帧数据流进行添加帧同步标记处理,得到完整的传输帧,然后通过套接字把传输帧发送至帧同步成员单元;

帧同步成员单元,其在包装业务和位流业务中的作用也是一致的,首先对接收到的传输帧进行去除帧同步标记处理,恢复出各路信源的帧数据流,然后通过套接字把帧数据流发送至数据提取成员单元;

数据提取成员单元,对于包装业务,用于进行MPDU提取,恢复出信源数据的MPDU数据流,然后进行空间包提取,恢复出信源数据的空间包数据流,最后进行信源数据提取,恢复出原始的信源数据;其中,对于位流业务,数据提取成员首先进行BPDU提取,恢复出信源数据的BPDU数据流,然后进行信源数据提取,恢复出原始的信源数据。

2.根据权利要求1所述的仿真系统,其特征在于,还包括总控成员单元,其是整个仿真系统的控制端,用于控制和启动整个仿真系统。

3.根据权利要求1所述的仿真系统,其特征在于,所述数据处理成员单元在处理包装业务时,包括以下步骤:

11)将信源文件中的数据提取至内存之中;

12)按照AOS协议中空间包数据单元格式的要求,将信源数据封装成空间包数据流;13)按照AOS协议中MPDU数据单元格式的要求,将信源数据封装成MPDU数据流;14)按照AOS协议中虚拟信道数据单元格式的要求,将信源数据封装成帧数据流;15)采用先到先服务的调度算法,将虚拟信道中的各路帧数据流发送至附加帧同步标记成员。

4.根据权利要求1所述的仿真系统,其特征在于,所述数据处理成员单元在处理位流业务时,包括以下步骤:

11)将信源文件中的数据提取至内存之中;12)按照AOS协议中BPDU数据单元格式的要求,将信源数据封装成BPDU数据流;13)按照AOS协议中虚拟信道数据单元格式的要求,将信源数据封装成帧数据流;14)采用先到先服务的调度算法,将虚拟信道中的各路帧数据流发送至附加帧同步标记成员。

5.根据权利要求1所述的仿真系统,其特征在于,所述附加帧同步标记成员单元,具体用于:

21)通过Socket接收数据处理成员发送过来的帧数据流,并将其存入队列之中;

2

CN 107566106 A

权 利 要 求 书

2/2页

22)在每一帧数据的头部添加同步标记码,得到完整的传输帧;23)通过Socket将完整的传输帧发送至帧同步成员。6.根据权利要求1所述的仿真系统,其特征在于,所述帧同步成员单元,具体用于:31)通过Socket接收附加帧同步标记成员发送过来的数据,并将其存入定义好的队列之中;

32)去除每一帧数据头部的同步标记码,恢复出帧数据流;33)通过Socket将恢复出的帧数据流,发送至数据提取成员。7.根据权利要求1所述的仿真系统,其特征在于,所述数据提取成员单元在处理包装业务时,包括以下步骤:

41)通过Socket接收帧同步成员发送过来的数据;

42)从分离出的包装业务中各路信源的帧数据流中提取MPDU数据单元,得到各路信源的MPDU数据流;

43)从包装业务各路信源的MPDU数据流中提取空间包数据单元,得到各路信源数据的空间包数据流;

44)从包装业务各路信源的空间包数据流中提取原始信源数据,得到各路信源的原始数据。

8.根据权利要求1所述的仿真系统,其特征在于,所述数据提取成员单元在处理位流业务时,包括以下步骤:

41)通过Socket接收帧同步成员发送过来的数据,并根据虚拟信道标识符的不同,进行虚拟信道分用,将位流业务中不同类型的信源数据进行分离;

42)从分离出的位流业务中各路信源的帧数据流中提取BPDU数据单元,得到位流业务中各路信源的BPDU数据流;

43)从位流业务各路信源的BPDU数据流中提取原始信源数据,得到各路信源的原始数据。

3

CN 107566106 A

说 明 书

一种基于HLA-RTI的AOS分布式通信仿真系统

1/9页

技术领域

[0001]本发明涉及的是计算机仿真领域,具体的是一种基于HLA-RTI的AOS分布式通信仿真系统。

背景技术

[0002]随着空间科学的不断发展,空间的飞行器、运输工具和空间站等对数据的处理和传输有了更大的要求。同时,空间任务具有数据类型多、数据量大、数据速率高、突发性强、实时性强等特点,传统的空间数据的处理和传输方法已很难满足空间任务中这些复杂的数据需求。基于上述情况,为满足空间站要求、适应空间上的技术发展,就需要产生新的通用标准。为此,CCSDS(空间数据系统咨询委员会)于1986年在常规在轨系统(Conventional Orbiting Systems,COS)的基础上开发了高级在轨系统(Advanced Orbiting Systems,AOS),以满足复杂航天任务的数据处理需求。

[0003]AOS是一种先进的空间数据通信系统体制标准,具有高灵活性和多样化等特点,它通过建立统一的数据流,利用一个信道来传输静态图像、话音信号、实验数据、遥测和遥控数据等各种不同的信息。为了能使不同类型的数据共同享用一条物理信道,AOS首先采用多个虚拟信道来承载不同特性和不同传输要求的数据源,然后再把各个虚拟信道共用在同一条物理信道上进行传输。目前对AOS除了理论方面的研究,还延伸到了仿真方面的研究。发明内容

[0004]针对现有技术的缺陷,本发明提供了一种基于HLA-RTI的AOS分布式通信仿真系统。

[0005]一种基于HLA-RTI的AOS分布式通信仿真系统,包括数据处理成员单元、附加帧同步标记成员单元、帧同步成员单元、以及数据提取成员单元。[0006]数据处理成员单元,用于对信源数据首先进行空间包封装处理,得到信源数据的空间包数据流,其次进行MPDU复用处理,得到信源数据的MPDU数据流,然后进行帧生成处理,得到信源数据的帧数据流,最后信源数据的帧数据流通过虚拟信道的调度处理后,被发送至附加帧同步标记成员;对于位流业务,数据处理成员对信源数据首先进行BPDU封装处理,得到信源数据的BPDU数据流,然后进行帧生成处理,得到信源数据的帧数据流,最后信源数据的帧数据流通过虚拟信道的调度处理后,被发送至附加帧同步标记成员单元;[0007]附加帧同步标记成员单元,其在包装业务和位流业务中的作用是一致的,首先对接收到的帧数据流进行添加帧同步标记处理,得到完整的传输帧,然后通过套接字把传输帧发送至帧同步成员单元;[0008]帧同步成员单元,其在包装业务和位流业务中的作用也是一致的,首先对接收到的传输帧进行去除帧同步标记处理,恢复出各路信源的帧数据流,然后通过套接字把帧数据流发送至数据提取成员单元;[0009]数据提取成员单元,用于进行MPDU提取,恢复出信源数据的MPDU数据流,然后进行

4

CN 107566106 A

说 明 书

2/9页

空间包提取,恢复出信源数据的空间包数据流,最后进行信源数据提取,恢复出原始的信源数据;其中,对于位流业务,数据提取成员首先进行BPDU提取,恢复出信源数据的BPDU数据流,然后进行信源数据提取,恢复出原始的信源数据。[0010]本发明的有益效果是:本发明依据高级在轨系统(Advanced Orbiting Systems,AOS)协议,借助高层体系结构(High Level Architecture HLA)和运行支撑环境(RTI)组建分布式仿真系统,将仿真功能、仿真运行管理和底层通信传输三者分离,实现各子仿真应用的“即插即用”。可仿真AOS空间各类信源的发送和接收过程,为AOS空间链路通信技术研究人员提供了仿真分析依据和数据支持。

附图说明

[0011]图1是本发明发送端的总体框架图。[0012]图2是本发明接收端的总体框架图。

[0013]图3是基于HLA-RTI的AOS分布式通信仿真系统的结构图。[0014]图4是数据处理成员内部的数据处理流程图。[0015]图5是帧同步标记成员内部的数据处理流程图。[0016]图6是帧同步成员内部的数据处理流程图。

[0017]图7是信源数据提取成员内部的数据处理流程图。[0018]图8是总控成员的运行界面图。[0019]图9是数据处理成员的运行界面图。

[0020]图10是附加帧同步标记成员的运行界面图。[0021]图11是帧同步成员的运行界面图。[0022]图12是数据提取成员的运行界面图。

具体实施方式

[0023]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明,使本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按比例绘制附图,重点在于示出本发明的主旨。

[0024]本发明是根据AOS系统的协议标准,利用HLA-RTI组建仿真系统的各个联邦成员,通过Visual C++实现各个联邦成员的功能,是一个基于HLA-RTI的AOS分布式通信仿真系统软件,该软件能够仿真AOS空间各类信源的发送与接收的数据处理过程。[0025]本发明的系统组成主要有硬件和软件两部分,其中硬件部分为:四台主机(配置为奔腾II及以上),一台交换机,网线若干;软件部分为:RTI软件平台,总控成员单元,数据处理成员单元,附加帧同步标记成员单元,帧同步成员单元,数据提取成员单元。[0026]所述的硬件部分中的四台主机编号依次为A1、A2、B1和B2,其中,主机A1和主机A2用于完成发送端的信源数据的封装处理功能,主机B1和主机B2用于完成接收端的信源数据恢复功能。

[0027]所述的硬件部分中的交换机设备用于转发主机之间的通信的数据,实现主机之间的通信功能。所述的硬件部分中的网线用于连接四台主机与交换机,以完成主机之间局域

5

CN 107566106 A

说 明 书

3/9页

网的搭建。

[0028]所述的软件部分中的RTI软件平台被安装在四台主机上,用于连接各联邦成员和底层通信支持系统,在整个仿真系统中起着重要的支撑作用。所述的软件部分中的总控成员单元运行于主机A1之上,用于控制RTI的执行、所有联邦成员仿真功能的启动,是仿真系统的总控制端。

[0029]所述的软件部分中的数据处理成员单元也运行于主机A1之上,用于对信源数据进行封装与调度处理。所述的软件部分中的附加帧同步标记成员单元运行于主机A2之上,用于对主机A1发送过来的帧数据流进行附加帧同步标记处理,从而形成完整的传输帧数据流。

[0030]所述的软件部分中的帧同步成员单元运行于主机B1之上,用于对发送端传送过来的数据流进行去除帧同步标记处理,恢复出信源的帧数据流。

[0031]所述的软件部分中的数据提取成员单元运行于主机B2之上,用于对主机B1发送过来的帧数据流进行信源数据提取功能,恢复出信源的原始数据。[0032]本发明针对AOS系统中的包装和位流两种业务进行处理,其发送端和接收端的整体框架图分别如附图1和附图2所示,仿真系统的结构如图3所示,本发明将包装和位流两种业务集成在一起进行并行处理,由总控成员来进行控制。其中,数据处理成员集成了包装业务和位流业务内部的数据封装与调度功能;附加帧同步标记成员集成了对包装业务和位流业务信源数据的附加帧同步标记功能;帧同步成员集成了对包装业务和位流业务信源数据的去除帧同步标记功能;数据提取成员集成了对包装业务和位流业务信源数据的提取功能。

[0033]本发明将包装和位流两种业务对应的联邦成员进行集成化处理,简化了模块的设计,使整个数据处理流程更加简单,能够同时对包装和位流两种业务的信源数据进行处理,增强了系统的数据处理功能。当多个信源当中有文本和图像时,目前一些论文中设计的仿真系统只能依次进行处理,效率比较低,而专利设计的仿真系统可以同时对其进行并行处理,效率较高。

[0034]1)数据处理成员对信源数据首先进行空间包封装处理,得到信源数据的空间包数据流,其次进行MPDU复用处理,得到信源数据的MPDU数据流,然后进行帧生成处理,得到信源数据的帧数据流,最后信源数据的帧数据流通过虚拟信道的调度处理后,被发送至附加帧同步标记成员;对于位流业务,数据处理成员对信源数据首先进行BPDU封装处理,得到信源数据的BPDU数据流,然后进行帧生成处理,得到信源数据的帧数据流,最后信源数据的帧数据流通过虚拟信道的调度处理后,被发送至附加帧同步标记成员。

[0035]2)附加帧同步标记成员在包装业务和位流业务中的作用是一致的,首先对接收到的帧数据流进行添加帧同步标记处理,得到完整的传输帧,然后通过套接字(Socket)把传输帧发送至去帧同步标记成员。

[0036]3)帧同步成员在包装业务和位流业务中的作用也是一致的,首先对接收到的传输帧进行去除帧同步标记处理,恢复出各路信源的帧数据流,然后通过套接字(Socket)把帧数据流发送至数据提取成员。[0037]4)数据提取成员,对于包装业务,首先进行MPDU提取,恢复出信源数据的MPDU数据流,然后进行空间包提取,恢复出信源数据的空间包数据流,最后进行信源数据提取,恢复

6

CN 107566106 A

说 明 书

4/9页

出原始的信源数据。对于位流业务,数据提取成员首先进行BPDU提取,恢复出信源数据的BPDU数据流,然后进行信源数据提取,恢复出原始的信源数据。[0038]进一步,所述步骤1)对于包装业务,如图4所示,具体包括如下几个步骤:[0039]11)将信源文件中的数据提取至内存之中;

[0040]12)按照AOS协议中空间包数据单元格式的要求,将信源数据封装成空间包数据流;

[0041]13)按照AOS协议中MPDU数据单元格式的要求,将信源数据封装成MPDU数据流;[0042]14)按照AOS协议中虚拟信道数据单元格式的要求,将信源数据封装成帧数据流;[0043]15)采用先到先服务的调度算法,将虚拟信道中的各路帧数据流发送至附加帧同步标记成员;

[0044]所述步骤1)对于位流业务,如图4所示,具体包括如下步骤:[0045]11)将信源文件中的数据提取至内存之中;[0046]12)按照AOS协议中BPDU数据单元格式的要求,将信源数据封装成BPDU数据流;[0047]13)按照AOS协议中虚拟信道数据单元格式的要求,将信源数据封装成帧数据流;[0048]14)采用先到先服务的调度算法,将虚拟信道中的各路帧数据流发送至附加帧同步标记成员。[0049]进一步,无论是包装业务,还是位流业务,所述步骤11)具体为:[0050](1)首先调用字符串类CString,定义字符串对象,用来存储信源数据的路径信息,其次调用输入流类ifstream,定义输入流对象,用于连通应用单元信源数据,然后定义整形队列,用于存储信源数据。[0051](2)首先调用in.open()以二进制的方式打开信源文件,其次调用函数get()获取信源文件中的数据,然后调用函数push_back()将获取到的数据存放于队列之中。[0052](3)对步骤(2)设置循环,直至信源文件中的数据被全部提取至队列中后,再调用函数close()关闭信源文件。[0053]进一步,对于包装业务,所述步骤12)具体为:[0054](1)定义队列deqSource用于存储包装业务的信源数据;定义队列deqSMain用于存储空间包的主导头信息;定义队列deqSVice用于存储空间包的副导头信息;定义队列deqSMainVice用于存储空间包的主导头和副导头信息;定义队列DeqSWhole用于存储封装好的单个空间包数据;定义容器space_Pool用于存储所有的空间包数据单元。[0055](2)调用函数insert()从存储着包装业务信源数据的队列中提取M字节的信源数据,并将其插入到队列deqSource之中。[0056](3)首先,调用函数space_Pkg.setMainHead()在队列deqSMain中设置空间包主导头信息。然后,调用函数space_Pkg.setViceHead()在队列deqSVice中设置空间包的副导头信息。[0057](4)首先,调用函数space_Pkg.setMainViceHead()将队列deqSMain和队列deqVMain中的数据顺序组合在队列deqSMainVice之中;然后,调用space_Pkg.SetWholePkg()将队列deqSMainVice和tepSource中的数据顺序组合在队列DeqSWhole之中,此时队列DeqSWhole中的数据便是一个完整的空间包数据单元。[0058](5)调用函数space_Pool.insert()将队列DeqSWhole中的数据插入到容器space_

7

CN 107566106 A

说 明 书

5/9页

Pool之中。[0059](6)对步骤(2)至(5)设置循环,直至包装业务中的信源数据被全部提取。[0060]进一步,对于包装业务,所述步骤13)具体为:[0061](1)定义队列deqM用于存储空间包数据流;定义队列deqMHead用于存储MPDU的导头信息;定义队列deqMWhole用于存储完单个MPDU数据单元;定义容器MPDU_Pool用于存储所有的MPDU数据单元。[0062](2)首先,调用函数insert()从容器Space_Pool中提取N个空间包数据,并将其插入到队列deqM之中;然后,调用MPDU.setHead()在队列deqMHead中设置MPDU导头信息。[0063](3)调用函数MPDU.setWhole()将队列deqMHead和队列deqM中的数据顺序组合在队列DeqMWhole之中。此时队列DeqMWhole中的数据便是一个完整的MPDU数据单元。[0064](4)调用函数MPDU_Pool.insert()将队列DeqMWhole中的MPDU数据插入到容器MPDU_Pool之中。[0065](5)对步骤(2)至(4)设置循环,直至容器space_Pool中的空间包数据被全部提取。[0066]进一步,对于包装业务,所述步骤14)具体为:[0067](1)定义队列deqV用于存储包装业务中的MPDU数据单元;定义队列deqFrameHead用于存储VCDU的帧头数据;定义队列deqFrameEnd用于存储VCDU的帧尾数据;定义队列deqVWhole用于存储单个VCDU帧数据;定义容器VCDU_Pool用于存储所有的VCDU数据单元。[0068](2)首先,调用函数insert()从容器MPDU_Pool中提取P个MPDU数据单元,并将提取的数据插入到队列deqV之中;然后,调用函数VCDU.setFreamHead()在队列deqFreamHead中设置VCDU的帧头信息;最后,调用函数VCDU.setFreamEnd()在队列deqFreamEnd中设置VCDU的帧尾信息。[0069](3)调用函数VCDU.setWhole()将队列deqFreamHead、deqV和deqFreamEnd中的数据顺序组合在队列deqVWhole之中。此时队列deqVWhole中的数据便是一个完整的VCDU数据单元。[0070](4)调用函数VCDU_Pool.insert()将队列deqVWhole中VCDU的数据插入到容器VCDU_Pool之中。[0071](5)对步骤(2)至(4)设置循环,直至容器MPDU_Pool中的MPDU数据单元被全部提取。

[0072]进一步,对于包装业务,所述步骤15)具体为:

[0073]先来先服务调度算法是根据各虚拟信道缓存中数据帧到达的先后顺序来选择相应的虚拟信道来占用物理信道,即数据帧先到达的虚拟信道优先来占用物理信道。包装业务下先来先服务调度算法的具体实现方法为:[0074](1)首先,定义一个整型变量并初始化为零,用于包装业务中各线程访问的公共资源,其次,定义与包装业务中各信源对应的标识变量,根据其值的大小,用来标识各路信源的数据帧到达的先后顺序,然后,调用系统函数CreateMutex()创建一个互斥对象。[0075](2)首先,分别在各路信源的线程尾部调用系统函数,该函数名称为WaitForSingleObject(),让其各线程请求互斥对象的所用权,其次,再分别写入需要保护的代码:“index_pack++;”和“标识变量=index_pack”,然后,调用系统函数ReleaseMutex()释放当前线程对互斥对象的访问权。

8

CN 107566106 A[0076]

说 明 书

6/9页

(3)对标识变量的大小进行比较,标识变量的值越小,说明其对应虚拟信道中的帧

数据越先到达,按照标识变量由小到大的顺序,依次选择相应的虚拟信道占用物理信道,调用sendto()函数将相应的数据帧发送至包装业务附加帧同步标记成员。[0077]进一步,对于位流业务,所述步骤12)具体为:[0078](1)定义队列deqBSource用于存储位流业务的信源数据;定义队列deqBHead用于存储BPDU的导头信息;定义队列deqBWhole用于存储封装好的单个BPDU数据单元;定于容器BPDU_Pool用于存储所有的BPDU数据单元。[0079](2)调用函数insert()从存储着位流业务信源数据的队列中提取W字节的信源数据,并将其插入到队列deqBSource之中;然后,调用函数BPDU.setHead()在队列deqBHead中设置BPDU导头信息。[0080](3)调用函数BPDU.setWholePkg()将队列deqBSource和deqBHead中的数据顺序组合在队列deqBWhole之中,此时队列deqBWhole中的数据便是一个完整的BPDU数据单元。[0081](4)调用函数BPDU_Pool.insert()将队列deqWhole中BPDU数据放入容器BPDU_Pool之中。[0082](5)对步骤(2)至(4)设置循环,直至位流业务中的信源数据被全部提取。[0083]进一步,对于位流业务,所述步骤13)和14)的具体过程同包装业务的步骤14)和步骤15)。

[0084]进一步,所述步骤2),如图5所示,具体包括如下步骤:[0085]21)通过Socket接收数据处理成员发送过来的帧数据流,并将其存入队列之中;[0086]22)在每一帧数据的头部添加同步标记码,得到完整的传输帧;[0087]23)通过Socket将完整的传输帧发送至帧同步成员;[0088]进一步,所述步骤21)具体为:[0089]首先,定义整型队列“dequeframeSource”,然后,在主单元中调用函数receivefrom(),接收从数据处理成员发送过来的帧数据流,并将接收到的数据放入到队列frameSource之中。[0090]进一步,所述步骤22)具体为:[0091]首先,定义整型队列“dequesyncHead”,并调用函数syncHead.push_back(),将帧同步码存储到队列syncHead之中,其次,定义队列“dequesync_ASM”,并调用函数sync_ASM.insert()将队列syncHead中的帧同步码插入到队列sync_ASM之中,然后,再次调用sync_ASM.insert()从队列frameSource中提取一帧数据插入到队列syncHead的尾部,从而形成一个完整的传输帧。对前两步设置循环,直至队列FrameSource中的数据被提取完毕,此时,帧同步标记就插入完毕了。[0092]进一步,所述步骤23)具体为:[0093]调用函数sendto()将完整的传输帧数据流发送至接收端的帧同步成员。[0094]进一步,所述步骤3),如图6所示,具体包括如下步骤:

[0095]31)通过Socket接收附加帧同步标记成员发送过来的数据,并将其存入定义好的队列之中;

[0096]32)去除每一帧数据头部的同步标记码,恢复出帧数据流;[0097]33)通过Socket将恢复出的帧数据流,发送至数据提取成员;

9

CN 107566106 A[0098]

说 明 书

7/9页

进一步,所述步骤31)具体为:

[0099]首先,定义整型队列“dequeSource”,然后,在主单元中调用函数receivefrom(),接收从附加帧同步标记成员发送过来的传输帧数据流,并将接收到的数据放入到队列Source之中。[0100]进一步,所述步骤32)具体为:[0101]帧同步原理是,通过比较本地存储的帧同步标记和接收到的数据帧码流,仿真系统可以识别出数据帧中的帧同步标记,并去除帧同步标记,从而找到各个数据帧的起始位置,实现帧同步功能,具体的实现步骤如下:[0102](1)定义整形队列dequeTemp,从队列Source中提取一个完整的传输帧放到队列Temp之中。[0103](2)定义整形队列dequeSynHead,把本地的帧同步标记存放到此队列中。然后调用函数FMS.FirstEnter()和函数FMS.enterSearched()识别并去除帧同步标记。[0104](3)定义整形队列dequeSynedPOOL,将去除帧同步标记后的帧数据存放到此队列中,以备后续处理。[0105](4)循环步骤(1)至(3),直至队列Source中的数据被提取完毕。[0106]进一步,所述步骤33)具体为:[0107]调用函数sendto()将恢复出的帧数据流发送至数据提取成员。[0108]进一步,所述步骤4),对于包装业务,如图7所示,具体包括如下步骤:[0109]41)通过Socket接收帧同步成员发送过来的数据;

[0110]42)从分离出的包装业务中各路信源的帧数据流中提取MPDU数据单元,得到各路信源的MPDU数据流;

[0111]43)从包装业务各路信源的MPDU数据流中提取空间包数据单元,得到各路信源数据的空间包数据流;

[0112]44)从包装业务各路信源的空间包数据流中提取原始信源数据,得到各路信源的原始数据;

[0113]进一步,所述步骤4),对于位流业务,如图7所示,具体包括如下步骤:[0114]41)通过Socket接收帧同步成员发送过来的数据,并根据虚拟信道标识符的不同,进行虚拟信道分用,将位流业务中不同类型的信源数据进行分离;

[0115]42)从分离出的位流业务中各路信源的帧数据流中提取BPDU数据单元,得到位流业务中各路信源的BPDU数据流;

[0116]43)从位流业务各路信源的BPDU数据流中提取原始信源数据,得到各路信源的原始数据;

[0117]进一步,对于包装业务,所述步骤41)具体为:[0118]首先定义整形队列dequeFrame,其次在主单元中调用函数receivefrom(),接收从帧同步成员发送过来的数据,并将接收到的数据放入到队列Frame之中,然后根据虚拟信道标识符的不同,进行虚拟信道分用,将包装业务中不同类型的信源数据进行分离。[0119]进一步,对于包装业务,所述步骤42)具体为:[0120](1)定义队列dequeVCDU_Pkg0和MPDU0,调用函数VCDU_Pkg0.insert(),从队列Frame中提取一个数据帧信息存储在VCDU_Pkg0中。

10

CN 107566106 A[0121]

说 明 书

8/9页

(2)定义整型队列dequeMPDU_POOL0,调用函数ProcessVCDU0.SetPkg(),从

队列VCDU_Pkg0中提取一个MPDU数据单元放入队列MPDU_POOL0中。[0122](3)重复步骤(1)和(2),直至队列Frame中的数据被全部提取。[0123]进一步,对于包装业务,所述步骤43)具体为:[0124](1)定义整型队列dequeMPDU_Pkg0和SP_POOL0,调用函数MPDU_Pkg0.insert(),从队列MPDU_POOL0中提取一个MPDU数据单元存储在队列MPDU_Pkg0中。[0125](2)调用函数ProcessMPDU0.SetPkg(),从队列MPDU_Pkg0中提取N个空间包数据单元放入队列SP_POOL0中。[0126](3)重复步骤(1)和(2),直至队列MPDU_POOL0中的数据被全部提取。[0127]进一步,对于包装业务,所述步骤44)具体为:[0128](1)定义整型双端队列dequeSP_Pkg0,调用函数SP_Pkg0.insert(),从队列SP_POOL0中提取一个空间包数据单元存储在队列SP_Pkg0中。[0129](2)定义数组DES_DATA0,调用函数ProcessSP0.SetPkg(),将队列SP_Pkg0中空间包的有效数据提取到数组DES_DATA0中。[0130](3)重复步骤(1)和(2),直至队列SP_POOL0中的数据被全部提取。[0131]进一步,对于位流业务,所述步骤41)具体为:[0132]首先定义整形队列dequeFrame_Bit,其次在主单元中调用函数receivefrom(),接收从帧同步成员发送过来的数据,并将接收到的数据放入到队列Frame_Bit之中,然后根据虚拟信道标识符的不同,进行虚拟信道分用,将位流业务中不同类型的信源数据进行分离。

[0133]进一步,对于位流业务,所述步骤42)具体为:[0134](1)定义整形队列dequeVCDU_Pkg3和BPDU_POOL0,调用函数VCDU_Pkg3.insert(),从队列Frame_Bit中提取一个数据帧,存入队列VCDU_Pkg3中。[0135](2)定义整型队列dequeBPDU_POOL0,调用函数ProcessVCDU3.SetPkg(),从队列VCDU_Pkg3中提取一个BPDU数据单元,并将其存入队列BPDU_POOL0中。[0136](3)重复步骤(1)和(2),直至队列Frame_Bit中的数据被全部提取。[0137]进一步,对于位流业务,所述步骤43)具体为:[0138](1)定义整型双端队列dequeBP_Pkg0,调用函数BP_Pkg0.insert(),从队列BPDU_POOL0中提取一个BPPDU数据单元存储在队列BP_Pkg0中。[0139](2)定义数组DES_DATA1,调用函数ProcessBP1.SetPkg(),将队列BP_Pkg0中BPDU的有效数据提取到数组DES_DATA1中。[0140](3)重复步骤(1)和(2),直至队列BPDU_POOL0中的数据被全部提取。[0141]总控成员:总控成员是整个仿真系统的控制端,负责控制和启动整个仿真系统。在成功启动RTI软件平台和所有联邦成员的仿真程序之后,得到如附图8所示总控成员的运行界面图。在具体操作时,首先,点击“加入联邦”按钮,向RTI发出加入联邦的请求,RTI响应请求并将总控成员加入联邦;其次,在其他联邦成员加入联邦之后,点击“启动仿真系统”按钮,开通仿真系统的运行支撑系统RTI,使成员之间能够交互;然后,点击“启动”按钮,即可开启仿真系统的数据处理功能。[0142]发送端:选用了五种不同类型的信源,分别为8比特随机信源、16比特随机信源、文

11

CN 107566106 A

说 明 书

9/9页

本信源、静态图像信源和声音信号信源。其中,8比特随机信源、16比特随机信源和文本信源选用了包装业务,静态图像信源和声音信号信源选用了位流业务,信源数据在数据处理成员内部的处理流程如附图1所示:对于8比特随机信源、16比特随机信源、文本信源,首先进行空间包封装处理,得到各信源数据的空间包数据流,其次进行MPDU复用处理,得到各信源数据的MPDU数据流,对于静态图像信源和声音信号信源,首先进行BPDU封装处理,得到各信源的BPDU数据流,然后,五路信源开始进行帧生成处理,得到五路信源的帧数据流,最后,五路信源的帧数据流经过虚拟信道调度发送至附加帧同步标记成员,数据处理成员的运行界面如附图9所示。

[0143]附加帧同步标记成员的内部处理流程如附图5所示:首先接收来自数据处理成员发送过来的数据,然后进行附加帧同步标记处理,从而得到完整的传输帧,其中,选取的帧同步标记为EB90,二进制形式为“1110101110010000”,最后通过Socket将传输帧数据发送至帧同步标记成员,附加帧同步标记成员的运行界面如附图10所示。[0144]接收端:帧同步成员的内部处理流程如附图6所示:首先接收来自附加帧同步标记成员发送过来的数据,然后进行去帧同步标记处理,恢复出发送端各信源的帧数据流,帧同步标记成员的运行界面如附图11所示。[0145]信源数据提取成员的内部处理流程如附图7所示:首先接收来自帧同步成员发送过来的数据流,然后进行虚拟信道分用处理,得到五路信源的数据,对于包装业务的数据流先进行MPDU提取,恢复出信源数据MPDU数据单元,再进行空间包提取,恢复出信源数据的空间包数据单元;对于位流业务的数据流则进行BPDU提取,恢复出信源数据的BPDU数据单元。然后五路信源进行信源数据提取,最终恢复出五种不同类型的原始信源数据,数据提取成员的运行界面如附图12所示。[0146]本发明设计科学、合理、富有创意、结构紧凑、严密,稳定可靠,操作简便、具有较强的实用性、经济适用、本发明适宜AOS空间信息的通信仿真。[0147]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本申请的方法实施例而言,由于其与装置实施例基本相似,所以描述的比较简单,相关之处参见装置实施例的部分说明即可。

[0148]在以上的描述中阐述了很多具体细节以便于充分理解本发明。但是以上描述仅是本发明的较佳实施例而已,本发明能够以很多不同于在此描述的其它方式来实施,因此本发明不受上面公开的具体实施的限制。同时任何熟悉本领域技术人员在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

12

CN 107566106 A

说 明 书 附 图

1/7页

图1

图2

13

CN 107566106 A

说 明 书 附 图

2/7页

图3

14

CN 107566106 A

说 明 书 附 图

3/7页

图4

图5

15

CN 107566106 A

说 明 书 附 图

4/7页

图6

图7

16

CN 107566106 A

说 明 书 附 图

5/7页

图8

图9

17

CN 107566106 A

说 明 书 附 图

6/7页

图10

图11

18

CN 107566106 A

说 明 书 附 图

图12

19

7/7页

因篇幅问题不能全部显示,请点此查看更多更全内容