ExpressLRS开源之RC链路性能测试

news/2024/7/10 19:59:24 标签: 开源, ELRS

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性能
  • 抗干扰性能
  • 天线性能
  • 天线部署位置合理性
  • 等等

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

6. 参考资料

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


http://www.niftyadmin.cn/n/4979196.html

相关文章

系统架构设计师考试论文:论软件架构风格与应用

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一纽约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反…

最新ChatGPT程序源码+AI系统+详细图文搭建教程/支持GPT4/AI绘画/H5端/完整Prompt知识库

一、AI系统 如何搭建部署人工智能源码、AI创作系统、ChatGPT系统呢?小编这里写一个详细图文教程吧!SparkAi使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统! 1.1 程序核心功能 程序已支持ChatGPT3.5/GPT-4提问、AI绘画、Mi…

如何解决索引分裂问题?

索引分裂 索引块快写满时就会发生索引分裂,索引分裂分为两种情况,55和91: 索引分裂和enq: TX - index contension等待事件的区别 无论是55还是91,都是数据增多后索引的正常行为,索引分裂是业务数据量增大导致索引增大…

fnm(Node.js 版本管理器)

fnm是什么? fnm是一款快速简单跨平台的 Node.js 版本管理器,使用 Rust 构建。 fnm怎么使用? 查看node 已安装列表 fnm list node 版本切换 fnm use 版本号 fnm use 16.0.0

6、css学习6(表格)

1、指定CSS表格边框,使用border属性。 2、表格双边框是因为th/td有各自独立的边框。 3、boder-collapse设置表格边框是否被折叠成一个单一的边框。 4、width和height属性定义表格的宽度和高度。 5、text-align属性设置水平对齐方式。 6、vertic-align属性设置垂…

C语言日常刷题5

文章目录 题目答案与解析1234567、 题目 1、以下叙述中正确的是( ) A: 只能在循环体内和switch语句体内使用break语句 B: 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行 C: continue语…

【业务功能篇86】微服务-springcloud-系统性能压力测试-jmeter-性能优化-JVM参数调优

系统性能压力测试 一、压力测试 压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内&…

spring boot 项目中搭建 ElasticSearch 中间件 一 spring data 操作 es

spring data 操作 es 1. 准备2. 环境2.1. elasticsearch准备2.2. 测试环境 3. 操作索引3.1 创建索引3.2 查看索引3.3 删除索引 4. java操作文档4.1 添加文档4.2 查询文档4.3 查询全部文档4.4 更新文档4.5 删除文档4.6 批量插入文档4.7 批量删除文档4.8 条件查询文档4.9 组合查询…