LoRa重要知識(shí)

原文: https://neucrack.com/p/12

LoRa: Long Range的縮寫,是一種基于線性調(diào)制擴(kuò)頻技術(shù)(CSS: chirp spread spectrum)的一種擴(kuò)頻調(diào)制技術(shù)。

與同類技術(shù)相比,提供更長的通信距離,更低的功耗,速率比較低。
調(diào)制是基于擴(kuò)頻技術(shù),線性調(diào)制擴(kuò)頻(CSS)的一個(gè)變種,并具有前向糾錯(cuò)(FEC)特性。
LoRa顯著地提高了接受靈敏度(低至-148dBm),與其他擴(kuò)頻技術(shù)一樣,使用了整個(gè)信道帶寬廣播一個(gè)信號(hào),從而使信道噪聲和由于使用低成本晶振而引起頻率偏移的不敏感性更健壯。
LoRa可以調(diào)制信號(hào)19.5dB低于底噪聲,而大多數(shù)頻移鍵控(FSK)在底噪聲上需要一個(gè)8-10dB的信號(hào)功率才可以正確調(diào)制。

先直觀地看一下LoRa傳輸時(shí)的波形,下面幾張圖是我實(shí)際抓到的LoRa傳輸時(shí)的波形

圖一:cubicSDR LoRa470MHz SF12 4/5 8preamble瀑布流圖
圖二:cubicSDR 捕獲到的LoRa 470MHz SF12 4/5 時(shí)域波形圖
圖三:LoRa瀑布圖2(來源網(wǎng)絡(luò))

基礎(chǔ)知識(shí)

(一)EIRP ERP (e.r.p/e.i.r.p)

EIRP即射頻發(fā)射功率(dBm)+天線增益(單位dBi)-線路衰減(dB)
ERP即射頻發(fā)射功率(dBm)+天線增益(單位dBd)-線路衰減(dB)
其中 EIRP(dBm) = ERP(dBm)+2.15

ERP EIRP
ERP EIRP
ERP EIRP

這里引出一個(gè)問題,國內(nèi)在470~510MHz頻段要求功率不能超過50mW [17dBm (e.r.p)],那為什么廠商出廠都標(biāo)明了芯片或者模塊是20dBm呢,這不是超出了限制范圍?
芯片或模塊的信號(hào)還要經(jīng)過傳輸線和天線,總所周知,芯片到天線會(huì)有插入損耗以及線損等,然后經(jīng)過天線再增益后才得到最后的空中功率值

(二)dBm dB dBi dBd mW 含義及關(guān)系和區(qū)別

請(qǐng)自行看書或搜索學(xué)習(xí)

如果需要看視頻教程,推薦:
視頻(中文字幕):hackrf bilibili , 視頻(英文):hackrf greatscottgadgets
其它視頻:LoRa youtube

(三)鏈路預(yù)算

首先要了解接收靈敏度和發(fā)射功率

接收靈敏度值越低越好,比如-120dBm和-145dBm,-145dBm值更小,我們說接收靈敏度更好。
而經(jīng)常也會(huì)有人說最大靈敏度,這里的大不能理解為值大而知最好靈敏度,這里需要注意,表達(dá)時(shí)容易混淆。

可以簡單理解成 最好接收靈敏度值絕對(duì)值+最大發(fā)射功率, 更詳細(xì)解釋請(qǐng)自行學(xué)習(xí)


link budget margin

比如按照semtech的sx1276手冊(cè)說明,芯片最大功率位20dBm,最大接收靈敏度位-148dBm,所以最大鏈路預(yù)算為168dBm。

LoRa相關(guān)基礎(chǔ)術(shù)語和名詞解釋

(一)up-chirp/down-chirp

首先大家都明白調(diào)頻(FM)和調(diào)幅(AM),如下圖:

AM FM

使用不同幅度或者頻率來表示不同的數(shù)據(jù)(數(shù)值)。

up-chirp/down-chirp :這里chirp是鳥叫聲的意思,也正如鳥叫聲一樣,up-chirp指頻率逐漸增加的過程,down-chirp則相反是頻率逐漸降低的過程。
比如下圖就是up-chirp,反之如果時(shí)間從右往左就是down-chirp:

up-chirp, 橫軸時(shí)間,縱軸幅度

通過這種變化過程來表示一個(gè)或者多個(gè)數(shù)據(jù)(數(shù)值),
比如最簡單的up-chirp代表1,down-chirp代表0,;
再復(fù)雜一點(diǎn),從最低頻率變化到最高這個(gè)過程表示1,從中間頻率到最大頻率然后跳變到最低頻率再變化到中間頻率這個(gè)過程表示2,從最高變成最低標(biāo)識(shí)3等等。具體表示什么就看具體的應(yīng)用和標(biāo)準(zhǔn)了。
而LoRa就采用這種調(diào)制方式:

LoRa調(diào)制

(二)帶寬(BandWidth)

帶寬 BW (BandWidth):
表示頻率最大值減去最小值的差值。
而帶寬和信號(hào)的傳輸速率又有著極大的關(guān)系,信道帶寬與數(shù)據(jù)傳輸速率的關(guān)系可以奈奎斯特(Nyquist)準(zhǔn)則與香農(nóng)(Shanon)定律描述。如果忘記了可以看這里。
所以帶寬越大,速率越快,單位是Hz

(三)碼片(chips)

碼片:通過擴(kuò)頻技術(shù),將一個(gè)數(shù)據(jù)位用很多碼片來表示。

(四)符號(hào)(symbol)

一個(gè)完整的掃頻信號(hào)(sweep signal)可以被稱為一個(gè)符號(hào),如下圖中需黃色虛線部分的黑色實(shí)線稱為為一個(gè)符號(hào):


symbol

就像前面說的, 這樣一個(gè)chirp信號(hào)可以用來表示一個(gè)或者多個(gè)數(shù)據(jù)(數(shù)值),在LoRa調(diào)制中,一個(gè)符號(hào)代表的數(shù)據(jù)內(nèi)容長度由擴(kuò)頻因子決定,擴(kuò)頻因子含義見后面闡述。

(五)擴(kuò)頻因子(Spreading Factor)

前面說了使用擴(kuò)頻技術(shù)用多個(gè)碼片來代表1個(gè)數(shù)字信號(hào)中的數(shù)據(jù)位(即我們真實(shí)想傳輸?shù)臄?shù)據(jù)),我們將一個(gè)符號(hào)分成2^SF個(gè)單元,這個(gè)單元即為前面說的碼片(chips),來表示SF個(gè)數(shù)據(jù)位(注意不是1個(gè)數(shù)據(jù)位或者1個(gè)字節(jié)),SF即擴(kuò)頻因子。

比如一個(gè)符號(hào)可以表示1011111(95),7位數(shù)據(jù),值位95,這里一個(gè)符號(hào)代表的數(shù)據(jù)的位數(shù)就是擴(kuò)頻因子的值,比如上面這個(gè)95的值對(duì)應(yīng)的擴(kuò)頻因子的值位7

這里即我們用了2^SF/SF個(gè)碼片來表示一個(gè)實(shí)際的位。如果SF越大,因?yàn)橛脕肀硎具@個(gè)位數(shù)據(jù)的碼片多了,抗干擾能力自然就會(huì)好很多;而由于代表每個(gè)符號(hào)的碼片增加了,單位時(shí)間傳輸碼片數(shù)量是定了的,因此需要的時(shí)間自然就增加了。
綜上,擴(kuò)頻因子值越小速率越高,抗干擾性越低,傳輸距離越近。
在semtech的LoRa芯片中,SF取值6~12,6為特殊值

符號(hào) 擴(kuò)頻因子 碼片

(六)編碼率 CR (Code Rate)

LoRa使用了向前糾錯(cuò)技術(shù),傳輸?shù)臄?shù)據(jù)有一部分需要拿來糾錯(cuò),在實(shí)際發(fā)送的長度為SF指定的長度中,實(shí)際傳輸?shù)臄?shù)據(jù)只有一部分即CR(CR的取值是一個(gè)小于1的分?jǐn)?shù),而semtech的lora的數(shù)據(jù)手冊(cè)上為了簡化寄存器,有幾個(gè)CR值分別用1~4來表示4/5~4/8,不要弄混淆了),其它的用來糾錯(cuò)的數(shù)據(jù)。
比如SF8發(fā)送了8個(gè)字節(jié),但是由于有向前糾錯(cuò)技術(shù),這8個(gè)字節(jié)中的一部分需要拿來做這個(gè)事情,比如這里CR設(shè)置4/5,其中有1/5的數(shù)據(jù)為糾錯(cuò)數(shù)據(jù),實(shí)際發(fā)送的有效數(shù)據(jù)內(nèi)容只有8*4/5字節(jié),如下圖:


code rate

所以CR值越大(4/5>4/8),則實(shí)際一個(gè)符號(hào)中的有效數(shù)據(jù)更少,所以速率也就更低,但是魯棒性會(huì)更好

速率

帶寬 碼片速率
  • 碼片速度Rc:
    前面也說到,帶寬和信號(hào)的傳輸速率有極大的關(guān)系,這里碼片的傳輸速率和帶寬(單位Hz)的值相等,即:
    Rc= BW = |BW|chips/s

  • 符號(hào)速度Rs:
    每個(gè)符號(hào)有2^SF個(gè)碼片,而碼片的傳輸速率為Rc,所以,符號(hào)傳輸速率Rs為:
    Rs = Rc/2^SF = BW/2^SF

  • 數(shù)據(jù)傳輸速率DR(或者說bit Rate):
    DR = Rb(bits/sec) = SF * Rs * CR = SF * (BW/2^SF) * CR

傳輸時(shí)間

  • 1個(gè)碼片傳輸時(shí)間Tc = 1/Rc = 1/BW

  • 1個(gè)符號(hào)傳輸時(shí)間Ts = 1/Rs = 2^SF/BW

    Ts

    由此看出,SF每增加一個(gè)值,Ts就要是之前的兩倍,如下圖:
    Ts

  • 傳輸時(shí)間:
    LoRa在傳輸過程中需要傳前導(dǎo)碼、頭、以及payload
    Tpreamble = (Npreamble+2+2+1/4) * Ts
    其中Npreamble可以設(shè)置,比如本文的捕捉到的波形圖中值為8.
    Tpayload = Ts * N(payloadSymbNb)

    payload 符號(hào)數(shù)量

    max()取最大值函數(shù)
    ceil()取整數(shù)函數(shù)

然后傳輸時(shí)間相加Tpreamble + Tpayload即為傳輸時(shí)間

這里放一張網(wǎng)友手算的圖

手算LoRa傳輸時(shí)間

當(dāng)然,有現(xiàn)成的計(jì)算工具,semtech官方也提供了工具

實(shí)際波形分析(解碼)

了解了以上的知識(shí),再回頭來看看實(shí)際捕捉到的波形圖(瀑布圖)

圖一:cubicSDR LoRa470MHz SF12 4/5 8preamble瀑布流圖

如上面瀑布圖所示,縱軸是時(shí)間軸,橫軸是頻率。
可以看到傳輸數(shù)據(jù)時(shí)在一周期T內(nèi)頻率會(huì)從某個(gè)起點(diǎn)均勻變化(增大或減小)直到設(shè)置的帶寬的臨界值,然后跳變?yōu)樽钚』蛘咦畲笾道^續(xù)變化直到頻率變?yōu)槠鹗紩r(shí)的頻率,即前面說的up-chirp 或者 down-chirp,而實(shí)際也可以看到,除了有(2+1/4)個(gè)符號(hào)使用了down-chirp,其它的都是使用的up-chirp

在這張瀑布流圖中可以清晰地看到preamble和sync word,前12+1/4個(gè)符號(hào)可以看到有清晰的規(guī)則,其中前8個(gè)up-chirp是preamble,中間兩個(gè)up-chirp是sync word,外加后面(2+1/4)個(gè)down-chirp的符號(hào), 然后后面跟的數(shù)據(jù)就是header和payload了,由于數(shù)據(jù)不像preamble那樣規(guī)則這里就不分析了。

為什么網(wǎng)關(guān)要用sx1301,可以用sx1276代替么

1301可以同時(shí)監(jiān)聽8個(gè)上行通道,每個(gè)通道可以同時(shí)監(jiān)聽6個(gè)正交擴(kuò)頻因子SF7~SF12,這也就是文檔中說的多大49個(gè)虛擬通道的來源,但是需要注意的是,雖然每個(gè)通道可以同時(shí)監(jiān)聽6個(gè)SF,但同一時(shí)刻也只能處理一個(gè)信號(hào),比如同時(shí)來自SF7和SF12的消息也只能處理其中一個(gè)。
也就是說1301的上行也就能同時(shí)處理8個(gè)通道(頻率范圍),那可能就會(huì)想到如果我用8個(gè)SX1276是不是就可以替代1301了,事實(shí)上也是不行的,因?yàn)?301每個(gè)通道都能檢測6個(gè)SF通道,雖然同一時(shí)刻只能處理其中一個(gè),但是1276/1278是不能做到這點(diǎn)的,SX1276/8同一時(shí)刻只能檢測一個(gè)SF信道。sx1301這個(gè)特性的好處就是因?yàn)闄z測到多個(gè)SF信道,因此可以很容易做速率自適應(yīng)(ADR),而如果采用SX1276/78因?yàn)橥瑫r(shí)只能監(jiān)聽一個(gè)確定的SF的通道(即SF值和頻率均確定為一個(gè)),要做到相對(duì)來說就更困難。

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容