- tt白
-
移动Ad Hoc网络(MANET,mobile Ad Hoc network)是由一系列移动节点组成的一种自组织网络,它不依赖于任何已有的网络基础设施,网络中的节点动态且任意分布,节点之间通过无线方式互连。Ad Hoc网络可以广泛地应用于战场通信指挥与控制、警察与医疗部门的抢险救灾、传感器网络等众多领域,其战略意义非常重要。
在无线网络中,由于有限的电池寿命,能量是非常珍稀的资源。而Ad Hoc网络主要应用于不能提供固定设施的场合,因此能量利用问题在网络通信中尤其突出[1~4]。采用有效的功率控制不仅能降低网络的能量消耗,而且还能减少用户间的相互干扰并增大资源的利用率。
当前Ad Hoc网络的功率控制技术研究主要集中在两个方面,即网络层的功率控制和链路层的功率控制。网络层的功率控制所关心的问题是如何通过改变发射功率来动态调整网络的拓扑结构和选路,使全网的性能达到最优。而链路层的功率控制主要通过MAC协议来完成,根据每个报文的下一跳节点的距离、信道状况等条件来动态调整发射功率。相对于网络层的功率控制,链路层的功率控制是一种经常性的调整,每发送一个数据报文都可能要进行功率控制;而网络层的功率控制则是在一个较长的时间内才进行一次,调整频率较低。本文主要研究在链路层进行功率控制来提高信道空间复用度并节约电池能量。
在不同功率网络(a heterogeneous network)[5]中,低功率节点的吞吐量受高功率节点影响而减少。因为高功率节点侦听不到低功率节点的控制信号,因此它发出的控制信号会干扰低功率节点的数据接收。虽然减少了传输功率但是也降低了系统性能。
如果采用最大功率发送RTS和CTS控制包,而用最小功率来发送DATA包,这样会引起在载波侦听范围内的节点[6](即能正确接收控制包而不能接收DATA包的节点)与接收节点之间的冲突。因此会导致重传,不但影响了系统性能也会产生更多的能量消耗。
CRPC(Continuous RTS Power Controlled)协议[7],用最近两次数据传输中的ACK包的发送和接收功率来估计源节点和目的节点之间的距离和信道增益,从而估算出发送RTS包使用的功率。但由于节点的信息发送是突发性的,而且下一个通信节点并不能预先估计,因此这种估计带有一定的盲目性。
PCMA(power controlled multiple access)协议[8],其思想是:接收端在接收数据的同时在忙音信道上发送忙音信号,其它节点通过监听忙音信号的强度来控制节点的发射功率,从而减少各节点发射* 收稿日期:2005-04-19 修订日期:2005-12-04
基金项目:国家自然科学基金(60472053);高等学校博士学科点专项科研基金(20030286017); 江苏省基础研究(BK2003055); 江苏省高技术
研究项目(BE2005001);江苏省科技攻关项目(BE2004008).
第4期 顾燕等:移动Ad Hoc网络中的一种功率控制MAC协议 113 数据时的相互干扰,并提高网络的吞吐量。PCMA协议的缺点是它的不公平性,即对短距离的通信(用较小功率发送)有利,而长距离的通信由于更容易受到忙音信号的限制而总是难以成功。
本文提出一种新的功率控制MAC协议,通过在两个通信节点之间RTS和CTS控制包中的信息交换来决定数据包DATA和ACK的发送功率。而邻节点根据侦听到的CTS包中含有的冗余功率值来限制其RTS包的输出功率,从而减少控制包与数据包之间的干扰。通过仿真说明了该协议可以减小系统的平均发送功率,而保持网络的吞吐量性能。
2 功率控制MAC协议
在Ad Hoc网络中,采用功率控制的目的主要是在保持信噪比SINR的前提下,通过调整发送节点的信号发射功率,来提高信道的空间复用度,降低对邻近节点的干扰,同时降低发送节点的功率消耗,并最终降低系统的能耗。
本文提出的功率控制MAC协议是在IEEE 802.11 MAC协议基础上进行改进,旨在限制节点发送信息包RTS、DATA和ACK的功率,减少冲突。主要思想为:当节点接收到RTS包后,通过在响应的CTS包中设置一个冗余功率值来限制其它邻节点发送RTS的容许功率,该CTS包是以最大功率发送的。冗余功率是指该节点能正确接收数据包并解码所能容纳的除环境噪声和干扰噪声之外的最大噪声功率。因为接收节点通过发送CTS来预留信道,因此必须以最大功率发送才能较好地避免冲突和干扰。另外,当节点接收到发给自己的RTS包时,还可以根据接收功率值和当前检测到的噪声功率,在保证接收信噪比SINR的前提下,计算发送节点传输数据包DATA所需要的最小功率Pt-DATA,并将该Pt-DATA值包含在CTS包中发给发送节点。这样发送节点就以功率Pt-DATA来发送DATA,而接收节点也以功率Pt-DATA来返回ACK。
文章假设一对节点发送和接收时信道增益G相同。由于节点移动速度相对于数据传输速率较小,假设在节点发送接收时间内节点间距离不变,因此信道增益G的变化较小,可以不考虑。
为了在控制包中交换功率信息,作者考虑改变控制包格式。在RTS包中增加“Tx Power”域,为字节 2 2
Duration 6 Receiver
Address 6 Transmitter Address 4 4 Tx PowerFCSRTS包的当前发送功率,如图1所示。 在CTS包中增加“Tx Power”和“Redundant Power”两个域,分别为设定的数据包的发送
功率值和接收节点的冗余接收噪声功率值,如
图2所示。 Frame Control 图1 RTS的帧格式
本协议的具体执行步骤如下:
1)空闲节点A载波侦听到发给其它节点的CTS控制包时,从包中取出冗余功率值Pn,计算容许发送功率Pt。由于CTS包是以最大功率Pmax发送的,根据假设,节点发送和接收时的信道增益相同,
字节 2 2 6
Receiver
Address 4 Tx Power 4 4 FCS因此增益G为: G=Pr?CTSPn (1) =PmaxPtDuration Control RedundantPower
图2 CTS的帧格式 其中Pr-CTS是节点A接收到的CTS的功率值。
由于节点A可能接收到多个CTS包,因此
在发送自己的RTS包时它取最小的Pt值作为自己的发送功率Pt-RTS,并将Pt-RTS值放在RTS包的“Tx Power”域中。
??Pn?Pmax?? Pt?RTS=min?i? (2) iP??r?CTSi??
当载波检测到信道空闲并且满足条件Pmin≤ Pt-RTS ≤Pmax时,节点A就可以发送RTS包,否则就不能发送,以免与其它节点接收的数据包产生冲突。
2)当节点B接收到节点A发给自己的RTS时,通过接收功率Pr-RTS和当前检测的噪声功率值PN,
114 电路与系统学报 第11卷 在保证接收信噪比SINR的前提下,计算冗余接收功率Pn和节点A发送DATA包的功率Pt-DATA。
由于信道增益GB可由RTS包的发送和接收功率求得:
P GB=r?RTS (3) Pt?RTS
而节点B可以正确接收,并且满足接收信噪比门限要求的最小功率值为:
P1=max{PN?(1+α)?SINRth,Pr?th} (4) 其中α为噪声冗余系数,SINRth为信噪比门限,Pr?th为最低接收功率门限。
因此节点A用于发送数据包DATA的最小功率值为:
P Pt?DATA=1 (5) GA
Pt-DATA是确保节点B接收到的数据包能正确解码,并且满足信噪比门限的最小发送功率值。这样,节点B的冗余接收功率值就为:Pn=α?PN (6)
当满足Pmin≤ Pt-DATA ≤Pt?RTS时,节点B就将Pt-DATA和Pn包含在CTS包中发出。数据包的发送功率小于RTS发送功率是为了避免数据包的传输与暴露终端产生冲突。
当节点接收到发给其它节点的RTS时,仍然按照IEEE 802.11 MAC协议规定的方式进行退避。
3)当节点A接收到返回的CTS时,就从CTS包中取出Pt-DATA值,并以此来发送数据包。
4)节点B收到数据包DATA后也以功率值Pt-DATA响应ACK。
3 仿真
下面采用opnet网络仿真软件来衡量本文提出的功率控制MAC协议对Ad Hoc网络性能的影响,并将其与IEEE 802.11 MAC协议相比较。本文的仿真主要考察两个属性:端到端吞吐量(End-to-End Throughput)和平均功率消耗(Average Power Consumption)。端到端吞吐量指网络中每秒钟成功接收的总包数(packets/s);平均功率消耗指节点成功发送一个数据包平均消耗的功率(W/packet),其中包含了发送控制包所消耗的功率。