LoRaWAN ADR 自适应速率 算法简介及最新研究方向

  • 1. 背景:
    • 1.1 ADR简介
    • 1.2 LoRaWan NS
    • 1.3 ADR目标
    • 1.4 ADR应用场景
  • 2. ADR实现方式、原理:
  • 3. ADR算法研究方向:
    • 3.1:ADR Algorithm optimization
    • 3.2:LoraWAN ADR Evaluation
    • 3.3:Data Analysis in LoRAWAN
    • 3.4:Others Optimization
  • 附:相关代码参考
  • 博主热门文章推荐:


1. 背景:

一晃已经很多年没接触Lora了,也多年没有学习和写过这方面文章了 (上一篇还是2018年),所以最近有兴趣研究下近几年最新的Tech,简单检索了下Lora ADR相关的最新研究和发展,在这里汇总一下分享给大家~

LoRaWAN ADR (自适应速率 Adaptive Data Rate )

1.1 ADR简介

Q: 什么是ADR (Adaptive Data Rate) ,什么是自适应速率?

根据Lora官网描述:

To maximize the battery life of your devices, LoRA uses the adaptive data rate (ADR) scheme. The ADR manages individual speeds for each connected device. End devices can transmit over any available channel at any time using any available ADR speed subject to the following rules:

由此可见,ADR是LoRaWAN (https://lora-alliance.org/ )的核心功能之一。
LoRa网络允许终端设备逐一配置选择数据速率。
LoRaWAN协议根据该特性对静态终端的数据速率进行调整优化,实现通信传输数据速率的自适应(ADR)。

相关的Knowledge在Lora官网有一篇文章讲的非常清楚,推荐看一看:

  • Understanding-ADR: https://lora-developers.semtech.com/documentation/tech-papers-and-guides/understanding-adr

1.2 LoRaWan NS

  • NS (Network Server)服务器:
    https://lora-developers.semtech.com/build/network-server/

还是引用下官方原文:

LoraWAN NS: A network server with all end devices that is configured as an integral part of the application (top-level Software) and connected to the base stations (LoRaWAN gateway). A network server can be embedded in a gateway or located on a dedicated server along with the Dispatcher SOFTWARE.

NS的作用:主要就是LoRaWAN网络信息和设备管理以及ADR

The network server receives messages from devices, manages their authentication, data routing, and gateway management. The network server independently selects the best gateway for routing data from the device, as well as eliminates duplicate messages and optimize the radio airwaves using ADR.

NS和ADR的关系:NS作为执行方,通过SNR来实现ADR

the network server can perform adaptive data transfer rate (ADR) settings based on the received SNR (signal-to-noise ratio). SNR is a dimensionless value equal to the ratio of the power of the useful signal to the noise power.) each device. When using ADR, devices spend less time on the air, increasing the efficiency of radio resources, as well as managing the reliability of message delivery.

简单来说,NS服务器作为LoraWAN网络的Manager,在开启ADR功能后,可以接管并配置每一个终端的通信速率及发射功率,使得终端功耗最优以及通信速率最高,从而实现网络容量的最大化以及低功耗终端寿命的提升。
  
ADR功能需要NS服务器来动态管理网络内所有节点的通信速率及功率。然而官方协议中只明确给出了MAC命令的帧格式,对于NS侧的ADR算法实现(即何时,以什么为标准,将终端速率及功率到怎样的水平)Semtech并没有具体给出。(官方有一份参考文档:“LoRaWAN – simple rate adaptationrecommended algorithm”,仅针对EU868频段给出了简单的ADR算法建议)

1.3 ADR目标

ADR的目的,或者目标是:

  • 降低丢包率,增加物理层-应用层通信包成功率,增加通信稳定性、系统鲁棒性
  • 降低功耗,gw和nodes速率均衡,射频TOA时间
  • 更优的速率通信选择,占用更少的信道资源
  • 减小信号碰撞概率,提升网络容量,充分利用网络带宽
  • 降低nodes电池消耗, 延长nodes使用寿命

1.4 ADR应用场景

实际工程环境下,LoRaWAN网络中的各个终端节点信号覆盖情况都不相同,而使用ADR算法可以让每一个节点在通信成功率以及功耗之间找到一个平衡点。

ADR算法适用固定位置网关,不适用于移动终端,若终端节点位置相对于网关位置经常发生改变,那么基于最近数据包信号质量而选择的数据速率可能会和新环境不匹配而导致通信丢包。
  
  但目前LPWAN行业的典型应用基本都是静态节点,如水电表、地磁、门锁、温湿度之类,对于这些静态终端以及部分偶尔发生移动的终端设备,ADR功能都可以有效地将通信速率调节至合理,并且对于偶发的位置变化导致的数据丢包也可以在一定时间内进行自愈。


2. ADR实现方式、原理:

上面简介提到了,ADR 的实现中,最关键的是可以通过NS(Network Server)对于终端设备通信速率/功率进行控制,

这一块LoraWAN具体是通过MAC命令-LinkADR(CID-0x03) 来实现,该指令帧格式及通信协议在官方文档中给出了详细描述:

详情可参见LoraWAN specification

https://lora-alliance.org/wp-content/uploads/2020/11/lorawantm_specification_-v1.1.pdf

下面只做下简单介绍。

  1. LinkADRReq命令,
    由NS发起,要求节点修改Datarate(速率)、TXPower(功率)、ChMask(信道掩码)、NbTrans(重传次数)等参数

  1. LinkADRAns命令,
    节点用以回复NS的Req命令,包含Power ACK(功率确认)、Data rate ACK(速率确认)、Channel maskACK(信道掩码确认)三个字段

3. ADR算法研究方向:

我检索了 最近这几年ADR算法相关的国际论文(期刊/会议)、网络文献、官网等参考资料,目前找到的主要研究方向有下面几个:

3.1:ADR Algorithm optimization

主要是基于现有ADR算法的改进,包括无损自适应ADR,动态ADR,防冲突ADR ,

检索到的主要相关论文有:

  1. ND-ADR: Nondestructive adaptive data rate for LoRaWAN Internet of
    Things, 2022.3

[论文链接]:https://onlinelibrary.wiley.com/doi/abs/10.1002/dac.5136

[论文核心]:无损自适应算法,增强通讯稳定性,降低丢包率 和传输功耗

  1. A New-Dynamic Adaptive Data Rate Algorithm of LoRaWAN in Harsh
    Environment, 2021.10

[论文链接]:https://ieeexplore.ieee.org/document/9560129

[论文核心]:动态无损自适应, 进一步提高信道利用率、降低网络功耗, New-Dynamic ADR。
解决的问题:一是在多变环境下应用标准ADR算法存在通信质量差、丢包率较高,无法适用于移动终端设备通信的问题;二是该算法增加了链路感知的判断依据,且通过动态选择接收数据包的数目作为速率调节依据,提高了系统的可靠性。

  1. RM-ADR: Resource Management Adaptive Data Rate for Mobile Application in LoRaWAN, 2021

[论文链接]:https://www.mdpi.com/1424-8220/21/23/7980

Resource Management ADR (RM-ADR) at both ED and Network Sides (NS) by considering the packet transmission information and received power to address this issue.

  1. A Novel Collision-Aware Adaptive Data Rate Algorithm for LoRaWAN Networks, 2020

[论文链接]:https://ieeexplore.ieee.org/document/9179826

[论文核心]:collision-aware ADR (CA-ADR), which tries to minimize the collision probability when assigning data rates by considering the entire set of EDs in the network and keeping the link-level performance under control.

  1. Optimizing Power Allocation in LoRaWAN IoT Applications , 2021

[论文链接]:https://ieeexplore.ieee.org/document/9490646

[论文核心]:A novel game-theoretic framework for LoRaWAN named best equal LoRa (BE-LoRa), to jointly optimize the packet delivery ratio and the energy efficiency (bit/Joule).


3.2:LoraWAN ADR Evaluation

主要研究LoraWAN ADR算法模型的评估测试,以及Simulator 网络模拟方法:

相关论文有:

  1. Analysis and Enhancement of the LoRaWAN Adaptive Data Rate Scheme, 2020

[论文链接]:https://ieeexplore.ieee.org/document/9044872

[论文核心]:extend the LoRaWAN module in ns-3 by adding ADR, enabling the simulation of realistic LoRaWAN networks, and add the implementation of the new enhancements in this module.

  1. Empirical Analysis of LoRaWAN Adaptive Data Rate for Mobile Internet of Things Applications, 2021

[论文链接]:https://ieeexplore.ieee.org/document/9589038

[论文核心]:chose four proposed algorithms that focused on improving the ADR in terms of data extraction rate (DER) and evaluated them to study and critically analyze their performances by LoRaSim

  1. Modeling the Energy Consumption of LoRaWAN in ns-3 Based on Real World Measurements, 2019

[论文链接]:https://ieeexplore.ieee.org/document/8635786

[论文核心]:analysis of the energy consumption of different states in a LoRa transmission by the SX1272 in ns-3

  1. Evaluating the Scalability of LoRaWAN Gateways for Class B Communication in ns-3, 2018

[论文链接]:https://ieeexplore.ieee.org/document/8581759
LoRaWAN in ns-3 to explore the limits of scale at which this form of bi-directional communication remains feasible in large networks

[论文核心]:chose four proposed algorithms that focused on improving the ADR in terms of data extraction rate (DER) and evaluated them to study and critically analyze their performances by LoRaSim


3.3:Data Analysis in LoRAWAN

传感器网络相关的算法,很多是使用机器学习等数据分析的算法,应用到loraWAN领域

  1. LoRaWAN Behaviour Analysis through Dataset Traffic Investigation, 2022

[论文链接]:https://www.mdpi.com/1424-8220/22/7/2470

[论文核心]:analyse LoRa and LoRaWAN by looking at its transmission characteristics and network behaviour, respectively, explaining the role of its components and showing the message exchange. This analysis is performed through the exploration of a dataset taken from the literature collecting real LoRaWAN packets.

  1. Towards a Rigorous Evaluation of Time-series Anomaly Detection, 2021.11

[论文链接]:https://arxiv.org/abs/2109.05257

[论文核心]:the comparison of TAD methods after applying the PA protocol can lead to misguided rankings

  1. Deep unsupervised methods towards behavior analysis in ubiquitous sensor data, 2022

[论文链接]:https://www.sciencedirect.com/science/article/pii/S2542660521001256?via%3Dihub

[论文核心]:clustering technique for BA which can find hidden routines in ubiquitous data and also captures the pattern in the routines. Our approach efficiently works on high dimensional data for BA without performing any computationally expensive reduction operations. We evaluate three different techniques namely Latent Dirichlet Allocation (LDA), the Non-negative Matrix Factorization (NMF), and the Probabilistic Latent Semantic Analysis (PLSA) for comparative study.

  1. https://www.mdpi.com/1424-8220/22/2/664

studying the number of packets generated for a use case of REST-based IoT over LPWAN, specifically the Swarm OS over LoRaWAN. The work also presents an analysis of the impact of using promising schemes for lower communication load.



3.4:Others Optimization

  1. LoRaWAN Versus NB-IoT: Transmission Performance Analysis Within Critical Environments, 2021

[论文链接]:https://ieeexplore.ieee.org/document/9429698

[论文核心]:comparison of transmission performances within critical environments (i.e., underwater, within metal enclosures and underground) for two of the most adopted enabling technologies for the Internet of Things (IoT):

  1. the long-range wide area network (LoRaWAN) protocol and
  2. the narrowband IoT (NB-IoT)

附:相关代码参考

Github:

  • https://github.com/signetlabdei/lorawan
  • https://github.com/brocaar/chirpstack-concentratord

ChirpStack NS:

  • https://www.chirpstack.io/network-server/features/adaptive-data-rate/

博主热门文章推荐:

一篇读懂系列:

  • 一篇读懂无线充电技术(附方案选型及原理分析)
  • 一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信
  • 一篇读懂:Android手机如何通过USB接口与外设通信(附原理分析及方案选型)

LoRa Mesh系列:

  • LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
  • LoRa学习:信道占用检测原理(CAD)
  • LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)

网络安全系列:

  • ATECC508A芯片开发笔记(一):初识加密芯片
  • SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
  • 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
  • AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例

嵌入式开发系列:

  • 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
  • IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
  • Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
  • Android底层调用C代码(JNI实现)
  • 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
  • Android/Linux设备有线&无线 双网共存(同时上内、外网)

AI / 机器学习系列:

  • AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
  • AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
  • AI: 什么是机器学习的数据清洗(Data Cleaning)
  • AI: 机器学习的模型是如何训练的?(在试错中学习)
  • 数据可视化:TensorboardX安装及使用(安装测试+实例演示)

LoRaWAN ADR (自适应速率) 算法简介及最新研究方向相关推荐

  1. 基于圆展开自适应三边测量算法的室内定位

    基于圆展开自适应三边测量算法的室内定位 具有无线通信功能的移动设备的日益普及刺激了室内定位服务的增长.室内定位用于实时定位设备位置,方便访问.然而,由于大量障碍物,与室外定位相比,室内定位具有挑战性. ...

  2. 流媒体学习之路(BBR算法应用)——BBR算法简介

    流媒体学习之路(BBR算法应用)--BBR算法简介 文章目录 流媒体学习之路(BBR算法应用)--BBR算法简介 一.弱网优化简介 1.1 补包 1.2 前向纠错 1.3 自适应 二.BBR算法 2. ...

  3. 从动力学角度看优化算法:自适应学习率算法

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 在从动力学角度看优化算法SGD:一些小启示一文中,我们提出 SGD 优化算法跟常微分方程(ODE) ...

  4. 拓展 - Webrtc 的回声抵消(aec、aecm)算法简介

    webrtc 的回声抵消(aec.aecm)算法简介 原文链接:丢失.不好意思 webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:1.回声时延估计 2.NLMS(归一化最小均方 ...

  5. 【WebRTC】回声抵消(aec、aecm)算法简介

    [WebRTC]回声抵消(aec.aecm)算法简介 webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:1.回声时延估计 2.NLMS(归一化最小均方自适应算法) 3.NLP( ...

  6. webrtc 的回声抵消(aec、aecm)算法简介(转)

    webrtc 的回声抵消(aec.aecm)算法简介 webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:1.回声时延估计 2.NLMS(归一化最小均方自适应算法) 3.NLP( ...

  7. 『分享』水平集算法简介(Level Set)

    注:原文网页广告太多,决定转帖到这里,待更新! [原链接]http://www.caogenit.com/caogenxueyuan/yingyongfangxiang/rengongzhineng/ ...

  8. 回声消除中的自适应滤波算法综述

    作者:凌逆战 博客园地址:https://www.cnblogs.com/LXP-Never/p/11773190.html 自适应回声消除原理 声学回声是指扬声器播出的声音在接受者听到的同时,也通过 ...

  9. viterbi译码算法简介

    viterbi译码算法简介 viterbi译码算法是一种卷积码的解码算法.优点不说了.缺点就是随着约束长度的增加算法的复杂度增加很快.约束长度N为7时要比较的路径就有64条,为8时路径变为128条.  ...

最新文章

  1. Java虚拟机new和newarray相关指令学习
  2. html 查询表单,如何让我的HTML表单查询适用于所有表单元素?
  3. Blend4开发:会飞的小鸟
  4. 数据结构与算法--再来聊聊数组
  5. 安装Vuecli新版本正常,但是显示版本是低版本
  6. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令
  7. oracle 命令分析
  8. 类创建几种java_Java创建对象的几种方式
  9. php转为json格式,如何将PHP数据转换为json格式?
  10. 【转载】Goldendict下优质词典简介及安装 (2016-07-29 23:33:20)
  11. OmniPlayer Pro for Mac(全能视频播放器)
  12. 社交鼻祖人人网被卖 曾意气风发比肩Facebook 一代人的回忆终结了
  13. 京东云php环境配置,干货 | 京东云应用负载均衡(ALB)多功能实操
  14. 万兆单模模块_万兆(10G SFP+)单模光模块的介绍及应用
  15. jzoj P1285 奶酪厂
  16. 瑞泰口腔黄远亮院长应邀出席第十二次全国口腔种植学术大会
  17. 自动登录QQ空间 --- Selenium打开带有xpath-helper的chrom
  18. 有时间要看的书(个人整理)
  19. Gearman 的使用
  20. 铁甲雄心——机器人商用的求生之路

热门文章

  1. OJ术语表: AC、WA、TLE、OLE、MLE、RE、PE、CE
  2. 机械专业应具备什么计算机能力
  3. 「镁客·请讲」思岚科技陈士凯:致力于为各类机器人解决好自主定位导航能力...
  4. 示波器测量高频信号为什么要用x10档
  5. 面试题准备(二十六):form 表单
  6. 基于paddledetection在ROS中搭建红绿灯检测控制车模运动(2)—— 数据集制作以及训练
  7. 文王八卦圖와 大過互卦圖
  8. Android详细教程(基础篇):二十八、Android 广播机制BroadcastReceiver
  9. 揭秘闲鱼引流内幕,你不会还不知道吧!
  10. Thinkpad x230i预装Windows 8的机型更换Windows 7及XP的常规设置方法