摘要:為了使航天器上的數據源可以在同一條虛擬信道中傳送, 需要對這些數據按照統一的格式封裝, 我們把AOS (Advanced Orbiting Systems, 高級在軌系統) 中這種統一的格式稱(chēng)為空間包。AOS系統通過(guò)創(chuàng )建統一的信息數據流, 利用一個(gè)信道來(lái)傳輸各種不同的信息, 諸如實(shí)驗數據、遙測、遙控等, 主要用來(lái)達成航天器與地面站之間的雙向傳送。本文中應用Visual C++6.0程序設計軟件, 依據AOS中的空間包的格式, 對隨機產(chǎn)生的8bit信源數據封裝成空間包的過(guò)程進(jìn)行了仿真設計和實(shí)現。
關(guān)鍵詞:Visual C++; AOS; 空間包; 8bit信源;
1、AOS空間包概述
本文采用的是8bit信源數據是通過(guò)C++編程隨機產(chǎn)生, 空間包[1]的格式如圖1所示, 然后按照圖1中空間包的數據單元格式進(jìn)行封裝, 由于包副導頭和用戶(hù)數據域的大小是可變的, 在本仿真中分別設定為2字節和1字節, 最后把封裝好的數據包存放于文件之中。
2、AOS空間包封裝的設計實(shí)現
在本仿真中, 6組8bit信源數據借助C++中的rand () 函數隨機產(chǎn)生, 之后, 再利用向量容器, 按照AOS[2]空間包的格式進(jìn)行設計。
整體的設計中, 主要分3個(gè)大部分來(lái)實(shí)現。
第一, 通過(guò)調用r a n d () 函數得到一個(gè)零到R A N D_MAX之間的偽隨機整數, 然后對256進(jìn)行取余操作, 其結果剛好是一組8b it信源可以表示的整數, 最后通過(guò)調用一個(gè)與Bit8信源.txt文件關(guān)聯(lián)的輸出流, 把該整數寫(xiě)入到Bit8信源.txt文件之中。
第二, 按照空間包數據單元格式, 分別將包主導頭和包副導頭的內容封裝在向量容器一和向量容器二之中, 接著(zhù)把Bit8.txt信源文件數據讀取到向量容器三之中, 然后從容器三中取出1字節的數據放于向量容器四, 并擦除容器三中已取出的數據。
第三, 將容器一、容器二和容器四依次插入到向量容器五之中, 容器五便是一個(gè)AOS空間包, 然后將容器五中的內容寫(xiě)入到AOS空間包.txt文件之中, 不斷循環(huán)第二步和第三步操作, 直至容器三中的數據被取完。最后, 8bit信源數據全部被封裝成AOS空間包, 并存放于A(yíng)OS空間包.txt文件之中。
圖1 空間包數據單元格式
本方法的優(yōu)勢或特色:提高了空間包封裝的效率, 更好地仿真了航天器上的數據源可以在同一條虛擬信道中數據可靠的傳送[3]。
3、Visual C++中AOS空間包封裝的仿真實(shí)現
基于上述方法, 借助Visual C++[4-5], 進(jìn)行了本次實(shí)驗, 得到的仿真結果如圖2、圖3所示。
圖2是程序隨機產(chǎn)生的6組8bit信源的仿真結果, 它以二進(jìn)制的形式顯示在文本文件之中。圖3是圖2中的6組8bit信源經(jīng)過(guò)封裝之后生成的AOS空間包的仿真結果, 由圖3可以看出總共生成了6個(gè)空間包, 剛好對應圖2中的6組8bit信源, 其中, 每個(gè)空間包中前6個(gè)字節是包主導頭信息, 隨后2字節是包副導頭信息, 最后一個(gè)字節是信源信息。經(jīng)過(guò)驗證之后, AOS空間包的仿真結果符合格式要求且完全正確。
4、結語(yǔ)
通過(guò)對本文中在Visual C++軟件平臺下對8bit隨機信源按照AOS空間包統一格式的封裝設計與仿真, 經(jīng)過(guò)設計與仿真之后, AOS的空間包仿真結果完全符合空間包格式要求, 并且沒(méi)有出現一點(diǎn)錯誤, 證明我們的設計與仿真是完全正確的, 這樣的結果達到了航天器上的數據源能夠在同一條虛擬信道中傳輸的統一標準。
圖2 6組隨機產(chǎn)生的8bit信源的仿真結果
圖3 AOS空間包的仿真結果
參考文獻
[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é)議中自適應幀生成算法的研究.宇航學(xué)報, 2011, 32 (5) :1171-1178.
[4]肖俊宇, 吳為勝.由淺入深學(xué)C++[M].北京:電子工業(yè)出版社, 2011.
[5]謝賢芬.21天學(xué)通Visual C++[M].2版.北京:電子工業(yè)出版社, 2001.