ExpressLRS开源之RC链路性能测试

ExpressLRS开源之RC链路性能测试

  • [1. 源由](#1. 源由)
  • [2. 分析](#2. 分析)
  • [3. 测试方案](#3. 测试方案)
  • [4. 测试设计](#4. 测试设计)
    • [4.1 校准测试](#4.1 校准测试)
    • [4.2 实验室测试](#4.2 实验室测试)
    • [4.3 拉距测试](#4.3 拉距测试)
    • [4.4 遮挡测试](#4.4 遮挡测试)
  • [5. 总结](#5. 总结)
  • [6. 参考资料](#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

相关推荐
修己xj3 小时前
Anki:让记忆更高效、更智能的开源力量
开源
冬奇Lab8 小时前
一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
开源·音视频开发
一个处女座的程序猿10 小时前
AI之Agent之VibeCoding:《Vibe Coding Kills Open Source》翻译与解读
人工智能·开源·vibecoding·氛围编程
一只大侠的侠11 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
IvorySQL12 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
一只大侠的侠12 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠12 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠12 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
晚霞的不甘13 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
晚霞的不甘14 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频