See update notes:

This commit is contained in:
KenanZhu111 committed 2024-11-04 20:56:45 +08:00
1 parent a3fb64a657
commit 8059c482e3
13 files changed
+387 -118

No files matched your search

+1
View File
@@ -237,6 +237,7 @@ typedef struct nav_body{//Body data of file of nav: GPS BeiDou Galileo GLONASS
typedef struct obs_head{//Header data of file of obs
double ver;
char type[30];
char marker[10];
double apX;
double apY;
+4
View File
@@ -603,6 +603,10 @@ void read_o_h(FILE* fp_obs, pobs_head obs_h)
strncpy(obs_h->type, buff + 20, 30);
continue;
}
else if (strstr(lable, "MARKER NAME")) {
strncpy(obs_h->marker, buff + 0, 10);
continue;
}
else if (strstr(lable, "APPROX POSITION XYZ")) {
obs_h->apX = strtonum(buff, 0, 14);
obs_h->apY = strtonum(buff, 0 + 14, 14);
+4 -2
View File
@@ -286,7 +286,7 @@ int sat_pos_cal(pobs_head obs_h, pobs_epoch obs_e, pobs_body obs_b,
break;
case GAL:
obs.Per1[k] = obs_b->obs_gal[j][code2type(C1, obs_h->obstypenum_gal, obs_h->obscode_gal)];
obs.Per2[k] = obs_b->obs_gal[j][code2type(C2, obs_h->obstypenum_gal, obs_h->obscode_gal)];
obs.Per2[k] = obs_b->obs_gal[j][code2type(C6, obs_h->obstypenum_gal, obs_h->obscode_gal)];
obs.freq1 = FREQ1; obs.freq2 = FREQ6;
break;
case GLO:
@@ -325,7 +325,9 @@ int sat_pos_cal(pobs_head obs_h, pobs_epoch obs_e, pobs_body obs_b,
stop++;
}solution(solu, obs_h, ap_X, ap_Y, ap_Z);
}
else;
else {
fprintf(solu,"\nRec:insufficient quantity of sat, sat=%d",k);
}
free(in_lsq.l); free(in_lsq.m); free(in_lsq.n); free(in_lsq.o);
free(in_lsq.B); free(in_lsq.P); free(in_lsq.L);
return 1;
+5 -3
View File
@@ -35,7 +35,7 @@ static double trosaastamoinen(pobs_head obs_h, double elev)
return dtrop;
}
/*Tropshere correction with hopfiled model*/
static double trohopfiled(pobs_head obs_h, double elev)
static double trohopfield(pobs_head obs_h, double elev)
{
double P0, e0, T0, deltaSd, deltaSw, dtropd, dtropw, dtrop;
double B = obs_h->apB, L = obs_h->apL, H = obs_h->apH;
@@ -99,7 +99,7 @@ static double restcorr(pobs_head obs_h, acct_obs obs, int ionopt, int tropopt,
}
switch (tropopt) {
case 0:break;
case 1:dtrop = trohopfiled(obs_h, elev); break;
case 1:dtrop = trohopfield(obs_h, elev); break;
case 2:dtrop = trosaastamoinen(obs_h, elev); break;
}
P = P - diono - dtrop;
@@ -139,7 +139,8 @@ stations designmat(pobs_head obs_h, acct_obs obs,
R = sqrt(
pow(l[i] - X, 2) +
pow(m[i] - Y, 2) +
pow(n[i] - Z, 2));
pow(n[i] - Z, 2)
);
B[i + satnum * 0] = -(l[i] - X) / R;
B[i + satnum * 1] = -(m[i] - Y) / R;
B[i + satnum * 2] = -(n[i] - Z) / R;
@@ -167,6 +168,7 @@ FILE* headerout(pobs_head obs_h,
fclose(result_file_clear);
FILE* result_file = fopen(res_path, "a+");
fprintf(result_file, ">GENERATE PROGRAM : KNZ_GeoTrackLab ver%s\n", KNZ_GTL_VER);
fprintf(result_file, " GENERATE SOURCE : %.10s\n", obs_h->marker);
fprintf(result_file, " GENERATE TYPE : Satellite Position\n");
fprintf(result_file, " GENERATE TIME : %s", ctime(&gen_time));
fprintf(result_file, " OBS FILE PATH : %s\n", obs_path);