基于手机的区域WiFi热点位置测定技术的制作方法

文档序号:11480388阅读:296来源:国知局
本发明所属领域为信息安全,涉及wifi热点信息采集技术,wifi热点定位算法和基于android手机的程序设计等技术。
背景技术
::自20世纪90年代末期起,许多高校和研究机构就开始了无线局域网室内定位技术的研究,具有代表性的项目有at&tcambridge的activebadges项目和georgiatech公司的smartfloor项目。在室内定位算法研究方面,国外研究成果中具有代表性的是,bah1等人采用信号空间最近邻法(nearestneighborinsignalspace,nnss)和信号空间k最近邻法(k-nearestneighborinsignalspacek-nnss)。该方法在位置指纹数据库里找出与实时信号强度样本最接近的一个或多个样本,将它们对应的采样点或多个采样点的平均值作为预估的用户位置。此外,还有smailagic等人提出的基于查表(tablebased)的定位方法。目前许多相关研究集中在无线局域网中如何定位移动用户位置等方向上,涌现出了许多基于无线局域网室内定位技术的定位技术,其中较为典型的有微软研究院开发的radar定位系统,芬兰ekahau公司研制的ekahau定位系统,skyhook公司的wps定位系统等。1、radar定位系统radar定位系统是由微软研究院开发的基于无线局域网的室内定位系统,它最早提出基于信号强度位置指纹匹配的算法,此后许多无线局域网室内定位系统大都借鉴了radar系统的算法思想。该系统主要从软件的角度出发,利用802.11标准中的接收信号强度(receivedsignalstrengthindication,rssi),通过比对所在位置rssi与事先测量的rssi之间的相似性,利用模式匹配的思想实现定位。radar系统提出了两种基于rssi的定位方法,一种是根据经验值数据库进行定位,另一种是根据室内信号传播模型进行定位。前者的首要任务是,建立室内环境的无线信号接收强度分布图,即信号强度经验值数据库。测量值与经验值进行匹配时采用了最近k邻居算法(k-nearestneighborinsignalspacek-nnss)。而基于室内信号传播模型建模的定位方法,则首先用数学建模的方式计算室内空间中各个位置的信号强度rssi,再用实时测量值与之比对,匹配算法仍然采用最近k邻居算法。radar系统的增强版中加入了类维特比(viterbi-like)历史路径算法,在一定程度上提高了定位的精度,但是同时也增加了定位算法的复杂度和定位时延。radar系统主要依靠信号强度测量值与经验值的比对来判定用户的位置,是后来很多基于位置指纹数据库匹配的室内定位算法的鼻祖。然而,该系统没有充分利用与位置相关的其他信息,一定程度上影响了定位的精度,平均定位精度为2.65米左右。2、ekahau定位系统芬兰ekahau公司推出的ekahau定位系统是全球第一个商用化的基于无线局域网的室内定位系统。该系统使用经验值采样的方法进行定位,可运行在支持无线网络的台式机、笔记本电脑或智能手机上。它主要包括3个模块:客户端、管理程序、定位服务器。ekahau定位系统工作时,从客户端上采集无线ap的信号强度,管理程序负责建立室内环境的无线信号强度分布图,即rssi数据库,定位服务器用来存储rssi数据库,并执行匹配算法计算设备位置坐标。定位之前,定位引擎要求用户事先画好行走路线,在行走路线上进行采样,因此,定位时给出的位置估计值被限定在事先画好的行走路线上,定位区域具有很大的局限性。ekahau定位系统的平均定位精度为3m左右,是目前商用定位系统中较为成熟的系统之一。3、wps定位系统skyhook公司推出的wps定位系统(wifipositioningsystem,wps)是一个利用信号强度位置指纹匹配法进行定位的系统。该系统能够综合使用wifi、gps和移动基站进行精确定位。wps技术的优势是:比gps系统耗时短,比基站定位技术精确,并且省电。目前该技术已经得到了业界的认可,google等公司也已经进入了该领域。skyhook目前已经与苹果、高通、broadcom和csr等公司进行了合作。wps是一个独特的纯软件系统,可通过wifi接入点产生准确的位置信息检测,高通将提供其gpsone芯片应用最广泛的a-gps解决方案,与skyhook的定位技术相结合,利用wifi和gps全球定位系统,通过设备制造商、移动运营、第三方服务提供商和应用开发商,建立一个混合定位解决方案。skyhook的wifi定位技术能利用已知的wifi热点增强gps功能。该服务在人口密集、wifi无线电讯号传输频繁的区域运作良好。针对室内定位,或城市高楼间的定位,也有很好的表现。这些都是以卫星为基础的gps技术相对较弱的地方。定位系统的实现机制非常灵活,可以划分为正向和反向两种。此外,也有文献根据移动定位标签有无计算能力,划分为瘦标签和胖标签。一般来说,无线发射端位置已知或相对固定,求解计算信号接收端的位置,称为正向;反之,已知接收端位置固定,求解发射端位置则称为反向。反向定位的应用案例包括:无线监管时的噪声定位,无线传感器中的无源位置标签定位等等。现有定位系统大多数均采用正向定位算法,而本软件则采用反向定位算法。与正向定位类似,反向定位也可以基于时间、角度来完成,但这通常需要定制的计时和测量角度的硬件电路,而且对测量的精确度要求较高。因此,本软件采用基于信号强度的定位方案,充分利用wifi网络已有的基础设备,采用三点定位的wifi算法进行反向定位,利用wifi网络信号强度(rss)检测机制,设计并实现了一种wifi基站的反向定位算法。通过反向利用基于信号强度的定位方案,采用android手机充当接收者,反向定位出wifi热点的位置。技术实现要素:本发明研制开发了一种较为完善的,有很强针对性的基于手机的区域wifi热点位置测定技术。该技术通过android手机在不同位置获取的gps信息和wifi的信号强度,将获取的数据回传到pc机,基于系统特有算法,计算出wifi热点的具体位置,并采用可视化展示方式在地图上标示出来。该技术操作平台基于android4.1以下(包括4.1)操作系统,通过三大功能模块:区域wifi热点信息采集模块,区域wifi热点位置测定模块和区域wifi热点位置展示模块,对wifi热点定位算法和热点位置展示进行创新,实现了目标手机wifi信息获取,目标手机地理位置信息获取和多种方式的目标手机信息回传。不同以往的移动用户定位软件,本技术设计并实现了一种wifi基站的反向定位算法,用来测定wifi热点的信号源位置;然后,通过将自由空间电波传播损耗公式和室内无线信号强度分布公式相结合,用来测定与wifi信号源的距离;另外,可采用多种方案对目标手机信息进行回传,回传方案包括:向自建服务器回传、使用邮件回传、利用现有云存储服务回传等;最后,软件根据获取的数据和计算出的结果,采用可视化展示方式,在地图上对区域wifi热点进行标示,展现区域wifi热点的分布情况。一、本发明理论基础与客观依据研究区域wifi热点位置测点技术,实现定位信息wifi信息的采集、回传、测算及最终展示,本发明对以无线通信距离计算方法和wifi定位算法进行了深入研究:(1)无线通信距离计算方法本发明采用自由空间传播时无线通信距离的计算方法。所谓自由空间传播系指天线周围为无限大真空时的电波传播,理想情况下会被障碍物所吸收,也不会产生反射或散射。自由空间中电波传播损耗(亦称衰减)只与工作频率f和传播距离d有关。下面的公式说明在自由空间下电波传播的损耗:los(db)=32.44+20lgd(km)+20lgf(mhz)其中:los是传播损耗,单位为db。d是距离,单位为km。f是工作频率,单位是mhz。这种情况是理想状况下的传输距离,实际应用中,由于wifi信号多在室内,无线信号传输功率低,覆盖范围小,环境变动大,对于室内无线信道,受多径效应的影响,接收端的信号由多个路径的入射信号构成。建筑物自身结构会引起入射信号的反射、绕射、折射和散射,因此信号在到达接收端时便具有不同的强度、相位和时延,它们叠加后形成了衰减、相位不断变化的信号波形。其中,信号幅度的衰落是信道衰落统计特性模型的主要研究对象。经多径信道传输后接收到的信号强度一般服从对数正态分布。常用的对数距离路径损耗模型服从如下公式:式中p为接收端的接收信号功率,d是移动台与信号源的距离,n是路径损耗因子,ξ是一与传播距离d无关的随机变量。基于此模型得出在室内环境中无线信号强度的分布服从如下公式:rss=-10nlgd+a其中rss表示接收信号强度(receivedsignalstrength,rss),a被定义为距离发射点1m处的接收信号强度;n表示信号传输常数,取决于信号传播环境;d为与发射节点的距离。不同环境下的a和n取值,参照说明书附图1。(2)wifi定位算法假设有三个点a、b和c可以接收wifi信号,设b和c点的信号强度分别为qb和qc。通过手机可以获得qb和qc的值。同时wifi信号的发射频率f可以通过测定得出。距离损耗公式如下:los=32.44+20lgd(km)+20lgf(mhz)由于无法得出wifi的初始发射功率,所以无法算出los传播损耗的具体数值和每个地点距离wifi信号源的距离。因此,本软件通过两个点算出它们距离wifi信号源的比例。例如b点和c点得距离比计算公式如下:qb=32.44+20lgda+20lgfqc=32.44+20lgdb+20lgf分别以b和c为圆心,以距离比为半径,比例画圆。由计算得出所有不同比例,画出的圆的交点都在一个圆上,求解该圆的方程如下:ax2+bx+cy2+dy+e=0参照说明书附图2,b和c两个圆的交点在另外一个圆上,通过改变b和c半径的大小(保持比例不变),两个圆的交点都在紫色线的圆上,可以得出结论,即wifi的位置在紫色圆区域中。同理,计算出a和c的距离比,求得a和c的交点所在圆的方程如下:a1x2+b1x+c1y2+d1y+e1=0计算a和b画圆的交点所在圆的方程设如下:a2x2+b2x+c2y2+d2y+e2=0由于上述三个圆都满足条件,所以wifi必定同时在三个圆上。因此,通过三个圆的交点,即可确定wifi所在的位置。二、
发明内容本发明的主要
发明内容是区域wifi热点位置测定技术和算法的创新,以及基于android手机的区域wifi热点位置的程序开发。(1)区域wifi热点位置测定技术和算法的创新本发明首先基于自由空间传播时无线通信距离的计算方法,结合实际应用中的特点和需求,对信号进行修正,计算出近似通信距离。由于已有定位算法只适用于定位信号接收端,无法满足对信号发射端进行定位的要求,本发明借鉴现有基于rss信号强度定位算法,提出针对信号发射端的区域wifi热点位置测定算法。现有基于rss信号强度室内定位算法模型,一般都用于测定接收终端的位置,其模型建立过程如下:无线信号在视距传播时,其路径损耗与t-r距离成对数关系。但由于室内信号并非视距传播,各种障碍物均会对信号造成衰减,其中以墙壁造成的分隔损耗最为主要。另外在不同的环境下,信号衰减的速度也有不同,如在发射天线很近的地方,环境的影响很小,可认为与自由空间传播相同,而在办公室环境下则衰减要快一些。本软件采用如下式所示模型对无线信号的路径损耗平均值进行预测:其中,na是由环境决定的路径损耗指数,对同一楼层的不同区域根据实际测量采用不同值;waf为需由实验测定的墙壁衰减因子,需对不同墙体进行实际测量;df为发射天线周围可等效为自由空间的范围,通常为3米;d0=1m为参考点距离。基于上述算法,本发明采用反向应用,设计出反向定位wifi热点位置的算法。根据采集到的gps定位信息和wifi信息,测算出wifi热点的位置。此外,为加强测量结果的准确性,软件将通过多次测定结果得出多个wifi位置点,并任意选三个点连接为三角形,在取得的重心位置后,根据中心对wifi信号源位置进行修正,提升测量的精确度。(2)基于android手机的区域wifi热点位置测定技术本技术基于android4.1以下(包括4.1)操作系统,通过三大功能模块:区域wifi热点信息采集模块,区域wifi热点位置测定模块和区域wifi热点位置展示模块,实现了目标手机wifi信息获取,目标手机地理位置信息获取和多种方式的目标手机信息回传。该技术首先通过手机在不同位置获取gps信息和wifi的信号强度,根据实际需求和应用特点,对区域wifi热点位置测定技术和算法进行创新,推算出wifi热点的位置,并采用多种方式获取数据并回传到后台服务器,最后,采用可视化展示方式在地图上将测定结果标示出来。本技术使用android手机作为采集平台。在室外条件下,android手机的gps定位信息需要使用locationmanager类和location类,通过调用该类中的方法进行定位信息获取。而在室内条件下,通过手机自身的gps定位功能很难获取定位信息,需要调用第三方地图服务的定位接口,根据其接口回调的位置信息来获取经纬度。在android手机上获取gps信息还需要一些权限,如果在室外条件下,在androidmanifest.xml文件中增加如下位置信息配置,如果在室内条件下,还需增加wifi状态的配置。获取wifi信息需要用到wifimanager类,通过该类提供的方法进行wifi信息的获取。此外,还需要在androidmanifest.xml文件中增加wifi状态的配置。本技术的信息回传模块所回传的数据与服务端的定位计算程序所需输入数据,在数据结构上有很大不同,回传数据中每个采集点的数据结构均为“gps信息-wifi列表”,每个wifi列表中均包含wifi的经度、纬度、信号强度等信息。而服务器端的定位计算程序所需的输入数据结构则是“特定wifi及其信息-gps信息列表”,每个gps信息列表由若干个能够采集到该特定wifi信息的采集点组成。本技术对这两种数据结构的高效转换进行了专门的数据结构和算法设计。附图说明图1不同环境下的a和n取值。图2b和c两圆模拟图。图3软件整体框架图。图4软件整体流程图。图5手机端数据获取流程图。图6电脑端数据处理流程图。图7软件安装和使用流程图。图8软件wifi搜索界面图。图9软件xml文件结果展示图。图10软件地图展示效果图。具体实施方式本发明研制开发了一种具有很强针对性的区域wifi热点位置测定技术,该技术通过基于android手机软件实现。软件整体框架参照说明书附图3。软件在手机端运行平台为android操作系统,以androidwifi获取技术、android地理位置信息获取技术和javamail技术为基础,结合wifi基站的反向定位算法,分模块实现了wifi信息获取、位置信息获取、数据处理、数据回传、数据下载、wifi位置计算和wifi位置显示等功能,以android手机在不同位置获取的gps信息和wifi的信号强度为参数,计算出wifi热点的具体位置,并采用可视化展示方式在地图上标示出来。软件的整体工作流程主要分三步,参照说明书附图4:第一步:采集足够周边足够多的wifi热点信息。第二步:利用所采集的数据,根据软件特有的定位算法和修正算法,计算出wifi热点的地理位置。第三步:将计算得出的地理位置标示在百度地图上,进行可视化展示。其中,手机端的数据获取过程,参照说明书附图5。数据采集过程涵盖了四个功能模块,包括:wifi信息获取模块、位置信息获取模块、数据处理模块和数据回传模块。数据获取的工作流程如下:首先选定合适的信息收集地点,用手机wifi搜索功能搜索周围wifi热点信号。如果没有信号,则移动位置继续搜索。如果有信号,则收集该点wifi热点的信号强度和地理位置,并将这些信息转化成便于系统处理的数据结构,然后查看是否已经获取到足够的有效数据。如果没有则继续收集,如果数据已足够,则将这些信息回传至电脑端以备后续处理。电脑端的数据处理过程,参照说明书附图6。数据处理过程涵盖了三个功能模块,包括:数据下载模块、wifi位置计算模块和wifi位置显示模块。数据处理的工作流程如下:首先在电脑端下载手机端收集的数据,并以这些数据为参数,通过系统预设的算法,计算出wifi热点的位置信息,并对该信息进行修正,然后将修正后的wifi热点位置信息标示在百度地图上,进行可视化展示。软件的安装和使用流程,参考说明书附图7。用户首先需要在android手机上安装本软件的客户端,然后打开wifi,检查网络是否良好。软件的wifi搜索主界面将显示周边wifi信息,参照说明书附图8。若无可用信息,则点击“刷新列表”按钮;若有可用信息,则点击“获取数据”按钮。之后可获取该点坐标,并将该坐标和周边wifi记录到软件中。获取成功后会在左上角更新获取数据的次数,并提示“该点的wifi和地理信息已记录”,之后可进行其他操作。获取坐标的时间由实际网络状况决定。点击“清空数据”按钮将清空获取的数据,建议用户谨慎使用。重复上述刷新列表和获取数据的操作,直到获取到足够的数据,点击“保存数据”按钮。此时,软件中记录的数据将保存到本地。保存成功后会提示“wifi和地理信息已经保存在本地”,并清除软件中的数据。保存地址为sd卡根目录。名称为:当前时间.out(例:2016-04-0414-56-12.out)。保存完成后可以开始新的数据获取工作。至此,手机端的数据获取工作完成。然后,用户需将手机中的数据采集文件拷贝到电脑中的rawfile文件夹中,点击run.bat,等命令行界面中出现“所有文件处理完成”后,按任意键退出。在电脑端的outxml文件夹中查看结果文件,结果文件的文件名为当前时间,xml文件结果,参考说明书附图9。在outmap文件夹中的结果在百度地图中的可视化展示效果,参考说明书附图10。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1