文章目錄
- 前言
- 一、LORA調制
- 二、接收靈敏度
- 三、信噪比和擴頻因子
- 四、帶寬和碼片速率
- 五、前向糾錯
- 六、LORA包格式和空口傳輸時間
- 七、參數程式接口
前言
本文介紹LORA波形應用于無線應用場景下的相關說明設定,分為兩部分包括基礎部分和進階設計部分。
參考《AN1200.13》
一、LORA調制
LORA使用的是寬帶線性頻率調制脈沖的方式,即,在一段時間内頻率上升或下降來編碼資訊。這種方式的優點是:得益于擴頻技術而大幅提高了接收靈敏度,并且提高了發送方和接收方的頻率誤差容忍度。
二、接收靈敏度
室溫下,接收靈敏度計算公式: S = − 174 + 10 l o g 10 B W + N F + S N R S = -174 + 10log_{10}{BW} + {NF} + {SNR} S=−174+10log10BW+NF+SNR 其中“-174”為大自然基地噪聲密度,隻收接收端環境溫度影響。機關為dBm/Hz;“BW”為接收機帶寬;“NF”是接收機的噪聲系數,隻受接收機硬體影響;“SNR”為最小信噪比解調門限,由LORA波形決定。
三、信噪比和擴頻因子
擴頻因子的基本概念是資訊的每一位編碼在多片上,在LORA調制中資料速率與片速率的關系, R c = 2 S F R b R_c = 2^{SF}R_b Rc=2SFRb其中“SF”為擴頻因子。
“SNR”是最小解調信噪比,由LORA波形決定。前向糾錯(FEC)技術和擴頻技術相結合可以提高最小解調信噪比。下表為一些正常調制方式和LORA調制的最小解調信噪比。
Module | Typical SNR |
---|---|
LoRa SF12 | -20dB |
LoRa SF10 | -15dB |
GMSK | 9dB |
擴頻因子直接影響着資料包傳輸的持續時間。在250kHz固定帶寬下,擴頻因子對傳輸時間、接收靈敏度的影響如下表。
SF | Time on air[ms] | Sensitivity[dBm] |
---|---|---|
12 | 528.4 | -134 |
10 | 132.1 | -129 |
8 | 39.2 | -124 |
四、帶寬和碼片速率
設計中一個重要問題是,選擇合适的帶寬和擴頻因子,決定了資料傳輸時間。一位代表多個碼片,意味着需要用比原來更高的碼片速率,也就需要提高帶寬。
LoRa調制以碼片速率發送擴充資料流,該碼片速率為每秒每赫茲的碼片帶寬。是以,125kHz的LoRa帶寬對應于125kcps的碼片速率。
前面靈敏度計算公式可得,“BW”會增加接收機信道内的噪聲,進而降低接收靈敏度。這意味着對于給定擴頻因子,可以選擇使用窄帶寬,以最大程度提高靈敏度。但同時增加了傳輸時間。
固定擴頻因子,改變帶寬對應的傳輸持續時間和接收靈敏度如下表(有效載荷10byte)。
BW | Time on air[ms] | Sensitivity [dBm] |
---|---|---|
125 | 264.2 | -132 |
250 | 132.1 | -129 |
500 | 66 | -126 |
五、前向糾錯
LoRa波形采用一種前向糾錯(FEC)的形式,該形式允許恢複由于幹擾所導緻的資訊比特。這需要在發送資料包中附加編碼少量開銷。根據所選的編碼率,所對應的靈敏度和丢包率圖表如下(SF=7,BW=125kHz,13Byte Payload)。
編碼率影響傳輸時間表格如下(SF=10,BW=250kHz):
CR | Time on air [ms] |
---|---|
1 | 123.9 |
2 | 132.1 |
4 | 148.5 |
六、LORA包格式和空口傳輸時間
為了精确計算空口傳輸時間,公式如下 T s y m = 2 S F B W T_{sym} = \frac {2^{SF}}{BW} Tsym=BW2SF
資料包的構成如下:
所有數據機配置的共同點是前導碼序列,其持續時間為 T p r e a m b l e = ( n p r e a m b l e + 4.25 ) T s y m T_{preamble}=(n_{preamble }+ 4.25)Tsym Tpreamble=(npreamble+4.25)Tsym 其中“n(preamble)”為前導碼符号數。
p a y l o a d S y m b N b = 8 + m a x ( c e i l ( 8 P L − 4 S F + 28 + 16 − 20 H 4 ( S F − 2 D E ) ) ( C R + 4 ) , 0 ) payloadSymbNb = 8 + max(ceil(\frac{8PL-4SF+28+16-20H}{4(SF-2DE)})(CR+4),0) payloadSymbNb=8+max(ceil(4(SF−2DE)8PL−4SF+28+16−20H)(CR+4),0)
相關變量:
- “PL”是有效載荷位元組數;
- “SF”是擴頻因子;
- “H=0”時header使能,“H=1”時不存在header;
- “DE=1”時低速率優化使能,“DE=0”時禁止;
- “CR”編碼率從1到4;
T p a y l o a d = p a y l o a d S y m b N b ( T s y m ) T_{payload}=payloadSymbNb( Tsym) Tpayload=payloadSymbNb(Tsym)
T p a c k e t = T p r e a m b l e + T p a y l o a d T_{packet}=T_{preamble}+T_{payload} Tpacket=Tpreamble+Tpayload
在這裡我們可以看到,在窄帶狀态下,LoRa資料包的持續時間可能很大。 為了避免由于溫度變化或運動引起的晶體參考振蕩器漂移問題,使用了低資料速率優化位。 特别是對于125 kHz帶寬和SF = 11和12,這會增加少量開銷,以提高LoRa資料包時間範圍内參考頻率變化的魯棒性。