文献标识码: A
文章编号: 0258-7998(2013)07-0089-04
ADS-B技术[1]是未来航空监视的主要手段之一,它以地空/空空数据链为通信手段,以导航系统及其他机载设备产生的信息为数据源,由具有 ADS-B功能的飞机将自身的位置、速度等SV(State Vector)信息周期性对外广播,地面站和其他飞机接收这些报文,进行飞机间的通信和监控。
随着飞机性能和数量的提高,ADS-B应用不断升级[1],对其覆盖范围有了更高要求。移动自组网(Ad-Hoc)技术能有效解决这一问题。Ad-Hoc是一种自组织的无线多跳网,组网无需固定路由器,所有节点均移动,并能以任意方式动态地与其他节点保持联系。在航空Ad-Hoc网络中,由于数据链覆盖范围有限导致两个无法通信的飞机可借助其他节点转发进行通信,扩大了ADS-B的覆盖范围。
由于Ad-Hoc采用共享无线信道方式工作,过多节点竞争有限的无线信道,增加了发生碰撞的概率。为减少共享相同信道的节点数目、降低碰撞概率、提高信道利用率,须对移动节点进行分簇[2-4],以提高通信质量。
本文提出了一种基于ADS-B 报文,综合移动性、位置、节点度特点,采用权值进行评估的分簇算法。
图1为航空Ad-Hoc网,簇内飞机可直接通信,簇间飞机通过网关通信,相隔太远的簇借助基站中继转发进行通信,为增强信道利用率,通过簇头将信息转发给基站。
1 传统分簇算法
目前存在很多分簇算法,算法直接影响簇的稳定性、大小以及节点担任簇头的时间,从而影响生成簇和维护簇所需开销[2-3,5]。
最大连接度算法[2]尽可能减少了路由器的数目。其思想是,节点间通过交换控制信息得到邻居节点的数目,该节点和其邻居节点中具有最大度的被选为簇头,度数相同时,选ID最小的作为簇头,簇头的一跳邻居节点为该簇普通成员。其优点是簇数目较少,减少分组投递时延,但信道空间重用率较低。
最低移动性算法[2-3]尽量保持了簇结构的稳定性,其思想是节点的移动性越高,其权重越低,选最高权重的节点作为簇头。该算法需要一种机制来量化节点的移动性,简单的方法是通过节点间相对速度绝对值的时间平均来衡量节点的相对移动性。
基于地理位置的算法[2-3]是按地理区域划分簇结构,使地理位置上较靠近的节点组成簇。其思想是节点通过交互位置信息确定本地的网络拓扑,然后依据邻居节点的分布来选择簇头并形成簇。此方法可减少簇头和簇内节点间通信的总功率和平均传输时延,但并非所有节点都可获得节点位置信息。
以上算法往往只考虑系统中节点的某一特性,应用场合受限,簇的性能较差。由于飞机高速移动和方向不定,不能只考虑某一因素。飞机周期性发送ADS-B报文,其携带飞机SV[1]信息,因此,本文提出一种基于ADS-B报文的分簇算法,将以上几种传统算法进行加权来进行成簇和簇维护。
2 基于ADS-B报文的分簇算法
在成簇算法中,由于网络拓扑动态变化[2],需维护节点的角色信息,如:簇头、簇成员、孤儿和NULL。簇成员是簇的基本节点,实现簇内节点的基本通信,属于不同簇的簇成员,又叫网关节点,用于簇间通信。簇头管理其相应的簇和形成(包括接收一个节点作为成员),并掌握其所有簇内成员的信息。孤儿节点是一个独立节点,不属于任何簇。在初始成簇之前,所有节点都处于NULL状态,需进行成簇过程。当节点不处于NULL状态时,进行簇维护。
初始成簇阶段的目的是选簇头,并初始化簇的成员关系。此时,已在一个簇中的节点可能离开所在的簇加入别的簇,而簇头可能进入别的簇头的范围或被毁,簇维护是对初始簇形成后上述事件的补救。
下面将描述所提出的成簇算法,包括成簇采用的度量、成簇算法和簇维护。
2.1 簇的度量权值weight的定义
分簇算法要求簇能很好地适应网络拓扑的动态变化,在航空网络中,由于飞机高速移动,移动方向不定,飞机的移动性对簇的稳定性有很大影响。同时位置信息反映邻居节点间的距离,通过位置信息和节点度能很好地选择簇头,防止选择边缘节点作为簇头造成簇的不稳定。因此,本文提出一种基于多种因素的权值计算方法,权值为:
根据权值分簇算法的策略需要, 移动节点需维护一些信息, 用来完成链路保持、 簇头选择及簇的更新维护工作。此算法中,每个节点需维护两个表:自身信息表(见表1)和邻居节点信息表(见表2)。
2.2 成簇算法描述
(1)初始化每个节点的信息表和邻居节点信息表。节点开始处于NULL状态,通过接收邻居节点ADS-B报文,与邻居节点交互hello消息,对表进行初始化;通过周期性交换ADS-B报文,节点n记录自己的度数dn。
(2)每个节点计算其度数与理想节点度Dideal之差,即Dn=|dn-Dideal|。
(3)每个节点通过收到的ADS-B报文计算LET,计算自己与邻居节点的相对移动性Mn。
(4)每个节点通过收到的ADS-B报文计算自己与邻居节点的平均距离DSn。
(5)每个节点计算权值Wn=a×k×Mn+b×w×Dn+c×r×DSn;之后将自身信息组成hello消息随ADS-B报文周期性向邻居节点广播。
(6)相邻节点收到hello消息携带的Wn后依次进行
比较,选其中Wn最小的节点为簇头,若Wn相同,则选ID最小的节点为簇头,成为簇头的节点向周围广播簇头消息,携带自身ID、Wn、节点度、簇头状态,宣布自己成为簇头。
(7)邻居节点第一次收到簇头广播的簇消息时,将自身状态由NULL设为簇成员,并广播自身状态,携带自己和簇头的ID,声明已成为某一簇的成员(一个簇成员可同时处于多个簇中,这种成员被标识为网关节点)。
(8)与所有邻居节点不连通,或不能成功加入任一簇的节点被标识为孤儿节点。
(9)重复步骤(2)~(8),直到所有节点状态标识完。
2.3 簇维护
在Ad-Hoc网络中,节点移动造成拓扑频繁改变,簇维护的目的是维持拓扑和簇的稳定,包括节点管理和簇管理。
2.3.1 节点管理
(1) 节点加入
节点加入存在两种情况,即孤儿节点和新节点的产生(如某一节点刚开机);分簇后,不属于任一簇的节点被标识为孤儿节点。孤儿节点和新开机节点均随ADS-B报文周期性向邻居广播加入信息join_request,携带自己的ID和状态(孤儿或NULL),邻居簇头收到join_request和ADS-B信息后,据ADS-B判断此节点是否符合条件(通过移动性、位置判断),若判断为满足加入,簇头需检查自己的度的门限值(与理想度相差不能大于某一值或等于理想节点度的2倍)判断是否接受新节点:如果能则向请求节点发送确认加入信息Join_response,携带自身基本信息,请求节点收到Join_response后修改状态为簇成员,并向周围广播簇成员信息;若不符合条件,则簇头不做响应;若节点发出join_request超出门限时间后未收到Join_response,则认为自己不能加入任何簇,更新状态为孤儿节点。
(2)节点移动或消失
此处节点采用分步式自动判断自身状态,如果簇成员一段时间内不能收到簇头的ADS-B消息,则判断自己已远离此簇,修改状态为孤儿节点;如果簇头一段时间不能收到某个成员的ADS-B消息,则判断此节点已经离开本簇,将节点信息从簇成员表中删除;如果簇头节点一段时间内收到簇成员的ADS-B报文数目小于收到的新节点的信息数目,则判断已脱离原来簇成为普通节点,设置其状态为孤儿状态,向周围广播join_request,旧成员节点收到簇头join_request后,修改自身状态为孤儿节点,向周围广播join_request。
2.3.2 簇管理
(1)簇消失:簇头消失或移动为簇消失,解决方法与节点移动的处理方法相同。
(2)簇合并:每个簇有一个最高节点度(设为理想度的2倍),由于簇头在广播自身信息时携带了自身簇成员数,处于两簇间的网关节点,根据收到的多个簇的簇成员数进行计算,若合并后簇的成员总数不超过门限值,则通过两个簇头的Wn选择出新的簇头,向两簇头发送合并信息,包含自身ID、两端簇头ID、簇头的Wn、每个簇的成员数量,簇头收到信息后,向自己的簇成员发送合并信息,其中携带新簇头ID,完成两簇的合并。
3 性能评估
为准确刻画算法性能,需用仿真对4种算法进行比较。借助NS-2仿真以上算法。在150×150海里的区域内随机放置200架飞机,飞机移动方向在(0,2?仔)内随机分布,由于救灾场景下低空飞机速度为400 km/h-500 km/h,因此移动速度在400 km/h~500 km/h间随机选择,飞机间采用UAT数据链[7],仿真时间为5 min。主要采用以下衡量指标:簇头数C、单位时间内节点重新加入簇的次数J(节点移动)。4种算法都采用按需更新策略。
通过调整UAT数据链的覆盖范围,查看飞机传输范围对簇头数的影响,覆盖范围从20~120海里以10递增变化;通过修改权重因子,查看其对算法的影响。仿真结果如图2所示,LOWMOBILE为最低移动性算法,HIGHT为最高节点度算法,GP为基于位置算法,ADSW和ADSW1为基于ADS-B报文的权值分簇算法。前者,ideal=10,a=0.7,b=c=0.2;后者,ideal=7,a=0.4,b=c=0.3,可比较不同权重因子的ADSW性能。从图2可知,所有算法中簇头数随数据链覆盖范围的增加而减少,逐渐趋于1,当传输范围大于60后,变化速率逐渐降低,此结果符合预期,UAT覆盖范围越大,节点传输范围越大,簇的覆盖越大。此外,还可看出ADSW的簇头数小于其他几种算法,因为ADSW对簇头节点有限制,每个簇内成员分布较均衡,且ADSW1稍高于ADSW,因为其权重因子b更大。
观察UAT传输范围对节点重新加入簇的次数影响,即簇的稳定性,场景配置与以上相同,仿真结果见图3。由图3可知,所有算法中节点重新加入簇的次数J随传输范围的增长而逐渐减小。UAT传输范围较低时,簇数目较多,簇内节点数目少,甚至只有一个簇头,此时节点离开原簇概率很小。当传输范围逐渐增大后,J逐渐增加并在传输范围为70海里左右达到最大,随后又开始下降,因为簇覆盖范围增大时,节点移出原簇的概率随之下降;此外,还可看出,ADSW稳定性高于ADSW1,因为ADSW的权重a更大,飞机的移动速度对于簇的稳定性影响较大。
本文在对已有分簇算法进行分析的基础上,结合航空网络特性提出了基于权值的成簇算法。该算法利用航空网络中的ADS-B应用,综合考虑移动节点的三个因素,适合新航行系统中作战或救灾场景下飞机共同完成任务需组建的Ad-Hoc网络。通过仿真结果可见,综合考虑各种因素考虑,提高了成簇速度,减少了簇数目,节点加入新簇的次数趋于平缓,增强了簇的稳定性。适用于新航行系统中承载ADS-B应用和飞行速度、方向不定的航空场景。
参考文献
[1] 张军. 现代空中交通管理[M].北京:北京航空航天大学出版社,2005.
[2] 郑少仁,王海涛,赵志峰,等.Ad-Hoc网络技术[M].北京:人民邮电出版社,2005.
[3] 何献武.基于节点位置和移动性的分群算法[J].四川兵工学报,2011,32(4):60-64.
[4] 雒宝宏,杨瑞娟,马晓岩,等.基于群限制的 Ad Hoc 网络多跳分群算法[J].计算机工程,2008,34(17):120-122.
[5] 袁晓晶,张军,黄智刚.空基与星基组合监视系统中的ADS-B分群算法[J].电讯技术,2007,47(1):82-85.
[6] Su William, LEE S J, GERLA M. Mobility prediction in wireless networks.0-7803-6521-6/$10.00(C) 2000 IEEE.
[7] Fei Huang, Zhang Jun, Zhu Yanbo, Liu Wei. Modeling and simulation of an aeronautical sub network based on universal access transceiver[C]. 2008 Asia Simulation Conference-7 Intl. Conf. on Sys. Simulation and Scientific Computing.