為了紀念1024節,我也寫一個我遇到的bug。
我給大家介紹一個衛星導航方面的bug。這個bug要是在以前基本上是無法解決的。當時我們在靜態條件下,連續測試了半個多月的接收機,接收機工作一直很正常。有一天,我分析原始觀測值的時候,發現B1 15號衛星觀測值的整周相位在有一段時間(不到一個小時)會存在異常。這個異常對於大部份開發者都是很棘手的問題:首先,這個問題出現的機率很小,下次什麽時候會重復誰也說不準;其次,這個問題從現象到定位到具體程式碼困難重重,自己寫的程式碼看起來就像自己的親兒子,怎麽看起來怎麽順眼,不抓著現行,很難找到是哪裏出問題了。
在衛星導航領域一般會記錄衛星跟蹤的原始觀測值,然後轉換成標準的rinex格式進行後處理和分析。我分析觀測值的時候,發現北鬥 15號衛星在一段時間記憶體在有周期性的半周問題。
問題到了這裏好像就無解了,實際上當天晚上我就把這個問題解決了。
我在做這個計畫之前,就有多年從事一線FPGA、ARM和DSP開發的實際工作經驗。我的體會就是,計畫越到後期,時間和