|
MRTKLIB 0.7.14
Modernized GNSS Positioning Library
|
#include "mrtklib/mrtk_rtkpos.h"#include <math.h>#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "mrtklib/mrtk_antenna.h"#include "mrtklib/mrtk_atmos.h"#include "mrtklib/mrtk_bias_sinex.h"#include "mrtklib/mrtk_bits.h"#include "mrtklib/mrtk_clas.h"#include "mrtklib/mrtk_const.h"#include "mrtklib/mrtk_coords.h"#include "mrtklib/mrtk_fcb.h"#include "mrtklib/mrtk_lambda.h"#include "mrtklib/mrtk_madoca.h"#include "mrtklib/mrtk_mat.h"#include "mrtklib/mrtk_peph.h"#include "mrtklib/mrtk_ppp.h"#include "mrtklib/mrtk_ppp_rtk.h"#include "mrtklib/mrtk_spp.h"#include "mrtklib/mrtk_sys.h"#include "mrtklib/mrtk_tides.h"#include "mrtklib/mrtk_trace.h"#include "mrtklib/mrtk_vrs.h"Go to the source code of this file.
Macros | |
| #define | CLIGHT 299792458.0 /* speed of light (m/s) */ |
| #define | D2R (3.1415926535897932384626433832795 / 180.0) |
| #define | R2D (180.0 / 3.1415926535897932384626433832795) |
| #define | FREQ1 1.57542E9 /* L1/E1/B1C frequency (Hz) */ |
| #define | SYS_NONE 0x00 /* navigation system: none */ |
| #define | SYS_GPS 0x01 /* navigation system: GPS */ |
| #define | SYS_SBS 0x02 /* navigation system: SBAS */ |
| #define | SYS_GLO 0x04 /* navigation system: GLONASS */ |
| #define | SYS_GAL 0x08 /* navigation system: Galileo */ |
| #define | SYS_QZS 0x10 /* navigation system: QZSS */ |
| #define | SYS_CMP 0x20 /* navigation system: BeiDou */ |
| #define | SYS_IRN 0x40 /* navigation system: IRNSS */ |
| #define | EFACT_GPS 1.0 /* error factor: GPS */ |
| #define | EFACT_GLO 1.5 /* error factor: GLONASS */ |
| #define | EFACT_SBS 3.0 /* error factor: SBAS */ |
| #define | INT_SWAP_STAT 86400.0 /* swap interval of solution status (s) */ |
| #define | SSR_VENDOR_L6 0 /* SSR vendor: L6 */ |
| #define | SSR_VENDOR_RTCM 1 /* SSR vendor: RTCM */ |
| #define | MAXAGESSRL6 60.0 /* max age of SSR L6 (s) */ |
| #define | SQR(x) |
| #define | SQRT(x) |
| #define | MIN(x, y) |
| #define | ROUND(x) |
| #define | VAR_POS SQR(30.0) /* initial variance of receiver pos (m^2) */ |
| #define | VAR_VEL SQR(10.0) /* initial variance of receiver vel ((m/s)^2) */ |
| #define | VAR_ACC SQR(10.0) /* initial variance of receiver acc ((m/ss)^2) */ |
| #define | VAR_HWBIAS SQR(1.0) /* initial variance of h/w bias ((m/MHz)^2) */ |
| #define | VAR_GRA SQR(0.001) /* initial variance of gradient (m^2) */ |
| #define | INIT_ZWD 0.15 /* initial zwd (m) */ |
| #define | PRN_HWBIAS 1E-6 /* process noise of h/w bias (m/MHz/sqrt(s)) */ |
| #define | GAP_RESION 120 /* gap to reset ionosphere parameters (epochs) */ |
| #define | MAXACC 30.0 /* max accel for doppler slip detection (m/s^2) */ |
| #define | VAR_HOLDAMB 0.001 /* constraint to hold ambiguity (cycle^2) */ |
| #define | TTOL_MOVEB (1.0 + 2 * DTTOL) |
| #define | NF(opt) |
| #define | NP(opt) |
| #define | NI(opt) |
| #define | NT(opt) |
| #define | NL(opt) |
| #define | NB(opt) |
| #define | NR(opt) |
| #define | NX(opt) |
| #define | II(s, opt) |
| #define | IT(r, opt) |
| #define | IL(f, opt) |
| #define | IB(s, f, opt) |
Functions | |
| int | miono_get_corr (const double *rr, nav_t *nav) |
| int | rtkopenstat (const char *file, int level) |
| Open solution status file and set output level. | |
| void | rtkclosestat (void) |
| Close solution status file. | |
| int | rtkoutstat (rtk_t *rtk, char *buff) |
| Write solution status to buffer. | |
| static void | swapsolstat (void) |
| static void | outsolstat (rtk_t *rtk) |
| static void | errmsg (rtk_t *rtk, const char *format,...) |
| static double | sdobs (const obsd_t *obs, int i, int j, int k) |
| static double | gfobs (const obsd_t *obs, int i, int j, int k, const nav_t *nav) |
| static int | seliflc (int optnf, int sys) |
| static double | varerr (int sat, int sys, double el, double snr_rover, double snr_base, double bl, double dt, int f, const prcopt_t *opt) |
| static double | baseline (const double *ru, const double *rb, double *dr) |
| static void | initx (rtk_t *rtk, double xi, double var, int i) |
| static int | selsat (const obsd_t *obs, double *azel, int nu, int nr, const prcopt_t *opt, int *sat, int *iu, int *ir) |
| static void | udpos (rtk_t *rtk, double tt) |
| static void | udion (rtk_t *rtk, double tt, double bl, const int *sat, int ns) |
| static void | udtrop (rtk_t *rtk, double tt, double bl) |
| static void | udrcvbias (rtk_t *rtk, double tt) |
| static void | detslp_code (rtk_t *rtk, const obsd_t *obs, int i, int rcv) |
| static void | detslp_ll (rtk_t *rtk, const obsd_t *obs, int i, int rcv) |
| static void | detslp_gf (rtk_t *rtk, const obsd_t *obs, int i, int j, const nav_t *nav) |
| static void | detslp_dop (rtk_t *rtk, const obsd_t *obs, const int *ix, int ns, int rcv, const nav_t *nav) |
| static void | udbias (rtk_t *rtk, double tt, const obsd_t *obs, const int *sat, const int *iu, const int *ir, int ns, const nav_t *nav) |
| static void | udstate (rtk_t *rtk, const obsd_t *obs, const int *sat, const int *iu, const int *ir, int ns, const nav_t *nav) |
| static void | zdres_sat (int base, double r, const obsd_t *obs, const nav_t *nav, const double *azel, const double *dant, const prcopt_t *opt, double *y, double *freq) |
| static int | zdres (int base, const obsd_t *obs, int n, const double *rs, const double *dts, const double *var, const int *svh, const nav_t *nav, const double *rr, const prcopt_t *opt, int index, double *y, double *e, double *azel, double *freq) |
| static int | validobs (int i, int j, int f, int nf, double *y) |
| static void | ddcov (const int *nb, int n, const double *Ri, const double *Rj, int nv, double *R) |
| static int | constbl (rtk_t *rtk, const double *x, const double *P, double *v, double *H, double *Ri, double *Rj, int index) |
| static double | prectrop (gtime_t time, const double *pos, int r, const double *azel, const prcopt_t *opt, const double *x, double *dtdx) |
| static int | test_sys (int sys, int m) |
| static int | ddres (rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, const double *x, const double *P, const int *sat, double *y, double *e, double *azel, double *freq, const int *iu, const int *ir, int ns, double *v, double *H, double *R, int *vflg) |
| static double | intpres (gtime_t time, const obsd_t *obs, int n, const nav_t *nav, rtk_t *rtk, double *y) |
| static int | ddidx (rtk_t *rtk, int *ix, int gps, int glo, int sbs) |
| static void | restamb (rtk_t *rtk, const double *bias, double *xa) |
| static void | holdamb (rtk_t *rtk, const double *xa) |
| static int | resamb_LAMBDA (rtk_t *rtk, double *bias, double *xa, int gps, int glo, int sbs) |
| static int | manage_amb_LAMBDA (rtk_t *rtk, double *bias, double *xa, const int *sat, int nf, int ns) |
| static int | valpos (rtk_t *rtk, const double *v, const double *R, const int *vflg, int nv, double thres) |
| static int | relpos (rtk_t *rtk, const obsd_t *obs, int nu, int nr, const nav_t *nav) |
| void | rtkinit (rtk_t *rtk, const prcopt_t *opt) |
| Initialize RTK control struct. | |
| void | rtkfree (rtk_t *rtk) |
| Free memory for RTK control struct. | |
| static void | udsatcb (gtime_t gt, nav_t *nav, osb_t *biaosb, const prcopt_t *popt) |
| static void | udsatpb (gtime_t gt, nav_t *nav, osb_t *biaosb, osb_t *fcbosb, const prcopt_t *popt) |
| static void | udstacb (gtime_t gt, nav_t *nav, osb_t *biaosb, const prcopt_t *popt) |
| static void | udbiass (gtime_t gt, prcopt_t *popt, nav_t *nav) |
| int | rtkpos (mrtk_ctx_t *ctx, rtk_t *rtk, const obsd_t *obs, int n, nav_t *nav) |
| Compute rover position by precise positioning. | |
Variables | |
| static const double | ar_poly_coeffs [3][5] |
| static int | statlevel = 0 |
| static FILE * | fp_stat = NULL |
| static char | file_stat [1024] = "" |
| static gtime_t | time_stat = {0} |
| #define CLIGHT 299792458.0 /* speed of light (m/s) */ |
Definition at line 46 of file mrtk_rtkpos.c.
| #define D2R (3.1415926535897932384626433832795 / 180.0) |
Definition at line 47 of file mrtk_rtkpos.c.
| #define EFACT_GLO 1.5 /* error factor: GLONASS */ |
| #define EFACT_GPS 1.0 /* error factor: GPS */ |
| #define EFACT_SBS 3.0 /* error factor: SBAS */ |
| #define FREQ1 1.57542E9 /* L1/E1/B1C frequency (Hz) */ |
Definition at line 49 of file mrtk_rtkpos.c.
| #define GAP_RESION 120 /* gap to reset ionosphere parameters (epochs) */ |
Definition at line 87 of file mrtk_rtkpos.c.
| #define IB | ( | s, | |
| f, | |||
| opt ) |
Definition at line 109 of file mrtk_rtkpos.c.
| #define II | ( | s, | |
| opt ) |
Definition at line 106 of file mrtk_rtkpos.c.
Referenced by ddres(), rtkoutstat(), and udion().
| #define IL | ( | f, | |
| opt ) |
| #define INIT_ZWD 0.15 /* initial zwd (m) */ |
Definition at line 84 of file mrtk_rtkpos.c.
| #define INT_SWAP_STAT 86400.0 /* swap interval of solution status (s) */ |
Definition at line 64 of file mrtk_rtkpos.c.
Referenced by swapsolstat().
| #define IT | ( | r, | |
| opt ) |
Definition at line 107 of file mrtk_rtkpos.c.
Referenced by ddres(), prectrop(), rtkoutstat(), and udtrop().
| #define MAXACC 30.0 /* max accel for doppler slip detection (m/s^2) */ |
Definition at line 88 of file mrtk_rtkpos.c.
| #define MAXAGESSRL6 60.0 /* max age of SSR L6 (s) */ |
Definition at line 67 of file mrtk_rtkpos.c.
| #define MIN | ( | x, | |
| y ) |
Definition at line 76 of file mrtk_rtkpos.c.
Referenced by detslp_dop().
| #define NB | ( | opt | ) |
Definition at line 101 of file mrtk_rtkpos.c.
| #define NF | ( | opt | ) |
Definition at line 96 of file mrtk_rtkpos.c.
Referenced by ddidx(), ddres(), holdamb(), intpres(), outsolstat(), restamb(), rtkoutstat(), udbias(), varerr(), zdres(), and zdres_sat().
| #define NI | ( | opt | ) |
Definition at line 98 of file mrtk_rtkpos.c.
| #define NL | ( | opt | ) |
Definition at line 100 of file mrtk_rtkpos.c.
| #define NP | ( | opt | ) |
Definition at line 97 of file mrtk_rtkpos.c.
| #define NR | ( | opt | ) |
Definition at line 102 of file mrtk_rtkpos.c.
| #define NT | ( | opt | ) |
Definition at line 99 of file mrtk_rtkpos.c.
| #define NX | ( | opt | ) |
| #define PRN_HWBIAS 1E-6 /* process noise of h/w bias (m/MHz/sqrt(s)) */ |
Definition at line 86 of file mrtk_rtkpos.c.
Referenced by udrcvbias(), and udrcvbias().
| #define R2D (180.0 / 3.1415926535897932384626433832795) |
Definition at line 48 of file mrtk_rtkpos.c.
| #define ROUND | ( | x | ) |
Definition at line 77 of file mrtk_rtkpos.c.
| #define SQR | ( | x | ) |
Definition at line 74 of file mrtk_rtkpos.c.
Referenced by constbl(), ddres(), udbias(), udion(), udpos(), udrcvbias(), udtrop(), varerr(), and zdres_sat().
| #define SQRT | ( | x | ) |
Definition at line 75 of file mrtk_rtkpos.c.
Referenced by valpos().
| #define SSR_VENDOR_L6 0 /* SSR vendor: L6 */ |
Definition at line 65 of file mrtk_rtkpos.c.
Referenced by udsatcb().
| #define SSR_VENDOR_RTCM 1 /* SSR vendor: RTCM */ |
Definition at line 66 of file mrtk_rtkpos.c.
Referenced by decode_ssr1(), decode_ssr2(), decode_ssr3(), decode_ssr4(), decode_ssr5(), decode_ssr6(), decode_ssr7(), udsatcb(), and udsatpb().
| #define SYS_CMP 0x20 /* navigation system: BeiDou */ |
Definition at line 57 of file mrtk_rtkpos.c.
| #define SYS_GAL 0x08 /* navigation system: Galileo */ |
Definition at line 55 of file mrtk_rtkpos.c.
| #define SYS_GLO 0x04 /* navigation system: GLONASS */ |
Definition at line 54 of file mrtk_rtkpos.c.
| #define SYS_GPS 0x01 /* navigation system: GPS */ |
Definition at line 52 of file mrtk_rtkpos.c.
| #define SYS_IRN 0x40 /* navigation system: IRNSS */ |
Definition at line 58 of file mrtk_rtkpos.c.
| #define SYS_NONE 0x00 /* navigation system: none */ |
Definition at line 51 of file mrtk_rtkpos.c.
| #define SYS_QZS 0x10 /* navigation system: QZSS */ |
Definition at line 56 of file mrtk_rtkpos.c.
| #define SYS_SBS 0x02 /* navigation system: SBAS */ |
Definition at line 53 of file mrtk_rtkpos.c.
| #define TTOL_MOVEB (1.0 + 2 * DTTOL) |
Definition at line 92 of file mrtk_rtkpos.c.
Referenced by rtkpos().
| #define VAR_ACC SQR(10.0) /* initial variance of receiver acc ((m/ss)^2) */ |
Definition at line 81 of file mrtk_rtkpos.c.
| #define VAR_GRA SQR(0.001) /* initial variance of gradient (m^2) */ |
Definition at line 83 of file mrtk_rtkpos.c.
| #define VAR_HOLDAMB 0.001 /* constraint to hold ambiguity (cycle^2) */ |
Definition at line 90 of file mrtk_rtkpos.c.
Referenced by holdamb().
| #define VAR_HWBIAS SQR(1.0) /* initial variance of h/w bias ((m/MHz)^2) */ |
Definition at line 82 of file mrtk_rtkpos.c.
Referenced by udrcvbias(), and udrcvbias().
| #define VAR_POS SQR(30.0) /* initial variance of receiver pos (m^2) */ |
Definition at line 79 of file mrtk_rtkpos.c.
| #define VAR_VEL SQR(10.0) /* initial variance of receiver vel ((m/s)^2) */ |
Definition at line 80 of file mrtk_rtkpos.c.
|
static |
Definition at line 479 of file mrtk_rtkpos.c.
References norm().
Referenced by ddres(), and udstate().
|
static |
Definition at line 1176 of file mrtk_rtkpos.c.
References prcopt_t::baseline, norm(), rtk_t::nx, rtk_t::opt, rtk_t::rb, SQR, and trace().
Referenced by ddres().
|
static |
Definition at line 1157 of file mrtk_rtkpos.c.
References trace(), and tracemat().
Referenced by ddres().
|
static |
Definition at line 1523 of file mrtk_rtkpos.c.
References ssat_t::azel, prcopt_t::bdsmodear, prcopt_t::elmaskar, ssat_t::fix, ssat_t::lock, MAXSAT, rtk_t::na, NF, rtk_t::opt, satsys(), ssat_t::slip, rtk_t::ssat, ssat_t::sys, SYS_SBS, test_sys(), trace(), ssat_t::vsat, and rtk_t::x.
Referenced by resamb_LAMBDA().
|
static |
Definition at line 1266 of file mrtk_rtkpos.c.
References baseline(), CLIGHT, constbl(), ddcov(), ecef2pos(), errmsg(), free, FREQ1, IB, II, ionmapf(), prcopt_t::ionoopt, IONOOPT_EST, IONOOPT_IFLC, IT, LLI_HALFC, mat(), prcopt_t::maxinno, MAXSAT, prcopt_t::mode, NF, rtk_t::nx, rtk_t::opt, PMODE_DGPS, PMODE_MOVEB, prectrop(), rtk_t::rb, ssat_t::rejc, ssat_t::resc, ssat_t::resp, SNR_UNIT, rtk_t::sol, SQR, rtk_t::ssat, prcopt_t::std, ssat_t::sys, test_sys(), sol_t::time, trace(), tracemat(), prcopt_t::tropopt, TROPOPT_EST, TROPOPT_ESTG, validobs(), varerr(), and ssat_t::vsat.
Referenced by relpos().
Definition at line 713 of file mrtk_rtkpos.c.
References obsd_t::code, code2obs(), CODE_NONE, ssat_t::codeprev, errmsg(), prcopt_t::nf, rtk_t::opt, obsd_t::sat, ssat_t::slip, and rtk_t::ssat.
Referenced by udbias().
|
static |
Definition at line 819 of file mrtk_rtkpos.c.
References obsd_t::D, DTTOL, errmsg(), obsd_t::L, MAXSAT, MIN, prcopt_t::nf, rtk_t::opt, ssat_t::ph, ssat_t::pt, obsd_t::sat, ssat_t::slip, rtk_t::ssat, prcopt_t::thresdop, timediff(), and trace().
Referenced by udbias().
Definition at line 783 of file mrtk_rtkpos.c.
References errmsg(), ssat_t::gf, gfobs(), prcopt_t::nf, rtk_t::opt, obsd_t::sat, ssat_t::slip, rtk_t::ssat, prcopt_t::thresslip, and trace().
Referenced by udbias().
Definition at line 735 of file mrtk_rtkpos.c.
References DTTOL, errmsg(), getbitu(), ssat_t::half, obsd_t::LLI, prcopt_t::nf, rtk_t::opt, ssat_t::pt, obsd_t::sat, setbitu(), ssat_t::slip, rtk_t::ssat, timediff(), trace(), and rtk_t::tt.
Referenced by udbias().
|
static |
Definition at line 382 of file mrtk_rtkpos.c.
References rtk_t::errbuf, MAXERRMSG, rtk_t::neb, rtk_t::sol, sol_t::time, time2str(), and trace().
Referenced by ddres(), detslp_code(), detslp_dop(), detslp_gf(), detslp_ll(), holdamb(), relpos(), resamb_LAMBDA(), rtkinit(), rtkpos(), rtksvrstart(), and valpos().
Definition at line 403 of file mrtk_rtkpos.c.
References CLIGHT, sat2freq(), and sdobs().
Referenced by detslp_gf().
|
static |
Definition at line 1621 of file mrtk_rtkpos.c.
References ARMODE_FIXHOLD, ssat_t::azel, prcopt_t::elmaskhold, errmsg(), filter(), ssat_t::fix, free, rtk_t::holdamb, IB, mat(), MAXSAT, prcopt_t::minholdsats, prcopt_t::modear, rtk_t::na, NF, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::ssat, ssat_t::sys, test_sys(), trace(), VAR_HOLDAMB, rtk_t::x, and zeros().
Referenced by relpos().
|
static |
Definition at line 487 of file mrtk_rtkpos.c.
References rtk_t::nx, rtk_t::P, and rtk_t::x.
Referenced by udbias(), udion(), udpos(), udrcvbias(), and udtrop().
|
static |
Definition at line 1475 of file mrtk_rtkpos.c.
References DTTOL, MAXOBS, prcopt_t::maxtdiff, NF, rtk_t::opt, rtk_t::rb, prcopt_t::sateph, satposs(), timediff(), trace(), and zdres().
Referenced by relpos().
|
static |
Definition at line 1811 of file mrtk_rtkpos.c.
References prcopt_t::arfilter, ARMODE_OFF, ssat_t::azel, prcopt_t::elmin, rtk_t::excsat, ssat_t::fix, GLO_ARMODE_FIXHOLD, prcopt_t::glomodear, prcopt_t::gpsmodear, rtk_t::holdamb, ssat_t::lock, prcopt_t::mindropsats, prcopt_t::minlock, prcopt_t::mode, prcopt_t::modear, prcopt_t::navsys, rtk_t::nb_ar, rtk_t::nx, rtk_t::opt, rtk_t::P, PMODE_DGPS, sol_t::prev_ratio1, sol_t::prev_ratio2, sol_t::ratio, resamb_LAMBDA(), rtk_t::sol, rtk_t::ssat, SYS_GLO, SYS_SBS, sol_t::thres, prcopt_t::thresar, trace(), and ssat_t::vsat.
Referenced by relpos().
|
extern |
Definition at line 174 of file mrtk_ppp_iono.c.
References pppiono_t::corr, pppiono_corr_t::dly, ecef2pos(), MAXSAT, miono_delay(), miono_sel_area(), miono_std_stecura(), nav_s::pppiono, R2D, miono_area_t::sat, miono_sat_t::sqi, pppiono_corr_t::std, miono_sat_t::t0, pppiono_corr_t::t0, gtime_t::time, and trace().
Referenced by rtkpos().
|
static |
Definition at line 338 of file mrtk_rtkpos.c.
References ssat_t::azel, ssat_t::fix, fp_stat, ssat_t::lock, MAXSAT, MAXSOLMSG, prcopt_t::mode, NF, rtk_t::opt, ssat_t::outc, PMODE_DGPS, R2D, ssat_t::rejc, ssat_t::resc, ssat_t::resp, rtkoutstat(), satno2id(), ssat_t::slip, ssat_t::slipc, ssat_t::snr, SNR_UNIT, rtk_t::sol, SOLQ_NONE, rtk_t::ssat, sol_t::stat, statlevel, swapsolstat(), sol_t::time, time2gpst(), trace(), ssat_t::vs, and ssat_t::vsat.
Referenced by rtkpos().
|
static |
Definition at line 1223 of file mrtk_rtkpos.c.
References IT, tropmapf(), prcopt_t::tropopt, and TROPOPT_ESTG.
Referenced by ddres().
Definition at line 1958 of file mrtk_rtkpos.c.
References ARMODE_FIXHOLD, prcopt_t::baseline, ddres(), prcopt_t::dynamics, errmsg(), filter(), free, holdamb(), prcopt_t::intpref, intpres(), prcopt_t::ionoopt, IONOOPT_IFLC, obsd_t::L, ssat_t::lock, manage_amb_LAMBDA(), mat(), matcpy(), MAXOBS, MAXSAT, prcopt_t::minfix, prcopt_t::mode, prcopt_t::modear, rtk_t::na, prcopt_t::nf, rtk_t::nfix, prcopt_t::niter, NR, sol_t::ns, rtk_t::nx, rtk_t::opt, ssat_t::outc, rtk_t::P, rtk_t::Pa, ssat_t::ph, PMODE_DGPS, PMODE_MOVEB, ssat_t::pt, sol_t::qr, sol_t::qv, rtk_t::rb, obsd_t::rcv, sol_t::rr, obsd_t::sat, prcopt_t::sateph, satposs(), satsys(), selsat(), ssat_t::slip, ssat_t::slipc, obsd_t::SNR, ssat_t::snr, rtk_t::sol, SOLQ_DGPS, SOLQ_FIX, SOLQ_FLOAT, SOLQ_NONE, rtk_t::ssat, sol_t::stat, ssat_t::sys, obsd_t::time, timediff(), trace(), tracemat(), udstate(), valpos(), ssat_t::vsat, rtk_t::x, rtk_t::xa, zdres(), and zeros().
Referenced by rtkpos().
|
static |
Definition at line 1675 of file mrtk_rtkpos.c.
References ar_poly_coeffs, ddidx(), errmsg(), free, imat(), lambda(), mat(), matinv(), matmul(), prcopt_t::minfixsats, rtk_t::na, rtk_t::nb_ar, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::Pa, sol_t::ratio, restamb(), rtk_t::sol, sol_t::thres, prcopt_t::thresar, trace(), tracemat(), rtk_t::x, and rtk_t::xa.
Referenced by manage_amb_LAMBDA().
|
static |
Definition at line 1588 of file mrtk_rtkpos.c.
References ssat_t::fix, IB, MAXSAT, rtk_t::na, NF, rtk_t::nx, rtk_t::opt, rtk_t::ssat, ssat_t::sys, test_sys(), trace(), rtk_t::x, and rtk_t::xa.
Referenced by resamb_LAMBDA().
|
extern |
Close solution status file.
Definition at line 219 of file mrtk_rtkpos.c.
References file_stat, fp_stat, statlevel, and trace().
Referenced by closeses(), and execses().
|
extern |
Free memory for RTK control struct.
| [in,out] | rtk | RTK control/result struct |
Definition at line 2261 of file mrtk_rtkpos.c.
References free, rtk_t::na, rtk_t::nx, rtk_t::P, rtk_t::Pa, rtk_t::Q, trace(), rtk_t::x, and rtk_t::xa.
Referenced by procpos(), rtksvrfree(), and rtksvrstart().
Initialize RTK control struct.
| [in,out] | rtk | RTK control/result struct |
| [in] | opt | Positioning options |
Definition at line 2206 of file mrtk_rtkpos.c.
References rtk_t::ambc, prcopt_t::bds2prn, prcopt_t::bds3igso, rtk_t::errbuf, errmsg(), rtk_t::excsat, rtk_t::holdamb, MAXERRMSG, MAXSAT, prcopt_t::mode, rtk_t::na, rtk_t::nb_ar, rtk_t::neb, rtk_t::nfix, NR, NX, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::Pa, PMODE_FIXED, PMODE_PPP_RTK, PMODE_VRS_RTK, ppp_rtk_na(), ppp_rtk_nx(), pppnx(), rtk_t::prev_qr, rtk_t::Q, rtk_t::rb, set_bdsopt(), rtk_t::sol, rtk_t::ssat, sol_t::thres, prcopt_t::thresar, trace(), rtk_t::tt, rtk_t::x, rtk_t::xa, and zeros().
Referenced by procpos(), rtksvrinit(), and rtksvrstart().
|
extern |
Open solution status file and set output level.
| [in] | file | RTK status file path |
| [in] | level | RTK status level (0: off) |
Definition at line 193 of file mrtk_rtkpos.c.
References file_stat, fp_stat, reppath(), statlevel, time_stat, timeget(), trace(), and utc2gpst().
Referenced by execses().
|
extern |
Write solution status to buffer.
| [in,out] | rtk | RTK control/result struct |
| [out] | buff | Output buffer |
Definition at line 230 of file mrtk_rtkpos.c.
References ssat_t::azel, sol_t::dtr, prcopt_t::dynamics, ecef2enu(), ecef2pos(), prcopt_t::glomodear, II, IL, prcopt_t::ionoopt, IONOOPT_EST, IT, MAXSAT, prcopt_t::mode, rtk_t::na, NF, rtk_t::opt, PMODE_DGPS, PMODE_PPP_KINEMA, pppoutstat(), R2D, sol_t::rr, satno2id(), rtk_t::sol, SOLQ_NONE, rtk_t::ssat, sol_t::stat, sol_t::time, time2gpst(), prcopt_t::tropopt, TROPOPT_EST, TROPOPT_ESTG, ssat_t::vs, rtk_t::x, and rtk_t::xa.
Referenced by outsolstat(), and writesol().
|
extern |
Compute rover position by precise positioning.
| [in,out] | rtk | RTK control/result struct |
| [in] | obs | Observation data for an epoch |
| [in] | nobs | Number of observation data |
| [in,out] | nav | Navigation messages |
Definition at line 2686 of file mrtk_rtkpos.c.
References sol_t::age, nav_s::clas_ctx, clas_ssr2osr(), prcopt_t::dynamics, prcopt_t::enhanced_spp_seed, EPHOPT_BRDC, prcopt_t::err, errmsg(), nav_s::filreset, prcopt_t::floatcnt, prcopt_t::l6mrg, MAXOBS, prcopt_t::maxtdiff, miono_get_corr(), prcopt_t::mode, sol_t::ns, rtk_t::opt, prcopt_t::outsingle, outsolstat(), PMODE_MOVEB, PMODE_PPP_KINEMA, PMODE_PPP_RTK, PMODE_SINGLE, PMODE_SSR2OSR, PMODE_SSR2OSR_FIXED, PMODE_VRS_RTK, pntpos(), POSOPT_RINEX, ppp_rtk_pos(), pppos(), prcopt_t::rb, rtk_t::rb, obsd_t::rcv, prcopt_t::refpos, prcopt_t::rejeminsat, prcopt_t::rejethres, relpos(), relposvrs(), prcopt_t::robust, prcopt_t::robustk, sol_t::rr, prcopt_t::sateph, SEEDENH_BASE, SEEDENH_ROBUST, rtk_t::sol, solb, SOLQ_FLOAT, SOLQ_NONE, SOLQ_PPP, rtk_t::ssat, sol_t::stat, prcopt_t::tdcp, prcopt_t::tdcpjump, prcopt_t::thresdop, gtime_t::time, obsd_t::time, sol_t::time, time_str(), timediff(), trace(), traceobs(), rtk_t::tt, TTOL_MOVEB, udbiass(), and rtk_t::x.
Referenced by procpos(), and rtksvrthread().
|
static |
Definition at line 397 of file mrtk_rtkpos.c.
References obsd_t::P.
Referenced by gfobs(), and udbias().
|
static |
Definition at line 417 of file mrtk_rtkpos.c.
References SYS_GAL.
Referenced by udbias(), and zdres_sat().
|
static |
Definition at line 495 of file mrtk_rtkpos.c.
References prcopt_t::elmin, obsd_t::sat, and trace().
Referenced by relpos().
|
static |
Definition at line 315 of file mrtk_rtkpos.c.
References file_stat, fp_stat, INT_SWAP_STAT, reppath(), time2gpst(), time_stat, timeget(), trace(), and utc2gpst().
Referenced by outsolstat().
|
static |
|
static |
Definition at line 877 of file mrtk_rtkpos.c.
References ARMODE_INST, CLIGHT, detslp_code(), detslp_dop(), detslp_gf(), detslp_ll(), free, ssat_t::half, IB, initx(), prcopt_t::ionoopt, IONOOPT_IFLC, obsd_t::LLI, ssat_t::lock, prcopt_t::maxout, MAXSAT, prcopt_t::minlock, prcopt_t::modear, NF, prcopt_t::nf, rtk_t::nx, rtk_t::opt, ssat_t::outc, rtk_t::P, prcopt_t::prn, ssat_t::rejc, sat2freq(), sdobs(), seliflc(), ssat_t::slip, SQR, rtk_t::ssat, prcopt_t::std, ssat_t::sys, trace(), rtk_t::x, and zeros().
Referenced by udstate().
Definition at line 2534 of file mrtk_rtkpos.c.
References nav_s::biapath, calloc, nav_s::fcbpath, free, osb_t::gt, prcopt_t::maxbiasdt, nav_s::pr_biapath, nav_s::pr_fcbpath, readbsnx(), readfcb(), reppath(), osb_t::rsatcb, osb_t::rsyscb, osb_t::scb, osb_t::spb, prcopt_t::staname, time_str(), timediff(), trace(), udfcb_sat(), udosb_sat(), udosb_station(), udsatcb(), udsatpb(), udstacb(), osb_t::vrsatcb, osb_t::vrsyscb, osb_t::vscb, and osb_t::vspb.
Referenced by rtkpos().
|
static |
Definition at line 638 of file mrtk_rtkpos.c.
References ssat_t::azel, GAP_RESION, II, initx(), MAXSAT, rtk_t::nx, rtk_t::opt, ssat_t::outc, rtk_t::P, prcopt_t::prn, SQR, rtk_t::ssat, prcopt_t::std, trace(), and rtk_t::x.
Referenced by udstate().
|
static |
Definition at line 515 of file mrtk_rtkpos.c.
References covecef(), prcopt_t::dynamics, ecef2pos(), eye(), free, imat(), initx(), mat(), matmul(), prcopt_t::mode, norm(), rtk_t::nx, rtk_t::opt, rtk_t::P, PMODE_FIXED, PMODE_STATIC, prcopt_t::prn, sol_t::rr, prcopt_t::ru, rtk_t::sol, SQR, trace(), VAR_ACC, VAR_POS, VAR_VEL, and rtk_t::x.
Referenced by udstate().
|
static |
Definition at line 692 of file mrtk_rtkpos.c.
References IL, initx(), prcopt_t::minfix, rtk_t::na, rtk_t::nfix, NFREQGLO, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::Pa, PRN_HWBIAS, sol_t::ratio, rtk_t::sol, SQR, prcopt_t::thresar, trace(), VAR_HWBIAS, rtk_t::x, and rtk_t::xa.
Referenced by udstate().
Definition at line 2278 of file mrtk_rtkpos.c.
References nav_s::cbias, ssr_t::cbias, CODE_L1C, CODE_L2C, CODE_NONE, osb_t::gt, MAXAGESSRL6, prcopt_t::maxbiasdt, MAXCODE, MAXSAT, mcssr_sel_biascode(), nav_s::osb, prcopt_t::pppsatcb, prcopt_t::rtcmopt, satsys(), osb_t::scb, nav_s::ssr_ch, SSR_VENDOR_L6, SSR_VENDOR_RTCM, ssr_t::t0, time_str(), timediff(), trace(), ssr_t::vendor, and osb_t::vscb.
Referenced by udbiass().
|
static |
Definition at line 2374 of file mrtk_rtkpos.c.
References CODE_NONE, osb_t::gt, MAXAGESSRL6, prcopt_t::maxbiasdt, MAXCODE, MAXSAT, mcssr_sel_biascode(), nav_s::osb, ssr_t::pbias, prcopt_t::pppsatpb, prcopt_t::rtcmopt, satsys(), osb_t::spb, nav_s::ssr_ch, SSR_VENDOR_RTCM, ssr_t::t0, time_str(), timediff(), trace(), ssr_t::vendor, and osb_t::vspb.
Referenced by udbiass().
Definition at line 2483 of file mrtk_rtkpos.c.
References osb_t::gt, prcopt_t::maxbiasdt, MAXBSNXSYS, MAXCODE, MAXSAT, nav_s::osb, osb_t::rsatcb, osb_t::rsyscb, time_str(), timediff(), trace(), osb_t::vrsatcb, and osb_t::vrsyscb.
Referenced by udbiass().
|
static |
Definition at line 999 of file mrtk_rtkpos.c.
References baseline(), prcopt_t::glomodear, prcopt_t::ionoopt, IONOOPT_EST, prcopt_t::mode, prcopt_t::navsys, rtk_t::opt, PMODE_DGPS, rtk_t::rb, SYS_GLO, trace(), prcopt_t::tropopt, TROPOPT_EST, rtk_t::tt, udbias(), udion(), udpos(), udrcvbias(), udtrop(), and rtk_t::x.
Referenced by relpos().
|
static |
Definition at line 664 of file mrtk_rtkpos.c.
References INIT_ZWD, initx(), IT, rtk_t::nx, rtk_t::opt, rtk_t::P, prcopt_t::prn, SQR, prcopt_t::std, trace(), prcopt_t::tropopt, TROPOPT_ESTG, VAR_GRA, and rtk_t::x.
Referenced by udstate().
|
static |
Definition at line 1151 of file mrtk_rtkpos.c.
Referenced by ddres().
|
static |
|
static |
Definition at line 418 of file mrtk_rtkpos.c.
References CLIGHT, EFACT_CMP, EFACT_GAL, EFACT_GLO, EFACT_GPS, EFACT_IRN, EFACT_QZS, EFACT_SBS, prcopt_t::eratio, prcopt_t::err, prcopt_t::ionoopt, IONOOPT_IFLC, NF, prcopt_t::sclkstab, SQR, SYS_CMP, SYS_GAL, SYS_GLO, SYS_GPS, SYS_IRN, SYS_QZS, and SYS_SBS.
Referenced by ddres().
|
static |
Definition at line 1077 of file mrtk_rtkpos.c.
References prcopt_t::antdel, antmodel(), CLIGHT, D2R, ecef2pos(), prcopt_t::elmaskopt, prcopt_t::elmin, nav_s::erp, geodist(), gpst2utc(), NF, NFREQPCV, norm(), prcopt_t::odisp, prcopt_t::pcvr, prcopt_t::posopt, R2D, satazel(), satexclude(), testelmask(), prcopt_t::tidecorr, tidedisp(), trace(), tracemat(), tropmapf(), tropmodel(), and zdres_sat().
Referenced by intpres(), and relpos().
|
static |
Definition at line 1027 of file mrtk_rtkpos.c.
References CLIGHT, obsd_t::code, prcopt_t::ionoopt, IONOOPT_IFLC, obsd_t::L, NF, obsd_t::P, obsd_t::sat, sat2freq(), satsys(), seliflc(), obsd_t::SNR, SNR_UNIT, prcopt_t::snrmask, SQR, and testsnr().
Referenced by zdres().
|
static |
Definition at line 113 of file mrtk_rtkpos.c.
Referenced by resamb_LAMBDA().
|
static |
Definition at line 121 of file mrtk_rtkpos.c.
Referenced by rtkclosestat(), rtkopenstat(), and swapsolstat().
|
static |
Definition at line 120 of file mrtk_rtkpos.c.
|
static |
Definition at line 119 of file mrtk_rtkpos.c.
Referenced by outsolstat(), rtkclosestat(), and rtkopenstat().
|
static |
Definition at line 122 of file mrtk_rtkpos.c.
Referenced by rtkopenstat(), and swapsolstat().