开发接近相关的蓝牙应用如何使用RSSI

发布时间:2015-11-3 10:39    发布者:designapp
关键词: RSSI , 蓝牙
开发接近(Proximity)相关的蓝牙(Bluetooth)应用时,开发者需要在不同的信号强度测量方法之间做出选择,比如我的应用是该采用RX还是RSSI呢?想要更好地理解这一问题,我们不妨先来回顾一下射频(RF)通信的基本概念。

RX和RSSI

RT通信(Real Time Communication,实时通信)使用RX和 RSSI(Received Signal Strength Indication,接收信号强度指示)来测量无线电信号强度。两者都是天线接收到的功率水平指标,差异在于RX的测量单位是毫瓦(mW)或分贝毫瓦(dBm),而RSSI是信号强度百分比,RSSI值越高表示信号越强。与RX不同的是,RSSI是一种相对的测量方法,大多由芯片制造商定义。RSSI并无标准的物理参数。例如,厂商甲的RSSI最大值可能为100,而厂商乙的RSSI区间可以为0到127。然而在某一特定的芯片上,其RSSI值与特定物理RX值之间的映射是已知的。对于某些平台,高层 API仅提供RSSI数据。

不同无线电芯片的RSSI有所不同

你可以会注意到,即便位置和距离固定,RSSI值也会出现变动,其原因之一可能就是硬件/无线电平台。例如,iOS设备的芯片组大多相同,RSSI值能够很精确地反映距离,同样的RSSI值在iPhone甲和iPhone乙上很可能表示相同的信号强度值。然而安卓设备种类多样,设备采用的芯片组也各有不同,RSSI的绝对值就无法精确地反映距离。同样的RSSI值在不同安卓手机上可能表示不同的信号强度。尽管如此,如果开发者能够了解RSSI值变化的趋势,那么对于接近应用仍十分有帮助。趋势也可以给你很多有用的数据。

接近应用中如何使用RSSI?

避免使用RSSI绝对值,而采用趋势

基于无线电信号的波动,我们可以了解到相对准确的RSSI趋势。了解信号的强弱变化并不难,因此可以判断用户是接近还是远离信号源。更理想的情况是,如果我们了解RSSI和特定接收设备位置之间的具体映射,就能对距离作出相对准确的判断。

以下就是RSSI与距离之间关系的举例:


RSSI 值随距离的改变

获取RSSI值时采用区间众数

RF通信的本质决定了RX和RSSI在很大程度上都会受到各种环境因素的影响。采用RSSI值时,环境因素还会引起一定范围内的值漂移。为了抵御这些影响,开发者可以设计一个采样算法,获取特定时段内RSSI样本集的众数(出现次数最多的值)。这样,数据就能更准确地反映实际信号强度,并滤过噪音。

结论

当接近应用选择使用RSSI时,开发者需要考虑不同芯片厂商的不同定义。不同无线电芯片的RSSI绝对值可能不同,但我们仍能从同一芯片的RSSI趋势中获取很多信息。为避免环境干扰,开发者可以定义自己的采样算法以去除噪音。
本文地址:https://www.eechina.com/thread-155257-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表