基于位置指纹算法的Android平台WiFi定位系统

最新更新时间:2015-03-14来源: 互联网关键字:指纹算法  Android平台 手机看文章 扫描二维码
随时随地手机看文章
近年来,随着城域无线基础网络的发展,热点(AP)的覆盖率大幅度提高,由于定位服务需求的增加以及WiFi应用领域的扩大,WiFi定位成为一种有效的定位方式。GPS卫星定位是最主要的定位方式,它需要在相对空旷、高层建筑不密集的地方获得较准确的定位,当人们处在室内或高楼林立的市区,定位精度明显降低甚至不能定位。此时,利用无处不在的WiFi网络将能够弥补GPS定位的不足。目前大多数的WiFi无线定位算法主要为:基于到达时间、到达角度、到达时间差的模型定位及基于接受信号强度(RSSI)的位置指纹定位算法,由于位置指纹算法的无线定位方式不需要已知AP的位置信息及准确的信道模型,该算法在定位性能以及可用性上具有更大的优势。因此,本文首先设计了整体的系统框架,通过研究分析了该算法目前存在的问题,提出了改进方案,并在Android平台上实现完整的定位系统。

1 系统整体设计

本系统的设计目标是在Android智能终端上实现实时WiFi定位系统,该系统包括客户端、数据服务器以及定位服务器。为了使定位过程和服务器通信过程相对独立,分别设置了专门用于定位的AP热点和客户端与服务器之间的通信AP热点,可有效降低系统环境搭建的初期成本。本方案的系统框架如图1所示。其中的通信AP热点需要与局域网相连,保证定位区域内WiFi信号良好,确保数据传输及处理的及时性。客户端和服务器端通过TCP连接实现可靠传输。

 

 

2 系统实现

2.1 客户端模块设计

本系统采用客户端/服务器(c/s)的网络架构,客户端的定位过程主要包括WiFi无线信号扫描、数据传输、界面显示等,该过程的流程图如图2所示。

 

 

WiFi信号扫描是利用Android API提供的WiFiManager类实现。首先,判断WiFi是否开启;其次取得WiFiManager及WmInf0对象,通过startScan()、getScanResuits()等方法开始扫描并得到扫描结果mScanResult;最后,将数据传递给服务器端进行定位计算。Android平台为用户提供丰富的界面显示控件,本设计使用ListView显示服务器返回的定位位置信息。

2.2 服务器端模块设计

服务器端首先需要不断监听指定端口,当监听到客户端的请求时,创建新进程,该进程负责处理客户端的请求,其处理过程如图3所示。监听数据,如果接收到该数据,则进行CRC校验并结束链接帧,根据请求内容查询数据库并进行定位运算,最后返回定位结果,通过数据传输反馈给客户端界面显示定位信息。

 

 

3 定位算法设计

在室内或室外环境下,由于信号传播途中受地形、障碍物的影响和人体的阻挡,将引起无线信号的折射、衍射等多径传播、多址传播,以不同的时间到达终端,造成传播信号在幅度、频率和相位上的改变。其使得在同一位置,不同时间采集到的RSS值很不确定,即使在同一时间相同位置使用不同的定位设备采集到的RSS大小也会不同,会影响定位的精确性,无线信号传播的衰减模型难以良好地表征距离和信号强度间的映射关系。因此本文采用基于位置指纹的定位算法,同时针对造成定位误差的主要原因,提出了改进的定位算法以提高定位鲁棒性。

3.1 位置指纹定位算法

位置指纹定位是根据不同位置接收到的信号强度向量,建立相应的位置指纹数据库,通过实时采集的信号强度与数据库信号空间中储存的信号向量,根据一定的匹配算法实现定位。该算法能够在一定程度上减少多径效应的影响,增强抗干扰能力。目前,基于位置指纹的定位算法主要分为确定型和概率型,前者的计算效率较高,后者的定位精度较高,但是计算量较大,为了快速定位,采用确定型的位置指纹定位算法。

位置指纹定位过程一般分两个阶段实现:离线采样阶段和在线定位阶段。离线采样阶段主要目的是建立位置指纹数据库,根据定位环境设计较为合理的采样分布图,遍历待定位区域内的所有采样点,将相应的信号强度、MAC地址以及位置信息等记录在指纹数据库中。数据库中数据的准确性决定了定位的精确程度,数据越精确,定位效果越好。在线定位阶段是利用Android手机在待定位点测得AP的信号强度和物理地址,然后通过相应的匹配算法,在数据库中搜索与测量点相匹配的数据,从而估计用户的实际位置。位置指纹的定位过程如图4所示。

 

3.2 匹配算法

通常的匹配算法有K最近邻匹配算法(KNN),该算法能够有效提高定位精度且应用成熟。本文采用了该匹配算法,K最近邻匹配算法的实质是计算待测点采集到的RSS向量和数据库中已记录的RSS向量之间的距离。假设待测区域有n个AP,m 个参考点,则距离的表达式如下:

 

 

其中,q为正整数,当q=1时称为曼哈顿距离,q=2,称为欧式距离;L代表向量在空间中的距离。本文使用q=2进行计算,当取得n个最小欧式距离的位置点后,求取n个坐标点的质心为待测点位置坐标。

3.3 改进的位置指纹定位算法

理论研究表明:由于室内环境复杂,无线信号会因为时间的变化、人体的随机晃动及环境等因素的影响使信号强度值呈现一定的波动。为了保证信号数据本身的稳定性,在实验室环境下进行如下实验:在同一位置的不同时间分别采集数据,上午和下午两个时间段每隔1 S共采集300次WiFi信号。发现无线信号随时间变化不大,基本存在2 dB左右误差,对定位结果影响较小。

但在多次测试过程中发现,无线信号强度在某位置下会出现如图5所示的波动情况,多数信号强度值保持在一定范围内,但中间会存在抖动的数据,该种现象会对离线数据的准确性及在线定位的准确性产生较大影响。直接求均值的方式并不能表征该位置的信号特征,应该对采集的无线信号强度值进行平滑,选取有效点。

 

 

对无线信号的平滑提出如下改进方案:

① 每隔1 S采集一次所有的信号组,假设其中一组的信号强度值是level,再连续间隔采集二次;

②如果连续采集三次的信号强度值均介于[1evel - 1,level+1]时,将该数据插入数据库,否则舍去前面的所有信号值,重新返回步骤① ;

③ 将步骤② 获取的多组无线信号强度值再求均值,存入离线数据库。

利用改进的方案将图5平滑处理后,改进前的信号强度值RSS=1.597 1,而改进后的RSSI=-46.I47 1,可见本方案能够去除一定的抖动信号,得到较为理想的离线数据库。该方法不仅用于离线数据采样阶段,而且应用于在线定位阶段实时采集当前无线信号强度,可避免单次采集的不确定性。

针对设备差异对无线信号的影响,首先在同一位置用华为两款不同型号手机对WiFi信号采集300次,无线信号分布情况如图6所示。C8812型号手机采集信号强度保持在一65~66 dB,P6型号手机信号强度保持在一45dB,不同型号手机可能造成的误差达2O dB,若按此进行定位将产生较大定位误差,因此本文将在实时定位之前加上无线信号校正阶段,能有效提高定位精度。

 

 

为解决设备差异对WiFi定位造成的影响,Ekahau提出一种自动校正的方法。它是通过分析跟踪设备在一些易于检测的区域时的信号变化,自动学习跟踪建立相应的映射关系,该方法的缺点是设备不易进入易检测区,系统很难获得充足的数据建立映射关系。Haeberlen的研究显示,校正设备与测试设备之间的信号强度之间存在某种线性关系。本文经过大量实验,统计获得数据并通过函数拟合的方法,推导出校正设备及测试设备的关系,可以看作y=ax+b的线性关系,参数a、b将由实际的数据获得。

4 实验结果与分析

实验区域为10 m×16 m,每隔1.5 m设定为一个采样点,AP分布在该区域的四周如图7黑色圆点位置,每个采样点分别采集200次经过平滑处理后存入离线数据库。为比较定位结果的精确性,选定如下5个点为测试点:A位于出口处附近,B位于区域的中心位置,C、D、E点位于区域的边界处。

 

 

改进前和改进后分别进行4O次测试,实验结果分析如表1所列。应用改进后的算法各测试点的平均误差均有所下降,A点位于出口处,可能会受其他因素影响,定位效果不明显;B、D点,受外界影响较小,定位效果较好,定位精度提高2 m左右。

 

关键字:指纹算法  Android平台 编辑:探路者 引用地址:基于位置指纹算法的Android平台WiFi定位系统

上一篇:5G关键技术:大规模多天线技术现状及研究点
下一篇:按键消抖电路瞬态设计及分析

推荐阅读最新更新时间:2023-10-12 22:53

Android 平台动力不断
到2010年底,市面上将会有115款谷歌Android手机以及50款非手机的Android设备。不管这些数字是否准确,现实的情况是,Android开始突破其最初锁定的智能手机,开始向多个行业和领域的嵌入式设备进军。 为什么产品经理以及技术负责人都对这个热门的平台投以青睐的目光?为什么Android技术对医疗设备、机顶盒和车载信息娱乐系统等诸多不同的市场有如此大的吸引力?其中既有商业方面的因素,也有技术方面的因素。 产业动力 在开源授权许可下的技术,会给成本和开发团队建设带来极大的优势,这对技术经理和公司高管都有足够的吸引力。这方面的确有一些令人信服的理由,让他们选择嵌入式Android操作系统。
[嵌入式]
惠普称正在评估Android 尚未敲定是否采用
4月3日消息,惠普正在研究是否采用谷歌的Android操作系统,但还没有决定是否在其产品中应用这款操作系统。 据国外媒体报道称,目前该款免费开源Android操作系统用于智能手机上,但其设计宗旨是支持所有上网设备,许多分析师视Android为上网本平台。Android“登陆”PC都将对微软Windows操作系统的主导地位形成挑战。 尽管没有一家PC厂商公开承诺,包括微软在内的许多业界巨头都预计市场上将出现Android笔记本电脑。 惠普一名女发言人表示,“该公司只是在研究Android,以充分理解竞争对手所采用的各种操作系统或对我们的客户有价值的操作系统。我们希望评估Android在计算和通信方面的性能。”
[手机便携]
Android平台智能手机2009年出货量将增长900%
Strategy Analytics无线智能手机战略服务发布最新研究报告“2008年度全球智能手机厂商区域市场份额”,预测Android OS智能手机2009年出货量增幅将达到900%;来自运营商,手机厂商及应用开发商的大力支持是Android增长的主要驱动因素。增长速度其次的是苹果iPhone智能手机平台,预计2009年增幅将达79%。 Strategy Analytics 高级分析师 Tom Kang,评论道,“基于Android平台的智能手机,从2008年下半年开始在美国市场得以迅速增长,并在2009年逐步向欧洲和亚洲市场推进。由于目前Android平台智能手机出货量基数较低,其2009年增长速度将超越苹果
[手机便携]
基于Android平台的物联网网关方案设计
    中国已成为第一大移动互联网市场,在移动互联网和物联网的市场非常广阔,这将使得物联网应用借助移动互联网平台深入到各个领域,实现泛在的接入。目前移动互联网平台常见的嵌入式操作系统主要足Linux、WindowsCE、MeeGo、Android、Palm等;其中Android系统的网络集成性很高,被公认为是一个基于Linux内核并针对移动设备的操作系统。     针对移动终端融合物联网具有很大的意义,而物联网接入互联网的瓶颈是网关 本文提出了基于Android平台、采用蓝牙连接物联网的网关方案,从而有效避免了物联网网关的开发瓶颈。 1 基于Android平台的WSN网关简介     星云测控系统是由一个WSN主节点和很多WSN测
[嵌入式]
最贵免费平台Android手机成本或超iPhone
      苹果针对Google阵营进行猛烈的专利攻势,外界预期被告厂商多半以和解、支付专利费收场,原本免钱的Android平台,反而成为成本最贵的智能手机平台,不禁让企业大呼“不要钱的最贵”。       另一方面,微软也有意向使用Android平台的手机厂收取专利费,理由是部分手机厂商在Android手机上使用到微软专利,例如MSN(微软即时通讯服务)。       苹果跟微软相继伸手向Android手机厂要专利费,原本免钱的Android平台变成了钱坑,成本向上垫高。未来打造一支Android手机的成本,可能超过苹果iPhone或是去做一支微软芒果机(新一代智能手机平台)。       宏达电在侵权官司中失利
[手机便携]
基于 Android 平台的 USB 数据采集系统
  随着科技的发展, 嵌入式及移动互联网的应用越来越广泛,二者以其自身的优势在各自领域都占有一席之地。目前基于Android操作系统的手机进行移动应用开发非常火热,Android以其源代码开放,硬件选择丰富,无缝结合google 等特点,自发布以来  Android  立刻受到了业界的广泛关注。而嵌入式ARM7 微处理器LPC2142具有较高的集成度和高性价比, 很适合于数据采集系统设计。因此,了解Android平台的组成、系统架构API和应用程序框架,并掌握该平台移动应用的开发方法将为从事移动互联网开发的企业和个人带来非常广阔的前景。   Google 对Android平台的SDK更新很快,目前已发布的平板Android 3
[嵌入式]
谷歌安卓平台在欧面临反垄断调查
     8月1日消息,据国外媒体报道,欧盟委员会正准备就谷歌的安卓平台提出垄断指控。监管机构据信已经在询问电信企业与手机生产商,从而找出谷歌迫使这些企业推广自家服务而打压竞争者的证据。 消息人士称,在对上述企业的询问中,有一个问题是谷歌是否表示过,“预装企业自家或第三方的应用与服务,不利于智能手机设备的生产、营销与发布。” 询问的内容还包括谷歌与企业间的收入分成比例,以及其他的应用网店是否无法同Google Play竞争。这些企业还被要求提供所有与谷歌交易相关的邮件、演示内容与其他记录。 欧盟此前一直将反垄断诉讼的目标对准谷歌的搜索业务。2014年初,谷歌试图通过在搜索结果页面提供竞争者的服务而和解这一纠纷。不过有报道称,在9月份
[手机便携]
Karbonn Mobiles为新安卓智能手机选择博通3G平台
北京,2013年4月15日 - 全球有线和无线通信半导体创新解决方案的领导者博通(Broadcom)公司(Nasdaq:BRCM)宣布,印度领先的手机品牌Karbonn Mobiles已为其新款安卓智能手机Karbonn Smart A12选择了博通的3G智能手机平台。通过选择BCM21654G,Karbonn将为客户提供拥有高性价比的全功能智能手机,该手机具备1 GHz ARM Cortex® A9处理器和高端图形处理器,可支持丰富的身临其境般的安卓用户体验。如需了解更多新闻,请访问博通公司的新闻发布室。 Karbonn Smart A12由BCM21654G驱动,该芯片专为安卓4.0 冰激凌三明治操作系统而优化,它具有一
[网络通信]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved