當前位置:編程學習大全網 - 行動軟體 - gps定位的基本原理

gps定位的基本原理

本文試圖從編程人員的角度出發,以壹種程序員易於理解的方式來簡單介紹壹下GPS定位的基本原理,希望對做GPS開發的朋友有所幫助。當然,本文並沒有涉及具體的開發方面的技術。

壹、GPS定位數學模型

之所以先介紹數學模型,是因為我認為這個數學模型可能是程序員比較關心的問題。當然事先聲明,這個模型只是我根據壹些GPS資料總專為程序員總結出來的壹個簡化模型,細節方面可能並不符合實際,想了解具體細節請參考專業的GPS講解資料。

GPS定位,實際上就是通過四顆已知位置的衛星來確定GPS接收器的位置。

舉例:GPS接收器為當前要確定位置的設備,衛星1、2、3、4為本次定位要用到的四顆衛星:

Position1、Position2、Position3、Position4分別為四顆衛星的當前位置(空間坐標),已知

d1、d2、d3、d4分別為四顆衛星到要定位的GPS接收器的距離,已知

Location 為要定位的衛星接收器的位置,待求。

那麽定位的過程,簡單來講就是通過壹個函數GetLocation(),從已知的[Position1,d1]、[Position2,d2]、[Position3,d3]、[Position4,d4]四對數據中求出Location的值。用程序員熟悉的函數調用來表示就是:

Location=GetLocation([Position1,d1],[Position2,d2],[Position3,d3],[Position4,d4]);

那麽,這些參數從哪裏來?這個函數又是如何執行?由誰來執行的呢?立體幾何還沒有忘幹凈的可能還要問:為什麽必須要4對參數呢?那下面我們就來壹起探究壹下。

1.Position1、Position2、Position3、Position4這些位置信息從哪裏來?

實際上,運行於宇宙空間的GPS衛星,每壹個都在時刻不停地通過衛星信號向全世界廣播自己的當前位置坐標信息。任何壹個GPS接收器都可以通過天線很輕松地接收到這些信息,並且能夠讀懂這些信息(這其實也是每壹個GPS芯片的核心功能之壹)。這就是這些位置信息的來源。

2.d1、d2、d3、d4這些距離信息從哪裏來?

我們已經知道每壹個GPS衛星都在壹刻不停地廣播自己的位置,那麽在發送位置信息的同時,也會附加上該數據包發出時的時間戳。GPS接收器收到數據包後,用當前時間減去時間戳上的時間,就是數據包在空中傳輸所用的時間了。

知道了數據包在空中的傳輸時間,那麽乘上他的傳輸速度,就是數據包在空中傳輸的距離,也就是該衛星到GPS接收器的距離了。數據包是通過無線電波傳送的,那麽理想速度就是光速c,把傳播時間記為Ti的話,用公式表示就是:

di=c*Ti(i=1,2,3,4);

這就是di(i=1,2,3,4)的來源了。

3.GetLocation()函數是如何執行的?

這個函數是我為了說明問題而虛構的,事實上未必存在,但是壹定存在這樣類似的運算邏輯。這些運算邏輯可以由軟件來實現,但是事實上可能大都是由硬件芯片來完成的(這可能也是每壹個GPS芯片的核心功能之壹)。

  • 上一篇:ps cc與ps 2017有哪些新壇功能 操作有何區別?
  • 下一篇:小組特點介紹
  • copyright 2024編程學習大全網