一种基于相长干涉的无线传感器网络按需快速唤醒方法与流程

文档序号:12732425阅读:218来源:国知局
一种基于相长干涉的无线传感器网络按需快速唤醒方法与流程

本发明属于无线传感器网络技术领域,具体涉及一种基于相长干涉的按需快速唤醒协议。



背景技术:

在无线传感器网络中,能量一直是需要考虑的关键问题。有研究表明,传感器节点在空闲侦听消耗了大量的不必要的能量。因此传感器节点通常采用睡眠调度以节省能量,只有在清醒(工作)状态才能承担通信任务。睡眠调度虽然可以显著降低能量消耗、提高网络寿命,但是也会增加数据端到端的传输延时,这也给一些延时敏感的应用带来了挑战。如火灾监控、非法入侵监控、空气污染监控等应用,要求最小化数据端到端的传输延时,能够在很短的时间内完成目标事件的感知和汇报。

为了低能耗的快速唤醒睡眠节点,一种有效的方式是给传感器节点配备了额外的低功耗唤醒天线WuRx(Wakeup Receiver),使用主天线进行数据传输,使用WuRx进行唤醒。WuRx要求接收到的信号功率一般高于-29.3dBm,唤醒距离也在35m左右。而传统的天线具有更高的灵敏度和传输距离,例如传感器广泛采用的天线CC2420具有高达-95dBm的灵敏度,其传输距离也在百米级。通过比较可以看出WuRx的灵敏度和工作距离都远远低于主天线。这种性能不匹配会造成需要唤醒的节点无法被及时唤醒,也就是说单跳数据传输范围内的节点需要经过多跳进行唤醒。使用附图1举例来说,如果节点S基于某种路由协议选择节点D为自己的下一跳节点(路由协议通常根据主天线的传输特性建立路由),如果节点SD距离超过了唤醒距离,那么节点S无法直接唤醒节点D,只能首先唤醒A再唤醒D。针对该问题,本发明研究一种基于WuRx的快速唤醒机制,设计一种最小跳数按需唤醒机制,并在唤醒过程中利用相长干涉加强唤醒信号扩展唤醒信号的传输距离,可以最快的唤醒目的节点,最终实现数据的实时性传输。



技术实现要素:

本发明针对上述问题的不足,提出一种基于相长干涉的无线传感器网络按需快速唤醒方法,本发明可以只在需要的时候快速的唤醒睡眠节点,从而在尽可能节能的前提下实现提高数据传输实时性的目的。

本发明为解决上述技术问题提出的技术方案是:

一种基于相长干涉的无线传感器网络按需快速唤醒方法,考虑到低功耗唤醒天线的有限唤醒距离,在任何相邻的数据传输路由节点间,节点将在任何需要的节点和其转发节点之间根据梯度建立最小跳数的多跳唤醒路由并为唤醒路由上的节点指定相长干涉协作节点以及唤醒信号转发延时;在数据通信过程中当有唤醒需求时,将沿着唤醒路由进行唤醒,同时,通过唤醒信号的转发延时设置,使得唤醒上的路由节点和协作节点同时转发唤醒信号,利用相长干涉扩展唤醒范围,直至到唤醒目标接收节点的主天线。

优选的:根据梯度建立最小跳数的多跳唤醒路由的方法:

对于任何一个网络节点S需要唤醒它的下一跳转发节点D时,从节点S开始使用唤醒天线发送唤醒路由建立请求信号WAKEUP_RREQ;在转发过程中每个节点更新并记录距离S的最小跳数为梯度,并转发WAKEUP_RREQ;在转发过程中每个节点会侦听所有邻居节点信号,并选择相同梯度中最强信号的作为自己的协作节点;节点D在收到的所有WAKEUP_RREQ中选择最小跳数的路径,并原路返回唤醒路由建立应答信号WAKEUP_RREP;中间节点在收到WAKEUP_RREP后确定自己是唤醒路由上的节点和协作节点;节点S收到WAKEUP_RREP表示唤醒路由建立和协作节点选择完毕。

优选的:当有相邻节点唤醒的需要时,即有数据需要从发送节点S到达睡眠的唤醒目标接收节点D时,发送节点S将沿着唤醒路由发送唤醒信号WAKEUP_REQ;只有唤醒路由上的节点和协作节点在接收到唤醒信号后按照设定的转发延时转发唤醒信号,利用相长干涉扩大唤醒范围,其他节点将进入睡眠;如果唤醒路由上的节点和协作节点在转发之前侦听到更高梯度节点的唤醒信号则进入睡眠抑制转发;接收节点在接收到唤醒信号后唤醒主天线向发送节点返回WAKEUP_REP信号;发送节点S如果在一定时间内收到WAKEUP_REP信号则进行数据传输,否则重新发送唤醒信号。

优选的:唤醒信号WAKEUP_REQ里仅含有当前节点的梯度和目标节点D。

优选的:唤醒信号转发延时如下设置:

T=(G-g)Tmax/G+Tp

其中,T表示从接收到信号时刻开始的转发延时,G为最大梯度数,g表示当前节点的梯度,Tmax是最大延迟,Tp表示处理信号等所需要的时间,梯度为距离S节点的最小跳数。

相比现有技术,具有以下有益效果:

本发明在使用低功耗唤醒天线的无线传感器网络中,节点将在任何需要的节点和其转发节点之间建立最小跳数的多跳唤醒路由并为唤醒路由上的节点指定相长干涉协作节点。在数据通信过程中当有唤醒需求时,将沿着唤醒路由进行唤醒,同时节点根据梯度确定唤醒信号的转发延时。同时,通过唤醒信号的转发延时设置,使得唤醒上的路由节点和协作节点同时转发唤醒信号,利用相长干涉扩展唤醒范围,加速唤醒过程。通过这种机制,可以只在需要的时候快速的唤醒睡眠节点,从而在尽可能节能的前提下实现提高数据传输实时性的目的。因此本发明可以针对延时敏感的事件监控网络(例如火灾监控、非法入侵监控、空气污染监控等无线传感器网络)等,设计一种按需多跳唤醒路由可以按需的快速唤醒睡眠传感器节点,并在唤醒过程中利用相长干涉加速唤醒过程,并最终实现能耗、网络寿命、传输延时之间的良好平衡关系。

附图说明

图1单跳数据传输的邻居节点需要经过多跳唤醒。

图2唤醒过程。

具体实施方式

附图非限制性地公开了本发明一个优选实施例的结构示意图,以下将结合附图详细地说明本发明的技术方案。

实施例

假设某无线传感器网络随机或有规划的部署在事件监控区域内,每个传感器节点配备了较高功耗的主天线和低功耗的唤醒天线。在无通信任务时,主天线睡眠;在有通信任务时,发送节点会发送唤醒信号,目的接收节点的低功耗唤醒天线接收到唤醒信号后会唤醒接收节点的主天线进行数据传输。本发明假设已经有某种路由协议的存在,即每个节点已经知道自己的下一跳转发节点。

本协议包括两个阶段:唤醒路由的建立阶段和按需唤醒阶段。下面将分别详细叙述每个阶段的具体实施方式。

1)唤醒路由的建立阶段

本阶段为网络初始化阶段,用于建立唤醒路由和协作节点。唤醒路由的建立必须取决于数据传输路由,当某种数据传输路由建立完毕,则唤醒路由建立开始(也可以和路由建立过程同步进行)。如果节点S选择了节点D作为自己的下一跳转发节点,则S发起到达D的唤醒路由建立过程。为最快唤醒,本发明利用相长干涉扩展唤醒范围。具体过程如下。

a.从节点S开始使用唤醒天线发送唤醒路由请求信号WAKEUP_RREQ,包含目的节点D的地址;

b.每个接收到的中间节点建立唤醒梯度,梯度即距离S节点的最小跳数;

c.更新梯度后,每个接收到WAKEUP_RREQ的节点将转发WAKEUP_RREQ;

d.节点D接收到多条路径传来的WAKEUP_RREQ后将选择最小跳数的路由作为唤醒路由(如果有多条最小跳数的路由,则选择最早收到的作为唤醒路由),并原路返回WAKEUP_RREP;

e.中间节点收到WAKEUP_RREP后将确定自己为唤醒路由上的节点,并在WAKEUP_RREP里添加协作节点信息,协作节点侦听到后确定自己为协作节点;

f.节点S收到WAKEUP_RREP后,唤醒路由建立和协作节点选择完毕。

2)数据传输阶段

当节点S有数据发送给D时,首先需要按需的唤醒节点D。节点S沿着唤醒路由发送唤醒信号WAKEUP_REQ。唤醒信号WAKEUP_REQ里仅含有当前节点的梯度和目标节点D,因此相同梯度的节点转发的唤醒信号将是相同的信号,可以利用相长干涉扩展唤醒范围。唤醒过程中,只有唤醒路由上的节点和其协作节点可以转发唤醒信号,在接收到唤醒信号后将根据转发延迟T转发唤醒信号。其中每个节点的转发延迟T是根据节点的梯度设置的,具体设置如下:

T=(G-g)Tmax/G+Tp, (1)

其中T表示从接收到信号时刻开始的转发延迟,g表示当前节点的梯度;Tp表示处理信号等所需要的时间,设为一个固定值;G为最大梯度数,为固定值,可以根据数据传输距离和唤醒距离来设定(例如G=4);Tmax是最大延迟,也为固定值,例如Tmax=50ms。

这种转发延迟设置使得相同梯度节点转发唤醒信号转发延迟T是相同的,且高梯度的节点可以更快的转发,其结果是相同梯度的转发延时相同,保障唤醒路由上的节点和其协作节点可以同时转发。其目的有二,每个梯度的节点将在接收到WAKEUP_REQ后在相同的延时后同时转发WAKEUP_REQ,可以有效利用相长干涉提高唤醒距离;当低梯度的节点听到高梯度的节点转发WAKEUP_REQ后将抑制自己的转发进入睡眠,高梯度的节点转发延时更小而低梯度的节点转发延时更大,最大可能的降低能量消耗。

当有相邻节点唤醒的需要时,即有数据需要从发送节点S到达睡眠的唤醒目标接收节点D时,发送节点S将沿着唤醒路由发送唤醒信号WAKEUP_REQ;只有唤醒路由上的节点和协作节点在接收到唤醒信号后按照设定的转发延时转发唤醒信号,利用相长干涉扩大唤醒范围,其他节点将进入睡眠;如果唤醒路由上的节点和协作节点在转发之前侦听到更高梯度节点的唤醒信号则进入睡眠抑制转发;接收节点在接收到唤醒信号后唤醒主天线向发送节点返回WAKEUP_REP信号;发送节点S如果在一定时间内收到WAKEUP_REP信号则进行数据传输,否则重新发送唤醒信号。

下面将具体介绍唤醒过程。

每个节点S有数据需要发送给睡眠节点D时,节点S发送唤醒信号WAKEUP_REQ,其中包含当前梯度0和目的节点D的地址。

每个节点在收到唤醒信号WAKEUP_REQ后,将进行如下操作:

a.记录接收时间为Tr;

b.如果当前节点不是到达D的唤醒路由上的节点或是协作节点,则丢包清空Tr并进入睡眠;

c.如果当前节点是到达D的唤醒路由节点或协作节点,则保持侦听,并设定转发时间为Ttx=Trx+T,其中T是根据公式(1)设定的转发延时。

d.如果当前节点在转发唤醒信号前监听到高梯度节点的WAKEUP_REQ,则丢包清空Ttx并进入睡眠;

e.当前节点在Ttx时刻转发唤醒信号WAKEUP_REQUEST,内含当前节点的梯度和目的节点D的地址。

该过程一直持续,直到D节点接收到WAKEUP_REQ被唤醒。D节点被唤醒后将使用主天线发送WAKEUP_REP信号,包含自己的ID信息等。

f.当节点S侦听到D的WAKEUP_REP,则进行数据传输。如果节点S在一定时间内没有侦听到D的WAKEUP_REP,则重新启动唤醒过程。

下面将举例说明唤醒过程如何进行的。

如附图2所示,节点S的下一跳路由节点为节点D,节点S需要快速唤醒D。SD之间的唤醒路由为S-w1-w2-w3-D,节点c1c2c3分别是w1w2w3的协作节点。S将首先发送唤醒信号WAKEUP_REQ,节点w1和c1接收到唤醒信号后,根据自己的转发延时同时转发唤醒信号。由于相长干涉的作用,节点w2w3c2都接收到了唤醒信号。根据转发延时的设置,w3将更早的转发唤醒信号,w2和c2监听到w3的唤醒信号后将进入睡眠。最后w3唤醒了节点D。至此唤醒过程结束。图中灰色节点表示转发了WAKEUP_REQ的节点,白色节点表示未转发的节点。

节点D被唤醒后会打开主天线,返回WAKEUP_REP信号,节点S收到WAKEUP_REP后即可发送数据。节点D在接收到数据之后将再次启动唤醒过程和数据传输过程。该过程一直持续到数据到达sink节点。

上面结合附图所描述的本发明优选具体实施例仅用于说明本发明的实施方式,而不是作为对前述发明目的和所附权利要求内容和范围的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属本发明技术和权利保护范畴。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1