朱時(shí)立, 鄧 平
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031)
蜂窩網(wǎng)絡(luò)中眾多的增值業(yè)務(wù)都需要移動終端的位置信息,對移動終端的準(zhǔn)確定位越來越受到人們的重視[1-2]。由于 TDOA、GPS等定位技術(shù)在室內(nèi)、城市環(huán)境對移動終端進(jìn)行定位存在的各種問題和不足,迫切需要一種精度高、適用范圍廣的移動定位技術(shù),以滿足人們在室內(nèi)、室外日益增長的定位需要[3]。
近年來,位置指紋定位技術(shù)(Fingerprint Location)以其實(shí)現(xiàn)簡單、抗多徑和非視距(NLOS)不利影響、精度高等諸多優(yōu)點(diǎn),受到人們的廣泛關(guān)注和深入研究[4],并成為室內(nèi)WLAN移動終端定位的主要候選技術(shù)及 2G蜂窩手機(jī)定位的重要技術(shù)。目前,Google已為GSM用戶提供了基于該技術(shù)的手機(jī)定位服務(wù),鵬潤科技等公司也為國內(nèi)許多大中城市以及吉隆坡、雅加達(dá)、香港等境外城市的GSM手機(jī)用戶提供了基于該技術(shù)的定位服務(wù),復(fù)雜城市環(huán)境中定位精度可以達(dá)到 50~300 m,能滿足用戶的一遍定位需求。但是,該技術(shù)目前僅限于2G網(wǎng)絡(luò)下的應(yīng)用,還沒有見到3G網(wǎng)絡(luò)下該技術(shù)應(yīng)用的報(bào)道。為此,文中基于位置指紋定位技術(shù)設(shè)計(jì)了一種應(yīng)用于3G WCDMA網(wǎng)絡(luò)的位置指紋定位原型系統(tǒng)[5],完成了移動終端軟硬件的設(shè)計(jì)及系統(tǒng)實(shí)現(xiàn),并進(jìn)行了定位實(shí)驗(yàn)及測試,達(dá)到了預(yù)期的效果。
位置指紋定位的應(yīng)用過程必須包含兩個(gè)階段:離線采樣階段與在線定位階段。離線階段的目標(biāo)是對定位區(qū)域中的樣點(diǎn)經(jīng)行采集數(shù)據(jù),數(shù)據(jù)信息包括樣點(diǎn)與各個(gè)基站小區(qū)的信號強(qiáng)度和基站小區(qū)唯一身份標(biāo)示ID。并將數(shù)據(jù)按照特定格式存儲到定位中心的數(shù)據(jù)庫中。在線定位階段過程中,用戶在定位區(qū)域?qū)⒏浇拘^(qū)信號強(qiáng)度信息采集起來后,發(fā)送至定位中心,定位中心從離線階段采集的數(shù)據(jù)中遍歷出相鄰的樣點(diǎn)通過以下不同的算法確定用戶位置:最相鄰樣點(diǎn)位置作為定位結(jié)果(NN算法)、取鄰近樣點(diǎn)位置平均值作為定位結(jié)果(KNN算法)、取鄰近樣點(diǎn)加權(quán)平均值作為定位結(jié)果(WKNN算法)。最后將定位結(jié)果反饋給用戶[4]。
基于位置指紋定位原理,這里設(shè)計(jì)了3G WCDMA網(wǎng)絡(luò)位置指紋定位系統(tǒng)架構(gòu)如圖1所示。該系統(tǒng)由上位機(jī)、網(wǎng)關(guān)和定位兩套終端組成,上位機(jī)數(shù)據(jù)存儲采用微軟的SQLServer 2000數(shù)據(jù)庫格式,定位階段下終端ARM控制WCDMA負(fù)責(zé)監(jiān)聽短消息、處理短消息命令、獲取基站信息、存儲離線數(shù)據(jù)等功能。網(wǎng)關(guān)負(fù)責(zé)與上位機(jī)軟件通過RS232協(xié)議進(jìn)行通訊,主要負(fù)責(zé)監(jiān)聽定位終端請求短消息,處理短消息命令,通過短消息發(fā)送命令給定位終端等任務(wù)。服務(wù)器上的定位中心采用 WKNN指紋定位算法準(zhǔn)確地定位出待定位的移動終端的位置,實(shí)時(shí)顯示在定位中心系統(tǒng)的界面上,并把位置信息返回到待定位的移動終端實(shí)現(xiàn)定位[6-7]。
圖1 系統(tǒng)結(jié)構(gòu)
為了實(shí)現(xiàn)具有位置指紋定位功能的移動終端,用Protel DXP2004設(shè)計(jì)、實(shí)現(xiàn)了嵌入式移動終端系統(tǒng),其中CPU采用的是三星S3C2440A,主頻400 MHz;內(nèi)存 64MB;NAND Flash 128MB,NOR Flash 4MB,兩個(gè)五線異步串行 232接口,SD卡接口[8]。WCDMA模塊采用SIMCOM生產(chǎn)的SIM5216E型號3GWCDMA工業(yè)通信模塊,可通過RS-232連接控制模塊收發(fā)短信和獲取基站信息。硬件結(jié)構(gòu)如圖2所示。
圖2 硬件結(jié)構(gòu)
為移動終端配置軟件需要搭建開發(fā)環(huán)境平臺及嵌入式軟件設(shè)計(jì)。開發(fā)環(huán)境搭建包括Linux系統(tǒng)移植、交叉編譯環(huán)境配置、運(yùn)行環(huán)境連接等,嵌入式軟件則運(yùn)行于Linux平臺下,實(shí)現(xiàn)定位相關(guān)的各種具體功能。
2.1.1 BootLoader 與Linux移植,系統(tǒng)配置
運(yùn)行于TE2440-II ARM9開發(fā)板中的BootLoader相當(dāng)于 PC機(jī)中的 BIOS,在啟動 Linux,Wince,Android等系統(tǒng)之前初始化硬件設(shè)備、建立內(nèi)存空間映射圖,將系統(tǒng)的軟硬件環(huán)境配置到合適狀態(tài),提供運(yùn)行環(huán)境。BootLoader可用sjf2440.exe通過JTAG口燒寫到裸板中。通過DWN調(diào)試軟件USB連接,BootLoader引導(dǎo)將Linux系統(tǒng)下載到目標(biāo)板,設(shè)置BootLoader的自啟動系統(tǒng)為Linux系統(tǒng)。
Linux系統(tǒng)移植后,系統(tǒng)很多服務(wù)進(jìn)程默認(rèn)關(guān)掉,為此如果要正常使用常見的進(jìn)程,必須下發(fā)命令開啟服務(wù)進(jìn)程。為了方便開發(fā)工作,筆者對Linux開機(jī)文件rcS作了相應(yīng)的配置,增添控制代碼及說明如下:
/sbin/ifconfig eth1 192.168.1.16 up,啟動以太網(wǎng)口1;
那木偶沒多大事,只臉上被新漆過的鐵架子剮蹭了一些漆漬上去。王爺?shù)哪槄s變成了豬肝色,一邊嘴里咕咕叨叨罵起來,一邊從口袋里掏出平日里擦嘴用的手帕,沾了些唾沫,使勁在那木偶臉上擦。見擦不干凈,又從口袋里掏出一個(gè)小刀(不知道還能掏出啥來),把著力度輕輕地刮,竟然那漆漬就被刮掉了。
/sbin/vsftpd&,開啟嵌入式ftp服務(wù),供復(fù)制拷貝文件;
/sbin/telnetd,開啟嵌入式telnet服務(wù),可遠(yuǎn)程查看系統(tǒng)運(yùn)行狀況。
2.1.2 交叉編譯環(huán)境建立與Makefile編寫
作者采用在VMWave中Ubuntu 10.10系統(tǒng)下建立交叉編譯環(huán)境,采用arm-linux-gcc-3.4.1版本交叉編譯環(huán)境。解壓安裝包、添加PATH環(huán)境變量并驗(yàn)證交叉環(huán)境成功即可進(jìn)行代碼開發(fā)。由于工程中存在多個(gè)按類型、功能、模塊分別放于不同目錄的源文件,為減少編譯過程中輸入多個(gè)編譯命令,作者編寫一個(gè)Makefile文件進(jìn)行自動化編譯。在工程文件目錄下輸入make命令,即可完成自動編譯,大大提高了軟件開發(fā)效率。下面是編寫的Makefile中一部分與注釋;
GCC:=/usr/local/arm/3.4.1/bin/arm-linuxgcc // 指出交叉環(huán)境路徑
WCDMA.o:$(CDMA)WCDMA.c $(CDMA)WCDMA.h$(GCC) -c $(CDMA)WCDMA.c//(其中CDMA為WCDMA.c文件的路徑)編譯WCDMA.c文件,生成WCDMA.o文件。這樣,將多個(gè).O文件鏈接后即可成為Linux環(huán)境下的可執(zhí)行文件。
終端軟件的功能包括:在線監(jiān)聽和處理、離線采集數(shù)據(jù)、后臺操作WCDMA模塊。為了使離線采集數(shù)據(jù)或者后臺操作WCDMA模塊的過程中不遺漏網(wǎng)關(guān)發(fā)送過來的任何一條請求命令,軟件采用多線程處理。在線監(jiān)聽作為單獨(dú)線程實(shí)時(shí)監(jiān)聽,讀取新短信,解析短信內(nèi)容命令,根據(jù)命令進(jìn)行相應(yīng)處理操作。離線采集數(shù)據(jù)和后臺操作 WCDMA模塊并用一個(gè)線程,兩個(gè)進(jìn)程是互斥關(guān)系。離線采集數(shù)據(jù)可以選擇數(shù)據(jù)存儲和數(shù)據(jù)立即發(fā)送兩種方案,數(shù)據(jù)存儲是將離線采集到的數(shù)據(jù)保存在NAND Flash中,再從后臺文件中復(fù)制出來,導(dǎo)入至上位機(jī)數(shù)據(jù)庫。數(shù)據(jù)立即發(fā)送則是每采集一個(gè)指紋特征點(diǎn)就通過短信直接發(fā)送到網(wǎng)關(guān),上位機(jī)自動解析保存到數(shù)據(jù)庫。后臺操作WCDMA則是通過軟件下發(fā)一些簡單的對WCDMA模塊操作控制的AT指令。系統(tǒng)流程圖如圖3所示。
圖3 軟件流程
圖4 兩個(gè)典型幀格式
定位系統(tǒng)的實(shí)現(xiàn)分為離線和在線兩個(gè)階段。
離線階段主要進(jìn)行指紋數(shù)據(jù)庫建立以及數(shù)據(jù)維護(hù)更新,在選定的實(shí)驗(yàn)區(qū)域快速采集、提取 WCDMA網(wǎng)絡(luò)中位置指紋信息,供定位中心建立位置指紋數(shù)據(jù)庫。建立典型實(shí)驗(yàn)區(qū)域,通過現(xiàn)場實(shí)驗(yàn)研究單個(gè)位置指紋覆蓋區(qū)域大小對定位精度的影響,得到對應(yīng)的推薦值。確定單個(gè)位置指紋覆蓋區(qū)域的大小,兼顧定位精度和算法計(jì)算復(fù)雜性兩個(gè)方面的要求。利用所設(shè)計(jì)的移動終端進(jìn)行現(xiàn)場實(shí)測,并根據(jù)傳播模型校正,做進(jìn)一步的分析和改進(jìn)。
圖5為系統(tǒng)在線定位流程。在被動請求定位階段,上位機(jī)軟件通過RS232下發(fā)命令到網(wǎng)關(guān),網(wǎng)關(guān)解析并將命令封裝通過SMS轉(zhuǎn)發(fā)至終端。終端獲取短信中命令,采集包含下行信號強(qiáng)度和基站ID的指紋特征信息原路返回到上位機(jī),定位中心調(diào)用數(shù)據(jù)庫中指紋庫運(yùn)用 WKNN指紋定位算法計(jì)算出定位結(jié)果并反饋給終端,實(shí)現(xiàn)終端被動定位。主動定位則是終端直接將指紋特征信息發(fā)送到網(wǎng)關(guān)。
圖5 定位流程
測試過程中,離線階段采集密度間隔為 10 m,每個(gè)采樣點(diǎn)采集 5次,采集到的數(shù)據(jù)按照幀格式如圖6所示。采集到的離線數(shù)據(jù)采用TXT文本格式存儲到終端SD卡,再導(dǎo)入到數(shù)據(jù)庫存儲,這樣可以減少離線數(shù)據(jù)通訊產(chǎn)生的費(fèi)用,提高離線采集效率。數(shù)據(jù)采集經(jīng)過后臺數(shù)據(jù)融合處理后,每個(gè)指紋間距為50 m。
圖6 離線采集數(shù)據(jù)
在實(shí)驗(yàn)區(qū)域內(nèi)分別用主動定位與被動定位方式對測試點(diǎn)進(jìn)行定位驗(yàn)證,各抽取10個(gè)定位結(jié)果如圖7所示。主動定位相比被動定位只少了被動觸發(fā)階段,后面流程是一致的,實(shí)驗(yàn)數(shù)據(jù)也證明了此點(diǎn)。除去異常點(diǎn),定位誤差在20 m到70 m之間,滿足了定位需求。
圖7 定位誤差
文中基于位置指紋定位原理設(shè)計(jì)了一套基于3G WCDMA網(wǎng)絡(luò)的位置指紋定位演示系統(tǒng),并完成了移動終端軟硬件的設(shè)計(jì)、實(shí)現(xiàn)及系統(tǒng)測試,達(dá)到了預(yù)期的效果?;谠摷夹g(shù),對現(xiàn)有3G移動終端只需提供一應(yīng)用程序、無需做軟硬件修改,即能在3G蜂窩網(wǎng)覆蓋的任何環(huán)境中實(shí)現(xiàn)對移動終端的準(zhǔn)確有效定位。
[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] 范平志,鄧平,劉林.蜂窩網(wǎng)無線定位[M].北京:電子工業(yè)出版社,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] 鄭穎.常用移動定位技術(shù)的研究和應(yīng)用[J].通信技術(shù),2001(08):79-81.
[5] 黃楠,伍小芹.3G移動用戶定位技術(shù)研究[J].通信技術(shù),2011,44(07):63-64.
[6] 張明華,張申生,曹健.無線局域網(wǎng)中基于信號強(qiáng)度的室內(nèi)定位[J].計(jì)算機(jī)科學(xué),2007(06):68-71.
[7] 湯麗,徐玉濱,周牧,等.基于 K近鄰算法的WLAN室內(nèi)定位技術(shù)研究[J].計(jì)算機(jī)科學(xué),2009(4B):54-55,92.
[8] 飛凌嵌入式有限公司.S3C2440 user manual[S].北京:飛凌嵌入式有限公司,2007:1-10.
[9] 翁雪清.GPS技術(shù)在移動定位業(yè)務(wù)中的應(yīng)用中國科技信息[J].2009(03):106-107.