LoRaWAN介绍12 唤醒误差

LoRaWAN介绍12 唤醒误差

“我若数点,比海沙更多; 我睡醒的时候,仍和你同在。”-- (诗篇139:17-18)

 

理想情况下,Gateway和End Nodes在精确的时间点完成唤醒通信,然而,晶振的误差,使End Nodes会在该“理想时刻”点徘徊。为保证唤醒通信的成功率,End Nodes需要根据晶振误差,打开一个时间窗口与Gateway“幽会”。


1 唤醒窗口

LoRaWAN的Class B规定,Gateway发送的数据帧包含8个symbols的preamble(前导码),End Nodes至少需要5个symbols的preamble来同步接收。换一句话说,Gateway和End Nodes需要5个symbols的时间窗口是重叠的,才能保证本次唤醒通信成功。

如下图所示,一次成功的唤醒通信有3个重要的参数:

RxOffset:Gateway开始发送与End Nodes最佳启动接收的时间差;

RxWindow:End Nodes开启接收的时间窗口长度;

RxError:End Nodes因晶振误差带来的时钟漂移。

 


2 最早与最迟时刻点

以Gateway开始发送时刻为基准,End Nodes有2个边界时间值:T_RX_early和T_RX_late,至少需要5个symbols的重叠,因此有如下公式:

T_RX_late = 3 x Tsymb                                                        (1)

T_RX_early = 5 x Tsymb – RxWindow                                 (2)

 

因晶振误差导致的RxError,落在T_RX_early和T_RX_late之间,因此有公式:

T_RX_late – T_RX_early = 2 x RxError                                (3)

 

为了达到最佳唤醒成功率,EndNodes的开启接收时刻,应位于T_RX_early和T_RX_late的中心,因此有:

RxOffset = (T_RX_late + T_RX_early) / 2                            (4)

 

在上述时间中,RxError是已知的(它依赖于晶振的固有误差和温度的变化…),需要求解的是:

RxWindow:它的值决定End Nodes开启多长时间的接收窗口;

RxOffset:它的值决定End Nodes是“提前”还是“推后”开启接收。

 

拿公式(1)减公式(2),结合公式(3),则有如下公式(4):

RxWindow= 2 x Tsymb + 2 x RxError                                  (5)

 

拿公式(1)加公式(2),结合公式(5),则有如下公式(6):

RxOffset= 4 x Tsymb – RxWindow / 2                                 (6)




3 应用实例

实例1

某End Node的晶振误差在睡眠1秒后可达到+/- 1.5ms,它工作在SF7/125kHz无线条件下,试推导RxWindow和RxOffset的值。

已知RxError =1.5ms;SF7/125kHz下,Tsymb = 1ms;根据公式(5)和(6)有:

RxWindow = 2 x Tsymb + 2 x RxError = 2 x 1+ 2 x 1.5 = 5ms

RxOffset = 4 x Tsymb – RxWindow / 2 = 4 x 1– 5 / 2 = 1.5ms

小结:该End Node应该“推迟”1.5ms开启接收,窗口时间值为5ms.

 

实例2

某End Node的晶振误差在睡眠1秒后可达到+/- 20ms,它工作在SF7/125kHz无线条件下,试推导RxWindow和RxOffset的值。

已知RxError = 20ms;SF7/125kHz下,Tsymb = 1ms;根据公式(5)和(6)有:

RxWindow = 2 x Tsymb + 2 x RxError = 2 x 1+ 2 x 20 = 42ms

RxOffset = 4 x Tsymb – RxWindow / 2 = 4 x 1– 42 / 2 = -17ms

小结:该End Node应该“提前”17ms开启接收,窗口时间值为42ms.

 

实例3

某End Node的晶振误差在睡眠1秒后可达到+/- 20ms,它工作在SF10/125kHz无线条件下,试推导RxWindow和RxOffset的值。

已知RxError = 20ms;SF10/125kHz下,Tsymb =8.2ms;根据公式(5)和(6)有:

RxWindow = 2 x Tsymb + 2 x RxError = 2 x 8.2+ 2 x 20 = 56.4ms

考虑RxWindow需要取symbol的整数倍,且大小或等于56.4ms,有:

RxWindow = 7 x Tsymb = 7 x 8.2 = 57.4ms,

RxOffset = 4 x Tsymb – RxWindow / 2 = 4 x 8.2– 57.4 / 2 = 4.1ms

小结:该End Node应该“延迟”4.1ms开启接收,窗口时间值为57.4ms.

  

4 常用误差与窗口

RxError = +/- 1.5ms, BW = 125kHz

SF

Tsymb

(ms)

RxOffset

(ms)

RxWindow

Symbols

Ms

7

1.0

1.5

5

5.1

8

2.0

3.1

5

10.2

9

4.1

6.1

5

20.5

10

8.2

12.3

5

41.0

11

16.4

24.6

5

81.9

12

32.8

49.2

5

163.8

 

RxError = +/- 20ms, BW = 125kHz

SF

Tsymb

(ms)

RxOffset

(ms)

RxWindow

Symbols

Ms

7

1.0

-17.0

42

42.0

8

2.0

-14.0

22

44.0

9

4.1

-8.2

12

49.2

10

8.2

4.1

7

57.4

11

16.4

24.6

5

82.0

12

32.8

49.2

5

164.0

 

下载经典的LoRaWAN资料,请链接:http://www.rimelink.com/nd.jsp?id=48&_np=107_316


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值