首页> 中国专利> 一种基于功率控制的Ad Hoc网络MAC层信道分配方法

一种基于功率控制的Ad Hoc网络MAC层信道分配方法

摘要

本发明公开了一种基于功率控制的无线MAC层信道分配方法,属于Ad Hoc网络领域。多信道Ad Hoc网络中,网络节点使用两个收发器,一个固定于控制信道,另一个在不同数据信道之间跳转。采用最大功率在控制信道传输RTS帧和CTS帧,采用最小功率在数据信道传输DATA帧和ACK帧。最小功率根据接收节点可正确接收并解码的最小接收功率门限计算得出。将同一冲突域内所有节点的发送功率分为不同等级,然后根据最小功率所在的等级选择相应数据信道,从而将发送功率差异较大的链接分配于不同信道,可缓解同一信道中非对称链接的不利影响,提高网络吞吐量及单位能耗吞吐量。本发明的具体实现CAPC协议,可作为Ad Hoc网络节点设备选择信道的MAC层协议使用。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-02

    授权

    授权

  • 2015-11-18

    著录事项变更 IPC(主分类):H04W52/04 变更前: 变更后: 申请日:20130929

    著录事项变更

  • 2014-02-12

    实质审查的生效 IPC(主分类):H04W52/04 申请日:20130929

    实质审查的生效

  • 2014-01-08

    公开

    公开

说明书

技术领域

本发明属于Ad Hoc网络领域,涉及一种无线网络MAC层信道分配方法。

背景技术

Ad Hoc网络是一种无线自组织网络,具有无中心、拓扑动态变化和资源、能源受限等特点,广泛应用于个人通信、商业应用和军事等领域。Ad Hoc网络的MAC层协议允许同一干扰域中的网络节点在不同信道上并行传输数据,但是,由于Ad Hoc网络节点采用分布式协商的方法分配信道,不可避免带来较多的网络数据包冲突,造成网络吞吐量和单位能耗吞吐量均较低等缺点,这可以通过改进网络的MAC层协议来缓解。MAC层协议主要解决如何在相互竞争的用户之间分配无线信道问题,即无线节点选择接入哪一个无线信道来发射数据帧。在MAC层协议设计中引入基于功率控制的信道分配方法,根据发送节点和接收节点间的距离以及信道状况选择最优的发送功率,可减少隐藏终端问题,降低不同传输间的干扰,从而提高网络吞吐量,并减少网络能量消耗。

基于功率控制的MAC层信道分配方法具有较好的网络性能,但功率控制的具体方式需要精心设计。DCA-PC(Dynamic Channel Allocation–PowerControl)协议(Yu-Chee Tseng,Shih-Lin Wu,Chih-Yu Lin,Jang-Ping Sheu.AMulti-Channel MAC Protocol with Power Control for Multi-Hop Mobile Ad HocNetworks.The Computer Journal.2002,45(1):101~110.)较早将功率控制引入信道分配方法,该协议以最大功率传输RTS帧和CTS帧,然后顺序选择空闲数据信道,根据节点间距离计算最小功率来发送DATA帧和ACK帧。该协议将功率控制与信道分配相结合,两种机制独立执行,互不影响,协议结构简单有效。DPL(Distributed Power level)协议(Khaled Hatem Almotairi.Distributed PowerControl and Medium Access Control Protocol Design for Multi-Channel Ad HocWireless Networks.Waterloo,Ontario,Canada,2012)采用面向数据包粒度的动态信道分配方法,根据数据包发送功率的不同来选择不同的数据信道。同时,为了降低非对称链接对网络性能的影响,任何节点在同一信道上发送数据时均采用同样大小的功率值。

以上协议中数据信道选择并不依赖于数据包发送功率,数据包发送功率的选取也不依赖于数据信道选择,这导致同一信道中非对称链接问题较为严重,造成隐藏终端问题,影响网络性能。在基于功率控制的信道分配方法中,如能将数据信道选择与发送功率结合起来,并根据节点间距离来选择节点发送功率,进而确定应选择的数据信道,则有助于减少网络的隐藏终端问题,提高网络性能。下面介绍节点间距离和节点发送功率之间的关系。

当某节点处于发送节点或接收节点的传输范围内时,该节点可以正确接收包,因而可以根据包中的数据传输时间退避相应时长。当一个节点仅处于发送节点或接收节点的载波侦听范围内,而不能正确解析包时,该节点只退避一个EIFS时长。传输范围及载波侦听范围均与发送功率大小有关。

在基于功率控制的信道分配方法中,当采用较小功率发送数据时,需保证数据的接收功率大于等于接收节点的接收门限。同时,节点的接收功率还须满足公式(a),即当节点A采用最小功率向节点B发送数据时,要保证数据正确接收,数据接收功率与干扰信号接收功率Pintf和噪声功率Pnoise之和的比值应大于等于某个值,该值称为信号干扰噪声比门限,用符号TSINR表示。否则接收数据将与干扰信号产生碰撞,导致通信失败。

>Precv(B)Pnoise+PintfTSINR---(a)>

公式(a)中,由于噪声功率Pnoise相对于其它节点产生的干扰信号接收功率Pintf较小,可忽略不计。为保证有效接收数据,在最坏情况下,接收功率与干扰信号接收功率的比值等于TSINR,即可得到公式(b)。

>Precv(B)Pintf=TSINR---(b)>

根据无线信号的自由空间衰落模型,节点A的发送功率和节点B的接收功率满足公式(c)。

>(Ptrans(A)GPrecv(B))1a=d(A,B)---(c)>

其中,a是路径衰减系数,G为天线增益。

假设网络中只存在单一干扰节点,如该节点采用最大功率Pmax发送数据时,导致某接收节点无法正确接收数据,则称干扰节点在此接收节点的干扰范围内。当干扰节点在接收节点的干扰范围边界时,根据公式(c),干扰半径dintf满足公式(d)

>dintf=(PmaxGPintf)1a---(d)>

将公式(b)、(c)代入公式(d),可得公式(e)

>dintf=(Ptrans(A)GPmaxTSINRPrecv(B)Ptrans(A))1a=d(A,B)(PmaxTSINRPtrans(A))1a---(e)>

由公式(e)可知,当收发节点间距一定时,发送节点的发送功率和信道中最大干扰功率的差异越大,接收节点干扰范围越大。当干扰节点的数据发送功率取得最大值时,节点的干扰半径大于CTS帧的传输半径,从而产生隐藏终端的现象,导致数据重传,影响网络整体性能。

发明内容

本发明要解决的技术问题是基于功率控制,提出一种Ad Hoc网络MAC层信道分配方法,本方法的具体实现称为CAPC(Channel Assignment with PowerControl)协议,与典型的基于功率控制的信道分配协议DCA-PC协议相比,该协议能够提高网络吞吐量和单位能耗吞吐量。

网络节点使用两个收发器,一个固定于控制信道,另一个在不同数据信道之间跳转。采用最大功率在控制信道传输RTS帧和CTS帧,采用最小功率在数据信道传输DATA帧和ACK帧。最小功率根据接收节点可正确接收并解码的最小接收功率门限计算得出。将同一冲突域内所有节点的最小功率分为不同等级,每个等级对应一个数据信道,然后根据最小功率所在的等级选择相应数据信道。由于发送功率差异较大的链接被分配于不同信道,因此可以缓解同一信道中非对称链接的不利影响,减少可能的碰撞,从而提高网络吞吐量及单位能耗吞吐量。

本发明的具体技术方案如下:

将Ad Hoc网络的多个信道划分为一个控制信道和n个数据信道,数据通信由发送节点发起,数据信道的选择由接收节点确定。每个节点有两个无线收发器,一个收发器固定于控制信道,另外一个收发器在多个数据信道中跳转。每个节点都维护一张信息表,节点接收所有邻居节点发出的控制信息,将控制信息中包含的邻居节点发送功率、当前收发状态,以及所有数据信道忙闲状态保存到自身信息表中。

节点采用最大功率在控制信道发送控制信息,采用最小功率在数据信道发送数据信息,最小功率Pmin根据接收节点可正确接收并解码的最小接收功率门限计算得出,如公式(f)所示:

>Pmin=PrecvPtransRTSPrecvRTS---(f)>

其中Precv为最小接收功率门限,为RTS帧中携带的发送功率值,为收到的RTS帧的实际功率。

将同一冲突域中节点的最小功率平均划分为n个等级,每个等级为一段功率范围。按照信道号,将每个等级唯一对应于一个数据信道。节点通信时,发送节点将每个信道的当前发送功率范围、自身发送功率值填充到RTS帧中,并发送给接收节点;接收节点根据RTS帧中信息和接收到RTS帧的功率值计算最小功率,确定最小功率从属的功率等级,然后找到此等级对应的数据信道;如该信道空闲,即选择该信道进行通信,并将信道号和该信道对应的功率通过CTS帧发回给发送节点,从而完成信道分配;如该信道繁忙,则将此信道号加1,然后判断其是否空闲;如当前信道已经为第n号信道且繁忙,则节点等待;节点在每次发送数据之前均重新计算最小功率,该方法适用于节点位置动态变化的网络;

本发明的有益效果在于,在Ad Hoc网络MAC层各节点通信中,将不同功率值分配到不同信道上,通信节点自行计算数据包发送功率,进而选择该功率对应的信道,可以有效降低冲突,提高信道利用率。与DCA-PC协议相比,采用本方法的CAPC协议在网络吞吐量和单位能耗吞吐量方面具有优势。

附图说明

图1是本发明的工作流程图。

图2是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比网络吞吐量随发包速率变化情况。

图3是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比网络吞吐量随包大小变化情况。

图4是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比网络吞吐量随移动节点个数变化情况。

图5是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比网络吞吐量随信道数目变化情况。

图6是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比单位能耗吞吐量随发包速率变化情况。

图7是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比单位能耗吞吐量随包大小变化情况。

图8是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比单位能耗吞吐量随移动节点个数变化情况。

图9是本发明的具体实现CAPC协议与DCA-PC协议的仿真曲线图,对比单位能耗吞吐量随信道数目变化情况。

图中:1CAPC协议;2DCA-PC协议。

具体实施方式

以下结合发明内容和说明书附图详细说明本发明的具体实施例。

实施例

图1为本发明的工作流程图。在Ad Hoc网络中,节点A向节点B发送一个数据包,按照如下流程进行。

步骤一:节点A向节点B发送数据之前,先根据信息表判断如下三个发送条件是否满足:

(1)节点B在TDIFS+TRTS+TSIFS+TCTS+2τ时间之后是空闲的,如果信息表中不存在节点B的记录,则该条件自动满足;

(2)至少存在一个数据信道在TDIFS+TRTS+TSIFS+TCTS+2τ时间之后是空闲的;

(3)控制信道在TDIFS时间之后是空闲的。

以上三个条件都满足时,节点A以最大功率发送RTS帧;否则节点A需要等待,直到三个条件都满足,才发送RTS帧。

步骤二:节点B收到RTS帧之后,需要计算最小功率。为保证数据接收时,信号强度达到接收节点的最小接收功率门限,节点B根据公式(f)计算出发送节点需要的最小功率Pmin。计算完成Pmin之后,节点B更新自身信息表中的最小功率。

步骤三:节点B将Pmin与自身信息表中保存的发送功率值比较,根据Pmin所在等级选择一个数据信道。如果该信道在TSIFS+TCTS+τ时间之后可用,则回复CTS帧,并在其中包含所选信道号和最小功率值;如果该信道不可用,则将信道号加1,继续判断该信道是否空闲;如当前信道已经是最大编号信道且繁忙,则根据最早可用信道计算等待时间,回复拒绝发送的CTS帧。

步骤四:节点A发送完RTS帧之后,等待TSIFS+TCTS+2τ时间,如果在此时间内未收到节点B回复的CTS帧,则回到步骤一,如果收到CTS帧,则判断其内容。如果CTS帧指明允许发送,则采用接收节点B选定的信道和功率传送数据,并在TSIFS时间之后广播RES帧,在其中说明占用的信道号和采用的功率值。如果不允许发送,则读取CTS帧中包含的等待时间,等待相应时间之后再次尝试发送RTS帧,转到步骤一。

步骤五:邻居节点在控制信道接收到RTS帧、CTS帧、RES帧等控制帧之后,读取控制帧中包含的邻居节点及数据信道使用信息,然后更新信息表中相应的记录。

步骤六:节点A发送完数据后,等待TACK+TSIFS+2τ时间,如果在此时间内未收到节点B回复的ACK帧,则转到步骤一,再次预约数据信道。

上文中各参数含义如表1所示:

表1 参数含义

对比例

利用NS2仿真平台,从网络吞吐量和单位能耗吞吐量两个方面,对比CAPC和DCA-PC协议的表现,仿真参数如表2所示。

表2 仿真参数

第一组实验选取的移动节点个数为60,数据包大小为1024字节,信道个数为5,比较发包速率变化时,CAPC协议和DCA-PC协议的网络吞吐量变化情况,如图2所示。当发包速率在0~1001千位每秒变化时,两种协议下网络总吞吐量均呈上升趋势,直到接近饱和。CAPC协议的表现好于DCA-PC协议,这是因为DCA-PC协议中非对称链接的存在导致数据接收碰撞,产生重传,对吞吐量造成影响;而CAPC协议有效减少了非对称链接的数量,降低了碰撞发生次数,提高了网络吞吐量。

第二组实验选取的移动节点个数为60,发包速率为100千位每秒,信道个数为4,比较包大小变化时,CAPC协议和DCA-PC协议的网络吞吐量变化情况,如图3所示。可以看出,当发包速率变化时,CAPC协议的总吞吐量始终高于DCA-PC协议,且数据包越大差异越明显。当继续增大数据包大小时,由于数据信道容量限制,两种协议的网络总吞吐量均接近饱和,CAPC协议的饱和吞吐量比DCA-PC高大约20%。

第三组实验选取数据包大小为512字节,发包速率为1000千位每秒,信道个数为5,比较节点个数变化时,CAPC协议和DCA-PC协议的网络吞吐量变化情况,如图4所示。当节点数目在30-70范围内变化时,两种协议的网络总吞吐量均呈上升趋势。这是因为节点个数越多,网络信道利用率越高,吞吐量也就越大。CAPC协议表现明显好于DCA-PC协议,因为CAPC协议根据发送功率将数据包分配于不同数据信道,减少了冲突,充分利用了信道资源。

第四组实验选取数据包大小为512字节,发包速率为100千位每秒,移动节点个数为60,比较信道数目变化时,CAPC协议和DCA-PC协议的网络吞吐量变化情况,如图5所示。从图中可以看出,当信道个数在3-7范围内变化时,DCA-PC协议网络总吞吐量基本保持不变,而CAPC协议中网络总吞吐量则呈明显上升趋势。由于DCA-PC协议顺序选择数据信道,同一信道中多个发送节点的数据发送功率差异较大,因而存在大量隐藏终端问题,这导致较多通信节点对集中选择一部分信道,因此冲突较大,并且信道个数的增加对吞吐量的提升作用不大。而CAPC协议根据信道个数将发送功率分为不同等级,选择对应的不同信道,可以最大化利用信道资源,当信道个数增加时,网络总吞吐量也有明显提升,表现好于DCA-PC协议。

第五组实验选取移动节点个数为60,数据包大小为1024字节,信道个数为5,比较发包速率变化时,CAPC协议和DCA-PC协议的单位能耗吞吐量变化情况,如图6所示。随着发包速率增加,两种协议的单位能耗吞吐量均呈上升趋势,直到接近饱和。CAPC协议表现好于DCA-PC协议,这是因为CAPC协议中,数据包根据发送功率被分配于不同信道,降低了因非对称链接引发的碰撞问题,提高了传输成功率,因此单位能耗吞吐量始终较大。

第六组实验选取移动节点个数为60,发包速率为100千位每秒,信道个数为5,比较包大小变化时,CAPC协议和DCA-PC协议的单位能耗吞吐量变化情况,如图7所示。从图中可以看出,对于两种协议,数据包大小增加时,单位能耗吞吐量略有增加,逐渐趋近饱和。这是因为数据包越大,数据信道利用率越高,因碰撞产生的能量损耗越小,所以单位能耗吞吐量逐渐提升。同样因为CAPC协议能够将不同功率的连接分配于不同信道,较大程度避免了非对称连接产生的碰撞损耗,节省了重传需要的能量,因此表现好于DCA-PC协议。

第七组实验选取数据包大小为512字节,发包速率为1000千位每秒,信道个数为5,比较节点数目变化时,CAPC协议和DCA-PC协议的单位能耗吞吐量变化情况,如图8所示。由于网络负载较重,当节点个数增加时,总吞吐量有所增加,但是此时网络比较拥挤,因碰撞产生的重传能量消耗更大,能量消耗增长的速度超过吞吐量增加的速度,因此两种协议的单位能耗吞吐量均呈下降趋势。但是,相对于DCA-PC协议,CAPC协议能够尽可能避免冲突,减少能耗,因此其单位能耗吞吐量仍旧始终好于DCA-PC协议。

第八组实验选取数据包大小为512字节,发包速率为100千位每秒,移动节点个数为60,比较信道数目变化时,CAPC协议和DCA-PC协议的单位能耗吞吐量变化情况,如图9所示。图中可以看出随着信道个数增加,DCA-PC协议的单位能耗吞吐量基本无变化,而CAPC协议则持续增大。这是因为DCA-PC协议中节点选择数据信道时,是顺序选择,而大量存在的隐藏终端导致所有节点选择的数据信道集中于某几个信道,所以信道个数的增加对实验结果的影响不大。而CAPC协议中,则根据信道个数将发送功率进行分级,从而最大化利用信道资源,所以单位能量利用率随信道个数的增加而增大。

综上所述,采用本发明提出方法的CAPC协议,在网络吞吐量和单位能耗吞吐量等方面,均优于DCA-PC协议。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号