论文部分内容阅读
[摘 要]近年来,随着无线移动通信技术的快速发展,GPS和蜂窝网络相结合的A-GPS(Assisted Global Positioning System)定位方式在紧急救援和各种基于位置服务(LBS,Location-Based Services)中逐渐得到了应用。但由于卫星信号容易受到各种障碍物遮挡,GPS/APGS 等卫星定位技术并不适用于室内或高楼林立的场合,目前无线室内定位技术迅速发展,已成为GPS的有力补充。本文设计及实现了一个基于WiFi射频信号强度指纹匹配的移动终端定位系统。
[关键词]射频信号;无线室内定位;Android操作系统;WiFi;
中图分类号:TM933.3+3 文献标识码:A 文章编号:1009-914X(2014)24-0015-01
1.引言
位置信息在人们的日常生活中扮演着重要的作用。首先是公共安全和应急响应,在紧急情况下,每一个人都想被救援人员精确定位到,大到建筑物的位置,甚至是楼层或者房间号。其次,可以应用到手机购物、移动电子商务、个性化广告/优惠信息。用户会希望能够直接获取商店或者所需产品的位置。再次,室内定位在机场、医院、大型商场、会展中心、大型停车场都可以有非常广泛的应用。
最专业的定位系统是全球定位系统 (Global Positioning System, GPS),包括军事、执法、公交调度、出租车调度、物流、策划在内的很多行业都是全球定位系统的用户。随着GPS客户端接收器体积越来越小,客户端的精度越来越高,GPS定位功能被广泛的用到各行各业,一些智能手机、笔记本等移动终端甚至把GPS功能作为其标配嵌入到终端。
本文同样基于WiFi 网络,设计和实现了一种无线室内定位系统,本文采用了基于权值选择的定位算法,在一定程度上减少了RSSI信号随机变化引起的定位误差,实验结果表明,该系统可获得较好的定位精度(4米)。
2.系统的设计与实现
本系统可为移动终端客户在会展中心、大型商场、大型停车场等应用场景提供定位服务。鉴于移动终端受到计算能力、存储容量和电池电量等诸多限制,所以仅完成简单的信号采集工作,定位计算由定位服务端完成。
2.1 客户端设计
Android系统是Google在2007年发布的基于Linux平台的开源手机操作系统。近年来,基于此平台的手机市场占有率不断提高,加上其良好的开放性和丰富的API接口,可以很方便地开发各种应用程序。
2.1.1 Android系统架构简介
Android 系统,它建立于Linux内核之上,包含了各种设备驱动和管理模块,囊括了非常齐全的类库和框架,包括轻量级数据库SQLite、浏览器Webkit 等。整个系统建立在Dalvik 虚拟机上,应用程序使用Java 语言编写。Android 系统提供了丰富的框架(活动管理、位置管理等)来管理系统的软、硬件资源,整合了常用的应用程序(联系人、电话本等),并开放了很全面的API 供用户使用,整个平台具有良好的开放性和扩展性。
2.1.2 Activity生命周期
Android系统上运行的应用程序一般包含一个或多个Activity,主要由活动管理器进行管理,Activity是Android系统分配和管理资源的基本单位。每个Activity 都有其对应的生命周期。
2.1.3 获取周边AP信号强度
本文采用基于射频指纹的定位方法,移动终端需要获得周围AP 的RSSI 指纹特征,Android 系统提供的接口可以很方便地实现这一功能。
2.2 服务端软件设计
2.2.1 Web服务器
Web服务器用于对外通信,接收外界的请求,并返回相应的位置信息。 Web服务器运行Apache Tomcat 6.0.20,响应网络的定位请求,相应的软件设置参数为:在%TOMCAT_HOME%\webapps目录下建立目录:\ExServlet\WEB-INF,建立web.xml描述文件和classes文件夹,web.xml文件是描述文件,classes存放后台处理的类文件。 web.xml中定义了外部引用此服务的名字和对应的类文件。
2.2.2 定位服务器
定位服务器用于运行算法,硬件配置参数为,CPU:Intel Core2 Duo E7500 2.93GHz,内存:2G
网卡:Marvell Yukon 88E8057 PCI-EGigabit Ethernet Controller.软件配置参数为,操作系统:Windows XP Professional SP3,Web服务器:Apache Tomcat 6.0.20.相应的软件配置参数与web服务器类似,web.xml 中代码片.
2.2.3 客户端与服务端通信
客户端与服务端都接入Internet,通过标准的HTTP协议通信,简化设计的同时,也为以后Web?方式的应用留下了设计空间。服务端Servlet?用于响应客户端的请求,客户端只需在GET?请求中提交指纹信息即可获得定位结果。
3.定位算法
算法定位主要分为两个过程:采样过程和定位过程。
3.1 采样过程
采样过程:系统在环境中均匀的选取若干个点作为参考点,在这些参考点上采样能收集到的AP的RSSI(信号强度)值,一般将这些RSSI值的分布特征连同参考点的坐标一同存入指纹数据库。
3.2 定位过程
定位过程:定位过程也称为线上过程或者实时过程,移动终端打开Wi-Fi扫描,将结果送给服务器端,终端必须先将所在环境告诉服务器,服务器调用该环境下的指纹库进行匹配,通过算法计算之后,将坐标结果返回给客户端,客户端一般具有该环境下的地图,从而直接显示到地图上,反映出终端当前所在的位置。
3.3 算法描述
指纹特征采用每个AP?的RSSI?均值,即:也就是,训练阶段对同一位置点采集的每个AP的多次数据取平均,定位阶段也是如此,区别在于训练阶段采集数据多,以便得到尽量多的信息,定位阶段采集的数据少,减少定位延时,一定程度上提高了实时性。 指纹匹配采用快速选择的方式。
以上的种种算法都假设信号强度的分布随着距离的变化具有一个线性变化的关系,但是由于室内环境下多径干扰十分严重,信号的分布在一定距离内并不满足这个关系,再加上从指纹库中选择出最优点来计算当前的位置,这种计算模式也注定了定位误差的存在。以上两点可知一定的误差是一定存在的,即无法通过这种方法来达到非常精确定位。
4.结论
本文基于Android智能手机平台,设计并开发了一种基于WiFi信号的移动终端定位系统,并提出了一种基于权值选择的定位算法,一定程度上克服了RSSI信号随机扰动带来的定位误差,经过实际环境的测试,实验的精度在4米左右。另外,在提高可测性和灵活性、降低成本、减少基础设施也有很多值得研究的地方。未来室内定位技术的发展方向是和室外定位结合起来,做到无缝链接。同时室内定位也急需定位稳定的系统来向市场推广,得到市场的认可。
参考文献
[1] Haiyong Luo,Jintao Li,Zhenmin Zhu,Fang Zhao,Yimin Lin. Mobile target localization in wireless sensor networks[J].WiCom2008. Dalian China,Oct.2008.
[2] 孙利民,李建中,陈渝,朱红松.无线传感器网络[M].北京:清华大学出版社.2005.
[3] 任雍,段斌.新一代无线传感器网络节点Telos分析研究[A].第一届中国传感器网络学术会议(CWSN 2007)论文集[C].2007.
[关键词]射频信号;无线室内定位;Android操作系统;WiFi;
中图分类号:TM933.3+3 文献标识码:A 文章编号:1009-914X(2014)24-0015-01
1.引言
位置信息在人们的日常生活中扮演着重要的作用。首先是公共安全和应急响应,在紧急情况下,每一个人都想被救援人员精确定位到,大到建筑物的位置,甚至是楼层或者房间号。其次,可以应用到手机购物、移动电子商务、个性化广告/优惠信息。用户会希望能够直接获取商店或者所需产品的位置。再次,室内定位在机场、医院、大型商场、会展中心、大型停车场都可以有非常广泛的应用。
最专业的定位系统是全球定位系统 (Global Positioning System, GPS),包括军事、执法、公交调度、出租车调度、物流、策划在内的很多行业都是全球定位系统的用户。随着GPS客户端接收器体积越来越小,客户端的精度越来越高,GPS定位功能被广泛的用到各行各业,一些智能手机、笔记本等移动终端甚至把GPS功能作为其标配嵌入到终端。
本文同样基于WiFi 网络,设计和实现了一种无线室内定位系统,本文采用了基于权值选择的定位算法,在一定程度上减少了RSSI信号随机变化引起的定位误差,实验结果表明,该系统可获得较好的定位精度(4米)。
2.系统的设计与实现
本系统可为移动终端客户在会展中心、大型商场、大型停车场等应用场景提供定位服务。鉴于移动终端受到计算能力、存储容量和电池电量等诸多限制,所以仅完成简单的信号采集工作,定位计算由定位服务端完成。
2.1 客户端设计
Android系统是Google在2007年发布的基于Linux平台的开源手机操作系统。近年来,基于此平台的手机市场占有率不断提高,加上其良好的开放性和丰富的API接口,可以很方便地开发各种应用程序。
2.1.1 Android系统架构简介
Android 系统,它建立于Linux内核之上,包含了各种设备驱动和管理模块,囊括了非常齐全的类库和框架,包括轻量级数据库SQLite、浏览器Webkit 等。整个系统建立在Dalvik 虚拟机上,应用程序使用Java 语言编写。Android 系统提供了丰富的框架(活动管理、位置管理等)来管理系统的软、硬件资源,整合了常用的应用程序(联系人、电话本等),并开放了很全面的API 供用户使用,整个平台具有良好的开放性和扩展性。
2.1.2 Activity生命周期
Android系统上运行的应用程序一般包含一个或多个Activity,主要由活动管理器进行管理,Activity是Android系统分配和管理资源的基本单位。每个Activity 都有其对应的生命周期。
2.1.3 获取周边AP信号强度
本文采用基于射频指纹的定位方法,移动终端需要获得周围AP 的RSSI 指纹特征,Android 系统提供的接口可以很方便地实现这一功能。
2.2 服务端软件设计
2.2.1 Web服务器
Web服务器用于对外通信,接收外界的请求,并返回相应的位置信息。 Web服务器运行Apache Tomcat 6.0.20,响应网络的定位请求,相应的软件设置参数为:在%TOMCAT_HOME%\webapps目录下建立目录:\ExServlet\WEB-INF,建立web.xml描述文件和classes文件夹,web.xml文件是描述文件,classes存放后台处理的类文件。 web.xml中定义了外部引用此服务的名字和对应的类文件。
2.2.2 定位服务器
定位服务器用于运行算法,硬件配置参数为,CPU:Intel Core2 Duo E7500 2.93GHz,内存:2G
网卡:Marvell Yukon 88E8057 PCI-EGigabit Ethernet Controller.软件配置参数为,操作系统:Windows XP Professional SP3,Web服务器:Apache Tomcat 6.0.20.相应的软件配置参数与web服务器类似,web.xml 中代码片.
2.2.3 客户端与服务端通信
客户端与服务端都接入Internet,通过标准的HTTP协议通信,简化设计的同时,也为以后Web?方式的应用留下了设计空间。服务端Servlet?用于响应客户端的请求,客户端只需在GET?请求中提交指纹信息即可获得定位结果。
3.定位算法
算法定位主要分为两个过程:采样过程和定位过程。
3.1 采样过程
采样过程:系统在环境中均匀的选取若干个点作为参考点,在这些参考点上采样能收集到的AP的RSSI(信号强度)值,一般将这些RSSI值的分布特征连同参考点的坐标一同存入指纹数据库。
3.2 定位过程
定位过程:定位过程也称为线上过程或者实时过程,移动终端打开Wi-Fi扫描,将结果送给服务器端,终端必须先将所在环境告诉服务器,服务器调用该环境下的指纹库进行匹配,通过算法计算之后,将坐标结果返回给客户端,客户端一般具有该环境下的地图,从而直接显示到地图上,反映出终端当前所在的位置。
3.3 算法描述
指纹特征采用每个AP?的RSSI?均值,即:也就是,训练阶段对同一位置点采集的每个AP的多次数据取平均,定位阶段也是如此,区别在于训练阶段采集数据多,以便得到尽量多的信息,定位阶段采集的数据少,减少定位延时,一定程度上提高了实时性。 指纹匹配采用快速选择的方式。
以上的种种算法都假设信号强度的分布随着距离的变化具有一个线性变化的关系,但是由于室内环境下多径干扰十分严重,信号的分布在一定距离内并不满足这个关系,再加上从指纹库中选择出最优点来计算当前的位置,这种计算模式也注定了定位误差的存在。以上两点可知一定的误差是一定存在的,即无法通过这种方法来达到非常精确定位。
4.结论
本文基于Android智能手机平台,设计并开发了一种基于WiFi信号的移动终端定位系统,并提出了一种基于权值选择的定位算法,一定程度上克服了RSSI信号随机扰动带来的定位误差,经过实际环境的测试,实验的精度在4米左右。另外,在提高可测性和灵活性、降低成本、减少基础设施也有很多值得研究的地方。未来室内定位技术的发展方向是和室外定位结合起来,做到无缝链接。同时室内定位也急需定位稳定的系统来向市场推广,得到市场的认可。
参考文献
[1] Haiyong Luo,Jintao Li,Zhenmin Zhu,Fang Zhao,Yimin Lin. Mobile target localization in wireless sensor networks[J].WiCom2008. Dalian China,Oct.2008.
[2] 孙利民,李建中,陈渝,朱红松.无线传感器网络[M].北京:清华大学出版社.2005.
[3] 任雍,段斌.新一代无线传感器网络节点Telos分析研究[A].第一届中国传感器网络学术会议(CWSN 2007)论文集[C].2007.