RTKLIB观测值存储方法
发布时间:2022-05-23点击次数:
tobs的内容和观测值头文件中的内容一致,分别对应于观测值类型(CLDS),频率(1,2,3,4......),信号通道(I,Q,X)等
ind->code[i]=obs2code(tobs[i]+1,ind->frq+i); //映射头文件中的观测频率和通道---->程序定义的观测值频率和通道对应的索引,obscodes结构体
ind->type[i]=(p=strchr(obscodes,tobs[i][0]))?(int)(p-obscodes):0; //观测值类型标识:0--伪距,1--载波,2--多普勒,3--载噪比
ind->idx[i] = code2idx(sys, ind->code[i]); //映射观测值类型中的频率---->到数据索引存储中的频率(如E1-->L[0], E5a-->L[1], E5b-->L[2])
ind->pri[i]=getcodepri(sys,ind->code[i],opt);//对于不同通道的观测值,预定义了观测值的优先级列表,针对头文件里的观测值顺序,映射到对应的优先级数值,数值越大,优先级越高。具体由优先级顺序与codepris中定义的内容一致
ind->pos[i]=-1; //定义每个观测值要存储在数组中的索引位置,下标对应于头文件列表中的观测值顺序
/* assign index for highest priority code */
for (i=0;i<NFREQ;i++) {//对要存储的频率进行循环,依次查找FREQ1, FREQ2, FREQ3
for (j=0,k=-1;j<n;j++) {//n是头文件中的观测值类型,对所有的观测值类型进行循环
//----频率匹配成功------&&信号通道观测值优先级已定义&&----存下来优先级比较高的观测值索引---
//如过BDS想要处理1-2,1-3频率,是否应该更改ind->frq[j]==i+1???
if (ind->frq[j]==i+1&&ind->pri[j]&&(k<0||ind->pri[j]>ind->pri[k])) {
k=j;
}
}
if (k<0) continue;
for (j=0;j<n;j++) { //再从所有的观测类型中来匹配,找到优先级高的观测值,这个观测值应该存储的索引
if (ind->code[j]==ind->code[k]) ind->pos[j]=i;
}
}
+
赵乐文
个人信息
- 教师姓名: 赵乐文
- 性别: 男
- 所在单位: 遥感与测绘工程学院
- 办公地点:南京信息工程大学北辰楼
- 联系方式: lwzhao@nuist.edu.cn
- 学历: 博士研究生毕业
- 学位:工学博士学位
- 职称: 副教授
- 毕业院校:武汉大学
其他联系方式
- 通讯/办公地址:
- 邮箱:




手机版