文章目录
- 前言
- 一、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+10log10BW+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”会增加接收机信道内的噪声,从而降低接收灵敏度。这意味着对于给定扩频因子,可以选择使用窄带宽,以最大程度提高灵敏度。但同时增加了传输时间。
固定扩频因子,改变带宽对应的传输持续时间和接收灵敏度如下表(有效载荷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)。
编码率影响传输时间表格如下(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
数据包的构成如下:
所有调制解调器配置的共同点是前导码序列,其持续时间为 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数据包时间范围内参考频率变化的鲁棒性。