一种实现LoRa网络吞吐量最大化和公平性的方法转让专利

申请号 : CN202010871867.X

文献号 : CN111988863B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李徐竹吕江滨付立群岳蕾

申请人 : 厦门大学

摘要 :

一种实现LoRa网络吞吐量最大化和公平性的方法,涉及物联网低功耗广域网。包括以下步骤:1)MAC层采用载波侦听随机接入机制,推导出采用SF s总吞吐量的平均闭式,进而得到单个用户的平均吞吐量公式;2)基于步骤1)推导出的吞吐量公式以及活跃用户的统计信息,设计平均竞争窗口实现各个SF中用户吞吐量的最大化,并通过调节扩频因子SF的分配距离使得不同SF用户的吞吐量差值最小化,实现网络吞吐量的整体公平性。能够根据网络环境和用户分布自适应调节平均竞争窗口和扩频因子的分配距离,既实现了吞吐量最大化,又解决了不同SF用户的吞吐量公平性问题。

权利要求 :

1.一种实现LoRa网络吞吐量最大化和公平性的方法,其特征在于包括以下步骤:

1)MAC层采用载波侦听随机接入机制,推导出采用SF s总吞吐量的平均闭式,进而得到单个用户的平均吞吐量公式;

所述推导出采用SF s总吞吐量的平均闭式,进而得到单个用户的平均吞吐量公式的主要步骤为:(1) 扩频因子SF  s总吞吐量的平均公式为 其中 ,

为用户数在区间[1,Τs)的加权概率,Γ(·)为伽玛函

数,Γ(·,·)为上不完全伽玛函数;P2=1‑P1为用户数在区间[Τs,+∞)的加权概率; 为区间[1,Τs)上总吞吐量的平均, 为区间[Τs,+∞)上总吞吐量的平均;

其中, 为给定用户数k下的吞吐量;

其中 Τs为用户数阈

值,使得用户数在区间[1,Τs)时,函数θs是凹函数;用户数在区间[Τs,+∞)时,函数θs是凸函数;SF=s表示扩频因子为s;Rs表示数据速率, 为一个数据包的传输时间, 为成功传输的时间, 为传输失败的时间,Tslot为一个时隙的大小,ps为任一个时隙的传输概率,它的计算公式为: 其中ws为竞争窗口;λ表示用户密度,As表示扩频因子SF s的圆环面积;扩频因子为SF s的用户平均吞吐量为

2)基于步骤1)推导出的吞吐量公式以及活跃用户的统计信息,设计平均竞争窗口实现各个SF中用户吞吐量的最大化,并通过调节扩频因子SF的分配距离使得不同SF用户的吞吐量差值最小化,实现网络吞吐量的整体公平性;

所述设计平均竞争窗口实现各个SF中用户吞吐量的最大化,并通过调节扩频因子SF的分配距离使得不同SF用户的吞吐量差值最小化的具体步骤为:(1)初始化LoRa参数矩阵,所述参数包括每个扩频因子SF的分配距离rs,竞争窗口ws,最大吞吐量差值的阈值ε;

(2)竞争窗口调节:基于活跃用户的统计信息设计平均竞争窗口,使得同一个环内的用户使用相同的竞争窗口: 记录该竞争窗口值以及对应的用户吞吐量,然后更新LoRa参数矩阵;

(3)计算相邻扩频因子SF的用户吞吐量差值,并存入数组Gap,Gap={Gap1,Gap2,Gap3,Gap4,Gap5},寻找数组Gap最大的值Gapmax以及对应的扩频因子s0和s0+1;

(4)根据步骤(3)找到的扩频因子s0和s0+1,调节对应的SF分配距离 和 使得扩频因子s0和s0+1的吞吐量差值最小,记录此时的吞吐量值,然后更新LoRa参数矩阵和Gap数组,并计算此时的Gapmax;

(5)判断相邻SF最大吞吐量差值Gapmax是否大于阈值ε,若大于则返回步骤(2),若小于则结束,吞吐量的最大化和公平性已实现。

2.如权利要求1所述一种实现LoRa网络吞吐量最大化和公平性的方法,其特征在于在步骤1)中,所述MAC层采用载波侦听随机接入机制,在单网关的LoRa网络中,基于用户到网关的距离由近到远将网关覆盖区域划成圆环,分别对其中的用户分配扩频因子SF,用户的随机唤醒产生服从齐次泊松点过程,MAC层采用载波侦听机制竞争信道的访问权,从而与网关通信。

说明书 :

一种实现LoRa网络吞吐量最大化和公平性的方法

技术领域

[0001] 本发明涉及物联网低功耗广域网的LoRa,尤其是涉及基于载波侦听机制的一种实现LoRa网络吞吐量最大化和公平性的方法。

背景技术

[0002] LoRa作为物联网低功耗领域的代表性技术,近年来吸引了学界和业界的广泛关注,在未来的城市智能建设中会起到越来越大的作用。
[0003] LoRa有着完整的通信架构,包括终端设备,网关,网络服务,应用服务。LoRa的物理层采用Chirp Spread Spectrum(CSS)调制,一种啁啾扩频调制,带有6个不同的扩频因子Spreading factor(SF)。扩频因子大的信号传输距离远但速率低,并且不同SF的信号相互正交,可以同时传输互不干扰。LoRa的MAC层采用类似非时隙ALOHA协议,任何时刻只要有数据就可以发送。由于没有时间同步和载波侦听,这种协议在用户越来越多的时候会造成严重的碰撞,系统的性能会变差。
[0004] 因此,许多学者开始研究侦听机制在LoRa中的应用。有的从仿真角度来分析,有的考虑给定用户数下的ALOHA或载波侦听协议,但在实际场景中,用户的出现是随机的。换句话说,每个时刻出现的用户数是不确定的。至今为止,在基于载波侦听机制的泊松随机LoRa网络中,如何根据网络环境和用户分布自适应调节竞争窗口和扩频因子的分配距离,实现各个SF中用户平均吞吐量的最大化,以及不同SF中用户吞吐量的公平性,进而实现LoRa网络整体吞吐量的最大化和公平性,是十分重要而具有挑战的问题。

发明内容

[0005] 本发明的目的在于针对用户的随机唤醒产生服从齐次泊松点过程的LoRa网络,提供一种实现LoRa网络吞吐量最大化和公平性的方法。
[0006] 本发明包括以下步骤:
[0007] 1)MAC层采用载波侦听随机接入机制,推导出采用SF s总吞吐量的平均闭式,进而得到单个用户的平均吞吐量公式;
[0008] 2)基于步骤1)推导出的吞吐量公式以及活跃用户的统计信息,设计平均竞争窗口实现各个SF中用户吞吐量的最大化,并通过调节扩频因子SF的分配距离使得不同SF用户的吞吐量差值最小化,实现网络吞吐量的整体公平性。
[0009] 在步骤1)中,所述MAC层采用载波侦听随机接入机制,在单网关的LoRa网络中,基于用户到网关(GW)的距离由近到远将网关覆盖区域划成圆环,分别对其中的用户分配扩频因子SF,用户的随机唤醒产生服从齐次泊松点过程,MAC层采用载波侦听机制竞争信道的访问权,从而与网关通信;
[0010] 所述推导出采用SF s总吞吐量的平均闭式,进而得到单个用户的平均吞吐量公式的主要步骤可为:
[0011] (1)扩频因子SF s总吞吐量的平均公式为 其中,
[0012] 为用户数在区间[1,Ts)的加权概率,Γ(·)为伽玛函数,Γ(·,·)为上不完全伽玛函数;P2=1‑P1为用户数在区间[Ts,+∞)的加权概率; 为区间[1,Ts)上总吞吐量的平均, 为区间[Ts,+∞)上总吞吐量的平均;
其中, 为给定用户数k下的吞吐量;
[0013] 其中 Ts为用户数阈值,使得用户数在区间[1,Ts)时,函数θs是凹函数;用户数在区间[Ts,+∞)时,函数θs是凸函数;SF=s表示扩频因子为s;Rs表示数据速率, 为一个数据包的传输时间, 为成功传输的时间, 为传输失败的时间, 为一个时隙的大小,ps为任一个时隙的传输概率,它的计算公式为: 其中ws为竞争窗口;λ表示用户密度,As表示扩频因子SF s的圆环面积;扩频因子为SF s的用户平均吞吐量为
[0014] 在步骤2)中,所述设计平均竞争窗口实现各个SF中用户吞吐量的最大化,并通过调节扩频因子SF的分配距离使得不同SF用户的吞吐量差值最小化的具体步骤可为:
[0015] (1)初始化LoRa参数矩阵,所述参数包括每个扩频因子SF的分配距离rs,竞争窗口ws,最大吞吐量差值的阈值ε;
[0016] (2)竞争窗口调节:基于活跃用户的统计信息设计平均竞争窗口,使得同一个环内的用户使用相同的竞争窗口: 记录该竞争窗口值以及对应的用户吞吐量,然后更新LoRa参数矩阵;
[0017] (3)计算相邻扩频因子SF的用户吞吐量差值,并存入数组Gap,Gap={Gap1,Gap2,Gap3,Gap4,Gap5},寻找数组Gap最大的值Gapmax以及对应的扩频因子s0和s0+1;
[0018] (4)根据步骤(3)找到的扩频因子s0和s0+1,调节对应的SF分配距离rs0和rs0+1,使得扩频因子s0和s0+1的吞吐量差值最小,记录此时的吞吐量值,然后更新LoRa参数矩阵和Gap数组,并计算此时的Gapmax。
[0019] (5)判断相邻SF最大吞吐量差值Gapmax是否大于阈值ε,若大于则返回步骤(2),若小于则结束,吞吐量的最大化和公平性已实现。
[0020] 本发明通过自适应调节竞争窗口和扩频因子的分配距离不断迭代缩小相邻SF之间的吞吐量差以实现不同SF的用户吞吐量最大化和公平性。在这样的泊松网络中,基于活跃用户的统计信息设计了平均竞争窗口,然后不断调节SF的划分距离使得吞吐量差值最小化,实现了所有SF的吞吐量最大化和公平性。
[0021] 与现有技术相比,本发明具有以下突出优点:
[0022] 1)推导出了MAC层采用载波侦听随机接入机制的LoRa网络总吞吐量的平均闭式以及单个用户的平均吞吐量公式。
[0023] 2)基于所推导的吞吐量公式以及活跃用户的统计信息,实现平均竞争窗口和SF分配距离的自适应调节,进而实现不同SF的用户吞吐量最大化和公平性。

附图说明

[0024] 图1为本发明中单网关LoRa通信网络。
[0025] 图2为本发明中SF分配的实施流程图。
[0026] 图3为本发明中不同SF吞吐量最大化和公平性的仿真结果。

具体实施方式

[0027] 以下实施例将结合附图对本发明作进一步的说明。
[0028] 本发明提出MAC层采用载波侦听随机接入机制,并推导出了采用SF s总吞吐量的平均闭式,进而得到单个用户的平均吞吐量公式。基于所推导的吞吐量公式以及活跃用户的统计信息,设计了平均竞争窗口实现各个SF中用户吞吐量的最大化,并通过调节扩频因子SF的分配距离使得不同SF用户的吞吐量差值最小化,实现了网络吞吐量的整体公平性。
[0029] 在单网关的LoRa网络中,基于用户到网关(GW)的距离由近到远将网关覆盖区域划成圆环,分别对其中的用户分配扩频因子SF=7,8,9,10,11,12,如图1所示。用户的随机唤醒产生服从齐次泊松点过程,MAC层采用类似时隙载波侦听多址访问(CSMA)的侦听机制竞争信道的访问权,从而与网关通信。
[0030] 对于低功率的LoRa设备,因其随机唤醒传输数据包,在某一时间段内,活跃的用户数是随机的。因此用户很难根据实时的用户数来设定最佳的竞争窗口。为了解决这一难题,首先严格推导了采用SF s总吞吐量的平均闭式,进而得到采用SF s的用户平均吞吐量公式,然后基于活跃用户密度信息设计平均竞争窗口,以最大化每个SF中用户的平均吞吐量。具体如下:
[0031] 1.扩频因子SF s总吞吐量的平均公式为 其中
[0032] 为用户数在区间[1,Ts)的加权概率,Γ(·)为伽玛函数,Γ(·,·)为上不完全伽玛函数。P2=1‑P1为用户数在区间[Ts,+∞)的加权概率。 为区间[1,Ts)上总吞吐量的平均, 为区间[Ts,+∞)上总吞吐量的平均。
其中 为给定用户数k下的吞吐量。
其中 Ts为用户数阈
值,使得用户数在区间[1,Ts)时,函数θs是凹函数;用户数在区间[Ts,+∞)时,函数θs是凸函数。SF=s表示扩频因子为s。Rs表示数据速率, 为一个数据包的传输时间, 为成功传输的时间, 为传输失败的时间,Tslot为一个时隙的大小,ps为任一个时隙的传输概率,它的计算公式为: 其中ws为竞争窗口。λ表示用户密度,As表示扩频因子SF s的圆环面积。因此,扩频因子为SF s的用户平均吞吐量为
[0033] 为实现不同圆环的用户吞吐量最大化以及网络的整体公平性,可联合调节竞争窗口和分配扩频因子,具体方法如下:
[0034] (1)初始化LoRa参数矩阵,包括每个扩频因子SF的分配距离rs,竞争窗口ws,最大吞吐量差值的阈值ε。
[0035] (2)竞争窗口调节。基于活跃用户的统计信息设计了平均竞争窗口,使得同一个环内的用户使用相同的竞争窗口: 记录该竞争窗口值以及对应的用户吞吐量,然后更新LoRa参数矩阵。
[0036] (3)计算相邻扩频因子SF的用户吞吐量差值,并存入数组Gap,
[0037] Gap={Gap1,Gap2,Gap3,Gap4,Gap5}。寻找数组Gap最大的值Gapmax以及对应的扩频因子s0和s0+1。
[0038] (4)根据步骤(3)找到的扩频因子s0和s0+1,调节对应的SF分配距离rs0和rs0+1,使得s0和s0+1的吞吐量差值最小,记录此时的吞吐量值,然后更新LoRa参数矩阵和Gap数组,并计算此时的Gapmax。
[0039] (5)判断相邻SF最大吞吐量差值Gapmax是否大于阈值ε,若大于则返回步骤2),若小于则结束,吞吐量的最大化和公平性已实现。
[0040] 本发明通过自适应调节竞争窗口和扩频因子的分配距离不断迭代缩小相邻SF之间的吞吐量差以实现不同SF的用户吞吐量最大化和公平性。在这样的泊松网络中,基于活跃用户的统计信息设计了平均竞争窗口,然后不断调节SF的划分距离使得吞吐量差值最小化,实现了所有SF的吞吐量最大化和公平性。
[0041] 以下给出具体实施例:
[0042] 1、系统模型的建立:
[0043] 将单网关覆盖的区域抽象成图1这样的网关位于坐标轴中心,用户分布在6个不同2
圆环内的模型。LoRa终端用户的产生服从齐次泊松点过程,平均用户密度为λ/km ,MAC层采用类似时隙CSMA协议的载波侦听机制竞争信道的访问权。扩频因子的集合为SF={7,8,9,
10,11,12},对应的划分距离记为r={r7,r8,r9,r10,r11,r12}。每个环内的用户使用相同的竞争窗口w={w7,w8,w9,w10,w11,w12}。
[0044] 2、实现目标:
[0045] 本发明目标是在所考虑的区域内使得每一个SF圆环的用户平均吞吐量都尽可能最大,并且实现网络的整体公平性。
[0046] 3、实现过程:
[0047] 为了实现步骤2中的目标,首先严格推导出了采用SF s总吞吐量的平均公式其中 为用户数在区间[1,Ts)的加权概率,P2=1‑P1为用户数在区间[Ts,+∞)的加权概率,Γ(·)为伽玛函数,Γ(·,·)为上不完全伽玛函数。 为区间[1,Ts)上总吞吐量的平均, 为区间[Ts,+∞)上总吞吐量的平均。 其中 为给定用户数k下的
吞吐量。 其中 Ts为用
户数阈值,使得用户数在区间[1,Ts)时,函数θs是凹函数;用户数在区间[Ts,+∞)时,函数θs是凸函数。SF=s表示扩频因子为s。Rs表示数据速率, 为一个数据包的传输时间, 为成功传输的时间, 为传输失败的时间,Tslot为一个时隙的大小,ps为任一个时隙的传输概率,它的计算公式为: 其中ws为竞争窗口。λ表示用户密度,As表示扩频因子SF s的圆环面积。因此,扩频因子为s的用户平均吞吐量为
[0048] 通过联合调节平均竞争窗户和SF的分配距离,实现了各个SF用户吞吐量的最大化,以及不同SF吞吐量的公平性,流程图可见图2,具体来说:
[0049] 1)初始化LoRa参数矩阵,包括每个扩频因子SF的分配距离rs,竞争窗口ws,最大吞吐量差值的阈值ε。
[0050] 2)竞争窗口调节。基于所推导的吞吐量公式以及活跃用户的统计信息,设计了平均竞争窗口,使得同一个环内的用户使用相同的竞争窗口 记录该竞争窗口值以及对应的用户吞吐量,然后更新LoRa参数矩阵。
[0051] 3)计算相邻扩频因子SF的用户吞吐量差值,并存入数组Gap,Gap={Gap1,Gap2,Gap3,Gap4,Gap5}。寻找数组Gap最大的值Gapmax以及对应的扩频因子s0和s0+1。
[0052] 4)根据步骤3)找到的扩频因子s0和s0+1调节对应的SF分配距离rs0和rs0+1,使得s0和s0+1的吞吐量差值最小,记录此时的吞吐量值,更新LoRa参数矩阵和Gap数组,并计算此时的Gapmax。
[0053] 5)判断相邻SF最大吞吐量差值Gapmax是否大于阈值ε,若大于则返回步骤2),若小于则结束,目标已实现。
[0054] 4、结果分析:
[0055] 通过数值仿真,验证了所推导的吞吐量公式的准确性以及所设计算法的有效性。作为实例,考虑半径为1公里的用户范围。对比方案采用给定的竞争窗口w=32,并将单网关覆盖区域按照等面积划分成6个圆环,对应扩频因子SF=7,8,9,10,11,12。仿真结果展示在图3的上半部分,图3的下半部分展示的是设计的联合调节平均竞争窗口和SF分配距离所得
2
到的吞吐量分布图,其中平均用户密度λ=100/km,阈值ε=0.03bps。
[0056] 可以看出,本发明设计的分配方案能够根据当前网络环境和用户分布,自适应调节平均竞争窗口和SF分配,进而既提升了各个SF自身的吞吐量,又改善了不同SF吞吐量的公平性。具体而言,对比方案中的最小吞吐量发生在SF=12,值为0.2657bps,而本发明则将最小吞吐量提升至1.6514bps。此外,定义LoRa网络的空间吞吐量为总的吞吐量与总面积的比值,即 对比方案的空间吞吐量为42.2bps/km2,本发明空间吞吐量为169.1bps/km2,提升了LoRa网络的累积吞吐量。最后,采用Jain公平性指标来衡量网络吞吐量的公平性。该指标取值范围在0~1之间,越接近1
则公平性越好,对比方案为0.9662,而本发明为0.9998,明显改善了网络吞吐量的整体公平性。本发明能够根据网络环境和用户分布自适应调节平均竞争窗口和扩频因子的分配距离,既实现了吞吐量最大化,又解决了不同SF用户的吞吐量公平性问题。