什么是 10B 有效载荷?

What's mean 10B payload?

在本文中,10B 有效载荷是什么意思?
“...具有 10B 有效负载 和 12.25 个符号前导码的数据包...”

[LoRa for the Internet of Things]

一方面,我投票关闭该问题,因为它与编程无关。

另一方面,我对这个主题产生了兴趣并查看了那篇论文。

阅读几分钟后,我会说这是 low-quality 作者急需发表内容的论文之一。例如,他们在谈论前导码和 headers,不解释那应该是什么,在显然是 "chirps" 的地方写 "chips",在谈论有效载荷 FEC 作为在 header 中总是 hard-coded 作为 4/8,但在他们的示例中使用 4/5 的 FEC,依此类推。

此外,论文中充满了拼写错误。

综上所述,我永远不会明白这样的论文如何通过同行评审。这不符合任何合理的学术或科学标准。

我最初回答的其余部分都是错误的。所以我 re-written 它基于@arminb 的回答。

正如@arminb 所指出的,正确答案是:这意味着 10 个字节。

除了@arminb 的回答和那些不想只相信计算器输出的人之外,我还试图找出计算的细节。

首先,在他们的世界里,一个符号就是一个字节那么长。从下面的计算可以毫无疑问地得出结论。

其次,preamble是not subject to FEC(coding rate): preamble是12.25 symbols,考虑到是(12.25 * 4096) chirps = 50176 chirps扩频因子SF = 12,即有4096 chirps / symbol。给定 125 kHz = 125000 chirps / s 的带宽并且没有 FEC,前导码花费的时间是 50176 chirps / (125000 chirps / s)) = 0.401408 s ≈ 401.41 ms。这正是@arminb 答案中计算器显示的数字。

第三,示例中header是三个字节,也受FEC。因此,header 花费的时间是 (3 * 4096 chirps) / (125000 chirps / s) = 0.098304 s ≈ 98.30 ms,前提是一个字节与一个符号一样长。

第四,payload为10字节,进行FEC; FEC 是 5/4。因此,如果一个字节与一个符号一样长,则有效负载所花费的时间是((10 * (5/4) * 4096 chirps) / (125000 chirps / s)) = 0.4096 s = 409.60 ms

第五,CRC是两个字节,也是也要进行FEC; FEC 是 5/4。因此,如果一个字节与一个符号一样长,则 CRC 花费的时间是((2 * (5/4) * 4096 chirps) / (125000 chirps / s)) = 0.08192 s = 81.92 ms

将所有这些时间相加,我们得到 0.401408 s + 0.098304 s + 0.4096 s + 0.08192 s = 0.991232 s ≈ 991.23 ms,这正是 @arminb 答案中计算器中该示例数据包的 on-air 时间。

我希望这能帮助更多想要了解幕后发生的事情的读者。

Semtech 提供了 calcualtor for its LoRa chip SX1272. When you fill in the parameters to the calculator from the example (LoRa for the Internet of Things):

To give an example we assume SF12, BW125, CR4/5, and TX power 17 dBm (An energy hungry setting allowing very long ranges which was used in our experimental evaluation discussed later). A transmission of a packet with 10 B payload and 12.25 symbols preamble has a transmission duration of 991.23 ms.

你正好得到 991.23 毫秒。您还可以在计算器中看到 10 B 假设表示 bytes:

通常 upper-case B 总是表示字节,而 lower-case b 表示位。