ESP32C3 BLE 发射功率调整及 RSSI 相关知识整理
前言:本文章主要记录 ESP32C3 如何设置发射功率,以及对BLE 设备发射功率功率级别、RSSI 以及接收机灵敏度之间的关系做简单整理
1、BLE 发射功率级别
在当前最新的蓝牙核心规范v5.3 中规定,BLE 发射设备的最大发射功率必须在 0.01 mW (-20 dBm) 和 100 mW (+20 dBm) 之间,并且根据 BLE 设备支持的最大输出功率 Pmax 分为以下四个功率级别
功率级别(Power Class) | Requirements |
---|---|
功率级1 | 100 mW (+20 dBm) ≥ Pmax ˃ 10 mW (+10 dBm) |
功率级1.5 | 10 mW (+10 dBm) ≥ Pmax ˃ 2.5 mW (+4 dBm) |
功率级2 | 2.5 mW (+4 dBm) ≥ Pmax ˃ 1 mW (0 dBm) |
功率级3 | 1 mW (0 dBm) ≥ Pmax ≥ 0.01 mW (-20 dBm) |
2、RSSI 与灵敏度
RSSI 全称是Received Signal Strength Indication, 表示为接收的信号强度指示, 单位是 dBm, 是一个考征功率绝对值的值,计算公式为:10lgP(功率值/1mW),例如发射功率 P为1mW,折算为dBm后为 0dBm, 如果发射功率 P 为 20W, 按dBm单位进行折算后的值应为:10lg(20W/1mW)=10lg(20000)=10lg2+10lg10+10lg1000=43dBm
蓝牙扫描设备 (如手机,或者成为蓝牙接收机) 扫描或者显示的 RSSI 常为负值,原因有两点:一是蓝牙发射设备的发射功率小,有的是功率级3 的蓝牙设备,发射功率电平最高才为 0dbm; 二是路径损耗,主要指从发射机到接收机天线的能量消耗,和路径长度、周围环境、信号干扰都有很大关联,这个也是信号强度衰减的主要因素
对于接收机灵敏度,在蓝牙核心规范v5.3 中对不同 PHY 有如下规定
PHY | Sensitivity (dBm) |
---|---|
LE Uncoded PHYs | ≤ -70 |
LE Coded PHY with S=2 coding | ≤ -75 |
LE Coded PHY with S=8 coding | ≤ -82 |
接收机灵敏度越小,收包的距离就越长,这可以作为评测蓝牙性能的一项指标,一般可以在蓝牙芯片的 datasheet 中找到,如 ESP32C3 LE Uncoded 1M PHY 灵敏度 @30.8% PER 典型值是 -97dbm, LE Uncoded 2M PHY 灵敏度 @30.8% PER 典型值是 -93dbm, LE Coded PHY with S=2 coding 灵敏度 @30.8% PER 典型值是 -100dbm, LE Coded PHY with S=8 coding 灵敏度 @30.8% PER 典型值是 -105dbm, 这也可以大致看出 LE Coded PHY 的传输距离要长。
灵敏度 @30.8% PER 的含义
这个和蓝牙测试规范有关,参考BT4.0-RF-PHY.TS.5.0.1规范协议以下一段解释
大致意思是 37字节的有效负载时 368bit ,然后每一个有效负载位都出错率小于0.001 的可能性是 0.692,反过来误码率就是 0.308
路径损耗与距离的非官方计算公式:path loss = 40 + 25log(d)
, path loss 标识路径损耗,d标识发射机和接收机的距离。数据统计如下:
路径损耗(path loss) | 距离(d) |
---|---|
50dbm | 2.5m |
60dbm | 6.3m |
70dbm | 16m |
80dbm | 40m |
90dbm | 100m |
100dbm | 250m |
110dbm | 630m |
以上可能是空旷环境下的数据,每个蓝牙设备的硬件结构以及所处传输环境差异较大,当然也并没有统一的计算公式。
3、ESP32C3 上如何设置发射功率
在ESP32C3