由认识到应用——LoRa技术(性能)

Posted 读书叔叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由认识到应用——LoRa技术(性能)相关的知识,希望对你有一定的参考价值。

####前言
在这之前,我们通过《从陌生到认识——LoRa技术》知道了LoRa,在这之后,我们或许可以将LoRa技术落地应用。

####题目

  1. LoRa网关容量分析
  2. LoRa节点制约分析
  3. LoRa信号空中飞行分析
  4. LoRa传输距离分析

1. LoRa网关容量分析

首先,什么是LoRa网关? 网关功能和大小都和WIFI路由器差不多,它用来接收节点(终端)发射的数据,然后通过互联网把数据转送到LoRa应用服务器。

常用的LoRa网关芯片有:

  • Semtech 的第一代产品 SX1301和SX1308, 这两个芯片差别不大,软件层面可以通用,两者差别是:SX1301灵敏度、功耗和温度适应范围比SX1308要好。

  • Semtech 的第二代产品 SX1302, 这是第一代的升级产品,在第一代的基础上进行了很多改良,特别是功耗方面,SX1302的功耗不到SX1301的10%,这为太阳能供电提供了保证。由于改动较大,1302和1301的控制软件是不可以通用的。

  • 1302突出点
    (1) 1302的内部有一个SPI桥接功能,它的好处是:1. MCU可以通过这个功能连接到射频前端,直接实现控制管理;2.另外一个好处是LBT的监听实现比上一代简单很多。
    (2) 1302扩宽了解调通道的处理能力,原先1301的每路解调通道同一时间只能支持一个解调器工作,而1302在同一时间里,支持两个解调器在同一条通道里工作,例如,通道同时有两路信号,信号的频率相同,SF不同,1301只能正确解调其中一路,另一路信号会被丢弃,而1302则可以同时将两路信号解调成功。

1.1 常见网关设计

Dragino网关为例,Dragino LG08 网关使用了一个网关芯片(SX1301),两个射频前端芯片(SX1257),可以同时监听8路+1路LoRa信号,接收灵敏度为 -140dBm,支持LoRaWAN协议标准。

大部分网关的设计都可以同时接收8 路不同射频频率的信号

因为,LoRa网关有8个LoRa信号接收信道,这信道好比马路上的车道,如果马路有八条车道,即可以同时实现八辆车并排通行,如果要求每一种类型的车仅能行驶在固定的车道,那么,八车道的马路同时并排的八辆车必须是不同类型的,LoRa网关也如是,它只能同时接八种不同类的信号(频率和SF不同),如果同一时间有大量节点发射数据,网关的信道被占满后,会放弃其他多余的信号。

LoRa信道冲突是很常见的,所以节点发射信号要有协议规定,例如信号占空比,每个节点每次发射信号占用的时间不能超过规定的时间,否则视为不遵守规则。 网关可以通过硬件设计方式,例如添加节点芯片,实现LBT——listen-before-talk,LBT的作用是监控信道是否被占用,在某些国家(日、韩)是强制要求网关实现这个功能的,因为这些国家面积小,人口又比较多,通信频道容易拥塞,使用LBT能提高信道效率。

网关容量的计算比较复杂,如果终端按每3分钟发射一次数据,数据长度为50B去估算,网关接纳终端的数量是900个左右。

具体要计算网关接纳终端的容量,受很多因素制约,其中至关重要的是通道多址接入控制协议,多址接入协议分类有:
1.固定多址接入,典型的有频分多址(FDMA)、时分多址(TDMA)、 码分多址(CDMA)、空分多址(SDMA)。
2.随机多址接入,靠随机数控制,典型的协议有ALOHA, CSMA。
3.基于预约的多址接入,数据发射前先进行通道预约,原理和日常预约挂号差不多。

1.2 针对LoRa的特点,提高网关容量的方法有:
  • 载波监听(CAD),LoRa的终端节点芯片都有CAD功能,只需要监听非常短的时间(两个码元的时间,大概1~5ms),就可以判断信息是否被占用。网关的LBT就是使用了CAD功能实现的。
    CAD监听会有失效的情况,当终端在网关的两端,且距离较远时,一端的节点会出现无法监听到另一端节点的信道使用情况,正常来说,失效率小于3%。

  • 相同一个信道内,BW不变情况下,可以改变SF实现多路正交数据互不干扰传输,这样一个信道就可以容纳多个节点的信号,因为SF不同,信号空中飞行时间也不同,网关到达时间就不同,网关就有空余的能力处理信号,从而扩大了网关的容量。

  • LoRa芯片都具有同信道抑制功能(Co-channel Rejection),当一个信道内同时进入多路数据时(BW和SF相同,发生碰撞),芯片具有正确解调其中一路的能力,没被解调的信号会消失。
    LoRa私有协议的数据强度差距会比较明显,信道发生碰撞时,能正确解调出一路的概率大于60%;而LoRaWan协议中,由于使用了ADR,各路信号强度差距不大,信道发生碰撞时,正确解调出一路的概率约为40%

1.3 LoRaWAN网络信道

LoRaWAN一般有8路信道,每路信道是相互独立的,我们只要分析其中一路信道,计算其容量,再乘以8就可以计算出网关的容量。
以Dragino LG08网关的其中一个信道为例进行分析,首先,需要统计网关覆盖区域内的所有终端节点的发包长度、ADR后的扩频因子、发包频率这些参数。通过LoRa计算工具(计算公式)计算出LoRaWAN模式下不同扩频因子对应的传输速率,并计算出每个终端节点的每个包的飞行时间,然后进行加权平均和数据处理。

处理方法如下:

(1) 将一段时间内,例如1周内,所有的LoRaWAN节点上行数据包采集下来,记录总的数据包个数 Nsf-total, 所有数据飞行时长加权统计 $\\sum^1_nt_i $ 。
将所有节点看成相同节点,其平均飞行时间 t a v e r a g e t_average taverage 及频次 f a v e r a g e f_average faverage
t a v e r a g e = ∑ n 1 t i N s f t o t a l t_average = \\frac \\sum^1_nt_iN_sftotal taverage=Nsftotaln1ti
f a v e r a g e = N s f t o t a l T f_average = \\fracN_sftotalT faverage=TNsftotal

(2) 信道容量推导
根据多址接入协议CSMA的标准推导,此时已知单信道信号发射频次( f a v e r a g e f_average faverage)和平均飞行时间( t a v e r a g e t_average taverage ),物联网应用对延迟要求普遍不高,网络负载G(单位时间内发送的信号总数)设为平均飞行时间的3倍,假设为G=3, 则吞吐量S(单位时间内成功发送的信号总数)= 0.72(经验估算值),选择吞吐量的一半 S=0.36计算网关单信道容纳节点数量: $ N_1 = \\frac1f_average \\cdot t_average \\times 0.36 $ , 这是网关单信道的容纳节点数公式,将上述公式乘以8就是8信道网关的节点容纳数。
经过一些应用统计,数据因应用相异,例如:智慧社区应用, t a v e r a g e t_average taverage 约等于 250ms, t a v e r a g e t_average taverage每周1~2次,针对这样的应用,网关可以容纳 40000 40000 40000 个节点数量。

很明显LoRa的网关容量是足够大的,物联网节点设备每天的发包率大多数都很低,一个Dragino LG08网关每天可以支持几十万(粗略估算 50 万 左 右 50万左右 50)条上行数据,计算公式:$ N_average = 24 \\times 3600 \\times 吞吐量S \\times 8 \\div t_average $ 。

如果考虑下行数据,上行的数据包总量会有所减少,大概会减少 20%~50%的上行数据容量。

如果使用Dragino的新款网关LIG16(SX1302方案),上述数据容量会明显增大,1302的信道的吞吐量要比1301大 3 3 3倍。

基本上,LoRaWAN网络的信道容量是足够的,网关布置的关键是要考虑信号的覆盖问题。

2.LoRa节点制约分析

2.1 节点芯片介绍

LoRa节点芯片亦发展到了第二代,第一代为SX127X系列,第二代为SX126X系列,新产品性能必须要比旧产品性能好,SX126X对比旧版的优势有:

  • 可以连续覆盖频率,范围为:150~960MHz
  • 增加30%的工作距离
  • 增加60%的输出功率
  • 节省32%的发射电流
  • 增加3倍休眠电流(这是缺点)
  • 支持 SF5
  • 降低开发难度
2.2 关键制约
  1. 保持足够的供电电压,输出功率是线性的
  2. 在功率发射时的热量会传导到外围晶振,,晶振振动频率随温度升高而降低。
2.3 发热解决方案

可以通过使用温补晶体或电路开槽的方案解决。

3. LoRa信号空中飞行分析

空中飞行时间可以通过公式计算得到:
T O A = 2 S F B W × N s y m b o l TOA = \\frac 2^SFBW \\times N_symbol TOA=BW2SF×Nsymbol

2 S F B W \\frac 2^SFBW BW2SF 是单个码元的时间, $N_symbol $是数据包码元总数。

$N_symbol = 前导码码元数 + 前导码结束标记(4.25个码元)+ 数据包码元数 $

数据包长度值最小是1B,最大长度需要满足国家地区无线电规范。 需要注意的是,每增加1B长度的数据,其空中飞行时间不会连续增加,而是增加一定字节的数据后一次性增加时间。

这是因为数据发射前要经过LoRa芯片的交织编码处理,而交织编码器有一定的容余空间。

例如在 SF = 7 的配置下,交织器的容量是 ( C R + 1 ) 列 × S F 行 = 5 × 7 = 35 b (CR+1) 列\\times SF行 = 5\\times7 = 35b (CR+1)×SF=5×7=35b ,其中有 4 × 7 = 28 b 4\\times7=28b 4×7=28b是有效载荷, 发送1B~3B的数据都是用5个码元,发送4B数据时,就要10个码元数,而10个码元可以容纳56b(7B)有效载荷。

4. LoRa传输距离分析

LoRa通过无线电波传输,无线电波从发射天线发出,沿不同途径和方式到达接收天线,传输到达的距离远近和电波的频率、极化方式、传播的路径等有关。

电波的理想路径是在真空传输,没有阻挡,舒舒服服。
在实际的应用环境中存在各种障碍物,使电波的传播产生反射、绕射和衍射等非理想传输方式,造成距离计算的多样性和复杂性。

  • 电波在空气中直射传播,虽然没有障碍物,但由于辐射能量的扩散,会有一定程度衰减。
  • 反射波传播时,会有能量被反射介质吸收,造成能量衰减。
  • 绕射传播时,如果波长够长,电波可以绕过障碍物继续传播。
  • 散射传播时,利用非均匀介质传播,距离相对较远,保密性也好。
  • 穿透传播时,产生贯穿损耗,损耗大小与波的频率和被穿透物的材质、尺寸有关。

无线电波极限距离可以用公式表达为:

距 离 D = 4.12 ( h t + h r ) ( h t 为 发 射 天 线 高 度 , h r 为 接 收 天 线 高 度 ) 距离D = 4.12(\\sqrt h_t + \\sqrt h_r) (h_t为发射天线高度, h_r为接收天线高度) D=4.12(h t+h r)ht线hr线
假设LoRa系统的节点发射天线高度为 h t = 5 m h_t = 5m ht=5m,网关接收天线高度为 $h_r = 1.5m $, 在不考虑链路损失的情况下,该系统最远通信距离为 14.3 km

链路预算和弗里斯传输公式

弗里斯传输方程是讨论,在自由空间的一个射频发射和接收系统中,发射功率、接收功率与天线增益、传输距离之间的关系。

当发射天线与接收天线的方向系数 D D D都为1时,设发射天线辐射功率 P t P_t Pt与接收天线的最佳接收功率 P r P_r Pr的比值为 L 0 L_0 L0, 得公式:

L 0 = P 0 P r L_0 = \\fracP_0P_r L0=PrP0
L 0 = 10 l g P 0 P r L_0 =10lg \\fracP_0P_r L0=10lgPrP0

D=1时&#x

以上是关于由认识到应用——LoRa技术(性能)的主要内容,如果未能解决你的问题,请参考以下文章

由认识到应用——物联网LoRa技术性能分析

由认识到应用——物联网LoRa技术性能分析

由陌生到认识——物联网LoRa技术入门简介

由陌生到认识——物联网LoRa技术入门简介

LoRa网关介绍

LoRa基站网关-室内型