-
物联网(internet-of-things, IoT)应用的飞速发展对终端设备的低功耗特性提出了新的要求[1-3]。LoRa作为低功耗广域网,因其开放标准使用户能够在无需第三方基础设施的情况下构建私有LoRa网络而备受关注[4-5]。
现有的LoRa网络时间同步方案可以按同步的触发对象分为两类:由终端设备触发和由服务器触发。在终端设备触发的方法[6-10]中,每个终端设备通过LoRa网关向服务器发送携带时间戳的数据包,服务器再将更新后的时间戳返回给终端设备。通过多个时间戳的交换,终端设备可将本地时钟与服务器同步,达到较高的同步精度(如文献[6]的10 μs以内)。然而,这种方法主要针对单个终端设备的时间同步,对于整个网络的时间同步效率较低。如多个LoRa终端设备若在同一时隙以不同的扩频因子发送带时间戳的数据包以请求时间同步,它们必须同时等待来自网关的回复(LoRa中的扩频因子具有近似正交性,因此使用不同扩频因子的LoRa信号可以在相同信道传播而不产生干扰)。然而LoRa网络中的下行链路(即从网关到终端设备的传输)是单播的形式,即网关不能同时向多个终端设备发送数据包。因此,终端设备之间将产生竞争,且某些节点无法完成时间同步。
在服务器触发的方法中,网关在给定的时隙广播同步报文,所有终端设备将在该时隙[11-12]收听,同步报文包含服务器的时间戳和网络规模等基本信息。通过考虑数据包在服务器上的准备时间和信号传播时间等,终端设备可以更新其本地时钟。与由终端设备触发相比,该方法只有两个时间戳可用于时间同步,因此同步精度较低(如文献[11]中的1 ms),同步精度在1 ms就可以支持LoRa网络中的大部分时隙调度应用[12];也可同时更新连接中的所有终端设备,更适合同步整个LoRa网络。因此,本文主要针对服务器触发的时间同步。
现有的由服务器触发的方案存在3个问题。首先,终端设备之间的本地时钟漂移速度不同,因此同步时间 (即网关广播同步报文的时间点) 的选择会影响同步精度;其次,现有方法主要针对单网关的 LoRa 网络,不能很好地利用多网关场景,忽略了扩频因子的选择产生的影响;第三,现有工作通常忽略了移动的终端设备在跨多个网关时可能产生同步失败的问题。
为了解决上述问题,本文提出了一种用于多网关LoRa网络的移动感知的时间同步框架,综合考虑了同步时间和多网关扩频因子的选择,并将多网关同步规约为优化问题,以提升LoRa网络的时间同步精度。考虑到网关和终端设备的匹配问题,上述优化问题为NP难,本文采用遗传算法进行求解。为了应对终端设备跨网关的移动性,本文提出了一种让移动终端设备重新与新网关保持同步的自适应算法。
-
在LoRa网络中,终端设备收集环境数据并通过周围的网关将其发送到远端的服务器。多个网关可以同时接收来自终端设备的数据包,这些网关将数据中继到中央服务器进行处理。遵循最大占空比约束,每个终端设备以周期T发送数据。在基于时间同步的LoRa网络中,终端设备的数据传输被安排在不同的时隙,以避免干扰并提高信道容量[11]。为了使终端设备与服务器上的全局时钟同步,服务器使网关向终端设备广播同步报文。每个网关可以在不同的时间
$ {t}_{k}^{b} $ 以不同的扩展因子$ {{\rm{sf}}}_{k}^{b} $ 广播同步报文。LoRa终端设备上的时钟漂移速度为:$$ {s}_{i}=\frac{{m}_{i}-m}{m} $$ (1) 式中,
$ {m}_{i} $ 为测量终端设备i的本地时钟的时间间隔;m为服务器时钟的时间间隔。 -
每个周期终端设备i在时间
$ {t}_{i}^{s} $ 发送其数据包,${t}_{i}^{s}\in \left\{{t}_{i,0}^{s}\right.+nT|n=\mathrm{0,1},2,\left.\cdots \right\}$ ,网关在时间$ {t}_{k}^{s} $ 广播同步报文,${t}_{k}^{b}\in \left\{{t}_{k,0}^{b}\right.+nT|n=\mathrm{0,1},2,\left.\cdots \right\}$ 。终端设备不会在同步完成后立即发送其数据,而是需要等待一段时间,因此不同的终端设备在发送数据时会经历不同的等待时间,产生不同的时钟漂移。通过时钟漂移速度的模型,可以计算得到不同终端设备的时钟漂移,并且选择最佳的同步时间。如终端设备i在发送其数据时的时钟漂移为:$$ {d}_{i}={\int }_{{t}_{k}^{b}}^{{t}_{i}^{s}}{s}_{i} $$ (2) 式中,
$ {t}_{k}^{b} $ 到$ {t}_{i}^{s} $ 为终端设备从同步完成到数据传输等待的时间;$ {s}_{i} $ 为由上述模型得到的时钟漂移速度。终端设备的时钟漂移会使其数据传输偏离原有的时间,时钟漂移越大,传输可能越会破坏MAC协议的传输调度,导致终端设备之间发生信号冲突。 通过为每个时隙设置保护时间,为终端设备的时钟漂移提供一定的容错能力,作为时钟漂移程度的阈值[7,17-18]。此外,具有不同扩频因子的LoRa信号传输会经历不同的传输时间,因此应针对不同的扩频因子,对保护时间进行相应的调整[9]。根据终端设备的时钟漂移和保护时间的不同,定义终端设备i的同步精度如下:
$$ {A}_{i}={d}_{i}-{g}_{i} $$ (3) 式中,
$ {g}_{i} $ 表示终端设备i的保护时间,且与其使用的扩频因子相关。若$ {A}_{i}\le 0 $ ,表明终端设备i的时钟漂移在可接受的范围之内,否则,其时间同步无效。根据文献[9],本文计算不同扩频因子的保护时间如表1所示。表 1 不同扩频因子的保护时间
扩频因子 7 8 9 10 11 12 保护时间/ms 15.25 20.5 31 52 94 178 -
多网关场景增加了LoRa网络中时间同步方案的复杂度,因为网关可以在不同时间以不同的扩频因子广播它们的同步报文。因此,终端设备必须选择一个扩频因子和同步时间来接收同步报文,这个选择可决定终端设备时间同步的精度。
本文目标为通过合理安排扩频因子和同步时间,提高同步精度以避免传输冲突,并提高LoRa网络的可靠性。具体来说,网关考虑其覆盖的终端设备并选择最佳同步时间,终端设备考虑不同网关为其带来的同步精度,选择网关并接收其同步报文。本文将此问题归纳为优化问题,令整个网络中时间同步失败的终端设备数量最小,为:
$$ {\rm{min}}\sum _{i=1}^{N}{x}_{i}$$ (4) $$ {\rm{s.t.}}({{\rm{sf}}}_{i}^{r}{,t}_{i}^{r})\in \{ ({\rm{s}} {{\rm{f}}}_{k},{t}_{k}^{b}\left)\right|k=\mathrm{0,1},2,\cdots \} \tag{C1}$$ $$ {{\rm{sf}}}_{i}^{r}\ge {\rm{t{h}}}_{i,k}\tag{C2}$$ $$ 0\le {t}_{k}^{b}\le T \tag{C3}$$ $$ 0\le {t}_{i}^{s}\le T \tag{C4}$$ 式中,N为网络中终端设备的数量;
$ {{x}}_{i} $ 是二进制变量。若终端设备i的时钟同步精度在可接受的范围内,即$ {A}_{i}\le 0 $ ,则$ {{x}}_{i}=0 $ ,否则$ {{x}}_{i}=1 $ 。式(4)中的约束条件(C1)定义了终端设备和网关的匹配关系。每个网关k在时间
$ {t}_{k}^{b} $ 以扩频因子$ {\mathrm{s}\mathrm{f}}_{k} $ 广播同步报文,由此可以组成参数集合${P}= \left\{\right(\mathrm{sf}_{0}^{b},{t}_{0}^{b}),(\mathrm{sf}_{1}^{b},{t}_{1}^{b}),\cdots ,(\mathrm{sf}_{k}^{b},{t}_{k}^{b}\left)\right\} {S}{i}$ 。由于每个终端设备都需要从某个网关处接收同步报文,它们必须从该集合中选择一个参数。式(4)中的约束条件(C2)限制了终端设备i从网关k接收同步报文的扩频因子范围。由于使用不同扩频因子的LoRa信号可实现不同的传输距离,对每个终端设备i,都存在一个最小的可以保证i和k之间通信的扩频因子
$ {\mathrm{t}\mathrm{h}}_{i,k} $ 。约束条件(C3)和(C4)则分别约束了时间同步过程中同步时间和终端设备传输数据的时间范围。 -
由于上述问题的最优解取决于网关和终端设备的匹配以及同步时间的选择,因此搜索空间与终端设备、网关的数量(即N和K)和时隙数量相关,即O((SN) K)。此外,上述问题可以被规约为经典的NP难问题——整数规划问题。因此本文提出了一种基于遗传算法的启发式算法来计算终端设备和网关的同步时间和扩频因子。
-
基于遗传算法对上述问题进行求解,通过获取以下内容来解决式(4):1)网关广播同步报文使用的扩频因子和同步时间;2)终端设备接收同步报文的扩频因子和同步时间。
具体地,首先生成个体的初始种群,其中每个个体由LoRa网络中的参数选择编码的染色体表示。为了衡量个体染色体的适应性,算法将式(4)中的优化目标进行取倒数变换并作为拟合函数,令算法最大化。通过对每条染色体的评估,算法选出与前一个种群相同数量的染色体并产生下一代个体,采用轮盘选择方法[19]将选定的概率分配给染色体。使用选定的染色体进行交叉以产生后代,同时以较小的概率产生突变。该算法通过迭代生成和选择新的染色体,逐步提高LoRa网络的同步精度。算法在优化目标的提高值达到阈值δ或算法执行到第500代时停止,上述算法描述如下。
算法 1 LoRa时间同步算法
population=Initial();
while
${\varDelta _{{\rm{obj}}}} < \delta$ and${\rm{iter}} \le 500$ doFor indiv∈ population do
measure.append=Fitness(indiv);
probabilities=Roulette(measure);
For indiv∈ population do
parent.append(indiv, possibilities[indiv]);
offspring=Crossover(parent,rate);
population=Mutation(offspring);
calc(
$\dfrac{1}{{{\rm{object}}}}$ ); -
当LoRa网络被首次部署且终端设备位置固定时,2.2节中的算法会为终端设备进行时间同步。在实际应用中,部署在公交车或动物等移动物体上的终端设备可能会跨越不同网关的覆盖范围。
由于LoRa网络中的时间同步需要终端设备和网关通过扩频因子进行匹配,终端设备的移动性会显著影响时间同步的性能。首先,当终端设备移动到新的网关的覆盖范围时,它可能使用与新网关不同的同步时间和扩频因子,且无法接收其同步报文,也无法正常完成时间同步。其次,移动的终端设备很难重新连接到新网关,因为它可能会与其他终端设备使用相同的扩频因子,产生信号冲突。在这种情况下,该终端设备会与LoRa网络断开连接,无法被服务器或网关发现,也无法与新的网关建立通信以获取新的扩频因子和同步时间。
本节提出了一种自适应算法来解决上述移动性问题。利用终端设备可以同时被周围多个网关收到的机会,令移动的终端设备在周期内持续监听信道,直到它们可以从某个网关收到同步报文。
当一个终端设备移动到另一个网关的覆盖范围时,如果它的数据传输与新网关下的其他终端设备没有冲突,服务器就可以识别它,并通过新网关将新的同步时间通知它,以便该终端设备可以在下一个周期完成时间同步。但是,如果终端设备与新网关范围内的其他终端设备发生冲突,服务器将无法意识到其移动性,终端设备将尝试以旧的同步时间接收同步报文,导致同步失败。因此,若终端设备在3个周期内无法收到同步报文,自适应算法将令其持续监听信道,直到收到新的同步报文。
另外,只有当终端设备和新的网关使用相同的扩频因子时,上述方案才能工作。然而,在实际应用中,移动的终端设备可能无法从新网关接收同步报文。算法利用终端设备的数据可被周围多个网关接收。传统做法会在在远端服务器上对多个网关接收到的冗余数据进行去重,但是,冗余数据可以表明哪些网关覆盖了该终端设备。同步报文广播时,除了时间戳信息外,还包括所有周围网关的参数。当终端设备与网络断开连接并且无法被服务器注意到时,自适应算法令其使用周围网关的扩频因子持续监听以接收同步报文。如果在一个周期后没有收到同步报文,终端设备将选择另一个网关的扩频因子并继续监听。自适应算法的处理流程描述如下。
算法2 移动感知的同步机制
function Server(){
if Receive(devicei) do
if gatewaysrec ≠ gatewaysold do;
send(params, gateways, devicei);}
function Enddevice(){
${\rm{SF = \{ }}{\rm{sf}}_0{\rm{,}}\;{\rm{sf}}_1 \cdots {\rm{sf}}_k{\rm{\} }} $ ;fail=0;
while True Do
receiveSync();
if FailReceive() Do
fail+=1;
if fail==3 Do
listening(SF)}
以图5为例,终端设备最初被左侧的两个网关覆盖,并从①号网关接收同步报文。当此终端设备远离①号网关但仍被②号网关覆盖时,服务器可以根据①号网关无法接收到终端设备的信号来识别该情况。即使终端设备无法再从①号网关接收同步报文,服务器仍然可以通过②号网关同步它。当终端设备继续移动到位置③号时,其上行链路将与其他终端设备发生冲突。在此情况下,终端设备不能被③号网关同步。因此,终端设备将持续监听③号网关的扩频因子以接收同步报文,并重新连接到服务器进行时间同步。
Time Synchronization of Emerging Technology LoRa in the Evolution of Legitimacy: Mobility Awareness in Multi-Gateway Scenarios
-
摘要: 在现有的LoRa时间同步工作中,LoRa网关周期性地将同步报文广播到固定位置的终端设备。然而,这些方法往往忽略了不同终端设备具有不同的时钟偏移,且在多网关场景下无法保证时间同步的可靠性。为此,提出了多网关场景下的LoRa网络时间同步方法,通过同步时间和扩频因子的选择提高同步精度,并提出了移动感知的自适应算法,以解决跨网关的终端设备移动性的影响。在真实LoRa环境和仿真环境的实验结果表明,与现有工作相比,该方法可将LoRa网络的时间同步精度提高60.43%。Abstract: In this paper, we propose a mobility-aware time synchronization method for multi-gateway LoRa networks. By jointly considering the selection of synchronization timing and spreading factors for both end devices and gateways, the synchronization accuracy is improved and energy consumption is reduced. This paper also proposes a mobility-aware adaptation algorithm to address the impact of end device mobility across multiple gateways. The experiments based on both LoRa testbed and simulations reveal that the proposed method can improve the synchronization accuracy by 60.43% compared with the state-of-the-art works. This paper also discusses the future directions such as transmission scheduling and the legitimacy evolution.
-
Key words:
- internet of things /
- LoRa networks /
- mobility /
- time synchronization
-
表 1 不同扩频因子的保护时间
扩频因子 7 8 9 10 11 12 保护时间/ms 15.25 20.5 31 52 94 178 -
[1] JULIEN C, LIU C, MURPHY A L, et al. Blend: Practical continuous neighbor discovery for bluetooth low energy[C]//ACM/IEEE IPSN. [S.l.]: IEEE, 2017: 105-116. [2] ISTOMIN T, TROBINGER M, MURPHY A L, et al. Interference-resilient ultra-low power aperiodic data collection[C]//ACM/IEEE IPSN. [S.l.]: IEEE, 2018: 84-95. [3] BRACHMANN M, LANDSIEDEL L, GOHRINGER D, et al. Whisper: Fast flooding for low-power wireless networks[J]. ACM Transactions on Sensor Networks, 2019, 15(4): 47. [4] GHENA B, ADKINS J, SHANGGUAN L, et al. Challenge: Unlicensed lpwans are not yet the path to ubiquitous connectivity[C]//ACM Mobicom. [S.l.]: ACM, 2019: 43. [5] IOVA O, MURHY A, PICCO G P, et al. Lora from the city to the mountains: Exploration of hardware and environmental factors[C]//International Conference on Embedded Wireless Systems and Networks. [S.l.]: ACM, 2017: doi: 10.5555/3108009.3108091. [6] RAMIREZ C G, SERGEYEV A, DYUSSENOVA A, et al. Long-shot: Long-Range synchronization of time[C]//ACM IPSN. [S.l.]: ACM, 2019: 289-300. [7] HAXHIBEQIRI J, MOERMAN I, HOEBEKE J. Low overhead scheduling of lora transmissions for improved scalability[J]. IEEE Internet of Things Journal, 2018, 6(2): 3097-3109. [8] POLONELLI T, BRUNELLI D, BENINI L. Slotted aloha overlay on lorawan-a distributed synchronization approach[C]//IEEE International Conference on Embedded and Ubiquitous Computing. Bucharest: IEEE, 2018: 129-132. [9] TRUB R, THIELE L. Increasing throughput and efficiency of lorawan class a[C]//International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies. Athens: International Academy, Research, and Industry Association, 2018: 54-64. [10] ZORBAS D, ABDELFADEEL K, KOTZANIKOLAOU P, et al. Ts-lora: Time-Slotted lorawan for the industrial internet of things[J]. Computer Communications, 2020, 153: 1-10. doi: 10.1016/j.comcom.2020.01.056 [11] ABDELFADEEL K Q, ZORBAS D, CIONCA V, et al. FREE: fine-grained scheduling for reliable and energy-efficient data collection in lorawan[J]. IEEE Internet of Things Journal, 2019, 7(1): 669-683. [12] TESSARO L, RAFFALDI C, ROSSI M, et al. Lightweight synchronization algorithm with self-calibration for industrial lora sensor networks[C]//Workshop on Metrology for Industry 4.0 and IoT. Brescia: IEEE, 2018: 259-263. [13] DONGARE A, NARAYANAN R, GADRE A, et al. Charm: Exploiting geographical diversity through coherent combining in low-power wide-area networks[C]//IEEE International Conference on Information Processing in Sensor Networks. Porto: IEEE, 2018: 60-71. [14] GAO W, DU W, ZHAO Z, MIN G, et al. Towards energy-fairness in lora networks[C]//IEEE International Conference on Distributed Computing Systems. Dallas, Texas: IEEE, 2019: 788-798. [15] TANAKA M S, MIYANISHI Y, TOYOTA M, et al. A study of bus location system using lora: Bus location system for community bus ‘notty ’[C]//IEEE Global Conference on Consumer Electronics. Nagoya: IEEE, 2017: 1-4. [16] ZHANG M, LI X. Drone-Enabled internet-of-things relay for environmental monitoring in remote areas without public networks[J]. IEEE Internet of Things Journal, 2020, 7(8): 7648-7662. doi: 10.1109/JIOT.2020.2988249 [17] SINGH R K, BERKVENS R, WEYN M. Synchronization and efficient channel hopping for power efficiency in lora networks: A comprehensive study[J]. Internet of Things, 2020, 11: 100233. doi: 10.1016/j.iot.2020.100233 [18] BELTRAMELLI L, MAHMOOD A, OSTERBERG P, et al. Lora beyond aloha: An investigation of alternative random access protocols[J]. IEEE Transactions on Industrial Informatics, 2020, 17(5): 3544-3554. [19] LIPOWSKI A, LIPOWSKA D. Roulette-Wheel selection via stochastic acceptance[J]. Physica A: Statistical Mechanics and its Applications, 2012, 391(6): 2193-2196. doi: 10.1016/j.physa.2011.12.004 [20] HENDERSON T R, LACAGE M, RILEY G F, et al. Network simulations with the NS-3 simulator[C]//ACM SIGCOMM. [S.l.]: ACM, 2008, 14(14): 527. [21] LORA A. Lorawan specification v1.1[EB/OL]. [2021-03-30]. https://lora-alliance.org/resource_hub/lorawan-specification-v1-1. [22] VAN D A F, HAXHIBEQIRI J, MOERMAN I, et al. Scalability analysis of large-scale lorawan networks in ns-3[J]. IEEE Internet of Things Journal, 2017, 4(6): 2186-2198. doi: 10.1109/JIOT.2017.2768498