本发明涉及室内定位技术,具体涉及一种基于蓝牙rssi值位置指纹库的室内定位方法。
背景技术:
为解决卫星信号到达地面强度减弱的问题,室内定位技术在近几年得到了广泛的发展和应用。同时,随着智能手机和移动互联网的发展大大推动了室内蓝牙定位的发展。对于持有集成蓝牙终端设备的用户只要开启蓝牙功能,连接到室内定位系统,就能通过接收基站信号实现定位。一般来说,蓝牙的定位精度相对较高,并拥有超低功耗,低延迟,超长距离等优点,同时,蓝牙4.0具有自适应调频机制,在同一位置处不同蓝牙基站之间信号强度相互影响很小,因此,蓝牙定位越来越得到各个领域的重视。
在现有技术中,室内定位的研究多是基于测距算法,室内定位基于测距算法一般是用信号发送和接收的时间或能量信息建立相应的数学模型,并根据不同环境对模型进行调整,根据位置间的几何关系,通过数学方式求解已知节点和未知节点之间的距离。
但是室内情况下设备之间距离较短,测距信号存在严重反射、衍射、绕射等非直线传播的情况,信号容易受到噪声影响,并在各条多径分量上的时间相当接近,造成传输误差,而信号的精确计时、高精度同步困难,且对硬件需求较高,应用场合比较单一。
技术实现要素:
为了克服上述问题,本发明人进行了锐意研究,提出了一种基于蓝牙rssi值位置指纹数据库的室内定位方法,其中,先在特定空间内进行合理的蓝牙布局,针对蓝牙基站进行数据采集,并利用高斯拟合筛选、卡尔曼滤波等方式对采集数据和待测点的数据进行预处理,提高采样精度,同时,利用k-nnss方法将待测点信息与位置指纹数据库进行匹配,实现定位,其中,所述室内定位方法是一种高精度、低能耗、低成本、实时性高、通用性强的室内定位方式,能满足现代室内定位智能化、高精度的要求,从而完成本发明。
本发明一方面提供了一种基于蓝牙rssi值位置指纹库的室内定位方法,具体体现在以下方面:
(1)一种基于蓝牙rssi值位置指纹库的室内定位方法,其中,所述方法包括以下步骤:
步骤1、进行采样,得到采样点的rssi值和位置信息;
步骤2、对步骤1得到的采样点的rssi值和位置信息进行数据预处理,得到rssi值指纹数据库;
步骤3、采集待测点的rssi值,并对其进行数据预处理;
步骤4、将步骤3预处理后的数据放入步骤2得到的rssi指纹数据库中,进行指纹数据库匹配,获得待测点的坐标位置,实现定位;
其中,rssi值是指信号强度,所述待测点是指待定位点,在步骤2中,所述rssi值指纹数据库包括各采样点的rssi值和各采样点的位置信息,所述位置信息包括x轴坐标和y轴坐标。
(2)根据上述(1)所述的方法,其中,步骤1包括以下子步骤:
步骤1-1、进行蓝牙基站的布局,并设定rssi值采样位点;
步骤1-2、在步骤1-1设定的rssi值采样位点处采集蓝牙基站的rssi值和采样位点处的位置信息;
步骤1-3、将步骤1-2采集到的rssi值发送至服务器,获得采样点的rssi值。
(3)根据上述(1)或(2)所述的方法,其中,在步骤1-1中,蓝牙基站的布局密度为2~6个/15m2,优选为3~4个/15m2,例如4个/15m2;和/或
在步骤1-2中,采样密度为(0.3~0.7)m2/个,优选为(0.4~0.6)m2/个,例如0.5m2/个;和/或
在步骤1-2和步骤3中,在每个采样点和待测点进行多次数据采集,获得一组rssi值样本数据集,记为{rssi1,rssi2...rssin}。
(4)根据上述(1)至(3)之一所述的方法,其中,在步骤2和步骤3中,所述数据预处理用于对每个采样点和待测点得到的一组样本数据集进行处理,
优选地,所述数据预处理包括以下子步骤:
步骤a、利用高斯拟合筛选去除野值;
步骤b、采用高斯分布方法过滤数据,进行数据平滑;
步骤c、对步骤b处理后的数据进行平均值的求取,得到rssi特征值;
步骤d、对步骤c得到的rssi特征值进行卡尔曼滤波处理,得到蓝牙rssi值位置指纹库;
更优选地,步骤a和步骤b同时进行。
(5)根据上述(1)至(4)之一所述的方法,其中,在步骤a中,假设某采样点或待测点到蓝牙基站的rssi值样本数据集为{rssi1,rssi2...rssin},得到rssi值样本数据的残差为:
其中,
优选地,在步骤a中,进行rssi样本数据集均方差δ的获得,如下:
更优选地,在步骤a中,当|vi|>δ时,进行野值的去除。
(6)根据上述(1)至(5)之一所述的方法,其中,rssi值样本数据集在室内环境下的变化服从高斯分布,其密度函数如下:
其中,x表示rssi值,
优选地,在步骤b中,令
(7)根据上述(1)至(6)之一所述的方法,其中,在步骤b中,根据δ原则,选择高概率区域为0.6<f(x)<1,同时,根据标准高斯分布得下式:
其中,在0.26δ+μ和3.09δ+μ之间的x(即rssi值)即为采用高斯分布方法过滤后的数据。
(8)根据上述(1)至(7)之一所述的方法,其中,在步骤d中,所述卡尔曼滤波处理包括增益处理和状态更新。
(9)根据上述(1)至(8)之一所述的方法,其中,在步骤4中,采用k-nnss方法对步骤3预处理后的数据进行指纹数据库匹配;
优选地,所述k-nnss方法如下进行:
其中,(x,y)表示待测点的坐标位置,{(x1,y1),(x2,y2)...(xm,ym)}表示与待测点(x,y)的蓝牙信号强度相似的位置处的坐标。
(10)根据上述(1)至(9)之一所述的方法,其中,在步骤4之后任选地进行步骤5:
步骤5、将步骤3得到的预处理后的待测点的rssi值及步骤4得到的待测点的坐标位置存入步骤2得到的蓝牙rssi值位置指纹库中。
附图说明
图1示出本发明所述室内定位方法的流程示意图;
图2示出本发明所述室内定位方法中步骤1的流程示意图;
图3示出本发明所述数据预处理的流程示意图;
图4示出本发明所述方法的取样密度示意图;
图5示出本发明实施例中经过数据预处理后得到的各蓝牙基站的rssi值的空间分布示意图;
图6示出实施例以及对比例1~2定位的相对误差大小;
图7示出对比例1中的数据预处理流程示意图;
图8示出对比例1中经过数据预处理后得到的各蓝牙基站的rssi值的空间分布示意图。
具体实施方式
下面通过附图对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
本发明一方面提供了一种基于蓝牙rssi值位置指纹库的室内定位方法,如图1所示,所述方法包括以下步骤:
步骤1、进行采样,得到采样点的rssi值和位置信息;
步骤2、对步骤1得到的采样点的rssi值和位置信息进行数据预处理,得到rssi值指纹数据库;
步骤3、采集待测点的rssi值,并对其进行数据预处理;
步骤4、将步骤3预处理后的数据放入步骤2得到的rssi指纹数据库中,进行指纹数据库匹配,获得待测点的坐标位置,实现定位。
其中,rssi值是指信号强度,所述待测点是指待定位点,在步骤2中,所述rssi值指纹数据库包括各采样点的rssi值和各采样点的位置信息。
根据本发明一种优选的实施方式,如图1和图2所示,步骤1包括以下子步骤:
步骤1-1、进行蓝牙基站的布局,并设定rssi值采样位点;
步骤1-2、在步骤1-1设定的rssi值采样位点处采集蓝牙基站的rssi值和采样位点处的位置信息;
步骤1-3、将步骤1-2采集到的rssi值发送至服务器,获得采样点的rssi值。
根据本发明一种优选的实施方式,在步骤1-1中,蓝牙基站的布局密度为2~6个/15m2。
在进一步优选的实施方式中,在步骤1-1中,蓝牙基站的布局密度为3~4个/15m2,例如4个/15m2。
其中,发明人经过大量实验发现,在特定空间中,例如基于15m2的空间内,基站数少于4个时,获取到的rssi值受到外界干扰严重,上下波动大,误差较大。基站数多于4个时,过多的蓝牙基站对精度的提高没有很明显的帮助。因此,在本发明中,基于15m2的空间内,优选布置有4个蓝牙基站。
这样,利用多个蓝牙基站的设置,并建立数据库,采用数据库匹配相较于测距算法,可有效避免rssi信号折损对定位精度的影响。
根据本发明一种优选的实施方式,在步骤1-2中,采样密度为(0.3~0.7)m2/个。
在进一步优选的实施方式中,在步骤1-2中,采样密度为(0.4~0.6)m2/个。
在更进一步优选的实施方式中,在步骤1-2中,采样密度为0.5m2/个。
其中,发明人经过大量实验发现,小于0.3~0.7m的采样间距里采取到的rssi值变化太小,不能很好的展现去采样点的区别性。大于0.3~0.7m的采样间距中,由于较大的距离外rssi值浮动很大,采集到的数据呈现很大不稳定性,因此,采样密度为(0.3~0.7)m2/个,并优选为0.5m2/个。
根据本发明一种优选的实施方式,在步骤1-2和步骤3中,在每个采样点和待测点进行多次数据采集,获得一组rssi值样本数据集,记为{rssi1,rssi2...rssin}。
根据本发明一种优选的实施方式,在步骤2和步骤3中,所述数据预处理用于对每个采样点和待测点得到的一组样本数据集进行处理,优选地,如图3所示,所述数据预处理包括以下子步骤:
步骤a、利用高斯拟合筛选去除野值;
步骤b、采用高斯分布方法过滤数据,进行数据平滑;
步骤c、对步骤b处理后的数据进行平均值的求取,得到rssi特征值;
步骤d、对步骤c得到的rssi特征值进行卡尔曼滤波处理,得到蓝牙rssi值位置指纹库。
在进一步优选的实施方式中,步骤a和步骤b同时进行。
根据本发明一种优选的实施方式,在步骤a中,假设某采样点或待测点到蓝牙基站的rssi值样本数据集为{rssi1,rssi2...rssin},得到rssi值样本数据的残差为:
其中,
在进一步优选的实施方式中,在步骤a中,进行rssi样本数据集均方差δ的获得,如下:
在更进一步优选的实施方式中,在步骤a中,当|vi|>δ时,进行野值的去除。
其中,当|vi|>δ时,则对应于vi处的rssi值为存在较大误差的野值,需要进行去除。具体地,采取充足样本数据后,使用操作简单的δ准则剔除较大误差,即若残差|vi|>δ,则对应于vi的样本值可作为存在较大误差的野值去除。
根据本发明一种优选的实施方式,在步骤b中,rssi值样本数据集在室内环境下的变化看作是服从高斯分布的,其密度函数如下:
其中,x表示rssi值,
在进一步优选的实施方式中,在步骤b中,根据密度函数得rssi值的分布函数:
在更进一步优选的实施方式中,根据δ原则,选择高概率区域为0.6<f(x)<1,同时,根据标准高斯分布得下式:
其中,在0.26δ+μ和3.09δ+μ之间的x(即rssi值)即为采用高斯分布方法过滤后的数据,即平滑数据。
在本发明中,通过高斯处理,剔除小概率事件的值,消除异常信号的干扰,使得生成的指纹向量(rssi值)更加准确。
根据本发明一种优选的实施方式,在步骤d中,所述卡尔曼滤波处理包括增益处理和状态更新。
在进一步优选的实施方式中,所述增益处理如下进行:
其中,
在更进一步优选的实施方式中,所述状态更新如下进行:
其中,
根据本发明一种优选的实施方式,在步骤4中,采用k-nnss方法对步骤3预处理后的数据进行指纹数据库匹配。
在进一步优选的实施方式中,所述k-nnss方法如下进行:
其中,(x,y)表示待测点的坐标位置,{(x1,y1),(x2,y2)...(xm,ym)}表示与待测点(x,y)的蓝牙信号强度相似的位置处的坐标。
可见,在本发明中,所述k-nnss方法的工作原理是在已经建立好的位置指纹数据库(rssi值指纹数据库)里找到与待测点接收信号强度(rssi值)最接近的若干样本,并将它们对应的若干位置质心作为待测点实际位置。
根据本发明一种优选的实施方式,在步骤4之后任选地进行步骤5:
步骤5、将步骤3得到的预处理后的待测点的rssi值及步骤4得到的待测点的坐标位置存入步骤2得到的蓝牙rssi值位置指纹库中。
这样,可以随时充盈蓝牙rssi值位置指纹库内的数据。
本发明所具有的有益效果包括:
(1)本发明所述方法进行了多个蓝牙基站的设置,并建立位置指纹数据库,这样,相较于传统的一个蓝牙基站的测距方法,使得到的rssi值无信号折损;
(2)本发明所述方法采用高斯拟合筛选、卡尔曼滤波等方式对采集数据进行预处理,提高了数据精度;
(3)本发明所述方法采用knnss定位算法,完成实时在线定位功能,是一种高精度、低能耗、低成本、实时性高、通用性强的室内定位方式,能满足现代室内定位智能化、高精度的要求。
实施例
在大概(3~3.5)×(5~5.5)m2的室内空间内进行测试,其中,对于所述室内空间设置4个蓝牙基站,并在大概0.5×0.5m2的间隔进行采样,如图4所示。其中,为避免设备的时间漂移,设置采样时间为2分钟,得到采样点的rssi值,并发送至服务器。
在matlab中对采样点的rssi值进行数据预处理,具体地,如本发明所述步骤a~d所述进行,得到rssi值指纹数据库,如表1所示(其中,表1只列举了部分数据):
表1
同时,所述指纹数据库又如图5所示。
对待测点同样按本发明所述步骤a~d所述进行数据处理,然后根据k-nnss方法在rssi值指纹数据库中进行匹配,得到待测点的位置坐标,具体地,其定位相对误差结果如图6所示。
可见,采用本发明所述方法进行室内定位时,且相对误差在零位浮动不大,由此验证了本发明所述方法的可行性及精确性。
对比例
对比例1
重复实施例的过程,区别在于,在进行数据预处理时采用递推滑动平均滤波和卡尔曼滤波处理,其中,所采用的卡尔曼滤波处理与本申请采用的卡尔曼滤波处理一样,区别在于递推滑动平均滤波。
具体地,递推平均滤波的基本原理是把连续接收到的若干个rssi值看成一个队列,可将队列中rssi值的个数记为n。接收到一个新的rssi值放入队尾,若原队伍已满(达到n个),就先舍弃掉原来队首的一个rssi值,再将这个新的rssi值放入队列中。然后将队列中的n个数据进行算术平均运算,获得的结果即为新的滤波结果,记录下该滤波结果,并放入新队列的队首。所述递推滑动平均滤波的处理流程如图7所示。
其一,在对比例1中得到的指纹数据库如图8所示。
(1)比较图5和图8,与对比例1所述预处理(图8所示)相比,采用本发明所述预处理在处理之后数据(图5所示)更加平滑,其中,在本发明中,在滤波之前rssi的平均值为-67.5dbm,模型测量距离与实际距离之差在-3.14米,在经过高斯滤波之后,平均值变成-65.9dbm,模型测量距离与实际距离之差减小为-1.63米。显然,经过高斯滤波之后,测距精度能够得到较好的改善。
其二,对比例1的定位相对误差结果如图6所示,由图中可以看出,对比例1实现定位的相对误差较本发明而言,稍大一些,尤其是在采样个数较少时。
对比例2
在该对比例中,同样是在大概(3~3.5)×(5~5.5)m2的室内空间进行测试,区别在于,仅设置一个蓝牙基站,并基于rssi的测距技术进行室内定位,其中,基于rssi的测距技术是利用无线电信号随距离增大而有规律地衰减的原理测量待测点与基站之间的距离,接收信号强度rssi与传输距离d的关系如下所示:
rssi=-(10·n·lgd+a)
其中,n为环境衰减因子,也称传播系数,a为发送端和接收端相隔1m的信号强度。
为了近似地得到rssi值与移动设备跟基站之间距离的关系,在实验空间内部大概0.5×0.5m2的间隔进行采样,获得多组数据(其中,采用与实施例相同的数据预处理进行采样数据的处理),并且在每个距离下对其rssi值测量若干个数据,去除一个最大值和一个最小值取平均,由此可最大限度减小测量中由于遮蔽因子引起的变化,并采用线性拟合来得到相关参数,即:
f(x)=p1·x+p2
其中,-10lgd→x,rssi→f(x),经过拟合得到:
f(x)=1.1691x-58.7004,即n=1.169,a=58.7004,然后将测得的rssi值代入测距公式,即可获得距离:
其中,对比例2的定位相对误差结果如图6所示,由图中可知,其定位误差明显大于本发明所述方法,说明其可行性和精确性均不如本发明所述方法。
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。