毕业设计-基于wifi的室内定位系统设计.doc_第1页
毕业设计-基于wifi的室内定位系统设计.doc_第2页
毕业设计-基于wifi的室内定位系统设计.doc_第3页
毕业设计-基于wifi的室内定位系统设计.doc_第4页
毕业设计-基于wifi的室内定位系统设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 论 文题 目基于wifi的室内定位系统设计学生姓名xx学 号x专 业电子信息工程班 级x指导教师xx2012 年 4 月摘 要本文设计及实现了一个基于 wifi 射频信号强度指纹匹配的移动终端定位系统,并设计实 现了一种基于权重值选择的定位算法。该算法为每个扫描到的 ap 的 rssi 设定了选择区间,指 纹库中落在此区间的所有位置点设平均权值, 最后选取权重值最大者为待定位点的位置估计, 如 有相同权重值,则比较信号强度距离,取最小者,这种算法在一定程度上克服了 rssi 信号随机 抖动对定位的影响,提高了定位的稳定性和精度。经实验测试,此系统在 4 米范围内具有良好的 定位效果。可部署在展馆、校园、公园等公共场所,为客户提供定位导航服务。定位算法运行于 服务端,客户端为配备 wifi 模块的 android 手机。借助该定位系统,基于 android 系统的移动终端可方便地查询自身位置,并获取各种基于位置服务。 关键词: 接收信号强度;无线室内定位;射频指纹;android 操作系统 abstractthis paper designs and implements an indoor location system based on wifi for mobile user with android handset. a locating arithmetic based on weight-select is introduced to filter the random noise of rssi. for each location in radio map, a weight is set if the rssi of the ap scanned is in the interval preset. then max-weighted location or the min-rssi-distance among them will be selected as the estimated position. according to experiments, 4-metre locating precision is available. it can be used for locating and navigating in such scene as exhibition center, campus, park, and so on. users equipped with android handset could get its location and some intelligent services. it is also an open and extensible system. some locating arithmetic also could be tested on this system. key words: received signal strength, wireless indoor locating, radio map, android operating system目 录第一章 绪 论61.1关于位置信息确定的意义及方法61.1.1位置信息确定的意义及方法61.1.2本文主要介绍的定位系统71.2本文的主要研究内容以及各章安排71.2.1主要内容71.2.2本文安排7第二章 目前主要定位方式及各种测量方法82.1 gps定位系统介绍82.1.1gps的发展82.1.2 gps国内外动态102.2 wifi定位技术112.2.1 wifi的利用原理112.2.2定位需要两个先决条件122.3定位运用的各种测量方法122.3.1 通过传播时间测量方法132.3.2信号衰减测量方法132.3.3改进的toa算法132.4本章总结14第三章无线定位系统和物联定位系统的介绍143.1无线定位系统方案143.1.1系统方案143.1.2特点与指标163.2 locatesys物联定位系统173.2.1系统概述173.2.2工作原理183.2.3特点与指标183.2.4产品资料193.2.5应用领域213.3 本章总结21第四章基于 wifi 的室内定位系统设计与实现214.1系统设计214.2系统的实现234.2.1客户端设计234.2.4. activity 生命周期244.2.5获取周边 ap 信号强度254.3 程序流程264.4. 服务端软件设计274.4.1. web 服务器274.4.2. 定位服务器284.5.客户端与服务端通信284.6. 2算法描述314.6. 3算法分析314. 7实验324.7. 1实验过程324.7.2. 实验结果334.8. 总结33致谢34参考文献35第一章 绪 论1.1关于位置信息确定的意义及方法1.1.1位置信息确定的意义及方法位置信息在人们的日常生活中扮演着重要的作用。在郊外、展览馆、公园等陌生环境 中,使用定位导航信息可为观众游览提供更便 捷的服务;在仓储物流过程中,对物品进行实时定位跟踪将大大提高工作效率;在监狱环境中,及时准确地掌握相关人员的位置信息,有助于提高安全管理水平,简化监狱管理工作。 目前全球定位系统( gps , global positioning system)是获取室外环境位置信息基金资助:国家自然基金(60873244、60973310、60772070)、北 京自然基金(4102059) 联系作者:雷地球,e-mail: 的最常用方式。近年来,随着无线移动通信技术的快速发展,gps 和蜂窝网络相结合的 a-gps(assisted global positioning system)定 1 位方式在紧急救援和各种基于位置服务 (lbs,location-based services)中逐渐得到了应用。但由于卫星信号容易受到各种障碍物遮挡,gps/apgs 等卫星定位技术并不适用于室内或高楼林立的场合,目前无线室内定位 术迅速发展,已成为 gps 的有力补充。 一般来讲, 使用无线信号强度获取目标位置信息的过程,就是建立无线信号强度和位置信息稳定映射关系的过程。 现有室内无线定位系统主要采用红外、超声波 2 、蓝牙、wifi (wireless fidelity) 、rfid(radio frequency identification)等短距离无线技术。其中基wifi网络的无线定位技术由于部署广泛且低成本较低,因此备受关注3,4。其中由微软开发的 radar 系统是最早的基于wifi 网络的定位系统。它采用射频指纹匹配方法,从指纹库中查找最接近的 k个邻居,取它们坐标的平 5 均作为坐标估计。而文献介绍的室内定位系统则基于rssi 信号的统计特性,采用贝叶斯公式,通过计算目标位置的后验概率分布,来进行定位。1.1.2本文主要介绍的定位系统 本文同样基于wifi 网络,设计和实现了 一种无线室内定位系统, 但与上述定位方法不同,本文采用了基于权值选择的定位算法,在一定程度上减少了rss.信号随机变化引起的定位误差,实验结果表明,该系统可获得较好的定位精度(4 米)。 1.2本文的主要研究内容以及各章安排1.2.1主要内容本文研究内容为将具有wifi模块是android手机作为客户端、服务端、定位算法进行定位确定。1.2.2本文安排第一章 绪 论第二章 目前主要定位方式及各种测量方法第三章 无线定位系统和物联定位系统的介绍第四章 基于 wifi 的室内定位系统设计与实现第二章 目前主要定位方式及各种测量方法2.1 gps定位系统介绍2.1.1gps的发展随着 gps 定位技术的发展,gps 技术已经超越了初始的设计目标。最主要的突破是人们提出了差分 gps 定位技术。差分 gps 定位技术分为局域差分 gps 定位技术和广域差分 gps 定位技术。局域差分 gps 实时定位技术是由基准站、数据通讯链路和用户站组成。基准站和用户站间隔在一定范围内(一般不超过 150km)并同步观测相同的 gps 卫星。对于同一卫星同一历元的观测值,基准站和用户站包含几乎相同的误差。因此,在基准站计算出每一颗 gps 卫星的误差改正信息后,通过数据通讯链路传输至用户站,用户站对观测值进行改正,即可提高定位精度。一般用户站定位精度约为 1- 5m。由于基准站和用户站的误差相关性与它们之间的距离有关,因而用户站定位精度的改善在很大程度上受到基准站和用户站之间的距离限制(叶世榕,2002)。广域差分 gps 技术的基本思想是对 gps 的卫星轨道误差、卫星钟差及电离层延迟等主要误差源加以区分,并单独对每一个误差源分别加以“模型化”,计算其误差修正值,然后将计算出的每一误差源的数值通过数据通讯链传输给用户,以对用户 gps 接收机的观测值误差加以改正,达到削弱这些误差源改善用户定位精度的目的。因而在广域差分 gps 系统中,只要数据链路有足够能力,基准站和用户站间的距离原则上是没有限制的 。在一般情况下,广域差分 gps 的定位精度在1000- 1500km 的范围内约为 1- 5m。局域差分和广域差分 gps 定位技术显然还无法满足高精度测量的要求。长期以来,人们在利用载波相位观测值进行定位方面做了大量的卓有成效的研究工作,其中载波相位相对定位技术得到了广泛的应用。类似于码差分定位技术,载波相位相对定位采用两台及以上的接收机进行同步观测。静态相对定位的精度一般可以达到厘米级或毫米级。在动态定位方面,人们又提出了rtk 技术。它是一种实时处理两个测站载波相位观测量的差分方法。载波相位差分可分为两类:一类是修正法,另一类是差分法。所谓修正法,即将基准站的载波相位修正值发送给用户,以改正用户接收到的载波相位,再求解坐标。所谓差分法即是将基准站采集的载波相位发送给用户,进行求差解算坐标(徐绍铨,2003)。对于单基准站动态定位,一般要求基准站和用户站之间的距离为 10- 15km,定位的精度为厘米级。为了不受距离的限制,人们又提出了多基准站rtk,虚拟参考站(vrs)等技术,利用这些技术在 5070 公里内可实现厘米级实时动态定位(叶世榕,2002)。载波相位相对定位虽然可以达到很高的精度,但通常要受到测站间距离的限制。对于有些应用如精密的海洋划界,精密海洋工程等,原有的定位手段无法满足需求,需要寻求新的定位方式或技术(刘焱雄,2005)。精密单点定位(precise point positioning,ppp)这一概念首先由美国喷气推进实验室(jpl)的 zumberge 等人于 1997 年提出(zumberge,1997) 在他们开发的数据处理软件 gipsy 上给予实现。精密单点定位是一种利 ,用卫星精密星历和卫星钟钟差数据,以及双频码和载波相位观测值,采用非差模型进行精密单点定位的方法。非差定位模式和其它差分模式相比具有很多优点:可用观测值多;保留了所有观测信息;能直接得到测站坐标;测站和测站之间没有距离限制;各接收机不需同步观测。精密单点定位由于只需要一台接收机就能工作,还具有数据采集简单,效率高,费用省等优点。而且可以得到全球一致的厘米级的定位精度。精密单点定位的精度在很大程度上依赖于精密星历和卫星钟钟差的精度。igs 所提供的优于 5cm的 gps 卫星精密轨道和优于 0.1ns 的精密卫星钟钟差数据为精密单点定位技术的出现奠定了基础。当前的精密单点定位技术的实现主要是基于gps 观测数据。但 gps 作为一种基于卫星的定位技术,系统的可用性、定位结果的可靠性和精度在很大程度上取决于观测到的卫星的数量。在有些场合,如城市峡谷、露天矿区域和山区,可见卫星的数量往往是不够的。增加系统的可用性和可靠性的一个可行的办法是组合 gps 和 glonass。目前,glonass 系统正在改变以前卫星数量严重不足的局面,已经有 16 颗卫星在轨运行而且根据 glonass 系统的现代化计划,glonass 卫星星座很快将拥有 24 颗工作卫星,这就为 gps 和 glonass 两种系统的组合提供了基础。由于更多的卫星资源能被使用以及由此改善的系统可用性,可靠性和定位精度,组合的 gps/glonass 精密单点定位将具有更广阔的应用前景。2.1.2 gps国内外动态精密单点定位这一概念最初是由 jpl 的zumberge 等人于 1997 年提出并在他们开发的数据处理软件 gipsy 上给予实现。它是一种利用高精度的 gps 卫星星历和卫星钟钟差数据以及双频码和载波相位观测值采用非差模型进行精密单点定位的方法,其单天解的精度为:水平方向1cm,高程方向为2cm(zumberge,1997)。还有人提出了全球实时动态精密单点定位技术。利用非差双频载波相位观测值,在经过一段时间初始化后进行单历元实时动态精密单点定位。试验结果表明平面位置的定位精度为(1020)cm. 加拿大卡尔加里大学提出了精密单点定位 p1- p2- cp 模型,该模型不像传统模型那样在码和码之间形成消电离层组合,而是在相位和码之间形成消电离层组合,试验结果证明,该模型比传统模型具有更好的性能。gao 等也研究了在各种动态环境下,使用实时精密星历和卫星钟产品精密单点定位的性能。试验结果表明厘米级的定位精度是可以获得的。gao科研小组还研究开发了商业化的精密单点定位软件(p3)。除此之外,由code 研制的著名的 gps 数据处理软件 bernese 在 4.2 版本中增加了用非差载波相位观测值进行精密单点定位的功能。国际上从事非差gps 数据处理研究的机构除了 code,还有jpl、gfz、nrcan 等。jpl 研制了基于平方根滤波方法,采用非差观测值的定轨、定位软件 gipsy。德国的 gfz则研制了基于最小二乘估计的非差相位定轨和定位软件 epos。nrcan 的heroux 等人也研究了采用非差相位进行精密单点定位的方法。国内学者也对精密单点定位技术进行了深入研究。武汉大学叶世榕在博士论文中利用自行研制的定位软件进行了试算。单天解的精度为:纬度方向优于 1cm,经度方向优于2cm,高程方向优于3cm。动态定位时初始化时间约为 15min,初始化后单历元解的精度在纬度经度和高程方向的精度均优于 20cm,大部分解的精度优于 10cm。利用 gps 的精密预报星历和实时卫星钟差计算得到的实时动态定位的精度为40cm(叶世榕,2002)。武汉大学张小红教授也对精密单点定位进行了深入研究。张独立研发了后处理精密单点定位软件 - trip,并成功的将其应用于航空测量,试验结果表明采用精密单点定位技术可以获得几个厘米的动态定位精度。香港理工大学比较了非差,卫星间单差,历元间单差,历元卫星间差,四种不同单点定位差分模型的定位精度和其他指标。宋伟伟等研究了精密单点定位中周跳探测与修复的方法(宋伟伟,2007)。目前对于gpss 单点定位的研究主要还是采用测码伪距观测值,因而定位精度在米级。要想达到厘米级的定位精度,必须进行基于载波相位观测数据的精密单点定位。2.2 wifi定位技术做这项技术是由一家成立于2003年叫skyhook wireless(/)的公司。在skyhook主页上可以下载一个叫loki的软件,是pc上用的,也支持wifi定位,不过好像只能在xp用。还没升到1.1.3的iphone用户可以先试试loki。2.2.1 wifi的利用原理1),wifi热点(也就是ap,或者无线路由器)越来越多,在城市中更趋向于空间任何一点都能接收到至少一个ap的信号。(在美国,每个点收到3、5个ap信号的情况相当多见。中国也会越来越多的) 2),热点只要通电,不管它怎么加密的,都一定会向周围发射信号。信号中包含此热点的唯一全球id。即使距离此热点比较远,无法建立连接,但还是可以侦听到它的存在。 3),热点一般都是很少变位置的,比较固定。 这样,定位端只要侦听一下附近都有哪些热点,检测一下每个热点的信号强弱,然后把这些信息发送给网络上的skyhook的服务器。服务器根据这些信息,查询每个热点在数据库里记录的坐标,然后进行运算,就能知道客户端的具体位置了,最后坐标告诉客户端。容易理解的是,收到的ap信号越多,定位就会越准2.2.2定位需要两个先决条件1),客户端能上网 2),侦听到的热点的坐标在skyhook的数据库里有 第一条不消说了,不管是wifi还是edge,只要能连上skyhook的服务器就行。第二条是skyhook的金矿所在。对于skyhook如何知道每个ap的坐标信息有两种说法:1. 有一种说法是靠网友自己搜集,然后发给skyhook,skyhook会付钱。 2. 不过官方网站上的说法是开着车满大街转悠,边走边采集ap信号,并用gps定位,从而就有了坐标信息。而且他们会定期重新开车采集数据,以适应热点的变化。相对之下,第2条更靠谱,而且成本并不高。比方说采集北京,设备上一个带gps和wifi的pda足以,然后装到出租车上,每月给司机200、300的,让他就正常拉客人。只要有3、5个司机合作,数据就采集下来了,并不断地更新。司机也一定会很乐呵,这纯粹是无成本的额外收入呀,还能享受一下gps。所以现阶段在大陆地区只有北京能用,不知道在中国有没有其他网络应用可以实现wifi定位。wifi定位精度比gps要低,受服务范围限制,而且没有方向、速度等数据,不能导航,更不能离线使用。不过它有比gps更优越的地方,就是在人口、楼群越密集的地方,使用的效果会更好。gps启动时间长,在室内是无效的,天气不好的时候表现也欠佳,楼群太密集的地方也不太好用。而这些因素都被wifi定位克服了。2.3定位运用的各种测量方法2.3.1 通过传播时间测量方法它通过在已知传播速度的情况下,无线电波传播的距离与它传播的时间成正比。但上述方法存在两个问题,影响了方法的使用性:第一是时钟精度。 因为蓝牙信号的传播速度很快,又考虑到各种延迟,所以为了减小测量误差必须使用高精度的时钟,时间单位采用ns,这对硬件的要求过高,不实用。第二是时钟同步。 参与同一个定位过程的参考点之间必须保证时钟的同步,这样才能保证测量结果的正确性和精度。2.3.2信号衰减测量方法在理想的传播环境下,无线信号的衰减与1r2成正比(其中r为传播距离)。但实际上,无线信号在空间传播时能量的衰减是多种因素共同作用的结果,而不单单与传播距离有关。在一个地形地物较为复杂的环境中,无线信号传播时的衰减会受到反射、折射、多径效应等多种因素的影响,所以这种利用能量衰减测量距离的方法不如传播时间测量方法精度高。2.3.3改进的toa算法从可行性和精度两个方面综合考虑之后,我们决定采用依靠经验的定位方法:它同样是基于无线电波能量来定位的,不同的是它不是根据能量衰减与距离平方的正比关系来计算距离,而是通过一个数据库来记录一定数量的参考位置的信号强度,然后把待测物体检测到的信号强度与之相比而得到待测物体的信号强度。如果参考位置足够多的话,这种方法具有很好的精度,并且不受实际地理位置的影响,因为参考位置正是从实际的测量中来的。这种方法的一个缺陷是它要求每次实施时要测量大量的参考位置上的信号强度,并且随着时间推移,地理环境必定会有所改变,这时又要对所有的参考位置重新进行测量。如图4所示,系统从检测到的有效蓝牙点(通过id判断)选取三个点利用图3所示方法定位。我们检测到的信号强度值在263230,随着距离增大而减小,但不是线性变化。通过数据分析发现03 m,36 m,69 m区间内可以近似成三个线性区间。于是分别测量并统计了一些蓝牙点0,3,6,9 m的信号强度值,用来辅助计算。蓝牙信号强度数据拟合结果如图5所示。2.4本章总结本章介绍gps相关内容以及常用的几种距离算法第三章无线定位系统和物联定位系统的介绍3.1无线定位系统方案3.1.1系统方案系统包含三部分:定位标签、定位传感器和定位引擎软件。其中:定位标签由电池供电,在定位传感器信号覆盖的范围内自由移动,发射和接收css射频信号,测量与传感器之间的距离;定位传感器位置固定,能够与标签进行通讯,对标签进行测距和控制。同时定位传感器还负责组网和数据通信,回传系统数据给定位软件平台;定位引擎软件管理所有的传感器和标签,获取、分析并传输位置信息给用户和其他相关信息系统。并可对整个系统进行网络和性能配置。图1典型的系统配置结构图图2 多楼层无缝定位示意图3.1.2特点与指标(1) 物联(脉冲)定位系统的性能指标最高精度达 60cm的实时 2d 定位,数据刷新率达到 5hz;一般定位精度1-2米。支持 2.4g ism 通讯频段的定位信号处理,功耗低于 100mw;工业级设计,温度为-2060度,ip65防护等级;扩展组网通信:传感器与标签之间的典型通讯距离为60米(视实际情况会有所不同),区域感知范围为60米,一维定位长度为60米,二维定位面积大小为40米x40米;(2)超宽带射频技术uwb定位技术指标物三维位置信息,并通知监控中心。蜂窝状子区域定位管理,能够覆盖无限空间范围内的人、物。能对人员的位置、行进路线、距离、速度进行监控与统计。支持2d/3d 定位,在3d 模式下,定位精度达到15cm。能对人员的停留时间、地点到达次数等数据进行分析。根据客户的需求生成并存储各种数据,为后场馆以及客户管理提供参考依据。(3) wifi、rfid实时定位在无线信号覆盖区域内,标签自动漫游。完成人员及资产实施定位跟踪。定位精度可达3到5米,成本低,施工维护简单。读卡器专利技术,扩展能力强,多频段设计,支持以太网、rs485总线、wifi无线传输等,此外容易和gps、gprs、3g等技术整合,实现无缝定位。室外涵盖距离:最远200米(650英尺)室内涵盖距离:最远80米(260英尺)3.2 locatesys物联定位系统3.2.1系统概述locatesys物联定位系统是采用基于线性调频扩频技术构建的定位系统,该系统可以实现1.5米以内的定位精度,这是wifi、zigbee和rfid技术所不能达到的。系统包含三部分:定位标签、定位传感器和定位引擎软件。其中:定位标签由电池供电,在定位传感器信号覆盖的范围内自由移动,发射和接收css射频信号,测量与传感器之间的距离;定位传感器位置固定,能够与标签进行通讯,对标签进行测距和控制。同时定位传感器还负责组网和数据通信,回传系统数据给定位软件平台;定位引擎软件管理所有的传感器和标签,获取、分析并传输位置信息给用户和其他相关信息系统。并可对整个系统进行网络和性能配置。典型的系统配置结构如图:3.2.2工作原理在该系统中,标签与传感器之间采用对称双边双向时间同步技术(sds-twr:symmetrical double-sided two way ranging)测量直线距离,获得标签与多个固定位置传感器之间的直线距离,通过专用的算法解算标签的坐标。由于采用基于时间的测距技术,确保了较高的定位精度和室内应用环境的可靠性,而通常这些室内应用极具挑战性:墙壁和金属物的反射,导致较强的多路径效应。locatesys物联定位系统通过软硬件的专门设计大大减少了这些影响;传感器通常按照蜂窝单元(cell)的形式进行组织,典型的划分方式是矩形单元,附加的传感器根据其几何覆盖区域进行增加;每个定位单元中,主传感器配合其他传感器工作,并与单元内所有检测到位置的标签进行通讯;通过类似于移动通讯网络的蜂窝单元组合,能够做到较大面积区域的覆盖;标签的位置通过标准以太网线发送到定位引擎软件;定位引擎软件将数据进行综合,并通过api接口传输到外部程序或locatesys定位软件平台,实现空间信息的处理以及信息的可视化;由于标签能够在不同定位单元(cell)之间移动,定位引擎软件能够自动在一个主传感器和下一个主传感器之间实现切换。在建立系统时,需要对整体的多单元空间结构指定参考坐标系。当标签在参考坐标系内的多个单元中移动时,可视化模块能够实时显示标签位置。针对实际的应用,locatesys通过应用的不同环境和需求设计了满足应用需求和物理环境的系统。考虑:定位区域的几何划分,不同区域的定位精度要求,哪些物体附着定位标签,哪一种速度是正常的,期望物体间产生何种的操作与交互行为,哪些是固定或未加标签的物资,电池寿命的需求,供电的方式或以太网通讯的方式,与其他rf系统的融合等等。3.2.3特点与指标(1)locatesys物联定位系统的特点为:定位精度高:采用时间测距、专用算法和特殊的抗干扰设计; 多种应用场合:定位传感器根据配置和部署方式的不同,可以实现区域感知、一维定位、二维定位三种不同的应用。范围可扩展:通过多个定位单元可以扩大覆盖范围;部署简单:定位传感器之间无需时间同步;定位稳定:采用到达时间测距技术,不受无线信号强度值变化的影响;接口丰富:软件引擎平台提供坐标数据通过网络输出接口,结合locatesys定位软件平台可以提供.net api接口;节能设计:标签内置灵敏的振动传感器,尽可能节约电能,延长使用时间。(2)locatesys物联定位系统的性能指标:系统定位精度:室内*1二维2.5米,室外*1二维1.5米;数据刷新率:1hz;标签使用时间:1000mah电量,1hz,标签每天工作6小时情况下,为一个月;定位数据延迟:2秒;扩展组网通信:传感器与标签之间的典型通讯距离为60米(视实际情况会有所不同),区域感知范围为60米,一维定位长度为60米,二维定位面积大小为40米x40米;单元覆盖范围:开阔环境60米;*1室内室外均为典型环境,即没有大型遮挡物、大面积树木和金属,没有混凝土或砖墙阻隔3.2.4产品资料物联定位传感器wlsensor2000室内型定位传感器。重量:350克体积:160mmx160mmx40mm安装:螺孔固定ip地址:可配置以太网:rj45接口供电:12vdc,功耗3瓦天线:外置2.4g天线,sma接头工作频率:ism 2.4ghz工作条件:温度-20-60(标准)湿度 0-95% (无冷凝)物联定位标签标准型wlsensor2060-x重量:48克体积:70mmx45mmx18.5mm供电:锂电池,容量650mah天线:内置2.4g天线工作频率:ism 2.4ghz工作条件:温度-20-60(标准)湿度 0-95% (无冷凝)物联定位标签扩展型wlsensor2060-ex可扩展定位标签(带按键和语音播报)重量:100克体积:94.5mmx51mmx12.5mm佩戴方式:挂绳供电:?工作时间:?天线:内置2.4g天线工作频率:ism 2.4ghz物联定位引擎软件wllec3.2.5应用领域locatesys物联定位系统凭有着广泛的应用领域:人员管理、资产管理、仓储物流、自动控制、智能监控,其中包括:人员管理:人员监控、人员定位、医疗看护、icu 管理、病区管理;安全管理:紧急状况和涉及限制区域的特殊场所人员管理、跟踪;资产管理:贵重资产、车辆定位等;仓储物流:全自动仓库、货物监控;自动控制:生产自动化、机械自动化控制;智能监控:闸口控制、人员和机械监控等。3.3 本章总结主要介绍无线定位和物联定位系统的原理、性能、特点。最后归结于wifi的室内定位系统第四章基于 wifi 的室内定位系统设计与实现4.1系统设计 本系统可为移动终端客户在展馆、商场、 校园等应用场景提供定位服务。 鉴于移动终端 受到计算能力、 存储容量和电池电量等诸多限 制,所以仅完成简单的信号采集工作,定位计 算由定位服务端完成。 定位系统的架构体系如图 1 所示。服务端 主要负责定位计算和响应终端的定位请求。基于负载均衡考虑,响应位置请求的 web 服务 器和运行定位计算的定位服务器分离, 数据交 换方式采用客户端和 web 服务器相同的数据 交换方式。客户端依附于具体对象,主要负责 采集周边 ap 的无线信号强度,并向服务端提 交信号特征, 服务器使用客户端采集的信号特 征进行定位计算,获得移动终端的位置估计。客户端和服务端通信采用标准的 http 协 议,编程方便,可扩展性好,客户端程序功能 可根据需要进行扩充。图 1 定位系统网络结构图2 为本定位系统的信息交互流程图。移动终端向 web 服务器提交 get 请求,get 请 求中包含了信号强度特征向量, web 服务器收 到请求后,以同样的方式传达给定位服务器, 定位服务器查询数据库, 并进行相关的定位运 算操作,从而得到移动终端的位置估计。图 2 移动终端与服务器间的信息交互 4.2系统的实现4.2.1客户端设计 本系统客户端采用 android 系统手机6。 android 系统是 google 在 2007 年发布的基于 linux 平台的开源手机操作系统。近年来,基 于此平台的手机市场占有率不断提高, 加上 其良好的开放性和丰富的 api 接口, 可以很 方便地开发各种应用程序。4.2.2. android 系统架构简介android 系统架构见图 3,它建立于 linux 内核之上,包含了各种设备驱动和管理模块, 囊括了非常齐全的类库和框架, 包括轻量级数 据库 sqlite、浏览器 webkit 等。整个系统建 立在 dalvik 虚拟机上,应用程序使用 java 语 言编写。android 系统提供了丰富的框架(活 动管理、位置管理等)来管理系统的软、硬件 资源,整合了常用的应用程序(联系人、电话 本等) ,并开放了很全面的 api 供用户使用, 整个平台具有良好的开放性和扩展性。 图 3 android 系统架构图4.2.4. activity 生命周期 android 系统上运行的应用程序一般包含 一个或多个 activity,主要由活动管理器进行 管理,activity 是 android 系统分配和管理资 源的基本单位。每个 activity 都有其对应的生 命周期(图 4) 。图 4 activity 生命周期 oncreate()方法在活动开始时调用,并依 次 调 用 onstart() 方 法 和 onresume() 方 法 , activity 处于运行状态,如有新活动启动,则 调用 onpause(),活动转入后台;如内存不足,活动进程则被关闭。退出程序则会依次调用 onstop()和 ondestroy()。 活动管理器对 activity 的管理体现在不同 生命周期对以上几个方法的调用上, 用户可根 据自己的需要重载这几个方法。一般来讲,主 程序类继承 activity 类,用户的功能代码在重 载这些方法中实现。4.2.5获取周边 ap 信号强度 本文采用基于射频指纹的定位方法, 移 动终端需要获得周围 ap 的 rssi 指纹特征, android 系统提供的接口可以很方便地实现 这一功能。 参见图 5 示例代码片段。 首先建立包含 响 应 扫 描 结 果 的 接 收 器 (reciever) 并 重 载 onreceive()方法,此方法即为收到 wifi调函数,用户自定义功能在此实现; 再 通 过 registerreceiver()方法将 receiver 向 android 系 统 进 行 注 册 , getsystemservice() 方法用于获得操作 wifi 设备的句柄;最后 用 startscan()方法启动扫描,当获得扫描结 果后,系统会触发注册的回调函数,完成用户代码功能。信号的回 private wifimanager wifi; private broadcastreceiver receiver; receiver = new broadcastreceiver() public void onreceive(context context, intent intent) list results = wifi.getscanresults(); . /注册回调函数 registerreceiver(receiver, new intentfilter (wifimanager.scan_results_available_action); wifi= (wifimanager) getsystemservice (context.wifi_service); /启动扫描 wifi.startscan(); 图 5 扫描示例代码实验结果表明,从给出扫描指令,至接收 到扫描结果,耗时约 400-500ms,考虑到后台 服务器算法运算及网络通信开销, 定位过程耗 时将超过 500ms。 4.3 程序流程 从程序的功能来看, 客户端需完成 3 个功 能:定期扫描并获得周围 ap 的信号强度指纹 特征,向服务器提交指纹特征信息,得到定位 结果后更新界面显示。程序流程如图 6 所示。首先程序初始化并建立更新回调函数, 获 得 wifi 服务句柄后注册此回调函数,最后启 动扫描进程周期扫描,直至系统结束程序。其中,回调函数首先获取扫描结果,并格式化为字符串,然后通过 get 请求提交给服务端,获得定位结果后再更新显示界面。图 6 程序流程图 4.4. 服务端软件设计4.4.1. web 服务器 web 服务器用于对外通信, 接收外界的请 求,并返回相应的位置信息。web 服务器运行 apache tomcat 6.0.20, 响应网络的定位请求,相应的软件设置参数 为: 在%tomcat_home%webapps 目录下建 立目录:exservletweb-inf,建立 web.xml 描述文件和 classes 文件夹, web.xml 文件是描 述文件,classes 存放后台处理的类文件。 web.xml 中定义了外部引用此服务的名字 和对应的类文件,内容片段如下: servletremotelocate servletremotelocate com.ldq.servletremotelocate servletremotelocate /servletremotelocate 图 7 web 服务器 web.xml 代码片段图4.4.2. 定位服务器 定位服务器用于运行算法, 硬件配置参数 为,cpu:intel core2 duo e7500 2.93ghz,内 存:2g,网卡:marvell yukon 88e8057 pci-e gigabit ethernet controller。软件配置参数为, 操作系统:windows xp professional sp3,web 服务器:apache tomcat 6.0.20。相应的软件配 置参数与 web 服务器类似,web.xml 中代码片段见图 8。 arithmaticservlets arithmaticservlets com.ldq.arithmatic.arithmaticservlets arithmaticservlets /arithmaticservlets 图 8 定位服务器 web.xml 代码片段 4.5.客户端与服务端通信客户端与服务端都接入 internet,通过标 准的 http 协议通信,简化设计的同时,也为 以后 web 方式的应用留下了设计空间。 服务端 servlet 用于响应客户端的请求, 客户端只需在 get 请求中提交指纹信息即可 获得定位结果。图9 列出了客户端从定位服务器中获取位置信息的 java 示例代码。其中 url 包含了服务器的 ip 地址和 rssi 指纹信息, getconnection()方法是向服务器发出 get 请 求,服务器将返回位置信息,获得输入流后读 出位置信息, 并更新界面显示即完成整个通信 过程。由于使用 http 协议,实现方法简单, 适用于多种编程语言。 try /建立 url 的连接: url url=new url(”http:/”); httpurlconnection con = (httpurlconnection) url.openconnection(); /如果回应 ok,则刷新,否,则不刷新 if (con.getresponsecode() = httpurlconnection.http_ok) /获得输入流 inputstream is = con.getinputstream(); /字节数据用于接收 byte b = new byteis.available(); /读入到字节数组 is.read(b); /转换成字符串 string serverresult = new string(b); /关闭流 is.close(); /刷新或进一步处理 handler.post(update); . catch (exception e) e.printstacktrace(); 图 9 客户端获取位置信息的通信示例代码 4.6.1定位算法 由于室内环境复杂, wifi 无线信号7具有 较强的时变特性图 10。 无线信号传播衰减模型 8 难以很好的表征距离与信号强度间的映射 关系,本文采用基于射频指纹匹配定位方法, 它具有较好的定位鲁棒性。 图 10 信号强度的时变特性 指纹匹配方式定位算法 9 建立在实验数 据基础上, 它主要包括离线训练和在线定位两 个阶段, 其中离线训练阶段的任务是建立射频 信号强度向量和客户端位置间的一一对应关 系,形成一个指纹库(radio map)10,定位阶段 则使用实时采集的信号强度向量去匹配训练 阶段构建的指纹库,从而获得目标的位置估 计。 现有的基于射频指纹匹配定位方法主要 包括确定型和概率型两种。 其中确定型定位算 法一般在指纹库中选择与实时采集的射频指 纹距离最小的几个点的质心作为目标的位置 估计。确定型定位算法的计算效率较高,但精 度较低。 概率型定位算法一般采用贝叶斯估计 理论,通过不同的似然函数,如基于核函数的 似然函数11,计算目标位置的后验概率,并取 后验概率最大的位置点作为目标的最终位置 估计。 概率型定位算法具有较高的定位精度和 定位鲁棒性,但计算量相对较大。 本文采用快速选择的定位算法, 训练阶段 指纹特征采用 rssi 均值,定位阶段采用逐次 累加的 rssi 均值与指纹库匹配的方法,从而 大大降低了运算的复杂度。 4.6. 2算法描述 指纹特征采用每个 ap 的 rssi 均值,即fl =( ap1, ap 2, )s s k也就是, 训练阶段对同一位置点采集的每 个 ap 的多次数据取平均, 定位阶段也是如此, 区别在于训练阶段采集数据多, 以便得到尽量 多的信息,定位阶段采集的数据少,减少定位 延时,一定程度上提高了实时性。 指纹匹配采用快速选择的方式。伪码如 下:1: initialization,for each li set ei = 0; 2: for each ap: 3: select li if rssiap(rssi-,rssi+) ;4: n=count(li) ; 5: if li selected 6: ei=1/n; 7: else 8: ei=0; 9: end if 10:end for 11:return li where max(ei) ; 对每个扫描到的 ap 的 rssi 值,设定一 个选择区间rssi-,rssi+,为多次实 验的经验值, 在指纹库中查找满足此区间范围 的位置点,若有 n 个位置点落在此区间范围, 则这些位置点分别取权值为 1/n,其他的位置 点则取权值为 0;对所有 ap 做如上处理后, 选出权值最大的位置点为估

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论