基于蓝牙RSSI的三角定位测距
Triangulation Ranging Based on Bluetooth RSSI
DOI: 10.12677/CSA.2022.1212276, PDF, HTML, XML, 下载: 336  浏览: 706  科研立项经费支持
作者: 李博韬, 柯思悦, 刘 佳*:武汉商学院信息工程学院,湖北 武汉
关键词: 蓝牙RSSI测距Bluetooth RSSI Ranging
摘要: 在疫情防控常态下,保持安全距离成为了最重要的社交礼仪,特别是在一些人口比较密集、人流量比较大的场所,这些地方疫情防控比较困难,而且防控所需要的人力资源也会更多,基于公共场所对人群保持社交距离提醒的考虑,本文设计了一种基于蓝牙RSSI的三角定位测距方式。具体是通过蓝牙设备定位结合三角定位测距算法来实现,蓝牙设备功耗低,成本低廉,使用方便,且在众多室内定位技术中,蓝牙具有独特的优势。
Abstract: Under the normal situation of epidemic prevention and control, maintaining security distance has become the most important social etiquette, especially in some places with relatively dense population and large flow of people. These places are more difficult to prevent and control the epidemic, and the human resources required for prevention and control will be more. Based on the consideration of social distancing reminders for people in public places, this paper designs a triangulation ranging method based on Bluetooth RSSI. It is realized by Bluetooth device positioning combined with triangulation ranging algorithm. Bluetooth device has low power consumption, low cost and convenient use, and among many indoor positioning technologies, Bluetooth has unique advantages.
文章引用:李博韬, 柯思悦, 刘佳. 基于蓝牙RSSI的三角定位测距[J]. 计算机科学与应用, 2022, 12(12): 2725-2735. https://doi.org/10.12677/CSA.2022.1212276

1. 研究背景以及意义

自2019年12月以来,新冠病毒爆发以来,国内外无不开始研发针对于疫情的产品,其中包括红外测温、戴口罩人脸识别、智能机器人等,而在目前疫情常态化下,保持社交距离成为了一种新的礼仪。而在一些人流量大,人口比较密集的场所如火车站、商场等如果不采取正确的防疫措施提醒,无疑加大疫情防控的困难,而且人们的安全也可能得不到保障。基于公共场所对人群保持社交距离提醒的考虑,本文设计了一种基于蓝牙RSSI的三角定位测距方式,具体是通过蓝牙设备定位结合三角定位测距算法来实现。如果这个问题能够被解决,那么志愿者与基层工作者的工作量也会大大减轻,人们的安全也会得到一定的保障,而且这些人力资源可以产生更多的价值。

2. 国内外研究现状

2.1. 国内研究现状

国内的遥感中心组织的“室内定位导航比测”,展现出现阶段国内室内定位技术的研究现状。香港科技大学提出了基于RFID的LARMARC系统用来定位;北京邮电大学提出了一种基于TC-OFDM的室内定位系统。张鸿洋等人通过优化权重参数,提高了算法的定位精度,根据基站的距离来确定权重,在计算目标节点的位置时,引入修正系数,利用RSSI系数之和来改善近节点的影响,弱化远节点的影响。李轶等人提出了一种基于密度的聚类算法聚类点密度的加权质心定位算法,选择参数构建定位三角形的集合,选取定位效果较好的一部分三角形对未知节点进行定位,并对所得的初始定位结果进行DBSCAN聚类,将聚类后每个簇的核心点个数作为权值,采用加权质心定位算法得到未知节点的位置坐标。刘雨等人变提出了一种改进的四边加权质心算法 [1],对所求的四个坐标进行权值修正得到目标节点的坐标,最后结合最小二乘法辅助定位,进一步降低定位误差。马学森等人针对定位过程中环境干扰的问题,提出了一种基于环境感知的定位算法,这种算法的优点是能够因为环境感知低,以此减少定位误差,缺点是环境因素多,适应范围有限。张楠提出了一种改进的高斯混合滤波的加权质心定位算法,对数据进行高斯混合滤波,采用EM算法对RSSI信号值进行聚类和优化,将改进算法权值设为目标节点初始坐标和实际坐标之间误差值的倒数。任晓奎等人通过改进动态损耗因子和权重系数而提出了一种新的质心定位算法,首先根据路径损耗模型加权修正出损耗因子,使用动态损耗因子先估计出目标节点的位置,再通过最优权重因子来重新估计目标节点的位置。

2.2. 国外研究现状

2011年谷歌利用Wi-Fi技术和基站发布了室内地图,包括商场、车站等室内环境。2013年苹果发布了iBeacon协议,多家大型零售行业沃尔玛、家乐福等在店内都用上了iBeacon技术。加拿大Calgary大学利用无线信号,结合传感器和特定的环境,为用户提供了精确的定位技术。英国剑桥大学提出了基于红外的Active Badge室内定位系统,微软公司提出了基于接收信号强度指示的RADAR室内定位系统;苹果公司提出了基于无线局域网的iBeacon室内定位系统。针对定位精度低,稳定性不好的问题,Kim等人提出了一种用交叉点阈值来补偿定位精度,提出的基于测试节点的WCL算法,在整个区域内提供了更高精度的定位信息,同时减少了物理锚节点的数量。Shah等人根据信号强度模型和三维测量技术来增加更精确的距离,其思想基本上是基于系统的三维质心限制,考虑用三角金字塔代替三圆相交法进行三维定位。Alfakih等人研究了在室内环境中利用Wi-Fi信号强度进行设备定位,提出了一种新的概率指纹算法,采用高斯混合模型逼近移动用户从多个接入点接收到的信号强度的概率分布,然后利用这个概率分布来改进移动用户的位置估计。Tuncer提出了一种将确定未知位置传感器的质心定位方法转化为智能质心定位的方法,该方法采用模糊逻辑和遗传算法,其中参考节点被分配了权重值,以增加高值RSSI节点的定位精度,利用遗传算法调整模糊系统输出隶属度函数的基值,使定位误差较小。Uradzinski等人提出一种新的基于RSSI指纹数据库的室内定位方法,该方法无需测距,提出的指纹数据库定位方法可以提供更准确的定位结果。

2.3. 研究内容

由于目前室外定位精度普遍很高,而室内因为障碍物、噪音等多种因素的影响导致定位精度并不高,因此本文将研究重心放在室内基于蓝牙的定位技术及定位算法的选择与应用上,旨在设计出一种室内定位可行度较高的方法,后续测试也都会在室内进行。

3. 常见的测距技术

3.1. AOA技术

AOA (到达角交汇定位)技术,该技术主要为在两个以上位置设置方向性或者阵列天线以获取终端发射的无线电波信号角度信息,通过交汇法估计出终端的位置。特点是系统的结构简单,但是需要天线阵列具有高度灵敏度和高空间分辨率。所以AOA技术虽然结构简单,但是在城市蜂窝定位系统并未得到应用 [2]。图1为图片解释。

Figure 1. AOA schematic

图1. AOA示意图

3.2. RSSI技术

RSSI (接收信号强度法)全称为Received Signal Strength Indication,是通过发射器发射信号到接收器,如果两者越相近则信号强度越强,两者越远则信号强度衰减越多,而根据这三者得关系就能够计算出他们之间的距离。

超宽带信号的信道比模型表达式为: P d = P 0 10 log 10 ( d d 0 ) X δ

3.3. TDOA技术

Time Difference of Arrival到达时间差,意为利用时间差来进行定位,通过信号到达测试点的时间,利用信号到各个测试点的距离就能够确定信号的位置。通过各个信号到达各个测试点的绝对时间差,距离差就是双曲线,而交点就是信号的位置 [3]。

而TDOA的模型方程为:

{ r 21 = ( x 2 x ) 2 + ( y 2 y ) 2 + ( z 2 z ) 2 ( x 1 x ) 2 + ( y 1 y ) 2 + ( z 1 z ) 2 r n 1 = ( x n x ) 2 + ( y n y ) 2 + ( z n z ) 2 ( x 1 x ) 2 + ( y 1 y ) 2 + ( z 1 z ) 2 ( n 4 )

3.4. RFID射频识别技术

用RFID来实现定位是通过人员佩戴有源手环、胸牌卡片等来实时显示人员在三维立体上的点位,定位精度 < 1~5米,而且能够在短时间内得到信息,但是因为RFID技术不能够整合到移动设备当中,而且作用距离短,用户的隐私得不到保障。

4. 距离测量算法

4.1. 三边定位算法

三边定位测距算法是通过信号源到各个点位的距离,但是需要≥3个点位才能确定出信号点的位置,这就是三边定位法,具体实例如图2所示。

Figure 2. Schematic diagram of triangulation ranging algorithm

图2. 三边定位算法示意图

首先需要建立节点与未知节点方程组:

{ ( x 1 x ) 2 + ( y 1 y ) 2 = d 1 2 ( x n x ) 2 + ( y n y ) 2 = d n 2

简化后得出

A X = b

其中

A = ( 2 ( x 1 x n ) 2 ( y 1 y n ) 2 ( x n 1 x n ) 2 ( y n 1 y n ) ) , b = ( x 1 2 x n 2 + y 1 2 y n 2 + d n 2 d 1 2 x n 1 2 x n 2 + y n 1 2 y n 2 + d n 2 d n 1 2 )

利用最小二乘法解出方程得

X = ( A T A ) 1 A T b

4.2. AOA定位算法

图3所示:

Figure 3. AOA algorithm schematic

图3. AOA算法原理图

tan β 1 = y y 1 x x 1 ,相对于站S1的方位角。

tan β 2 = y y 2 x x 2 ,相对于站S2的方位角。

tan ξ 1 = x = z z 1 ( x x 1 ) 2 ( y y 1 ) 2 ,相对于站S1的俯仰角。

tan ξ 2 = x = z z 2 ( x x 2 ) 2 ( y y 2 ) 2 ,相对于站S2的俯仰角。

由已知条件结合基站坐标,可求得两基站间的距离:

L = ( x 1 x 2 ) 2 + ( y 1 y 2 ) 2 + ( z 1 z 2 ) 2

在DS1T¢S2中,由正弦定理可得:

sin ( β 2 β 1 ) L = sin ( π β 2 ) R = sin β 2 R

R = L sin β 2 sin ( β 2 β 1 )

在DS1T¢T中,得T距S1的距离:

R = R cos ξ 1

联立以上方程可解得:

x = R cos ξ 1 cos β 1

y = R cos ξ 1 sin β 1

z = R sin ξ 1 + z 1

4.3. 基于TOA/TDOA的定位算法

基于TOA算法,因为无线信号传播的速度是一定的,所以可以通过节点发送信号到接收节点时传播时间的长短可以确定节点间的距离,具体原理看图4

Figure 4. TDOA algorithm solution schematic

图4. TDOA算法求解示意图

点M (x, y)为未知节点,点A (x1, y1),B (x2, y2),C (x3, y3)为参考节点。在T0时刻,未知节点M向参考节点A,B,C发送信号,点A,B,C收到信号的时间分别为T1,T2,T3。电磁波在空气中的传播速度记为v,设点M到点A,B,C的距离分别为d1,d2,d3,根据距离、速度与时间的关系可得:

d 1 = v ( T 1 T 0 )

d 2 = v ( T 2 T 0 )

d 3 = v ( T 3 T 0 )

由两点间的距离公式可得:

d 1 = ( x 1 x ) 2 + ( y 1 y ) 2 = v ( T 1 T 0 )

d 2 = ( x 2 x ) 2 + ( y 2 y ) 2 = v ( T 2 T 0 )

d 3 = ( x 3 x ) 2 + ( y 3 y ) 2 = v ( T 3 T 0 )

对上式进行求解即可得到未知节点M (x, y)的坐标。

基于TDOA算法,因为在网络中,每个节点距离信号接受点的距离是不同的,所以在信号传输的过程中,产生了时间差,根据时间差以及电磁波的传播速率,我们可以计算出各节点之间的距离差值,从而可以判断出接收节点的位置。

如参考图5

Figure 5. Principle of positioning algorithm based on TOA

图5. 基于TOA的定位算法原理图

d 1 = ( x X 1 ) 2 + ( y Y 1 ) 2

当参考节点为i时,参考节点i与未知节点间的距离为:

d i = ( x X i ) 2 + ( y Y i ) 2

将未知节点与参考节点i间的距离di和未知节点与参考节点1间的距离d1的差值表示为di1,得:

d i 1 = d i d 1 = ( x X i ) 2 + ( y Y i ) 2 ( x X 1 ) 2 + ( y Y 1 ) 2

v为电磁波在自由空间中的传播速度,Ti1为未知节点发送的信号到达第i个参考节点与发送信号到达第1个参考节点的时间

4.4. RSSI测距算法

关于RSSI测距可以用三边质心算法来实现测距,因为需要三个以上的节点,所以要确定距离需要获得3个或者以上节点的距离,较为传统的质心算法就是先找到信号接受点到最近的三个信号发射节点的位置进行估计,但是因为环境或者设备的干扰故不采用传统的质心算法来实现测距。

为了使精度更高,可以利用神经网络来预测出数据,通过多次测试让数据更加有效。

5. 低功耗蓝牙技术

低功耗蓝牙技术,是蓝牙4.0最重要的特色。传统的蓝牙续航一直是一个问题,一个电池一般只能够连续工作一天,这对实际的应用很不利。

由此可见蓝牙的低功耗技术的重要,其实诺基亚早在2004年就推出了蓝牙低端扩展技术,这也是低功耗蓝牙技术的前身,后来围绕该技术创造了Wibree技术,在2007年时,蓝牙技术联盟正式宣布将Wibree技术纳入蓝牙技术的大旗,也就是现在的低功耗蓝牙技术。

目前低功耗蓝牙具有:低成本、低功耗、连接节点不受限、响应速度快、支持IPV6、支持Mesh组网的特点。

6. 蓝牙RSSI设计实现

本次系统设计将采用智能手机作为信号接收节点,搭载蓝牙芯片的嵌入式设备来作为信号发射器,通过手机安装软件来收集信号,完成RSSI的采集工作。主要是为了在疫情常态化下对室内定位的追踪和实时位置,整个测试环境设备包括两个部分:三个蓝牙信号发射基站,一台智能手机作为信号接收器。

首先三台搭载蓝牙的设备先开启蓝牙,像智能手机发起连接请求,通过在智能手机上下载蓝牙调试助手App开启手机蓝牙,进行检测,待手机接收到信号之后通过App的后台算法根据蓝牙设备所发送的信号进行分析。

具体思路是通过手机下载蓝牙调试助手App开启手机蓝牙,同时开启嵌入式设备蓝牙作为信号发射器,通过App后台算法根据蓝牙信号的强度RSSI值计算出距离,当RSSI值超出预先设定的阈值时,就会震动提醒。

我们将实验环境布置在宿舍楼里,分别在各处布置信号发射器这是,三个蓝牙设备在距离接收点1米与0.3 m以内时的RSSI值,因为不同的设备芯片也不一样所以有轻微误差。图6信号强度值。

Figure 6. Signal strength

图6. 信号强度

我们根据多次测量,将数据经过均匀计算如表1所示。

Table 1. RSSI test data

表1. 测试数据

本文采用对数–常态分布模型来计算传播时候的损耗有:

p i k = p ( d 0 ) 10 n p log 10 ( d i k d 0 ) + X σ

d 0 为信号参考传输距离; p ( d 0 ) 为接收信号的强度; n p 为衰减指数, d i k 为节点i和k的欧氏距离; X σ 为均值是0、方差是 σ

在实际使用过程当中,可以多次获得同一节点的信号来降低误差值 [4]。

并且可以由上式推导出距离公式:

d ˜ i k = 10 p ( d 0 ) p i k + X σ 10 n p

求和节点误差与未知节点修正距离为:

c i = i k | d ˜ i k d i k | i j h i k

d 2 i j = h i j c i

因此结合以上公式可以得出:

C = d 1 i j + d 2 i j

式里: d 2 i j d i j 为节点i与未知节点j的修正距离与估算距离。综上所示,为了能够更直观地看出RSSI值在传播过程中随距离而导致信号强度的衰减,我们将多次实验数据进行拟合如图7所示。

Figure 7. The signal strength varies with distance

图7. 信号强度随距离产生变化

为了保证定位的结果不会受到特殊因素的影响,因此在本次检测的基础上又进行了一次静态点测试,静态点测试是在接收点前方的1*1米的区域内等间隔取了15个点进行测试 [5],具体测试图如下图8

为了保证定位结果不受特殊因素的影响,在每个测试点持续采样15 s,共15个数据包。分别绘制了仅使用AOA的三角定位算法和RSSI定位算法的静态点坐标显示图。

图9中可以看出,使用AOA定位算法,当在接收点附近的,边界区域误差较大。其中,仅AOA定位算法的最大与最小整体误差分别为0.25 m、0.04 m,平均整体定位误差为0.09 m。RSSI定位算法的最大与最小整体误差分别为0.14 m、0.05 m,平均整体定位误差为0.06 m。RSSI定位算法的性能明显优于仅AOA定位算法的估计性能。

Figure 8. Static point test diagram

图8. 静态点测试图

(a) (b)

Figure 9. (a) Angle of arrival algorithm; (b) Received signal strength indicator algorithm

图9. (a) AOA算法;(b) RSSI算法

7. 结语

本文研究了基于蓝牙RSSI的测距方式,整个方案的介绍均在文中做了详细地分析与规划,并说明了定位测试的环境与测试方案,在室内环境下对定位精度进行了统计与分析,定位的平均精度在0.06 m,也验证了蓝牙RSSI算法进行室内定位的有效性。经过实际验证,蓝牙RSSI测距方案在疫情常态化下完成了基本预期的效果,对于本方案的一些不足,也可以通过文中其他方案进行改进,让蓝牙RSSI测距方案能够更好地运用于不同的场景中。相信通过大家的努力,一定可以战胜疫情。

基金项目

本篇论文获得项目编号为202111654150武汉商学院2021年度大学生创新创业训练项目《敬疫远之》的研究资助。

NOTES

*通讯作者。

参考文献

[1] 胡斌斌, 倪晓军. 基于RSSI测距室内定位改进质心算法[J]. 计算机技术与发展, 2017, 27(9): 133-136+140.
[2] 华茹园. 蓝牙RSSI室内定位算法研究与系统实现[D]: [硕士学位论文]. 西安: 西安科技大学, 2021.
https://doi.org/10.27397/d.cnki.gxaku.2021.000917
[3] 张亚磊, 王坚, 韩厚增, 杨燈. 蓝牙室内测距模型研究与精度分析[J]. 测绘科学, 2021, 46(3): 1-7+66.
https://doi.org/10.16251/j.cnki.1009-2307.2021.03.001
[4] 吴之舟, 张玲华. 基于加权和RSSI测距的DV?Hop定位算法[J]. 数据采集与处理, 2021, 36(6): 1217-1225.
https://doi.org/10.16337/j.1004-9037.2021.06.015
[5] 刘盼. 基于蓝牙5.1的室内定位系统的研究与实现[D]: [硕士学位论文]. 郑州: 郑州大学, 2021.
https://doi.org/10.27466/d.cnki.gzzdu.2021.004859