查看LoRa的源代码
←
LoRa
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== Overview == [[文件:LoRa-packet-structure.jpg | 800px]] PS:可选报头固定CR = 4/8,代码配置的CR作用域是 Payload 和 Payload CRC * 码片 (Chip): LoRa 信号的底层原始单位,通常比“码元”具有更高的时序分辨率。 * 码元 (Symbol): LoRa 中的一个传输单位,表示一个符号,每 2^SF 个码片组合成一个 码元 (Symbol)。一个码元 (Symbol) 携带 SF 个 bit。 * 编码速率 (Coding Rate): 用于FEC(前向纠错)。例如,4/6的编码速率意味着每传输 6 个 bit,其中 4 个bit 是实际数据,2个 bit 是纠错码。对 4 Bytes 的 payload,实际编码为 6 Bytes,长度 x1.5 编码时,Payload data '''4 bit''' 为一组,按 CR 值增加前向纠错码(4/6 就增加 2 bit FEC),SF '''(10) 个 4 bit 组'''可编码为 '''6 个码元 (Symbol)''' ,此过程在交织器中完成(SF=10 个行,CR=6 个列),因此 SF=10 CR=4/6 时: * 1~3 个字节的 payload,计算工具总是显示 18.25 symbols (8+4.25 +6) * 4~7 个字节的 payload,计算工具总是显示 24.25 symbols (8+4.25 +6 +6) * 8~11 个字节的 payload,计算工具总是显示 30.25 symbols (8+4.25 +6 +6 +6) 。。。。。。此 symbol 数 + Header symbol 数 8,乘以 2ms 即是总滞空时间 LoRa 数据包前导码,用于接收机辩识 rx data flow。内容固定,长度可选。 默认 12 个 symbol, 0x8 (RegPreambleLsb) + 4.25(同步码) 10 symbol 的短前导码,通信够用但具有更短的接收周期。。。 当前系统一般皆适用 12 (4 + 8) 的长度 === 前导码 === 目的是向接收方提供具有特性的可检查序列,以确定频率和同步。前导码由一定数量未经调制的码元和结束标记组成。其中结束标记长度固定为 4.25个码元,初始未经调制的码元长度可调,总前导码长度为 10~65535 个symbol 接收机会周期地重启前导检测操作,所以需配置和发射机一样的前导码长度。如果不知道前导码长度或者可变的情况下,接收机需将前导码长度设置为最大。 '''同步字''': 这里是从不同文档中推导出来的,未直接从官方文档中找到确定的说明。 前导码中固定的 4.25 个码元就是同步字,Semtech 节点芯片SX126x/SX127x 都可通过寄存器配置不同的同步字,发射和接收双方的同步字需一致才能正常通信。 === 可选报头 === 该报头是可选的,如果使能,数据包就是显性数据包。报头包含两部分:Header和报头自身的CRC校验,固定以CR=4/8传输。 Header提供了如下信息:有效载荷字节数,编码速率CR,有效载荷CRC类型。 === 有效载荷 === 即实际用户需传输的数据,最大255字节。 === 有效载荷CRC === 可灵活选择多项式和初值。 === 隐性数据包 === 相比默认数据包,差别是不带显性报头部分。 <br>
返回到
LoRa
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面