1. GAMP添加命令参数
gamp.cfg 是 GAMP 软件的配置文件,所有需要进行的操作都需要在gamp.cfg内进行修改。
关于如何在GAMP里添加命令参数,可以看我上一篇文章
2. gamp.cfg文件的解读
# GNSS data Analysis software for Multi-constellation and multi-frequency Precise positioning (GAMP) options
/*
选择待解算文件的路径
*/
obs file/folder = 1 %(0:file 1:folder)
= D:\Desktop\gamp_clock
/*
选择解算时长
(0:默认o文件内的观测时长;1:自己设置所需的解算时长)
*/
start_time = 0 %(0:from obs 1:from inp)
end_time = 0 %(0:from obs 1:from inp)
/*
PPP解算类型
(0:伪距单点定位;6动态PPP;7静态PPP)
此处解释一下6和7的区别,6是使用最小二乘进行解算求得坐标,7是通过卡尔曼滤波进行求解。
*/
posmode = 7 %(0:spp 6:ppp_kinematic 7:ppp_static)
/*
4. 处理模式
(0:正向;1:后向;2:正反向结合;3反正向结合)
目前的GAMP版本,似乎只有正向解算,其他模式均只给出接口
*/
soltype = 0 %(0:forward 1:backward 2:combined-bf 3:combined-fb)
/*
卫星系统选择
(想要哪几种卫星进行组合,就把对应卫星的数字相加,如5:GPS+GLO)
*/
navsys =45 %(1:gps 4:glo 5:gps+glo 8:gal 16:qzs 32:bds)
/*
GNSS系统内偏差处理
(0:忽略;1:常数;2:精确先验值;3随机游走;4:白噪声)
*/
gnsisb = 1 %(0:off 1:time constant 2:piece-wise constant 3:random walk process 4:white noise process)
/*
GLONASS伪距品鉴偏差IFB的处理模式
(0:忽略;1:线性函数模型;2:二次多项式模型;3:估计每个
卫星的ISB与IFB;4:估计每个频率的ISB与IFB)
*/
gloicb = 0 %(0:off 1:linear function of frequency number 2:quadratic polynomial function of frequency number
% 3:isb+icb every sat 4:isb+icb every frq)
/*
高度角设置(单位:度)
*/
minelev = 15 %satellite cut-off elevation (deg)
/*
Obs中断计数以重置偏差
(不太理解,附上有源代码注释:obs outage count to reset bias)
*/
maxout = 3
/*
截止观测值,默认为0
*/
sampleprc = 0 %(sec)
/*
选择频率数
1表示单个频率PPP或双频电离层组合;2表示双频非差非组合PPP
*/
inpfrq = 1 % the number of processing frequencies
/*
电离层处理策略
(0:忽略;1:广播星历克罗布歇模型;2:双频无电离层模型;3:UC单频估计;4:UC双频估计;5:电
离层格网模型)
*/
ionoopt = 4 %(0:off 1:brdc 2:IF12 3:UC1 4:UC12 5:ion-tec)
/*
电离层延迟噪声模型
(0:静态;1:随机游走;2:随机游走(新);2:白噪声)
*/
ionopnoise = 2 %(0: static 1: random walk 2: random walk (new) 3:white noise)
/*
电离层延迟虚拟状态方程
*/
ionconstraint = 1 %(0:off 1:on)
/*
对流层延迟解算策略(0:关闭;1:saastamoninen模型(只有干延迟,观测方程不构建湿延迟);2:ztd-est;3:ztdgrad-est)
*/
tropopt = 3 %(0:off 1:saas 3:ztd-est 4:ztdgrad-est)
/*
对流层投影映射函数
*/
tropmf = 1 %(0:nmf 1:gmf)
/*
潮汐改正
0:忽略 1:stl 固体地球潮汐 2:otl 海洋地球潮汐 4:ptl 极潮 7:三者全部改正
*/
tidecorr = 0 %(0:off 1:stl 2:otl 4:ptl 7:stl+otl+ptl)
/*
无几何周跳探测(GF)
(第一个位置: 0:关闭 1:开启
第二个位置: GF判断的阈值)
*/
cycleslip_GF = 1 0.00 %threshold values for geometry-free (GF)
cycle-slip detection (m)
/*
周跳探测(MW)
参数与上述GF一致
*/
cycleslip_MW = 1 0.00 %threshold values for Melbourne-Wübbena (MW) cycle-slip detection (c)
/*
各类导航系统伪距与载波的误差权重(默认100)
*/
errratio(P/L GPS) = 100.0 %measurement error ratio between pseudorange and carrier phase observations
errratio(P/L GLO) = 100.0
errratio(P/L BDS) = 100.0
errratio(P/L GAL) = 100.0
errratio(P/L QZS) = 100.0
/*
载波相位观测值精度(m)
*/
errmeas(L) = 0.003 %the precision of carrier phase observations (m)
/*
模糊度参数过程噪声
*/
prcNoise(AMB) = 1.0e-07 %process noise for ambiguity parameters (m/sqrt(s))
/*
天定对流层总延迟(ZTD)过程噪声
*/
prcNoise(ZTD) = 1.0e-04 %process noise for tropospheric zenith total
delay (ZTD) parameters (m/sqrt(s))
/*
天定对流层总延迟(ZTD)过程噪声
*/
prcNoise(ION) = 4.0e-02 %process noise of random walk for slant ionospheric delay parameters (m/sqrt(s))
prcNoise(ION_GF) = 1.0e-03 %process noise of random walk (new) for slant ionospheric delay parameters (m/sqrt(s))
/*
输出文件
*/
outdir = result //输出文件夹路径
output = 21 %(sum),0:off,1:on
pos = 1 //位置信息
debug = 0 //调试信息
pdop = 1 //位置精度衰减因子
elev = 0 //卫星高度角(度)
dtrp = 0 //对流层湿延迟
ifamb = 0 //无电离层组合模糊度
wlamb_no = 0 //非平滑MW组合模糊度
wlamb_yes = 0 //平滑MW组合模糊度
gf = 0 //无几何周跳组合模糊度
amb_cs = 0 //周跳信息
resc1 = 0 //f1频率载波相位残差
resp1 = 0 //f1频率伪距残差
resc2 = 0 //f2频率载波相位残差
resp2 = 0 //f2频率伪距残差
resc3 = 0 //f3频率载波相位残差
resp3 = 0 //f3频率伪距残差
stec = 0 //电离层延迟信息
isb = 0 //系统间偏差
ibm = 0 //系统间偏差
ifb = 0 //GLONASS的伪距频间偏差
ippp = 0 //ppp事后处理初始化文件
3. 自行添加gamp.cfg参数
通过readcfgFile函数读取cfg文件
else if (strstr(line, "dynamics")) {
//sscanf(p + 1, "%d", &solopt->dynamics);
sscanf(p + 1, "%d", &prcopt->dynamics);
sscanf(p + 1, "%d", &solopt->dynamics);
if (debug) printf("outhead: %d\n", solopt->dynamics);
所有参数存储在pparam->propt结构体里
typedef struct { /* processing options type */
int mode; /* positioning mode (PMODE_???) */
.
.
.
} prcopt_t;