添加计算电离层、对流层状态向量索引与数目的函数。修复Xnx函数在SPP/INS情况下未返回值的bug
This commit is contained in:
parent
24b6671598
commit
212510ede5
@ -65,9 +65,10 @@ extern int xnIF(const insopt_t *insopt) {
|
|||||||
extern int xnX(const insopt_t *insopt) {
|
extern int xnX(const insopt_t *insopt) {
|
||||||
switch (insopt->tc) {
|
switch (insopt->tc) {
|
||||||
case INSTC_RTK:
|
case INSTC_RTK:
|
||||||
return xnP(insopt)+ xnV(insopt)+ xnA(insopt)+ xnBa(insopt)+xnBg(insopt)+xnB(insopt);
|
return xnP(insopt)+ xnV(insopt)+ xnA(insopt)+ xnBa(insopt)+xnBg(insopt)+xnI(insopt)+
|
||||||
|
xnT(insopt)+xnB(insopt);
|
||||||
case INSTC_SINGLE:
|
case INSTC_SINGLE:
|
||||||
xnP(insopt)+ xnV(insopt)+ xnA(insopt)+ xnBa(insopt)+xnBg(insopt)+xnRb(insopt)+xnRd(insopt);
|
return xnP(insopt)+ xnV(insopt)+ xnA(insopt)+ xnBa(insopt)+xnBg(insopt)+xnRb(insopt)+xnRd(insopt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* get number of position */
|
/* get number of position */
|
||||||
@ -90,6 +91,22 @@ extern int xnRd(const insopt_t *insopt){
|
|||||||
return ((insopt)->gopt?((prcopt_t*)(insopt)->gopt)->mode==PMODE_INS_TGNSS
|
return ((insopt)->gopt?((prcopt_t*)(insopt)->gopt)->mode==PMODE_INS_TGNSS
|
||||||
&&(insopt)->tc<=INSTC_RTK?3:0:0);
|
&&(insopt)->tc<=INSTC_RTK?3:0:0);
|
||||||
}
|
}
|
||||||
|
/* get number of iono,trop,phase bias and h/w bias states are non-close-loop
|
||||||
|
* correction states
|
||||||
|
* --------------------------------------------------------------------------*/
|
||||||
|
extern int xnI(const insopt_t *insopt)
|
||||||
|
{
|
||||||
|
return ((insopt)->gopt?((prcopt_t*)(insopt)->gopt)->ionoopt!=IONOOPT_EST?0:MAXSAT:0);
|
||||||
|
}
|
||||||
|
extern int xnT(const insopt_t *insopt)
|
||||||
|
{
|
||||||
|
return ((insopt)->gopt?((prcopt_t*)(insopt)->gopt)->tropopt<TROPOPT_EST?0:
|
||||||
|
(((prcopt_t*)(insopt)->gopt)->tropopt<TROPOPT_ESTG?2:6):0);
|
||||||
|
}
|
||||||
|
/* get number of close loop states */
|
||||||
|
extern int xnCl(const insopt_t *insopt){
|
||||||
|
return xnP(insopt)+ xnA(insopt)+ xnV(insopt)+ xnBa(insopt)+ xnBg(insopt);
|
||||||
|
}
|
||||||
/* index of position */
|
/* index of position */
|
||||||
extern int xiP(const insopt_t *insopt) {return 6;}
|
extern int xiP(const insopt_t *insopt) {return 6;}
|
||||||
/* index of velocity */
|
/* index of velocity */
|
||||||
@ -106,7 +123,16 @@ extern int xiRb(const insopt_t *insopt) {return 15;}
|
|||||||
extern int xiRd(const insopt_t *insopt) {return 18;}
|
extern int xiRd(const insopt_t *insopt) {return 18;}
|
||||||
/* index of phase bias */
|
/* index of phase bias */
|
||||||
extern int xiBs(const insopt_t *insopt,int s,int f) {
|
extern int xiBs(const insopt_t *insopt,int s,int f) {
|
||||||
return xnP(insopt)+ xnV(insopt)+ xnA(insopt)+ xnBa(insopt)+xnBg(insopt)+MAXSAT*f+s-1;
|
return xnP(insopt)+xnV(insopt)+xnA(insopt)+xnBa(insopt)+xnBg(insopt)+xnI(insopt)+
|
||||||
|
xnT(insopt)+MAXSAT*f+s-1;
|
||||||
|
}
|
||||||
|
/* get index of ionos (s:satellite no)---------------------------------------*/
|
||||||
|
extern int xiIo(const insopt_t *insopt,int s){
|
||||||
|
return xnP(insopt)+xnV(insopt)+xnA(insopt)+xnBa(insopt)+xnBg(insopt)+(s-1);
|
||||||
|
}
|
||||||
|
/* get index of tropos (r:0=rov,1:ref)---------------------------------------*/
|
||||||
|
extern int xiTr(const insopt_t *insopt,int r){
|
||||||
|
return xnP(insopt)+xnV(insopt)+xnA(insopt)+xnBa(insopt)+xnBg(insopt)+xnI(insopt)+xnT(insopt)/2*r;
|
||||||
}
|
}
|
||||||
/* system noise covariance matrix--------------------------------------------*/
|
/* system noise covariance matrix--------------------------------------------*/
|
||||||
static void sysQ(int is,int n,int nx,double v,double dt,double *Q)
|
static void sysQ(int is,int n,int nx,double v,double dt,double *Q)
|
||||||
@ -663,7 +689,6 @@ extern int tcigpos(const prcopt_t *opt,const obsd_t *obs,int n,const nav_t *nav,
|
|||||||
if (info) {
|
if (info) {
|
||||||
info=rtkpos(rtk,obs,n,nav);
|
info=rtkpos(rtk,obs,n,nav);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else info=0;
|
else info=0;
|
||||||
|
|
||||||
|
@ -923,10 +923,10 @@ static void udstate(rtk_t *rtk, const obsd_t *obs, const int *sat,
|
|||||||
|
|
||||||
trace(3,"udstate : ns=%d\n",ns);
|
trace(3,"udstate : ns=%d\n",ns);
|
||||||
|
|
||||||
tc=rtk->opt.insopt.tc;
|
tc=rtk->opt.mode==PMODE_INS_TGNSS?1:0;
|
||||||
|
|
||||||
/* temporal update of position/velocity/acceleration */
|
/* temporal update of position/velocity/acceleration */
|
||||||
if(tc<INSTC_RTK){
|
if(!tc){
|
||||||
udpos(rtk,tt);
|
udpos(rtk,tt);
|
||||||
}
|
}
|
||||||
/* temporal update of ionospheric parameters */
|
/* temporal update of ionospheric parameters */
|
||||||
@ -1223,12 +1223,17 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
double bl,dr[3],posu[3],posr[3],didxi=0.0,didxj=0.0,*im,icb,threshadj;
|
double bl,dr[3],posu[3],posr[3],didxi=0.0,didxj=0.0,*im,icb,threshadj;
|
||||||
double *tropr,*tropu,*dtdxr,*dtdxu,*Ri,*Rj,freqi,freqj,*Hi=NULL,df,rr[3],dp[3]={0};
|
double *tropr,*tropu,*dtdxr,*dtdxu,*Ri,*Rj,freqi,freqj,*Hi=NULL,df,rr[3],dp[3]={0};
|
||||||
int i,j,k,m,f,nv=0,nb[NFREQ*4*2+2]={0},b=0,sysi,sysj,nf=NF(opt);
|
int i,j,k,m,f,nv=0,nb[NFREQ*4*2+2]={0},b=0,sysi,sysj,nf=NF(opt);
|
||||||
int ii,jj,frq,code,nx;
|
int ii,jj,frq,code,nx,tc;
|
||||||
|
|
||||||
trace(3,"ddres : dt=%.1f nx=%d ns=%d\n",dt,rtk->nx,ns);
|
trace(3,"ddres : dt=%.1f nx=%d ns=%d\n",dt,rtk->nx,ns);
|
||||||
|
|
||||||
if(rtk->opt.insopt.tc){
|
/* tc=0: common rtk mode
|
||||||
matcpy(rr,rtk->ins.x,1,3);
|
* tc=1: tightly coupled mode
|
||||||
|
* */
|
||||||
|
tc=opt->mode==PMODE_INS_TGNSS?1:0;
|
||||||
|
|
||||||
|
if(tc){
|
||||||
|
ins_2_ant(&rtk->ins,rr);
|
||||||
nx=rtk->ins.nx;
|
nx=rtk->ins.nx;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -1295,8 +1300,8 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
if (!validobs(iu[j],ir[j],f,nf,y)) continue;
|
if (!validobs(iu[j],ir[j],f,nf,y)) continue;
|
||||||
|
|
||||||
if (H) {
|
if (H) {
|
||||||
Hi=H+nv*rtk->nx;
|
Hi=H+nv*nx;
|
||||||
for (k=0;k<rtk->nx;k++) Hi[k]=0.0;
|
for (k=0;k<nx;k++) Hi[k]=0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* double-differenced measurements from 2 receivers and 2 sats in meters */
|
/* double-differenced measurements from 2 receivers and 2 sats in meters */
|
||||||
@ -1306,7 +1311,7 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
|
|
||||||
/* partial derivatives by rover position, combine unit vectors from two sats */
|
/* partial derivatives by rover position, combine unit vectors from two sats */
|
||||||
if (H) {
|
if (H) {
|
||||||
if(rtk->opt.insopt.tc){
|
if(tc){
|
||||||
/* h(x)/x */
|
/* h(x)/x */
|
||||||
/* partial derivations by ins position */
|
/* partial derivations by ins position */
|
||||||
jacob_dd_dp(&rtk->ins,&e[iu[i]*3],&e[iu[j]*3],dp);
|
jacob_dd_dp(&rtk->ins,&e[iu[i]*3],&e[iu[j]*3],dp);
|
||||||
@ -1318,13 +1323,14 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
for (k=0;k<3;k++) {
|
for (k=0;k<3;k++) {
|
||||||
Hi[k]=-e[k+iu[i]*3]+e[k+iu[j]*3]; /* translation of innovation to position states */
|
Hi[k]=-e[k+iu[i]*3]+e[k+iu[j]*3]; /* translation of innovation to position states */
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (opt->ionoopt==IONOOPT_EST) {
|
if (opt->ionoopt==IONOOPT_EST) {
|
||||||
/* adjust double-differenced measurements by double-differenced ionospheric delay term */
|
/* adjust double-differenced measurements by double-differenced ionospheric delay term */
|
||||||
|
ii=tc?xiIo(&rtk->opt.insopt,sat[i]):II(sat[i],opt);
|
||||||
|
jj=tc?xiIo(&rtk->opt.insopt,sat[j]):II(sat[j],opt);
|
||||||
didxi=(code?-1.0:1.0)*im[i]*SQR(FREQL1/freqi);
|
didxi=(code?-1.0:1.0)*im[i]*SQR(FREQL1/freqi);
|
||||||
didxj=(code?-1.0:1.0)*im[j]*SQR(FREQL1/freqj);
|
didxj=(code?-1.0:1.0)*im[j]*SQR(FREQL1/freqj);
|
||||||
v[nv]-=didxi*x[II(sat[i],opt)]-didxj*x[II(sat[j],opt)];
|
v[nv]-=didxi*x[ii]-didxj*x[jj];
|
||||||
if (H) {
|
if (H) {
|
||||||
Hi[II(sat[i],opt)]= didxi;
|
Hi[II(sat[i],opt)]= didxi;
|
||||||
Hi[II(sat[j],opt)]=-didxj;
|
Hi[II(sat[j],opt)]=-didxj;
|
||||||
@ -1335,13 +1341,15 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
v[nv]-=(tropu[i]-tropu[j])-(tropr[i]-tropr[j]);
|
v[nv]-=(tropu[i]-tropu[j])-(tropr[i]-tropr[j]);
|
||||||
for (k=0;k<(opt->tropopt<TROPOPT_ESTG?1:3);k++) {
|
for (k=0;k<(opt->tropopt<TROPOPT_ESTG?1:3);k++) {
|
||||||
if (!H) continue;
|
if (!H) continue;
|
||||||
Hi[IT(0,opt)+k]= (dtdxu[k+i*3]-dtdxu[k+j*3]);
|
ii=tc?xiTr(&rtk->opt.insopt,0):IT(0,opt);
|
||||||
Hi[IT(1,opt)+k]=-(dtdxr[k+i*3]-dtdxr[k+j*3]);
|
jj=tc?xiTr(&rtk->opt.insopt,1):IT(1,opt);
|
||||||
|
Hi[ii+k]= (dtdxu[k+i*3]-dtdxu[k+j*3]);
|
||||||
|
Hi[jj+k]=-(dtdxr[k+i*3]-dtdxr[k+j*3]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* index of phase bias */
|
/* index of phase bias */
|
||||||
ii=IB(sat[i],frq,opt);
|
ii=tc?xiBs(&rtk->opt.insopt,sat[i],frq):IB(sat[i],frq,opt);
|
||||||
jj=IB(sat[j],frq,opt);
|
jj=tc?xiBs(&rtk->opt.insopt,sat[j],frq):IB(sat[j],frq,opt);
|
||||||
if (!code) {
|
if (!code) {
|
||||||
/* adjust phase residual by double-differenced phase-bias term,
|
/* adjust phase residual by double-differenced phase-bias term,
|
||||||
IB=look up index by sat&freq */
|
IB=look up index by sat&freq */
|
||||||
@ -1391,10 +1399,13 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
if (code) rtk->ssat[sat[j]-1].resp[frq]=v[nv]; /* pseudorange */
|
if (code) rtk->ssat[sat[j]-1].resp[frq]=v[nv]; /* pseudorange */
|
||||||
else rtk->ssat[sat[j]-1].resc[frq]=v[nv]; /* carrier phase */
|
else rtk->ssat[sat[j]-1].resc[frq]=v[nv]; /* carrier phase */
|
||||||
|
|
||||||
|
|
||||||
|
double *P_;
|
||||||
|
P_=tc?rtk->ins.P:rtk->P;
|
||||||
/* if residual too large, flag as outlier */
|
/* if residual too large, flag as outlier */
|
||||||
/* adjust threshold by error stdev ratio unless one of the phase biases was just initialized*/
|
/* adjust threshold by error stdev ratio unless one of the phase biases was just initialized*/
|
||||||
threshadj=code||(rtk->P[ii+rtk->nx*ii]==SQR(rtk->opt.std[0]))||
|
threshadj=code||(P_[ii+nx*ii]==SQR(rtk->opt.std[0]))||
|
||||||
(rtk->P[jj+rtk->nx*jj]==SQR(rtk->opt.std[0]))?opt->eratio[frq]:1;
|
(P_[jj+nx*jj]==SQR(rtk->opt.std[0]))?opt->eratio[frq]:1;
|
||||||
if (opt->maxinno>0.0&&fabs(v[nv])>opt->maxinno*threshadj) {
|
if (opt->maxinno>0.0&&fabs(v[nv])>opt->maxinno*threshadj) {
|
||||||
rtk->ssat[sat[j]-1].vsat[frq]=0;
|
rtk->ssat[sat[j]-1].vsat[frq]=0;
|
||||||
rtk->ssat[sat[j]-1].rejc[frq]++;
|
rtk->ssat[sat[j]-1].rejc[frq]++;
|
||||||
@ -1427,7 +1438,7 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
icb=rtk->ssat[sat[i]-1].icbias[frq]*CLIGHT/freqi - rtk->ssat[sat[j]-1].icbias[frq]*CLIGHT/freqj;
|
icb=rtk->ssat[sat[i]-1].icbias[frq]*CLIGHT/freqi - rtk->ssat[sat[j]-1].icbias[frq]*CLIGHT/freqj;
|
||||||
trace(3,"sat=%3d-%3d %s%d v=%13.3f R=%9.6f %9.6f icb=%9.3f lock=%5d x=%9.3f\n",sat[i],
|
trace(3,"sat=%3d-%3d %s%d v=%13.3f R=%9.6f %9.6f icb=%9.3f lock=%5d x=%9.3f\n",sat[i],
|
||||||
sat[j],code?"P":"L",frq+1,v[nv],Ri[nv],Rj[nv],icb,
|
sat[j],code?"P":"L",frq+1,v[nv],Ri[nv],Rj[nv],icb,
|
||||||
rtk->ssat[sat[j]-1].lock[frq],rtk->x[IB(sat[j],frq,&rtk->opt)]);
|
rtk->ssat[sat[j]-1].lock[frq],tc?rtk->ins.x[xiBs(&rtk->opt.insopt,sat[j],frq)]:rtk->x[IB(sat[j],frq,&rtk->opt)]);
|
||||||
|
|
||||||
vflg[nv++]=(sat[i]<<16)|(sat[j]<<8)|((code?1:0)<<4)|(frq);
|
vflg[nv++]=(sat[i]<<16)|(sat[j]<<8)|((code?1:0)<<4)|(frq);
|
||||||
nb[b]++;
|
nb[b]++;
|
||||||
@ -1441,7 +1452,7 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con
|
|||||||
vflg[nv++]=3<<4;
|
vflg[nv++]=3<<4;
|
||||||
nb[b++]++;
|
nb[b++]++;
|
||||||
}
|
}
|
||||||
if (H) {trace(5,"H=\n"); tracemat(5,H,rtk->nx,nv,7,4);}
|
if (H) {trace(5,"H=\n"); tracemat(5,H,nx,nv,7,4);}
|
||||||
|
|
||||||
/* double-differenced measurement error covariance */
|
/* double-differenced measurement error covariance */
|
||||||
ddcov(nb,b,Ri,Rj,nv,R);
|
ddcov(nb,b,Ri,Rj,nv,R);
|
||||||
@ -1947,7 +1958,7 @@ static int relpos(rtk_t *rtk, const obsd_t *obs, int nu, int nr,
|
|||||||
{
|
{
|
||||||
prcopt_t *opt=&rtk->opt;
|
prcopt_t *opt=&rtk->opt;
|
||||||
gtime_t time=obs[0].time;
|
gtime_t time=obs[0].time;
|
||||||
double *rs,*dts,*var,*y,*e,*azel,*freq,*v,*H,*R,*xp,*Pp,*xa,*bias,dt,*x;
|
double *rs,*dts,*var,*y,*e,*azel,*freq,*v,*H,*R,*xp,*Pp,*xa,*bias,dt,*x,*P,rr[3]={0};
|
||||||
int i,j,f,n=nu+nr,ns,ny,nv,sat[MAXSAT],iu[MAXSAT],ir[MAXSAT],niter;
|
int i,j,f,n=nu+nr,ns,ny,nv,sat[MAXSAT],iu[MAXSAT],ir[MAXSAT],niter;
|
||||||
int info,vflg[MAXOBS*NFREQ*2+1],svh[MAXOBS*2];
|
int info,vflg[MAXOBS*NFREQ*2+1],svh[MAXOBS*2];
|
||||||
int stat=rtk->opt.mode<=PMODE_DGPS?SOLQ_DGPS:SOLQ_FLOAT;
|
int stat=rtk->opt.mode<=PMODE_DGPS?SOLQ_DGPS:SOLQ_FLOAT;
|
||||||
@ -1957,6 +1968,7 @@ static int relpos(rtk_t *rtk, const obsd_t *obs, int nu, int nr,
|
|||||||
tc=opt->mode==PMODE_INS_TGNSS?1:0;
|
tc=opt->mode==PMODE_INS_TGNSS?1:0;
|
||||||
nx=tc?rtk->ins.nx:rtk->nx;
|
nx=tc?rtk->ins.nx:rtk->nx;
|
||||||
x=tc?rtk->ins.x:rtk->x;
|
x=tc?rtk->ins.x:rtk->x;
|
||||||
|
P=tc?rtk->ins.P:rtk->P;
|
||||||
|
|
||||||
/* time diff between base and rover observations */
|
/* time diff between base and rover observations */
|
||||||
dt=timediff(time,obs[nu].time);
|
dt=timediff(time,obs[nu].time);
|
||||||
@ -2027,15 +2039,23 @@ static int relpos(rtk_t *rtk, const obsd_t *obs, int nu, int nr,
|
|||||||
xa=mat(nx,1);
|
xa=mat(nx,1);
|
||||||
// matcpy(xp,rtk->x,nx,1);
|
// matcpy(xp,rtk->x,nx,1);
|
||||||
matcpy(xp,x,nx,1);
|
matcpy(xp,x,nx,1);
|
||||||
|
if (tc) {
|
||||||
|
for (i=0;i<xnCl(&rtk->opt.insopt);i++) xp[i]=1E-10;
|
||||||
|
}
|
||||||
ny=ns*nf*2+2;
|
ny=ns*nf*2+2;
|
||||||
v=mat(ny,1); H=zeros(nx,ny); R=mat(ny,ny); bias=mat(nx,1);
|
v=mat(ny,1); H=zeros(nx,ny); R=mat(ny,ny); bias=mat(nx,1);
|
||||||
|
|
||||||
/* add 2 iterations for baseline-constraint moving-base (else default niter=1) */
|
/* add 2 iterations for baseline-constraint moving-base (else default niter=1) */
|
||||||
niter=opt->niter+(opt->mode==PMODE_MOVEB&&opt->baseline[0]>0.0?2:0);
|
niter=opt->niter+(opt->mode==PMODE_MOVEB&&opt->baseline[0]>0.0?2:0);
|
||||||
|
/* tc 只进行一次迭代 */
|
||||||
for (i=0;i<tc==1?1:niter;i++) {
|
for (i=0;i<tc==1?1:niter;i++) {
|
||||||
|
|
||||||
|
if(tc){
|
||||||
|
ins_2_ant(&rtk->ins,rr);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
matcpy(rr,xp,1,3);
|
||||||
|
}
|
||||||
/* calculate zero diff residuals [measured pseudorange - range] for rover (phase and code)
|
/* calculate zero diff residuals [measured pseudorange - range] for rover (phase and code)
|
||||||
output is in y[0:nu-1], only shared input with base is nav
|
output is in y[0:nu-1], only shared input with base is nav
|
||||||
obs = sat observations
|
obs = sat observations
|
||||||
@ -2050,7 +2070,7 @@ static int relpos(rtk_t *rtk, const obsd_t *obs, int nu, int nr,
|
|||||||
e = line of sight unit vectors to sats
|
e = line of sight unit vectors to sats
|
||||||
azel = [az, el] to sats */
|
azel = [az, el] to sats */
|
||||||
trace(3,"rover:\n");
|
trace(3,"rover:\n");
|
||||||
if (!zdres(0,obs,nu,rs,dts,var,svh,nav,xp,opt,0,y,e,azel,freq)) {
|
if (!zdres(0,obs,nu,rs,dts,var,svh,nav,rr,opt,0,y,e,azel,freq)) {
|
||||||
errmsg(rtk,"rover initial position error\n");
|
errmsg(rtk,"rover initial position error\n");
|
||||||
stat=SOLQ_NONE;
|
stat=SOLQ_NONE;
|
||||||
break;
|
break;
|
||||||
@ -2076,8 +2096,8 @@ static int relpos(rtk_t *rtk, const obsd_t *obs, int nu, int nr,
|
|||||||
K=P*H*(H'*P*H+R)^-1
|
K=P*H*(H'*P*H+R)^-1
|
||||||
xp=x+K*v
|
xp=x+K*v
|
||||||
Pp=(I-K*H')*P */
|
Pp=(I-K*H')*P */
|
||||||
matcpy(Pp,rtk->P,rtk->nx,rtk->nx);
|
matcpy(Pp,P,nx,nx);
|
||||||
if ((info=filter(xp,Pp,H,v,R,rtk->nx,nv))) {
|
if ((info=filter(xp,Pp,H,v,R,nx,nv))) {
|
||||||
errmsg(rtk,"filter error (info=%d)\n",info);
|
errmsg(rtk,"filter error (info=%d)\n",info);
|
||||||
stat=SOLQ_NONE;
|
stat=SOLQ_NONE;
|
||||||
break;
|
break;
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +1,3 @@
|
|||||||
Start testing: Feb 02 14:21 CST
|
Start testing: Feb 19 15:05 CST
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
End testing: Feb 02 14:21 CST
|
End testing: Feb 19 15:05 CST
|
||||||
|
@ -1610,6 +1610,10 @@ EXPORT int xnBa(const insopt_t *insopt);
|
|||||||
EXPORT int xnBg(const insopt_t *insopt);
|
EXPORT int xnBg(const insopt_t *insopt);
|
||||||
EXPORT int xnRb(const insopt_t *insopt);
|
EXPORT int xnRb(const insopt_t *insopt);
|
||||||
EXPORT int xnRd(const insopt_t *insopt);
|
EXPORT int xnRd(const insopt_t *insopt);
|
||||||
|
EXPORT int xnI(const insopt_t *insopt);
|
||||||
|
EXPORT int xnT(const insopt_t *insopt);
|
||||||
|
EXPORT int xnCl(const insopt_t *insopt);
|
||||||
|
|
||||||
EXPORT int xiP(const insopt_t *insopt);
|
EXPORT int xiP(const insopt_t *insopt);
|
||||||
EXPORT int xnIF(const insopt_t *opt);
|
EXPORT int xnIF(const insopt_t *opt);
|
||||||
EXPORT int xiV(const insopt_t *insopt);
|
EXPORT int xiV(const insopt_t *insopt);
|
||||||
@ -1617,6 +1621,9 @@ EXPORT int xiA(const insopt_t *insopt);
|
|||||||
EXPORT int xiBa(const insopt_t *insopt);
|
EXPORT int xiBa(const insopt_t *insopt);
|
||||||
EXPORT int xiBg(const insopt_t *insopt);
|
EXPORT int xiBg(const insopt_t *insopt);
|
||||||
EXPORT int xiBs(const insopt_t *insopt,int s,int f);
|
EXPORT int xiBs(const insopt_t *insopt,int s,int f);
|
||||||
|
EXPORT int xiIo(const insopt_t *insopt,int s);
|
||||||
|
EXPORT int xiTr(const insopt_t *insopt,int r);
|
||||||
|
|
||||||
EXPORT void rt_insopt_init(insopt_t *insopt);
|
EXPORT void rt_insopt_init(insopt_t *insopt);
|
||||||
EXPORT void initP(int is,int ni,int nx,double unc,double unc0,double *P0);
|
EXPORT void initP(int is,int ni,int nx,double unc,double unc0,double *P0);
|
||||||
EXPORT int ant2ins(gtime_t time, const double *rr, const double *vr,
|
EXPORT int ant2ins(gtime_t time, const double *rr, const double *vr,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user