◆唐銘軒
LoRa技術原理及關鍵參數研究
◆唐銘軒
(南京郵電大學 江蘇 210023)
隨著物聯網產業的迅速發展,傳統的移動蜂窩通信技術無法滿足節點設備低功耗、長距離且大容量的通信特點與要求,促使低功耗廣域網(LPWAN)應運而生,LoRa 技術以其傳輸距離遠、功耗低的優勢成為此領域的重要支撐技術。本文詳細研究分析了LoRa技術的通信原理、基本參數的設置、數據包結構以及空中傳輸時間等指標。
LoRa技術;原理;數據包結構
近年來,物聯網技術迅速發展并成為熱門領域,其主要目的是利用部署的終端節點通過網絡信息技術,來實時監測以及采集目標信息,從而實現智能化管理、降低人工成本、提高效益。近幾年來LPWAN 領域新興的無線技術有LoRa、NYrIoT、NB-IoT、Sigfox等。其中LoRa技術是美國升特公司在2013年提出的,發展比較快且應用也較為廣泛,LoRa利用特殊的線性擴頻技術對信號進行調制,能夠實現最高 15km 的遠距離傳輸和長達十年的電池壽命。LoRa技術相較于其他 LPWAN技術,在成本上更低,因為它工作在非授權頻段不需要支付額外的費用;并且LoRa 設備不需要定期聯網,在功耗方面更具有優勢;另外,LoRa 網絡已經進行全球范圍的覆蓋,技術相對成熟,所以采用LoRa 技術是必要的。目前,LoRa技術已經被成功用于工業物聯網、機器人控制、智能無線抄表、安防系統等諸多領域。
LoRa 是一種低功耗廣域網中的通信技術,是 Semtech 公司專有的一種基于擴頻技術且有著超遠傳輸距離的無線通信技術。應用于物聯網的無線技術,有 3G、4G 等城域網,還有局域網以及其他短距離的通信技術,例如藍牙、WiFi 和 Zigbee 等技術,這些短距無線通信技術,有著十分明顯的優劣之處。并且在實際應用開發和工程中,通常無法保證同時實現長距離的傳輸且功耗較低,但是 LoRa 技術能夠解決這個問題,它可以讓設計人員既保證更長距離的通信也能夠實現更低的功耗。
LoRa 技術將數字信號處理、數字擴頻以及前向糾錯編碼技術結合在一起,極大提高了其性能。在此之前,這些技術只有一些無線電通信等級較高的工業才會融合,而隨著 LoRa 的興起,徹底地改變了嵌入式無線通信領域的局面。前向糾錯編碼技術表示對信息進行冗余編碼,這樣,接收端就會及時糾正數據在傳輸過程中注進的錯誤碼元。此技術不僅減少了數據包的重傳,并且在解決突發性誤碼上也具有很大的優勢。
LoRa 技術主要有三個關鍵參數,分別為:擴頻因子(SF)、編碼率(CR)和信號帶寬(BW)。
使用LoRa技術將每一位的有效載荷信息都用多個碼片來表示,符號速率(RS)為擴頻信息的傳輸速率,擴頻因子 = 碼片速率/符號速率(RS),其代表了每個信息位將要傳輸的符號數量。
擴頻因子越大,需要的有效數據的編碼長度越大,導致有效數據的發送速率越小,但可以降低誤碼率,提高信噪比(信號與噪聲的比值,理論上越大越好)。比如:有效數據位為 8bit,使用的擴頻因子越大,實際需要發送的數據位就越大(比如 100bit),就導致同樣的有效數據需要實際發送的數據位越多,導致實際有效數據發送速度就越慢了。
簡單來說,就是將每一位的數據都乘上擴頻因子,假設需要傳輸的數據為 1,如果擴頻因子選擇 1,那么就用 1 來表示該傳輸數據 1;如果選擇的擴頻因子是 6,這時候數據 1,就要用 111111 來表示,擴大了 6 倍的數據量。
經過數據擴頻后傳輸的誤碼率能夠降低,即信噪比提高了,但卻減少了在數據量相同的條件下能夠發送的數據,因此,擴頻因子與數據傳輸速率成反比,擴頻因子的擴大意味著數據傳輸速率的降低。LoRa 擴頻因子的取值范圍如表1所示。

表1 LoRa 擴頻因子取值范圍表
數據流有效部分所占的比例稱為編碼率。編碼器會對數據產生冗余,例如編碼率設為 k/n,編碼器會將每 k 位有效信息編成 n 位的數據,那么多余的部分就是 n-k。其中循環糾錯編碼技術是 LoRa 技術用來檢測前向錯誤并糾正,但使用這種技術會有傳輸開銷產生。如表2所示為循環編碼的數據開銷。

表2 循環編碼開銷
通道帶寬(BW)是指信道允許能夠通過的信號上限與下限頻率,通俗理解為頻率通帶。若信道的通帶為 15kHz 到 25kHz,則其帶寬就是 10kHz,在 LoRa 中,帶寬取值范圍為7.8kHz-500kHz 之間,BW 的擴大,能夠提高傳送速率減少傳送時間,但是同時接收靈敏度會有所下降。LoRa 調制技術采用全信道帶寬即雙邊帶寬,傳統的FSK調制使用單邊帶寬。如表3 所示為 LoRa 帶寬選項。

表3 LoRa 帶寬選項
其中 LoRa 符號速率(R)以及數據速率()受到,,這三個關鍵參數的影響,可以通過以下公式計算獲得。


LoRa 主要有兩種數據包格式:顯示和隱式,區別在于顯示數據包包含報頭 Header部分,主要格式如圖1 所示。其主要由前導碼 Preamble、可選類型的報頭Header和CRC(顯性模式下)、數據有效負載Payload及負載CRC校驗組成。

圖1 LoRa 數據包格式
(1)preamble 前導碼
設置前導碼的目的是確保接收端同步輸入信號,同時提示接收芯片及時接收發送端將要傳送的數據,防止數據的丟失,發送完前導碼之后,節點隨即就會傳送信息。前導碼默認為 12 個符號長度的大小,根據實際應用也可以進行擴展,通過減小前導碼的長度,可以降低接收機的占空比,前導碼長度的范圍是 6+4~65535+4。LoRa接收端周期性的檢測前導碼。所以發射端和接收端的前導碼長度必須相同,若是前導碼未知,則需要將接收端的前導碼長度定義成最大值。
(2)報頭
報頭的顯示或隱式兩種類型通過操作模式來設置,通過在寄存器上設定相應的值來選擇。LoRa 默認的模式是顯式模式,在顯式下,報頭會涵蓋負載 Payload 信息,其中包括:前向糾錯編碼率、負載的長度(byte)以及使用CRC校驗的情況,此時Header 采用最大循環編碼率(4/8)來傳輸數據,報頭中還包括本身的CRC信息,接收端可以以此判斷數據包的有效性。隱式報頭模式在特殊狀況下使用。若是已知編碼率、負載的長度和 CRC 的情況,就采用隱式模式,這樣可以減小傳輸時間。這需要事先手動的設定好編碼率、負載長度和CRC。值得注意的是當擴頻因子SF選擇為6時,只能選擇隱式模式。
(3)有效載荷
有效負載的字段沒有固定的長度,可以通過顯示模式下的報頭設定或是隱式模式下設置寄存器的相應值。
在2.3關鍵參數小節中得出符號速率R,那么一個 LoRa 數據包它的符號周期T計算如下:

而 LoRa 數據包的空中傳輸時間,相當于前導碼的傳輸時長T加上數據包的傳送時長T。其中前導碼的傳送時長可由公式4計算得出:

式中,N表示設置好的前導碼長度,數據包的傳送時長T由采用的報頭模式決定。數據包的傳送時長T由公式5 計算得出:

其中,為有效負載的符號數,計算符號數的公式6所示:

式中每個符號定義如下:Payload 為負載的字節個數取值范圍是 1-255;范圍為 6-12 的擴頻因子SF;當沒有用報頭時,H 取 0;采用報頭時,H 取 1;DE 表示低速率數據優化(使用時 DE=1,沒有使用 DE=0);CR 為編碼率(范圍 1-4);因此,總的數據傳輸時間 Tpacket可以確定:

LoRa 技術作為低功耗廣域網的新興技術,應用的越來越廣泛,本章先是詳細闡述了 LoRa 通信技術的相關基礎,分析了基于 LoRa 技術的通信原理、基本參數的設置、數據包結構以及空中傳輸時間等指標。目前對與 LoRaWAN 協議的研究正逐步增多,而作為近年來興起的通信技術 LoRa 技術的發展會進一步擴大。
[1]趙靜,蘇光添. LoRa 無線網絡分析[J]. 移動通信, 2016,40(21):50-57.
[2]王陽,溫向明,路兆銘,等. 新興物聯網技術——LoRa[J]. 中國學術期刊文摘,2018(14).
[3]龔天平. LoRa 技術實現遠距離低功耗無線數據傳輸[J]. 電子世界,2016(10):115-115.