【经验】如何利用EFR32MG24中的RSSI值推断发射器与接收器之间的距离
RSSI就是接收信号强度指示器,俗称信号强度。 单位是dBm,因此负值越大,则表明设备之间距离越远。所以我们可以通过RSSI 的值可⽤于推断设备之间的距离,设备指的是两个基于蓝牙通信的接收端与发射端设备。
然而RSSI的距离测量的准确性,会受到射设备的输出功率、接收设备的性能、障碍物等因素的影响。再者RSSI和距离之间的关系是非线性的,不精确的。即使固定距离上, RSSI 值也可能变化。因此需要通过优化算法计算RSSI平均值,来提⾼准确性。本文将介绍如何利用芯科蓝牙SOC FR32MG24中的RSSI值推断发射器与接收器之间的距离。
RSSI与距离转换测量建立RSSI 和距离之间的⽐例。 可以参考https://altbeacon.github.io/android-beacon-library/distance-calculations.html 指南中介绍的测量和计算步骤。
基于信号强度 (RSSI) 的最准确距离测算可以通过针对特定设备的已知距离/RSSI 值表进⾏功率⽐对来获得。
具体的代码实现如下:
#define D_AVE_LENGTH 20
static float rssi_average(float r)
{
static int index = -1;
static float buffer[D_AVE_LENGTH];
static float sum = 0;
float r_a = 0;
int i = 0;
if(index == -1){
//initialize
for(i = 0; i < D_AVE_LENGTH; i++){
buffer[i] = r;
}
sum = r*D_AVE_LENGTH;
index = 0;
} else {
sum -= buffer[index];
buffer[index] = r;
sum += r;
index++;
if(index >= D_AVE_LENGTH){
index = 0;
}
}
r_a = sum/D_AVE_LENGTH;
//app_log("index:%d\tr:%f\tsum:%f\tr_f:%f\t\r\n", index, r, sum, r_a);
return r_a;
}
首先采集一段时间内的RSSI值,共采集20次,求其平均值;将采集的RSSI值放在r_a中;
对于不同的距离,采用不同的算法公式。这是芯科蓝⽛协议栈在距离分别在 1 m 以内或⼤于 1 m 的情况下使⽤的更接近现实的公式。
d – 估计距离(⽶)
t – 1⽶时的RSSI值(dBm)
r – 实际测量出来的RSSI(dBm)
A - 常量参数, 0.7
B - 常量参数, 5.1
C - 常量参数, 0.111
上面的值可以做参考,具体有关如何计算公式常数 A、B 和 C,请参阅⽂档计算公式常数:https://altbeacon.github.io/android-beacon-library/distance-calculations2.html
因此根据RSSI求距离的算法,计算实际的距离;代码实现如下:
static float app_rssi_to_distance(float tx_power, float rssi)
{
float scalerP = 0.7;
float expScalerP = 5.1;
float ratio = rssi * 1.0f / tx_power;
if (ratio <= 1.0f) {
return(powf(ratio, 10.0f));
} else {
return(scalerP * powf(ratio, expScalerP) + 0.111f);
}
}
以上就是通过蓝牙的RSSI值,来判断距离的方法。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由小飞侠提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例
在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于SILICON LABS的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。
【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法
在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。
【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?
Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
无线物联网技术打造智能、小型且安全的医疗保健设备
无线物联网(IoT)技术的快速发展,正在为医疗保健行业带来革命性的变革。智能医疗设备具有小型化设计和无线连接的特点,实现了患者的远程监测、精准诊断和个性化治疗。这一趋势将塑造未来医疗领域的发展,提供更高效、更智能和更安全的医疗保健解决方案。本文将为您介绍一些智能医疗保健设备的设计实例。
选对了针对医疗和可穿戴设备的小型蓝牙芯片,设计毫不费力!
芯科科技一直为医疗设备和可穿戴设备制造商提供小型、专为应用而优化的蓝牙解决方案。以下展示了芯科科技提供的八款小型蓝牙芯片以及快速比较表,可以帮助您为应用程序选择最佳蓝牙解决方案!
CareMedi采用芯科科技BG22系列蓝牙SoC打造小型贴片式胰岛素泵,大幅提升智慧医疗照护设备的应用价值
Silicon Labs(芯科科技)为CareMedi公司提供BG22小型化蓝牙SoC,帮助其开发新一代的贴片式胰岛素泵,大幅提升智慧医疗照护设备的应用价值。芯科科技很自豪能够通过为易用、智能的胰岛素泵设备提供解决方案,来帮助提高糖尿病患者的生活质量。我们期待能够进一步推动医疗物联网向前发展。
Silicon Labs EFR32BG21 蓝牙SoC RCP模式测试-扫描设备
本文介绍测试EFR32BG21 蓝牙RCP模式工作在主模式,用于扫描蓝牙从设备,建立蓝牙连接和收发数据。首先需要准备一台电脑并且已经安装好了linux系统。也可以是windows系统下安装的linux虚拟机。并且已经安装好了蓝牙BlueZ协议栈。
芯科科技EFR32BG27蓝牙SoC助力持续性血糖监测CGM设备长达21天续航时间
在当今医疗领域,持续性血糖监测(CGM)成为人们关注的焦点,特别是对于糖尿病患者而言,实时了解血糖水平变化对于治疗和生活质量的提升具有举足轻重的意义。Silicon Labs提供的极小型、超低功耗EFR32BG27(BG27)蓝牙SoC在CGM中的应用显得尤为突出。本文将详细介绍BG27蓝牙SoC在CGM中的应用及其突出特点。
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
SILICON LABS Matter 无线SoC选型表
EFR32MG24 无线 SoC 是使用 Matter、OpenThread 和 Zigbee 进行网状物联网无线连接的理想选择
产品型号
|
品类
|
Protocol Stack
|
MAX TX Power (dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Secure Vault
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
Max CPU Speed(MHz)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG24B310F1536IM48-B
|
Wireless SoC
|
Matter,Zigbee,Thread,Bluetooth 5.3
|
10dBm
|
1536kB
|
256kB
|
28
|
High
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
78.0MHz
|
-40℃~125℃
|
-50℃~150℃
|
QFN48
|
1.71V~3.8V
|
选型表 - SILICON LABS 立即选型
如何读取EFR32BG24系列SoC代码运行PC指针
介绍在EFR32BG24程序运行的过程通过外部方法读取PC指针的方法。
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
芯科科技提供多款无线连接和控制芯片产品及解决方案,BG2x系列蓝牙SoC成就多样医疗物联网用例,
Silicon Labs(亦称“芯科科技”)的无线SoC和MCU助力全球客户的医疗物联网应用创新,持续打造更智能、高效、安全和便捷的健康监测设备。智能和网联技术近年来一直是医疗和健康保障领域内的热门技术,许多厂商都在利用医疗物联网(IoMT)技术开发更加智能和互联的健康监测设备,以利用物联网、云计算、人工智能和可穿戴等新一代信息通信技术,来帮助用户时刻监控自己的健康状况、降低医疗费用和就医麻烦。
BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案
Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。
最小起订量: 1pcs 提交需求>
提供蓝牙BLE芯片协议、蓝牙模块、蓝牙成品测试认证服务;测试内容分Host主机层,Controller控制器层,Profile应用层测试。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论