提升LoRa网络性能的终端参数动态选择方法研究

2020-02-19 14:08蔡青松
计算机工程与应用 2020年3期
关键词:参数设置终端设备实验设计

蔡青松,林 佳

北京工商大学 计算机与信息工程学院,北京100048

1 引言

随着物联网的快速发展,其应用领域不断增加。据预测到2025年,通过无线通信连接的设备数量将超过300亿台[1]。相比于传统的互联网而言,一些新兴的IoT应用仅需要设备具有极小的内存、带宽和处理能力就可以高效地完成工作[2-3]。传统的蜂窝网络等通信技术在网络容量、通信范围、能耗和成本方面已经无法满足IoT设备这种“花少钱办大事”的需求[4]。近年来,物联网的快速发展对通信技术提出了更高的要求,传统的物联网通信技术面临着巨大的挑战。针对此问题,一种具有应用前景的低功耗长距离通信技术——LPWAN,被用来实现不断增加的大量设备之间的远距离通信,并在智能路灯、远程抄表等应用领域中被逐步应用[5-7]。传统的Mesh网络虽然解决了长距离的组网需求,但受制于高能耗和高成本,而LPWAN的出现则弥补了资源受限的低功率设备的这一不足。

LoRa作为一种新兴的LPWAN技术,凭借其在远距离传输中超低的功耗和廉价的部署成本而备受关注。LoRa技术通常指协议栈中两个不同的层[8]:(1)基于chirp扩频调制的物理层;(2)在LoRa物理层之上的MAC层协议即LoRaWAN。LoRa典型的部署方式是星型的网络拓扑,终端通常以单跳的形式与网关通信,因而无需构建和维护复杂的多跳网络[9]。然而,为了在不同的应用场景中实现网络的可扩展性,需要针对LoRa通信技术中所提供的多种参数设置及其组合进行动态选择,以适应不同应用的需求。在通信时,每个LoRa设备都需配置4个主要参数,分别是扩频因子(Spreading Factor,SF)、带宽(Bandwidth,BW)、编码率(Code Rate,CR)和传输功率(Transmission Power,TP)[10],每个参数的数值取决于LoRa设备的区域部署方案[11],这些参数的组合超过6 000多种。不同的通信参数组合对数据分组的空中时间(Time on Air,ToA)存在显著的变化,例如,对于具有20 Byte的数据分组,ToA的变化在7 ms~2.2 s之间。因此通信参数的动态选择对LoRa网络部署的可扩展性有着较大的影响。由于在实际应用部署中,终端设备需支持多种应用且部署数量较大,现有的静态参数设置方法对单网关LoRa网络可支持的最大终端设备数量存在着局限性,原因是其不能及时反应信道的实时变化且发生冲突的概率较大,因此提升网络的可扩展性以适应上述情况是极其重要的。当前,如何根据应用需求实现终端设备的动态传输参数选择,从而提升网络性能,是学术界和工业界亟待探讨和解决的问题。

针对上述问题,已有一些研究工作[12-15]提出了基于信噪比和ToA以及网关的距离等指标分配SF,能够有效地改善LoRa网络中的数据包错误率(Packet Error Rate,PER)的不均匀性。然而,该方法没有考虑到BW、CR和TP等参数对网络性能造成的影响,因此无法全面评估网络传输性能。考虑到已有方法的不足,本文针对单网关LoRa网络建立了信道冲突和链路预算的多目标模型,通过对其求解,可以得到最佳的参数组合。求解该问题的算法有穷举法、遗传算法、模拟退火算法。考虑到终端是电池供电的,穷举法消耗时间过长不适用于此场景。模拟退火算法是一种随机算法且收敛速度较慢,并不能快速找到全局最优解。遗传算法(Genetic Algorithm,GA)处理的是通过参数集进行编码得到的染色体个体,并且能同时处理种群中的多个个体,但传统遗传算法其核心操作——交叉算子在因素分割时位置是随机产生的,搜索具有一定的盲目性,这一缺陷降低了算法的搜索效率。为了解决这一问题,通过引入正交实验的方法来设计交叉算子,以此产生遗传算法的群体。通过使用基于正交遗传算法(Orthogonal Genetic Algorithm,GA)的动态参数选择方法,使通信设备可以自主选择SF、BW、CR和TP等参数,以达到在较低的功耗下得到较高用户体验质量的目标。总结起来,本文的主要工作包括:

(1)通过实验,对LoRa设备的不同传输参数设置及组合在ToA和能耗方面的差异进行分析;(2)针对单网关LoRa网络建立的信道冲突和链路预算的模型(即目标函数),提出了基于OGA的动态参数选择算法求解模型,利用参数的交叉组合动态地选择,实现了冲突概率最小化;(3)通过使用NS3网络仿真平台实现了本文所提出的动态参数选择方法。对超过10 000台终端设备的单网关LoRa网络的实验结果表明,利用动态参数选择的方法设置通信参数,其分组交付率(Packet Delivery Rate,PDR)可提高30%,显著提高了LoRa网络的可扩展性和场景适应能力。

2 LoRa概述与研究现状

下面首先对LoRa网络接入的关键技术进行概述,然后分析对比了LoRa领域中的无线资源分配的研究现状。

2.1 LoRa信道层技术

LoRa采用线性调频扩频(Chirp Spread Spectrum,CSS)调制技术来实现远距离和低功耗的通信[16],同时结合正向纠错码技术,因此具有抗干扰、抗多径等优点[17]。LoRa通信时的主要几个参数影响分析如下:

SF表示每比特信息发送的符号数,SF∈[7,12]。它的值越大,通信距离越远,灵敏度越高,但增加了ToA。BW是指一个符号所占用的频谱,较高的BW提供高数据速率(更短的ToA),但灵敏度较低。CR表示对传输错误的弹性,CR∈{4/5,4/6,4/7,4/8},高的CR提供了更多的保护,但增加了ToA。TP影响接收器的灵敏度和通信距离,TP的范围是-4 dBm到20 dBm,步长为1 dB。

通过实验分析SF、CR、BW和TP的变化对ToA和能耗的影响。由于传输参数的选择对通信性能有着显著的影响,在实际部署中,希望由电池供电的终端能够平衡通信性能和能量消耗之间的关系,目标是使电池寿命最大化的同时提高网络的可扩展性。LoRa传输的ToA取决于SF、BW和CR的组合值,而能耗则受TP值的影响。改变这些参数极大地影响通信范围、数据速率以及信号的解码能力。在本文的研究中TP主要影响网关是否成功接收。图1分别为不同参数的ToA与能耗的比较,实验结果表明通信参数的选择对数据分组的ToA存在显著的变化。因此通信参数的动态选择对LoRa网络部署的可扩展性有着较大的影响。

图1 不同参数对ToA和能耗的影响

2.2 相关工作

为优化LoRa网络的性能,当前的一些工作主要专注于如何有效地分配无线资源,已有许多具有不同目标的LoRa参数分配方法。归结起来,关于LoRa参数分配的研究大致分为以下两类:

第一类是静态部署方法。静态部署是指在整个通信过程中使用相同的参数配置。Bor等人[18]采用了三种静态的传输参数设置SN1、SN2和SN3对LoRa网络的可扩展性进行评估,作者指出随终端数量的增加,静态参数部署不能使LoRa网络很好地扩容。Bouguera等人[19]指出了传输中能耗随着SF、BW、CR和TP等LoRa参数的改变而变化,但其研究中并没有提出解决方案。Voigt等人[20]针对在距离较近的地方部署多个独立的LoRa网络会产生干扰的问题,得出小的CR会导致网络间抗干扰性较差,最终PDR较大的结论。因此,LoRa参数的动态配置和选择对降低传感器节点的能耗和提高网络可扩展性有重大研究意义。

第二类是动态部署方法。Bor等人[18]评估了动态通信参数SN4和SN5对PDR的影响。与静态设置实现相比,动态参数设置有着显著的改进。但局限性在于所作的假设过于理想而使模拟变得不切实际。Lim等人[14]提出一种SF优化方案,来最大化LoRa系统的数据交付成功率(PSP),并比较了几种现存的分配机制EIB和EAB,但没有考虑影响PSP的其他重要参数如BW、CR和TP等。Floris等人[21]动态分配PER低于某个阈值的最低SF,使用相同的BW、CR和TP等参数,这个策略在终端设备较少时(<1 000)PDR值较高。因此对较大数量的网络部署,通过改变BW、CR和TP对PDR有显著的影响。

3 系统建模

将建立的信道冲突和链路预算模型在NS3仿真平台中实现。

3.1 信道冲突模型

LoRa网络的信道访问是基于ALOHA机制[22]的,允许随机发送数据而无需检查信道是否空闲,因此发生冲突的概率较大。通过建立冲突访问模型使得冲突概率最小化,因此能有效地利用无线资源。

两个具有相同SF的数据分组同时到达同一信道会引起冲突,因此导致数据分组丢失。具有相同SF至少发生一次碰撞的概率,如式(1)所示:

其中Gsf是在传输SF的1个分组期间产生的具有相同SF的分组数量,L表示分组负载,ToA表示如下:

N为终端数量,Ti表示数据分组的到达时间间隔,单位时间λ产生的流量负载如下:

1个分组传输期间产生的流量Gsf如式(4)所示:

其中∂sf为使用相同SF的设备的比例,最后,碰撞的概率可以表示为:

数据分组在传输过程中发生冲突的概率与这些参数组合和使用相同SF的概率密切相关,因此建立信道冲突模型作为目标函数,通过动态地选择参数组合提高PDR,进而改善网络的可靠传输。

3.2 链路预算模型

依据选择的参数判断网关是否能够接收成功。这些参数对接收敏感度[23]也有显著影响。链路预算的评估是取决于链路参数如信噪比(Signal-to-Noise Ratio,SNR)和接收灵敏度,接收灵敏度与SNR有正相关的函数关系,SNR的计算公式如下:

Ebit为每比特能量,Tbit为每比特持续的时间,Ebit表示为:

NF为噪声系数,K为卡尔文常数,T为温度,N0为噪声功率表示为:

prx为接收功率,表示为:

SNR最终改写为:

接收灵敏度计算为:

Ptx代表发送功率,路径损失计算如下:

为了确定网关是否成功地接收到分组,网关计算与分组相关的RSSI,接收的RSSI计算如下:

在接收器侧,通信范围受灵敏度阈值Srx的限制,RSSI受LoRa参数SF、BW、CR和TP的影响。RSSI>Srx时,则接收成功,数据丢失率p表示为:

在NS-3现有的接收模型有log-distance模型、Okumura-Haha模型等,并没有适合OGA算法的通信模型。因此需要根据上述公式在NS-3中建立模型应用到仿真中。

4 正交遗传算法求解

在最初的LoRa网络中,按照静态的方法进行部署可以得到很好通信性能。但随着应用需求的不断扩大,接入的终端数量逐渐增加,对于有成千上万台设备的应用,静态传输使得网络的可扩展性较差,因此为达到最优的性能来满足不同的应用场景,本文采用下述的OGA方法。

4.1 正交实验设计法

正交实验设计[24]是安排多因素、寻求最优水平组合的一种高效率实验设计方法,通过少数几次实验,就能找到较好的实验条件,因此被广泛用于寻优。对于LoRa参数用集合S表示S={SF,BW,CR,TP},其中SF∈[6,12]有7个水平,BW∈{10.4,15.6,20.8,31.2,41.7,62.5,125,250,500}kHz有10个水平,CR∈{4/5,4/6,4/7,4/8}有4个水平,TP∈[-4,20]dBm有24个水平,导致产生6 720种组合,用正交实验设计产生遗传算法的初始群体,其中SF∈[7,11],BW∈{125,250,500}kHz,CR∈{4/5,4/6,4/7,4/8},TP∈{2,5,8,11,14}dBm,所产生的参数组合共300个。正交实验设计方法的概念、性质及构造步骤和方法详见文献[25]。

4.2 遗传算法

GA作为一种自适应的搜索算法,其核心思想在于将原始问题进行编码以转变为自然种群的基因序列参与进化过程。将问题的可行解表示为染色体[26]。然后借用生物遗传学的观点,通过选择、交叉等遗传因子的作用使染色体不断进化并基于适应度值来选择染色体。最后,适应性最高的染色体,对应于问题的最优解或近似最优解。

由于LoRa网络中的参数设置很多,找到满足特定应用的参数组合花费时间较长。而GA的优点体现在对可行解表示的广泛性上,它处理的对象并不是参数本身,而是通过参数集进行编码得到的基因个体,并且能同时处理种群中的多个个体。具有较好的全局搜索性,这对LoRa网络中的参数配置非常适用。

4.3 基于正交设计的遗传算法

虽然GA在许多优化问题中都有成功的应用,但大量研究表明,传统的GA存在许多的不足和缺陷[26],如早熟收敛、局部搜索能力差等。交叉算子是模仿自然界染色体基因重组的过程,是遗传算法的核心操作,采用传统方式进行交叉操作时,因素分割的位置是随机产生的,搜索具有一定的盲目性,这一缺陷极大地降低了算法的搜索效率。为了解决这一问题,通过引入正交实验的方法来设计交叉算子,自适应地调整因素个数和父代个体因素分割的位置,以此产生遗传算法的群体。

遗传算法包括三种常用的编码实现方式,即二进制、符号与实数编码。在LoRa参数组合问题中采用实数编码方式,参数组合的实数编码表示一个染色体,每一个参数相当于染色体中的一个基因,这种编码方式有利于适应度值的计算。

对于LoRa的众多参数组合中,设参与交叉操作的两个父代个体p1:(7,125,1,2),p2:(8,250,2,5),将p1、p2的第1维与第2维、3维和4维分别记为因素1和因素2,这样就将父代个体分割成2个因素,因素分割的位置如式中的虚线所示。这样就把对p1、p2交叉操作转化为2因素、2水平的实验问题。最后利用正交实验设计思想,产生子代种群P1,见式(15):

将p1、p2的第1维和第2维记为因素1,第3维和第4维共同记为因素2,因素分割的位置如式中的虚线所示,然后将因素1和因素2分割成2个水平。这是同样把对p1、p2交叉操作转化为2因素、2水平的实验问题。最后利用正交实验设计思想产生子代种群P2,见式(16):

将p1、p2的第1维、2维和3维一起记为因素1,将p1、p2的第4维因素,记为因素2,因素分割的位置如式中的虚线所示。把对p1、p2交叉操作转化为2因素、2水平的实验问题。最后利用正交实验设计思想,产生子代种群P3,见式(17):

经过以上3种方式进行因素分割,产生包括2个父代在内的8个后代个体。通过调整交叉点的个数及交叉操作的位置,极大地提高搜索效率。因素分割的具体方法见算法的步骤1。在N维的实数空间中,设参与重组的Q个父代个体为p1,p2,…,pQ,其中pi=(pi1,pi2,…,piN),且i∈{1,2,…,Q}。将每一个参与重组的父代个体看作是正交实验设计的一个水平,即Q水平;然后将每一个父代个体分成T个片段,每一个片段作为正交实验设计的一个因素,即T个因素。这样就将对Q个父代个体的重组问题转化为Q水平、T因素的实验设计问题。然后构建正交表LM(QT)安排正交设计实验,产生M子代个体。多点交叉的流程如下:

(1)将参与重组的Q个父代个体分别作为正交实验设计的一个水平,记第i个水平为βi,i∈{1,2,…,Q},则βi=pi。

(2)对变量x=(x1,x2,…,xN)的各维度进行分组,将变量x划分为T个片段,每个片段看作是正交实验设计的一个因素。具体的方法为:随机产生T-1个整数,即k1,k2,…,kT-1,且满足1<k1<k2<…<kT-1<N把个体x=(x1,x2,…,xN)分成T份,其中每一份表示个体x的1个因素:

因此,第i个因素fi的Q个水平可表示为:

(3)构造正交表,根据正交安排实验,产生M个子代个体:

整个OGA动态参数选择的算法流程如下,流程图如图2所示。

图2 算法流程图

(1)确定实际问题的参数集,编码产生候选解,用正交设计思想产生遗传算法的初始群体Si={(7,125,1,2),(7,500,4,11),(8,250,2,5),(8,500,3,14),(9,500,3,8),(9,125,2,8),(10,125,4,11),(10,250,1,5),(11,125,3,2),(11,250,4,14)}。

(2)设置最大迭代次数MaxT,初始t=0,产生种群后首先判断是否到达迭代次数。

(3)计算候选解的适应度值,选择2个父代个体进行3次不同位置的交叉操作,即以上多点交叉的流程,产生子代种群t+1。选择的概率=个体适应度值/总的适应度值。

(4)依据目标函数评价个体,适应度值的计算为2个目标函数值的和,即Pvalue=pcoll,sf+p,当适应度值在4%以内时,输出解。否则转向步骤(2)。

5 仿真分析与评估

通过使用网络仿真器NS-3进行仿真实验来评估LoRa网络的性能。为验证本文采用的动态传输参数方法的有效性,对终端设备分布、PDR和PER等指标进行评价。实验中的各参数如表1所示。

表1 参数设置

5.1 终端设备分布评估

为提高网络性能,需要在仿真开始前给每个终端配置合适的SF,找到每个SF所支持的最大终端数量。此场景下终端是固定不动的,计算SF的最佳分布可以平衡整个网络中不同SF之间的碰撞概率。根据终端和网关之间的距离计算路径损耗,再结合接收机灵敏度,选取满足要求的最小SF,以提高传输速率,降低空中延迟,减少碰撞。定义使用SF的比例为∂sf,(∂7,∂8,∂9,∂10,∂11,∂12)为(0.3,0.1,0.1,0.2,0.3,0),例如,数量为5 000的终端设备,SF12~SF7个数大约是0、1 500、500、500、1 000、1 000。虽然SF12提供了更大的传输范围,但增加了冲突的概率,导致PDR降低。在网络拥塞的情况下,较高SF不一定能够改善其链路质量。由于ToA较长,较大的SF更容易发生冲突,所以忽略SF12的使用与分配。如图1(d)所示,TP与能耗有关,但SF对能耗的影响远远大于TP,即增加SF比增加TP消耗更多的能量。所以SF的最优分布对实际网络部署有重要意义。本文的最大通信距离设置为8 km,网络由一个位于半径为8 km的圆的中心单网关提供服务。不同数量的终端设备分布如图3所示。

图3 忽略SF12的终端设备分布

5.2 数据包交付率和数据包错误率

OGA为迭代算法,为更好地设定迭代次数,分别评估了3次不同迭代次数条件下随着终端设备数量增加的PER分布情况。如图4所示,横坐标为不同数量的终端,随着迭代次数的增加,PER的趋势是逐渐减小,并且呈收敛趋势。在评估PDR之前,首先对使用不同SF、BW、CR和TP的PER进行分析。图5为设定的适应度值控制在4%之内的参数选择情况,图5中的DR所对应的SF、BW和CR如表2所示。由图可知相同SF下PER的基本趋势是随功率增加而上升,对于DR为1和2的情况,可能受到功率饱和的影响,使得整体的PER都比较低。

图4 不同迭代次数下的平均PER

图6对采用OGA方法与静态方法的PDR进行比较。SN1、SN2和SN3是三种静态参数设置方法,其中SN1是最长ToA的配置S={12,125,4/8,14},SN2是最短ToA的配置S={6,500,4/5,14},而SN3为默认的LoRa参数配置S={12,125,4/5,14},随着终端设备数量增加,OGA方法的PDR有显著的提升。

图5 不同参数情况下的平均PER

表2 不同SF和BW所对应的DR

图6 静态参数组合设置的PDR比较

图7显示三种目前流行的SF分配机制与OGA方法的比较,EIB为基于时间间隔的SF分配,EAB为基于等面积的SF分配,SG为基于几何方法的SF分配,在终端设备小于2 000时,所提出的方法PDR始终控制在90%之内。

图7 不同优化SF机制的PDR比较

图8显示了不同动态方法的PDR与终端设备数量的关系,所提出的动态参数选择方法当终端设备到达10 000台时PDR可提高30%。方法1即NS-3中[21],对每个终端动态分配PER低于某个阈值的最低SF,使用相同的BW、CR和TP等参数,与OGA方法对比,无论终端数量的大小,方法1的PDR总是低的。方法2中使用动态参数设置SN5,每次选择最小ToA和最小的TP,当终端数量较大时,本文所提出的方法有明显的优势。

图8 不同动态方法的PDR比较

6 结束语

本文针对LPWAN的热点技术之一——LoRa在进行网络部署时采用静态参数设置而导致设备工作的灵活性和网络的可扩展性不高等问题展开研究,提出一种提升LoRa网络性能的终端配置参数集动态选择方法。通过引入基于OGA的方法来对所建立的信道冲突和链路预算模型进行求解,从而动态地对LoRa网络参数进行选择,因此获得最小冲突概率的参数组合。与不同的动态参数设置的方法相比PDR提升了30%,在终端设备数量较小的情形时(1 500台左右的终端设备),与静态参数设置相比PDR始终保持在90%左右,验证了LoRa网络使用动态参数选择的方法可以很好地扩展。

实际的网络部署通常通过单个LoRa网络就能支持多个应用程序。然而目前大多数的网络部署研究仅支持使用单个IoT应用程序的网络模拟,且不同的物联网应用具有不同的数据生成模式和服务质量要求。因此下一步工作是研究对于不同的应用程序,用户可以指定应用程序的数据生成模型以及数据分组大小。

猜你喜欢
参数设置终端设备实验设计
不同的温度
有趣的放大镜
基于MAC 认证的终端网络准入控制系统方案*
哪个凉得快?
视频监视系统新型终端设备接入方案
无字天书
逃生疏散模拟软件应用
行车记录仪通信连接方法、行车记录仪及终端设备
蚁群算法求解TSP中的参数设置
车站信号系统终端设备整合及解决方案