教师博客

当前位置: 中文主页 >> 教师博客

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
  • 学历: 博士研究生毕业
  • 学位:工学博士学位
  • 职称: 副教授
  • 毕业院校:武汉大学

其他联系方式

  • 通讯/办公地址:
  • 邮箱:

最后更新时间:--

 

访问量:

    • 2019 南京信息工程大学·网络信息中心 NUIST备80008