基于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.