一、距离 d 和 RSSI 的计算公式

d=10^((ABS(RSSI)-A)/(10*n))

其中 d 为距离,单位是 m。

RSSI 为手机接收到蓝牙信标的信号强度,为负数。

A 为手机距离蓝牙信标 1m 时接收到的 RSSI 的值的绝对值。

n 为环境衰减因子,需要测试矫正。

如何确定 A 和 n 的值?

使用华为手机在空旷的环境中,分别采集 5 个蓝牙信标距离手机 1m,2m,……10m 时

手机接收到的 RSSI 值,每次取 100 个数据求平均值。以 1m 处 RSSI 的信号强度的绝对值作

为 A,以 6m 处 RSSI 的信号强度代入公式(1)求得 n 值。

下图数据引用了蓝牙信标 KTBB802,发射功率-8dBm 的情况下的测试值。

根据计算得到的 A 和 n 值,计算了不同信号强度对应的距离(计算值)与实际距离的误差,

在 8m 以内距离,测量值和实际值的误差小于 1.15m。

蓝牙信标室内定位算法如何确定 A,n 值_蓝牙定位信标

二、对于不同手机接收灵敏度的差异如何进行调整?

影响手机接收蓝牙信标的信号强度有两种误差,一种误差是系统误差,如由于手机接收灵敏度的强弱引起的 RSSI 的增加或者减少,另外一种是随机误差,如遮挡等原因引起的测量误差。

手机在一个环境里面会收到很多信标的信号,并且信号强的少(距离近的少)信号弱

的多(距离远的多),所以取平均值应该不合理,我们可以考虑取中间值。

我们可以在一个场所用华为手机(预先获取)和导航手机(导航时获取)获取信号值并排序:

如果华为手机获取的信号如下:

(可以取整数,也可以按照 0.5 的精度)

实际导航手机获取的信号如下:

-60,-61,-62,-63,-64,......

-70, -71, ......

-57,-58,-59,-60,-61,......

-67, -68, ......

(可以取整数,也可以按照 0.5 的精度)手机离地面高度为 1.1 米,蓝牙信标高度为 2.8 米,蓝牙信标 8 米布置一个,则理论上手机离蓝牙信标最短距离为 1.7 米,最长距离为 5.9 米,对应华为手机的信号强度分别为-68,-75。考虑部分手机接收灵敏度比华为手机弱,所以我们可以重点分析信号强度大于-85的信号。

如果按照 1dBm 的精度排序,可以各取前面 10 个信号值求平均,差值就是要调的A

值。随着手机接收信号数据的增多,重复以上计算,会将 A 值调整到一个合理的范围。总体来说就是手机 A 和手机 B 接收到的信号强度的前面最强的 10 个值比较,差值就是要调整的部分。

蓝牙信标参数

1、产品尺寸:53.86*24.93mm

2、广播协议:标准Ibeacon

3、电池容量::2400毫安时

4、安装方式:3M胶或者螺钉方式