基于网络编码的输电线路WSN传输协议
2018-06-26亓刚,郑霖
亓 刚,郑 霖
桂林电子科技大学 广西无线宽带通信与信号处理重点实验室,广西 桂林 541000
1 引言
无线传感器网络(WSN)在监控区域近似于线条型的智能交通、矿井环境监测、油气管道监测、铁路车轨监测、桥梁监测等,有着广阔的应用前景。基于WSN的输电线路在线监测技术是一门多学科高度交叉、知识高度集成的新兴技术[1]。无线传感器网络的基本应用类型包括事件驱动、时间驱动和查询驱动等多种复杂应用,不同的应用往往有不同的QoS需求。在基于无线传感器网络的输电线路监测系统中,通过传感器节点对输电线路上的关键参数进行周期性采集,监测数据要求能够被可靠地传送到监控中心,因此输电线路监测系统对传输数据的实时性和可靠性要求较高。如何合理有效地利用无线传感器网络资源,以获取更好的数据传输性能,为输电线路在线监测的服务质量提供保障,是长链型无线传感器网络QoS路由优化所要解决的问题[2]。
针对链状拓扑结构传感网络的研究不多,主要集中在节能机制方面和对汇聚节点区域拥塞问题的研究,研究和发展状况如下。例如文献[3]针对长链拓扑结构的无线传感器网络,提出了一种低延迟和低能耗的LC-MAC协议。文献[4]提出了基于数据传送“波”的改进MAC协议机制,使MAC协议轻量化,节省了网络资源。文献[5]通过对链状网传感节点休眠机制的调节,扩展了网络的生存空间。文献[6]通过设计并采用基于链式的分簇路由(LP)协议,有效地延长了链状网络的生命周期并且节省了网络的能耗。文献[7]从输电线路监测的网络结构出发,运用MIMO技术缓解汇聚节点附近的漏斗效应。文献[8]根据链状无线传感器网络路由协议应具备的特性,设计了基于信标帧的按需式路由算法和基于延迟波的主动路由算法。文献[9]针对长链状WSN网络中Sink周围区域出现的“热区”现象,提出一种多Sink分布式功率控制算法,有效地降低了网络整体能耗、延长了网络生存期。网络编码(Network Coding)技术由R.Ahlswede等人在2000年首次提出的,在提高网络吞吐量、改善负载均衡、减小传输延迟、节省节点能耗、增强网络鲁棒性等方面均显示出其优越性[10-11]。Haas等人提出了一种基于网络编码的无线节点协作通信传输方法,提高了传输可靠性[12]。Ghaderi等人在访问接入点模型及多播树模型下,比较了自动重传机制、前向纠错机制、网络编码的可靠性[13]。文献[14]针对普通拓扑网络提出了基于网络编码的1+N保护机制,这种基于编码的网络保护机制相比于传统的网络能够充分地利用网络资源,提高网络吞吐量。
本文以输电线路监测为应用背景,针对系统对无线传感器网络实时性和可靠性要求较高的特点,提出了一种基于网络编码的WSN传输协议。性能分析与仿真实验表明,该传输协议明显提高了数据传输可靠性和系统吞吐量,缩短了网络传输时延,提升了无线传感器网络的性能。
2 基于WSN的输电线路监测系统设计
无线传感器监测网络由大量部署在架空输电线路杆塔上的具有感知、计算和通信能力的智能传感器节点组成,负责远程实时采集输电线路上的关键参数,基于ZigBee无线通信协议组建网络,所有节点的数据最终路由到Sink节点,由Sink节点将全部数据传送到变电站数据终端,见图1。每路传输线有三相,在每个杆塔的三相上分别布置传感器节点,这样一条输电线路由传感器网络的3条子链组成,以汇聚节点Sink为根,形成长链树状拓扑结构。通过以上分析,可以将输电线路监测WSN的网络拓扑结构抽象为3条均匀分布的长链状结构。
图1 输电线路监测系统的网络结构
基于WSN的输电线路监测系统具有长链树状拓扑结构。这类系统具有以下共同点:(1)需要管理长链树状拓扑结构的WSN,并将监测到的数据以多跳的方式实时传输到Sink节点;(2)传感器节点和汇聚点在部署后均不再发生位置移动;(3)传感器网络节点呈辐射型链式不均匀分布,每个节点有唯一ID号,在网络初始化时进行统一的分配;(4)传感器节点由套装在线路上的电流互感器持续供电,提高发射功率后的通信距离达1 000 m[15]。
3 网络编码原理与模型
网络编码允许网络的中间节点参与编码译码,但这种不复杂的思想却带来了诸多优势在本文提出的协议过程中,充分利用了网络编码提高网络可靠性这一优势。
首先以图2蝶形网络结构为例说明网络编码可以提高网络的可靠性。图中源节点S产生a、b两个数据包,发往信宿节点R1和R2,假设节点B到R2传送数据包失败。图2(a)未采用网络编码,备份节点X只存储了数据包a,发往信宿节点,这样R1、R2只收到了数据包a。若采用网络编码,如图2(b),在备份节点X处将两个数据包进行异或编码运算,将编码包发往信宿节点R1后,进行异或运算a⊕(a⊕b)后即可解码出数据包b,这样在R1处a、b两个数据包全部接收到。
图2 蝶形网络结构
同样在直链状网络中也可以说明网络编码这一优势。如图3,节点1需要发送数据A和B到节点3。节点1到节点3之间由于距离导致链路不稳定,成功传输概率只有0.5,而节点1到节点2,节点2到节点3之间的通信链路质量很好,成功传输概率都为1。当节点直接广播数据包A和B之后,节点3只成功接收到某一个数据包,而此时,节点2已经成功接收数据包A和B。节点2无需获知节点3上接收数据包状态,直接将所收到的数据包A和B异或发送。当节点3成功接收到编码包后,便可以异或解码获得两个数据包。
图3 链状网网络编码示意图
通过以上两种结构的分析得到,在数据传输过程中,信宿节点只收到了部分数据包,备份节点或中间节点无需获知信宿节点的接收数据包状态,只需要将编码包发送到信宿节点,这样节省了节点状态通知时间。本文提出的传输机制主要针对时间驱动型数据收集过程,监测区域内的传感器节点定期采集区域中的数据,在传输到汇聚节点的过程中,假设每个传感器节点都有数据包产生,汇聚节点发起一次数据收集过程称为一轮。
4 基于网络编码的输电线路WSN传输协议
4.1 基本思路
如图4所示,在链状输电线路拓扑结构的基础上,构建基于网络编码的经典蝶形结构。
图4 长链树状拓扑结构的无线传感器网络抽象模型
Pi为原始数据包,每生成一个编码包都要从有限域GF(28)中独立随机选取编码系数g(i)分配给原始数据包Pi,n表示数据源包的个数。
(3)发送编码包:由实际的成功接收概率分析得到,3个数据包直接成功传输到第3列的概率很低,在这里采取基于网络编码的主动网络保护机制,选择编码包作为冗余包进行传输,在不确定第3列节点数据包具体接收状态的情况下,第2列节点将编码包发送出去。
(4)回复ACK:第3列节点收到编码包,3个节点相互通知数据包后,进行解码,如果成功解码出第1列的3个源包,则回复ACK帧,如果未成功解码出源包,第2列节点继续发送线性无关的编码包,直到第3列节点成功解码出3个源包。这样第1列节点数据发送成功,然后进行第2列节点的源包发送。协议过程的序列图如图5、图6。
(2)节点相互通知:第1列节点发送数据包后,第2列节点和第3列的节点都有相应的数据包接收状态。根据实际的链路传输概率,假设第1列节点每发送一个数据包,第2列总有一个节点能够成功接收到,3个数据包依次发送完毕后,第2列的节点A2、B2、C2相互通知,便可以成功整合出第1列的源包a1、b1、c1,然后第2列任意一个节点将3个数据源包进行随机线性编码[16],生成编码包,具体编码过程如下:
图5 协议过程MSC图(消息序列图)(1)
节点A1、C1分别产生数据包a1、c1进行传输,第3列节点只需要任意一个节点收到a1、c1,则传输成功,构建两个虚拟节点S1、S2,用来表示成功接收到数据包的节点。节点A1发送数据包a1,节点C1发送数据包c1,因为在第2列节点成功接受数据包概率较大,A1、C1发送完毕后,下一时隙S1将接收到的a1、c1进行编码,发送a1⊕c1到S2。这是协议的基本思路,下面介绍协议传输的具体过程。
4.2 协议过程
在图4的模型中,假设每个节点产生一个数据包,以第1列的数据包a1、b1、c1的传输为例,来说明整个协议具体过程。
(1)发送源包:第1列3个节点 A1、B1、C1依次将数据包a1、b1、c1发送出去,由实际的成功接收概率分析得到,第2列和第3列的节点均有可能接收到数据包,其他列节点成功接受概率太低,假设均接收不到第1列节点发出的数据。
图5表示第2列节点将编码包作为冗余包发送后,第3列节点成功解码出a1、b1、c1数据包,图6表示第2列节点将编码包作为冗余包发送后,第3列节点未成功解码出3个数据包,第2列节点继续发送编码包,直到第3列节点成功解码。
4.3 性能分析
图6 协议过程MSC图(消息序列图)(2)
针对输电线路监测WSN的特殊拓扑结构,文献[17]中提出的算法初始化后,节点选择最短路径进行数据转发,同相线路的节点被选作下一跳节点,节点数据转发的路径呈平行线形分布,在这种Chain型直链传输协议中MAC层采用CSMA/CA协议,DATA/ACK握手机制。下面将本文提出的基于网络编码传输协议与这种Chain型直链传输协议进行性能分析对比。
假设单链节点数目为N,每个节点都有自己的数据源包,同相线路中第n列节点到第n+1列节点数据包传输成功概率为P1,第n列到第n+2列概率为P2。由于同列节点相距只有1~2 m,在传输过程中数据包成功传输到同列不同节点的概率相差很小,为便于分析,假设数据包传输到同列不同节点的概率相同。在Chain协议中,节点选择最短路径进行数据转发,每次传输时单个数据包期望传输次数为,为简化模型,假设ACK帧一定能够收到,不考虑ACK帧正确接收概率,且传输ACK产生的时延忽略不计。因此所有数据源包成功传输到Sink节点后,节点发送数据包的次数为:
为简化模型,传输时延可表示为:
式中t表示发送一个数据包传输时间。
在本文提出的协议中,第1列单个节点发送一个数据包后,第2列节点进行协作通知,成功接包概率为:
同理第3列成功接包概率为:
为保证第2列节点成功整合出3个数据源包,第1列节点期望发包次数为:
接着第2列节点将编码包X1作为冗余包发送一次,为保证第3列成功接收到第1列3个数据包,第2列节点还需要发包Mb次:
式中表示组合数公式符号。因此第1列数据包成功传到第3列这一过程的节点发包总次数为:
当单链节点数目为N,每个节点都有自己的数据源包,并将其传输到Sink节点时,节点发包总次数M2分析如下:
假设N为偶数,前N-2列节点发送次数总数为:
第N-1列节点数据包发送,在Sink节点处没有协作通知,次数总数为:
第N列节点发送次数总数为:
式(10)、(11)中k1=3n/2。因此在本文提出的协议中,N为偶数时,节点发送总次数为:
传输时延为:
协议过程采取线性编码,编解码过程简单,所用时间忽略不计。
为便于比较,这里将本文提出的协议在最不理想的情况下表现出的网络性能与Chain协议进行对比。最不理想的情况为第N列节点数据包按照期望次数发送后,第N+2列节点全部未收到,由上述分析得到,最不理想的情况下本文提出的协议节点发包次数整理为:
将M1和M2'做差,整理得到:
因为P3>P1,得到M1-M2'>0,即本文提出的协议在最不理想情况下的传输次数仍低于Chain协议中传输次数。同理在传输时延方面本文提出的协议在最不理想情况下也低于Chain协议中传输时延。网络吞吐量可表示为:
B为Sink节点收到的比特数,T为传输时延,因此本文提出的协议传输效率优于Chain协议。通过上述分析得到,本文提出的协议较于Chain协议提升了系统网络性能,并且通过做差公式(15)得到,当单链节点数目N越大、数据包传输成功概率P1越低时,两种协议在传输次数、时延上差别越大,本文提出的协议性能优势越明显。同时由上述分析得到,两种协议的时间复杂度相同,均为Ο(N2),本文提出的协议不会浪费较多的数值计算时间。
上述分析为简化模型,没有考虑ACK帧接收概率和传输ACK帧产生的时延,本文提出的协议在数据包具体接收状态不确定的情况下,节点互相通知后,通过发送编码包,后一列节点完全解码出源包后,才回复ACK帧,提高网络可靠性的同时,大大降低了ACK帧的发送次数,在这一方面协议也相对提高了网络性能。
5 仿真实验
本文使用MATLAB对上述提出的基于网络编码的路由协议与Chain直链传输路由协议进行仿真比较,并与理论分析数据进行对比。
5.1 仿真环境设置
仿真基于时间驱动的应用过程,监控区域内的每个传感器节点定期采集区域中的数据,每个节点都有自己的数据源包,并将其传输到Sink节点。仿真参数如表1所示。
表1 仿真参数
5.2 链路数据成功传输概率的估算
在仿真实验中,已知同相线路中第n列节点到第n+1列节点数据包传输成功概率为P1,需要估算第n列到第n+2列概率P2。具体估算过程如下:
根据误码率与数据传输成功概率P(误帧率)有P=(1-BER)B,B为数据帧长度。按常用差分相移键控(DPSK)调制方式的误码率与信噪比关系:BER=0.5exp(-Eb/2No),因为在数据传输过程中Eb反比于d2(d表示传输路径长度),整理得到误帧率P和路径长度d的关系为:
式中k为常数系数,通过同相线路中第n列节点到第n+1列节点数据包传输成功概率为P1这一已知条件求得。
5.3 仿真结果与分析
在仿真实验中,Sink发起一次数据收集过程称为一轮,在每一轮的数据收集过程中,对时延、传输次数总数、吞吐量三项数据进行了仿真比较,三项数据具体定义如下:
时延:完成一轮数据收集所需要的时间;
传输次数总数:完成一轮数据收集,所有普通节点发送数据包的次数,包括重传次数;
吞吐量:Sink节点单位时间内正确收到的比特数。
(1)P1变化
实际的输电线路检测系统多分布在野外,受野外环境影响,链路传输成功概率会有一定的变化。当单条链路节点数目(N=10)确定,同相线路中第n列节点到第n+1列节点数据包传输成功概率(0.75,0.8,0.85,0.9,0.95)变化时,仿真结果如图7~9。
为使曲线的对比更加清晰,选择将图形局部放大,以传输时延这一比较项为例,如图10所示,其他比较项不予放大。首先两种协议的理论分析值与各自的仿真值相互契合,曲线变化趋于相同,这验证了仿真数据的精确性,证明了仿真过程是可靠的;其次当数据成功传输概率P1变化时,在传输次数和传输时延方面,如图7和图8,本文提出的协议曲线变化平缓,在P1较小时优势明显,并且吞吐量一直优于Chain直链传输协议,如图9。这是因为在Chain直链传输路由协议传输过程中,虽然数据包有确定的传输路径,但每次数据传输均采用DATA/ACK握手机制,在传输过程中,丢包重传是无法避免的,随着P1的降低,丢包概率增大,需要进行多次重发才能使数据成功接收,这样增加了数据包的传输次数和传输时延,进而吞吐量降低,而本文提出的协议在传输过程中采用机会路由和基于网络编码的主动网络保护机制,在P1较低时这种机制发挥作用明显,提高了网络性能。
图7 传输次数
图8 传输时延
图9 吞吐量
图10 传输时延局部放大图
图11 传输次数
图12 传输时延
(2)N 变化
当同相线路中第n列节点到第n+1列节点数据包传输成功概率(P1=0.9)确定,单条链路节点数目N(4,8,12,16,20)变化时,仿真结果如图11~13。
为使曲线的对比更加清晰,选择将图形局部放大,以吞吐量这一比较项为例,如图14所示,其他比较项不予放大。由以上图形可以看出,首先两种协议的理论分析值曲线变化与各自的仿真值曲线变化趋于相同,这验证了仿真的可靠性;其次随着N的增大,在传输次数和传输时延方面,如图11和图12,本文提出的协议较于Chain协议优势愈加明显,并且吞吐量一直优于Chain直链传输协议,如图13。这是由于随着链路长度的增加,链路中传输的数据包越来越多,在传输过程中丢包重传概率增大,网络性能随之下降,本文提出的协议利用机会路由和网络编码的特性,保证了可靠通信,提高了网络性能。
6 结束语
图13 吞吐量
图14 吞吐量局部放大图
本文根据输电线路监测对无线传感器网络实时性和可靠性要求高的特点,提出了一种基于网络编码的WSN路由协议。该协议充分利用信道广播特性和节点间的协作通信,结合机会路由和网络编码各自优势,将网络编码经典蝶形结构应用到输电线路检测系统长链拓扑结构中。通过仿真实验表明,该协议较于Chain直链传输协议,提高了系统网络性能,且在链路较长和野外环境下数据包传输成功概率小的情况下,网络性能优势表现明显。
[1]黄新波,张国威.输电线路在线监测技术现状分析[J].广东电力,2009,22(1):13-20.
[2]李苗,池小波,贾新春,等.智能电网中基于WSN的架空输电线路的监测[J].陕西电力,2016,44(10):1-5.
[3]Fang C,Liu H,Qian L L.LC-MAC:An efficient MAC protocol for the long-chain wireless sensor network[C]//2011 Third International Conference on Communications and Mobile Computing,2011:495-500.
[4]李丽芬.基于无线传感网络的输电线路状态监测数据传输的研究[D].北京:华北电力大学,2013.
[5]Chen G Z,Meng Q C,Zhang L.Chain-type wireless sensor network node scheduling strategy[J].Journal of Systems Engineering and Electronics,2014,25(2):203-210.
[6]华吉宏,张璐,范毅,等.城轨无线传感网中链状分簇路由协议的研究[J].电子设计工程,2016,24(6):22-25.
[7]翟学明,齐立朔,朱永利,等.长链路型输电线路监测系统中WSN路由策略的研究[J].计算机应用研究,2010,27(12):4677-4679.
[8]刘魁.基于ZigBee的链状无线传感器网络设计[D].杭州:浙江工业大学,2015-10.
[9]Xia X,Chen Z,Zeng F,et al.Multi-sink distributed power control algorithm for wireless sensor networks with longchain structure[J].Chinese Journal of Sensors&Actuators,2015,28(6):920-926.
[10]Ahlswede R,Cai N,Li S Y R,et al.Network information flow[J].IEEE Transactions on Information Theory,2000,46(4):1204-1216.
[11]孟利民,张静,周凯,等.基于网络编码的无线网络容量分析[J].传感技术学报,2016,29(1):116-121.
[12]Haas Z J,Chen T C.Cluster-based cooperative communication with network coding in wireless networks[C]//The 2010 Military Communications Conference,2010:596-603.
[13]Ghaderi M,Towsley D,Kurose J.Reliability gain of network coding in lossy wirelessnetworks[C]//Procof IEEE INFOCOM,2008:2171-2179.
[14]代仕芳.无线网络中基于网络编码的可靠通信问题的研究[D].合肥:中国科学技术大学,2013.
[15]李丽芬,朱永利,于永华.基于长链树状无线传感器网络实现输电线路在线监测数据传输[J].电网技术,2011,35(6):199-203.
[16]Cai Y,Zhang L.Minimum-energy multicast using random linear network coding[C]//Seventh International Conference on Mobile Ad-hoc and Sensor Networks,2011:470-474.
[17]康一鑫.输电线路监测无线传感器网络数据博弈转发算法的研究[D].北京:华北电力大学,2012.