一种LoRa最小PingSlot个数预测方法转让专利

申请号 : CN201910021788.7

文献号 : CN109617744B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨鲲曾玉婷刘强张科梁萧

申请人 : 电子科技大学

摘要 :

本发明公开一种LoRa最小PingSlot个数预测方法,针对LoRaWAN规范中的Class B模式,存在打开过多PingSlot浪费电池电量的问题;本发明首先获取服务器以128s内下行数据量为单位的若干不同长度的下行数据时间序列,通过d次差分使序列平稳;根据处理后的平稳时间序列建立最优的ARIMA(p,d,q)模型,服务器根据建立的ARIMA(p,d,q)下行时间序列模型预测未来128s的数据量,从而准确选择适合的PingSlot个数和补偿上行个数,兼顾终端下行效率和能耗的要求。

权利要求 :

1.一种LoRa最小PingSlot个数预测方法,其特征在于,包括:基于ARIMA模型,得到不同长度的下行数据量时间序列对应的若干下行通信量预测值;对这若干个下行通信量预测值进行加权平均计算,得到最终的下行通信量预测值,根据最终的下行通信量预测值确定PingSlot个数和补偿上行个数;所述时间序列下行数据量是以一个Beacon周期内的下行数据量为单位;

其中,根据最终的下行通信量预测值确定PingSlot个数和补偿上行个数,具体为:最终的下行通信量预测值为dcount,根据LoRaWAN协议2n-1

终端传输数据后打开接收窗与单独打开一个PingSlot的能耗比为3:1,预测中比协议规定多出的下行通行量extra=dcount-2n-1;

当extra>2n-1/3,则打开2n个PingSlot,不需要上行链路打开额外的接收窗口;

当extra<=2n-1/3,则打开2n-1个PingSlot,同时在一个Beacon周期内定期发送extra个上行数据打开额外的下行接收窗;

其中,dcount表示样本数量,n表示根据协议得出的最终的PingSlot个数对应的2的阶次。

2.根据权利要求1所述的一种LoRa最小PingSlot个数预测方法,其特征在于,基于ARIMA模型,得到不同长度的下行数据量时间序列对应的若干下行通信量预测值;具体包括以下步骤:A1、初始化时间序列的长度N、平稳化过程中的差分阶数d;

A2、对当前预测时刻收集到的长度为N的下行数据量时间序列进行平稳性判定,若非平稳,则对当前d值进行自加1运算,并更新d值,然后对当前下行数据量时间序列进行d次差分;否则记录当前的d值;

A3、根据步骤A2得到的平稳的下行数据量时间序列,建立最优的ARIMA(p,d,q)模型;

其中,p为自回归阶数,q为移动平均阶数,d表示平稳化过程中的差分阶数;

A4、检验步骤A3所建立的ARIMA(p,d,q)模型是否为有效模型,若是则执行步骤A5,否则返回步骤A2;

A5、根据步骤A3建立的最优的ARIMA(p,d,q)模型进行预测,得到一个对应的下行通信量预测值;

A6、判断经步骤A5预测得到的下行通信量预测值个数是否小于M个;若是则将N自加1运算,并更新N值,然后返回步骤A2;否则得到M个不同长度的下行数据量时间序列对应的下行通信量预测值。

3.根据权利要求2所述的一种LoRa最小PingSlot个数预测方法,其特征在于,步骤A1中的N初始赋值为56,d初始赋值为0。

4.根据权利要求3所述的一种LoRa最小PingSlot个数预测方法,其特征在于,步骤A4具体为:A41、采用极大似然估计法得到步骤A3建立的最优的ARIMA(p,d,q)模型的待定参数p、q;

A42、检验残差序列是否为白噪声,若是则该模型有效;否则无效。

5.根据权利要求4所述的一种LoRa最小PingSlot个数预测方法,其特征在于,加权平均计算时每个下行通信量预测值的权值为θ=cur/total;其中,cur表示该下行通信量预测值对应的下行数据量时间序列的长度,total表示所有预测值对应的下行数据量时间序列长度之和。

说明书 :

一种LoRa最小PingSlot个数预测方法

技术领域

[0001] 本发明属于低功耗广域网通信技术领域,特别涉及一种LoRaWAN最小PingSlot个数预测技术。

背景技术

[0002] LoRaWAN是一种LPWAN(低功耗广域网)技术规范,其最大的特点是远距离低功耗。为最大程度保证低功耗,协议中设计的Class B设备,除像Class A模式在上行传输后打开两个短接收窗口进行下行通信,还在预设时间开放了额外的接收窗口(PingSlot)进行下行数据的接收。PingSlot的机制一定程度上提高了下行通信的效率,但现有的PingSlot机制存在数量过多消耗过多的电量,会造成LoRa终端能耗过高影响设备电池寿命的问题。
[0003] Class B终端首先通过接收网关发送的Beacon(128s一次)同步整个LoRa网络的时间,随后根据特定的算法确认预设时间上接收窗口的个数,在特定的时间打开接收窗口进行下行通信。根据分析不同应用场景下服务器的通信行为,可以将某些场景中128s内的下行数据量视为基于时间的序列。因此为准确预测接收Beacon后需要打开的个数,同时兼顾LoRa设备低功耗的需求,采用对时间序列研究极为重要的差分整合自回归滑动平均模型(Autoregressive Integrated Moving Average Model,ARIMA)预测下行通信数据量。
[0004] ARIMA模型将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。

发明内容

[0005] 为了解决现有技术中存在的PingSlot数量浪费、LoRa终端能耗过高等问题,本发明提出一种LoRa最小PingSlot个数预测方法,基于ARIMA模型,建立服务器下行数据量预测框架,根据预测的值选择合适的PingSlot个数,兼顾终端下行效率和能耗的要求。
[0006] 本发明采用的技术方案为:一种LoRa最小PingSlot个数预测方法,基于ARIMA模型,得到不同长度的下行数据量时间序列对应的若干下行通信量预测值;对这若干个下行通信量预测值进行加权平均计算,得到最终的下行通信量预测值,根据最终的下行通信量预测值确定PingSlot个数和补偿上行个数;所述各下行数据量时间序列的单位是一个Beacon周期内的下行数据量;具体包括以下实现过程:
[0007] 首先,基于ARIMA模型,得到不同时间序列长度对应的若干下行通信量预测值;具体包括以下步骤:
[0008] A1、初始化时间序列的长度N、平稳化过程中的差分阶数d;N初始赋值为56,d初始赋值为0;
[0009] A2、对当前预测时刻收集到的长度为N的下行数据量时间序列进行平稳性判定,若非平稳,则对当前d值进行自加1运算,并更新d值,然后对当前时间序列进行d次差分;否则记录当前的d值;
[0010] A3、根据步骤A2得到的平稳的时间序列,建立最优的ARIMA(p,d,q)模型;
[0011] 其中,p为自回归阶数,q为移动平均阶数,d表示平稳化过程中的差分阶数;p,q根据序列的自相关系数ACF和偏相关系数PACF,利用AIC和BIC定阶法则确定。
[0012] A4、检验步骤S3所建立的ARIMA(p,d,q)模型是否为有效模型,若是则执行步骤A5,否则返回步骤A2;步骤A4具体为:
[0013] A41、采用极大似然估计法得到步骤A3建立的最优的ARIMA(p,d,q)模型的待定参数p、q;
[0014] A42、检验残差序列是否为白噪声,若是则该模型有效;否则无效。
[0015] A5、根据步骤A3建立的最优的ARIMA(p,d,q)模型进行预测,得到一个对应的下行通信量预测值;
[0016] A6、判断经步骤A5预测得到的下行通信量预测值个数是否小于M个;若是则将N自加1运算,并更新N值,然后返回步骤A2;否则得到M个不同时间序列长度对应的M个下行通信量预测值。
[0017] 其次,加权平均计算
[0018] 根据步骤S6中存储的M个未来128s内通信量的预测值,通过加权平均生成当前预测时刻128s内的下行数据量预测值。其中每个预测值的权值为:θ=cur/total;其中cur表示该预测值对应的时间序列个数,total表示所有预测值对应的时间序列个数之和。
[0019] 最后,根据最终的下行通信量预测值确定PingSlot个数和补偿上行个数;
[0020] 最终的下行通信量预测值为dcount,根据LoRaWAN协议规定PingSlot的个数必须为2的n次幂,因此先判断2n-1
[0021] 当extra>2n-1/3,则打开2n个PingSlot,不需要上行链路打开额外的接收窗口;
[0022] 当extra<=2n-1/3,则打开2n-1个PingSlot,同时在一个Beacon周期内(128s内)定期发送extra个上行数据打开额外的下行接收窗;
[0023] 其中,dcount表示样本数量,n表示根据协议得出的最终的PingSlot个数对应的2的阶次。
[0024] 本发明的有益效果:本发明的一种LoRa最小PingSlot个数预测方法;以128s内的下行数据量作为一个数据,契合Beacon周期,使预测的下行通信量不需要再经过复杂的处理即可使用;本发明的方法具备以下优点:
[0025] 1、根据某些场景中服务器下行数据是基于时间的序列,采用ARIMA模型准确通过历史数据预测未来的通信量,尽可能地避免了打开大量PingSlot而造成的浪费;
[0026] 2、采用不同长度的时间序列分别进行预测,充分保证了选择数据的有效性;
[0027] 3、通过加权平均取得最终下行通信量预测值,降低了单次预测造成的偶然性;
[0028] 4、通过分析下行数据量与PingSlot个数必须为2的n次幂特征,权衡发送上行数据打开接收窗口与单独打开PingSlot的耗能情况,选择最恰当的PingSlot个数和上行补偿个数。

附图说明

[0029] 图1为本发明实施例提供的原理框图;
[0030] 图2为本发明实施例提供的流程框图。

具体实施方式

[0031] 为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
[0032] 本发明的方法基于ARIMA模型,这个模型一旦被识别就可以通过时间序列的过去值及现在值来预测未来值;因此该模型可以根据历史下行数据来预测未来128s(即一个Beacon周期)内下行的数据量,从而选择合适的PingSlot个数,尽可能的减少终端的能耗。
[0033] 如图1所示为本发明的原理框图,本发明的一种LoRa最小PingSlot个数预测方法,基于ARIMA模型,得到不同长度的下行数据量时间序列对应的若干下行通信量预测值;对这若干个下行通信量预测值进行加权平均计算,得到最终的下行通信量预测值,根据最终的下行通信量预测值确定PingSlot个数和补偿上行个数。
[0034] 本发明中各下行数据量时间序列的单位为一个Beacon周期内的下行数据量。
[0035] 如图2所示,本发明的具体实现流程为:
[0036] 1、初始化下行数据量时间序列的长度N;本实施例中N初始值为56,在收到一个Beacon后可以持续2个小时的class B模式,因此预测从2个小时前开始,最大程度考虑协议要求,得到最小的下行数据量时间序列的长度为2*60*60/128,约为56。
[0037] 2、将服务器在128s(即一个Beacon周期)内的下行数据量记为一个数据,收集一定时间长度的序列,剔除数据中的0和明显过大的值,从中选取长度为N的序列。
[0038] 3、根据ADF单位根检验判断步骤2选取的序列是否平稳,若是转步骤5,否则执行步骤4。
[0039] 4、差分值d加1,对数据进行一次差分处理,转至步骤3,初始时d赋值为0。
[0040] 5、记录当前的d值,根据步骤3得到的平稳下行通信量时间序列,由序列的自相关系数ACF和偏相关系数PACF,得到ARIMA(p,d,q)模型的阶数p和q;
[0041] 根据得到的p,q值,确定对应的AIC值,选取使AIC值最小的p,q;若得到2组或2组以上相同的AIC值,则通过比较BIC值确定,选取使BIC最小的p,q值。
[0042] 其中AIC定阶准则为:AIC=2k-2ln(L);BIC定阶准则为:BIC=kln(n)-2ln(L);k为模型参数个数,n为样本数量,L为似然函数。
[0043] 根据得到的p,q,d值确定ARIMA(p,d,q)模型。
[0044] 6、根据步骤5中建立的ARIMA(p,d,q)模型,使用极大似然估计ARIMA(p,d,q)模型的待定参数p,q,检验模型中的自回归部分和滑动平均部分参数是否具有统计意义;
[0045] 7、利用假设检验,诊断残差序列(p,q在步骤5得到的实际值与在步骤6得到的估计值之差)是否为白噪声序列;若是则执行步骤8;否则返回步骤2,以长度N重新选取下行数据量时间序列。
[0046] 8、采用检验合格的模型进行L步预测:时间序列Xt在t时刻第h步预测值公式:
[0047] 其中,
[0048]
[0049]
[0050] 其中,Φ为系数,无具体的物理含义。
[0051] 9、判断当前预测时刻是否已经存储M个数据,若是则执行步骤10,否则执行N=N+1,然后返回步骤2;
[0052] 10、根据步骤9中存储的M个未来128s内下行通信量的预测值,通过加权平均生成当前预测时刻128s内的下行数据量预测值。其中每个预测值的权值θ为:θ=cur/total;其中cur表示该预测值对应的时间序列个数,total表示所有预测值对应的时间序列个数之和。本实施例中M的取值建议在56*2-56*12这个范围;一般根据序列平稳性确定,例如序列平稳性比较强,可以根据前4个小时的下行数据进行预测,若平稳性不强可以根据一天的下行数据预测。
[0053] 根据LoRaWAN协议规定PingSlot的个数必须为2的n次幂,最后得到的下行通信量的预测值dcount应介于2n-1~2n,而终端传输数据后打开接收窗与打开单独PingSlot的能耗比大约为1/3,预测中多出的下行通行量extra=dcount-2n-1。
[0054] 当extra>2n-1/3,则打开2n个PingSlot,不需要上行链路打开额外的接收窗口;
[0055] 当extra<=2n-1/3,则打开2n-1个PingSlot,同时在128s内定期发送extra个上行数据打开额外的下行接收窗;
[0056] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。