趙文妍
(南京理工大學,江蘇 南京 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
趙文妍:碩士研究生就讀于南京理工大學,主要研究方向是無線通信和信號處理。