APP下载

基于LBT-SA的LoRaWAN信道接入方法研究

2020-12-26顾仁彬范九伦

计算机工程与应用 2020年24期
关键词:数据包时延信道

禹 忠,顾仁彬,范九伦

西安邮电大学 通信与信息工程学院,西安710061

1 引言

随着物联网的快速发展,涌现出许多低带宽、低能耗、广覆盖、大容量的为物联网应用而设计的低功耗广域网技术(Low Power Wide Area Network,LPWAN),其中脱颖而出的LoRa 技术受到了极大的关注。LoRa采用的扩频调制技术使其在固定的信道带宽中以数据速率换取灵敏度,但是LoRa 网络的大量部署使得其MAC层中的弊端日益显现。LoRaWAN是基于LoRa技术的MAC层协议,负责冲突的检测与处理、信道与通信资源的分配。许多LoRa 相关的研究都集中在LoRa 无线电调制提供的性能(覆盖范围、数据速率、功耗等)上,而没有考虑LoRaWAN中指定的复杂操作[1]。LoRaWAN中定义的纯ALOHA 信道接入方法使得成千上万的设备在没有检测到信道状态的情况下随机接入信道,增加了数据包冲突的概率。在标准LoRaWAN协议中,设备需在小于1%的占空比限制下直接发送并期望不会和其他设备发生碰撞。随着网络的扩展,这种信道接入的不协调导致网络的可扩展性快速下降,数据包丢失情况严重。Georgiou等人[2]提供了一个单网关上行消息模块来模拟LoRaWAN的性能,该模块考虑了信噪比和信号碰撞造成干扰的可能性,证明了拥有相同扩频因子(Spreading Factor,SF)的设备同时占用同一信道是造成干扰的主要原因,即在密集部署场景下LoRa 网络是碰撞受限而非噪声受限。因此在LoRa 网络中,使用相同SF 的设备之间需要相互协调以降低碰撞概率、提升网络容量。

目前在LoRa 网络中,降低碰撞概率主要有三类方法:基于时隙的传输方法[3-6]、传输参数的动态分配方法[6-12]和信道接入前检测方法[13-15]。时隙和参数的分配降低了碰撞的概率,但是在密集部署场景下同时接入信道的可能性依然较高。此外,LoRa 的网络结构使得这些方法都需要网络服务器较高频次的下行交互以确保时隙的对齐或参数分配的合理性,这带来了额外的开销。而LBT在发送前检测信道,大大降低了传输的盲目性和碰撞概率。并且,通过LBT方法访问信道可以不遵循采用ALOHA方法时的占空比限制。Duda等人[13]将载波侦听多路访问(Carrier Sense Multiple Access,CSMA)和CSMA-10(检测到信道空闲后再退避10 ms并检测信道是否仍然空闲)应用到LoRaWAN,并研究了包成功传输率和能耗方面的性能。Ortín 等人[14]研究了基于接收信道强度(Received Signal Strength Indication,RSSI)检测的物理层LBT 方式和基于前导码检测的MAC 层LBT 方式在LoRa 网络中的性能和可行性,结果表明基于MAC 的LBT 方式优势明显。Ahsan 等人[15]研究了三种基于二元指数的退避算法在LoRa 网络中的性能,其中二元指数退避(Binary Exponential Backoff,BEB)算法表现优异,具有最低的能耗和较少的碰撞次数。

信道接入前检测的方法大大改善了标准LoRa网络中的信道碰撞情况,拓宽了LoRa 技术在密集部署场景下的应用前景。但是BEB算法根据退避次数指数扩大竞争窗口,在LoRa 密集部署场景中可能会造成较大的延迟。考虑到已存在方法的不足,本文对单网关LoRa星型网络的特点和周期通信的应用场景进行分析,并提出信道接入前的检测和动态更新竞争窗口的大小以降低碰撞概率、减少退避时间。鉴于LoRa 网络中终端设备无法实时获取信道环境的特点,因此竞争窗口动态更新策略的选择参考终端本身的历史传输数据,如退避次数、成功传输时间等。此外退避时对最优竞争窗口的搜索是一个随机的过程,简单地增大和减小竞争窗口无法确保搜索过程的平稳性和收敛性。为了保证搜索效果、应对随机的传输过程,引入模拟退火算法来搜索最优的竞争窗口。模拟退火算法以一个逐渐降低的概率接受一个比当前解要差的解,因此有可能跳出局部最优解从而得到全局最优解。该算法拥有计算过程简单、搜索效率高、求得的解和初始解状态无关等诸多优点,适合LoRa网络这种周期传输环境下的最优竞争窗口搜索。并且在模拟退火算法中引入补充搜索过程,在周期传输的过程中以之前传输过程中搜索到的最优解为初始状态,不断执行模拟退火过程,搜索更优竞争窗口的可能性。补充搜索过程可以在网络结构和规模变化时自适应调整竞争窗口更新策略,使网络的性能始终向高PDR、低时延方向发展。总而言之,本文的主要工作如下:(1)针对LoRa网络提出了一种避碰和优化退避的方法LBT-SA;(2)给出基于LBT-SA 的设备的马尔科夫链模型并对其包传输成功率(Packet Delivery Rate,PDR)进行分析;(3)在NS-3平台下的LoRaWAN模块中进行大规模信道传输仿真,对于单网关、多种终端设备数量(100~10 000)的LoRa网络的PDR 改善明显,并且在密集部署场景下的平均退避时间至少提高了16.38%。

2 LoRa技术

LoRa 是一种超远距离无线传输技术,采用啁啾扩频调制技术,拥有低功耗、广覆盖、穿透性强的优点。如图1 所示,LoRa 网络是一个典型的星型网络,包含了终端设备(End-Device,ED)、网关(Gate Way,GW)、网络服务器(Network Server,NS)。

图1 LoRa网络架构

ED 单跳连接到一个或者多个GW,负责传感数据的收集和在广播信道上的上行数据发送。GW 具有多信道接收、解调的能力且作为一个转发设备通过高吞吐量信道连接到NS,负责接收并转发ED 的上传数据。NS负责下行数据的处理和发送、下行链路路由、网络控制等重要功能。这种星型网络架构虽然维护容易、配置灵活,但是大量的ED 通过单跳无线连接到单个或几个GW,并且标准LoRaWAN 中的ED 仅能从GW 获取NS下发的信道状态信息,可能造成大量的碰撞重发,大大缩减电池的寿命且无法准确及时地获取信道状态。

LoRa网络中,每比特的信息由多个符号表示,符号数量等于2SF。SF的取值范围为{6,7,8,9,10,11,12},取值越高表示1 bit 信息对应的符号越多,覆盖范围越广,数据速率越小。ED 和GW 之间的传输分为上行消息和下行消息,上行消息指由ED 发送到由一个或多个GW 并由GW 转发给网络服务器,下行消息与之相反。上行消息包括前导码(preamble)、LoRa 物理帧头、帧头CRC、有效载荷和有效载荷CRC。前导码分为固定部分和可修改部分,如公式(2)所示,值4.25为前导码固定部分最少符号数,NP为实际应用中指定的前导码可修改部分的符号数量。上行消息的滞空时间(Time on Air,ToA)的计算公式[16]为:

其中,BW为带宽,Tpreamble是前导码传输的滞空时间,L是数据包其他部分的符号长度,NP为前导码符号数,PL为有效载荷的符号数,H表示是否启用帧头,DE表示是否启用低速率,CR为编码率且CR∈{4/5,4/6,4/7,4/8}。更高的SF可提供更大的覆盖范围,但也使得包的ToA 呈指数增长,更容易造成相同SF的ED之间的碰撞。

针对不同的应用场景和需求,ED设置了三种类型:基于ALOHA信道接入方式和Duty-cycle限制的A类设备、定期唤醒的B 类设备、连续监听的C 类设备。其中A 类设备以电池供电,是最为常见的设备且功耗最低。A类设备的特点是异步传输,传输过程只能由ED发起,GW 只能在接收到上行数据包之后发起下行通信。ED在有发送需求时随机选择信道和适合的SF向GW发送上行消息,并在发送后延时打开接收窗口。

如图2 所示,A 类设备拥有两个上行传输之后延时打开的接收窗口RX1 和RX2,如果RX1 或RX2 检测到下行消息的前导码,无线接收器将保持工作状态直到下行消息被解调,并不再打开尚未开启的接收窗口。

图2 A类ED接收窗口时序

在标准LoRaWAN协议中,如果ED以ALOHA方式接入信道时需要遵循该信道小于1%的Duty-cycle 限制。Duty-cycle 限制被定义在ED 的物理层里,ED 会遵从已被定义的最大传输时间限制,并在每次尝试传输时判断是否符合Duty-cycle限制。除了遵从Duty-cycle限制的ALOHA,LoRa标准协议中还允许LBT信道接入方式。LBT方法可以在发送之前检测信道的忙闲,大大降低碰撞概率。扩频调制技术使得LoRa 的RSSI 可能低于接收机的低噪声,因此LoRa 信道的状态难以通过检测RSSI来获取。LoRa信道的检测是基于ED的无线接收器接收并解码信道中正在发送的前导码,未检测到基于相同扩频因子的前导码,则判断信道空闲,可以立即发送以占用信道;检测到基于相同扩频因子的前导码时,则判断信道被占用,从竞争窗口中随机选取退避时隙数量进行退避,并在退避结束时再次检测信道状态。常用的竞争窗口大小更新方法是BEB 算法,其优点是在信道负载较小时以较少时延成功发送,提高网络利用率,在重负载时窗口快速扩大,有效分解冲突。该算法的缺陷在于不能根据信道的负载变化灵活地更新竞争窗口,即竞争窗口只能单调递增,这使得信道负载减轻时可能造成部分数据包较大的时延。因此一种基于信道检测、竞争窗口灵活的信道接入方法更能满足LoRaWAN的性能需求。

3 LBT-SA

针对LoRa 网络的特点和BEB 算法的缺陷,本文提出了基于模拟退火(Simulated Annealing,SA)算法的LBT 信道接入方法——LBT-SA。和基于BEB 算法的LBT不同的是:ED检测信道被占用后以SA算法计算出的更新概率,并以该概率选择竞争窗口更新的策略。当充分的随机性与非常慢的冷却相结合时,SA 算法最终可以达到全局最优[17]。

SA算法是从一个初始高温T0下的随机解开始,然后选择较优解或以一个持续下降的概率接受较差解,随着温度的下降最终找到一个全局近似最优解。在LBT-SA 的竞争窗口更新策略中将传输过程分为两种:周期传输和周期内的尝试传输过程,一次周期传输中可能包含多次尝试传输过程。一次完整的SA搜索过程在一次周期传输中完成。对于竞争窗口的更新,令本周期传输总退避时间小于或等于上个周期总退避时间为较优解,反之则为较差解。SA 搜索过程中的温度下降函数由公式(4)表示:

α是温度下降因子(常取0.7~0.99),i等于退避次数j减去1。温度的下降过程是关于退避次数的函数,使温度随退避次数的增加逐步降低降温速率。信道的复杂性使搜索更小退避的过程可能会导致更多的退避,而这些偶然性的过度退避对搜索过程缺乏指导意义。因此如公式(6)和公式(7)所示,计算较差解的接受概率时,之前所有周期传输过程的平均总退避时间和前一周期传输的总退避时间Tback(t-1) 中的最小值被作为旧能级E(xold),而当前周期内传输的总退避时间Tback(t)被统计为新能级E(xnew)。

BEB 算法的竞争窗口随着每次碰撞的发生呈指数增长。当ED 需要发送数据包时,检测到信道繁忙则进入退避状态,从竞争窗口中随机选择一个数,这个数和最小退避时隙的乘积就是退避时间,检测到信道空闲则直接发送数据包。BEB算法竞争窗口的计算如公式(8)所示,ED 第i次退避时的竞争窗口大小为2i倍的最小竞争窗口。而公式(9)是竞争窗口根据退避次数以反比例函数缩小,若更新后竞争窗口大于最小竞争窗口则接收更新后的竞争窗口值,若小于CWmin则直接置为CWmin。该方法在保证更新后的竞争窗口大于最小竞争窗口的前提下逐步减缓竞争窗口减小的速度以避免在拥挤信道环境下频繁检测信道、浪费退避次数。

ED在退避时,基于公式(5)计算得出的概率p以公式(8)中的BEB算法更新竞争窗口,基于概率1-p以公式(9)更新竞争窗口。退避过程的退避时间由最小退避时隙CWmin和取自竞争窗口的随机数相乘得到。这个最小退避时隙被设置为12.54 ms,即以125 kHz带宽、SF为7传输8位前导码所需时间,由公式(2)计算得出。

LBT-SA方法中竞争窗口的二维马尔可夫链状态模型如图3 所示,它描述了ED 一次周期传输的过程。图中的状态是一个二维过程(i,b(i)),b(i)表示退避可能值的集合,集合中包含了随机退避时隙数量的递减过程且这个递减过程总是以1 的概率转移。设b(x,y)、b′(x,y)分别为采用公式(8)和公式(9)两种更新策略的设备退避x+1 次且当前退避时隙个数为y的概率。如上所述,i的值为ED的退避次数减去1。Wi表示BEB算法得出的竞争窗口大小,W1i表示以公式(6)得到的竞争窗口大小。本文中研究的设备为无确认机制的A类设备,在无确认机制的网络中数据包的发送仅存在两个状态:发送成功和被丢弃。ED 在超出最大退避次数限制后停止该数据包的发送并丢弃,因此令Ploss表示ED因为退避次数超出最大退避限制而丢弃数据包的概率,图3中所有状态概率b(x,y)、b′(x,y)之和为成功发送的概率,即1减去数据包被丢弃的概率。则有:

图3 竞争窗口的马尔可夫链模型

令τs表示ED在一个随机时隙中进行传输的概率,等于当前退避时间为0 并可发送的概率之和。令n表示网络中拥有相同SF 的ED 数量,τc表示条件碰撞概率,即已有1 个ED 在占用信道,另外n-1 个基于相同SF的ED中至少有一个在同一时间占用信道,可以得出:

令Pb表示检测到信道被占用的概率即信道中至少有一个ED 在发送数据包的概率,Ps为某个ED 成功传输的概率即在当前时隙中n个ED中随机有一个ED在发送且其他ED未在发送。则:

4 仿真结果及讨论

4.1 实验设置

为了研究LoRa 网络和评估所提算法的性能,建立了NS-3平台下的仿真模块。仿真模块实现了如图1 所示架构下基于A 类设备的LoRa 网络,在评估场景中设置了单个GW 和最多10 000 个A 类ED。ED 和GW 的高度分别设置为1 m和15 m。这些ED随机分布在GW附近7.5 km半径范围内,它们的位置满足泊松分布。每个ED 随机分配初始发送时间并以300 s 为周期产生上行无确认数据包。GW 以基带芯片SX1310 为例,支持最多8 个通道同时解调。ED 以LoRa 收发机芯片SX1278为例,其定义的信道活动检测(Channel Activity Detection,CAD)提供了对信道状态的检测。CAD 的原理就是以尽可能高的功率快速检测信道中的前导码并判断是否是所需的前导码。其他仿真参数设置如表1所示。

表1 仿真参数

模块考虑了信道路径损耗、SF 间干扰和捕获效应等现实因素。LoRa 设备的信道路径损耗Loss(d)使用考虑阴影衰落的Log距离损耗模型预测:

其中,Loss(d0)为参考距离d0处的路径损耗值,α为路径损耗指数,X为高斯分布随机变量且均值为0。d0和Loss(d0)在模块中分别设置为1 m 和8.1 dB,α被设置为3.76以模拟考虑阴影衰落的城市蜂窝网络环境。

模块利用不同的SF间的部分正交性来确定一个数据包是否能经受住其他SF 传输的干扰,通过引入同一信道(相同频率)下的SINR阈值矩阵T[18]以确定ED之间的干扰是否导致碰撞。信号与干扰加噪声比(Signal to Interference plus Noise Ratio,SINR)是接收到的有用信号强度与接收到的噪声加干扰信号强度之间的比值。

矩阵中元素Ta,b的值代表相同信道中以a+6 为SF 的ED 发送时不受以b+6 为SF 的ED 干扰的SINR阈值(dB为单位),即同一信道中设备间SINR之差大于矩阵中对应的值则可以互不干扰。由矩阵可知,相同SF 之间更易相互干扰,从而导致碰撞。此外对于受到多个设备干扰的ED,其所受到的干扰功率是其他设备功率的叠加。

4.2 实验数据分析

在ns-3模块中分别对基于ALOHA、LBT和LBT-SA的LoRaWAN进行了仿真评估。

多场景下的PDR(GW 接收的数据包数除以ED 发送的数据包数)数据如图4所示。为了避免随机的传输过程和算法的收敛过程造成实验结果数据的偶然性,图中的数据为稳定传输(15次周期传输之后)时10次传输数据的平均值。在实际部署场景下,ALOHA 过于简单的信道接入方式无法规避终端之间的碰撞,因此基于ALOHA 的LoRa 网络在密集场景下的可拓展性严重受限。如果网络中的所有终端都使用相同的参数,则网络最大吞吐量为18%[19]。这种信道接入方法在无确认机制的密集网络中将造成大量的传输碰撞和性能的急剧跌落。因此ALOHA 不能满足注重时延和PDR 的密集LoRa网络的性能要求。数据传输需求在时间上的分布不均匀性使得基于LBT的网络也无法达到最大的系统容量,但是基于BEB 的LBT 方法对信道的接入前检测大大降低了碰撞发生的概率,在网络可拓展性方面具有明显的优势。从曲线走势可以看出网络中终端增加时基于ALOHA 的LoRa 网络PDR 迅速跌落,而基于LBT和LBT-SA 则下降趋势平滑,在终端数量高达10 000 的场景下依然保持了较高的PDR。

图4 多场景下的PDR性能对比

图5 6 000个ED场景下多周期传输的PDR对比

LBT 和LBT-SA 在单GW 和6 000 ED 场景下多个周期传输中的PDR 对比如图5 所示。复杂多变的信道环境和基于LBT的终端对退避时间的随机选择,使得网络的PDR 性能在一定幅度范围内反复波动。LBT-SA在周期传输过程中参考历史周期传输数据,以概率方式更新竞争窗口大小,在保证了和LBT 高度一致的PDR性能的前提下逐渐减少了平均时延。在这个最小平均退避时间的搜索过程中,缓慢的模拟退火搜索通过一个逐渐下降的概率接受竞争窗口的指数增长,保持了与LBT相近的PDR并表现了较为快速的收敛过程和搜索效果。

在不同部署场景下ED的平均时延如图6所示。数据包的时延包括了从产生到被GW 成功接收的时间间隔,未被成功接收的数据包时延对平均时延无意义,因此未被统计。由于ED 发送的数据包无需确认,因此基于ALOHA 的LoRaWAN 中ED 的平均延迟为0。被广泛用于LBT更新竞争窗口的BEB算法提供了一种处理重负载的方法。尝试传输的重复失败意味着更多的退避时间,有助于负载的平滑。但负载动态变化时,仍一味扩大竞争窗口的大小会导致ED的平均时延较大。简单地减小竞争窗口会导致信道过度拥挤,使得大量ED因退避次数超出限制而丢弃数据包。LBT-SA在传输过程中根据退避时间计算竞争窗口更新的概率,缓解了由于信道过度拥挤而引起的冲突并降低了平均时延。最显著的改善是当ED 数量为3 000 时平均时延降低了42.74%,当ED 数量为10 000 时平均时延依然降低了16.38%。平均时延的下降过程将持续到某次传输之后达到近似最优值,并且由于退避值的随机选择平均时延将在一定范围内波动。在基于非时隙LBT信道接入方法的单GW网络中,其网络容量是有限的且低于其最大网络容量。相同区域的多GW 部署可以缩小单个GW网络的规模,减少占用更多ToA的SF的使用,显著提高网络总容量。基于前导码检测的信道状态获取办法使得LBT-SA 也适用于多GW 的场景。LBT-SA 可以在一般负载下显著提高PDR 和降低平均时延,因此可以更好地在相同覆盖区域、多GW场景中运行。

图6 多场景下的数据包平均时延对比

但是这种策略在密集的部署场景中可能会导致更多的平均退避次数。图7 为在不同部署场景下LBT 和LBT-SA 的平均退避次数。ED 的平均退避次数在密集部署场景下明显增加,信道的拥挤使得ED 在减小竞争窗口后增加了退避概率。无法检测到空闲时隙的ED只能更多地退避以缓解信道拥挤,因此增加了平均退避次数。

图7 多场景下的平均退避次数对比

LBT-SA 在单GW 和6 000 ED 场景下的平均时延收敛性能如图8 所示。基于LBT-SA 的ED 平均时延逐渐减小,在周期传输15 次左右达到次优值。在相同场景下,其收敛速度取决于初始温度和冷却因子。在一定范围内,降温速率与平均时延收敛的速度成正比。快速下降的温度会加快收敛速度,但导致信道更加拥挤,更多的设备因超出退避次数限制而发送失败,而温度的缓慢下降也会导致过长的收敛过程,为不同的场景选择最佳参数是未来工作的一部分。

图8 6 000个ED场景下数据包平均时延变化趋势对比

仿真结果表明了所提算法的有效性,在密集部署场景下提高了LoRa 网络的PDR 并在周期传输过程中以较快的收敛速度减少平均退避时间。并且算法中的持续搜索机制可以在场景变化(终端损坏、新增终端入网)后重新优化并达到新场景下的最优状态。

5 结束语

本文为LoRaWAN 提出了一种新的信道接入方法LBT-SA,以提高LoRaWAN 的可拓展性和可靠性,并减少不必要的退避时间。通过对历史周期传输数据的统计和计算,得出当前周期竞争窗口更新策略选择的概率,在较高的PDR 下搜索更小退避的可能性。在ns-3仿真模块中评估了该方法在不同部署情况下的性能,并与基于ALOHA和基于LBT的LoRaWAN性能进行了比较。仿真结果表明,在密集部署场景下,PDR 至少可以提高50%,在9 000个节点或以上的场景下,PDR可以提高100%以上。而平均时延至少提高了16.38%。虽然在多达10 000 EDs 的密集部署场景中,唤醒次数及信道检测次数增加3.7%,但对电池的消耗是有限的。未来计划从功耗、服务质量等几个方面对算法进行改进和评估。

猜你喜欢

数据包时延信道
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
5G承载网部署满足uRLLC业务时延要求的研究
基于GCC-nearest时延估计的室内声源定位
C#串口高效可靠的接收方案设计
简化的基于时延线性拟合的宽带测向算法
基于导频的OFDM信道估计技术
一种基于GPU的数字信道化处理方法
WLAN信道黑名单功能的提出与实现