LoRa传输时间计算软件使用说明

LoRa传输时间计算软件使用说明

软件介绍

  此软件主要用于计算LoRa数据包的空中时间,也可以简单认为是计算发一个包所要的时间。

  影响数据包空中时长的因素有以下几点:
  1、SF(扩频因子),在其他参数不变的情况下,SF数值越大,数据包空中时间越长;
  2、数据带宽,在其他参数不变的情况下,带宽越大,数据包空中时间短;
  3、编码率,在其他参数不变的情况下,编码率越大,数据包空中时间短;
  4、低速率优化位(Low DataRate Optimize)开启会影响增大数据包空中时间(下面我会对Low DataRate Optimize进行单独讲解,因为这个哥们在不注意的时候会坑人);
  5、前导码长度,在其他参数不变的情况下,前导码长度越长,数据包空中时间长;
  6、负载长度,在其他参数不变的情况下,负载长度越长,数据包空中时间长;
  7、数据头和CRC开启也会影响数据包空中时间;

主界面

在这里插入图片描述
主要关注在调整左边参数过后,右边Time on Air的变化,这个数值代表了数据包的空中时间。在这里插入图片描述
常规设置:
  SF:7-12,点对点通信可以用5和6,SX127x不支持5。
  带宽:LoRaWAN协议要求大部分频率范围都是为125k,少部分可以使用500k,私有协议定制可以直接考虑用500k。
  编码率:LoRaWAN协议要求为4/5,可以根据自己的需要来设,建议使用默认的4/5。
  低速率优化位:关闭(符号持续时间大于16ms时开启,下面有讲解)。
  前导码长度:8
  负载长度:LoRaWAN标准规定SF7-SF8最大为222,SF9为115,SF10-SF12最大为51。
  数据头:开启。
  CRC:开启

参考值:

SF带宽编码率低速率优化前导码长度负载长度数据头CRC空中时长
7125k4/58222348.416ms
8125k4/58222614.912ms
9125k4/58115615.424ms
10125k4/5851616.448ms
11125k4/58511150.976ms
12125k4/58512138.112ms

Low DataRate Optimize

字面意思是:低速率优化。
  我们先来找找看这个哥们到底是干什么用的,在SX1276/77/78/79的数据手册里面可以找到对他的描述:
在这里插入图片描述
  中文意思为:考虑到在高扩频因子下,包的持续时间可能很长,该选项可以提高包在传输和接收期间对传输频率变化的鲁棒性,低速率优化位增加了LoRa链接在低有效数据率的鲁棒性。当符号持续时间超过16ms时,低数率优化位必须使能。 注意:发送和接收两端的低速率优化位必须设置相同 。

开始解释:
  1、什么是符号位持续时间超过16ms?
  红色方框中的内容就是符号位的持续时间,一旦大于16ms ,低速率优化位就必须打开。
在这里插入图片描述
  2、为什么会有这个功能?
  LoRa的调制是线性的,如果波形持续时间太长,频率就会因晶体频率飘逸变大而变大,频率漂移变大后,接收端无法正常的接收此包。所以在硬件的设计中我讲到,在一些环境中会使用到32M的TCXO,就是这个问题。使用TCXO的终端可以不考虑这个功能。
  
  

C代码实现空中时间计算


static uint16_t  time_tmp[6]={128,256,512,1024,2048,4096};//计算发送时间时用

uint32_t get_send_time(uint8_t sf, uint16_t size)
{
    uint32_t time = 0;
    float t_preamble = 12.25 * ((time_tmp[sf-7]/125));//前导码发送时间
    float t_payload = (8 + MAX(ceil((float)((8*size)-4*sf+44)/(4*sf))*5,0))*((float)(time_tmp[sf-7]/125));//负载发送时间

    time = (uint32_t)(t_preamble + t_payload);

    return time;
}

此代码为我自用代码,以供参考。
  
  
  
  

个人联系方式:
   个人微信:一五零零八四六四六零三
   个人QQ:214330271
   群QQ:463280366(资料都在里面)

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值