基于WiFi的室内定位研究与实现.docx
- 文档编号:10613163
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:28
- 大小:1.02MB
基于WiFi的室内定位研究与实现.docx
《基于WiFi的室内定位研究与实现.docx》由会员分享,可在线阅读,更多相关《基于WiFi的室内定位研究与实现.docx(28页珍藏版)》请在冰豆网上搜索。
基于WiFi的室内定位研究与实现
1前言
近年来,随着无线通信技术与网络技术的不断发展和全面普及,各种新业务
与新需求层出不穷,其中位置感知计算(Location-awareComputing)和基于位置的服务LBS在人们的生产生活中起到了至关重要的作用,如何确定用户位置是实施前述应用的首要问题,因此定位技术是位置感知计算和基于位置的服务的核心问题。
根据应用环境与场景的不同,定位技术可分为室内定位技术和室外定位技术。
室外定位系统主要有蜂窝定位和全球定位系统GPS。
蜂窝无线定位即手机定位,是基于移动蜂窝网的基站定位,其定位精度依赖于基站的分布和基站信号覆盖范围的大小。
1996年,美国FCC颁布了E-911(Emergencycall‘911’)条例提出了相关的技术要求,要求移动通信提供商必须为用户提供定位准确度在125m以内的室外定位服务,2001年以后,美国FCC提出了更严格的准确度和三维空间定位的需求。
在政府的要求和市场利润的驱动下,使基于蜂窝移动网的定位技术得到了广泛的应用。
美国的GPS系统是目前使用最广泛、用户人数量最多的全球性定位系统。
GPS系统由24颗卫星组成,在任何时间任何地点地面接收终端都可以同时接受到4颗以上的卫星发出的信号。
根据电磁波的传播原理,通过卫星信号的到达时间差来计算出搜索到的卫星和终端用户之间的距离,采用三边定位法计算出终端用户的具体位置,其民用定位精度可以达到15m以内。
同时,其他国家也陆续研究开发出了具有自主知识产权的定位系统,包括和中国的北斗卫星定位系统、俄罗斯的Glonass定位系统和欧盟的Galileo定位系统。
但是在城市环境中,由于GPS卫星发射的电磁信号太微弱,楼宇等建筑物阻碍了卫星信号的传播,所以导致了所谓的“都市峡谷”(UrbanCanyon)效应,使得GPS系统无法正确定位。
因此,虽然GPS系统在室外环境能够有效地定位,但是在室内环境却无法进行有效的定位。
以上两种定位系统是应用比较广泛的室外定位系统,但应用于室内的时候,
这两种定位系统并不能提供很好的定位服务。
首先,由于室内环境复杂,信号在
室内传播的情况要复杂于室外传播的情况。
其次,室外定位应用大都是开阔环境中,几十米的定位误差并不影响用户的使用感受;但对于室内定位应用而言,需
要将定位精度控制在若干米以内,才能为用户提供达可具使用性的室内定位系统。
针对室内定位的难点,即克服信号受到环境噪声的干扰,对移动用户的快速定位,对定位精度的高要求,国内外研究人员都进行了有针对性的研究,这些研究涉及到无线网络、传感器技术、随机信号处理等众多交叉领域。
2总体方案设计
2.1WiFi室内定位技术的分类
2.1.1几何法
几何法是利用几何学原理估计用户位置的定位方法,几何法包括三边定位法
和三角定位法,其中前者使用距离作为几何参数,后者使用角度作为几何参数,
以下将简述三边定位法的定位原理。
三边定位法是一种基于测距的定位算法,GPS全球定位系统是典型的使用三
边定位法进行位置估计的定位系统,根据定位目标与各个参考点的距离使用几何方法得到估计坐标。
在二维空间坐标系中,选取三个点作为参考点,这三个点必须是不共线的,在得知它们与定位目标之间距离的情况下即可以计算出定位目标的位置。
如图2.1.1所示,已知参考节点A、B、C的坐标分别为(Xa,Ya)、(Xb,Yb)、(Xc,Yc),测得它们到待定位节点D的距离分别为Da、Db、Dc,假设节点D的坐标为(x,y)。
图2-1-1三边定位法示意图
当测得未知节点与信标节点的距离为d时,在理想情况下,可认为未知节点在以参考节点为圆心半径为d的圆上,三个相交的圆可唯一确定一个点或一个区域,这个点或者这个区域的中心即为未知节点的位置。
根据已知参数,可建立如下一组方程:
2.1.2近似法
近似法的原理为在某一范围内监测附近用户,若感知到用户在接近某锚节点时,即可以使用锚节点位置近似计算用户的位置。
如图2-4所示。
在无线网络中,每个接入点都有一定的覆盖范围,它是连接用户从无线通信
到有线通信的纽带,为无用户提供通信服务,所有进入这一信号区域的无线用户
都可以通过与它的关联实现网络通信。
此定位方法是通过AP接入点的位置来估计用户的位置,其最大优点是简单,易于实施使用,无需在终端安装任何额外的硬件设备和软件程序,可以使用服务器进行集中监控,常用的服务器接入监控程序可以基于RADIUS(RemoteAuthenticationDial-InUserService)协议或者基于SNMP(SimpleNetworkManagementProtocol)协议。
近似法的定位精度主要依赖于AP接入点的接入距离,IEEE802.11的理论接入距离是室内
100米和室外300米,但在实际使用中有各种障碍物,如混凝土墙壁和铁对射频信号的屏蔽最大,玻璃、木板、石膏墙等对无线信号的影响最小,所有AP接入点的有效接入距离是室内3米、室外100米。
图2-1-2近似法位置估计示意图
2.1.3场景分析法
该方法首先将观察到的环境信息简化成易于量化与计算的信息量,使用相关
的信息量描述物理位置,将所有位置的位置信息量汇总构成环境数据库。
在位置
匹配阶段,利用在某一地点观察到的场景特征信息量,使用特定的匹配算法进行
位置匹配,从而分析推断用户的估计位置。
场景分析法的优点在于不用依赖于几何量就可以通过非几何的角度或距离这些的特征估计出物体的位置。
测量角度或距离需要添加额外的设备,实施复杂度高,也不利于实际实施。
但是,场景分析法也有其不足之处,系统需要获得具体定位环境的特征集,从而与其实时场景特征量进行匹配和定位。
而且,环境中的某些环境参数的改变可能会导致先期的环境特征量不再适用,从而可能要重新构建新的特征集。
2.2方案的选择比较
2.2.1定位方法的选取
基于WIFI的室内定位有三种基本定位思路,包括几何法、近似法和场景分析法,表2-2为几种定位方法的对比情况。
表2-2室内定位方法的比较
与基于传播模型的几何法相比,基于位置指纹的定位模型可以提供更高精度
的定位要求,而且具有良好的鲁棒性,可以有效避免由于传播模型不准确所带来
的定位误差,所以基于位置指纹的定位方法成为目前室内定位的主流方向。
因此
将基于WiFi和位置指纹的室内定位方法作为本课题的研究对象。
2.2.2定位算法的选取
基于WIFI的室内定位有两种基本的定位算法,分别是最近邻法和朴素贝叶斯法。
最近邻法:
朴素贝叶斯法:
朴素贝叶斯法是一种源于统计学的分类方法,是贝叶斯分类的一种基于贝叶斯定理的实现。
它通过计算目标的后验概率来实现定位。
位置指纹识别的两种基本匹配算法(K近邻法和朴素贝叶斯法)中,朴素贝叶斯法的定位精度要高于K近邻法,因此本文所实现的定位系统选择基于概率性的贝叶斯匹配算法作为基本定位方法。
3WiFi定位系统的概述
目标是实现基于位置指纹的无线室内定位系统,旨在向用户提供所在区域的实时位置信息,并提供相对应的指引帮助。
定位系统的主要目标如下:
●为用户提供高精度和高可靠性的室内定位服务;
●使用户可以在系统覆盖区域无缝地使用定位服务,获取其所在位置的实时
位置信息;
●定位系统可以迅速地处理来自用户的定位请求,并对并发访问提供良好的
应答机制。
图3无线室内定位系统整体架构
定位系统整体架构如图3所示,本室内定位系统是由定位服务器、WiFi网络(含AP)和定位终端三部分组成。
定位服务器的主要功能:
(1)解析离线阶段采集的RSSI信息,建立WLAN地图数据库和信号覆盖图数据库;
(2)响应移动终端的定位请求,根据指定的定位匹
配算法结合位置指纹数据库进行位置估计,并将定位结果返回给移动终端。
终端系统的主要功能:
(1)离线阶段自动连续测量RSSI特征数据;
(2)定位阶段扫描发送定位请求和显示由服务器返回的位置信息等。
WiFi网络的主要功能:
(1)构建射频信号空间分布,为定位算法提供RSSI指纹数据支撑;
(2)为移动终端与定位服务器提供通信支撑。
3.1系统功能模块需求
3.1.1服务器程序
服务器程序主要由以下功能模块组成:
网络通信模块、定位算法模块、
RSSI指纹数据库模块和地图信息模块,其结构如图3-1-1所示。
图3-1-1服务器系统结构图
其中网络通信模块与移动终端进行通讯,需要接收来自多个移动终端的定位
请求,并能将定位结果和位置应用等相关信息返回给相应的移动终端。
RSSI位置指纹数据库模块在服务器启动之初,需要对离线阶段所采集的位置
指纹信息进行解析,结合实际环境中的建筑布局进行定位空间建模,将位置指纹
信息和定位环境相关联。
并根据定位算法的要求,对数据库中的位置指纹进行滤
波处理,保证指纹信息的准确性,以提高定位系统的定位精度。
定位算法模块是整个系统中最核心的功能模块,对室内定位结果有着极大的
影响。
由于目前有很多种基于位置指纹的定位算法,且各算法对系统要求各异,
因此在系统设计之初,应选择合适的设计模式和数据结构以保证能定位系统可以
兼容多种定位算法,为以后的系统拓展和改进提供必要的基础。
3.1.2终端程序
终端程序主要由以下功能模块组成:
RSSI测量模块、UI界面和网络通信模块,其结构如图3-1-2所示。
图3-1-2终端系统功能结构图
网络通信模块与服务器端通信模块为通信对等实体,不再详述。
RSSI测量模块使用无线网卡底层驱动,读取接收自各个AP的Beacons帧信息,得到所需要的RSSI信息,并将位置指纹与位置信息相关联。
位置信息显示模块即为UI界面,由于终端界面需要使用在离线阶段和定位阶段,并且两个阶段的功能作用不同,因此需要有两种UI界面。
一种为系统维护人员所使用的位置信息采集界面,需要输入位置信息,并可设置时间间隔在某一参考点处连续采集一组RSSI数据;另一种为用户使用的定位查询界面,将由服务器返回的位置信息显示在UI界面中。
4WiFi定位系统的设计与实现
定位系统的服务流程如图4所示。
(1)离线训练阶段,在定位区域使用移动终端测量收集各个AP的RSSI信息,并将RSSI信息存储在位置指纹数据库中供服务器程序进行定位使用。
(2)在线定位阶段,启动定位服务器中的程序,完成系统初始化工作,并做好监听定位请求的准备。
(3)开启移动终端上的终端程序,根据WiFi网络初始化通信网络,关联通信AP,
图4定位系统服务流程图
并读取配置文件进行UI界面初始化。
(4)移动终端扫描无线信号,将对应AP的MAC和RSSI列表发送给定位服务器。
(5)服务器程序接收到用户的定位请求后,使用指定的位置匹配算法计算出用户
的当前位置,并结合当前位置的其他应用信息,一同返回给移动终端。
(6)终端程序收到服务器程序返回的位置结果后,将用户位置显示在地图显示模
块中,为用户提供直观的显示效果。
4.1硬件平台
4.1.1无线AP
系统中使用的无线AP是LinksysWRT54G,有很多种开源无线路由固件都支持此款AP,如TomatoDualWAN,DD-WRT,WayOS和OpenWRT,因此,可以提供给用户多于默认固件的功能,有助于提升用户的使用感受。
WRT54GZ的详细配置参数如表4-1-1示。
表4-1-1WRT54G参数
4.1.2移动终端
在本系统中采用的移动终端是Lenovo的LePadA1,这是一款基于android系统的平板电脑,其中CPU主频1GHz,并拥有7英寸,1024*600的大屏幕,A1的
详细配置参数如表4-1-2所示:
表4-1-2LePad参数
4.2服务器系统
服务器系统的功能结构主要包括网络通信模块、定位算法模块和RSSI指纹数据库模块,服务器系统的逻辑关系如图4-2所示,箭头方向代表数据流向。
服务器程序在VS2010下实现,各个功能模块在同一主机中,后期可以考虑将服务程序和数据库分离在不同的机器中。
图4-2服务器系统逻辑图
4.2.1数据库模块
数据库模块中首要功能是保存位置指纹数据,需要对离线阶段所采集的位置指纹信息进行解析,结合实际环境中的建筑布局进行定位空间建模,将位置指纹信息和定位环境相关联。
本系统将定位区域划分成大小为1*1m的栅格,定位算法最终实际定位目标为栅格的标号,因此,即使定位在同一标号的栅格中,也存在由于栅格划分而产生的定位误差,即位置指纹识别法的定位精度存在理论下限。
所以,需要根据实际定位范围和训练阶段的采样间隔距离来决定栅格大小的划分。
RSSI数据库的定义如表4-2-1所示。
表4-2-1RSSI数据库表
4.2.2定位算法模块
定位算法模块是整个定位系统的核心模块,模块的运行由位置查询报文的到
达事件触发,定位匹配流程如图4-2-2所示。
图4-2-2-1匹配算法流程图
本定位系统所在的定位区域大小在500平方米左右,定位区域将被划分500多个栅格标号,因此建立以栅格标号为键值的静态数组作为主数据索引,并将属于同一个标号的所有指纹数据串联起来,方便匹配算法使用,因为每个位置指纹包含的AP可能不同,使用MAC为键和RSSI为值组成键值对保存在结构map中。
定位匹配算法的指纹数据组织结构如图4-2-2-2所示。
由于本系统所采用的基础匹配算法为基于概率性的朴素贝叶斯法,在位置匹配过程中,每个栅格位置都会计算出相应的后验匹配概率,根据前文所提出的联合定位方法,初定位阶段需要保存M个概率最高的栅格标号,因此,匹配模块采用大小为M的最小堆保存栅格标号与其相对应的概率,以便联合定位阶段不需要重新计算系统布置AP的RSSI的匹配概率,降低匹配算法的时间复杂度。
图4-2-2-2数据组织结构图
4.2.3通信模块
定位系统的基础设施是WiFi无线网络,因为局域网中通信过程中的丢包率很低,而且系统的主要服务是定位服务,定位阶段正常的数据交互仅进行一次往返通信过程即可完成服务,因此,本系统在传输层采用无连接的UDP协议作为传输层协议,考虑到少概率丢包情况,在应用层增加重传机制,当终端发送定位请求之后,如果1s之后没有收到回复,则重传上次的报文请求。
本小节将详细说明终端系统与服务器系统之间的通信协议格式。
应用层的通信协议采用扩展方便的TLV(Type-Length-Value)协议格式。
其中,Type域是signedshort类型,长度为2个字节;Length域是unsignedint类型,长度为4个字节;Value域是可变长度,其中存储应用层载荷数据。
以下为通信功能中的几种典型应用分析数据包的类型,包括:
定位请求、位置响应和RSSI指纹更新。
定位请求的数据定义如表4-2-3-1和表4-2-3-2所示:
表4-2-3-1定位请求格式
表4-2-3-2定位请求载荷数据格式
位置响应的数据定义如表4-2-3-3和表4-2-3-4所示:
表4-2-3-3位置响应格式
表4-2-3-4位置响应载荷数据格式
RSSI指纹更新的数据定义如表4-2-3-5和4-2-3-6所示:
表4-2-3-5RSSI指纹更新格式
表4-2-3-6定位请求载荷数据格式
4.3终端系统
终端系统的功能结构主要包括RSSI测量模块UI界面及终端通信模块三个子模块,终端系统的逻辑关系如图4-3所示,箭头方向代表数据流向。
图4-3终端系统逻辑图
终端系统在平板电脑LePad中实现,操作系统为Android,开发软件使用Eclipse。
现如今基于Android系统的手持终端的数量急速增长,并且由于手持终端体积小巧,便于携带,相比于笔记本电脑,更能满足用户对于实时定位的要求。
Android系统提供丰富的类库和控件,便于开发者使用,大大提高了软件的开发效率,缩短了项目开发周期,使开发者可以把更多的时间花费在业务逻辑中。
因此,本系统采用Android平台作为开发环境,有助于不同终端接入使用本定位系统,提高本定位系统的实用性。
4.3.1RSSI测量模块
RSSI测量模块的功能是测量终端所能扫描到的所有AP的RSSI值,RSSI测量模块的工作流程如图4-3-1所示。
Google公司发布的基于Android操作系统进行应用软件开发的开源SDK工具包,包含了功能丰富的WiFiManager类库,不仅可以使应程序方便地实现WiFi连接,而且其中封装好的WiFi扫描函数可轻松扫描设备通信范围内的AP热点,同时可显示接入点的SSID、MAC地址、IP和经量化处理的RSSI。
WiFiManager提供了一个面向底层硬件驱动程序的抽象接口,使上层应用软件不必知道下层硬件的具体实现方式,直接从驱动程序所更新的参数数据中得到各个AP的RSSI信息。
程序中主要使用了该类的两个方法startScan和getScanResults。
图4-3-1RSSI测量模块流程图
4.3.2UI界面
UI界面的主要功能是显示地图信息,并与用户进行交互,如图4-3-2所示为离线训练阶段所用的UI界面。
其中界面主题显示为本系统所在的定位区域,定位区域以实验室120B左下角作为起始坐标(0,0)的参考点的二维相对坐标,横向为
X轴,纵向为Y轴,坐标轴单位为cm。
因为平板电脑带有触摸屏,所以可以直接触摸用户所在位置,由程序计算得出离线阶段的相对坐标,便于训练阶段使用。
由于训练阶段的位置指纹数据的准确性会对定位系统的定位精度产生巨大的
影响,因此增加以每个房间的左下角为参考点的局部相对坐标系。
训练阶段使用
激光测距仪测量出局部相对坐标,填入文本框中,由程序算出全局相对坐标。
UI界面中左上角区域显示位置坐标,第一列为室内相对局部相对坐标,第二列为全局相对坐标。
如图4-3-2所示,实验室125中的红点的位置即为用户位置,局部相对坐标为(200,300),全局相对坐标为(1201cm,1392)。
定位阶段所用的
UI界面与训练阶段的相似,只是位置坐标由定位服务器返回所得,所以此节不再做描述。
图4-3-2UI界面
4.3.3终端通信程序
终端通信模块的主要功能是接收和发送通信数据,终端通信程序由RSSI测量模块触发。
终端通信模块的工作流程图如图4-3-3所示,具体通信协议前文已经进行介绍。
图4-3-3终端系统通信流程图
5实验平台
5.1软件环境
在研究射频无线信号的空间传播特性之前,首要任务是使用终端在指定位置测量实时RSSI。
本节将介绍后续实验中所用到的WiFi网络实验环境,以及测量射频无线信号等相关信息的方法。
由前文的介绍可知,WiFi无线局域网中的终端通过与AP接入点通过通信连接进行信息交互。
在某时刻,如果不指定AP接入点的SSID,无线网卡将以附近AP接入点的信号强度为标准,选取信号强度最高的AP建立连接请求。
同终端与AP进行关联从而通信的方式不同,定位系统需要终端探测感知所在区域内所有AP接入点的信号强度。
在IEEE802.11协议中,终端可以使用两种方式获取各个AP的RSSI信息,即被动扫描(PassiveScanning)模式和主动扫描(ActiveScanning)模式。
被动扫描模式的优点是可以降低功耗,但由于AP接入点可以被设置为不发送Beacons帧,终端可能无法获得所有AP接入点的RSSI信息,所以本文选择使用主动扫描模式实现RSSI的获取功能。
在主动扫描过程如图5-1所示,终端将扫描所有的802.11信道,在每个信道中,终端将以广播的方式发送ProbeRequest帧,当AP收到此广播帧后,就会选择合适的时序发送ProbeResponse
帧。
随着终端接收到工作在各个信道上的AP返回的ProbeResponse帧,主动扫描过程结束,终端将会获取到所有可以观察到的AP列表,其中包括定位所需要的各个AP的MA地址和RSSI信息。
图5-1802.11协议中的主动扫描过程
目前虽然有很多种网络嗅探工具可以收集WiFi局域网中的各个AP的RSSI,如NetStumbler,但此工具只支持windows平台,并且不可以得到开源代码。
为了提高训练阶段的效率,更符合系统实际的定位需求,本文采用较为轻薄的平板电脑LePad作为终端,并在此终端上开发了RSSI采集程序。
5.2实验场景
5.2.1AP的搭建
本文的实验地点是电子科技大学清水河校区科研B座,由实验室B120~B127以及走廊所组成的区域,即图5-2-1中虚线所包围的区域,总面积为
17m*34m,整个区域已经被WiFi无线局域网覆盖,其中5个AP接入点是为定位系统所布置,AP1部署在实验室125的(10m,5m)位置,AP2部署在实验室127的(10m,5m)位置,AP3部署在实验室125A的(3.5m,6m)位置,AP4部署在实验室122B的(1m,6m)位置,AP5部署在实验室120B的(3m,6m)位置,同时实验区域还可以搜索到其它8个无线AP接入点。
本系统训练阶的主要工作为采集RSSI训练数据,建立位置指纹数据库,在整个实验场景中以1m为采样间隔,一共在271个位置参考点进行数据采样,每个训练点连续采集一定数量的位置指纹,训练阶段共花费两个工作日的时间。
图5-2-1实验场景图
5.2.2RSSI的测量
5.2.2.1RSSI的与位置的关系
从实验环境中的走廊最左侧处开始,每隔1米进行一次采样,沿直线向右方向移动,如图5-2-2-1所示接收自两个AP的RSSI,它们分别是左侧的AP5和右侧的AP2,其中X轴为与走廊最左侧的距离。
可以看出,当终端越靠近AP时,网卡所接收到的RSSI值越强,但由于其它干扰因素,相邻的采样点间的RSSI可能会发生波动。
图5-2-2-1眼走廊行走时的RSSI情况
5.2.2.2RSSI的概率分布
在实际环境中200多个采样点所采集的位置指纹数据,它们的正规化直方图都符合或近似符合正态分布,实际测量值在一个稳定值附近变动,是一个取决于均值的正态随机变量。
图5-2-2-2概率分布直方图
如图5-2-2-2所示,虽然信号强度的概率分布符合正态分布,但有很严重的拖尾现象。
和室内环境中的家具、墙壁、电器设备及门窗位置等固定的干扰源不同,人员是位置时常改变的干扰因素,由于802.11的通信频率为2.4GHz,而人体内水分子所占的比例超过70%,其共振频率同样是2.4GHz,所以人体是干扰射频无线信号传播的一个重要因素。
而且由于不同的时间段内,人员的密集程度和流动程度都有很大的区别,因此,有必要选取合适的时间进行离线训练阶段的位置指纹数据库采集工作。
5.2.2.3RSSI的收敛速度
位置指纹是否可以正确反映信号强度的实际情况将极大地影响定位阶段位置估计的可信性。
构建位置指纹数据库需要保存大量的位置指纹,尤其是使用概率性定位算法的定位系统,为了得到比平均值更多的信号分布信息,需要在每个位置点采集一定数量的瞬时RSSI样本,用以得到在此位置点的RSSI的概率分布情况。
显然在同一参考点采集的RSSI样本值越多,获得关于信号分布的信息越详细准确,但是在系统训练阶段将会花费更多的训练时间。
为了得到可信的信号强度概率分布情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WiFi 室内 定位 研究 实现