Lora參數收集
lora技術能傳輸多大帶寬
使用SX1278射頻晶片,主推中國市場,所在頻段為410MHz - 441MHz,1000KHz 步進,建議433±5MHz,出廠預設433.0。對應LoRa子產品的型号為F8L10D-N,其通信理論帶寬為6級可調(0.3、1.2、2.4、4.8、9.6、19.2Kbps),靈敏度可達-140dBm,具備32個信道,超大序列槽緩存可達4K Bytes。圖檔可參考下圖:
帶寬與信道劃分的關系
帶寬(BW)、中心頻率和資料速率這些都源自晶振頻率
頻率、帶寬、擴頻因子、編碼率和資料包結構是一緻的。
LoRa模式中最大資料包長度是256個位元組
RegPktRssiValue指的是資料包RSSI水準,RegRssiValue與在FSK模式(非LoRa模式)中的RSSI相似。
信号帶寬(BW)、符号速率(Rs)和資料速率(DR)間的關系是什麼?
理論上, Rs=BW/(2^SF)、DR= SF*( BW/2^SF)*CR,但我們建議你使用Semtech LoRa數據機電腦按照不同的配置選型評估資料速率和傳輸時間。
下面表格是通過帶寬、擴頻因子和編碼率計算速率:DR= SF*( BW/2^SF)*CR
速 率DR | 擴 頻 因 子SF | 占 用 帶 寬BW | 編碼率CR |
0.81K | 10 | 125K | 4/6 |
1.46K | 9 | 125K | 4/6 |
2.6K | 8 | 125K | 4/6 |
4.56K | 7 | 125K | 4/6 |
9.11K | 7 | 250K | 4/6 |
18.23K | 7 | 500K | 4/6 |
如何選擇LoRa信号帶寬(BW)、擴頻因子(SF)和編碼率(CR)?
LoRaWAN主要使用了125kHz信号帶寬設定,但其他專用協定可以利用其他的信号帶寬(BW)設定。改變BW、SF和CR也就改變了鍊路預算和傳輸時間,需要在電池壽命和距離上做個權衡。請使用LoRa數據機電腦評估權衡。
專業術語及其縮寫:
FHSS 跳頻擴頻技術 FIFO先進先出隊列,這裡代表隊列寄存器
PA 功率放大器 LNA低噪聲放大器
SNR 信噪比 SF擴頻因子
PLL 鎖相環 CAD信道活動檢測
CR 編碼率 BW帶寬
RS符号速率 Preamble序頭
擴頻因子 RegModulationCfg
循環糾錯編碼cyclic error coding
信号帶寬Bandwidth
資料包結構
序頭preamble 報頭 header(可配) 資料段 payload 校驗碼CRC
工作頻率:434M 機關 KHz,例如:Frequency = 433920,代表 433.92MHz。
調制解調制式:lora FSK
子產品型号:
擴頻因子(SF)::SF6, SF7, SF8, SF9, SF10, SF11, SF12
擴頻發射帶寬(BW):BW62K, BW125K, BW250K, BW500K
擴頻編碼 CodeRate 選擇:CR4_5, CR4_6, CR4_7, CR4_8
輸出功率:範圍 2-20,機關 dBm,
目标工作接收帶寬:
資料包的 Preamble 長度設定,針對發射需要配置,機關位元組
目标工作頻率:機關 KHz,例如:Frequency = 433920,代表 433.92MHz
目标工作速率:機關 ns,例如:SymbolTime = 416000,代表每個符号 416us,即 2.4kbps
目标工作接收帶寬:針對接收需要定義,機關 KHz,例如:BandWidth = 100,代表接收帶寬 100KHz
無線資料包格式中,同步字長度:設定範圍是 1~8 位元組;不能設定為 0 位元組
void setup()
{
radio.Modulation = LORA; //調制模式為 LoRa
radio.COB = RFM98; //子產品為 RFM98
radio.Frequency = 434000; //目标頻率 434MHz
radio.OutputPower = 17; //17dBm 輸出功率
radio.PreambleLength = 16; //16Byte Preamble
radio.FixedPktLength = false; //可變長度封包格式
radio.PayloadLength = 21; //封包長度 21Byte
radio.CrcDisable = true; //不用 CRC
radio.SFSel = SF9; //擴頻因子為 9
radio.BWSel = BW125K; //擴頻發射帶寬 125KHz
radio.CRSel = CR4_5; //CodeRate 為 4/5
radio.vInitialize(); //初始化
radio.vGoStandby(); //進入待機模式
}