靳 勇
(常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)
4G通信技术的快速发展,对通信系统性能提出了更高的要求.而协作通信技术由于融合了多种异构网络的关键技术[1,2],可以在使用较少带宽的情况下提供较高的可靠性[3],成为目前的研究热点,并取得了一系列研究成果[4-8].
文献[4]采用ACK-less基于协作策略的数据传输方法有效地使用网络资源.文献[5]在Nakagami_m信道上推导了适用于任意中继数的协作自动重传请求(CARQ:Cooperative Automatic Repeat Request)误帧率表达式,并证明了CARQ与传统的自动请求重传(ARQ:Automatic Repeat Request)相比具有更好的性能.文献[6]给出了基于网络编码的协作HARQ协议,文献[7]提出了一种无线传感器网络中基于切换与保持节点选择的协同ARQ协议.然而,重传数据会增加往返时延,特别是通过重传数据包来纠正该数据包内几个字节甚至几个比特的错误导致通信效率降低,对于能量受限的传感器节点而言,难以直接使用.因此,文献[8]设计了一种基于2级比例-积分-微分(PID)控制的前向纠错(FEC:Forward Error Correction)码率调整策略,有效改善了实际数据传输速率.虽然FEC通过增加冗余数据提高了数据传输的可靠性,但是传输冗余数据占用了额外的带宽,特别当添加的冗余数据过多时,会浪费有限的WSNs网络资源.
本文在前期研究结果[9,10]的基础上,针对何时协作和与谁协作以及FEC在协作通信网络中难以提供有效的数据传输可靠性的问题,建立了多中继数据协作FEC机制;在网络层采用IPv6协议并根据包头中跳数限制值设定协作传输跳数,同时获得当前数据转发跳数,自适应地调整FEC参数N,对不同的数据帧添加较少冗余数据,在提高资源利用率的同时提高了可靠性.
由前期研究结果[10]可知,传感器节点能耗包括:数据帧发送和接收能耗、传感器节点启动能耗和使用RS编码算法对数据帧的解码能耗.传感器节点采用FEC机制时总能耗EFEC、能效η和误帧率PFEC由公式(1)、(2)和(3)表示.
其中,Estart表示传感器节点启动能耗,Edec表示RS(n,v)编码算法解码能耗.
在不同的数据帧长和通信距离情况下,对FEC的能效进行分析和比较,结果如图1所示.
从图1中可以看出,当数据帧长为750字节和1500字节时,FEC能效随着通信距离增大逐渐减小且数据帧越长能效越高.当端到端通信距离小于40米时能效变化很小,大于40米时能效急剧下降.表明远距离通信时继续采用直接传输方式会浪费过多的能量,严重影响传感器节点使用寿命.
本节根据FEC能效规律,在WSNs中传输数据时设定通信距离门限值DT.当端到端通信距离小于或等于DT时采用直接传输方式,大于DT时进行中继选择采用协作传输方式.
假设发送节点与接收节点间端到端通信距离为Dsr,协作传输跳数记为Hop,中继节点个数为NC,则有公式(4)所示关系.
其中,mod表示取模运算,[Dsr/DT]表示取整运算.若已知Dsr可计算出两节点间最佳中继跳数和中继节点数.根据公式(4)结合公式(1)和(2),可得出在数据帧长为750字节和1500字节时,采用协作FEC机制的能效如图2所示.
对比图1和2可以发现,当通信距离大于40米时,协作通信方式中FEC能效在0.6381和0.7381上下浮动,与传统FEC相比有明显的提高.
图2 协作FEC能效分析
前期研究结果[9]表明,数据帧在传输过程中所经历的跳数越多,消耗的能量越多,则优先级越高,要为其提供更高的可靠性.同时由第1节的分析,可以根据两点间端到端通信距离计算出最佳协作传输跳数.因此在网络层采用IPv6协议,其数据包头格式如图3所示.
IPv6数据包头长度固定为40字节,为IPv4包头长度的两倍,提供的地址长度为IPv4的四倍,并且IPv6数据包头在中转路由器中处理效率更高[11].其中,Hop Limit(跳数限制)占8位,IPv6数据包在路由器之间的转发次数限定包的生命期.数据包每经过一次转发,该字段减1,减到0时就丢弃该数据包.因此,数据帧转发跳数Hop_T可由公式(5)得到.
基于上述分析,本节提出一种基于跳数限制的适用于WSNs的自适应协作FEC机制(CFEC),体系结构如图4所示.图4给出了在WSNs中,采用CFEC机制进行差错控制时发送节点、接收节点和若干中继节点的体系结构.算法描述如下:
步骤(1):分析判断得到发送节点与接收节点间端到端通信距离Dsr,根据公式(4)计算出协作传输所需跳数Hop和中继节点数NC.如果Dsr小于DT,则直接传输;若Dsr大于DT则采用RSSI测距技术[9],选择通信距离小于DT的节点作为下一跳接收节点.
步骤(2):在发送节点,将IPv6数据包头中的Hop Limit赋值为Hop,FEC参数N赋值为Hop+v;即协作传输跳数越多,添加的冗余代码越多,提供的可靠性越高.
步骤(3):在中继节点上,根据公式(5)得到数据帧转发所经历的跳数Hop_T;如果下一跳节点的距离小于DT,采用直接传输,否则,采用RSSI测距技术,选择通信距离小于DT的节点作为下一跳接收节点,同时FEC参数N赋值为Hop_T+v.
步骤(4):NC个中继节点执行步骤(3),直至数据发送至接收节点.
图3 IPv6数据包头结构
图4 CFEC在WSNs中的体系结构
本节采用数学分析的方法对上文提出的自适应CFEC机制(CFEC)与传统FEC在误帧率和能效等方面进行性能分析与评价.仿真参数是基于Cross-bow公司的使用ATmega128L处理器[12]和CC1000射频模块的Mica2型节点的WSNs平台[13],如表1所示.
Mica2节点的误码率(BER:Bit Error Rate)Pb可由公式(6)计算得到.其中,γ是接收端的信噪比,BN是噪声带宽,Rradio是CC1000的数据发射速率.
为便于分析,采用线性WSNs拓扑结构如图5所示.其中,6个传感器节点中有4个为中继候选节点,发送节点S与接收节点R之间通信距离为200米,S向R直线匀速移动.
根据第3节中所提出的自适应CFEC机制以及公式(1)至(6),可得如图6所示的自适应CFEC与传统FEC在误帧率和能效等方面的性能对比结果.从图6(a)中可以看出,自适应CFEC误帧率明显小于FEC,可以提供更高的可靠性.而且,随着发送节点S与接收节点R端到端通信距离的缩小,误帧率也越来越小.从图6(b)中发现,自适应CFEC能效在0.7380上下浮动且均大于0.7379,而FEC的能效在7秒之前始终为零,即接收节点R无法正确接收数据,通信性能很差.综上,本文所提出的自适应CFEC机制采用协作通信方式可以为远距离传感器节点通信提供高可靠性.
图5 线性WSNs网络拓扑结构
表1 参数设置
针对传统FEC机制在无线传感器网络中难以为端到端数据传输提供有效可靠性的问题,首先分析了FEC能效规律,然后建立一种多中继协作FEC机制,根据通信距离为每一个数据帧选择最佳协作跳数,最后根据IPv6数据包头中的跳数限制(HopLimit)值得到当前数据帧转发跳数,自适应调整FEC参数N,在保持高可靠性的同时添加较少的冗余代码保证高能效.数学分析表明,自适应CFEC机制在误帧率和能效等方面与传统FEC相比均具有更好的性能,该机制非常适合于WSNs中远距离节点通信.
图6 FEC与自适应CFEC性能对比
[1]张汉毅,粟欣.B3G的关键技术及其发展趋势[J].移动通信,2008,32(16):26-31.
[2]李明欣.异构融合网络移动性管理的若干关键技术研究[D].北京:北京邮电大学,2009.
[3]LANEMAN J N,TSE D N,WORNELL G W.Cooperative diversity in wireless networks:efficient protocols and outage behavior[J].IEEE Transactions on Intonations Theory,2004,50(12):3062-3080.
[4]张书奎,樊建席,崔志明.无线传感器网络中可靠的数据协作传输机制[J].通信学报,2010,31(11):30-40.
[5]徐文波,林家儒,牛凯,等.多中继协作ARQ在Nakagami_m信道中的性能分析[J].北京邮电大学学报,2010,33(2):74-77.
[6]孙岳,李颖,王新梅.基于网络编码的协作HARQ协议[J].电子与信息学报,2009,31(10):2326-2331.
[7]胡映波,蔡跃明.无线传感器网络中基于切换与保持节点选择的协同ARQ协议[J].通信学报,2010,31(11):17-24.
[8]夏明,董亚波,鲁东明.无线传感网逐跳自适应FEC传输可靠性保证方法[J].浙江大学学报,2011,45(2):273-279.
[9]靳勇,乐德广,白光伟,等.无线传感器网络跳数和通信距离自适应差错控制策略[J].控制理论与应用,2011,28(4):596-600.
[10]靳勇,乐德广,白光伟.基于跳数的WSN自适应链路层差错控制策略[J].传感技术学报,2010,23(5):727-731.
[11]徐军委.下一代互联网中无线传感器网络协议理论与技术的研究[D].合肥:中国科学技术大学,2007.
[12]CROSSBOW CORP.Mica2 datasheet[EB/OL].[2009-12-01].http://www.xbow.com/Products/Product pdf files/Wireless pdf/6020-0043-01 A MICA2DOT.pdf.
[13]SHNAYDER V.Simulating the power consumption of large-scale sensor network applications[C].Proceedings of 2nd International Conference on Embedded Networked Sensor Systems.Baltimore,MD,USA:ACM Press,2004:188-200.