论文部分内容阅读
[摘 要]随着人们的生活水平越来越高,人们对室内定位的需求也越来越明显,而另一方面就是日常生活中,经常发生重要物品的丢失,因此对重要物品的保护以及寻找也是人们越来越需要的,而本课题就是基于后者研究的。
[关键词]室内定位算法位置指纹算法wifi
中图分类号:P228.1 文献标识码:A 文章编号:1009-914X(2015)27-0379-01
1.研究背景
现存的室内定位技术良莠不齐,辅助GPS定位技术、蓝牙技术、超声波定位技术、光跟踪定位技术、地磁场以及wifi定位技术等等。超声波定位技术虽然精度高,但是由于室内环境复杂,因此很容易受到多径效应的影响;蓝牙技术本身体积比较小,易携带,因而可以很容易地嵌入到电脑或者手机中,但是像室内这样复杂的环境下,它的稳定性就变得十分的差了,而且藍牙的控制范围很小,如果在大型的建筑物里,蓝牙技术就相当的不方便了;光追踪定位技术精度较高,但是需要设备复杂,成本很高;但是wifi由于它具有覆盖范围大,便于安装,而且只需要的可接入点(AP)不多,并且设备简单,成本低,因此wifi定位技术作为一种全新的室内定位技术获得了广泛的关注,为此我们的防丢器也利用了wifi定位技术。
室内定位技术需要解决的问题主要有两个:一个是如何克服室内复杂的环境以及由于人的移动而造成室内环境的变化;另一个则是定位精度的问题。室内复杂的环境的克服可以通过最大限度的提高设备的质量以及不同AP的位置来克服,而定位精度的问题则就是靠精确的定位算法来解决。
2.研究现状
室内定位分类方法有很多种,比较主流的则是根据测量技术来进行分类:有基于到达时间测量的TOA定位,有基于到达时间差测量的TDOA定位,有基于到达角度测量的AOA定位,还有基于接收信号强度测量的RSSI定位。
2.1 TOA/TDOA定位
因为电磁波在空气中的传播速度是已知的,那么如果可以测量得到传播的时间,那么速度乘以时间就可以求得定位点到AP的距离,这样不同的AP有着不同的距离,这样就可以估算出定位点的位置。然而TOA定位技术要求定位点跟AP有着非常精确的同步,这样就需要以时间测量工具的复杂为代价。因此为了克服这种代价,就出现了TDOA定位,它是利用定位点的发射信号到不同AP的时间差来估算出定位点的位置。
2.2 AOA定位
AOA定位技术的原理是根据不同的AP发射信号到定位点的角度不同,然后不同的边角线的交点即为我们估算出来的定位点。
然而TOA/TDOA定位由于需要复杂的时间测量工具作为基础,因而成本较高,因此主要应用于蜂窝网定位。然而由于室内复杂环境包括桌椅、墙壁以及移动物体等等的反射,信号在室内传播并不会是理想的视距传播。然而这三种方法都是建立在电磁波视距传播的基础上的,因此就会造成较大的误差,使得精度明显下降。
2.3 位置指纹定位
位置指纹定位算法是当前最被广泛使用的算法,它的原理是通过离线阶段,设置很多个定位参考点,记录此时的射频信号强度RSSI(Received Signal Strength Indication)以及物理地址,进而将所有的数据集合建成一个位置指纹数据库。在线定位时,根据接收到的定位点的RSSI以及物理地址(Mac地址)在指纹数据库进行匹配,找到与之最接近的几个参考点,然后再根据相应的匹配算法估算出定位点的位置。由于位置指纹定位算法具有较高精确度、不需要硬件添加、算法效率高、抗环境干扰强、成本低等优点而成为学者研究的重点。
3.位置指纹点算法
正如上文中所述,位置指纹定位技术分为两个阶段:离线训练阶段和在线定位阶段。第一个阶段的主要任务是在定位范围内设置若干个参考点,而参考点的分布一般为网格分布,然后在每个定位参考点测量不同的接入点(AP)的RSSI强度,将此参考点的RSSI以及它的位置信息(Mac地址)全部记录下来,进而构成指纹数据库。第二个阶段是在线定位阶段,在线定位阶段是利用定位移动终端在定位点接收到的RSSI以及此时的Mac地址,接着根据相应的匹配算法来判断指纹数据库中哪些定位参考点的数据跟它相似,接着利用一组或者几组相似的数据的定位参考点来估算出实际的定位点。
离线定位阶段的任务是建立一个指纹数据库,而这个指纹数据库的数据的数量和准确度决定在线定位时的精度,然而为了提高定位的准确度,必须有足够多的数据量作为支撑,但是为了有足够多的数据,就必须设置足够多的参考点,这样的话就需要耗费大量的人力,因此离线定位阶段一个重要的难题就是如何在保证精度的前提下最大限度的减少离线阶段的工作量。
在线阶段的任务是当定位点测量得到相应的RSSI以及Mac地址后,根据一定的匹配算法从而匹配出数据相似的定位参考点,然后根据这些参考点估算出定位点的位置。因此提高定位的准确度的关键就是找到一个精确的匹配算法,当前存在的确定性定位算法主要有NN、KNN、WKNN、支持向量机算法等。下面简单介绍一下这几种算法:
(1)最近邻法(NN)
最近邻法是通过计算定位点的RSSI与指纹数据库中的各个矢量之间的距离,接着选择最小的距离对应的定位参考点的RSSI矢量,将这个参考点作为定位点位置输出。
式中,和分别是定位点和指纹点的信号强度矢量,n为AP个数。
(2)K近邻法(KNN)
与NN算法不同的是,KNN算法是通过在指纹数据库中找到定位点RSSI矢量接近的K(K>2)个矢量,再将这K个数据库矢量的平均值作为估算出来的定位的位置估计值。
式中,是第i个被选取的指纹信息所对应的坐标,为定位结果坐标。
(3)K加权近邻法(WKNN)
K加权近邻法是在K近邻法的基础上,求平均值的时候并不是直接相加求平均,而是由于不同距离的参考点对定位点位置的确定所起的作用不同,因此在每个定位参考点的位置前加了个加权系数。
4.算法仿真
本课题采用一套用于wifi定位研究的工具集:Loc{lib,trace,eva,ana}。该工具集包含6个组件,他们分别是Loclib,Loctrace,Loceva,Locana,Locutil1及Locutil2。
其中Loclib是应用程序和传感器硬件的一个连接器,它的任务就是从传感器硬件收集数据,并且做一些预处理工作。从应用程序角度来看,它就是充当一个Java Location API以及访问传感器的一个句柄(Handler);从硬件角度看,它直接通过硬件驱动来获取传感器的信息。
Loctrace的作用就是直接通过Loclib来收集数据,然后把它存到文件中去。
Loceva则是使用Loctrace产生的追踪文件来评估不同类型的定位算法。目前Loceva已经实现了很多的定位算法。Loceva还包含很多的过滤器和生成器,以此设置不同的场景去仿真。
Locana则可以对Loctrace和Loceva产生的结果进行可视化显示,从而验证Loctrace的结果是不是具有完整性和可靠性。对于Loceva产生的结果进行可视化显示可以很方便的验证定位算法是不是如它们预期的那样运行。
Locutil1和Locutil2则是作为工具组件来给其他组件使用的。
[关键词]室内定位算法位置指纹算法wifi
中图分类号:P228.1 文献标识码:A 文章编号:1009-914X(2015)27-0379-01
1.研究背景
现存的室内定位技术良莠不齐,辅助GPS定位技术、蓝牙技术、超声波定位技术、光跟踪定位技术、地磁场以及wifi定位技术等等。超声波定位技术虽然精度高,但是由于室内环境复杂,因此很容易受到多径效应的影响;蓝牙技术本身体积比较小,易携带,因而可以很容易地嵌入到电脑或者手机中,但是像室内这样复杂的环境下,它的稳定性就变得十分的差了,而且藍牙的控制范围很小,如果在大型的建筑物里,蓝牙技术就相当的不方便了;光追踪定位技术精度较高,但是需要设备复杂,成本很高;但是wifi由于它具有覆盖范围大,便于安装,而且只需要的可接入点(AP)不多,并且设备简单,成本低,因此wifi定位技术作为一种全新的室内定位技术获得了广泛的关注,为此我们的防丢器也利用了wifi定位技术。
室内定位技术需要解决的问题主要有两个:一个是如何克服室内复杂的环境以及由于人的移动而造成室内环境的变化;另一个则是定位精度的问题。室内复杂的环境的克服可以通过最大限度的提高设备的质量以及不同AP的位置来克服,而定位精度的问题则就是靠精确的定位算法来解决。
2.研究现状
室内定位分类方法有很多种,比较主流的则是根据测量技术来进行分类:有基于到达时间测量的TOA定位,有基于到达时间差测量的TDOA定位,有基于到达角度测量的AOA定位,还有基于接收信号强度测量的RSSI定位。
2.1 TOA/TDOA定位
因为电磁波在空气中的传播速度是已知的,那么如果可以测量得到传播的时间,那么速度乘以时间就可以求得定位点到AP的距离,这样不同的AP有着不同的距离,这样就可以估算出定位点的位置。然而TOA定位技术要求定位点跟AP有着非常精确的同步,这样就需要以时间测量工具的复杂为代价。因此为了克服这种代价,就出现了TDOA定位,它是利用定位点的发射信号到不同AP的时间差来估算出定位点的位置。
2.2 AOA定位
AOA定位技术的原理是根据不同的AP发射信号到定位点的角度不同,然后不同的边角线的交点即为我们估算出来的定位点。
然而TOA/TDOA定位由于需要复杂的时间测量工具作为基础,因而成本较高,因此主要应用于蜂窝网定位。然而由于室内复杂环境包括桌椅、墙壁以及移动物体等等的反射,信号在室内传播并不会是理想的视距传播。然而这三种方法都是建立在电磁波视距传播的基础上的,因此就会造成较大的误差,使得精度明显下降。
2.3 位置指纹定位
位置指纹定位算法是当前最被广泛使用的算法,它的原理是通过离线阶段,设置很多个定位参考点,记录此时的射频信号强度RSSI(Received Signal Strength Indication)以及物理地址,进而将所有的数据集合建成一个位置指纹数据库。在线定位时,根据接收到的定位点的RSSI以及物理地址(Mac地址)在指纹数据库进行匹配,找到与之最接近的几个参考点,然后再根据相应的匹配算法估算出定位点的位置。由于位置指纹定位算法具有较高精确度、不需要硬件添加、算法效率高、抗环境干扰强、成本低等优点而成为学者研究的重点。
3.位置指纹点算法
正如上文中所述,位置指纹定位技术分为两个阶段:离线训练阶段和在线定位阶段。第一个阶段的主要任务是在定位范围内设置若干个参考点,而参考点的分布一般为网格分布,然后在每个定位参考点测量不同的接入点(AP)的RSSI强度,将此参考点的RSSI以及它的位置信息(Mac地址)全部记录下来,进而构成指纹数据库。第二个阶段是在线定位阶段,在线定位阶段是利用定位移动终端在定位点接收到的RSSI以及此时的Mac地址,接着根据相应的匹配算法来判断指纹数据库中哪些定位参考点的数据跟它相似,接着利用一组或者几组相似的数据的定位参考点来估算出实际的定位点。
离线定位阶段的任务是建立一个指纹数据库,而这个指纹数据库的数据的数量和准确度决定在线定位时的精度,然而为了提高定位的准确度,必须有足够多的数据量作为支撑,但是为了有足够多的数据,就必须设置足够多的参考点,这样的话就需要耗费大量的人力,因此离线定位阶段一个重要的难题就是如何在保证精度的前提下最大限度的减少离线阶段的工作量。
在线阶段的任务是当定位点测量得到相应的RSSI以及Mac地址后,根据一定的匹配算法从而匹配出数据相似的定位参考点,然后根据这些参考点估算出定位点的位置。因此提高定位的准确度的关键就是找到一个精确的匹配算法,当前存在的确定性定位算法主要有NN、KNN、WKNN、支持向量机算法等。下面简单介绍一下这几种算法:
(1)最近邻法(NN)
最近邻法是通过计算定位点的RSSI与指纹数据库中的各个矢量之间的距离,接着选择最小的距离对应的定位参考点的RSSI矢量,将这个参考点作为定位点位置输出。
式中,和分别是定位点和指纹点的信号强度矢量,n为AP个数。
(2)K近邻法(KNN)
与NN算法不同的是,KNN算法是通过在指纹数据库中找到定位点RSSI矢量接近的K(K>2)个矢量,再将这K个数据库矢量的平均值作为估算出来的定位的位置估计值。
式中,是第i个被选取的指纹信息所对应的坐标,为定位结果坐标。
(3)K加权近邻法(WKNN)
K加权近邻法是在K近邻法的基础上,求平均值的时候并不是直接相加求平均,而是由于不同距离的参考点对定位点位置的确定所起的作用不同,因此在每个定位参考点的位置前加了个加权系数。
4.算法仿真
本课题采用一套用于wifi定位研究的工具集:Loc{lib,trace,eva,ana}。该工具集包含6个组件,他们分别是Loclib,Loctrace,Loceva,Locana,Locutil1及Locutil2。
其中Loclib是应用程序和传感器硬件的一个连接器,它的任务就是从传感器硬件收集数据,并且做一些预处理工作。从应用程序角度来看,它就是充当一个Java Location API以及访问传感器的一个句柄(Handler);从硬件角度看,它直接通过硬件驱动来获取传感器的信息。
Loctrace的作用就是直接通过Loclib来收集数据,然后把它存到文件中去。
Loceva则是使用Loctrace产生的追踪文件来评估不同类型的定位算法。目前Loceva已经实现了很多的定位算法。Loceva还包含很多的过滤器和生成器,以此设置不同的场景去仿真。
Locana则可以对Loctrace和Loceva产生的结果进行可视化显示,从而验证Loctrace的结果是不是具有完整性和可靠性。对于Loceva产生的结果进行可视化显示可以很方便的验证定位算法是不是如它们预期的那样运行。
Locutil1和Locutil2则是作为工具组件来给其他组件使用的。