EDN China > 技术文章 > 通信 > UWB/蓝牙/无线USB/Zigbee > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

高文森?? 蓝牙技术联盟开发项目技术经理?? 2015年10月29日 ?? 收藏1
开发接近(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 值随距离的改变

获取RSSI值时采用区间众数

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

结论

当接近应用选择使用RSSI时,开发者需要考虑不同芯片厂商的不同定义。不同无线电芯片的RSSI绝对值可能不同,但我们仍能从同一芯片的RSSI趋势中获取很多信息。为避免环境干扰,开发者可以定义自己的采样算法以去除噪音。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

RSSI?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈