掌桥专利:专业的专利平台
掌桥专利
首页

一种基于LoRa网络的预约时隙分配方法

文献发布时间:2023-06-19 11:39:06


一种基于LoRa网络的预约时隙分配方法

技术领域

本发明涉及一种基于LoRa网络的预约时隙分配方法,属于通信网络技术领域。

背景技术

LoRa技术具有通信距离长、抗干扰能力强,低功耗等特点,被广泛应用于广域传感、监控等工业领域,为大量设备提供长距离的节能支持。LoRaWAN是基于LoRa网络的上层协议,其定义了整个LoRa自组网的MAC操作。在LoRaWAN标准协议中,终端的信道接入方式是纯Aloha机制,即不进行信道检测,直接发送。当终端数量增多或发送包数量增多时,多个终端的包在信道上发生碰撞的概率大大增加,极易产生数据冲突,降低信道利用率。因此,最初LoRa自组网技术多应用在对数据延迟容忍度较高的领域。随着LoRa技术的发展,LoRa技术已逐渐应用于对实时以及重要数据的收发可靠性要求较高的领域,这就对LoRaWAN安全性以及数据传输的时效性提出了更高的要求。

固定帧时隙算法(Framed Slotted Aloha,FSA)的特点是将数据传输时间分成固定长度的时帧,每个时帧分成若干个时隙,其帧结构如图1所示。在整个识别过程中不改变帧的大小,每一帧的最大时隙数固定为m。帧中每个时隙都足够一个发送端向接收端发送完自身的ID信息。节点通过竞争时隙获得数据传输的机会,终端节点随机选择m个时隙中的一个与网关通信,一旦发生碰撞则等到下一帧的时候再随机选择时隙重发,而不是随机延迟若干时隙后重发。这样每个发送端在每一个帧中只占用一个时隙进行通信,在同一帧中,同一个发送端不会重复发送数据。可以理解为通过固定的规则为每个节点分配固定的时隙。

发明内容

固定帧时隙的弊端有如下两点:

(1)终端通过争抢时隙的方式接入信道,极易发生传输碰撞且碰撞发生后会延时退避,等待下一时帧再次发送,产生传输时延。

(2)由于每个时帧内的时隙数量是固定的,当节点数远小于时隙数时,多余时隙空闲造成浪费;当节点数远大于时隙数时,碰撞概率增加。因此传输效率较低,终端接入网络的识别率较低。

因此,设置合适的时帧长度对数据传输效率极为重要。本发明从终端信道接入的角度出发,以降低数据发送时延为目的,在时隙Aloha算法基础上进行改进,提出一种在高安全性和高实效性应用场景下,编码预约的时隙分配方法(Coded-appointmentFramedSlottedAloha,CFSA),根据预约队列的长度,动态调整时帧的长度,实现时隙的按需分配。

本发明采用下述的技术方案:

一种编码预约的时隙分配方法,该方法在时隙Aloha基础上采用编码预约的方式,使重要节点在数据发送前先预约抢占时隙;同时根据重要节点预约申请的数量,动态调整时帧的长度。每个时帧的第一个时隙为广播时隙,用于编码预约和时隙分配;其余时隙为数据传输时隙。

编码预约是指,终端发送携带编码序列的数据包申请预约时隙,该过程会被相邻节点感知;由网关对数据包进行分类,携带编码的重要节点加入预约队列,预约成功的节点在数据传输时隙开始后接入固定分配的时隙,普通节点竞争剩余时隙。所述编码序列包含头部信息和冲突矩阵,头部信息包含源地址、目的地址和业务类型,其中业务类型存储在一位寄存器中,由{0,1}表示,0表示普通节点不参与预约,1表示重要节点申请预约时隙;网关根据编码序列的头部信息确定业务流程。普通节点竞争剩余时隙时,若发生碰撞则延时退避,在下一个时帧继续竞争接入,其他未发生碰撞的节点顺利进行数据传输,直到当前时帧的时隙全部被占用,方可进入下一个时帧。

动态调整时帧的长度是指在当前时帧结束时根据时隙的占用情况和申请数据包的数量对下一时帧的帧长进行调整。通过重要节点在进行数据传输前先预约时隙的方式统计通信所需的时隙数量,保存在预约队列信息中,重要节点申请时隙的数量即预约队列长度k,若预约队列长度超出当前时帧的时隙数量,在下一时帧对帧长进行增加,若预约队列长度远小于当前时帧的时隙数量,在下一时帧对帧长进行减少。动态调整时帧长度时下一时帧的帧长只能从多个数值中进行选择,不能任意取值。最终选择的帧长是在所述多个数值中,大于且最接近k+1的值。

优选地,帧长在8、16、32、64、128和256个时隙中选择。

与固定帧时隙Aloha相比,本发明的方法可进一步降低数据发送时延,确保重要节点数据传输的时效性与可靠性。

附图说明

图1示出了FSA时帧结构;

图2是CFSA时帧结构图;

图3示出了CFSA方法分配的一个具体实施例;

图4示出了基于编码预约的时隙分配策略;

图5是冲突矩阵位图;

图6是基于编码预约的时隙分配方法(CFSA)流程图;

图7示出了FSA方法的空闲时隙比率与负载的关系;

图8示出了FSA方法的识别率与待识别节点数的关系;

图9示出了本发明CFSA与FSA空闲时帧的概率;

图10是CFSA与FSA平均时延对比图;以及

图11示出了CFSA与FSA平均系统识别率对比。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

为解决现有技术的问题,并且考虑在实际的应用场景中,某些重要数据的传输对时效性和可靠性的要求更高的特点,在此采用编码预约的方式,通过发送前先预约抢占时隙来减少碰撞。该机制将终端发送数据前的信道接入过程分为编码预约与时隙分配两个过程。

1.1时帧的划分

编码预约过程是指,终端发送携带编码序列的申请数据包申请预约时隙,申请节点加入预约队列,该预约队列信息由一个矩阵保存。每个节点可以发送一个或多个预约申请,每次申请最多能获得一个时隙的使用权,网关根据预约成功的数量分配等量的时隙。每个申请数据包携带的编码序列中包含1bit位来表示节点的业务状态。时隙分配过程是指预约成功的终端节点在接入时顺序占有时隙,而剩余不参与预约的节点随机接入剩余时隙。从而达到降低碰撞概率,提高信道利用率且提高数据传输有效性和可靠性的目的。

图2所示为一个时帧中时隙划分的结构图,每个时帧划分为n个时隙,每个时帧的第一个时隙为广播时隙,剩余n-1个时隙为数据传输时隙。在广播时隙开始后,所有需要发送数据的重要节点逐个加入预约队列,由网关计算队列长度并向所有节点广播。在数据传输时隙开始前对时隙完成分配,根据预约队列长度确定需要分配给重要节点的时隙数量m-1,确保重要节点的数据传输。剩余n-m个时隙由普通节点竞争接入,发生碰撞时延时退避,即在下一个时帧时,继续竞争接入。终端与基站之间通过数据包收发计算出来的时间偏差对本地时钟进行修正,以此实现终端与基站的时钟同步。

图3为x个终端情况下CFSA方法分配时隙的一个具体实施例,终端1、3、4、5为重要节点,在预约到的时隙中顺序传输。终端2、x为普通节点在竞争剩余时隙时发生碰撞,随后在当前时帧不再重传,等待下一个时帧的竞争时隙继续发送。

1.2编码预约的时隙分配策略

编码预约的时隙分配策略如图4所示。图中,重要节点和普通节点的数据包到达,由网关对数据包进行分类,携带编码的重要节点加入预约队列,预约成功的节点在数据传输时隙开始后接入固定分配的时隙,普通节点竞争剩余时隙。

在进行编码预约时,终端发送携带编码序列的申请数据包申请预约时隙,该过程会被相邻节点感知。编码序列包含头部信息(源地址、目的地址、业务类型)以及冲突矩阵。其中业务类型只需存储在一位寄存器中,由{0,1}表示,0表示普通节点不参与预约,1表示重要节点申请预约时隙。网关根据编码序列的头部信息确定业务流程。重要节点加入预约队列,预约成功的节点获得一个自增量f作为预约编号。所有预约编号将被封装成预约队列信息,保存在冲突矩阵S(f,g)中,g表示当前时隙在本时帧中的序号。该矩阵由位图的形式表示为图5。网关广播该冲突矩阵,节点本地保存冲突矩阵并维护预约队列信息。

网关根据预约成功的数量分配等量时隙。预约成功的终端节点在接入时遍历冲突矩阵S(f,g)相应的那一行数据,每一比特位代表当前时隙是否可被该节点占用,当前遍历到的数字为1时,表示节点预约到了该时隙,这个过程即为译码的过程。而剩余不参与预约的节点随机接入剩余时隙。从而达到降低碰撞概率,提高信道利用率且提高数据传输有效性和可靠性的目的。

图6为基于编码预约的时隙分配方法的流程图。N表示数据传输的总时帧数量;k代表当前预约队列当前长度;clock

CFSA算法通过重要节点在进行数据传输前先预约时隙的方式统计通信数量,若预约队列长度超出当前时帧的时隙数量,表示当前通信需求较大,可在下一时帧对帧长进行增加,若预约队列长度远小于当前时帧的时隙数量,可在下一时帧对帧长进行减少,以此实现对时帧长度的动态调整以及对时隙的动态按需分配。当要接入的重要节点较多时,算法修改帧长参数,动态增加帧长,降低时隙碰撞概率,提高系统性能;当待接入的重要节点数量较少时或者随着识别过程的进行,动态地缩短帧长,降低空闲时隙数比率,可以减少浪费,提高时隙利用率,提高系统性能。

帧长选择算法中,假设一帧中的可用于数据传输的时隙数为n,并且待识别的申请数据包,即预约申请的数量为n

所以被t个申请数据包用的时隙数m服从

故,可得成功识别申请数据包S

系统识别率T:

对上式微分,可得n

式(4)表明当一帧中可用于数据传输的时隙数目等于网关中待识别申请数据包数目时,系统的识别率最高,系统的节点加入的速度越快。所以在算法调整时隙数量的时候,根据上一时帧的时隙占用情况调整可用于数据传输的时隙数量n使之尽量接近预约队列长度k的值,但是同时又要预留一部分时隙供普通节点竞争传输,所以n应该是大于k的值。

但是实际应用中,动态调整帧时隙算法的帧长只能从多个数值中进行选择,不能任意取值。因为RFID系统传输的数据包一般为ID信息,ID数据包一般为96位的EPC编码,基于时隙的Aloha算法约定终端节点和基站之间的一次通信可以在一个时隙内完成。时隙长度的选择与整个系统的识别时间长短成线性关系。为了尽可能地缩短系统识别时间,提高系统识别速度,就需要尽量缩短每个时隙的长度。在数据传输速率相同的情况下,要缩短时隙长度,又要保证基站和终端节点之间的身份识别在一个时隙内完成,就必须减少每一时隙内的数据传输量。由于帧长信息需要及时更新,如果帧长可以任意选择,如249,则需花费8位来传输帧长信息,无疑是一种浪费。为此,本发明的CFSA方法中规定帧长的取值在8、16、32、64、128和256个时隙之间选择,并利用3个bit位来表示这六种帧长选择形式。

公式(5)为数据包发送所需时间的计算公式。其中,L

在普通节点竞争阶段由于竞争会产生退避延时,所以要考虑延时重传时间对时延的影响。假设第一个广播时隙的时间长度为T

t=T

若数据包发生碰撞而必须重传,由超时定时器决定重传需要经过的时间也是W倍的T

T

最大为

T

若一个数据包平均重传N

其中,固定帧时隙算法下T

算法在调整帧长时要计算重要节点申请时隙的数量即预约队列长度k,以此来判断当前通信对时隙的需求量。每个时帧有一个广播时隙,为了保证重要节点的数据传输,一个时帧中的时隙数量至少为k+1,考虑需要预留一部分时隙供普通节点的竞争接入,又要保证系统的识别率,使得一帧中可用于数据传输的时隙数目尽量接近预约队列长度,所以在本发明的技术方案中,最终选择的帧长应当是在6种帧长范围内,大于且最接近k+1的帧长。

2系统模型仿真

为测试算法的合理性,本申请在OPNET仿真平台搭建LoRa仿真模型。系统模拟搭建在1*1千米的工作范围之内,分别设定了节点数为8、16、32、64、128和256的六个场景,节点呈星型分布。本次仿真在理想信道下模拟数据传输过程中的时隙分配过程,并与LoRaWAN标准协议下的信道分配机制进行对比分析。系统初始化设置中,最初时隙数设置成8,其中用于预约的第一个时隙为1,初始预约队列为空,表示此时分配给重要节点的时隙数量为0。其余参数设置见表1。

表1仿真参数设置

参数clock_W为等待时钟,是终端与网关之间同步的重要参数。每个封装数据包中包含一个长1bit的包类型字段(Packet-Type),当Packet-Type为1时,表示此数据包为终端产生的数据包,当Packet-Type为0时,表示此数据包为网关产生的数据包。封装数据包中包含一个Round_Size字段表示帧长,该字段包含3个bit,可以表示0-7这8个不同的数值。为了减少数据包的长度,降低系统负载,提高系统的传输速率和识别效率,利用2-7这6个数字,分别代表长度为8、16、32、64、128和256个时隙的6种不同的帧长。

利用该系统分别模拟了不同终端数量下,时帧的空闲时隙占比随帧长的变化关系,如图7所示。由图7可知,帧长的增加也会导致空闲时隙的增多,形成时隙浪费,并且在相同帧长情况下,终端数量越少,时隙浪费越严重。因此,需在满足系统碰撞概率和空闲时隙占比的要求下,根据终端数量动态选择系统帧长,提升信道利用率。

根据公式(4)计算的系统识别率受帧长和待识别申请数据包数量的影响。由图8可知,不同节点数目下,系统识别率随着帧长呈现出先增长后降低的趋势。因为系统识别率受碰撞时隙概率和空闲时隙占比的影响,最初随着帧长的增加,碰撞时隙减少,系统的识别率会增高。之后,帧长增加空闲时隙增多,系统识别率就会逐渐降低。因此,平衡碰撞概率和空闲占比两者的关系才能有效提高系统识别率。在对模型进行验证的过程中,首先通过固定帧时隙算法对系统识别率的仿真实验,得出FSA算法下节点与最佳帧长的对应关系,并根据这个结果对FSA在不同节点数量下的帧长进行调整以达到FSA算法的最佳状态,将最佳状态下的FSA算法与可动态调整帧长的CFSA算法进行对比。

图9所示为CFSA和FSA空闲时隙的占比对比图,从图中可以看出,CFSA降低了空闲时隙的占比,也就是提高了时隙的利用率。图9中,FSA算法下空闲时隙占比整体偏高,因为随着节点数目的增多,势必要调整固定帧时隙的帧长来避免碰撞概率,而一直增加帧长会大大增加空闲时隙的占比。而CFSA算法根据重要节点申请数据包数目动态改变帧长,有效降低了空闲时隙的占比,这也是本发明技术方案的优越性所在。CFSA算法根据固定帧时隙算法的最优系统识别率,可选择最优帧长,根据最优帧长下终端产生平均数据包可推断终端的平均重传次数,如表2所示。

表2平均重传次数

通过表2可推导出固定帧时隙算法的平均时延,并与CFSA算法的平均时延进行比较,如图10所示。

从图10可以看出,因为CFSA方法是根据节点发送预约申请的数量来分配时隙,且严格的优先级制度确保重要节点的优先传输,所以既避免了重要节点的碰撞概率,进而减少重传次数,又减少了空闲时隙的浪费,从这两个角度大大降低时延。而FSA算法数据碰撞概率和空闲时隙占比较高,所以数据包重传次数增多,造成了较高的时延。

图11所示为编码预约的时隙分配方法与固定帧时隙算法系统识别率的对比。提取固定帧时隙算法在不同节点数目下,系统性能最优的时候(即人为调整固定帧时隙的帧长,以达到系统性能最优化),与编码预约时隙分配方法下的系统识别率做出对比。结果可以看出CFSA的识别率远远高于FSA。图中随着节点数的增加,FSA的系统识别率呈现下降的趋势,主要是因为随着节点数目的增加,碰撞时隙概率整体呈现为上升,空闲时隙的概率大大增加。

本发明针对实时数据传输出现的数据碰撞问题提出一种可预约的时隙分配方法,从减少重要节点的数据碰撞概率与减少时帧空闲时隙两个角度来提高系统性能。经与现有技术对比,本发明的技术方案无论是从系统识别率上还是碰撞时隙与空闲时隙的占比上均优于固定帧时隙方法。同时,本申请的方法引入编码预约机制对时隙进行精准分配,实现降低重要节点的传输时延同时提高系统识别率的效果,进而保证了高级节点中重要数据的传输。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于LoRa网络的预约时隙分配方法
  • 基于请求排序的无线分布式网络时隙预约和分配方法
技术分类

06120113003446