42#ifndef GNSS_SDR_RTKLIB_SBAS_H
43#define GNSS_SDR_RTKLIB_SBAS_H
49const int WEEKOFFSET = 1024;
53 X1[] = {-75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20,
54 25, 30, 35, 40, 45, 50, 55, 65, 75, 85},
55 X2[] = {-55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30,
57 X3[] = {-75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20,
58 25, 30, 35, 40, 45, 50, 55, 65, 75},
59 X4[] = {-85, -75, -65, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15,
60 20, 25, 30, 35, 40, 45, 50, 55, 65, 75},
61 X5[] = {-180, -175, -170, -165, -160, -155, -150, -145, -140, -135, -130, -125, -120, -115,
62 -110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -45,
63 -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25,
64 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,
65 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165,
67 X6[] = {-180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50,
68 -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
69 100, 110, 120, 130, 140, 150, 160, 170},
70 X7[] = {-180, -150, -120, -90, -60, -30, 0, 30, 60, 90, 120, 150},
71 X8[] = {-170, -140, -110, -80, -50, -20, 10, 40, 70, 100, 130, 160};
74 {{-180, X1, 1, 28}, {-175, X2, 29, 51}, {-170, X3, 52, 78}, {-165, X2, 79, 101},
75 {-160, X3, 102, 128}, {-155, X2, 129, 151}, {-150, X3, 152, 178}, {-145, X2, 179, 201}},
76 {{-140, X4, 1, 28}, {-135, X2, 29, 51}, {-130, X3, 52, 78}, {-125, X2, 79, 101},
77 {-120, X3, 102, 128}, {-115, X2, 129, 151}, {-110, X3, 152, 178}, {-105, X2, 179, 201}},
78 {{-100, X3, 1, 27}, {-95, X2, 28, 50}, {-90, X1, 51, 78}, {-85, X2, 79, 101},
79 {-80, X3, 102, 128}, {-75, X2, 129, 151}, {-70, X3, 152, 178}, {-65, X2, 179, 201}},
80 {{-60, X3, 1, 27}, {-55, X2, 28, 50}, {-50, X4, 51, 78}, {-45, X2, 79, 101},
81 {-40, X3, 102, 128}, {-35, X2, 129, 151}, {-30, X3, 152, 178}, {-25, X2, 179, 201}},
82 {{-20, X3, 1, 27}, {-15, X2, 28, 50}, {-10, X3, 51, 77}, {-5, X2, 78, 100},
83 {0, X1, 101, 128}, {5, X2, 129, 151}, {10, X3, 152, 178}, {15, X2, 179, 201}},
84 {{20, X3, 1, 27}, {25, X2, 28, 50}, {30, X3, 51, 77}, {35, X2, 78, 100},
85 {40, X4, 101, 128}, {45, X2, 129, 151}, {50, X3, 152, 178}, {55, X2, 179, 201}},
86 {{60, X3, 1, 27}, {65, X2, 28, 50}, {70, X3, 51, 77}, {75, X2, 78, 100},
87 {80, X3, 101, 127}, {85, X2, 128, 150}, {90, X1, 151, 178}, {95, X2, 179, 201}},
88 {{100, X3, 1, 27}, {105, X2, 28, 50}, {110, X3, 51, 77}, {115, X2, 78, 100},
89 {120, X3, 101, 127}, {125, X2, 128, 150}, {130, X4, 151, 178}, {135, X2, 179, 201}},
90 {{140, X3, 1, 27}, {145, X2, 28, 50}, {150, X3, 51, 77}, {155, X2, 78, 100},
91 {160, X3, 101, 127}, {165, X2, 128, 150}, {170, X3, 151, 177}, {175, X2, 178, 200}}};
93 {{60, X5, 1, 72}, {65, X6, 73, 108}, {70, X6, 109, 144}, {75, X6, 145, 180},
95 {{-60, X5, 1, 72}, {-65, X6, 73, 108}, {-70, X6, 109, 144}, {-75, X6, 145, 180},
96 {-85, X8, 181, 192}}};
99char *getfield(
char *p,
int pos);
100double varfcorr(
int udre);
101double varicorr(
int give);
102double degfcorr(
int ai);
119int cmpmsgs(
const void *p1,
const void *p2);
122int sbsreadmsg(
const char *file,
int sel,
sbs_t *sbs);
123void sbsoutmsg(FILE *fp,
sbsmsg_t *sbsmsg);
125 const sbsigp_t **igp,
double *x,
double *y);
126int sbsioncorr(
gtime_t time,
const nav_t *nav,
const double *pos,
127 const double *azel,
double *delay,
double *var);
129void getmet(
double lat,
double *met);
130double sbstropcorr(
gtime_t time,
const double *pos,
const double *azel,
133 double *drs,
double *ddts);
135 double *prc,
double *var);
137int sbssatcorr(
gtime_t time,
int sat,
const nav_t *nav,
double *rs,
138 double *dts,
double *var);
139int sbsdecodemsg(
gtime_t time,
int prn,
const unsigned int *words,
main header file for the rtklib library