LoRa SX1276 参数调试测试
文章目录
- 前言
- 一、测试数据
- 二、LORA波形参数设置
- 三、相关参数说明
- 1. LORA相关设置
- 2. 接收模式的使用场景
- 四、其他参数初始化
前言
SX1276 LORA通信,按照默认的设置可以正常使用。存在问题是,但设置扩频因子或带宽组合成较低的数据传输速率时,两个节点之间无法通信。
一、测试数据
室内近距离通信成功率测试结果表:
SF | BW | 成功率 |
---|---|---|
7 | 125kHz | 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% |
8 | 125kHz | 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% |
9 | 125kHz | 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% |
10 | 125kHz | 100% 90% 98% 88% 94% 98% 94% 92% 96% 96% 92% 92% |
11 | 125kHz | 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% |
12 | 125kHz | 发射机未正常发送数据 |
相关测试数据参考https://blog.csdn.net/zhouxiangjun11211/article/details/110110297
- 其他条件不变,当SF=10时,近距离通信有丢包现象;
- 其他条件不变,当SF=12时,发射机未正常发送数据,设置SF=11,BW=6时,发射机同样未正常发送数据;
二、LORA波形参数设置
- 波形参数,代码接口
tLoRaSettings LoRaSettings =
{0, // Setting change434 , // RFFrequency20, // Power7, // 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]7, // SpreadingFactor [6: 64, 7: 128, 8: 256, 9: 512, 10: 1024, 11: 2048, 12: 4096 chips]2, // 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 symbols700, // TxPacketTimeout100, // RxPacketTimeout :8=100ms 7:80ms128, // PayloadLength (used for implicit header mode)
};
- 对应波形参数设置表格:
参数 | 值 | 描述 |
---|---|---|
频率 | 434 | 频率设置434MHz |
功率 | 20 | SX1276输出功率20dBm |
信号带宽 | 7 | 对应信号带宽125kHz |
扩频因子 | 7 | 扩频因子SF=7 |
编码率 | 2 | 编码率4/6 |
校验位 | ture | 使能校验位 |
隐式header | false | 设置为显示header |
单一接收 | 1 | 单一接收模式 |
跳频使能 | 0 | 关闭跳频功能 |
发射延时 | ||
接收延时 |
- 接收延时设置太小会导致无法正常接收数据;
- 注意接收延时的设置与符号传输时间的对应关系,符号传输时间与接收延时成正比;
- SF=7,接收延时设置:1600;
三、相关参数说明
1. LORA相关设置
设置 | 描述 |
---|---|
睡眠模式 | 低功耗模式,该模式下只能通过SPI和配置寄存器访问,LoRa FIFO不能访问。这是唯一允许FSK/OOK模式与LoRa模式切换的操作模式 |
待机模式 | 晶体振荡器和LoRa基带模式被开启,而射频部分和PLL则被关闭 |
RX连续模式 | SX1276将打开所有所需模块,处理所有接收到的数据,直到客户请求变更操作模式 |
RX单一模式 | SX1276将打开所有所需模块,在接收到有效数据包前保持此状态、随后切换回待机模式 |
CAD模式 | 在CAD模式下,设备将检测已知信道,已检测LoRa前导码信号 |
单一接收模式:调制解调器在一段时间内搜索前导码,如果在一定时间段内没有检查到前导码,则触发RxTimeout中断,并回到待机模式;
前导码检索时间的长度,通过“RegSymb Timeout”寄存器修改;
连续接收模式:调制解调器在信道内连续搜索扫描前导码,当检查到前导码后,调制解调器继续接收,直到数据包接收完,继续等待下一个前导码。
2. 接收模式的使用场景
- 单一接收模式通常应用在电池供电或对功耗要求敏感的系统中;
- 连续工作模式通常应用于对无低功耗要求的通信系统中;
四、其他参数初始化
void SX1276LoRaInit( void )
{RFLRState = RFLR_STATE_IDLE;SX1276LoRaSetDefaults( );// We first load the device register structure with the default value (read from the device)SX1276ReadBuffer( REG_LR_OPMODE, SX1276Regs + 1, 0x70 - 1 );// Set the device in Sleep Mode
// SX1276LoRaSetOpMode( RFLR_OPMODE_SLEEP );SX1276LR->RegLna = RFLR_LNA_GAIN_G1;SX1276LR->RegLna = RFLR_LNA_BOOST_LF_BOOST; SX1276WriteBuffer( REG_LR_OPMODE, SX1276Regs + 1, 0x70 - 1 );// set the RF settings SX1276LoRaSetRFFrequency( LoRaSettings.RFFrequency ); //set frequencySX1276LoRaSetSpreadingFactor( LoRaSettings.SpreadingFactor ); // SF6 only operates in implicit header mode.SX1276LoRaSetErrorCoding( LoRaSettings.ErrorCoding );SX1276LoRaSetPacketCrcOn( LoRaSettings.CrcOn );SX1276LoRaSetSignalBandwidth( LoRaSettings.SignalBw );SX1276LoRaSetImplicitHeaderOn( LoRaSettings.ImplicitHeaderOn );SX1276LoRaSetSymbTimeout( 0x3FF );SX1276LoRaSetPayloadLength( LoRaSettings.PayloadLength );SX1276LoRaSetLowDatarateOptimize( true );SX1276LoRaSetPAOutput( RFLR_PACONFIG_PASELECT_PABOOST ); //Ñ¡Ôñ PA_BOOST ¹Ü½ÅÊä³öÐźÅSX1276LoRaSetPa20dBm( false ); //×î´óÊä³ö¹¦ÂÊLoRaSettings.Power = 4;SX1276LoRaSetRFPower( LoRaSettings.Power );}// Set the device in Standby ModeSX1276LoRaSetOpMode( RFLR_OPMODE_STANDBY );
}
LoRa SX1276 参数调试测试相关推荐
- 吴恩达《优化深度神经网络》精炼笔记(3)-- 超参数调试、Batch正则化和编程框架...
AI有道 不可错过的AI技术公众号 关注 重要通知 本公众号原名"红色石头的机器学习之路"已经改名为"AI有道",请大家留意并继续关注本公众号!谢谢! 上节课我 ...
- 吴恩达深度学习笔记7-Course2-Week3【超参数调试、Batch 正则化和程序框架】
超参数调试.Batch 正则化和程序框架 一.超参数调试(hyperparameter tuning) 推荐的超参数重要性排序: 1.学习率(learning rate): α 2.隐藏神经单元(hi ...
- 深度学习笔记第二门课 改善深层神经网络 第三周 超参数调试、Batch正则化和程序框架...
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 吴恩达DeepLearningCourse2-改善深层神经网络:超参数调试、正则化以及优化
文章目录 第一周:深度学习的实用层面 训练.开发.测试集 偏差.方差 机器学习基本步骤 L2正则化 Dropout(随机失活)正则化 其它正则化方法 正则化输入 神经网络的权重初始化 梯度检验 第二周 ...
- 2.3)深度学习笔记:超参数调试、Batch正则化和程序框架
目录 1)Tuning Process 2)Using an appropriate scale to pick hyperparameters 3)Hyperparameters tuning in ...
- 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架(作业:TensorFlow教程+数字手势预测)
文章目录 1. 探索TensorFlow库 1.1 线性函数 1.2 计算 sigmoid 1.3 计算损失函数 1.4 One_Hot 编码 1.5 用0,1初始化 2. 用TensorFlow建立 ...
- 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架
文章目录 1. 调试处理 2. 为超参数选择合适的范围 3. 超参数调试的实践 4. 归一化网络的激活函数 5. 将 Batch Norm 拟合进神经网络 6. Batch Norm 为什么奏效 7. ...
- 02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法(作业:优化方法)
文章目录 1. 梯度下降 2. mini-Batch 梯度下降 3. 动量 4. Adam 5. 不同优化算法下的模型 5.1 Mini-batch梯度下降 5.2 带动量的Mini-batch梯度下 ...
- 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面(作业:初始化+正则化+梯度检验)
文章目录 作业1:初始化 1. 神经网络模型 2. 使用 0 初始化 3. 随机初始化 4. He 初始化 作业2:正则化 1. 无正则化模型 2. L2 正则化 3. DropOut 正则化 3.1 ...
最新文章
- label实现不同大小不同颜色
- python类型转换-Python的数据类型转换函数
- 【Git】Git 分支管理 ( 删除远程分支 | 查看远程分支 git branch -a | 删除远程分支 git push origin --delete feature1 )
- Apache Ranger源码编译及使用
- 大学校运会计算机专业方阵,校运动会方阵策划案
- PAT (Basic Level) Practice (中文)C++ python 语言实现 —— 题解目录
- RFC and session issue - why we should use DESTINATION NONE?
- 中断系统详解、外部中断
- sql语句分析是否走索引_MySql 的SQL执行计划查看,判断是否走索引
- Python返回数组(List)长度的方法
- 360两个html页面合并,如何用html2pdf把多个连接的PHP网页合并成一个pdf?
- editplus5中文免费版
- 谷歌搜索没有相机图标_教您如何在Google上搜索图片
- ROS里程计的学习(odometry) (二)
- 计算机dll修复工具,DLL修复工具哪个好?五款修复能力强推荐
- 我的世界java版和基岩版是什么意思_我的世界基岩版是什么意思
- 使用jQuery快速高效制作网页交互特效 第五章 上机练习四 制作广告图片轮播切换效果
- [线段树 标记永久化 单调队列] BZOJ 1171 大sz的游戏 BZOJ 2892 强袭作战
- Subversive or Subclipse
- 如何定制博客园的个人空间