为了纪念1024节,我也写一个我遇到的bug。
我给大家介绍一个卫星导航方面的bug。这个bug要是在以前基本上是无法解决的。当时我们在静态条件下,连续测试了半个多月的接收机,接收机工作一直很正常。有一天,我分析原始观测值的时候,发现B1 15号卫星观测值的整周相位在有一段时间(不到一个小时)会存在异常。这个异常对于大部分开发者都是很棘手的问题:首先,这个问题出现的几率很小,下次什么时候会重复谁也说不准;其次,这个问题从现象到定位到具体代码困难重重,自己写的代码看起来就像自己的亲儿子,怎么看起来怎么顺眼,不抓着现行,很难找到是哪里出问题了。
在卫星导航领域一般会记录卫星跟踪的原始观测值,然后转换成标准的rinex格式进行后处理和分析。我分析观测值的时候,发现北斗 15号卫星在一段时间内存在有周期性的半周问题。
![](https://img.jasve.com/2024-7/55cad84e0063dd9ab0808380dfba0213.webp)
![](https://img.jasve.com/2024-7/bbec1143888f2012b44bff81a42fe160.webp)
![](https://img.jasve.com/2024-7/1347ecbc48b4b054b7d9903ba48dad4c.webp)
问题到了这里好像就无解了,实际上当天晚上我就把这个问题解决了。
我在做这个项目之前,就有多年从事一线FPGA、ARM和DSP开发的实际工作经验。我的体会就是,项目越到后期,时间和