本文对LoRaWAN中的一些大家不理解的概念进行说明。
1 占空比(DutyCycle)
维基百科-占空比中这样说:
占空比(Duty Cycle)在电信领域中有如下含义:
在一串理想的脉冲序列中(如方波),代表1的正脉冲的持续时间与脉冲总周期的比值。
例如:脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。
在一段连续工作时间内脉冲占用的时间与总时间的比值。
在CVSD调制(continuously variable slope delta modulation)中,比特“1”的平均比例(未完成)。
在周期型的现象中,现象发生的时间与总时间的比。
对于方波或其他应用场合,通常称为责任周期或工作周期(Duty Cycle)。
在这里可以这样理解:节点发射LoRaWAN数据的时间1与发射周期的比值就是占空比。
占空比是周期的另一种表示方式,通过比值来动态约束节点的发送周期。节点在本周期结束后才可以开始下一个周期。
例如:470频段占空比 1%,节点使用该频段发送一组数据耗时 10 ms,那么这个节点的本次发送周期为T1。节点在本周期结束,也就是 T1−10 ms 以后才可以再次发送数据。
需要等待 1000−10=990ms 才可以再次发送。
计算过程中注意时间单位
2 一致性校验码(MIC)
LoRaWAN中的MIC是CMAC的四个最低有效字节,这一点在LoRaWAN协议中有说明:
The MIC is calculated as follows [RFC4493]:
msg = MHDR | FHDR | FPort | FRMPayload
cmac = aes128_cmac(NwkSKey, B 0 | msg)
MIC = cmac[0..3]
CMAC则是AES中的一个算法,开发人员直接调用AES库函数即可,而AES在openssl中有实现。
* 说明:1.LoRaWAN中说的是空中传输时间,空中传输时间除了数据发射的时间还包括电磁波从节点到网关的时间,由于电磁波是光速,LoRaWAN传输距离目前在几十公里以内,而每公里耗时在3.3微妙左右,延迟很小,因此可以忽略这一部分只计算发射时间。
文章转载自:qingchuwudi的博客