ExpressLRS开源之RC链路性能测试

ExpressLRS开源之RC链路性能测试

  • 1. 源由
  • 2. 分析
  • 3. 测试方案
  • 4. 测试设计
    • 4.1 校准测试
    • 4.2 实验室测试
    • 4.3 拉距测试
    • 4.4 遮挡测试
  • 5. 总结
  • 6. 参考资料

1. 源由

基于ExpressLRS开源基本调试验证方法,对RC链路性能进行简单的性能测试。

修改设计总能够满足合理的需求,往往我们需要再不变更设计的基础上,进行相关验证。此时也是考研设计鲁棒性的一个维度。

开源代码有的时候往往比所谓专业的企业团队给出更好的设计就在于此。这里将借助开源代码的基本调试验证方法进行简单的性能测试。

注:当然更为专业的测试可能就需要涉及到代码的改动。不过作为开源代码,已经非常不错,值得国内企业的研发团队学习。

2. 分析

鉴于期望对RC链路性能测试,首先需要明确一些基础的概念和定义。

透过ExpressLRS开源之接收机固件编译烧录步骤中的基本调试验证方法

ID,Antenna,RSSI,LQ,SNR,PWR,FHSS,TimingOffset
IRQ_CNT,RSSI_AVE,SNR_AVE,SNV_MAX,TELEM_CNT,FAIL_CNT

可以获取以上一手测试数据。通过数据,我们对于RC链路性能做出如下简单解释:

  1. 固定发射功率前提下
  2. 接收信号功率的大小作为RC链路性能表征
  3. 接收型号信噪比作为RC链路性能表征
  4. 接收LQ指标作为RC链路性能表征
  5. 接收FAIL_CNT作为RC链路性能表征

为此,后续对上述表征量进行测量,以便验证RC链路性能。

3. 测试方案

基于测试分析,不难得出如下关系数据进行相关性能解释:

  1. 发射功率是否恒定

PWR v.s. dBm [RF module]

  1. 接收信号强度校准

RSSI/RSSI_AVE v.s. dBm [test fixture]

  1. 初步RF性能指标分析

LQ v.s. dBm [RF module]
SNR v.s. dBm [RF module]

  1. 高阶稳定性指标分析

SNR_AVE/SNR_MAX v.s. dBm [RF module]
FAIL_CNT v.s. dBm [RF module]

4. 测试设计

为了得到上述方案的数据图表,以及实际使用环境对性能优劣的对比,需要考虑以下几个场景。

测试设备如下:

  1. 飞控
  2. 眼镜/图传
  3. RC遥控器
  4. Tx发射机
  5. 动态信号衰减器(常规90dBm衰减器)
  6. 固定信号衰减器
  7. 频谱仪(信号功率计)
  8. USB串口板
  9. 测试电脑
  10. 配套线缆(飞控USB线/信号转接线等)
  • ELRS接收机发射功率最小值为50mW,相当于10xlg(50mW/1mW) = 17dBm。
  • SX1280接收灵敏度-132dBm;SX1276接收灵敏度-148dBm。
  • 假设:一个接口3dB损耗,IPX1到PA电路算3dB损耗。

发射到接收信号范围:17dBm - (- 148dBm) = 165dBm

衰减器可配置范围:(90dB + 3dB) + (30dB + 3dB) x 2 + 10dB + 3dB + 3dB = 175dB

注:以上是大概的估算,实际根据实验测试情况,动态调整衰减线路上的衰减器配置。

4.1 校准测试

目的:

  • 接收信号强度校准

RSSI/RSSI_AVE v.s. dBm [test fixture]

  • 发射功率是否恒定

PWR v.s. dBm [RF module]

注意:

  1. 上述数据图表需要通过终端分别接信号功率计和Rx接收机来测试获取数据。
  2. 为保证数据可比性,请务必测试时,馈线,接头等信号链路上的测试设备顺序一致。
  3. 记录并标记本次测试信号链路信号衰减器,馈线,接头的顺序,以便后续对比测试。

在这里插入图片描述

在这里插入图片描述

4.2 实验室测试

目的:

  • 初步RF性能指标分析

LQ v.s. dBm [RF module]
SNR v.s. dBm [RF module]

  • 高阶稳定性指标分析

SNR_AVE/SNR_MAX v.s. dBm [RF module]
FAIL_CNT v.s. dBm [RF module]

注意:保持与校准时一致的信号衰减链路顺序,以及链路上的硬件编号。

在这里插入图片描述

4.3 拉距测试

鉴于上述测试是在链路无干扰,隔离情况下进行的测试,理论上应该性能会更好。而实际情况往往比较复杂,受到发射/接收天线性能,各种外界电磁波干扰,大功率设备启动,大面积遮挡屏蔽,WiFi信号,ISM设备的影响等等。

可以根据实际情况进行可视拉距测试(常用标准T型天线):

  • 使用一个多旋翼(具备稳定的PosHold模式) + ELRS接收机 + 串口日志记录器
  • 进行50mW/17dBm拉距测试
  • 在其他所有条件不变的前提下,更高的发射功率肯定是越远。鉴于实验条件,不一定能做此类长距离测试。

目的:

  • 拉距性能指标分析

dBm v.s. meters
LQ v.s. meters
SNR v.s. meters
SNR_AVE/SNR_MAX v.s. meters
FAIL_CNT v.s. meters

  • 初步RF性能指标分析

LQ v.s. dBm [RF module]
SNR v.s. dBm [RF module]

  • 高阶稳定性指标分析

SNR_AVE/SNR_MAX v.s. dBm [RF module]
FAIL_CNT v.s. dBm [RF module]
在这里插入图片描述注:理论Estimating Wireless Range估算,LoRaWAN-Range-calculator。
在这里插入图片描述

4.4 遮挡测试

实际穿越机经常在障碍物之间穿行,而遮挡对于高频信号的衰减是非常显著的。因此,可以采用类似拉距测试的方法进行测试。

目的:

  • 拉距性能指标分析

dBm v.s. meters(postion)
LQ v.s. meters(postion)
SNR v.s. meters(postion)
SNR_AVE/SNR_MAX v.s. meters(postion)
FAIL_CNT v.s. meters(postion)

  • 初步RF性能指标分析

LQ v.s. dBm [RF module]
SNR v.s. dBm [RF module]

  • 高阶稳定性指标分析

SNR_AVE/SNR_MAX v.s. dBm [RF module]
FAIL_CNT v.s. dBm [RF module]

注意:该测试需要保留飞行轨迹,以便进行距离的位置标记。

5. 总结

基于上述测试场景,日志将会提供大量的RC链路相关的RF性能数据。

当上述数据进行横向对比时,可以分析出硬件模块设计方面的优劣:

比如:

  • RF性能
  • 抗干扰性能
  • 天线性能
  • 天线部署位置合理性
  • 等等

通常来说:

  • 天线增益提高6dBi,距离将增加一倍
  • 发射功率增加4倍,距离也将增加一倍

注:目前是一个初步的测试计划或者方案,后续如果能够拿到更多的数据,我们将结合数据给大家展示下相关内容,以便更加直观的了解。

6. 参考资料

【1】ExpressLRS开源之接收机固件编译烧录步骤
【2】Estimating Wireless Range
【3】LoRaWAN-Range-calculator

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/97337.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

达梦数据库管理用户和创建用户介绍

概述 本文主要对达梦数据库管理用户和创建用户进行介绍和总结。 1.管理用户介绍 1.1 达梦安全机制 任何数据库设计和使用都需要考虑安全机制,达梦数据库采用“三权分立”或“四权分立”的安全机制,将系统中所有的权限按照类型进行划分,为每…

浅谈 Pytest+HttpRunner 如何展开接口测试!

软件测试有多种多样的方法和技术,可以从不同角度对它们进行分类。其中,根据软件生命周期,针对不同的测试对象与目标,可将测试过程分为 4 个阶段:单元测试、集成测试、系统测试和验收测试。本文着重介绍了如何借用 pyte…

基于机器学习的fNIRS信号质量控制方法

摘要 尽管功能性近红外光谱(fNIRS)在神经系统研究中的应用越来越广泛,但fNIRS信号处理仍未标准化,并且受到经验和手动操作的高度影响。在任何信号处理过程的开始阶段,信号质量控制(SQC)对于防止错误和不可靠结果至关重要。在fNIRS分析中&…

Endnote中查看一个文献的分组的具体方法——以Endnote X8为例

Endnote中查看一个文献的分组的具体方法——以Endnote X8为例 一、问题 当Endnote中使用分类方法对文献进行分组管理后,有时需要重新调整该文献的分组,则需要找到这个文献在哪个分组中。本文阐述怎样寻找一个文献的分组的位置信息。 二、解决方法 1.选…

基于单片机的智能数字电子秤proteus仿真设计

一、系统方案 1、当电子称开机时,单片机会进入一系列初始化,进入1602显示模式设定,如开关显示、光标有无设置、光标闪烁设置,定时器初始化,进入定时器模式,如初始值赋值。之后液晶会显示Welcome To Use Ele…

Rust之自动化测试(一):如何编写测试

开发环境 Windows 10Rust 1.71.1 VS Code 1.81.1 项目工程 这里继续沿用上次工程rust-demo 编写自动化测试 Edsger W. Dijkstra在他1972年的文章《谦逊的程序员》中说,“程序测试可以是一种非常有效的方法来显示错误的存在,但它对于显示它们的不存在…

【业务功能篇90】微服务-springcloud-检索服务-ElasticSearch实战运用-DSL语句

商城检索服务 1.检索页面的搭建 商品检索页面我们放在search服务中处理&#xff0c;首页我们需要在mall-search服务中支持Thymeleaf。添加对应的依赖 <!-- 添加Thymeleaf的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifa…

Solidity 小白教程:4. 函数输出 return

Solidity 小白教程&#xff1a;4. 函数输出 return 这一讲&#xff0c;我们将介绍Solidity函数输出&#xff0c;包括&#xff1a;返回多种变量&#xff0c;命名式返回&#xff0c;以及利用解构式赋值读取全部和部分返回值。 返回值 return 和 returns Solidity有两个关键字与…

java八股文面试[JVM]——类初始化过程

回顾类加载过程&#xff1a; 知识来源&#xff1a; 【2023年面试】Class初始化过程是什么_哔哩哔哩_bilibili

物联网智慧种植农业大棚系统

一、项目背景 智慧农业是是将物联网技术和农业生产箱管理的新型农业&#xff0c;依托部署在农业生产现场的各种传感节点&#xff0c;以物联网网关为通道形成数据传输网络&#xff0c;可以实现控制柜、环境监测传感器、气象监测机器等设备的远程监控&#xff0c;达到及时高校的…

LRU代码实现

LRU&#xff1a;最久未使用置换原则 均以3个内存块举例。 FIFO&#xff1a;先进先出 LRU算法代码实现&#xff1a; /* 双链表&#xff1a;最底端是最久未使用的 哈希表&#xff1a;通过缓存数据的键映射到其在双向链表中位置对hash表做put和get&#xff1a;给LRU的cache用map…

高通开发系列 - 5G网络之QTI守护进程服务介绍

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 代码位置和依赖关系功能介绍代码逻辑讲解外设节点关注的目录socket服务端初始化DPM客户端监听守护关键的数据结构体…

day 30 动态GDP柱状图绘制

列表.sort(key选择排序依据的函数&#xff0c;reverseTrue|False) 参数key:要求传入一个函数&#xff0c;表示将列表的每一个元素传入函数当中&#xff0c;返回排序的依据&#xff0c; 参数reverse,是否反转排序结果&#xff0c;True降序&#xff0c;False升序 my_list [[&…

C语言每日一练------(Day3)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今天练习题的关键字&#xff1a; 尼科彻斯定理 等差数列 &#x1f493;博主csdn个人主页&#xff1a…

速腾RS16的ROS2驱动

文章目录 本机软硬件环境ROS2驱动下载ROS2编译设置固定IP编辑配置文件测试参考 本机软硬件环境 ROS2-foxyubuntu20.04速腾RS16 ROS2驱动下载 mkdir laser_ws && cd laser_ws/ mkdir src && cd src/ git clone https://github.com/RoboSense-LiDAR/rslidar_m…

【OpenCV实战】3.OpenCV颜色空间实战

OpenCV颜色空间实战 〇、Coding实战内容一、imread1.1 函数介绍1.2 Flags1.3 Code 二. 色彩空间2.1 获取单色空间2.2. HSV、YUV、RGB2.3. 不同颜色空间应用场景 〇、Coding实战内容 OpenCV imread()方法不同的flags差异性获取单色通道【R通道、G通道、B通道】HSV、YUV、RGB 一…

el-table表尾添加合计行,自动合计,且特殊列自定义计算展示

效果如图 1.element-ui的table表格有合计功能&#xff0c;但是功能却不完善&#xff0c;会有不显示和计算出现错误的问题&#xff0c;项目中有遇到&#xff0c;所以记录下 show-summary&#xff1a;自动合计 getSummaries&#xff08;&#xff09;&#xff1a;对合计行进行特…

2023阿里云学生服务器免费领取入口_学生认证流程

2023阿里云学生服务器价格可以免费申请&#xff0c;阿腾云分享阿里云学生服务器优惠活动入口&#xff0c;学生服务器完成学生认证领取流程&#xff0c;阿里云学生机配置为云服务器ECS、2核2G、1M带宽、40G系统盘&#xff0c;完成学生身份认证即可免费领取1台ECS&#xff0c;在云…

1.8.7 练习 冒泡排序 Bubble Sort(提取函数)

C自学精简教程 目录(必读) 1 前驱知识点 for循环语句 、 if语句、函数 、动态内存 2 排序 是将元素按照从小到大的顺序存放的方法。 一开始元素可能并不是按照从小到大的顺序存放的。 这时候我们需要找到需要调整的元素对&#xff0c;并交换这两个元素的值&#xff0c;不…

java遇到java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver该如何解决

普通的Java项目&#xff0c;利用servlet实现登录页面跳转出现下列问题。该如何解决&#xff1f;&#xff1f;&#xff1f; 首先你要先加载驱动&#xff0c;idea通过项目结构添加的依赖包是无法正常加载驱动的。我们要在 WEB-INF目录下建立lib目录在lib目录下添加MySQL驱动。