赵文妍
(南京理工大学,江苏 南京 210094)
LoRa物理层和MAC层技术综述
赵文妍
(南京理工大学,江苏 南京 210094)
为了更好地研究LoRa无线通信技术,从LoRa协议标准入手,结合参考资料,总结了LoRa的网络层次和基础架构,并对其MAC层和物理层进行了深入分析。对于物理层,首先给出了LoRa物理层参数,然后从线性调频扩频技术入手,介绍了LoRa调制技术,分析具体实现过程。对于MAC层,介绍了LoRa帧结构,LoRa的3种终端模式,以及终端接入网络过程和主要的MAC commands。
LoRa LoRa物理层 LoRa调制技术 LoRaWAN
LoRa作为一种新兴的低功耗广域网(LPWAN,Low Power Wide Area Network)技术,以广覆盖、低功耗等特点受到了广泛关注。LoRa具有巨大的商业价值,其产业链涵盖终端硬件生产商、芯片生产商、模块/网关生产商、软件厂商、系统集成商、网络运营商等,每一环都有大量企业,构成了完整的LoRa生态系统,促进了LoRa的快速发展与生态繁盛。最新数据显示,已有17个国家公开宣布LoRa建网计划,120多个城市地区已有正在运行的LoRa网络。
对于LoRa网络,美国网络运营商Senet于2015年年中在北美完成了50个基站的建设,覆盖约15 000平方英里(约38 850 km2),预计在第一阶段完成超过200个基站架设;2016年,法国电信Orange在法国建网;荷兰皇家电信KPN在新西兰建网,网络达到了50%的覆盖率;印度Tata宣布在孟买和德里建网;澳大利亚电信公司Telstra宣布在墨尔本试点。
国内从事LoRa模块和方案开发的厂商也很多,如AUGTEK、唯传科技、通感微电子门思科技等。AUGTEK在京杭大运河开展的LoRa网络建设,将完成284个基站的建立,覆盖1 300 km流域,据悉目前已完成江苏段的全线覆盖。通感微电子成立了专门的项目组从事LoRa模块、网关和整体方案的开发,具体包括可实时显示停车位分布状况的停车场监控系统、实现无线土壤检测的智能农业系统、防止盗猎的南非Kruger国家公园犀牛保护项目等。LoRa网络易于建设和部署,例如上述停车监控系统,覆盖面积约100 km2,需部署6个LoRa网关,可支持终端规模3 000个,部署时间仅需两周。
L o R a是一种由L o R a联盟推出的远距离通信系统[1],主要有两个层:物理层和M A C层(即LoRaWAN),如图1所示。LoRa物理层主要采用线性调频技术(CSS,Chirp Spread Spectrum),适用于远距离、低功耗、低吞吐量的通信[2-3]。LoRaWAN由LoRa联盟发布,是一种基于开源的电信级MAC层协议。LoRa是一项私有技术,工作在未授权频段,使用免费的ISM频谱,具体频段及规范因地区而异[5]。
图1 LoRa层结构
LoRa网络使用典型的“star-of-stars”拓扑结构(如图2所示)。在该结构中,网关(Gateway)充当中继角色,在终端(end-device)和服务器(Network server)之间传递信息。理论上,Gateway对终端是透明的[5]。Gateway以标准IP接入方式和基站相连,而终端以LoRa调制或FSK方式和Gateway相连。LoRaWAN支持双向通信,但上行通信占据主导地位。LoRaWAN不支持终端到终端的直接通信,如有需要,必须通过基站和Gateway(至少两个)进行中继。
图2 LoRa网络架构
LoRa调制技术是Semtech公司的专利,是LoRa物理层的核心。LoRa调制技术由线性调频扩频技术改进而来,采用一个在时间上线性变化的频率啁啾(chirp)对信息进行编码。由于啁啾脉冲的线性特质,收发装置间的频偏等于时间偏移,很容易在解码器中消除,这也使得LoRa调制可以不受多普勒效应的影响。收发器之间的频偏可达带宽的20%而不影响解码效果,这使得发射器的晶振无需做到高度精准,从而可降低发射成本。LoRa接收器能够自动跟踪它收到的频率chirp,提供-130 dBm的灵敏度。
2.1 LoRa调制的主要参数
LoRa调制主要有三个参数:带宽(BW,Bandwidth)、扩频因子(SF,Spreading Factor)和编码速率(CR,Code Rate)。它们影响了调制的有效比特率、抗干扰及噪声的能力以及解码的难易程度。
其中,BW是最重要的参数。一个LoRa符号由2SF个chirp组成,有效编码了SF个比特信息。在LoRa中,chirp速率在数值上等于BW,即一个chirp每秒每赫兹的带宽,见公式(2)[1]。SF每增加“1”,chirp的频率跨度就缩小为原来的1/2,持续时长增加一倍。但这不会导致比特速率的降低,因为每个符号会多传一个比特的信息。给定SF,符号速率和比特速率正比于BW,BW扩大一倍,这两者都会增加一倍。以上关系可由公式(1)推出,其中,Ts是符号周期,其倒数Rs为符号速率。
记chirp速率为Rc,可得:
另外,LoRa包含前向纠错编码,编码速率为CR:
结合(1)、(3)两式,可得有用比特速率Rb:
上述参数还会影响解码器的灵敏度。一般来说,BW的增加会导致接收机灵敏度的降低,而SF增加则会提高接收机的灵敏度。降低CR有助于减少短脉冲干扰导致的误包率,即CR为4/8时的传输比CR为4/5时的传输更具抗干扰性。
2.2 LoRa调制实现过程
首先介绍CSS调制技术,其基本元素是chirp,允许每个chirp发送一比特的信息,波形表达式为:
其中,φ(t)是chirp相位,因此,chirp的瞬时频率为:
对于线性chirp,f(t)定义为:
其中,fc是载波中心频率;“μ=1”对应up-chirp,“μ=-1”对应down-chirp;B表示带宽,以及chirp的最大最小瞬时频率之差。图3给出了一个up-chirp的例子,可以看出,(a)表示线性变化的频率,(b)表示二次变化的相位,(c)表示同相和正交部分的变化。
在接收端,需要用到以下性质[6]:
(1)一个up-chirp乘以一个up-chirp(downchirp乘以down-chirp)得到一个新的up-chirp(downchirp)。
(2)一个up-chirp乘以一个对应的down-chirp(即相同的瞬时频率表达式,但μ的取值相反,也叫作共轭chirp)会在两倍载波频率处得到一个狭窄的峰值。
因此,线性chirp匹配的接收端是通过乘以一个共轭chirp得到的,其结果是一个常量(图3(d)),然后再用输出信号来判断是否出现峰值(图3(e))。
与传统的CSS技术相比,LoRa调制更适用于IoT网络。LoRa调制的主要参数及计算已在2.1节给出。对参考chirp进行循环移位得到不同的编码chirp,使得瞬时频率轨道上出现一个尖锐的拐角(即产生频率跳变点),此时,瞬时频率的表达式为:
其中,k是移位的chirp数。若以图3(a)为参考,图4(a)循环移位了k个chirp。
在接收端,将接收信号乘以一个载波频率为fd的down-chirp(假设是完美同步的),则瞬时频率变为:
图3 CSS调制
图4 LoRa调制
生成信号可分为两段,每段都有恒定的频率(图4(d)),k决定了切换位置。以码片速率(即B Hz)进行采样,瞬时频率会在整个chirp上变成连续的,减掉“fc+fd”后,会和k成正比。对采样信号做快速傅里叶变换(FFT,Fast Fourier Transform),会产生一个在k处出现一个峰值的平坦响应。为保证上述结果,必须满足两个条件[6]:
(1)传输信号的相位必须是连续的,尤其在频率跳变处。另外,一个符号的瞬时相位必须首尾一致,这保证了FFT结果的可用性。这一特性由发射端控制。
(2)前面所有的结论都是基于收发之间完美同步(时间和频率)的情况得到的。如果时间或频率稍有偏差,都会被认为是标准频率上附加的偏差。因此,在传输编码chirp前,会先发送一个前导码(preamble)来估计偏差以便决定参考频率。
简单起见,假定参考频率是已知的并且忽略“fc+fd”,用MATLAB绘出该信号,结果如图4所示。发射端可以根据传输条件使用不同的速率和频率占用。特别的,处于Gateway覆盖范围边缘处的终端应使用高SF,靠近Gateway的终端使用低SF。频率模式是预定义的,对接收端来说是已知的。
2015年6月,LoRa联盟成立并发布了第一个开放性标准LoRaWAN R1.0。LoRaWAN提供了一种物理接入控制机制,使得众多使用LoRa调制的终端可以和基站进行通信。
3.1 LoRa帧结构
LoRa帧起始于preamble,其中编码了同步字(sync word),用来区分使用了相同频带的LoRa网络[2]。如果解码出来的同步字和事先配置的不同,终端就不会再听这个传输。接着是可选头部(header),用来显示负载的大小(2~255个Byte),传输所用的数据速率(0.3 kbit/s~50 kbit/s)以及在帧尾是否存一个用于负载的CRC。PHDR_CRC用来校验header,若header无效,则丢弃该包。图5给出了帧结构的细节。
MAC头(MHDR,MAC Header)指示了MAC消息的种类(MType)和LoRaWAN的版本号,RFU(Reserved for Future Use)是保留域。LoRaWAN定义了6种MAC消息,其中接入请求消息(join-request message)和接入准许消息(join-accept message)用于空中激活(OTAA,Over-The-Air Activation);其余4种是数据消息,可以是MAC commands或应用数据,也可以是两种消息的结合。需确认的消息(confirmed data)需要接收端回复;无需确认的消息(unconfirmed data)则不用。
图5 LoRa帧结构
MACPayload即所谓的“数据帧”,最大长度M因地区而异。帧头(FHDR,Frame Header)包含设备地址、帧控制(FCtrl,上下行不同)、帧计数器(FCnt)和帧选项(FOpts)4个部分。FRMPayload即帧负载,使用AES-128加密,用于承载具体的应用数据或者MAC commands。
FCtrl的上下行内容不同。其中,自适应数据速率(ADR,Adaptive Data Rate)用来调节终端速率,终端应尽量使用ADR,以延长电池寿命并最大化网络容量。FPending,帧悬挂,只用于下行,表示Gateway还有信息要发给终端,因此要求终端尽快发送一个上行帧来打开接收窗口。对于Class B,RFU改为Class B,该比特为“1”表示终端进入Class B模式。FOptsLen用来指示FOpts的实际长度。
FCnt只计算新传,分为FCntUp和FCntDown。终端每发一个上行帧,FCntUp加“1”;基站每发一个下行帧,FCntDown加“1”。
FOpts用来在数据帧中捎带MAC commands。
FPort,端口域。若FRMPayload非空,则FPort必然存在;若FPort存在,则有4种可能(详见图5最后一栏)。
MIC(Message Integrity Code)用来验证信息的完整性,由MHDR、FHDR、FPort和加密的FRMPayload计算得出。
3.2 LoRaWAN Classes
为了解决各种各样的应用需求,LoRaWAN定义了3种不同等级的终端。
(1)Class A(Bi-directional enddevices)
Class A的每个上行传输都伴随着两个短的下行接收窗口(RX1和RX2,RX2通常在RX1开启后1 s打开)。终端会根据自身的通信需求来调度传输时隙,其微调基于一个随机的时间基准(ALOHA协议)。Class A是功耗最低的终端模式,它只要求基站在终端发了一个上行传输后发送一个下行传输,但是这也导致Class A的下行传输灵活性非常差。简言之,Class A的通信过程是由终端发起的,若基站想发送一个下行传输,必须等待终端先发送一个上行数据。图6给出了典型的Class A传输模型:
图6 Class A传输模型
Class A是最基本的终端类型,所有接入LoRa网络的终端都必须支持Class A。终端可以根据实际需求,选择切换到Class B或Class C,但必须和Class A兼容。
(2)Class B(Bi-directional end-devices with scheduled receive slots)
终端应用层根据需求来决定是否切换到Class B模式。首先,Gateway会广播一个信标(beacon),来为终端提供一个时间参考。据此,终端定期打开额外的接收窗口(ping slot),基站利用ping slot发起下行传输(ping)。如果终端移动了或在beacon中检测到身份变化,它必须发送一个上行帧通知基站更新下行路由表。若在给定时间内没有收到beacon,终端会失去和网络的同步。MAC层必须通知应用层自己已经回到Class A模式。若终端还想进入Class B模式,必须重新开始。图7给出了典型的Class B传输模型:
图7 Class B传输模型
(3)Class C(Bi-directional end-devices with maximal receive slots)
除非正在发送上行帧,否则Class C的接收窗口是一直开启的。Class C提供最小的传输延迟,但Class C也是最耗能的,因此Class C适用于供能充足的终端。需要注意,Class C并不兼容Class B。
只要不是正在发送信息或正在RX1上接收信息,Class C就会在RX2上听下行传输。为此,终端会根据RX2的参数设置,在上行传输和RX1之间打开一个短的接收窗口(图8中第一个RX2)。在RX1关闭后,终端会立刻切换到RX2上,直到有上行传输才关闭。图8给出了典型的Class C传输模型:
图8 Class C传输模型
3.3 LoRaWAN连接的建立
若想接入网络,终端必须激活。LoRaWAN提供两种激活方式:OTAA和个性化激活(ABP,Activation By Personalization)。
(1)OTAA
对于OTAA,终端需要经历一个接入流程(joinprocedure)。首先,终端广播join-request message,该消息包含APPEUI、DevEUI和DevNonce三个部分。这些信息是设备制造商写在终端里的[8]。
基站通过join-accept message通知终端可以进入网络了。如果收到了多个基站的join-accept message,终端会选择信号质量最好的网络接入。收到join-accept message后,FCntUp和FCntDown都置为0。激活之后,终端会保存DevAddr、APPEUI、NwkSkey和AppSKey这4个信息。如果没有收到join-request message,基站将不做任何处理。图9展示了OTAA的流程:
图9 OTAA流程
(2)ABP
一定情况下,终端可以个性化激活。ABP绕过了join-procedure,直接把终端和特定的网络连接到一起。这意味着,直接把DevAddr、NwkSKey和AppSkey写入了终端,使其一开始就有了特定LoRa网络所要求的准入信息。
终端必须以Class A模式接入网络,然后在有需要时切换到其他模式。为了保证通信的安全性,建议使用OTAA[9-10]。连接建立之后,终端和基站之间就可以通信了。
3.4 MAC commands
为了进行网络管理,LoRaWAN定义了很多MAC commands,用来配置或修改终端的参数。MAC commands既可以存在于FOpts域中,也可以存在于FRMPayload域中(FPort=0),但不可以同时存在于两个域中。若MAC commands在FOpts域中,其长度不可超过15 Byte,且无需加密。若MAC commands在FRMPayload域中,其长度不可超过FRMPayload的最大长度,且必须加密。MAC commands由一个命令标识(Command identifier,CID,占1 Byte)和具体的command组成。
MAC commands的每个请求(Request)都对应一个答复(Answer),由此可分成7对。其中,只有链路检查请求(LinkCheckReq)是由终端发起基站作答,其余请求都是基站发起终端作答。表1给出了Class A模式下的MAC commands:
表1 MAC commands简介
本文从LoRa的商业价值引入,首先介绍了LoRa的概念及其网络结构。然后以LoRa协议标准为主,其他参考文献为辅,对LoRa物理层和MAC层进行了深入浅出地分析。物理层部分,给出了LoRa物理层参数,从CSS入手,介绍了LoRa调制技术,并给出了具体实现过程。MAC层部分,首先介绍了LoRa的帧结构,并图示了帧结构的细节;然后介绍了LoRa的3种终端模式以及终端接入网络的过程;最后简单介绍了主要的MAC commands。LoRa技术标准研究及产品研发有着广阔的应用前景,同时也面临着各种挑战。作为低功耗广域网重要技术之一,LoRa将为物联网应用带来新机遇。
[1] LoRa Alliance. V1.0.1-2016 LoRaWANTM Specification[S]. 2016.
[2] Usman Raza, Parag Kulkarni, Mahesh Sooriyabandara.Low Power Wide Area Networks: An Overview[EB/OL]. (2017-01-11)[2017-02-15]. https://arxiv.org/abs/1606.07360.
[3] A Berni, W Gregg. On the Utility of Chirp Modulation for Digital Signaling[J]. IEEE Transactions on Communications, 1973,21(6): 748-751.
[4] LoRa Alliance. LPWA Technologies Unlock New IoT Market Potential-A White Paper prepared for the LoRa®Alliance[Z]. 2015.
[5] Aloÿs Augustin, Jiazi Yi, Thomas Clausen, et al. A Study of LoRa: Long Range & Low Power Networks for the Internet of Things[J]. Sensors, 2016,16(9): 1466-1483.
[6] Semtech Corporation. Chirp Signal Processor: European,EP2975814A1[P]. 2016-01-20.
[7] O B A Seller, N Sornin. EP2763321(A1)-Low power long range transmitter: Europe, 13154071.8[P]. 2014-08-06.
[8] Orange Connected Objects & Partnerships. LoRa Device Developer Guide[EB/OL]. [2017-02-15]. https://partner.orange.com/wp-content/uploads/2016/04/LoRa-Device-Developer-Guide-Orange.pdf.
[9] Ferran Adelantado, Xavier Vilajosana, Pere Tuset Peiro,et al. Understanding the limits of LoRaWAN[EB/OL]. (2017-02-13)[2017-02-15]. https://arxiv.org/abs/1607.08011v1.
[10] Martin Christiaan Bor, John Vidler, Utz Roedig.LoRa for the Internet of Things[EB/OL]. (2016-03-10)[2017-02-15]. https://www.researchgate.net/publication/297731094_LoRa_for_the_Internet_of_Things. ★
Technical Overview on LoRa Physical Layer and MAC Layer
ZHAO Wenyan
(Nanjing University of Science & Technology, Nanjing 210094, China)
LoRa wireless communication technology is of huge commercial value. In order to investigate LoRa technology,the network hierarchy and fundamental architecture of LoRa were summarized based on LoRa protocol standards and references, as well as the MAC layer and physical layer were analyzed in depth. The physical layer parameters of LoRa were presented firstly. Then, LoRa modulation technique and its implementation process were presented according to the Chirp spread spectrum technique. For MAC layer, the LoRa frame structure, three terminal modes of LoRa, access process of the terminal to the network and main MAC commands were introduced.
LoRa LoRa physical layer LoRa modulation technique LoRaWAN
10.3969/j.issn.1006-1010.2017.17.013
TN929.53
A
1006-1010(2017)17-0066-07
赵文妍. LoRa物理层和MAC层技术综述[J]. 移动通信, 2017,41(17): 66-72.
2017-02-27
责任编辑:文竹 liuwenzhu@mbcom.cn
赵文妍:硕士研究生就读于南京理工大学,主要研究方向是无线通信和信号处理。