RTKLIB专题学习(七)—精密单点定位实现初识(三)
上两篇我们介绍了RTKLIB中精密单点定位的大致流程,今天我们对照RTKLIB学习手册,来学习相应改正公式和误差源
1.在PPP模式中
RTKLIB也使用类似于附录E.7中描述的方案的EKF估计过程。与基线处理的不同,PPP采用ZD(非差)测量方程,就像单点定位模型,而不是双差模型。
2.利用E3.2和E3.4,可以推导出非差观测值的无电离层组合模型:



组合后的非差观测模型如下:

图中

为L1和L2载波相位组成的无电离层组合的改正项,包括天线相位中心偏差和变化、固体潮引起的位置偏移、相位缠绕。
2.对于接收机天线相位中心模型
分为PCV和PCO改正;PCO是天线参考点与天线相位中心的相对位置;PCV定义为天线取决于高度角和方位角的多余相位延迟;
示意图如下:

计算公式如下:


其中公式中的PCV和PCO值可以来自ANTEX format的数据,IGS定期发布天线相位中心改正文件,提供卫星在星固系中的天线相位中心偏差值。
相应源码如下:
/* receiver antenna model ------------------------------------------------------
* compute antenna offset by antenna phase center parameters
* args : pcv_t *pcv I antenna phase center parameters
* double *del I antenna delta {e,n,u} (m)
* double *azel I azimuth/elevation for receiver {az,el} (rad)
* int opt I option (0:only offset,1:offset+pcv)
* double *dant O range offsets for each frequency (m)
* return : none
* notes : current version does not support azimuth dependent terms
*-----------------------------------------------------------------------------*/
extern void antmodel(const pcv_t *pcv, const double *del, const double *azel,
int opt, double *dant)
{
double e[3],off[3],cosel=cos(azel[1]);
int i,j;
trace(4,"antmodel: azel=%6.1f %4.1f opt=%d\n",azel[0]*R2D,azel[1]*R2D,opt);
e[0]=sin(azel[0])*cosel;
e[1]=cos(azel[0])*cosel;
e[2]=sin(azel[1]);
for (i=0;i<NFREQ;i++) {
for (j=0;j<3;j++) off[j]=pcv->off[i][j]+del[j];
dant[i]=-dot(off,e,3)+(opt?interpvar(90.0-azel[1]*R2D,pcv->var[i]):0.0);
}
trace(5,"antmodel: dant=%6.3f %6.3f\n",dant[0],dant[1]);
}
通过option可以设置选择修改天线相位中心偏差或变化改正;pco是指天线质心或几何中心与相位中心的偏差;pco改正需要将其由站心地平坐标系转换到地心地固坐标系下
3.卫星天线相位中心模型
类似于接收机的PCV和PCO的定义,示意图如下:

由于igs提供的PCO为星固坐标系下的 值,因此需要转换为地心地固坐标系下的数值,示意图及计算公式如下:



源码部分如下:
/* satellite antenna phase center variation ----------------------------------*/
static void satantpcv(const double *rs,

本文详细介绍了RTKLIB中精密单点定位过程中的关键改正步骤,包括接收机天线相位中心模型、卫星天线模型、固体潮效应、相位缠绕等,并提供了相应的公式和源码实例。
&spm=1001.2101.3001.5002&articleId=124093187&d=1&t=3&u=7a30a7f631064dc2bba27279d1e8570a)
2389

被折叠的 条评论
为什么被折叠?



