一种自适应负载的LoRa星型网络低功耗通信方法转让专利

申请号 : CN201910641529.4

文献号 : CN110519832A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈科明张河东虞盛铮乔冠周雪梅

申请人 : 杭州电子科技大学

摘要 :

本发明公开了一种自适应负载的LoRa星型网络低功耗通信方法。当LoRa星型网络中的集中器需要向节点发送数据时,通过节点通信时间表计算闪频序列最大发送时间,节点通信时间集中器向节点发送闪频序列,闪频序列中包括节点信息;将节点唤醒,节点通过二次休眠CAD侦听发现唤醒序列,发现序列后开始接收序列,如果节点信息为本节点的,则向集中器进行应答,等待数据接收,集中器收到应答后开始数据传输,如果接收到的唤醒序列中节点信息不是本节点的,直接进入休眠状态。本发明通过闪频序列唤醒方法,根据网络负载选择不同的侦听周期,在降低网络功耗上显示了强大的优越性,极大地增加了网络吞吐量和降低网络延时。

权利要求 :

1.一种自适应负载的LoRa星型网络低功耗通信方法,其特征在于:LoRa星型网络中的集中器和节点采用基于闪频序列唤醒进行低功耗通信,闪频序列唤醒改变传统唤醒的长前导码方式,将长前导码变成含前导码、节点地址和唤醒后通信方式的闪频序列,具体是:(1)集中器在通信时,集中器发送一种含有短前导码、节点地址和唤醒后通信方式的闪频序列,并且在每次发送完序列的较短时隙间等待节点应答;如果集中器发送闪频序列时间大于最大闪频序列发送周期且未收到应答,则停止发送;

(2)节点在通信时,节点每次唤醒后通过二次睡眠CAD侦听机制进行最多2次间隔大于集中器等待应答时隙的CAD侦听,如果侦听到短前导码,节点切换接收状态接收序列中的节点信息,如果节点信息是本节点的,节点向集中器回复一个应答,表示集中器需要发送数据的节点唤醒成功,节点等待接收数据,集中器开始接收数据,如果节点信息不是本节点的,节点立刻进入睡眠状态。

2.根据权利要求1所述的一种自适应负载的LoRa星型网络低功耗通信方法,其特征在于:集中器通信具体步骤如下:步骤1,根据节点通信时间表,计算最大含有短前导码和含节点信息的数据报文SP发送次数N;

步骤2,发送一个含有短前导码和含节点信息的数据报文SP;

步骤3,集中器切换到接收状态在一个时隙内等待节点的应答;

步骤4,集中器等待节点应答超时,进行下一轮 数据报文SP发送,然后继续等待节点回复,直到数据报文SP发送次数大于最大次数N,停止发送数据报文SP;

步骤5,集中器收到了节点的应答,集中器切换到发送状态,开始发送要发往节点的数据。

3.根据权利要求1所述的一种自适应负载的LoRa星型网络低功耗通信方法,其特征在于:节点通信具体步骤如下:步骤1、节点每个唤醒周期起始时刻切换到CAD模式,首先进行一次CAD侦听;

步骤2、如果侦听到短前导码,切换到接收状态,接收数据包,并分析数据域是否为本节点信息;

步骤3、若是本节点信息,保存通信方式,立即切换到发送状态并发送原数据进行应答,若不是,进行短时间睡眠,然后进行本次唤醒的第二次CAD侦听,其中短睡眠时间大于集中器等待节点应答超时时间;

步骤4、节点应答后切换到接收状态,等待数据接收,数据接收成功后开始数据处理,数据处理完后,若为单次通信方式,调整侦听周期进入睡眠态,若为连续通信方式,继续保持接收状态,等待超时再调整侦听周期进入睡眠态。

4.根据权利要求1至3中任一项所述的一种自适应负载的LoRa星型网络低功耗通信方法,其特征在于:针对LoRa星型网络负载在时间和空间上的不平衡特点,对基于闪频序列唤醒进行低功耗通信进行优化,改变固定侦听周期,通过双阈值流量判定机制动态调整侦听周期。

5.根据权利要求4所述的所述的一种自适应负载的LoRa星型网络低功耗通信方法,其特征在于:所述的双阈值流量判定机制动态调整节点侦听周期具体是:步骤1,初始化U和D两个阈值,设定K 级侦听周期分别为 C1,C2,…Ck,且有 C1

步骤2,侦听周期到达后,经过侦听发现有发往本节点的数据,首先判断侦听周期Ci是否大于Ck/2,,若大于,直接将侦听周期设置为Ck/2;小于的话,将n(t)自减,自减后如果n(t)<-D,并且侦听周期Ci不等于最小侦听周期C1,Ci自减1,否则Ci保持C1,其中n(t) 为节点在第 t 次侦听后其侦听到信道连续忙碌或连续空闲的次数;

步骤3,侦听周期达到后,未侦听到发往本节点的数据,将n(t)自增,自增后如果n(t)>U,并且侦听周期Ci不等于最大侦听周期Ck,Ci自加1,否则Ci保持Ck;

步骤4,侦听周期更新结束,等待下一次侦听周期到达。

说明书 :

一种自适应负载的LoRa星型网络低功耗通信方法

技术领域

[0001] 本发明涉及一种无线通信方法,尤其是涉及一种自适应网络负载的LoRa星型网络低功耗通信方法,属于无线传感器网络的技术领域。

背景技术

[0002] 随着物联网技术的快速发展,对低功耗无线通信技术有了更高的要求。LoRa作为一种典型的低功耗广域物联网技术凭借着抗干扰性强,通信范围广,已得到广泛的应用,通常以星型网络形式进行通信。
[0003] 在集中器和节点组成的LoRa星型网络中,LoRa节点有发送、接收、侦听和睡眠四个状态。睡眠状态功耗小于1ua,侦听状态功耗次于睡眠状态,发送接收态功耗为ma级别。协调好LoRa节点各个状态的转换,减少不必要的接收状态,可以降低节点功耗,提高电池的工作效率,延长节点工作时间,具有重要意义。LoRa星型网络基于侦听的低功耗通信中,通常LoRa集中器发送大于LoRa节点信道活动检测周期的前导码,LoRa节点可通过固定周期信道活动检测前导码来接收数据,这种方法在这些方面存在较大的能量损耗:第一,由于无线信道的广播特性,当节点收到非发往本节点的报文时,会消耗不必要的额外能量,如果节点过早唤醒,需要等待前导码发送完成才能接收数据,不管数据是否发往本节点,都将消耗大量的能量。
[0004] 第二,节点周期性侦听,检测是否有数据接收,即使没有数据接收,也要进行侦听,以不错过任何接收数据,但是侦听周期需要小于前导码长度才行,这样网络延时和功耗就是一对矛盾,通过减小侦听周期缩短前导码来减小网络延时,将增加功耗;通过延长侦听周期来降低功耗,则必须增加前导码长度,这就增加了网络延时。
[0005] 另外LoRa星型网络节点存在以下特点:网络负载存在时间和空间上的不平衡特点,大部分时间节点处于低负载状况下,小部分时间会进行频繁通信,网络负载剧增,不同节点有不同的网络负载。

发明内容

[0006] 本发明针对现有技术的不足,提出一种自适应负载的LoRa星型网络低功耗通信方法,在较低网络延时情况下,较大程度减小能量损耗。
[0007] 在自适应负载的LoRa星型网络低功耗通信方法中,集中器和节点采用基于闪频序列的唤醒进行低功耗通信,闪频序列唤醒改变传统唤醒的长前导码方式,将长前导码变成含前导码、节点地址和唤醒后通信方式的闪频序列,减少网络延时和能量损耗。基于闪频序列的唤醒进行低功耗通信中集中器和节点通信过程分别为:(1)集中器在通信时,集中器发送一种含有短前导码、节点地址和唤醒后通信方式的闪频序列,并且在每次发送完序列的较短时隙间等待节点应答。如果集中器发送闪频序列时间大于最大闪频序列发送周期且未收到应答,则停止发送。
[0008] (2)节点在通信时,节点每次唤醒后通过一种二次睡眠CAD侦听机制进行最多2次间隔大于集中器等待应答时隙的CAD侦听,如果侦听到前导码,节点切换接收状态接收该序列中的节点信息,如果节点信息是本节点的,节点向集中器回复一个应答,表示集中器需要发送数据的节点唤醒成功,节点等待接收数据,集中器开始接收数据,如果节点信息不是本节点的,节点立刻进入睡眠状态。
[0009] 针对LoRa星型网络负载在时间和空间上的不平衡特点,对基于闪频序列的唤醒进行低功耗通信进行优化,改变固定侦听周期,通过一种双阈值流量判定机制,动态调整侦听周期。共有K 级侦听周期,每个节点都有自己的侦听周期,根据网络负载动态调整节点侦听周期,减少网络负载在时间和空间上不平衡特点带来的能量损耗,减小网络延时,解决传统方法的固定侦听周期在功耗和网络延时之间存在的矛盾,提高低功耗网络性能。
[0010] 本发明的有益效果:本发明通过闪频序列唤醒方法,根据网络负载选择不同的侦听周期,在降低网络功耗上显示了强大的优越性,极大地增加了网络吞吐量和降低网络延时。

附图说明

[0011] 下面结合附图和实施例对本发明进一步说明。
[0012] 图1示出了整体框架图。
[0013] 图2示出了集中器通信流程图。
[0014] 图3示出了集中器通信中的最大SP发送次数计算流程图。
[0015] 图4示出了节点通信流程图。
[0016] 图5示出了双阈值流量判定机制动态调整节点侦听周期的方法的侦听周期状态转换图。
[0017] 图 6示出了双阈值流量判定机制动态调整节点侦听周期的方法的侦听周期调整流程。
[0018] 图7示出了总体通信流程示意图。

具体实施方式

[0019] 为使本发明的目的、技术方案和有益效果更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
[0020] 图1示出了整体框架图,自适应负载的LoRa星型网络低功耗通信方法包括基于闪频序列唤醒的低功耗通信,双阈值流量判定机制动态调整节点侦听周期机制。基于闪频序列唤醒的低功耗通信包括集中器通信流程和节点通信流程。双阈值流量判定机制动态调整节点侦听周期机制,对基于闪频序列唤醒的低功耗通信进行优化,减少网络负载存在时间和空间上的不平衡特点带来的能量损耗和网络延时。
[0021] 图2示出了集中器通信流程图。步骤如下:集中器构建一个节点通信时间表,用于记录集中器与节点最后一次的通信时间。
[0022] 集中器在给一个节点发送数据前,在节点通信时间表中找出集中器与节点最近一次通信时间,通过最后一次通信时间计算需要向节点发送闪频序列的最大时间Tmax,从而计算出最大SP发送次数N。
[0023] SP发送次数SP_TX_NUM清零。
[0024] 判断条件:集中器SP发送次数SP_TX_NUM是否小于最大SP发送次数N,若条件成立,构建一个含有短前导码、含节点地址和通信方式的数据的报文SP,发送SP,条件不成立,此轮向节点数据发送结束。
[0025] 集中器SP发送次数SP_TX_NUM是否小于最大SP发送次数N,发送完SP报文后,集中器切换到接收状态在一个时隙内等待节点的应答,节点应答帧只包含节点地址。报文SP的发送时间为Tsp,等待节点应答超时时间为Tack。报文SP的发送时间Tsp可由下面公式计算出:Tsp=Tprem+Taddr,其中Tprem为前导码发送时间,Taddr为节点地址数据的发送时间,Tsp比侦听周期小一个数量级。
[0026] 集中器等待节点应答,如果集中器等待节点应答超时,进行下一轮 SP发送,然后继续等待节点回复,直到SP发送次数大于最大次数N,停止发送SP。
[0027] 集中器收到了节点的应答,对应答节点地址进行校验,节点地址正确,集中器切换到发送状态,开始发送要发往节点的数据。
[0028] 数据通信完成后,集中器更新节点通信时间表。
[0029] 图3示出了集中器通信中的最大SP发送次数计算流程图。步骤如下:查找通信节点的节点时间表信息。
[0030] 计算当前时间节点上次通信时间间隔T。
[0031] T
[0032] T>U*(Ck/2+Ck/2+1+..+Ci),闪频序列最大发送时间Ci,其中k/2
[0033] 计算最大SP发送次数N。
[0034] 图4示出了节点通信流程图,步骤如下:节点处于低功耗睡眠状态。
[0035] 节点睡眠唤醒时间到达,从睡眠状态唤醒后切换到CAD模式,首先进行一次CAD侦听。
[0036] 如果侦听到前导码,切换到接收状态,接收数据包,并分析数据域是否本节点地址。
[0037] 若是发往本节点,记录下唤醒后的通信方式,切换到发送状态发送原数据进行应答,若不是,进行短时间睡眠。其中短睡眠时间为Tss,短睡眠时间大于集中器等待节点应答超时时间,排除在集中器等待节点应答的时进行CAD侦听导致错过集中器前导码的情况。
[0038] 短时间睡眠后,然后进行本轮的第二次CAD侦听。
[0039] 节点应答后切换到接收状态,等待数据接收,数据接收成功后开始数据处理,数据处理完后,若通信方式为单次通信,调整侦听周期进入睡眠态,若为连续通信,继续保持接收状态,更新未接收到数据的时间,若未接收到数据的时间大于最大未接收到数据的时间,调整侦听周期进入睡眠态。
[0040] 图5示出了双阈值流量判定机制动态调整节点侦听周期的方法的侦听周期状态转换图。设节点有 2个阈值U 和 D,依据这两个阈值来动态判决节点当前流量。如果节点连续 U个周期没有接收到数据,则断定当前网络流量较小,需要减小信道侦听频率即延长侦听周期。如果节点连续 D个周期内都接收到数据,则断定网络流量较大,需要增加信道侦听频率即缩短侦听周期。另外有 K 级侦听周期分别为 C1,C2,…Ck,且有 C1
[0041] 图6示出了双阈值流量判定机制动态调整节点侦听周期的方法的侦听周期调整流程。步骤如下:首先初始化U和D两个阈值,默认选择最小的侦听周期C1。
[0042] 侦听周期到达后,经过侦听发现有发往本节点的数据,首先判断侦听周期Ci是否大于Ck/2,,若大于,直接将侦听周期设置为Ck/2。小于的话,将n(t)自减,自减后如果n(t)<-D,并且侦听周期Ci不等于最小侦听周期C1,Ci等于Ci-1,否则Ci保持C1。
[0043] 侦听周期达到后,未侦听到发往本节点的数据,将n(t)自增,自增后如果n(t)>U,并且侦听周期Ci不等于最大侦听周期Ck,Ci等于Ci+1,否则Ci保持Ck。
[0044] 侦听周期更新结束,等待下一次侦听周期到达。
[0045] 图7示出了总体通信流程示意图,流程如下:集中器和接收节点、其他节点1和其他节点2组成LoRa星型网络。
[0046] 集中器准备向接收节点发送数据,接收节点、其他节点1和其他节点2在自己的侦听周期下进行睡眠、唤醒和侦听。
[0047] 集中器开始第1次发送短前导码、节点地址和通信方式的报文SP,此时接收节点还处于睡眠状态,接收节点不能发现集中器的SP报文。其他节点1在集中器发送完第一次报文SP期间,从睡眠状态唤醒,进行第一次CAD侦听,但此时集中器处于等待应答状态,其他节点1也检测不能发现集中器的SP报文,其他节点1则进入短睡眠状态,准备第二次CAD侦听。其他节点2和接收节点一样还处于睡眠状态,其他节点2不能发现集中器的SP报文。
[0048] 集中器开始第2次发送短前导码、节点地址和通信方式的报文SP,此时接收节点还是在睡眠状态,接收节点不能发现集中器的SP报文。其他节点1进行了本节点唤醒周期第二次CAD侦听,这时其他节点1侦听到了前导码,切换到接收模式,接收到数据后对数据进行分析,发现报文数据信息和本节点信息不一致,更新节点侦听周期,立刻进入休眠状态,等待下次唤醒。其他节点2从睡眠态唤醒,进行本节点唤醒周期第一次侦听,节点2侦听到信号,切换到接收模式,接收到数据后对数据进行分析,发现报文数据信息和本节点信息不一致,更新节点侦听周期,立刻进入休眠状态,等待下次唤醒。
[0049] 集中器开始第3次发送短前导码和节点地址的报文SP,接收节点唤醒,进行本节点唤醒周期第一次CAD侦听后,侦听到了集中器的前导码,切换到接收模式,接收到数据后对数据进行分析,发现报文数据信息和本节点信息一致,并且为单次通信方式,保存通信方式后,切换到发送状态,向集中器发送一个ACK应答,然后切换到接收状态。集中器受到ACK,转为数据发送模式,开始向节点发送数据。节点接收数据,由于为单次通信方式,处理完数据后立刻更新节点侦听周期,进入睡眠状态,等待下次唤醒。