PPP精密单点定位 GAMP(四)——提高北斗系统定位精度2

文章介绍了北斗PPP定位中使用的BDmultipathCorr程序,该程序用于修正卫星伪距多路径影响,但需注意其仅适用于北斗二代,且对IGSO和MEO卫星的高度角校正可能影响北斗三代精度,建议在GAMP程序中加入条件判断。
摘要由CSDN通过智能技术生成

1、在大部分北斗PPP定位都会加一个北斗多路径程序BDmultipathCorr,用于卫星伪距多路径,是卫星质量不同信号失真产生的。

此程序建议只能用于北斗二代上,相关文献参考BeiDou satellite-induced code pseudorange variations: diagnosis and therapy 2015年发表在GPS solution的论文,基于高度角的伪距改正模型,对IGSO 卫星和MEO 卫星的伪距观测值改正,但是如果用于北斗三会影响北斗三的精度尤其是U方向,因此为了提高GAMP程序应该次处加上if (prn <= 5 || prn >= 19) continue;

extern void BDmultipathCorr(rtk_t *rtk, obsd_t *obs, int n)
{
	int i,j,sat,prn,b;
	double dmp[3],elev,a;
	const static double IGSOCOEF[3][10]={		/* m */
		{-0.55,-0.40,-0.34,-0.23,-0.15,-0.04,0.09,0.19,0.27,0.35},	//B1
		{-0.71,-0.36,-0.33,-0.19,-0.14,-0.03,0.08,0.17,0.24,0.33},	//B2
		{-0.27,-0.23,-0.21,-0.15,-0.11,-0.04,0.05,0.14,0.19,0.32},	//B3
	};
	const static double MEOCOEF[3][10]={		/* m */
		{-0.47,-0.38,-0.32,-0.23,-0.11,0.06,0.34,0.69,0.97,1.05},	//B1
		{-0.40,-0.31,-0.26,-0.18,-0.06,0.09,0.28,0.48,0.64,0.69},	//B2
		{-0.22,-0.15,-0.13,-0.10,-0.04,0.05,0.14,0.27,0.36,0.47},	//B3
	};

	for (i=0;i<n&&i<MAXOBS;i++) {
		sat=obs[i].sat;
        if (PPP_Glo.sFlag[sat-1].sys!=SYS_CMP) continue;

		prn=PPP_Glo.sFlag[sat-1].prn;
		if (prn <= 5 || prn >= 19) continue;

		elev=rtk->ssat[sat-1].azel[1]*R2D;

		if (elev<=0.0) continue;

		for (j=0;j<3;j++) dmp[j]=0.0;

		a=elev*0.1;
		b=(int)a;

		if (prn >= 6 && prn <= 10) { // IGSO(C06, C07, C08, C09, C10)
			if (b<0) {
				for (j=0;j<3;j++) dmp[j]=IGSOCOEF[j][0];
			}
			else if (b>=9) {
				for (j=0;j<3;j++) dmp[j]=IGSOCOEF[j][9];
			}
			else {
				for (j=0;j<3;j++) dmp[j]=IGSOCOEF[j][b]*(1.0-a+b)+IGSOCOEF[j][b+1]*(a-b);
			}
		}
		else if (prn == 11 || prn == 12 || prn == 14) {   // MEO(C11, C12, C13, C14)
			if (b<0) {
				for (j=0;j<3;j++) dmp[j]=MEOCOEF[j][0];
			}
			else if (b>=9) {
				for (j=0;j<3;j++) dmp[j]=MEOCOEF[j][9];
			}
			else {
				for (j=0;j<3;j++) dmp[j]=MEOCOEF[j][b]*(1.0-a+b)+MEOCOEF[j][b+1]*(a-b);
			}
		}

		for (j=0;j<3;j++) obs[i].P[j]+=dmp[j];
	}
}

2、 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值