基于HLA-RTI的AOS包信道复用模块的设计与仿真

2014-12-25 06:40周雅芳范玉娜张耀寰相金明
科技视界 2014年27期
关键词:时则容器信道

周雅芳 范玉娜 张耀寰 相金明

(沈阳理工大学,辽宁 沈阳110159)

1 包信道复用的简介

在AOS 建议中,CCSDS 包是合路过程的协议数据单元,为了使非CCSDS 结构的数据单元同样能复用在虚拟信道内, 包装业务把非CCSDS 格式的包化成了CCSDS 格式的包,也称为CPPDU。 包信道复用过程就是把这些来自多个用户的具有相同或者相似服务质量要求的CCSDS 包合成在一个公共的数据结构内,形成一个MPDU,再分别加入帧头、帧尾,从而生成一帧VCDU,把几个不同的包信道级连在一个虚拟信道上,实现在一个虚拟信道上多路传输用户间的各自通信[1-2]。 其中,CCSDS 包、多路复用MPDU、虚拟信道传输帧VCDU 的数据单元格式详见参考文献[1]。

图1 包信道复用模块的内部实现过程图

2 包信道复用模块的设计

在本仿真中,根据包信道复用原理,并借助Visual C++[3]中的双向队列容器,对包信道复用模块进行设计。 在包信道复用模块内部功能的设计中,主要分三个大部分来实现:

第一,从FileDlg.GetPathname()函数中获得某个其他模块发送过来的文件赋给容器一(此模块的容器一名为SOURCE,定义为deque<int>SOURCE),然后进入第二部分的操作。

第二, 在第二部分中, 主要用到四个容器, 分别定义为map<unsigned long、deque<int >>CPPDU_POOL、map<unsigned long,deque<int>>MPDU_POOL、map <unsigned long,deque < int >>VCDU_POOL、map<unsigned long int,deque<int> > DISPATCH_POOL,它们将对信源进行包信道复用操作。实现过程如图3 所示,基本过程如下:

① 容 器 一SOURCE 中够20 个字节 则 封 成 一 个CPPDU, 如此循环,然后把封好的CPPDU 都放 到 CPPDU_POOL中, 即对信源进行CPPDU 封 装 。 当CPPDU_POOL 中够10个CPPDU 时则封成一个MPDU,如此循环,然后把封好的MPDU 都放到MPDU_POOL 中,即在CPP

图2 包信道复用仿真结果示意图

DU_POOL 中进行MPDU 封装。

②MPDU_POOL 中达到1 个MPDU 时则封成1 个VCDU,如此循环,然后把封好的VCDU 放在VCDU_POOL 中,即在MPDU_POOL 中进行VCDU 封装。

③然后把VCDU_POOL 中的数据都放到DISPATCH_POOL 中,再把CPPDU_POOL、MPDU_POOL 和VCDU_POOL 中的内容都擦除,准备下一次的封包。

第三, 把上述操作得到的最后封包结果的内容保存到新文件中,操作结束。

3 包信道复用模块的仿真结果

基于上述方法,试验过程中在文本文件中输入了一串二进制码元“01010011 00001100 11010000 11101000 11100110 11001101 01100101 11100010 00001111 01001111 00101010 11111001 11011000 00000101 00010001”,经过包信道复用模块,把输入的二进制码中每16 比特的数据信息封为1 个CPPDU,5 个CPPDU 封为1 个MPDU,1 个MPDU 封为1 个VCDU,得到的仿真结果如图2 所示。

由图2 可以看出, 输入的二进制码元最终被封成了3 个VCDU,图中前8 行数据为第一个VCDU,在第一个VCDU 中,第③行是1 个完整的CPPDU,其中第③行的后16 比特是原二进制码,同理,第④行、第⑤行、第⑥行和第⑦行也与第③行的结构相同,这5 行的数据就组成了5 个CPPDU。然后第②行与第③、④、⑤、⑥、⑦这5 行组成了1个MPDU,其中第②行是MPDU 的主导头。 最后第①行、第⑧行与第②、③、④、⑤、⑥、⑦行组成了1 个VCDU,其中第①行是VCDU 的帧头、第⑧行是VCDU 的帧尾,即前8 行数据组成了一个完整的VCDU,包信道复用结果正确。 同理,可验证剩下的两个VCDU 仿真结果全部正确。

[1]田野,冯永新,马玉峰,刘桂君.高级在轨系统中的多路复用与差错控制技术研究[M].北京:科学出版社,2014,4.

[2]Tian ye,Li Qingfan,Feng yongxin,Gao xiaoling.A virtual channels scheduling algorithm with broad applicability based on movable boundary[J].Mathematical Problems in Engineering,2013,9:1-8.

[3] 谢贤芬.21 天学通Visual C++[M].2 版.北京:电子工业出版社,2001,2.

猜你喜欢
时则容器信道
Different Containers不同的容器
键盘裤
难以置信的事情
也谈数列求和之策略
One Shake调料瓶
基于导频的OFDM信道估计技术
一种改进的基于DFT-MMSE的信道估计方法
基于MED信道选择和虚拟嵌入块的YASS改进算法
一种基于GPU的数字信道化处理方法