全球導航衛星系統(GNSS)是現代生活不可或缺的基礎設施,從智慧型手機定位、車輛導航到精密測量,都仰賴這些衛星系統。然而,這些系統存在一個鮮為人知的技術限制——週數翻轉(Week Number Rollover)問題。
什麼是GNSS週數翻轉?
週數翻轉是指GNSS系統用來記錄時間的週數計數器達到上限後歸零的現象。這就像汽車里程表跑滿後重新從零開始計算一樣,但對於依賴精確時間的導航系統來說,這可能造成嚴重的問題。
韌體開發 x 踩坑心得 x 讓錢慢慢長大
全球導航衛星系統(GNSS)是現代生活不可或缺的基礎設施,從智慧型手機定位、車輛導航到精密測量,都仰賴這些衛星系統。然而,這些系統存在一個鮮為人知的技術限制——週數翻轉(Week Number Rollover)問題。
週數翻轉是指GNSS系統用來記錄時間的週數計數器達到上限後歸零的現象。這就像汽車里程表跑滿後重新從零開始計算一樣,但對於依賴精確時間的導航系統來說,這可能造成嚴重的問題。
為什麼GPS有時候秒定位,有時候要等好幾分鐘?關鍵就在「星曆」和「年曆」!
星曆是描述單顆衛星在特定時間段內的精確軌道參數。
簡單比喻:就像飛機的「即時飛行計劃」,告訴你這架飛機現在精確在哪裡、往哪飛、速度多快。
每天我們打開手機地圖、使用導航、叫外送,都在使用 GNSS 定位技術。但你有想過,為什麼手機能知道你在哪裡嗎?衛星在 2 萬公里外的太空,是如何精確定位到地面上的你?
在我剛開始接觸 GNSS 相關的功能開發時,也對這個「看不見的魔法」充滿好奇。經過多年的實務開發和測試,把手邊的資料做個整理,讓大家更理解 GNSS 定位的原理。
之前一直以為 cold start 的 TTFF (Time To First Fix) 至少需要 30 秒才能完成定位。這個認知來自於一個看似合理的邏輯:GPS 衛星需要傳輸完整的 5 個 subframe 才能提供所有必要的導航資訊,而每個 subframe 需要 6 秒,因此 5 × 6 = 30 秒。
然而,最近與晶片廠商合作時,他們提供的測試數據徹底顛覆了我的認知——TTFF 竟然有時候可以達到 25 秒!
如果接收器支援,絕對可以同時使用來自不同GNSS星座的訊號:
- 1顆GPS衛星 🇺🇸
- 1顆GLONASS衛星 🇷🇺
- 1顆北斗衛星 🇨🇳
- 1顆Galileo衛星 🇪🇺
這稱為多重GNSS或多星座定位,現代接收器經常這樣做!目前聯合國認可的四大全球衛星導航系統供應商,包含美國的GPS、俄羅斯的格洛納斯系統(GLONASS)、歐盟的伽利略定位系統(GALILEO),以及大陸的北斗系統。