方櫻瀚 孟祥富
摘 要:為了滿足空間任務的發展需求,使航天器上的數據源封裝的空間包可以在同一條虛擬信道中高效傳輸,AOS(Advanced Orbiting Systems,高級在軌系統)中按照多路復用協議對這些空間包進行復合封裝,稱為MPDU(Multiplexing Protocol Data Unit,多路復用協議數據單元),進一步通過創建統一的信息數據流在一個信道中傳輸不同的信息,諸如實驗報告、遙測、遙控等。本文中應用Visual C++6.0軟件進行編程設計,依據AOS中的MPDU格式,對8bit隨機信源數據空間包復合封裝成MPDU的過程進行了仿真設計和實現。
關鍵詞:AOS MPDU 8bit隨機信源
中圖分類號:G64 文獻標識碼:A 文章編號:1672-3791(2018)03 (A)-0000-00
1 MPDU概述
在AOS系統中,空間包需要經過封裝,生成MPDU后,在進行后續的處理[1-3]。在本文采用的是8bit信源空間包數據是通過VC++[4]編程隨機產生而封裝的,MPDU的格式如圖1所示,然后按照圖1中MPDU的數據單元格式進行封裝,在本仿真中MPDU導頭被設置全“0”,而MPDU數據域的大小是可變的,被設置為4,表示每個MPDU數據域包含4個空間包,最后再把封裝好的MPDU存放于txt文件之中。
2 MPDU封裝的設計實現
在本仿真中,4組8bit信源數據借助VC++[5]中的rand()函數隨機產生,之后,再利用向量容器封裝成空間包,最后按照AOS的MPDU格式進行封裝設計。
整體的設計如下:
第一,通過調用rand()函數得到一個零到RAND_MAX之間的偽隨機整數,然后對256進行取余操作,其結果剛好是一組8bit信源可以表示的整數,然后,按照空間包數據單元格式封裝成空間包,并存放于容器Space_Pool中。
第二,首先,定義容器“deqMPDU8Bit”、“deqMPDUHead”、“deqMPDUWhole”以及關聯容器“MPDU_Pool”,其中,容器deqMPDU8Bit用于存儲8比特隨機信源的空間包數據;容器deqMPDUHead用來存儲MPDU的導頭信息;容器deqMPDUWhole用來存儲單MPDU數據單元;map關聯容器MPDU_Pool用來存儲所有的MPDU數據單元。
第三,首先,設定MPDU數據單元中包含4個空間包;之后,調用容器插入函數deqMPDU8Bit.insert()把這4個空間包插入到容器deqMPDU8Bit中;之后,調用編寫的MPDU.SetHead()函數在容器deqMPDUHead中去設置MPDU導頭信息。調用編寫的MPDU.SetWhole()函數將容器deqMPDUHead和deqMPDU8Bit中的數據順序組合在容器deqMPUDWhole之中。此時容器deqMPDUWhole中的數據就構成了一個完整的MPDU數據單元。
第四,調用關聯容器插入函數MPDU_Pool.insert()將容器deqMPDUWhole中的MPDU數據插入到map關聯容器MPDU_Pool中。
第五,對上述步驟第三至第四步驟設置循環,直到容器Space_Pool中的空間包數據全部被提取完畢。將map關聯容器MPDU_Pool中的數據寫入到8比特隨機信源的MPDU仿真文件中。至此,就完成了8比特隨機信源數據的MPDU復用過程。
本方法的優勢:MPDU封裝的復用效率達到100%,復用效率非常高,并且提高了信道利用率。
3 VC++中MPDU封裝的仿真實現
基于上述方法,借助VC++,進行了本次實驗,得到的仿真結果如圖2,圖3所示:
圖2是4組8bit隨機信源的空間包仿真結果,它以二進制的形式顯示在文本文件之中。圖3是圖2中的4組8bit信源經過復合封裝之后生成的MPDU仿真結果,由圖3可以看出總共生成了1個完整MPDU,對應圖2中的4組8bit隨機信源空間包。1個完整的MPDU包含4個空間包和一個MPDU導頭。經過驗證之后,MPDU的仿真結果符合格式要求且完全正確。
4 結語
通過本文中在VC++軟件平臺下對8bit隨機信源空間包,按照MPDU統一格式的封裝設計與仿真之后,AOS的MPDU仿真結果完全符合空間包格式要求,證明我們的設計與仿真是完全正確的,這樣的結果達到了提高了信道利用率和復用效率。
參考文獻
[1] Tian Ye,Wang Ruonan,Jiang Yueqiu,Ma Yufeng.A novel multiple-channels scheduling algorithm based on timeslot optimization in the advanced orbiting systems[J].Multimedia Tools and Applications,2017,76(3):4523-4551.
[2] 孫輝先,陳曉敏等.CCSDS高級在軌系統及在我國航天器中的應用[J].航天器工程:2003,3:12-18.
[3] 李寧寧,汪路元.AOS標準在海洋動力環境探測衛星中的應用[J].飛行器測控學報:2012.
[4] 肖俊宇,吳為勝.由淺入深學C++[M].北京:電子工業出版社,2011.7.
[5] 孫鑫.VC++深入講解[M].北京:電子工業出版社,2012.