主頁(yè)(http://www.130131.com):GPS定位基本原理淺析(科普文)
摘要:位置服務(wù)已經(jīng)成為越來(lái)越熱的一門(mén)技術(shù),也將成為以后所有移動(dòng)設(shè)備(智能手機(jī)、平板電腦等)的標(biāo)配。而定位導(dǎo)航技術(shù)中,目前精度最高、應(yīng)用最廣泛的,自然非GPS莫屬了。網(wǎng)絡(luò)上介紹GPS原理的專(zhuān)業(yè)資料很多,而本文試圖從編程人員的角度出發(fā),以一種程序員易于理解的方式來(lái)簡(jiǎn)單介紹一下GPS定位的基本原理,希望對(duì)做GPS開(kāi)發(fā)的朋友有所啟發(fā)。當(dāng)然,本文并沒(méi)有涉及具體的開(kāi)發(fā)方面的技術(shù)。 一、GPS定位數(shù)學(xué)模型 之所以先介紹數(shù)學(xué)模型,是因?yàn)槲艺J(rèn)為這個(gè)數(shù)學(xué)模型可能是程序員比較關(guān)心的問(wèn)題。當(dāng)然事先聲明,這個(gè)模型只是我根據(jù)一些GPS資料總專(zhuān)為程序員總結(jié)出來(lái)的一個(gè)簡(jiǎn)化模型,細(xì)節(jié)方面可能并不符合實(shí)際,想了解具體細(xì)節(jié)請(qǐng)參考專(zhuān)業(yè)的GPS講解資料。 GPS定位,實(shí)際上就是通過(guò)四顆已知位置的衛(wèi)星來(lái)確定GPS接收器的位置。
如上圖所示,圖中的GPS接收器為當(dāng)前要確定位置的設(shè)備,衛(wèi)星1、2、3、4為本次定位要用到的四顆衛(wèi)星:
那么定位的過(guò)程,簡(jiǎn)單來(lái)講就是通過(guò)一個(gè)函數(shù)GetLocation(),從已知的[Position1,d1]、[Position2,d2]、[Position3,d3]、[Position4,d4]四對(duì)數(shù)據(jù)中求出Location的值。用程序員熟悉的函數(shù)調(diào)用來(lái)表示就是: Location=GetLocation([Position1,d1],[Position2,d2],[Position3,d3],[Position4,d4]); 一看到這個(gè)函數(shù)調(diào)用,程序員們就該來(lái)勁了:這些參數(shù)從哪里來(lái)?這個(gè)函數(shù)又是如何執(zhí)行?由誰(shuí)來(lái)執(zhí)行的呢?立體幾何還沒(méi)有忘干凈的可能還要問(wèn):為什么必須要4對(duì)參數(shù)呢?那下面我們就來(lái)一起探究一下。 1 . Position1、Position2、Position3、Position4這些位置信息從哪里來(lái)? 實(shí)際上,運(yùn)行于宇宙空間的GPS衛(wèi)星,每一個(gè)都在時(shí)刻不停地通過(guò)衛(wèi)星信號(hào)向全世界廣播自己的當(dāng)前位置坐標(biāo)信息。任何一個(gè)GPS接收器都可以通過(guò)天線(xiàn)很輕松地接收到這些信息,并且能夠讀懂這些信息(這其實(shí)也是每一個(gè)GPS芯片的核心功能之一)。這就是這些位置信息的來(lái)源。 2 . d1、d2、d3、d4這些距離信息從哪里來(lái)? 我們已經(jīng)知道每一個(gè)GPS衛(wèi)星都在不辭辛勞地廣播自己的位置,那么在發(fā)送位置信息的同時(shí),也會(huì)附加上該數(shù)據(jù)包發(fā)出時(shí)的時(shí)間戳。GPS接收器收到數(shù)據(jù)包后,用當(dāng)前時(shí)間(當(dāng)前時(shí)間當(dāng)然只能由GPS接收器自己來(lái)確定了)減去時(shí)間戳上的時(shí)間,就是數(shù)據(jù)包在空中傳輸所用的時(shí)間了。 知道了數(shù)據(jù)包在空中的傳輸時(shí)間,那么乘上他的傳輸速度,就是數(shù)據(jù)包在空中傳輸?shù)木嚯x,也就是該衛(wèi)星到GPS接收器的距離了。數(shù)據(jù)包是通過(guò)無(wú)線(xiàn)電波傳送的,那么理想速度就是光速c,把傳播時(shí)間記為T(mén)i的話(huà),用公式表示就是: di=c*Ti(i=1,2,3,4); 這就是di(i=1,2,3,4)的來(lái)源了。 3 . GetLocation()函數(shù)是如何執(zhí)行的? 這個(gè)函數(shù)是我為了說(shuō)明問(wèn)題而虛構(gòu)的,事實(shí)上未必存在,但是一定存在這樣類(lèi)似的運(yùn)算邏輯。這些運(yùn)算邏輯可以由軟件來(lái)實(shí)現(xiàn),但是事實(shí)上可能大都是由硬件芯片來(lái)完成的(這可能也是每一個(gè)GPS芯片的核心功能之一)。 4 . 為什么要必須要四對(duì)參數(shù)? 根據(jù)立體幾何知識(shí),三維空間中,三對(duì)[Positioni,di]這樣的數(shù)據(jù)就可以確定一個(gè)點(diǎn)了(實(shí)際上可能是兩個(gè),但我們可以通過(guò)邏輯判斷舍去一個(gè)),為什么這里需要四對(duì)呢?理想情況下,的確三對(duì)就夠了,也就是說(shuō)理想情況下只需要三顆衛(wèi)星就可以實(shí)現(xiàn)GPS定位。但是事實(shí)上,必須要四顆。 因?yàn)楦鶕?jù)上面的公式,di是通過(guò)c*Ti計(jì)算出來(lái)的,而我們知道c值是很大的(理想速度即光速),那么對(duì)于時(shí)間Ti而言,一個(gè)極小的誤差都會(huì)被放大很多倍從而導(dǎo)致整個(gè)結(jié)果無(wú)效。也就是說(shuō),在GPS定位中,對(duì)時(shí)間的精度要求是極高的。GPS衛(wèi)星上是用銫原子鐘來(lái)計(jì)時(shí)的,但是我們不可能為每一個(gè)GPS接收器也配一個(gè)銫原子鐘,因?yàn)橐粋(gè)銫原子鐘的價(jià)格可能已經(jīng)超過(guò)了這個(gè)GPS設(shè)備再加上使用GPS的這輛名貴汽車(chē)的價(jià)格。 同時(shí),由于速度c也會(huì)受到空中電離層的影響,因此也會(huì)有誤差;再者,GPS衛(wèi)星廣播的自己的位置也可能會(huì)有誤差。其他等等一些因素也會(huì)影響數(shù)據(jù)的精確度。 總之,數(shù)據(jù)是存在誤差的。這些誤差可能導(dǎo)致定位精確度降低,也可能直接導(dǎo)致定位無(wú)效。GetLocation(函數(shù))中多用了一組數(shù)據(jù),正是為了來(lái)校正誤差。至于具體的細(xì)節(jié),我們就不用關(guān)心了,我們只要知道,多用一組數(shù)據(jù),就可以通過(guò)一些巧妙的算法,消除或減小誤差,保證定位有效。這就是GetLocation()函數(shù)必須用四組數(shù)據(jù)的原因,也就是為什么必須有四顆衛(wèi)星才能定位的原因。 5 . GetLocation()函數(shù)返回的位置信息怎樣被GPS設(shè)備識(shí)別呢? 前面說(shuō)在進(jìn)行位置計(jì)算時(shí)都是用的空間坐標(biāo)形式表示,但是對(duì)GPS設(shè)備及應(yīng)用程序而言,通常需要用的是一個(gè)[經(jīng)度,緯度,高度]這樣的位置信息。那么我們可以想象,在GetLocation()函數(shù)返回位置結(jié)果前,可能會(huì)進(jìn)行一個(gè)從空間坐標(biāo)形式到經(jīng)緯度形式的轉(zhuǎn)換,我們不妨假設(shè)存在一個(gè)Convert(經(jīng)緯度,空間坐標(biāo))這樣的函數(shù)來(lái)進(jìn)行這個(gè)轉(zhuǎn)換。 6 . 單點(diǎn)定位與差分定位 實(shí)際上上面所說(shuō)的只是定位原理中的其中一種,稱(chēng)為單點(diǎn)定位,或絕對(duì)定位。就是通過(guò)唯一的一個(gè)GPS接收器來(lái)確定位置。
目前定位精度最高的是差分定位,或稱(chēng)相對(duì)定位。就是通過(guò)增加一個(gè)參考GPS接收器來(lái)提高定位精度。
上面我們已經(jīng)圍繞一個(gè)虛擬的GetLocation()函數(shù)基本搞清楚了GPS定位的基本數(shù)學(xué)模型,對(duì)于編程而言,知道這些就足夠了(其實(shí)不知道也不影響編程)。如果好奇心還沒(méi)滿(mǎn)足的話(huà),我們繼續(xù)了解一些GPS相關(guān)的背景知識(shí)。 二、GPS衛(wèi)星是哪里來(lái)的? (廢話(huà),當(dāng)然是人發(fā)射的!地球人發(fā)射的。 GPS(Global Position System,全球定位系統(tǒng)),全稱(chēng)為NAVSTAR GPS(NAVigation Satellite Timing And Ranging Global Position System,導(dǎo)航星測(cè)時(shí)與測(cè)距全球定位系統(tǒng))。GPS是一個(gè)由美國(guó)國(guó)防部開(kāi)發(fā)的空基全天侯導(dǎo)航系統(tǒng),它用以滿(mǎn)足軍方在地面或近地空間內(nèi)獲取在一個(gè)通用參照系中的位置、速度和時(shí)間信息的要求。 1 , GPS發(fā)展歷程
2.美國(guó)政府的的GPS策略
3.其他衛(wèi)星導(dǎo)航系統(tǒng)
三、GPS系統(tǒng)的構(gòu)成 GPS系統(tǒng)=空間部分+控制部分+用戶(hù)部分
1 . 空間部分 GPS空間部分主要由24顆GPS衛(wèi)星構(gòu)成,其中21顆工作衛(wèi)星,3顆備用衛(wèi)星。24顆衛(wèi)星運(yùn)行在6個(gè)軌道平面上,運(yùn)行周期為12個(gè)小時(shí)。保證在任一時(shí)刻、任一地點(diǎn)高度角15度以上都能夠觀測(cè)到4顆以上的衛(wèi)星。 主要作用:發(fā)送用于導(dǎo)航定位的衛(wèi)星信號(hào)。 構(gòu)成:24顆衛(wèi)星=21顆工作衛(wèi)星+3顆備用衛(wèi)星
2 . 控制部分 GPS控制部分由1個(gè)主控站,5個(gè)檢測(cè)站和3個(gè)注入站組成。 組成:GPS控制部分=主控站(1個(gè))+監(jiān)測(cè)站(5個(gè))+注入站(3個(gè)) 作用:監(jiān)測(cè)和控制衛(wèi)星運(yùn)行,編算衛(wèi)星星歷(導(dǎo)航電文),保持系統(tǒng)時(shí)間。
分布情況:
3 . 用戶(hù)部分 GPS用戶(hù)設(shè)備部分包含GPS接收器及相關(guān)設(shè)備。GPS接收器主要由GPS芯片構(gòu)成。如車(chē)載、船載GPS導(dǎo)航儀,內(nèi)置GPS功能的移動(dòng)設(shè)備,GPS測(cè)繪設(shè)備等都屬于GPS用戶(hù)設(shè)備。 組成:主要為GPS接收器 作用:接收、跟蹤、變換和測(cè)量GPS信號(hào)的設(shè)備,GPS系統(tǒng)的消費(fèi)者。 GPS定位是目前最為精確、應(yīng)用最為廣泛的定位導(dǎo)航技術(shù),以后將會(huì)成為每一個(gè)移動(dòng)設(shè)備的標(biāo)配之一,F(xiàn)在的智能手機(jī)幾乎全部配備GPS硬件。那么針對(duì)GPS定位的開(kāi)發(fā)技術(shù)也會(huì)成為一項(xiàng)主流常規(guī)技術(shù)。 (中國(guó)集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |



