天天看點

LoRa學習筆記

LoRa學習:LoRa關鍵參數(擴頻因子,編碼率,帶寬)的設定及解釋

  • 1、擴頻因子(SF)
  • 2、編碼率(CR)
  • 3、信号帶寬(BW)
  • 4、LoRa信号帶寬BW、符号速率Rs和資料速率DR的關系
  • 5、 LoRa信号帶寬、擴頻因子和編碼率的設定
針對特定應用,開發人員可通過調制擴頻因子、調制帶寬、糾錯編碼率這三個關鍵設計參數,對LoRa調制解調技術進行優化。。

1、擴頻因子(SF)

LoRa采用多個資訊碼片來代表有效負載資訊的每個位,擴頻資訊的發送速度稱為符号速率(Rs),而碼片速率與标稱的Rs比值即為擴頻因子(SF,SpreadingFactor),表示了每個資訊位發送的符号數量。。 LoRa擴頻因子取值範圍: 

LoRa學習筆記
LoRa學習筆記

注意:因為不同的SF之間為正交關系,是以必須提前獲知鍊路發送端和接收端的SF。另外,還必須獲知接受機輸入端的信噪比。。在負信噪比條件下信号也能正常接收,這改善了LoRa接受機的林敏度,鍊路預算及覆寫範圍。。

了解擴頻因子的概念:

通俗的說 擴頻時你的資料每一位都和擴頻因子相乘,例如有一個1 bit需要傳送,當擴頻因子為1時,傳輸的時候資料1就用一個1來表示,擴頻因子為6時(有6位)111111,這111111就來表示1,這樣乘出來每一位都由一個6位的資料來表示,也就是說需要傳輸總的資料量增大了6倍。 這樣擴頻後傳輸可以降低誤碼率也就是信噪比,但是在同樣資料量條件下卻減少了可以傳輸的實際資料,是以,擴頻因子越大,傳輸的資料數率(比特率)就越小。。。

Lora擴頻因子的使用:

當擴頻因子SF為6時,LoRa的資料傳輸速率最快,是以這一擴頻因子僅在特定情況下使用。使用時需要配置LoRa晶片SX127x:

  • 在RegModemConfig2,将SpreadingFactor設為6
  • 将報頭設定為隐式模式
  • 在寄存器位址(0x31)的2至0位寫入0b101
  • 在寄存器位址(0x37)寫入0x0C

2、編碼率(CR)

編碼率,是資料流中有用部分的比例。 編碼率(或資訊率)是資料流中有用部分(非備援)的比例。也就是說,如果編碼率是k/n,則對每k位有用資訊,編碼器總共産生n位的資料,其中n-k是多餘的。 LoRa采用循環糾錯編碼進行前向錯誤檢測與糾錯。。使用該方式會産生傳輸開銷。。 每次傳輸産生的資料開銷如下: 

LoRa學習筆記

在存在幹擾的情況下,前向糾錯能有效提高鍊路的可靠性。由此,編碼率(抗幹擾性能)可以随着信道條件的變化而變化,可以選擇在報頭加入編碼率以便接收端能夠解析。。。

3、信号帶寬(BW)

增加BW,可以提高有效資料速率以縮短傳輸時間,但是 以犧牲部分接受靈敏度為代價。對于LoRa晶片SX127x,LoRa帶寬為雙邊帶寬(全信道帶寬),而FSK調制方式的BW是指單邊帶寬。

LoRa帶寬選項:

LoRa學習筆記
LoRa學習筆記

注意:較低頻段(169MHz)不支援250K和500KHz的BW

4、LoRa信号帶寬BW、符号速率Rs和資料速率DR的關系

LoRa符号速率Rs可以通過以下公式計算:

Rs=BW/(2^SF)

每Hz每秒發送一個碼片。。

LoRa資料速率DR可以通過以下公式計算:

DR= SF*( BW/2^SF)*CR

5、LoRa信号帶寬、擴頻因子和編碼率的設定

LoRaWAN主要使用了125kHz信号帶寬設定,但其他專用協定可以利用其他的信号帶寬(BW)設定。改變BW、SF和CR也就改變了鍊路預算和傳輸時間,需要在電池壽命和距離上做個權衡。

原文出處:http://m.elecfans.com/article/559519.html