基于RSSI修正值双重定位的蓝牙室内定位方法与流程

文档序号:12501879阅读:468来源:国知局
基于RSSI修正值双重定位的蓝牙室内定位方法与流程

本发明属于通信技术领域,特别涉及一种蓝牙室内定位方法,可用于商场、养老院、智慧社区及消防场所。



背景技术:

随着物联网社会的迅速发展,传感智能设备以其低功耗、自组织、布局方便等优点越来越被广泛应用于智慧社会中,并且室内定位已成为物联网社会的重要支撑领域,而基于蓝牙iBeacon的室内定位技术以其独特的优越性将成为室内定位的热点之一。

目前基于蓝牙的室内定位算法主要有基于信号传输时间的算法TOA、基于信号传输时间差的算法TDOA、基于信号到达角度的算法AOA、基于接收信号强度值RSSI的算法和单质心算法,其中:

TOA算法,由于室内环境空间相对狭小,信号的传播受到障碍物的干扰会带来传播时间的时延,并且会产生时延的叠加,同时此算法要求定位节点和参考节点之间的时钟精准同步,对硬件的要求很高,系统的复杂性和成本的投入较大,导致实用性较低。

TDOA算法,是TOA算法的改进,此算法不是直接利用信号到达参考节点的绝对时间,而是利用信号到达两个参考节点的时间差来确定定位节点的位置,因此不需要参考节点和定位节点之间的时钟精准同步,只需要参考节点之间的时钟同步即可,该算法虽然降低了时钟同步的要求,但是精度较低。

AOA算法,此算法需要在节点上安装天线矩阵来获得角度信息,但是由于大部分节点的天线都是全向的,无法区分信号来自于哪个方向,并且在蓝牙节点上安装天线需要特殊的硬件设备,如天线阵列,导致蓝牙节点在耗能、尺寸以及价格上都要超过普通的传感节点,与无线智能设备低成本和低功耗的特性相违背,所以实用性较差。

RSSI算法,该算法是通过获取接收信号强度值RSSI和距离之间的关系,得到距离和RSSI之间的模型,从而进行室内定位。但是由于室内环境下无线电信号自由衰减效应、信号吸收效应、非视距传播效应、多径效应、阴影效应造成了蓝牙信号的RSSI值随着距离的变化在做着剧烈变动,导致传统的基于接收信号强度值RSSI的定位算法存在的误差范围较大。但由于其对时钟处理的要求低,低成本,复杂度低,所以一般的室内定位算法都是基于RSSI展开。

单质心算法,是通过定位节点接收所有在其通信范围内的参考节点的信息,并将参考节点的几何质心作为自己的估计位置来定位,但是质心个数单一,离待定位节点较远处的参考节点的影响度较小,不能重点突出离待定位节点较远处的参考节点的贡献度大小,带来的误差较大,没有进一步提升定位精度。



技术实现要素:

本发明的目的在于针对以上现有技术的不足,提出一种基于RSSI修正值双重定位的蓝牙室内定位方法,以提高蓝牙iBeacon的室内定位精度。

为达到以上目的,本发明的技术方案包括如下:

(1)采集室内部署的各个iBeacon节点接收到的其他iBeacon节点的接收信号强度值,构成iBeacon节点信号强度矩阵R,并利用狄克逊检测法和高斯滤波算法对其进行修正,得到各个iBeacon节点的信号强度修正值,构成iBeacon节点信号强度修正矩阵R':

其中:

i、j为iBeacon节点编号,n为iBeacon节点个数,i∈[1,n],j∈[1,n],n>3;

Rij=[Rij1 Rij2 Rij3 ... Rij30]是1×30维矩阵,表示第i个iBeacon节点收到第j个iBeacon节点发出的30组信号值;

Rij'表示第i个iBeacon节点收到第j个iBeacon节点的信号强度修正值。

(2)根据iBeacon节点信号强度修正矩阵R',利用对数距离路径损耗模型,得到iBeacon节点到其他iBeacon节点的距离值,构成iBeacon节点距离矩阵D:

其中:Dij表示第i个iBeacon节点到第j个iBeacon节点的距离值,当i=j时,Dij=0。

(3)根据iBeacon节点距离矩阵D,采用多质心算法,得到各iBeacon节点坐标估计值Q(xi,yi),将Q(xi,yi)与各iBeacon节点的实际坐标e(vi,zi)比较,得误差点P(α,β);

(4)采集待定位节点接收iBeacon节点发出的接收信号强度值,构成定位节点信号强度矩阵r,并利用狄克逊检测法和高斯滤波算法对其进行修正,得到待定位节点的强度修正值,构成待定位节点信号强度修正矩阵r':

r=[r1 r2 r3 ... ri ... rn],r'=[r1' r2' r3' ... ri' ... rn']

其中:

ri是1×30维矩阵,表示待定位节点收到第i个iBeacon节点发出的30组信号值;

ri'表示待定位节点收到第i个iBeacon节点的信号强度修正值。

(5)根据待定位节点信号强度修正矩阵r',利用对数距离路径损耗模型,得到待定位节点到其他iBeacon节点的距离值,构成待定位节点距离矩阵d:

d=[d1 d2 d3 ... di ... dn]

其中:di为待定位节点到第i个iBeacon节点的距离值。

(6)根据待定位节点距离矩阵d,采用多质心算法,得到待定位节点的坐标估计值W(x,y);

(7)根据坐标估计值W(x,y)和误差点P(α,β),得到待定位节点的最终坐标为:W(x+α,y+β)。

本发明相对现有技术主要优点在于:

第一,与现有的前期预处理相比,本发明由于对前期的波动较大的接收信号强度值进行狄克逊检测算法的处理,剔除抖动剧烈的接收信号强度值,然后对保留的数据采用高斯滤波处理,最大限度地保留了抖动较小的接收信号强度值。

第二,与现有路径损耗模型相比,本发明由于根据大量实验数据,给出最佳环境系数参考范围,不仅实现简单,而且选择的系数更加适用于室内环境。

第三,与现有定位算法相比,本发明由于采用双重定位算法,分别计算出系统的坐标误差和待定位节点的估计坐标,故可根据坐标误差和待定位节点的估计坐标,计算出待定位节点的最终坐标。

第四,与现有定位算法相比,本发明由于将距离待定位节点较远的iBeacon节点分组,求出其质心后,把质心应用到距离待定位节点较近的iBeacon节点组内,再求取质心,使得定位精度进一步提高,同时可避免适应度随着环境中iBeacon节点的状态变化而改变。

附图说明

图1是本发明的实现流程图;

图2是本发明与现有单质心算法的定位效果对比图。

具体实施方式

参照图1,本发明的基于RSSI修正值双重定位的蓝牙室内定位方法,其具体实现步骤如下:

步骤1,构建iBeacon节点信号强度矩阵R。

将室内环境以正六边形划分成若干区域,在区域的各个顶点处放置一个iBeacon节点,共放置n个iBeacon节点,每个iBeacon节点周期性地广播自身编号、自身坐标和接收信号强度值,采集各个iBeacon节点接收到的其他iBeacon节点的接收信号强度值,构成iBeacon节点信号强度矩阵R:

其中:i、j为iBeacon节点编号,n为iBeacon节点个数,i∈[1,n],j∈[1,n],n>3;

Rij=[Rij1 Rij2 Rij3 ... Rij30]是1×30维矩阵,表示第i个iBeacon节点收到第j个iBeacon节点发出的30组信号值。

步骤2,对iBeacon节点信号强度矩阵R进行修正,得到iBeacon节点狄克逊矩阵R*

2a)采用狄克逊检测法剔除每个iBeacon节点接收到的来自其他iBeacon节点发来的30组信号值中变化剧烈的接收信号强度值,将第i个iBeacon节点接收到来自第j个iBeacon节点的30组接收信号强度值按从小到大的顺序排列,依次为Rij1,Rij2,...,Rij30

2b)确定异常值检测的检出水平为a=0.02,确定狄克逊检验临界值M(a,n);

2c)根据狄克逊检验法统计公式,计算iBeacon节点最高端的异常值G和iBeacon节点最低端异常值G':

2d)将iBeacon节点最高端异常值G和iBeacon节点最低端异常值G'与临界值M(a,n)进行比较:

如果G>M(a,n)或者G'>M(a,n),则剔除该异常值相对应的接收信号强度值RijN

如果G≤M(a,n)或者G'≤M(a,n),则保留该异常值相对应的接收信号强度值RijN,执行2e),N为30组信号值的编号;

2e)对保留的接收信号强度值重新排序,重复步骤2a)-2d),直到所有变化剧烈的接收信号强度值被剔除,并将最终保留的值作为狄克逊检测算法的输出,构成iBeacon节点狄克逊矩阵R*

其中:

R*ij=[R*ij1 R*ij2 R*ij3 ... R*ijM]是1×M维矩阵,M是30组信号值中经过狄克逊检测算法后保留的信号值个数,R*ij表示第i个iBeacon节点收到第j个iBeacon节点发出的30组信号值中经过狄克逊检测算法后保留的信号值矩阵;

步骤3,对iBeacon节点狄克逊矩阵R*进行修正,得到iBeacon节点信号强度修正矩阵R'。

3a)对iBeacon节点狄克逊矩阵R*进行高斯滤波,得到iBeacon节点高斯矩阵R”;

3b)对iBeacon节点高斯矩阵R”的各元素矩阵取算术平均值,得到各个iBeacon节点的接收信号强度修正值,构成iBeacon节点信号强度修正矩阵R':

其中:Rij'表示第i个iBeacon节点收到第j个iBeacon节点的信号强度修正值。

步骤4,构建iBeacon节点距离矩阵D。

4a)建立接收信号强度修正值到iBeacon节点之间距离的路径损耗关系式:

其中:

Rij'表示第i个iBeacon节点收到第j个iBeacon节点的信号强度修正值;

q0表示两个iBeacon节点间距离L0=1米时的参考信号强度修正值;

Dij表示第i个iBeacon节点到第j个iBeacon节点的距离值,当i=j时,Dij=0;

xε和u为环境参数,表示空间环境的影响程度,xε是距离iBeacon节点1米处接收到的平均功率的绝对值,u为路径损耗因子,xε最佳参考范围为41-47,u最佳参考范围为2.15-4.3;

4b)将步骤4a)的路径损耗关系式转换成如下形式:

4c)根据步骤4b)得出各个iBeacon节点到其他所有iBeacon节点距离矩阵D:

步骤5,计算各iBeacon节点的坐标估计值Q(xi,yi)。

5a)将第i个iBeacon节点到第j个iBeacon节点的距离值Dij按从小到大的顺序排序,得到距离集合:Di1,Di2,Di3,...Dij,...,Din,其中Di1<Di2<Di3<...<Dij<...<Din

5b)用距离集合内的每个元素减去最小值Di1,得出差值集合:

0,ΔDi1,ΔDi2,ΔDi3,...,ΔDij,...,ΔDin

5c)计算差值集合中各元素的平均值

其中:ΔDij=Dij-Di1,表示第i个iBeacon节点到第j个iBeacon节点之间的距离值Dij与最小值Di1的差值;

5d)将iBeacon节点分别分成的集合A和的集合B,设在集合B内有m个节点,并把集合B中相差最接近的3个iBeacon节点分成一组,共分成m-2组,计算每组的质心,其坐标(xk,yk):

其中:k∈[1,m-2],(xk1,yk1)、(xk2,yk2)、(xk3,yk3)是每组中的3个iBeacon节点坐标;

5e)将步骤5d)得到的质心重新视为新加入的iBeacon节点,再将m-2个质心点和集合A内的n-m个iBeacon节点构成多边形,采用质心算法计算这个多边形的质心,得到第i个iBeacon节点估计坐标Q(xi,yi)。

步骤6,计算误差点P(α,β)。

根据第i个iBeacon节点的实际坐标e(vi,zi)和估计坐标Q(xi,yi),计算误差点P的横坐标和纵坐标:

得到误差点

步骤7,构建待定位节点信号强度矩阵r。

将室内环境以正六边形划分成若干区域,在区域的各个顶点处放置一个iBeacon节点,共放置n个iBeacon节点,每个iBeacon节点周期性地广播自身编号、自身坐标和接收信号强度值,采集待定位节点接收iBeacon节点发出的接收信号强度值,构成待定位节点信号强度矩阵r:

r=[r1 r2 r3 ... ri ... rn]

其中:ri是1×30维矩阵,表示待定位节点收到第i个iBeacon节点发出的30组信号值;

步骤8,对待定位节点信号强度矩阵r进行修正,得到待定位节点狄克逊矩阵r*

8a)采用狄克逊检测法剔除待定位节点接收到的来自其他iBeacon节点发来的30组信号值中变化剧烈的接收信号强度值,将待定位节点接收到来自第i个iBeacon节点的30组接收信号强度值按从小到大的顺序排列,依次为ri1,ri2,...,ri30

8b)根据狄克逊检验法统计公式,算出待定位节点最高端异常值g和待定位节点最低端异常值g':

8c)将待定位节点最高端异常值g和待定位节点最低端异常值g'与临界值M(a,n)进行比较:

如果g>M(a,n)或者g'>M(a,n),则剔除该异常值相对应的接收信号强度值riN

如果g≤M(a,n)或者g'≤M(a,n),则保留该异常值相对应的接收信号强度值riN,执行8d),N为30组信号值的编号;

8d)对保留的接收信号强度值重新排序,重复步骤8a)-8c),直到所有变化剧烈的接收信号强度值被剔除,并将最终保留的值作为狄克逊检测算法的输出,构成待定位节点狄克逊矩阵r*

r*=[r1* r2* r3* ... ri* ... rn*]

其中:ri*=[r*i1 r*i2 r*i3 ... r*iM]是1×M维矩阵,M是30组信号值中经过狄克逊检测算法后保留的信号值个数,ri*表示待定位节点收到第i个iBeacon节点发出的30组信号值中经过狄克逊检测算法后保留的信号值矩阵。

步骤9,对待定位节点狄克逊矩阵r*进行修正,得到待定位节点信号强度修正矩阵r′。

9a)采用高斯滤波对待定位节点狄克逊矩阵r*进行处理,得到待定位节点高斯矩阵r″;

9b)对待定位节点高斯矩阵r”的各元素矩阵取算术平均值,得到待定位节点的接收信号强度修正值,构成待定位节点信号强度修正矩阵r':

r'=[r1' r2' r3' ... ri' ... rn']

其中:ri'表示待定位节点收到第i个iBeacon节点的信号强度修正值。

步骤10,构建待定位节点距离矩阵d。

10a)建立接收信号强度修正值到待定位节点与第i个iBeacon节点距离的路径损耗关系式:

其中:

ri'表示待定位节点收到第i个iBeacon节点的信号强度修正值;

q1表示待定位节点和iBeacon节点间距离L0=1米时的参考信号强度修正值;

di为待定位节点到第i个iBeacon节点的距离值。

10b)将步骤10a)的路径损耗关系式转换成如下形式:

10c)根据步骤10b)得出待定位节点到其他所有iBeacon节点距离矩阵d:

d=[d1 d2 d3 ... di ... dn]

步骤11,计算待定位节点的坐标估计值W(x,y)。

11a)将待定位节点到第i个iBeacon节点的距离值di按从小到大的顺序排序,得到待定位距离集合:dε={d1,d2,d3,...,di,...,dn},其中d1<d2<d3<...<di<...<dn

11b)用待定位距离集合dε内的每个元素减去最小值d1,得出待定位差值集合dε':

dε'={0,Δd1,Δd2,Δd3,...,Δdi,...,Δdn},

其中:Δdi=di-d1,其表示待定位节点到第i个iBeacon节点的距离值di与最小值d1的差值;

11c)计算待定位差值集合dε'中各元素的平均值

11d)将iBeacon节点分别分成两个集合,即的集合C1和的集合C2,设在集合C2内有z个节点,把集合C2中相差最接近的3个iBeacon节点分成一组,共分成z-2组,计算每组的质心,其坐标(xL,yL)为:

其中:L∈[1,z-2],(xL1,yL1)、(xL2,yL2)、(xL3,yL3)是每组中的3个iBeacon节点坐标。

11e)将步骤11d)得到的质心重新视为新加入的iBeacon节点,再将z-2个质心点和集合C1内的n-z个iBeacon节点构成多边形,采用质心算法计算这个多边形的质心,得到待定位节点的估计坐标W(x,y)。

步骤12,计算待定位节点的最终坐标W(x+α,y+β)。

根据步骤11得到的待定位节点的估计坐标W(x,y)和步骤6得到的误差点P的横坐标α和纵坐标β,计算得到待定位节点的最终坐标为:

下面结合仿真实验,对本发明的定位效果做进一步分析。

1.实验条件

本实验在50*50米的室内环境下布置16个iBeacon节点,10个待定位节点。

2.实验内容

用本发明方法和现有单质心算法分别对上述10个待定位节点进行测试,得到待定位节点的坐标值,结果如图2。

从图2可见,本发明测得待定位节点的坐标值与待定位节点的实际坐标值对比,其定位精度误差最大值为2.413米,最小值为0.75米,平均值为1.59米。现有质心算法测得待定位节点的坐标值与待定位节点的实际坐标值对比,其定位精度误差最大值为4.089米,最小值为1.56米,平均值为2.75米。

实验表明:本发明将定位精度提高了25%-35%,在室内定位中具有较大的优势。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1