LoRa速率计算和发包时长计算

一、程序参数设置

// Default settings

tLoRaSettings LoRaSettings =
{
    433000000,  // RFFrequency  ori = 870000000
    20,               // Power
    7,                 // 带宽  SignalBw [0: 7.8kHz, 1: 10.4 kHz, 2: 15.6 kHz, 3: 20.8 kHz, 4: 31.2 kHz,
                        // 5: 41.6 kHz, 6: 62.5 kHz, 7: 125 kHz, 8: 250 kHz, 9: 500 kHz, other: Reserved]_____9
    9,                 //扩频因子 SpreadingFactor [6: 64, 7: 128, 8: 256, 9: 512, 10: 1024, 11: 2048, 12: 4096  chips] 
    1,                 //误码率    ErrorCoding [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8]
    true,             // CrcOn [0: OFF, 1: ON]
    false,            // ImplicitHeaderOn [0: OFF, 1: ON]
    1,                // RxSingleOn [0: Continuous, 1 Single]
    0,                // FreqHopOn [0: OFF, 1: ON]
    4,                // HopPeriod Hops every frequency hopping period symbols
    1000,          // TxPacketTimeout___________100
    1000,          // RxPacketTimeout___________100
    128,            // PayloadLength (used for implicit header mode)

};

二、一个数据包格式:


没有设置是,默认值为8



三、主要参数说明:频率,带宽、扩频因子。只有三者相同,才能互相通信。


LoRa数据包时间 = 前导码时间 + 数据包传输时间

1. 符号速率Tsym



2.前导码时间


3.数据包传输时间


有效负载符号数:payloadSymbNb


max()取最大值函数

ceil()取整数函数

4.传输时间或数据包时间等于前导码时间加上有效负载时间。计算公式如下:


以代码参数为例 可以计算:


四、升特LoRa芯片速率计算工具