天天看点

LoRa波形参数前言一、LORA调制二、接收灵敏度三、信噪比和扩频因子四、带宽和码片速率五、前向纠错六、LORA包格式和空口传输时间七、参数程序接口

文章目录

  • 前言
  • 一、LORA调制
  • 二、接收灵敏度
  • 三、信噪比和扩频因子
  • 四、带宽和码片速率
  • 五、前向纠错
  • 六、LORA包格式和空口传输时间
  • 七、参数程序接口

前言

  本文介绍LORA波形应用于无线应用场景下的相关说明设置,分为两部分包括基础部分和进阶设计部分。

  参考《AN1200.13》

一、LORA调制

  LORA使用的是宽带线性频率调制脉冲的方式,即,在一段时间内频率上升或下降来编码信息。这种方式的优点是:得益于扩频技术而大幅提高了接收灵敏度,并且提高了发送方和接收方的频率误差容忍度。

二、接收灵敏度

  室温下,接收灵敏度计算公式: S = − 174 + 10 l o g 10 B W + N F + S N R S = -174 + 10log_{10}{BW} + {NF} + {SNR} S=−174+10log10​BW+NF+SNR  其中“-174”为大自然基地噪声密度,只收接收端环境温度影响。单位为dBm/Hz;“BW”为接收机带宽;“NF”是接收机的噪声系数,只受接收机硬件影响;“SNR”为最小信噪比解调门限,由LORA波形决定。

三、信噪比和扩频因子

  扩频因子的基本概念是信息的每一位编码在多片上,在LORA调制中数据速率与片速率的关系, R c = 2 S F R b R_c = 2^{SF}R_b Rc​=2SFRb​其中“SF”为扩频因子。

  

  “SNR”是最小解调信噪比,由LORA波形决定。前向纠错(FEC)技术和扩频技术相结合可以提高最小解调信噪比。下表为一些常规调制方式和LORA调制的最小解调信噪比。

Module Typical SNR
LoRa SF12 -20dB
LoRa SF10 -15dB
GMSK 9dB

  扩频因子直接影响着数据包传输的持续时间。在250kHz固定带宽下,扩频因子对传输时间、接收灵敏度的影响如下表。

SF Time on air[ms] Sensitivity[dBm]
12 528.4 -134
10 132.1 -129
8 39.2 -124

四、带宽和码片速率

  设计中一个重要问题是,选择合适的带宽和扩频因子,决定了数据传输时间。一位代表多个码片,意味着需要用比原来更高的码片速率,也就需要提高带宽。

  LoRa调制以码片速率发送扩展数据流,该码片速率为每秒每赫兹的码片带宽。因此,125kHz的LoRa带宽对应于125kcps的码片速率。

  前面灵敏度计算公式可得,“BW”会增加接收机信道内的噪声,从而降低接收灵敏度。这意味着对于给定扩频因子,可以选择使用窄带宽,以最大程度提高灵敏度。但同时增加了传输时间。

LoRa波形参数前言一、LORA调制二、接收灵敏度三、信噪比和扩频因子四、带宽和码片速率五、前向纠错六、LORA包格式和空口传输时间七、参数程序接口

  固定扩频因子,改变带宽对应的传输持续时间和接收灵敏度如下表(有效载荷10byte)。

BW Time on air[ms] Sensitivity [dBm]
125 264.2 -132
250 132.1 -129
500 66 -126

五、前向纠错

  LoRa波形采用一种前向纠错(FEC)的形式,该形式允许恢复由于干扰所导致的信息比特。这需要在发送数据包中附加编码少量开销。根据所选的编码率,所对应的灵敏度和丢包率图表如下(SF=7,BW=125kHz,13Byte Payload)。

LoRa波形参数前言一、LORA调制二、接收灵敏度三、信噪比和扩频因子四、带宽和码片速率五、前向纠错六、LORA包格式和空口传输时间七、参数程序接口

  编码率影响传输时间表格如下(SF=10,BW=250kHz):

CR Time on air [ms]
1 123.9
2 132.1
4 148.5

六、LORA包格式和空口传输时间

  为了精确计算空口传输时间,公式如下 T s y m = 2 S F B W T_{sym} = \frac {2^{SF}}{BW} Tsym​=BW2SF​

  数据包的构成如下:

LoRa波形参数前言一、LORA调制二、接收灵敏度三、信噪比和扩频因子四、带宽和码片速率五、前向纠错六、LORA包格式和空口传输时间七、参数程序接口

  所有调制解调器配置的共同点是前导码序列,其持续时间为 T p r e a m b l e = ( n p r e a m b l e + 4.25 ) T s y m T_{preamble}=(n_{preamble }+ 4.25)Tsym Tpreamble​=(npreamble​+4.25)Tsym  其中“n(preamble)”为前导码符号数。

p a y l o a d S y m b N b = 8 + m a x ( c e i l ( 8 P L − 4 S F + 28 + 16 − 20 H 4 ( S F − 2 D E ) ) ( C R + 4 ) , 0 ) payloadSymbNb = 8 + max(ceil(\frac{8PL-4SF+28+16-20H}{4(SF-2DE)})(CR+4),0) payloadSymbNb=8+max(ceil(4(SF−2DE)8PL−4SF+28+16−20H​)(CR+4),0)

  相关变量:

  • “PL”是有效载荷字节数;
  • “SF”是扩频因子;
  • “H=0”时header使能,“H=1”时不存在header;
  • “DE=1”时低速率优化使能,“DE=0”时禁止;
  • “CR”编码率从1到4;

   T p a y l o a d = p a y l o a d S y m b N b ( T s y m ) T_{payload}=payloadSymbNb( Tsym) Tpayload​=payloadSymbNb(Tsym)

   T p a c k e t = T p r e a m b l e + T p a y l o a d T_{packet}=T_{preamble}+T_{payload} Tpacket​=Tpreamble​+Tpayload​

  在这里我们可以看到,在窄带状态下,LoRa数据包的持续时间可能很大。 为了避免由于温度变化或运动引起的晶体参考振荡器漂移问题,使用了低数据速率优化位。 特别是对于125 kHz带宽和SF = 11和12,这会增加少量开销,以提高LoRa数据包时间范围内参考频率变化的鲁棒性。

七、参数程序接口

继续阅读