基于NS-3的海上移动场景LoRa网络性能研究
2019-04-04李凌翎朱谦任久春
李凌翎, 朱谦, 任久春
(复旦大学 通信科学与工程系,上海 200433)
0 引言
物联网中节点数量多、网络规模大,需要考虑节点成本、电池寿命、数据速率、传输延迟、移动性等因素。传统的物联网通信技术有蜂窝通信、短距离无线通信技术(例如NFC、蓝牙、ZigBee、WiFi)。蜂窝网络能够实现长距离通信,但难以满足低功耗、低成本的要求[1]。而蓝牙等技术功耗低、传输距离短,限制在了覆盖范围小的应用场景,例如房间、小型建筑内。通过多跳结构可以扩大覆盖范围,相应的代价就是部署成本的提高。近年来,物联网的快速发展对通信技术提出了更高的要求,传统的物联网通信技术面临着巨大的挑战。
与此同时,一种新的接入技术LPWAN正逐渐兴起,为物联网的发展提供了新的解决方案。LPWAN技术是一种革命性的物联网无线接入新技术,与Wi-Fi、蓝牙、ZigBee等现有成熟商用的无线技术相比,具有远距离、低功耗、低成本、覆盖容量大等优点,适合于在长距离发送小数据量且使用电池供电方式的物联网终端设备[2]。LPWAN技术传输距离远,在城市可达到3-5km,郊区可达10km。它采用星型拓扑结构,一个网关直连多个节点,由于传输距离远,不需要像传感器网络一样采用多跳结构,从而降低了网络的复杂度。LPWAN网络节点数众多,甚至可以达到上万个节点的规模。在典型的物联网应用场景下,大多数的LPWAN技术都支持使用两节AA电池可供电设备工作10年的时间。节点的低成本也降低了网络部署成本。
LPWAN技术主要分为两类:一类是工作在免授权Sub-GHz ISM频段的技术,如LoRa、Weightless、Sigfox等,在欧洲的工作频段是863 MHz-870 MHz,美国是902 MHz-928 MHz,国内LoRa技术工作频段在470 MHz-510 MHz。另一类是工作在授权频段的技术。基于授权频谱的低功耗广域网络技术是由业内知名的标准化组织3GPP推出的,有三种,即窄带物联网(Narrow Band Internet of Things,NB-IoT)、LTE增强机器通信(LTE enhanced Machine Type Communication,LTE-eMTC)和GSM覆盖增强技术(Extended Coverage GSM,EC-GSM)[1]。其中,LoRa和NB-IoT无疑是最热门的两种技术。NB-IoT是基于蜂窝网络的窄带通信技术,带宽只有180 kHz,主流频段是800 MHz和900 MHz,可以直接部署在GSM网络、UMTS网络或LTE网络上。NB-IoT技术建立在蜂窝网络的基础上,便于网络的大规模扩展以及管理。LoRa技术源于美国Semtech公司的专利,基于扩频技术实现远距离传输。LoRa技术更适用于私有网络,可灵活部署,适合企业级网络和科研应用。
目前对LoRa技术的研究主要集中在陆地环境,如在高楼林立的城市或者郊区。本文旨在探究将LoRa技术应用于海上移动场景,例如海上帆船运动,使用LoRa技术作为通信手段设计海上监测系统,监测帆船运动状态,用于帆船训练。因此研究LoRa技术应用于海上移动环境下的通信性能就至关重要。
本文接下来介绍LoRa技术以及LoRaWAN协议,并使用NS-3网络仿真平台对该协议在海上性能进行仿真探究,为实际应用提供理论借鉴。
2 基本原理
1. LoRa技术
LoRa物理层调制技术采用CSS(chirp spread spectrum)线性扩频调制技术,通过频率随时间线性变换的调频信号来编码信息[3]。正是因为chirp脉冲的线性,收发机之间的频偏等效于时间偏差,解码时可以轻松消除,这也有利于抵抗多普勒频移。因为对发射机晶振要求降低了,从而降低了成本。
LoRa技术的重要参数之一是扩频因子,扩频取值为{7,8,9,10,11,12},不同扩频因子之间是正交的关系,不同扩频因子的信号互不影响。扩频因子越大,灵敏度越高,传输距离越远,相应的代价就是数据速率的降低。Semtech公司的SX1301八通道网关芯片的扩频因子和数据速率、接收灵敏度之间的关系如表1所示[4]:
表1 SX1301带宽为125 kHz,扩频因子和接收灵敏度之间的关系
除此之外,还有扩频带宽这一参数。扩频因子和扩频带宽决定了传输速率和传输距离。因此,扩频因子和扩频带宽的选择可以根据使用场景和要求进行设定,从而达到延时和传输距离之间的权衡。
2. LoRaWAN协议
LoRaWAN协议是MAC层协议,是LoRa联盟制定的一些通信协议和系统架构。虽然LoRa技术的物理层调制是专利技术,但是这个协议是公开的。
LoRaWAN协议规定了网络中的三类设备:终端设备、网关和服务器。网络采用星型结构,终端设备单跳连接到一个或多个网关,网关再通过IP接入到服务器。如图1所示:
图1 LoRaWAN网络架构
三种设备的具体功能如下:
终端设备:终端设备通过LoRa无线接入到一个或多个LoRa网关。终端设备分为Class A、Class B、Class C三类[5]。Class A是LoRa的默认模式,所有的LoRa设备都必须支持。数据由终端设备发起,类似ALOHA协议随机发起数据的非同步模式,在发送完上行数据之后开启两个接收窗口,等待来自服务器的下行数据或命令。第二个接收窗口会开启在不同的频段,来增加抗干扰性。Class B在Class A的基础上,定时开启一个接收窗口,因此需要一个同步机制。Class C除了发送过程以外,始终处于接收状态。
网关:作为中继器连接终端设备和服务器,是整个网络的重要部分。负责接收终端设备数据包转发给服务器和接收服务器命令或数据下发到终端设备。
服务器:服务器管理、控制整个网络。包括速度自适应控制、发送查询节点状态命令、管理网络安全等。
3. NS-3仿真平台
NS-3是一种开源的离散事件网络模拟器,支持Wi-Fi, LTE, IEEE802.15.4、IP网络协议栈等。它广泛汲取主流仿真器 NS2、YANS 和 GTNets 的技术经验,用 C++语言实现,兼容时下流行的 Python。NS2部分模型已移植进NS3,使之在功能实现、版本更新、用户体验等方面都具有良好表现[6]。
NS-3的网络模拟支持系统包括:Attribute系统、Logging系统和Tracing系统。由于广泛汲取了其他网络仿真工具的经验和技术,NS-3的内核在可量测性、可扩展性、模块化、支持仿真与现实融合等方面具有极大优势。NS-3的网络构件包括:节点(Node)、应用(Application)、协议栈(Protocol Stack)、网络设备(Net Device)、信道(Channel)、拓扑生成器(Helper)等。NS-3通过低层次的抽象,使得仿真效果尽可能反映真实网络的性能[7]。
4. NS-3中LoRaWAN模块
因为NS-3中没有现成的关于LoRa的模块,因此为了实现仿真必须建立LoRaWAN的NS-3模块。关于节点和网关的模块设计[8]如图2所示。
各层实现的功能如下。
App层:建立一个数据包发生器,该发生器按照一定的发包间隔周期性产生。对于每个节点而言,第一次发包选取[0,m_interval]的随机时刻,而后遵循周期Tinterval。该数据包的负载大小固定,产生后传送给mac层。
图2 NS-3中LoRaWAN模块架构
Mac层:该层主要实现LoRaWAN协议,包括把上层的数据加上MAC层协议帧格式后进行发送、当接收窗口需要开启时将设备从睡眠状态唤醒、选择SF参数对应的逻辑信道等。
Phy层:该层主要模拟lora芯片的物理层,实现把MAC层数据封装后发送到信道channel,根据接收功率、受到的干扰等判断从信道channel接收到的数据包是否正确。
3 仿真实现及结果分析
1. 海上信道模型
目前,理论上计算海上移动通信的传播损耗时,一般是按照自由空间传播损耗计算。然而,这与实际情况不同。在实际海上通信过程中,传播损耗不仅有信号的直接损耗,还要考虑到由于海面的反射产生的损耗。另外,在海上实际通信过程,还要考虑到船体对信号的影响,主要体现在船体对信号穿透产生的损耗。综合以上各点,海上传播损耗模型如式(1):
Lpath=L0+L1+Lboat+α
(1)
其中,L0是自由空间传播损耗,L1是由于海面反射产生的损耗,Lboat是船体穿透损耗,是修正系数。
自由空间传播损耗如式(2)。
(2)
其中,λ是波长,d是收发天线之间的距离。
根据文献[9]和[10]Lboat船体穿透损耗取10 dB,修正系数取5 dB。反射产生的损耗如式(3)。
(3)
反射损耗与天线高度(发射天线高度ht,接收天线高度hr)、波长λ、收发天线之间距离d相关。
在NS-3现有的传播损耗模型有Friis传播损耗模型、log-distance模型、OkumuraHaha模型等,并没有适合海上移动通信的模型。因此需要根据上述公式在NS-3中建立传播模型应用到仿真中。
2. 移动模型
NS-3中提供了节点移动模型,例如匀速运动(Constant Velocity Mobility Model)模型、加速度不变(Constant Acceleration Mobility Model)模型、高斯-马尔科夫移动(Gauss-Markov Mobility Model)模型等。由于帆船在海上的运动轨迹随着风向改变而发生相应改变,但会在一段时间内保持直线趋势,和二维随机漫步模型(Random Walk 2d Mobilit yModel)类似,因此用该模型来海上移动情况。节点随机分布在以网关为中心,半径为r的圆内,在该圆周内每个节点遵循上面的模型独立移动。
3. 移动场景下的丢包率
仿真设置LoRa的工作频率在433 MHz,功率为14dBm。发射天线高度为1.2 m,接收天线高度为5 m。分别仿真了两组不同的活动范围,节点随机分布在半径为3km和5km的圆内。在两种情况下,节点都使用60s为周期进行数据包发送,仿真了节点数为[100,200,500,1000,2000]下的数据包投递率(成功接收数据包数量与发送数据包数量的比值)。
为了提高网络性能,需要在仿真开始前给每个节点配置合适的扩频因子SF。如果节点是固定不动的情况,只需要根据节点和网关之间的距离计算路径损耗和干扰,再结合接收机灵敏度,选取满足要求的最小SF,以提高传输速率,降低空中延迟,减少碰撞。但是若节点是可移动的,假设SF是根据初始位置配置,随着节点向远距离移动的过程,就可能产生节点由于距离增加,路径损耗增加使得接收功率低于该SF对应的接收机灵敏度,从而产生丢包。而这种情况其实是可以通过提高SF,提高接收机灵敏度来避免。因此,在仿真移动场景采用了两种设置扩频因子SF的方法:
(1)所有节点的SF相同且在移动中保持不变
根据活动范围,确定满足在活动边界位置的节点能够成功发送数据包到网关所需的最小SF,将活动范围内的所有节点都配置为该SF参数。如此就能保证,即使节点活动到边界,仍然能够使得到达网关的数据包不低于接收机灵敏度。
(2)每个节点SF独立且动态可变
每个节点在每次发送数据包前都根据此刻的位置计算满足要求的最小SF。在整个仿真过程中,节点的SF是动态变化的。不同运动距离配置对应的SF如表2所示:
表2 SF动态可变的配置情况
仿真结果如图3和图4所示:
图3 半径3 km活动范围的节点数与数据包投递率关系
随着节点数的增加,数据包投递率逐渐下降,丢包率上升,这是因为节点数增加,网络负载增加,由于冲突碰撞增多,成功接收的数据包数量就会下降。采用SF可变的情况下,性能较SF不变的情况有所提升,但是并不明显,数据包投递率只有1%的提高。这是因为在半径3 km活动范围内,SF主要使用SF=7的情况,两者区别不大。
图4 半径5 km活动范围节点数与数据包投递率关系
在半径5 km的活动范围情况下,同样证明了节点数增加对丢包率增大的影响。随着活动范围的增大,同样是采用SF不变的情况,5 km范围的数据丢包率相比3 km范围的情况有很大的增加,这是因为在活动范围大的情况下会采用较高的SF,增加空中传输时间,增大了数据包空中碰撞的概率。同时,随着活动范围的增加,采用可变SF相比不变SF的情况,性能提升更加明显。节点数为100时,数据包投递率增加了20%,节点数为500时,数据包投递率提高了50%,到节点数增加到2 000时,采用SF不变的情况,数据包投递率只有5%,此时丢包情况非常严重,可以认为无法正常通信。但是改用SF动态可变,数据投递率能够提升到54%。这是因为节点移动范围增加之后,要采用更多种SF同时进行传输,不同SF之间是相互正交的,相当于增加了多个逻辑信道,从而减小碰撞,增加了网络吞吐量。
4. 网络容量
我们希望仿真出更接近实际应用场景的网络容量,即在单个网关情况下,一共最多能够支持多少个节点,保证丢包率在一定阈值。因此,我们应用海上传播损耗模型,设置不同的数据包产生周期[60 s,600 s,1 200 s,1 800 s,3 600 s]下的情况。同时加入SF可变机制,来预估实际应用的网络规模。
设置节点活动范围在半径为7 km的圆内,丢包率阈值为0.1,仿真估计网络规模结果如表3所示。
表3 不同发包周期下单个网关所能连接在最多节点数(丢包率阈值0.1)
从表3中看出,频繁的发包使得单个网关所能连接的节点数只能限制在几百个。在实际的物联网应用中,更多的是节点数量规模大、发包周期长的情景,例如智能电表,一天一次上传数据,在这样的较长数据包发送周期下,就能支持上千个节点连接。
4 总结
本文旨在研究LPWAN的热点技术之一——LoRa技术在海上移动场景下的通信性能。通过NS-3仿真平台的LoRaWAN模型,建立海上通信信道模型以及合适的节点移动模型,仿真LoRaWAN协议数据包投递率和节点数、活动范围之间的关系,还探究了在海上通信LoRaWAN协议和架构下所能够支持的网络节点规模。仿真结果表明在海上移动通信下采用扩频因子动态可变即速率可变的方法可以有效地提高系统数据包投递率,在3 km活动范围数据包投递率可以提升1%,在活动范围大的情况,例如5 km范围,性能提升更加显著,节点数达到2000个的情况下可以提升54%。对于单网关网络节点数规模的仿真结果表明和实际应用场景相关,在节点发送数据包较为不频繁的情况(3600 s),网络规模还是可以达到4000个节点数。总的来说,LoRa技术应用在海上移动通信具有可行性和创新性。
在今后的工作中,会继续研究扩频因子动态可变的算法,本文中的算法只是一种简单实现,还存在不足之处,例如没有考虑节点远离或者靠近网关两种情况的区别。另外,计划提出一种基于LoRa技术的自组织网络协议,与LoRaWAN协议进行比较。