• 2

gps接收器如何與太空中的衛星做時間同步

最近在看一些和GPS相關的資料,當中提到GPS定位中距離是以D(距離) = V(速度)xT(時間)而求出來,GPS接收器是經由每個衛星PRN(Pseudo Random Nosie)不同,運用時間延遲來計算衛星與接收器的距離,但我有二個疑問

Q1:每個GPS接收器在出廠時是如何與GPS衛星做時間同步,如果時間不同步,那接下來的時間延遲應該就無法計算出來,請問一下時間是如何同步的?

Q2請問一下何謂星暦資料?裡面當中包含什麼?何謂年暦資料?當中又包含什麼?星暦資料和年曆資料有什麼相關嗎?

以上這兩個問題不曉得要去那裡找答案,找過一些資料好像對這些東西沒有交代的很清楚,不曉得站上是否有同好可以指引一下方向,謝謝
2007-04-08 15:09 發佈
Hi, 小弟剛好有些經驗先回答大大的問題,
如果有不對的地方還請站手臥虎藏龍的高手指教了.
A1: 理論上在cold start(或出廠時第一次開機)時不需與衛星的時間同步. 接收機藉由PN code的同步得到一時間延遲來得到你說的Pseud Range. 而PN code怎麼同步, 簡單的來說, 就是接收機位移PN code並與衛星訊號做correlate的運算求得. 但實際的情況會更複雜.
A2: 星曆資料指的應該是Almanac跟Ephemeris. Almanac是精細度較低的資料, Ephemeris是精細度高的資料. 兩種都能算出衛星位置, 但Almanac是供Hot start使用, Ephemeris才是算衛星位置用的資料. 星曆包含計算衛星位置的參數, 及一些修正時間的參數, 有興趣可上GOOGLE上用關鍵字查. 至於年曆資料, 抱歉小弟沒有聽說過.
如果大大對這些概念還不是很清楚, 可以PM給小弟, 小弟可提供幾個網站供大大參考.
我的觀念比較簡單, GPS要完成定位, 基本上就是要解出X,Y,Z,T四元聯立方程式. 每顆衛星都會不停的傳送本身的X,Y,Z,T資料出來, 只要收到三顆的資料, 便可粗略估計X,Y,T先行定位, Z值因為地球半徑的變化量不大, 可以先用推算的.
所以時間基本上是算出來的, 不需要同步.
星曆基本上就是衛星的週期表, 如果GPS短期內曾經定位過, 就會知道哪顆衛星某個時間應該會出現在哪個方位上. 有這些先決條件, 就可以減低搜尋時間, 加快定位速度的.
至於年曆, 真的沒聽說過...
末日狂徒@VP2
to photon543 和 Seraphic Gate
謝謝你們的回答,

to photon543 請問您在文中提到的"接收機藉由PN code的同步得到一時間延遲來得到你說的Pseud Range. 而PN code怎麼同步, 簡單的來說, 就是接收機位移PN code並與衛星訊號做correlate的運算求得. 但實際的情況會更複雜."...請問這那裡有PN code怎麼同步的相關資料,可否告知一下..謝謝

to Seraphic Gate:請問您在文中提到的"解出X,Y,Z,T四元聯立方程式...etc就可以定位"這應該是要在PN code同步確定距離之後運算的..應該是這樣沒有錯吧...若有說錯敬請指教

謝謝
請參閱:
http://www.colorado.edu/geography/gcraft/notes/gps/gps_f.html

這個網站提供很多GPS的基本概念, 如果不是要做Base band產品大概整個網頁都看懂差不多就算是很懂GPS了.
cgp218兄你的問題應該是卡在該網頁Position, and Time from GPS這個章節.
這張圖是應該是你想知道的關鍵.
至於怎麼同步的資料, 很抱歉, 小弟這部份也不很懂啦, 且手上有的資料應該算是商業機密. 你可以去Sirf的網站或是google去挖挖寶, 也許可以查到Sirf3的20萬個correlator是怎麼做的.
對...那我再去google上仔細找找,看有沒有相關的資料,找到的話再與大家一同分享..謝謝
小弟最近剛好在 study GPS, 就小弟粗淺的看法
1. 一般receiver 和 satellite time 是無法做到有意義的同步, 因為 satellite 是原子鐘, 除非 receiver 也是原子鐘, 否則 time 同步並無意義, 因時間誤差會大到使位置誤差過大
2. 所以Seraphic Gate 大大説的對, t 是解出來的, 這就是為何要四顆以上 satellite 才能定位 (x,y,z,t)
3. sirf 的 20萬個correlator 小弟猜想是 20 (satellite #) x 1000 (PN code per ms, 約 1000) x 10 ms

請大家多指教
little_friend大大:
不好意思小弟現在正在上班無法將你的問題回答的很詳盡.
1.一般receiver 和 satellite time 是無法做到有意義的同步...
接收機的時間的確要和衛星時間同步, 這點是很肯定的.
2....t 是解出來的, 這就是為何要四顆以上 satellite 才能定位 (x,y,z,t)...
這裡的t是指接收機的t bias, 不是你所看到的UTC時間. 在真正的情況, 除了接收機的時間誤差, 還有衛星的時間誤差及一些有的沒有的時間誤差是需要被修正的.
3....小弟猜想是 20 (satellite #) x 1000 (PN code per ms, 約 1000) x 10 ms
應該不是醬意思...

其實小弟也沒有很深入的瞭解GPS的原理, 希望提供自己的想法並且有機會跟站上的高手討論指教一下.

photon543 大大, 相信你一定比小弟了解多的多, 因為我才剛開始 study, 多謝大大的指正
若依大大之前所言, "在cold start(或出廠時第一次開機)時不需與衛星的時間同步. 接收機藉由PN code的同步得到一時間延遲來得到你說的Pseud Range", 那由 pn code 同步便可得到 pseudo range, 那 receiver 與 satellite 為何要時間同步呢? 謝謝
little_friend兄:
小弟發現您之前有問過NMEA的問題, 所以小弟先大膽假設大大工作是跟GPS的module有關而不是baseband.

receiver 與 satellite 為何要時間同步呢?
以做baseband的角度來看:
1. 輸出的NMEA訊息中要有UTC時間, 那麼接收機的時間就要跟衛星時間同步.
2. 衛星的時間需要再寫入RTC內, 以供Hot start使用. Hot start的原理為從RTC取出時間, 從SRAM(或Flash)拿Ephemeris資料算出接收機位置.

另外, 大大您的問題已經問的小深入了, 這代表小弟有可能會回答錯.
站上有幾位GPS的高手, 您可以爬爬舊文或是直接PM給他們再次求證會比較保險.
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?