?

基于Visual C++的AOS衛星中轉節點仿真系統設計

2016-10-18 00:55倪軍輝張艷琴路文霞
科技視界 2016年22期

倪軍輝 張艷琴 路文霞

【摘 要】AOS通信系統在空間領域已占據重要地位,相應的仿真技術也得到了迅速的發展,本仿真系統選用多點通信系統中的一個衛星中轉節點作為研究對象,借助Visual C++平臺,根據AOS協議標準,對衛星中轉節點的各模塊進行了設計和仿真實現。

【關鍵詞】Visual C++;AOS;中轉節點

1 AOS衛星中轉節點概述

AOS[1]是一種先進的空間數據通信系統體制標準,它通過建立統一格式的數據流,利用一個信道來傳輸各種不同的信息。AOS衛星中轉節點是多點仿真系統中的一個獨立的節點,它按照AOS系統中的協議標準對上一級衛星節點發送過來的數據進行處理,之后,再把處理完的數據轉發至下一個衛星節點。AOS衛星中轉節點實現了數據的接收、處理和轉發的功能。本仿真系統將衛星中轉節點分成了數據接收、數據處理和數據傳送三個模塊。

2 AOS衛星中轉節點模塊設計

數據接收模塊:用于接收上一級衛星節點發送過來的數據,兩者的通信接口通過Socket來完成。通信協議采用了無連接的UDP協議。具體處理過程:建立套接字Socket S=Socket();利用Bind()綁定端口號;調用Recvfrom()接收上一級衛星發送過來的數據,在接收到數據之前Recvfrom()一直處于阻塞狀態。UDP協議的通信流程框圖如圖1所示:

數據處理模塊:此模塊包括信源數據恢復成員和信源數據再處理成員,其中信源數據恢復成員是用來恢復上一級衛星發送過來的信源數據,而信源數據再處理成員剛好是反過程,即對恢復出來的數據再次按照AOS的協議進行封裝和添加幀同步處理,之后,傳送至下一個衛星節點。

數據傳送模塊:數據傳送模塊是將本衛星節點處理完的數據中轉至下一個衛星節點。通信接口同樣是采用Socket來完成,此模塊是用來發送數據,故基本流程如圖1中的客戶機模式。首先,通過調用Socket()函數創建套接字,然后調用Sendto()函數將待發送的數據發送至下一個衛星節點。

3 AOS衛星中轉節點模塊仿真實現

基于上述原理,借助Visual C++[3],本仿真系統選用了文本和圖像信源,進行了本次實驗,結果如下:

3.1 數據接收模塊仿真圖如圖2所示

點擊圖2中的開始接收按鈕,接收上一級衛星節點發送過來的數據,并把接收過來的數據放于本地的文件之中,信息部分顯示了接收過來的文本和圖片文件存放的路徑信息。

3.2 數據處理模塊和數據傳送模塊的仿真圖如圖3所示

點擊信源數據恢復部分的兩個按鈕,可分別將文本數據和圖像數據恢復成原始信源;之后,點擊信源數據處理部分的兩個按鈕,可將上一個步驟恢復出來的信源按AOS協議的格式封裝成幀,并加入幀同步頭;最后,點擊開始發送按鈕,將添加完幀同步頭的數據發送至下一個衛星節點。

經過實驗仿真驗證,AOS衛星中轉節點可以成功的實現對文本和圖像信源的接收、處理以及發送功能。

【參考文獻】

[1]田野,張子敬,張艷琴.AOS協議中自適應幀生成算法的研究[J].宇航學報,2011,32(5):1171-1178.

[2]肖俊宇,吳為勝.由淺入深學C++[M].北京:電子工業出版社,2011,7.

[3]謝賢芬.21天學通Visual C++(第2版)[M].北京:電子工業出版社,2001,2.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合