孟祥富 李琳琳 潘彩平
摘 要:為了使航天器上的數(shù)據(jù)源可以在同一條虛擬信道中傳送,需要對這些數(shù)據(jù)按照統(tǒng)一的格式封裝,我們把AOS(Advanced Orbiting Systems,高級在軌系統(tǒng))中這種統(tǒng)一的格式稱為空間包。AOS系統(tǒng)通過創(chuàng)建統(tǒng)一的信息數(shù)據(jù)流,利用一個信道來傳輸各種不同的信息,諸如實驗數(shù)據(jù)、遙測、遙控等,主要用來達成航天器與地面站之間的雙向傳送。本文中應用Visual C++6.0程序設計軟件,依據(jù)AOS中的空間包的格式,對隨機產(chǎn)生的8bit信源數(shù)據(jù)封裝成空間包的過程進行了仿真設計和實現(xiàn)。
關鍵詞:Visual C++ AOS 空間包 8bit信源
中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2018)01(b)-0041-02
1 AOS空間包概述
本文采用的是8bit信源數(shù)據(jù)是通過C++編程隨機產(chǎn)生,空間包[1]的格式如圖1所示,然后按照圖1中空間包的數(shù)據(jù)單元格式進行封裝,由于包副導頭和用戶數(shù)據(jù)域的大小是可變的,在本仿真中分別設定為2字節(jié)和1字節(jié),最后把封裝好的數(shù)據(jù)包存放于文件之中。
2 AOS空間包封裝的設計實現(xiàn)
在本仿真中,6組8bit信源數(shù)據(jù)借助C++中的rand()函數(shù)隨機產(chǎn)生,之后,再利用向量容器,按照AOS[2]空間包的格式進行設計。
整體的設計中,主要分3個大部分來實現(xiàn)。
第一,通過調(diào)用rand()函數(shù)得到一個零到RAND_MAX之間的偽隨機整數(shù),然后對256進行取余操作,其結果剛好是一組8bit信源可以表示的整數(shù),最后通過調(diào)用一個與Bit8信源.txt文件關聯(lián)的輸出流,把該整數(shù)寫入到Bit8信源.txt文件之中。
第二,按照空間包數(shù)據(jù)單元格式,分別將包主導頭和包副導頭的內(nèi)容封裝在向量容器一和向量容器二之中,接著把Bit8.txt信源文件數(shù)據(jù)讀取到向量容器三之中,然后從容器三中取出1字節(jié)的數(shù)據(jù)放于向量容器四,并擦除容器三中已取出的數(shù)據(jù)。
第三,將容器一、容器二和容器四依次插入到向量容器五之中,容器五便是一個AOS空間包,然后將容器五中的內(nèi)容寫入到AOS空間包.txt文件之中,不斷循環(huán)第二步和第三步操作,直至容器三中的數(shù)據(jù)被取完。最后,8bit信源數(shù)據(jù)全部被封裝成AOS空間包,并存放于AOS空間包.txt文件之中。
本方法的優(yōu)勢或特色:提高了空間包封裝的效率,更好地仿真了航天器上的數(shù)據(jù)源可以在同一條虛擬信道中數(shù)據(jù)可靠的傳送[3]。
3 Visual C++中AOS空間包封裝的仿真實現(xiàn)
基于上述方法,借助Visual C++[4-5],進行了本次實驗,得到的仿真結果如圖2、圖3所示。
圖2是程序隨機產(chǎn)生的6組8bit信源的仿真結果,它以二進制的形式顯示在文本文件之中。圖3是圖2中的6組8bit信源經(jīng)過封裝之后生成的AOS空間包的仿真結果,由圖3可以看出總共生成了6個空間包,剛好對應圖2中的6組8bit信源,其中,每個空間包中前6個字節(jié)是包主導頭信息,隨后2字節(jié)是包副導頭信息,最后一個字節(jié)是信源信息。經(jīng)過驗證之后,AOS空間包的仿真結果符合格式要求且完全正確。
4 結語
通過對本文中在Visual C++軟件平臺下對8bit隨機信源按照AOS空間包統(tǒng)一格式的封裝設計與仿真,經(jīng)過設計與仿真之后,AOS的空間包仿真結果完全符合空間包格式要求,并且沒有出現(xiàn)一點錯誤,證明我們的設計與仿真是完全正確的,這樣的結果達到了航天器上的數(shù)據(jù)源能夠在同一條虛擬信道中傳輸?shù)慕y(tǒng)一標準。
參考文獻
[1] Tian Ye,Wang Ruonan,Jiang Yueqiu,et al.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] Tian Ye,Zhang Yanqin,Zhang Zijing.On the performance of priority-based virtual channels scheduling algorithm in packet telemetry system[J].International Journal of Computer Network and Information Security, 2011,3(5):46,53.
[3] 田野,張子敬,張艷琴.AOS協(xié)議中自適應幀生成算法的研究.宇航學報,2011,32(5):1171-1178.
[4] 肖俊宇,吳為勝.由淺入深學C++[M].北京:電子工業(yè)出版社,2011.
[5] 謝賢芬.21天學通Visual C++[M].2版.北京:電子工業(yè)出版社,2001.