kyc, 2018.07

2018-7-12 15:13:57 来源: GNSSer 发布人:

近期开发进展 

7.9上午进展:(之前主要是忙论文)1. 听取生哥意见,重点看了ObsFileProcessStreamer.cs缓存数据流的内容,意外发现两个值得注意的地方:                                                                            RinexEpochInfoBuilder.cs将标准RINEX对象创建成EpochInfomation,可能是后面将声学信息传入的突破口;

                                                         另外,DateSourceContext.cs里,LoadDataSource函数中,Session貌似限制了观测时段,是否考虑在这里将时段换                                                          成声学数据时段。

                                                    2.在AcousticInfoFile.cs(之前写了很多声学信息的类和读取类)里加了时段属性,准备继续仿造Erp加载方法去加载声学                                                          数据,另外,在FileErpService.cs里看到个有趣的函数:Geo.Utils.DoubleUtil.GetNearst,先留个印象,后面或许有用。

7.9下午进展: DataSourceContext.cs中读入了声学数据,有服务部分,有直接的数据集合部分。

7.9晚上进展:发现必须在PointPositionBackGroundRunner.cs里也读一下声学数据,因为在这里需要判断计算时间。经过努力,已经实现读入和计算时段的 得到。

7.10下午进展:1. 发现只在PointPositionBackGroundRunner.cs->BuildSolver->Context里加计算时段没用因为后面Solver.Init里面为了形成计算所需的数据流,又调用了这个函数; 

                        2. 仿造IObsInfo.cs写了声学观测信息类,这样数据流里就有声学观测信息了,下一步准备在RinexFileObsDataSource.cs里读声学数据。

7.10晚上进展: 1. 发现之前写的声学信息读取器返回结果没法用在RinexFileObsDataSource.cs,于是废弃了AcousticInfoFile.cs,读取结果统一到 IAcousticInfo的实例对象中,并且在RinexFileObsDataSource.cs中实现了计算时段的统一,且可以体现在最终的Buffer流中,且经测试时段正确; 

                        2. 接下来的问题:读o文件的startIndex是否需要调整??是否需要在RinexEpochObservation.cs里加声学信息??

7.11上午进展:   突然反应过来,是否需要转变思路????预处理环节如果直接统一了时段,是否更简单????

7.11下午、晚上进展: RinexEpochObservation.cs增加了AcousticItem属性,接下来需要在RinexObsFileReader的ReadEpochObservationV3函数中增加声 学属性的存入,进而在后面转换成EpochInformation时能用得到。

7.12上午进展:  成功实现将声学信息与GNSS同历元信息共同存入  数据流参与后面的解算过程。


根据这次去CPGPS的交流结果,测地所刘老师建议,应该拿仿动态实验来检查编程算法有无问题。

7.20 利用下午的时间进行了仿动态定位实验,选了之前海洋实验的五个测站。

其中gmsd站结果较差,其余四个测站结果基本都在1dm以内,说明目前动态定位的基本思路是正确的。


这次去CPGPS还和华测的软件组进行了交流,需要坚定的两个想法:

1. 现在的商用软件动态算法初始化过程均包含伪距定位;

2. 加不加速度参数,其实主要看你需不需要这个参数,若只关心位置,无需加。


7.22 仔细检查了伪距先定位部分的流程,发现并不同于自己所想的。

目前我们的伪距先定位是这样的流程:

假设要计算第k历元的ppp结果,此时已有第k-1历元的ppp结果和第k-1历元的伪距定位结果。程序临时调用伪距定位,初始坐标(或者说先验信息)用的是第k-1历元的ppp结果(这是不对的!!!),计算后得到第k历元的伪距定位结果,并在这里已经将全局的测站坐标进行了更新,然后利用这个伪距定位坐标作为先验信息去计算第k历元的ppp结果。

我认为正确的做法是:先拉通跑一遍所有历元,用卡尔曼滤波或者最小二乘的方法得到伪距定位各历元的结果,然后再重新逐历元利用储存好的伪距定位坐标结果作为初值去解算ppp结果。


7.23 针对伪距先定位,整合生哥改正后的代码和自己添加的,测试了Bogt站仿动态定位的结果。加上伪距预先定位前后,U、E、N三个方向单天定位STD值从15.71cm、3.74cm、1.60cm变化为9.53cm、2.83cm、1.64cm。以上是坐标噪声设为20*20的情况,后来又做了噪声设为5*5、50*50、75*75、100*100的实验,发现结果差异不大。


阅读次数: 479

下一篇: lly,2018.07
上一篇: lly,2018.06

尚无评论!

返回上一页面