许振月,杨 磊,周 雯
(南京林业大学 信息科学技术学院,江苏 南京 210037)
无线传感器网络(Wireless Sensor Network,WSN)是一种由大量小型或微型传感器以自组织和多跳方式构成的互联网络,由于WSN节点能量有限,所以延长WSN的生存周期是一项重要工作。在路由协议中引入多输入多输出(Multiple Input and Multiple Output,MIMO)技术可以实现协作分集,延长网络生存周期,进而提高能效[1],体现工程服务于人类的价值目标[2]。
MIMO系统有空时分组码(Space Time Block Code,STBC)和分层空时码(Layered Space Time Code,LSTC)等发射编码结构[3],Alamouti最早提出针对发射天线为2的多天线系统的空时分组编码,使得STBC能够实现全部分集增益且译码简单。垂直分层空时编码(Vertical Bell Labs Layered Space-time,VBLAST)最早是由贝尔实验室提出,其频谱利用率随着天线数目的增加而线性增加[4]。 Cui[5]等最先提出WSN协作MIMO系统模型。文献[6]将协同通信的思想应用于无线传感器网络,解决无线传感器网络中 LEACH (Low Energy Adaptive Clustering Hierarchy)协议下的簇间能耗不均衡问题。文献[7]结合MIMO多播和LEACH协议,提出新的虚拟MIMO多跳传输策略,避免多跳数据转发时的簇内广播过程,提高整个网络的能量有效性。上述文献采用的编码方式都为STBC编码,研究WSN协作MIMO系统时大多沿用STBC编码。Jayaweera[8]最早提出基于VBLAST的协作式MIMO的传输策略,但在协作节点选择及发送端数据分配方面未作交代。文献[9]中提出了一种基于VBLAST的无线传感器网络协作MIMO传输方案,但是簇头向协作节点广播数据时的能耗公式不够精确;另外,单个协作节点接收簇头数据时的数据量为完整的一份,增加了能耗,也增加了传输时延。WSN的网络吞吐量通常定义为基站的吞吐量,可以反映整个网络的运行效率,但现有文献对于WSN协作传输时的吞吐量研究较少。
本文基于经典的LEACH路由协议,详细描述了VBLAST协作传输的工作过程,给出了非协作与协作传输时单位比特的能耗比,得到了簇头广播以及协作传输的能耗公式;同时给出了WSN协作传输时网络吞吐量的表达式,研究了结合STBC或VBLAST协作传输的系统性能,比较能耗和吞吐量2个指标,得到不同编码协作传输的优缺点和适用范围,为实际系统设计提供参考依据。
LEACH协议是提出的第一个基于分簇的分层路由协议,在其中引入MIMO协作传输机制可以减小网络中的簇头负担,延长整个网络的生存周期。在协作传输时,簇头会依据一定条件选择簇内节点协助簇头传输数据,协助传输的节点称之为协作节点。基于LEACH的协作传输分为单跳协作和多跳协作2种方式,为简便起见,本文只讨论单跳协作。LEACH协作传输系统如图1所示。
图1 基于LEACH的协作传输系统Fig.1 Diagram of cooperative transmission system based on LEACH
基于LEACH的WSN协作传输可以将一轮分为4个阶段:簇头选举、成簇及数据采集、协作节点选取和数据传输,下面就这4个阶段进行详细介绍。
① 簇头选举:节点通过随机方式选择簇头,每一轮各节点产生一个0~1之间的随机数,如果这个随机数小于本轮的阈值T(n),则该节点被选为这一轮的簇头。
(1)
式中,p为设定每轮中产生的簇头数目占节点总数的百分比;r为循环的轮数;G为剩下的1/p轮循环中未当选过簇头的节点的集合。
② 成簇及数据采集:当节点成为簇头后会向其他节点广播,声明自己是簇头。普通节点接收到广播消息后会对信息强度进行对比,然后选择加入强度最大的簇头所在的簇,并且给理想的簇头发送一个入簇的数据包。成簇后普通节点将采集到的数据传输给簇头,由簇头进行处理。
③ 协作节点选取:对于簇内J个传感器节点的协作传输,需要选择J-1个协作节点来协助簇头传输数据。簇头根据簇内节点已知的能量状态Ei和接收到的信号功率Pr,i来选择协作节点,i为节点索引。将Pr,i代入公式di=C(Pt/Pr,i)-n,可以得到di的值,这里常量C和n取决于环境,则协作节点的选取公式为[10]:
(2)
式中,最小距离dmin取决于载波波长;最大距离dmax由节点覆盖能力决定。簇头将选择的结果告知簇内成员,并创建TDMA通道访问调度,通知每个传感器分配的时间节点,同时已成为协作节点的成员将承担数据传输的任务。
④ 数据传输:簇头节点首先接收簇内其他传感器节点的数据包,并对数据进行融合,再将融合后的数据广播给各个协作节点,最后由簇头和协作节点在接下来的时隙中协同将数据传输给基站。
协作传输与MIMO编码技术的结合主要体现在第四阶段——数据传输,下面将结合STBC或VBLAST编码技术分别进行讨论。
在数据传输阶段,簇头将融合后的数据广播给协作节点,此时簇头广播的是融合后数据的副本,各协作节点接收到数据后,在各自的时隙中将数据传输给基站。对于3副发射天线,空时分组码的码字矩阵为:
(3)
式中,矩阵C的行序代表天线数,列序代表时隙数。由式(3)得3副发射天线分成4个时隙传输数据,每副天线传输的符号数为3,则码率为3/4。2幅及4幅发射天线的码字矩阵参考文献[11]。
正交空时分组码采用最大似然译码,对于MPSK调制,系统在瑞利衰落信道下的误比特率为[12]:
(4)
(5)
式中,M为调制阶数,KM=sin2(π/M);nt,nr分别为发送和接收天线数,其中nt等于协作节点和簇头的总和J,nr等于汇聚节点的天线数;对nt=2(码率1)以及nt为3,4(码率3/4)的情况,Cnt,RC=1;定义系统信噪比为:
(6)
(7)
式中,Tb_STBC为STBC协作传输中一个比特的周期。
除STBC协作传输外,在WSN中还可引入VBLAST协作传输,本文提出的协作传输机制描述如下:在数据传输阶段,假设簇头与协作节点的和为J,簇头将融合后的数据等分成J个数据包,向协作节点广播,此时簇头广播的数据包为(J-1)/J份,广播的数据不包括簇头本身传输的1/J份;单个协作节点接收1/J份数据,然后和簇头协作将数据传输给基站,工作过程如图2所示。注意,协作节点和簇头传输的都是不重复的数据,这样提高了数据的传输速率。
图2 VBLAST协作传输第四阶段的工作过程Fig.2 Working process of the fourth phase of VBLAST cooperative transmission
VBLAST译码采用基于ZF(Zero Forcing)的SIC(Successive Interference Cancellation)算法,在瑞利平坦衰落信道下,采用MQAM调制的VBLAST系统平均误比特率为[13-14]:
(8)
这里,
(9)
(10)
式中,Tb_VBLAST是VBLAST协作传输系统中一个比特的周期。调制阶数为4时,QPSK等价于4QAM;仿真设置M=4,则基于2种编码方式的协作传输系统采用的调制方式相同,性能对比的基准一致。
另外,在无协作传输的无线传感器网络,即收发天线数都为1时,对于QPSK调制,系统在瑞利衰落信道下的误比特率为[15]:
(11)
则单位距离下单天线WSN系统发射端每比特的能耗Ea可表示为Ea=Ps×Tb,Tb是一个比特的周期。
协作传输的总能耗主要包括3部分:簇的建立阶段节点向簇头传输数据的能耗;数据传输阶段簇头向协作节点广播数据的能耗;簇头和协作节点向基站传输数据的能耗。每部分能耗又包括2部分:传输能耗和电路能耗。传输能耗是节点进行数据传输过程中的能耗,电路能耗则是发射和接收电路的能耗。传输能耗和电路能耗的基本模型如下[16]:
发送端传输能耗为:
(12)
式中,k为传输的数据比特数;d为传输距离;Ea为传输单位距离时每比特的传输能耗。发送端和接收端电路损耗分别为:
(13)
(14)
根据以上基本模型给出各阶段的能耗。在簇的建立阶段,节点向簇头传输数据的总能耗为:
(15)
式中,kd为节点传输的数据量;d为该节点到簇头的距离。
在数据传输阶段,STBC与VBLAST编码方式下协作传输的能耗不同,主要体现在簇头向协作节点广播的数据量以及单个协作节点向基站传输的数据量不同。
3.1.1 STBC在数据传输阶段的能耗
簇头节点将融合后的数据广播给协作节点,该阶段的总能耗为:
(16)
式中,kc为簇头融合后的传输数据量;dmax为最大广播距离。J个节点协作传输时的总能耗(不包括基站)为:
(17)
ESTBC=ESTBC,1+ESTBC,2。
(18)
3.1.2 VBLAST在数据传输阶段的能耗
簇头向协作节点广播阶段的能耗主要包括簇头广播能耗和协作节点接收能耗2部分,假设簇头融合后的数据量仍为kc,根据对VBLAST协作MIMO机制的描述,簇头广播时的数据量为kc(J-1)/J份,单个协作节点接收的数据量为kc/J份,则簇头广播阶段的能耗为:
(19)
协作传输阶段能耗包括J个节点的协作传输的能耗以及基站的接收能耗,这里不考虑基站的能耗,协作传输能耗为J个节点发射电路的能耗以及总的传输能耗。每个协作节点传输接收到的kc/J份数据,共有J个节点参与传输,因此发射电路的能耗要乘以J。另外,J个节点传输的总数据量为kc,因此总传输能耗中数据比特数为kc。由上述分析得协作传输阶段的能耗为:
(20)
EVBLAST=EVBLAST,1+EVBLAST,2。
(21)
表1 非协作与协作传输每比特的能耗比
网络吞吐量表示整个网络向基站传输数据的速度,反映了WSN收集和分发数据的能力[17]。在仿真中,到达基站的数据包为有效数据包,网络接收到的数据量由有效数据包个数×单个包的数据量得到。一轮运行的时间主要包括3个部分:节点向簇头传输数据的阶段、簇头将融合后的数据广播给协作节点的阶段、簇头和协作节点协作传输的阶段。因为在传输数据时耗时较长,其他部分的时间可忽略不计。网络运行一轮(一个周期)的吞吐量可以由基站接收到的数据量除以总时间得到,每轮吞吐量R为:
(22)
式中,Ttotal=max{Ti,i=1,2,…,c},c为总簇数;Ti为第i个簇运行一轮的总时间。Ti主要包括3个部分,可以写成:
Ti=T1i+T2i+T3i,
(23)
式中,T1i为第i个簇中节点向簇头传输数据阶段的时间;T2i为第i个簇中簇头广播数据阶段的时间;T3i为第i个簇中协作传输阶段的时间。它们可分别表示为:
(24)
式中,Ri为每个阶段数据的传输速率,设R1=250 kb/s,R2=115.5 kb/s[18]。在第3阶段,非协作系统R3=R1;VBLAST协作传输系统R3=JR1。STBC系统数据的传输速率R3受码率影响,在J=2时系统码率为1,传输速率R3=R1;在J=3或4时的码率为3/4,则R3=3/4R1。
通过Matlab软件对结合不同编码的协作传输进行仿真,仿真实验中的主要参数设置如表2所示。
表2 仿真参数表Tab.2 Simulation parameters
实验1:适用的信道条件
表3 不同距离参数下第一个节点的死亡轮数
对于STBC编码的协作传输,α=2.1时,相比α=2,第一个死亡节点的轮数提前了17%;α=2.4时,该数值超过50%。因此,若以50%作为门限,可得到适合的距离参数α∈[2,2.3],J为3或4时得到的结论与J为2时相同。同理,对于VBLAST编码的协作传输,采用相同的门限,得到适合的距离参数α∈[2,2.1]。
实验2:生存周期对比
网络的生存周期可以由第一个节点的死亡轮数和节点全部死亡的轮数来评估,设汇聚节点的接收天线数、发送天线数均为J。STBC,VBLAST协作传输不同J的剩余节点与轮数关系如图3和图4所示。
图3 STBC协作传输不同J的剩余节点与轮数关系Fig.3 Relationship between the remaining nodes and the number of rounds of different J transmitted by STBC collaboration
图4 VBLAST协作传输不同J的剩余节点与轮数关系Fig.4 Relationship between the remaining nodes and the number of rounds of different Jtransmitted by VBLAST collaboration
可以看出,J越大,网络的生存周期越长。图4中VBLAST协作传输在J为2,3,4时网络的生存周期比J=1时分别增加了4.26%,29.79%,74.47%;由图3和图4可得,相比于结合STBC编码的协作传输,VBLAST协作传输时曲线下降的幅度更大,网络中的节点死亡的更快。
由上述分析可知,结合STBC编码的协作传输的网络生存周期性能优于VBLAST编码。
实验3:吞吐量对比
实验每运行100轮作为一个样本点,对应的吞吐量为100轮网络吞吐量的平均值。
图5和图6反映了2种编码的协作传输在不同数目的协作节点下平均吞吐量随样本数的变化。可以看出,随着协作节点的增加,2种编码方式的平均吞吐量都在下降,协作J=2和非协作J=1之间吞吐量的差值最大,可见采用协作传输后网络的生存周期虽然变长,但吞吐量也随之下降。
图5 STBC协作吞吐量与样本数关系Fig.5 Relationship between throughput and sample size in STBC collaboration
图6 VBLAST协作吞吐量与样本数关系Fig.6 Relationship between throughput and sample size in VBLAST collaboration
J=2条件下2种编码方式的吞吐量对比如图7所示。
图7 STBC和VBLAST编码下的网络吞吐量Fig.7 Network throughput under STBC and VBLAST coding
由图7可以看出,STBC协作传输的网络吞吐量在2.5~2.8(×105bit/s)之间波动,而VBLAST协作传输的吞吐量在3.8~4.2×(105bit/s)之间波动,说明VBLAST协作传输的网络吞吐量高于STBC协作传输。
J=2时2种编码方式下的网络总能耗对比如图8所示。它们的网络吞吐量均设定为3.97×105bit/s。
图8 相同吞吐量下的STBC与VBLAST网络总能耗Fig.8 Total network energy consumption of STBC and VBLAST under the same throughput
由图8可以看出,STBC协作传输的网络总能耗低于VBLAST协作传输,由实验2也可以间接地推出。
本文研究了结合VBLAST编码的协作传输机制,详细分析了该机制与LEACH路由协议结合后的工作过程,并且根据分析给出各阶段的能耗公式;再将其与传统的STBC协作传输的系统性能进行对比,比较了网络生存周期和网络吞吐量,同时给出了2种编码适用的信道条件。仿真结果表明,协作传输能够延长网络的生存周期,同时也会降低网络的吞吐量;结合STBC编码的协作传输中无线传感器网络的生存周期比VBLAST编码方式下要长,可以应用于对数据可靠性要求高的场合,降低丢包率;结合VBLAST编码的协作传输中网络的吞吐量比STBC编码方式下要高,可以应用于对数据实时性要求较高的场合,提高数据的传输速率。