具有位置指纹定位功能的WCDMA移动终端设计﹡
2013-09-17朱时立
朱时立, 邓 平
(西南交通大学 信息科学与技术学院,四川 成都 610031)
0 引言
蜂窝网络中众多的增值业务都需要移动终端的位置信息,对移动终端的准确定位越来越受到人们的重视[1-2]。由于 TDOA、GPS等定位技术在室内、城市环境对移动终端进行定位存在的各种问题和不足,迫切需要一种精度高、适用范围广的移动定位技术,以满足人们在室内、室外日益增长的定位需要[3]。
近年来,位置指纹定位技术(Fingerprint Location)以其实现简单、抗多径和非视距(NLOS)不利影响、精度高等诸多优点,受到人们的广泛关注和深入研究[4],并成为室内WLAN移动终端定位的主要候选技术及 2G蜂窝手机定位的重要技术。目前,Google已为GSM用户提供了基于该技术的手机定位服务,鹏润科技等公司也为国内许多大中城市以及吉隆坡、雅加达、香港等境外城市的GSM手机用户提供了基于该技术的定位服务,复杂城市环境中定位精度可以达到 50~300 m,能满足用户的一遍定位需求。但是,该技术目前仅限于2G网络下的应用,还没有见到3G网络下该技术应用的报道。为此,文中基于位置指纹定位技术设计了一种应用于3G WCDMA网络的位置指纹定位原型系统[5],完成了移动终端软硬件的设计及系统实现,并进行了定位实验及测试,达到了预期的效果。
1 WCDMA位置指纹定位系统
1.1 位置指纹定位原理
位置指纹定位的应用过程必须包含两个阶段:离线采样阶段与在线定位阶段。离线阶段的目标是对定位区域中的样点经行采集数据,数据信息包括样点与各个基站小区的信号强度和基站小区唯一身份标示ID。并将数据按照特定格式存储到定位中心的数据库中。在线定位阶段过程中,用户在定位区域将附近基站小区信号强度信息采集起来后,发送至定位中心,定位中心从离线阶段采集的数据中遍历出相邻的样点通过以下不同的算法确定用户位置:最相邻样点位置作为定位结果(NN算法)、取邻近样点位置平均值作为定位结果(KNN算法)、取邻近样点加权平均值作为定位结果(WKNN算法)。最后将定位结果反馈给用户[4]。
1.2 系统定位架构
基于位置指纹定位原理,这里设计了3G WCDMA网络位置指纹定位系统架构如图1所示。该系统由上位机、网关和定位两套终端组成,上位机数据存储采用微软的SQLServer 2000数据库格式,定位阶段下终端ARM控制WCDMA负责监听短消息、处理短消息命令、获取基站信息、存储离线数据等功能。网关负责与上位机软件通过RS232协议进行通讯,主要负责监听定位终端请求短消息,处理短消息命令,通过短消息发送命令给定位终端等任务。服务器上的定位中心采用 WKNN指纹定位算法准确地定位出待定位的移动终端的位置,实时显示在定位中心系统的界面上,并把位置信息返回到待定位的移动终端实现定位[6-7]。
图1 系统结构
1.3 移动终端硬件电路设计
为了实现具有位置指纹定位功能的移动终端,用Protel DXP2004设计、实现了嵌入式移动终端系统,其中CPU采用的是三星S3C2440A,主频400 MHz;内存 64MB;NAND Flash 128MB,NOR Flash 4MB,两个五线异步串行 232接口,SD卡接口[8]。WCDMA模块采用SIMCOM生产的SIM5216E型号3GWCDMA工业通信模块,可通过RS-232连接控制模块收发短信和获取基站信息。硬件结构如图2所示。
图2 硬件结构
2 移动终端软件设计
为移动终端配置软件需要搭建开发环境平台及嵌入式软件设计。开发环境搭建包括Linux系统移植、交叉编译环境配置、运行环境连接等,嵌入式软件则运行于Linux平台下,实现定位相关的各种具体功能。
2.1 开发环境搭建
2.1.1 BootLoader 与Linux移植,系统配置
运行于TE2440-II ARM9开发板中的BootLoader相当于 PC机中的 BIOS,在启动 Linux,Wince,Android等系统之前初始化硬件设备、建立内存空间映射图,将系统的软硬件环境配置到合适状态,提供运行环境。BootLoader可用sjf2440.exe通过JTAG口烧写到裸板中。通过DWN调试软件USB连接,BootLoader引导将Linux系统下载到目标板,设置BootLoader的自启动系统为Linux系统。
Linux系统移植后,系统很多服务进程默认关掉,为此如果要正常使用常见的进程,必须下发命令开启服务进程。为了方便开发工作,笔者对Linux开机文件rcS作了相应的配置,增添控制代码及说明如下:
/sbin/ifconfig eth1 192.168.1.16 up,启动以太网口1;
那木偶没多大事,只脸上被新漆过的铁架子剐蹭了一些漆渍上去。王爷的脸却变成了猪肝色,一边嘴里咕咕叨叨骂起来,一边从口袋里掏出平日里擦嘴用的手帕,沾了些唾沫,使劲在那木偶脸上擦。见擦不干净,又从口袋里掏出一个小刀(不知道还能掏出啥来),把着力度轻轻地刮,竟然那漆渍就被刮掉了。
/sbin/vsftpd&,开启嵌入式ftp服务,供复制拷贝文件;
/sbin/telnetd,开启嵌入式telnet服务,可远程查看系统运行状况。
2.1.2 交叉编译环境建立与Makefile编写
作者采用在VMWave中Ubuntu 10.10系统下建立交叉编译环境,采用arm-linux-gcc-3.4.1版本交叉编译环境。解压安装包、添加PATH环境变量并验证交叉环境成功即可进行代码开发。由于工程中存在多个按类型、功能、模块分别放于不同目录的源文件,为减少编译过程中输入多个编译命令,作者编写一个Makefile文件进行自动化编译。在工程文件目录下输入make命令,即可完成自动编译,大大提高了软件开发效率。下面是编写的Makefile中一部分与注释;
GCC:=/usr/local/arm/3.4.1/bin/arm-linuxgcc // 指出交叉环境路径
WCDMA.o:$(CDMA)WCDMA.c $(CDMA)WCDMA.h$(GCC) -c $(CDMA)WCDMA.c//(其中CDMA为WCDMA.c文件的路径)编译WCDMA.c文件,生成WCDMA.o文件。这样,将多个.O文件链接后即可成为Linux环境下的可执行文件。
2.2 嵌入式软件设计
终端软件的功能包括:在线监听和处理、离线采集数据、后台操作WCDMA模块。为了使离线采集数据或者后台操作WCDMA模块的过程中不遗漏网关发送过来的任何一条请求命令,软件采用多线程处理。在线监听作为单独线程实时监听,读取新短信,解析短信内容命令,根据命令进行相应处理操作。离线采集数据和后台操作 WCDMA模块并用一个线程,两个进程是互斥关系。离线采集数据可以选择数据存储和数据立即发送两种方案,数据存储是将离线采集到的数据保存在NAND Flash中,再从后台文件中复制出来,导入至上位机数据库。数据立即发送则是每采集一个指纹特征点就通过短信直接发送到网关,上位机自动解析保存到数据库。后台操作WCDMA则是通过软件下发一些简单的对WCDMA模块操作控制的AT指令。系统流程图如图3所示。
2.3 通讯帧格式
图3 软件流程
图4 两个典型帧格式
3 系统实现与测试
定位系统的实现分为离线和在线两个阶段。
离线阶段主要进行指纹数据库建立以及数据维护更新,在选定的实验区域快速采集、提取 WCDMA网络中位置指纹信息,供定位中心建立位置指纹数据库。建立典型实验区域,通过现场实验研究单个位置指纹覆盖区域大小对定位精度的影响,得到对应的推荐值。确定单个位置指纹覆盖区域的大小,兼顾定位精度和算法计算复杂性两个方面的要求。利用所设计的移动终端进行现场实测,并根据传播模型校正,做进一步的分析和改进。
图5为系统在线定位流程。在被动请求定位阶段,上位机软件通过RS232下发命令到网关,网关解析并将命令封装通过SMS转发至终端。终端获取短信中命令,采集包含下行信号强度和基站ID的指纹特征信息原路返回到上位机,定位中心调用数据库中指纹库运用 WKNN指纹定位算法计算出定位结果并反馈给终端,实现终端被动定位。主动定位则是终端直接将指纹特征信息发送到网关。
图5 定位流程
测试过程中,离线阶段采集密度间隔为 10 m,每个采样点采集 5次,采集到的数据按照帧格式如图6所示。采集到的离线数据采用TXT文本格式存储到终端SD卡,再导入到数据库存储,这样可以减少离线数据通讯产生的费用,提高离线采集效率。数据采集经过后台数据融合处理后,每个指纹间距为50 m。
图6 离线采集数据
在实验区域内分别用主动定位与被动定位方式对测试点进行定位验证,各抽取10个定位结果如图7所示。主动定位相比被动定位只少了被动触发阶段,后面流程是一致的,实验数据也证明了此点。除去异常点,定位误差在20 m到70 m之间,满足了定位需求。
图7 定位误差
4 结语
文中基于位置指纹定位原理设计了一套基于3G WCDMA网络的位置指纹定位演示系统,并完成了移动终端软硬件的设计、实现及系统测试,达到了预期的效果。基于该技术,对现有3G移动终端只需提供一应用程序、无需做软硬件修改,即能在3G蜂窝网覆盖的任何环境中实现对移动终端的准确有效定位。
[1] LI B,WANG Y,LEE H K,et al. Method for Yielding a Database of Location Fingerprints in WLAN[C]//Communications,IEEE Proceedings.[s.l.]:IEEE. 2005:580-586.
[2] 范平志,邓平,刘林.蜂窝网无线定位[M].北京:电子工业出版社,2002.
[3] LAKMAL S D B,DIAS D. Database Correlation for GSM Location in Outdoor & Indoor Environments[C] //In Proceedings of the 4th International Conference on Information and Automation for Sustainability(ICIAFS).Colombo:Sri Lanka,2008:42-47.
[4] 郑颖.常用移动定位技术的研究和应用[J].通信技术,2001(08):79-81.
[5] 黄楠,伍小芹.3G移动用户定位技术研究[J].通信技术,2011,44(07):63-64.
[6] 张明华,张申生,曹健.无线局域网中基于信号强度的室内定位[J].计算机科学,2007(06):68-71.
[7] 汤丽,徐玉滨,周牧,等.基于 K近邻算法的WLAN室内定位技术研究[J].计算机科学,2009(4B):54-55,92.
[8] 飞凌嵌入式有限公司.S3C2440 user manual[S].北京:飞凌嵌入式有限公司,2007:1-10.
[9] 翁雪清.GPS技术在移动定位业务中的应用中国科技信息[J].2009(03):106-107.