LoRa码元、码片、信号带宽、编码率等解析

0 术语

0.1 概述

编号名称英文名缩写解释
1扩频因子Spreading FactorSF每个数据发送扩散因子的数
2编码率Coding RateCR
3信号带宽SingnalBwBW
4扩散功率powerpower
5载波频率RF FrequencyRF_Fre
6符号速度RS
7数据速率Data RateDR
8

0.2 详细解释术语

0.2.0 码片、码元(符号)

在这里插入图片描述

  1. 码片 Chip
    每2^SF个码元(Symbol)组合成一个码片(Chip)

  2. 码元 Symbol
    码元 = 符号
    发送信号将调制带宽BW划分为2^SF个频率的码元(Symbol),一个码元承载SF个bit

  3. 码片速率
    单位:Hz
    LoRa调制逻辑上是恒定包络,等效与每1HZ带宽上每秒发送一个码片,所以码片速率等于BW
    BW = 125kHz
    码片速率 = 125000 (chips/s)

  4. 码元速率 Rs
    单位:bps
    Rs = BW/(2^SF)

0.2.1 扩频因子 SF

有1bit需要传输,数据为a,扩频因子为6时,需要发送aaaaaa,数据量变大了6倍,降低了信噪比,但传输的数据速率就越小

扩频因子扩频因子(码片/符号)信噪比(SNR)
664-5 dB
7128-7.5 dB
8256-10 dB
9512-12.5 dB
101024-15 dB
112048-17.5 dB
124096-20 dB

0.2.2 编码率 CR

编码率是数据流中有用部分的比例,编码率是k/n 则对每k位有用信息,编码器总共产生n位数据,其中n-k是多余的
开销:

编码率循环编码率开销比率
14/51.25
24/61.5
34/71.75
44/82

例如配置为CR=1,SF=7,有效数据比特流为00000001 00100011 01000101 01100111。
按4bit,一组 0000 0001 0010 0011 0100 0101 0110 0111
在每组后加1bit 00000 00011 00101 00110 01001 01010 01100 01111

0.2.3 信号带宽 BW

信号带宽是限定允许通过该信道的信号下限频率和上限频率,可以理解为一个频率通带。
如果一个信道允许的通带为1.5kHz至15kHz,则其带宽为13.5kHz

在LoRa中,增加信号带宽,可以提高有效数据速率以及缩短传输时间,但是以牺牲部分接收灵敏度为代价

0.2.4 扩散功率 power

0.2.5 载波频率 RF Fre

0.2.6 符号速率 Rs

即码元速率:
Rs = BW / (2^SF)

例如:BW = 125kHz SF=7
Rs = 125000 / 128 = 976.5625 bps

0.2.7 数据速率 DR

DR = SF*(BW/2^SF)*CR

例如:BW = 125kHz CR = 4/5 SF = 7

DR = 7 * (125000 / 128) * 4/5 = 5.46875 kbps

0.2.8


1 LoRa调制解调器原理

LoRa调制解调器采用专利扩频调制和前向纠错技术。

带宽(kHz)扩频因子编码率标称比特率(bps)灵敏度(dBm)参考频率
10.464/5782-131TCXO
10.4124/524-147TCXO
20.864/51562-128TCXO
20.8124/549-144TCXO
62.564/54688-121XTAL
62.5124/5146-139XTAL
12564/59380-118XTAL
125124/5293-136XTAL

相同带宽情况下,扩频因子越大,传播时间越长,比特率越低,接收灵敏度越高


2 数据帧结构体

在这里插入图片描述

整个物理层的数据包,是根据LoRa调制设定的扩频因子SF完成CSS调制。

前导不需要编码 直接采用CSS调制

数据包头固定4/8编码

Payload和CRC的编码格式由包头的CR参数决定 

包头和CRC可通过寄存器设置进行删除

2.1 前导 Preamble

在这里插入图片描述

前导部分分三部分:可变前导(variable preamble),帧同步字(Sync Word),帧起始分隔符(SFD:Start Frame Delimiter)

在这里插入图片描述

2.1.1 可变前导 Variable Preamble

可变前导部分由4-65535个长度的up-chirp符号组成,主要提供信号检测、接收机增益设置频率和采样时间同步等功能

up-chirp

​ up-chirp

可变前导的数据长度由芯片的寄存器设置。例如芯片SX1278可以通过地址为0x20和0x21的RegPreamble寄存器进行具体长度设置

在这里插入图片描述

2.1.2 帧同步字 Sync Word

可变长度前导后,是两个符号宽度的帧同步字,可用来快速识别不同的lora网络,lora会丢弃帧同步内容与预设值不同的数据包

帧同步的护具可通过地址为0x39的RegSyncWord寄存器进行具体的设置

在这里插入图片描述

但具体可设置的内容尚未了解清楚

2.1.3 帧起始分隔符 Start Frame Delimiter

由2.25个符号宽度的标准down-chirp信号组成

在这里插入图片描述

​ down-chirp

2.2 数据包头 Header

帧数据包括两种Header数据包头,1:Explicit Header mode、2:Implicit Header mode;
1 包含头内容,而2不包含头内容

可通过地址为0x1D的RegModemConfig寄存器的bit0进行配置]

在这里插入图片描述

包头组成:payload长度、CR、CRC存在与否、CRC

在这里插入图片描述

2.2.1 Payload长度

Header中的第一个Byte用于表示整个数据包中,后续payload内容的长度,占了8个bit,因此一包LoRa数据最大内容为255Byte

以字节表示有效负载长度,寄存器需要隐式设置包头。

在这里插入图片描述

2.2.2 CR编码率选择

通过地址为0x1D的RegModemConfig寄存器的bit1-3设置

2.2.3 Payload CRC存在与否

可选择在payload末尾传输或不传输CRC,定义在包头长度接下来半个Byte中的一个bit,如果包中存在CRC,那么payload需要额外传输2个Byte的内容

可通过地址0x1C的bit6配置

在这里插入图片描述

2.2.4 包头CRC

包头数据的最后添加一字节的包头数据字段的CRC校验包括:数据包长度、CR、payload内容后是否存在CRC这12bit的内容的CRC校验

2.3 Payload

需要传输的数据,如果设置了CRC则需要在末尾添加两个字节的CRC校验CRC  

3 LoRa计算发送的总码元数

在这里插入图片描述

  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ySh_ppp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值