物流貨運(yùn)
2019年12月22日
GPS定位,實(shí)際上就是通過(guò)四顆已知位置的衛(wèi)星來(lái)確定GPS接收器的位置。
Position1、Position2、Position3、Position4分別為四顆衛(wèi)星的當(dāng)前位置(空間坐標(biāo)),已知
d1、d2、d3、d4分別為四顆衛(wèi)星到要定位的GPS接收器的距離,已知
Location 為要定位的衛(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ò)天線很輕松地接收到這些信息,并且能夠讀懂這些信息(這其實(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ú)線電波傳送的,那么理想速度就是光速c,把傳播時(shí)間記為Ti的話,用公式表示就是:
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í)上未必存在,但是一定存在這樣類似的運(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的這輛名貴汽車的價(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ō)的只是定位原理中的其中一種,稱為單點(diǎn)定位,或絕對(duì)定位。就是通過(guò)唯一的一個(gè)GPS接收器來(lái)確定位置。
目前定位精度最高的是差分定位,或稱相對(duì)定位。就是通過(guò)增加一個(gè)參考GPS接收器來(lái)提高定位精度。
聲明:以上內(nèi)容來(lái)源于互聯(lián)網(wǎng),如有侵權(quán)請(qǐng)聯(lián)系刪除,出于分享信息及學(xué)習(xí)之目的,不代表本網(wǎng)站的觀點(diǎn)、本站不對(duì)其真實(shí)性負(fù)責(zé)。