基于三角定位算法的WiFi室内定位系统设计
0引言
【研究意义】近年来,随着智能手机的普及,城市中WiFi热点(Access Peint,AP)的覆盖率大幅度提高,因此对WiFi室内定位服务需求逐渐增加,WiFi室内定位技术的商业化必将带来一波创新应用高潮,各种基于室内定位技术的商业应用将出现在我们的生活中,尤其是在O2O领域[1]。例如在大型综合体商场停车场里面借助室内定位导航快速找到停车位,商铺也可以根据用户的具体位置向用户推送定制的促销商品信息等,这些商业应用会极大地提高O2O体验,提高用户购物消费的满意度。【前人研究进展】目前用于室内定位的技术有很多,比如蓝牙、ZigBee、射频、红外线、超声波、计算机视觉等。这些技术与WiFi室内定位技术相较,无论从硬件设计、软件设计、工程实施难度来说,还是从定位效果方面考察,其优势都明显不如后者[2]。杨润锋等[3]设计了一种以Android移动终端为控制平台的无线WiFi通信系统,该系统基于WiFi技术实现作者的设计目的;张明华等[4]设计了一种WiFi定位系统,该系统能够实现稳定可靠的室内定位。【本研究切入点】基于WiFi技术的室内定位系统的定位精度取决于AP的个数、信号的稳定程度以及算法的选择。本文从算法的选择方面入手,采用三角定位算法,改善和增加WiFi室内定位的准确率。【拟解决的关键问题】在Android平台上实现WiFi室内定位系统,改善室内定位系统的质量。
1WiFi室内定位系统整体设计
本系统的设计目标是在Android智能手机上实现实时的WiFi室内定位。如图1所示,该系统采用Android手机客户端/云服务器的网络架构,包括定位云服务器,Android智能手机客户端和WiFi热点(AP),其中的AP需要与Internet相连,Android智能手机客户端和定位云服务器通过TCP连接实现数据传输。
图1WiFi室内定位系统框架
Fig.1WiFi indoor positioning system diagram
本系统定位过程为Android手机客户端进行WiFi无线信号扫描,然后通过AP把数据传输到定位云服务器,云服务器获得数据后进行定位计算,然后把计算结果发回手机客户端界面显示手机所处位置。
2WiFi定位算法
每一个无线AP都有一个全球唯一的MAC地址。智能手机客户端可以扫描并收集周围的AP信号,无论信号是否加密,或者是否已连接,都可以获取到AP广播出来的MAC地址。每个AP有MAC地址和信号强度两个重要数据,MAC地址可以决定是哪个AP;信号强度理论上与智能手机和AP之间的距离有函数对应关系,根据信号强度可以算出智能手机和AP之间的距离[5]。智能手机将这些数据发送到定位云服务器,定位云服务器就可以用算法计算出智能手机的室内位置。
WiFi定位算法基本上可以分为两大类:第一类不基于WiFi信号强度RSSI,例如 TOA(Time of Arrival),TDOA(Time Difference of Arrival),AOA(Angle of Arrival)。但是这些值在智能手机上无法获取,需要特殊的WiFi模块,所以这类方法在本系统中无法使用。第二类基于WiFi信号强度RSSI,在智能手机上可以通过Android系统SDK获取周围各个AP发送的信号强度RSSI及AP位置,利用RSSI来定位是最可行的方法[6]。基于RSSI定位算法主要为三角定位算法,三角定位算法需要提前知道AP的位置。如果已经知道AP的位置,就可以利用信号衰减模型估算出智能手机与各个AP之间的距离,然后以智能手机到周围AP的距离为半径画圆,其交点就是该智能手机的位置(图2)。WiFi信号强度RSSI的表达式如下[7]:
RSSI=-(10n log10d+R),
(1)
其中,d为定位智能手机节点与参考AP点之间的距离,单位为m;R为定位智能手机节点与参考AP点之间的距离为1 m时所测得的RSSI值;n为信号衰减因子,一般为2~4(文献[8])。
图2三角定位法
Fig.2Triangle positioning method
定位AP的平面坐标集合为{(xA,yA),(xB,yB),(xC,yC)},定位点所对应RSSI信号强度为{RA,RB,RC},那么定位点到AP的距离集合为{dA,dB,dC},建立二元二次方程组,公式如下:
(2)
理论上3个圆至少有一个公共交点,但是无线WiFi信号在室内的传播比较复杂,导致WiFi信号覆盖范围估计不准确,所以很多情况下3个圆只是两两相交(图3)。
圆B与圆C交点P1的位置求解为公式:
(3)
同理求得交点P2、P3的位置(x2,y2)和(x3,y3),则智能手机定位点位置(X,Y)为
(4)
图3WiFi信号实际覆盖情况
Fig.3Actual coverage of WiFi signal
3算法测试
首先将智能手机固定在一个点,这个点被3个AP包围;再用智能手机客户端做100次定位操作,同时把定位信息发给云服务器,云服务器把定位结果返回客户端显示,记录下100次定位结果;然后做数据分析。实验结果按距离排序,用excel画一个分布图(图4),从这个图可以大致分析定位效果:100个点中,距离误差小于1 m的有5个点;有94个点的距离误差在1 m到4 m,大致呈均匀分布态势;距离误差大于4 m的有1个点。
图4WiFi定位实验
Fig.4WiFi positioning experiment
4结束语
WiFi室内定位有着巨大的商业应用前景,本文通过实际的实验环境分析WiFi无线信号的分布特点,基于三角定位算法,在Android平台上实现WiFi室内定位系统。算法的测试结果表明该系统的定位效果比较好,定位误差较小。
参考文献:
[1]潘立波.基于WiFi技术的无线定位算法研究与实现[D].杭州:浙江大学,2013.
PAN L B.Research and Implementation of Wireless Localization Algorithm Based on WiFi Technology[D].Hangzhou:Zhejiang University,2013.
[2]万国锋,钟俊.基于三角形理论的无线传感器网络定位算法[J].计算机应用研究,2013,30(1):249-251.
WAN G F,ZHONG J.Triangle-based localization algorithm for wireless sensor networks[J].Application Research of Computers,2013,30(1):249-251.
[3]杨润锋,方华,刘文烽.基于Anrboid平台的新型预应力智能张拉监控系统研究[J].广西科技大学学报,2015,26(4):75-79.
YANG R F, FANG H,LIU W F. The research of prestressing intelligent tension monitor system based on Android platform[J].Journal of Guangxi University of Science and Technology,2015,26(4):75-79.
[4]张明华,张申生,曹健.无线局域网中基于信号强度的室内定位[J].计算机科学,2007,34(6):68-71,75.
ZHANG M H,ZHANG S S,CAO J.Received-Signal-Strength-Based indoor location in wireless LANs[J].Computer Science,2007,34(6):68-71,75.
[5]雷家毅.Android平台基于WiFi的定位算法与系统设计[D].上海:华东理工大学,2012.
LEI J Y.WiFi Based Positioning Algorithm and System Design on Android Platform[D].Shanghai:East China University of Science and Technology,2012.
[6]倪巍,王宗欣.基于接收信号强度测量的室内定位算法[J].复旦学报:自然科学版,2004,43(1):72-76.
NI W,WANG Z X.An indoor location algorithm based on the measurement of the received signal strength[J].Journal of Fudan University:Natural Science Edition,2004,43(1):72-76.
[7]齐保振.基于运动传感的个人导航系统及算法研究[D].杭州:浙江大学,2013.
QI B Z.Research on the Personal Navigation System and Algorithm Based on Motion Sensing[D].Hangzhou:Zhejiang University,2013.
[8]杨清.基于指纹的无线室内精确定位方法研究[D].杭州:浙江大学,2011.
YANG Q.Research on the Fingerprint-based Wireless Indoor Location Algorithm[D].Hangzhou:Zhejiang University,2011.
(责任编辑:米慧芝)
WiFi Indoor Positioning System Design Based on the Triangle Positioning Algorithm
黄华晋,秦建息
HUANG Huajin,QIN Jianxi
(广西瀚特信息产业股份有限公司,广西桂林541004)
(Guangxi Hunter Information Industry Co.,Ltd.,Guilin,Guangxi,541004,China)
摘要:【目的】改善室内定位系统的质量,提高室内定位的准确率和效率。【方法】利用无线WiFi信号自身的特点,在Android平台的基础上设计一种基于三角定位算法的WiFi室内定位系统。【结果】实验测试结果表明该WiFi室内定位系统能准确地进行室内定位。【结论】基于三角定位算法的WiFi室内定位系统定位准确率高,具有很高的商业使用价值。
关键词:WiFi室内定位Android
Abstract:【Objective】Improve the quality, accuracy and efficiency of indoor positioning.【Methods】Based on the Android platform,this paper designs a WiFi indoor positioning system by triangulation algorithm based on the WiFi platform.【Results】The test results show that the WiFi indoor positioning system can be accurately positioned.【Conclusion】The WiFi indoor positioning system based on the triangle positioning algorithm is high accuracy and has great commercial value.
Key words:WiFi,indoor positioning,Android
中图分类号:TN92
文献标识码:A
文章编号:1002-7378(2016)01-0059-03
作者简介:黄华晋(1982-),男,硕士研究生,主要从事嵌入式系统、物联网方面研究。
收稿日期:2015-09-10
网络优先数字出版时间:2016-01-27
网络优先数字出版地址:http://www.cnki.net/kcms/detail/45.1075.N.20160127.1616.008.html