ExpressLRS硬件实测性能分析

devtools/2024/9/24 2:21:39/

ExpressLRS硬件实测性能分析

  • 1. 源由
  • 2. 远航测试
  • 3. 实验室测试
    • 3.1 芯片RSSI与实测功率差异
    • 3.2 SNR信噪比稳定
    • 3.3 140db衰减器衰减,40个频点信号稳定
  • 4. 外场测试
    • 4.1 无屏蔽样品
    • 4.2 有屏蔽样品
    • 4.3 有屏蔽vs无屏蔽样品
  • 5. 估算
  • 6. 总结
  • 7. 补充说明 -- 50mW视频

1. 源由

ELRS方面做了不少工作,做一个收尾的整理和总结。

  1. 软件工程方面要点
  • ExpressLRS开源之接收机固件编译烧录步骤
  • ExpressLRS开源代码之框架结构
  • ExpressLRS开源代码之工程结构
  • ExpressLRS开源代码之接收机代码框架结构
  • ExpressLRS开源代码之发射机代码框架结构
  1. 硬件接口定义
  • ExpressLRS开源代码之硬件管脚定义
  1. 控制链路性能方面
  • ExpressLRS开源之基本调试数据含义
  • ExpressLRS开源之RC链路性能测试
  • ExpressLRS开源代码之功能&性能测试

在基础上,做了一些实测和对比分析,期望通过这个来解释远航时的注意事项。

2. 远航测试

在这里插入图片描述

通过OSD现实,可以看出当芯片上报RSSI为-92 dBm时,发生信号丢失直线距离2.46km。

BetaFlight Mark4 + 十里琅珰 + ELRS3.0 + 500mW

而实际情况并非单一的RSSI信号强度不够导致的信号丢失。

3. 实验室测试

同类型的模块进行了实验室测试,参考:ExpressLRS开源之RC链路性能测试,发现几个非常有意思的现象。

不管有没有用,先摆几张关于信号判别用的一些数据和图谱(高人帮忙点评和指点!!!):

  • Radio link can be considered has GOOD when RSSI > -115dB and SNR > -7dB
  • Radio link is BAD (range limit) when RSSI <= -120 dB or SNR <= -13dB
  • Between this 2 cases,

在这里插入图片描述

3.1 芯片RSSI与实测功率差异

  1. 芯片RSSI值,在实际功率-80dBm之前还能相对比较好的有一致性
  2. 当低于实际功率-80dBm时,芯片RSSI值趋于一个平直状态
  3. 衰减到实际-148dBm时,芯片RSSI值为-81dBm,有较大的差距

在这里插入图片描述
在这里插入图片描述
结合前面实测-92dBm是信号丢失,这张表格如果用来做芯片RSSI值的表征,还是非常靠谱的。

3.2 SNR信噪比稳定

  1. 实验室环境(2.4G/5.8G,衰减器测试),SNR稳定在15db左右
  2. 信号强度始终高于噪音强度,且稳定

注:图中数据经过分析,采用对数方式展示。

在这里插入图片描述

3.3 140db衰减器衰减,40个频点信号稳定

  1. RSSI标准差与SNR标准差基本成正态分布
  2. SNR信噪比平均值2.5稳定(实验室环境,信号就是好)
  3. 40个频点,抗干扰能力强
  4. 【本次】传统ELRS单发单收天线
  5. 【后续】Diversity ELRS将会是两根天线(选择信号优的)
  6. 【后续】True Diversity ELR将会是两根天线(同时双收)
  7. 【后续】Gemini ELRS将会是双频(两个频率,分别天线双发)

在这里插入图片描述
在这里插入图片描述

4. 外场测试

模块采用如下方式,铝箔+地线隔离。
在这里插入图片描述
测试:1米-200米-400米-600米-800米 //400米测试点后,有雨影响

注:起点为接收机未知,因此全程测试过程接收机未发生移动。T型天线是正对保持相对姿势。

在这里插入图片描述

4.1 无屏蔽样品

  1. 信噪比随距离增加显著降低
  2. 200米以后,出现噪音强度超过信号强度
  3. LORA信号强度低于噪音依然可以解析信号,800米处-10db左右

在这里插入图片描述

4.2 有屏蔽样品

  1. 信噪比随距离增加显著降低
  2. 200米以后,出现噪音强度超过信号强度
  3. LORA信号强度低于噪音依然可以解析信号,800米处低于-15db左右
    在这里插入图片描述

4.3 有屏蔽vs无屏蔽样品

  1. 信噪比随距离增加显著降低趋势一致
  2. 200米以后,出现噪音强度超过信号强度
  3. 有屏蔽信号比无屏蔽信号的信噪比更差(接地未起到好的效果,反而更差)
  4. 信号强度RSSI远端基本一致,由于底噪的增加,降低了信噪比,导致信号的恶化
  5. 怀疑600、800米数据受下雨干扰导致信号接收强度反而比400米好

注:因此测试过程一定要做好测试环境、测试步骤、测试记录等准备工作,若不做好,很容易导致数据的不可靠,甚至浪费测试时间。

在这里插入图片描述

5. 估算

假设:

  • 3dbi 天线(发射端/接收端)
  • 1.5米高度(发射端/接收端)
  • 915MHz频率
  • 10mW/9.73dbm发射功率
  • 接受端灵敏度-148dBm
  • 底噪:5/10/15/20dB

理论上,应该在2915/2186/1639/1229米时达到极值。

注:实际上很多朋友觉得这些测试尤其是实验室数据有什么用呢。而且实际10mW能飞很远,远不止这里估算的距离。其实具备一定实践经验所提及的这些情况也都正确。唯一也请注意高度的问题,通常来说飞得远高度越高,但是测试的话就要注意着点,要确保高度,详见:Antenna Height and Communications Effectiveness。每个人过滤信息的能力就像筛子一样,有些人能抓住重点,有些能抓住很多细节,而有些可能只有零星的几点。为什么会这样,其实也体现了对该技术问题内部深层逻辑的理解和理论知识背景。

在这里插入图片描述
因此,通常在有点干扰的环境,10mW能飞1.5 ~ 2km应该就非常不错了。

当然,如果您有幸在广袤的草原等一望无际,没有干扰的地方飞,那估计能飞到极限!!!记得给我视频链接哦~~~

在这里插入图片描述

6. 总结

功率与距离的平方成反比,因此前面500mW(怀疑是50mW,Dynamic可能没有起效果)飞行2.46km:

  • 假设1:dynamic是起效果了,按照500mW计算可得:

10 m W 500 m W = 1 R 2 1 2.46 k m \frac {10mW} {500mW} = \frac{\frac 1 {R^2}} { \frac 1 {2.46km}} 500mW10mW=2.46km1R21

R = 347 m R = 347 m R=347m

  • 假设2:dynamic未起效果了,按照50mW计算可得:

10 m W 50 m W = 1 R 2 1 2.46 k m \frac {10mW} {50mW} = \frac{\frac 1 {R^2}} { \frac 1 {2.46km}} 50mW10mW=2.46km1R21

R = 1100 m R = 1100 m R=1100m

从实际情况看,该模块在当时环境,从计算角度看,个人更偏向假设2的结论(后续补充说明 - 50mW视频)。

注:第二次50mW视频还只飞了2km,因此,本地(发射端附近有基站)存在一些干扰信号或者其他未知原因。因为915MHz处于ISM以及通信带宽范围。

7. 补充说明 – 50mW视频

在这里插入图片描述

BetaFlight Mark4 + 十里琅珰 + 50mW测距


http://www.ppmy.cn/devtools/2638.html

相关文章

进程控制相关

进程终止 进程终止时&#xff0c;操作系统要释放对应进程申请的相关内核数据结构和对应的代码和数据。其不本质就是释放进程申请的系统资源。 进程终止的常见方式&#xff1a; 1、代码运行完毕且结果正确。 2、代码运行完毕但结果不正确。 3、代码没运行完&#xff0c;进程…

服务限流--一起学习吧之架构

一、主要算法&#xff1a; 计数器算法&#xff1a;该算法定义了一个单位时间&#xff08;如1秒&#xff09;的阈值&#xff0c;每收到一次请求&#xff0c;计数就增加一次。如果请求总数超过当前单位时间内的阈值&#xff0c;就触发限流处理。这种算法简单直观&#xff0c;但存…

LinkedList部分底层源码分析

JDK版本为1.8.0_271&#xff0c;以插入和删除元素为例&#xff0c;LinkedList部分源码如下&#xff1a; //属性&#xff0c;底层结构为双向链表 transient Node<E> first; //记录第一个结点的位置 transient Node<E> last; //记录最后一个结点的尾元素 transient …

maven 项目示例

maven 项目 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><properti…

Apache Storm的详细配置

Apache Storm的详细配置主要涉及以下几个方面: Zookeeper配置:Apache Storm使用Zookeeper来进行协调和配置管理。你需要配置Zookeeper集群的连接信息,包括Zookeeper服务器的主机和端口。 Storm Nimbus配置:Nimbus是Storm的主节点,负责分配任务给各个工作节点。你需要配置N…

Rust常见陷阱 | 失效的可变性

Rust 作为一门系统编程语言,最大的卖点之一在于其内存安全的保证。这种保证很大程度上得益于其变量绑定(Binding)规则中的一项核心特性:不变性(Immutability)。然而,不当的使用不变性可能会导致一些编程陷阱。在本文中,我将详细探讨 Rust 编程中的不变性陷阱,并以丰富…

K8S哲学 - 常见的资源类型

资源类型 namespace kubectl apply 和 kubectl create kubectl apply是声明式的 和 kubectl create是命令式的对吗 deployment 和 job的区别 k8s 的 lable 的意义

js如何設置滾動到元素位置

在JavaScript中&#xff0c;你可以使用window.scrollTo()方法或元素的scrollIntoView()方法来设置滚动位置。这些方法允许你将页面滚动到特定的坐标或元素。 使用 window.scrollTo() window.scrollTo() 方法接受两个参数&#xff1a;x坐标和y坐标&#xff0c;分别代表水平滚动…