MIMO多跳簇结构无线传感器网络的路由算法及其能耗研究
2021-10-27
来源:21ic中国电子网
引言
无线传感器网络是近年无线通信技术的研究热点之一。受体积和成本的限制,能耗问题成为无线传感器网络的难点和关键问题。针对能耗问题,许多学者先后提出了不同的解决方案。其中,W.B.Heinzelman、A.P.Chandrakasan和H.Balakrishman等首先在网络层协议方面提出了适用于无线传感器网络的簇结构分层协议LEACH(Low-EnergyAdaptiveClusteringHierarchy)协议。他们讨论了簇首的选择算法、簇的形成算法以及基于中心控制的改进协议LEACH-C,并对LEACH协议的能耗模型进行了初步研究。在LEACH协议的基础上,又有不少学者设计了基于分簇结构的多跳路由协议。其中,文献提出了改进LEACH协议一Multihop-LEACH,它以最近的邻居簇首作为下一跳路由;文献采用了MTE路由算法,并引入冲突避免机制;文献则采用中心控制思想,由基站基于路径损耗进行路由选择。
由于无线传感器网络通常工作在恶劣的环境,信道衰落严重,而MIMO技术能很好地对抗多径衰落,因此,MIMO技术在无线传感器网络的应用也备受重视。文献研究了STBC(Space-TimeBlockCode-Encoded)和MIMO技术对无线传感器网络性能的改善,其中文献考虑了合作节点的同步问题,文献研究了最优合作节点数的问题。
分层簇结构、多跳路由和MIMO技术都在一定程度上改善了无线传感器网络的性能,因此形成了“跨层设计(Cross-layerDesign)”思想,即将网络分层模型中的若干层联合起来综合考虑,使不相邻的层之间也能传递信息,以得到最优的网络性能。文献将多跳路由和MIMO技术嵌入LEACH协议进行跨层设计,大大延长了无线传感器网络的生命周期(Lifetime);文献采用半中心控制思想对文献的有关算法进行了改进。
在研究方法上,目前大多数的研究都是基于Matlab、C语言等通用仿真工具,以网络生命周期为衡量指标,没有充分考虑网络实际工作过程中的相关问题和能量损耗。因此,本文以UCLA(UniversityofCaliforniaatLosAngeles)提出的SersorSim仿真架构为基础,在J-sim仿真平台实现了一个贴近实际的模拟无线传感器网络系统,并提出了一种基于距离矢量的改进路由算法。在此基础上,研究了多跳路由技术、MIMO技术对改善LEACH协议性能的问题。其方法和结果对于无线传感器网络的协议优化及其应用具有一定的参考价值。
1系统模型与改进路由算法
1.1系统模型
系统采用与文献基本架构相同的无线传感器网络跨层设计模型,图1所示是结合MIMO技术的多跳LEACH协议工作模型。系统按照LEACH协议不断重复簇的重构过程,每次重构称为一个回合。数据传输时,在网络层采用了多跳路由技术,在物理层嵌入了MIMO技术,源节点采集到的数据以多跳MIMO方式传送到基站。簇内采用具有二次衰落特性的高斯白噪声信道,簇间采用非频率选择性慢衰落瑞利信道模型。
假设各节点具有全局唯一的标识ID且已知基站位置,各节点具有相同的初始能量且发射功率可调。系统的工作过程分为一个个回合,每个回合又分为建立阶段和稳定阶段。
1.1.1建立阶段
各节点按照leach协议的分布式算法决定自己在本回合是否成为簇首节点(ClusterHead,CH),各簇首节点用同样大小的发射功率Pout广播一个通告信息(AdvertisementMessage,ADV)。这里采用非坚持CSMAMAC层协议,ADV包括簇首节点的ID和地理状态信息。如果簇首节点接收到ADV,贝丫将其加入邻居节点列表,用于构建路由表,具体的路由算法将在后面详细说明;如果非簇首节点接收到ADV,则选择接收信号强度最大的一个作为其簇首并发送一个加入簇请求信息(JoinRequestMessage,Join-REQ)。
簇建立后,各簇首节点选择J个簇内节点作为合作节点(CooperativeNodes,CNs),充当MIMO的多根天线,为简化模型,本文以就近原则选择合作节点。然后,各簇首节点生成一个TDMA时间调度表,并进行簇内广播,广播信息包括TDMA调度表、合作节点ID和天线序号以及下一跳簇首节点ID。各节点接收到TDMA调度表后,查看自己是否被选为合作节点。如果是,则继续监听,否则进入睡眠状态。
1.1.2稳定阶段
簇建立后进入稳定阶段,各源节点采集的数据以多跳MIMO的方式接力传送给基站。由于冲突、丢包等原因,在某一回合,某一节点可能没有成功加入簇,或者没有接收到TDMA调度表,导致空簇、找不到合作节点等问题,相关文献都没有或者较少考虑这些具体的细节问题。本文对这些问题进行了较全面的研究,由此设计了一个贴近实际的模拟网络系统。其具体的数据转发流程如下:
普通节点判断是否被分配到TDMA时间片。如果是,则在自己的TDMA时间片内将数据发送给簇首节点,其他时间进入睡眠状态;否则直接进入睡眠状态。
簇首节点判断簇内是否存在其他节点。如果是,则在接收完簇内所有节点的数据后,与自身数据一起进行数据融合,然后转(3);否则直接转(3)。
簇首节点判断是否存在合作节点。如果是,则将数据广播给合作节点,转(4);否则转(5)。
(4)合作节点根据自己的天线序号对接收到的数据进行STBC编码后发送给下一跳簇首节点,转(6)。
(5)簇首节点直接将数据发送给下一跳簇首节点。
簇首节点接收到来自上一跳的数据后,判断是否为STBC编码数据。如果是,则等待接收完各天线数据后进行STBC解码;否则直接转(7)。
重复(3)?(6),直到数据发送到基站(BS)。
为减少码间干扰和冲突,系统采用与文献相同的直接序列扩频技术和CSMA发送方式。
1.2基于距离矢量的改进路由算法
文献采用的是传统的距离失量算法,最初路由表中只包含邻居节点,通过各节点不断地广播和更新,最终收敛到最优的路由表。这种路由方式需要一定的机制和算法来保证路由表收敛,甚至还可能出现目标不可达的情况。为此,本文提出了一种基于距离矢量的改进路由算法。算法具体描述如下:
(1)在簇首广播状态信息阶段,簇首节点接收其他簇首的广播消息,将其标识为邻居簇首,并计算各邻居簇首到BS的直接传输能量损耗。
(2)如果存在邻居簇首,则以BS为目标节点,用MTE算法找出最优局部路由,并初始化路由表;否则将路由表初始化为单跳传输到BS。
(3)如果存在非下一跳簇首,则以最远的非下一跳簇首的传输能量广播自己的路由表。
(4)簇首节点接收到某一簇首节点的路由表后,计算将该簇首节点作为下一跳的总传输损耗。如果比当前路由路径耗能更小,则更新路由表,然后重复(3)(4)。
由于目标节点已知,不需要从邻居节点开始初始化路由表,可以直接把目标节点加入路由表,而且只需加入这一项,这样,就不会出现目标不可达的问题,同时,整个路由表建立过程所需的广播次数和广播数据量也会大大减少。算法充分利用了原来实现LEACH协议所需的簇首广播消息,求出最优局部路由路径,再次减少了需要的广播次数。最后,由于LEACH协议是一种不断重构的动态协议,即使路由不收敛,也只是在本回合部分簇首找不到最优路由路径,但不会形成广播风暴。
2能量模型
节点的能量消耗来自射频模块和CPU模块,射频模块采用与LEACH[2]类似的简单模型,所不同的是,文献[2]以距离划分,而本文以簇划分。
发射机的能耗包括射频电路损耗和功率放大器能耗,分别用Eg(l)和琮*叫(/0)表示。假设簇间信道具有三次衰落特性,簇内信道具有二次衰落特性,则发射/位数据的能耗为:
Etx(l,d)=(I)+&5(I,d)=‘辎吴+f,4,簇内
IEeiec十mpd,簇间
(1)
接收机只有电路损耗部分,即:
Erx(l,d)=ERx-elec(l)=lEelec(2)
其中,服为射频电路损耗系数,诳和細取决于射频放大电路。
CPU模块分活跃、空闲、睡眠三种状态,能耗表达式如下:
R曇xt,活跃状态
EcPU(th=-RiteXt,空闲状态(3)
?RtarXt,睡眠状态
其中,PyPldle和Psleep分别为CPU在三种状态下的功率。由于加入了CPU能耗模块,由系统采用的协议、算法的复杂度带来的能耗代价也考虑在内,仿真结果会更全面,更符合实际,这也是目前大部分文献没有考虑的问题。
3仿真分析
为了分析前面所建立的有关算法和模型的有效性,同时进一步分析多跳路由技术和MIMO技术对LEACH协议带来的性能改善问题,并便于比较,本文对下述三个模型进行了仿真,具体特点如图2所示。其中,模型一为文献[1-2]的单跳LEACH模型,模型二为加入本文提出的改进路由算法之后的多跳LEACH模型,模型三为加入改进路由算法并结合MIMO的多跳LEACH模型。需要说明的是,图2中的横坐标表示时间,纵坐标表示节点的剩余能量。各模型采用相同
的仿真场景,系统具有23个节点,随机分布在100mX30m的二维平面区域,基站位于坐标原点,簇的一个回合为25s,其中,建立阶段5s,稳定阶段20s。能量模块相关参数取值如下:elec=50nJ/bit,sfs=24.08nJ/(m2-bit),smp=24.08nJ/(m3-bit),PActive=2.9mJ/s,Pidie=200uJ/s,Psieep=2.2nJ/s。
(a)模型一的节点能耗特点
(b)模型二的节点能耗特点
(c)模型三的节点能耗特点
图2节点能耗特点仿真图
3.1网络生命周期和节点能耗特点
图2比较了三种模型下网络生命周期和节点能耗特点。仿真中采用与文献[8-9]相同的假设:当网络存活节点数少于60%时,则认为网络死亡。由图2可知,三个模型的网络生命周期分别为1139s、1817s和1845s。改进的路由算法使LEACH协议的网络生命周期延长至1.6倍,而模型三的网络生命周期比模型二略有提高,但改善幅度不大。
比较图2中各曲线的特点还可以发现,模型一具有非常明显的周期性陡峭边缘,代表簇首节点能量的急剧下降,这是直接到基站的长距离射频传输损耗造成的;模型二相对比较平缓,这说明通过多跳传送,节点的射频能量损耗大大减小;模型三的陡峭边缘已经难以区分,这说明通过MIMO技术进行协作通信,进一步降低了节点的发射功率,射频能耗已经可以跟电路损耗相比拟了。这也是模型三与模型二网络生命周期比较相近的原因,因为MIMO技术虽然降低了射频损耗,但电路损耗和CPU损耗会有所增加。
3.2BER,性能
图3比较了模型二与模型三的BER性能,其中横坐标为节点编号,0号节点为基站,可见模型三通过MIMO技术降低了节点射频发射机所需的发射功率。另外,由图3可以看出,即使降低了发射功率,模型三的BER性能仍优于模型二。另外,两种模型的BER都比较大,约为7X10'3,这是因为仿真中两者的射频发射功率(也即信号功率)都较低,或者说信噪比较低,上面已经提到,MIMO技术只能降低射频能量损耗,但会带来额外的电路损耗和CPU损耗。事实上,在考虑了电路损耗和CPU损耗等因素后,MIMO技术仍具有降低无线传感器网络能耗,可延长网络生命周期的潜能,但在低信噪比条件下能耗改善幅度不大。
3.3死亡节点分布
图4比较了三种模型的死亡节点分布情况,图中的横坐标和纵坐标分别代表节点分布区域的二维平面坐标,基站位于坐标原点,数字表示节点死亡的顺序。
从图4中可以看到,模型一的死亡节点集中在离基站最远的地方;模型二通过多跳路由技术远距离节点的能耗由各中继节点分担,靠近基站的节点也较早死亡,因为这些节点要中继更多的数据包;而模型三通过MIMO技术簇首节点的能耗由合作节点分担,使得死亡节点的分布更加均匀。
4结语
本文采用更符合实际情况的多跳簇结构无线传感器网络系统模型,提出了一种基于距离矢量的改进路由算法,在此基础上研究了多跳路由技术和MIMO技术对LEACH协议性能的改善作用,仿真结果证明了改进路由算法的有效性。另外,研究结果表明在考虑了电路损耗和CPU损耗等因素后,MIMO技术仍具有降低无线传感器网络能耗,延长网络生命周期的潜能,但在低信噪比条件下BER性能改善幅度不大。本文中搭建的无线传感器网络系统模型及改进路由算法均考虑到了许多相关文献没有考虑到的具体问题,因此具有更高的应用参考价值。