MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_ppp_ar.c File Reference
#include "mrtklib/mrtk_ppp_ar.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mrtklib/mrtk_const.h"
#include "mrtklib/mrtk_context.h"
#include "mrtklib/mrtk_lambda.h"
#include "mrtklib/mrtk_madoca.h"
#include "mrtklib/mrtk_mat.h"
#include "mrtklib/mrtk_obs.h"
#include "mrtklib/mrtk_sys.h"
#include "mrtklib/mrtk_trace.h"
Include dependency graph for mrtk_ppp_ar.c:

Go to the source code of this file.

Macros

#define MIN_AMB_RES   4 /* min number of ambiguities for ILS-AR */
#define CONST_AMB   0.01 /* constraint to fixed ambiguity */
#define CONST_AMB_BDS   0.05 /* constraint to fixed ambiguity for BDS2,BDS3 */
#define CONST_AMB_BDS_B2a   0.10 /* constraint to fixed ambiguity for BDS3 B2a */
#define CONST_AMB_GAL_E6   0.10 /* constraint to fixed ambiguity for GAL E6 */
#define CONST_AMB_EWL   0.10 /* constraint to fixed ewl ambiguity for GPS,BDS */
#define MAX_STD_FIX   0.15 /* max std-dev (3d-pos) to fix solution */
#define MIN_MATCH_RATE   0.10 /* min match rate between the first and second candidates to fix solution */
#define REL_MATCH_RATE   0.90 /* match rate between the first and second candidates to relax threshold */
#define MAX_FRAC_WL_FIX   0.20 /* max fraction to fix wide-lane ambiguity (cycle) */
#define MAX_STD_WL_FIX   1.00 /* max std-dev to fix wide-lane ambiguity (cycle) */
#define STEP_EWL   3
#define STEP_WL   2
#define STEP_NL   1
#define MIN(x, y)
#define MAX(x, y)
#define SQR(x)
#define ROUND(x)
#define SWAP_I(x, y)
#define SWAP_D(x, y)
#define NF(opt)
#define NP(opt)
#define NC(opt)
#define NI(opt)
#define N3(opt)
#define N4(opt)
#define NR(opt)
#define IT(opt)
#define IB(s, f, opt)

Functions

int satsys (int sat, int *prn)
int satsys_bd2 (int sat, int *prn)
void satno2id (int sat, char *id)
int satid2no (const char *id)
char * time_str (gtime_t t, int n)
void time2str (gtime_t t, char *s, int n)
void time2epoch (gtime_t t, double *ep)
gtime_t epoch2time (const double *ep)
gtime_t timeadd (gtime_t t, double sec)
double timediff (gtime_t t1, gtime_t t2)
double norm (const double *a, int n)
void matcpy (double *A, const double *B, int n, int m)
void matmul (const char *tr, int n, int k, int m, double alpha, const double *A, const double *B, double beta, double *C)
double * mat (int n, int m)
double * zeros (int n, int m)
int filter (double *x, double *P, const double *H, const double *v, const double *R, int n, int m)
int lambda (int n, int m, const double *a, const double *Q, double *F, double *s)
unsigned int tickget (void)
int freq_idx2freq_num (int sys, int freq_idx)
double freq_num2freq (int sys, int freq_num, int fcn)
static int NT (const prcopt_t *opt)
static void get_wavelength (int sat, double *lam)
static int is_bds3_igso (int sat)
static int exc_sat_sd (rtk_t *rtk, const obsd_t *obs, int exc, double el, int nf, int sys)
static int gen_sat_sd (rtk_t *rtk, const obsd_t *obs, int n, const int *exc, const double *azel, int nf, int *sat1, int *sat2, double *el1, double *el2)
static void write_trace_amb (rtk_t *rtk, const double *a, const double *Q, int na, const int *sat1s, const int *sat2s, const int *frqs, const char label[5][10], int step)
static void write_trace_sd_amb (rtk_t *rtk, const double *x, const double *P, const int *sat1, const int *sat2, int ns, int nf, int *sat1s, int *sat2s, int *frqs, double *a, int post, int step)
static int search_amb_ewl (rtk_t *rtk, const double *x, const double *P, const int *sat1, const int *sat2, int ns, int nf, int *sat1s, int *sat2s, int *frqs, double *a, double *N, double *D)
static int search_amb_wl (rtk_t *rtk, const double *x, const double *P, int *sat1, int *sat2, int ns, int nf, int *sat1s, int *sat2s, int *frqs, double *a, double *N, double *D)
static int gen_sd_matrix_n1 (rtk_t *rtk, const double *x, const double *P, const int *sat1, const int *sat2, int ns, int nf, int *sat1s, int *sat2s, int *frqs, double *a, double *Q, double *D)
static int search_amb_lambda (rtk_t *rtk, const obsd_t *obs, int n, const double *azel, const int *sat1s, const int *sat2s, const int *frq, const double *x, const double *P, const double *D, const double *Q, const double *a, double *N, int na, int *exc_sat_flag)
static int update_states (double *x, double *P, const double *D, int nx, const double *N, const double *a, int na, const int *sats, const int *frqs, int step)
static int exc_sat_par (rtk_t *rtk, int *sat1, int *sat2, const double *el1, const double *el2, int ns, const int *exc_sat_flag)
static int ppp_amb_ILS (rtk_t *rtk, const obsd_t *obs, int n, int *exc, const nav_t *nav, const double *azel, double *x, double *P)
int ppp_ar (mrtk_ctx_t *ctx, rtk_t *rtk, const obsd_t *obs, int n, int *exc, const nav_t *nav, const double *azel, double *x, double *P)
 Ambiguity resolution in PPP.

Macro Definition Documentation

◆ CONST_AMB

#define CONST_AMB   0.01 /* constraint to fixed ambiguity */

Definition at line 77 of file mrtk_ppp_ar.c.

Referenced by update_states().

◆ CONST_AMB_BDS

#define CONST_AMB_BDS   0.05 /* constraint to fixed ambiguity for BDS2,BDS3 */

Definition at line 78 of file mrtk_ppp_ar.c.

Referenced by update_states().

◆ CONST_AMB_BDS_B2a

#define CONST_AMB_BDS_B2a   0.10 /* constraint to fixed ambiguity for BDS3 B2a */

Definition at line 79 of file mrtk_ppp_ar.c.

Referenced by update_states().

◆ CONST_AMB_EWL

#define CONST_AMB_EWL   0.10 /* constraint to fixed ewl ambiguity for GPS,BDS */

Definition at line 81 of file mrtk_ppp_ar.c.

Referenced by update_states().

◆ CONST_AMB_GAL_E6

#define CONST_AMB_GAL_E6   0.10 /* constraint to fixed ambiguity for GAL E6 */

Definition at line 80 of file mrtk_ppp_ar.c.

Referenced by update_states().

◆ IB

#define IB ( s,
f,
opt )
Value:
(NR(opt) + MAXSAT * (f) + (s) - 1)
#define MAXSAT
Definition mrtk_coords.c:45
#define NR(opt)
Definition mrtk_ppp.c:222

Definition at line 123 of file mrtk_ppp_ar.c.

Referenced by gen_sd_matrix_n1(), search_amb_ewl(), search_amb_wl(), and write_trace_sd_amb().

◆ IT

#define IT ( opt)
Value:
(NP(opt) + NC(opt))
#define NP(opt)
Definition mrtk_ppp.c:212
#define NC(opt)
Definition mrtk_ppp.c:213

Definition at line 122 of file mrtk_ppp_ar.c.

◆ MAX

#define MAX ( x,
y )
Value:
((x) > (y) ? (x) : (y))

Definition at line 93 of file mrtk_ppp_ar.c.

Referenced by exc_sat_sd(), and gen_sat_sd().

◆ MAX_FRAC_WL_FIX

#define MAX_FRAC_WL_FIX   0.20 /* max fraction to fix wide-lane ambiguity (cycle) */

Definition at line 85 of file mrtk_ppp_ar.c.

Referenced by search_amb_ewl(), and search_amb_wl().

◆ MAX_STD_FIX

#define MAX_STD_FIX   0.15 /* max std-dev (3d-pos) to fix solution */

Definition at line 82 of file mrtk_ppp_ar.c.

Referenced by ppp_amb_ILS().

◆ MAX_STD_WL_FIX

#define MAX_STD_WL_FIX   1.00 /* max std-dev to fix wide-lane ambiguity (cycle) */

Definition at line 86 of file mrtk_ppp_ar.c.

Referenced by search_amb_ewl(), and search_amb_wl().

◆ MIN

#define MIN ( x,
y )
Value:
((x) < (y) ? (x) : (y))

Definition at line 92 of file mrtk_ppp_ar.c.

Referenced by search_amb_lambda().

◆ MIN_AMB_RES

#define MIN_AMB_RES   4 /* min number of ambiguities for ILS-AR */

Definition at line 76 of file mrtk_ppp_ar.c.

Referenced by ppp_amb_ILS(), and search_amb_lambda().

◆ MIN_MATCH_RATE

#define MIN_MATCH_RATE   0.10 /* min match rate between the first and second candidates to fix solution */

Definition at line 83 of file mrtk_ppp_ar.c.

Referenced by search_amb_lambda().

◆ N3

#define N3 ( opt)
Value:
(NF(opt) >= 3 ? NC(opt) : 0) /* 3rd-frequency receivre bias */
#define NF(opt)
Definition mrtk_ppp.c:211

Definition at line 119 of file mrtk_ppp_ar.c.

◆ N4

#define N4 ( opt)
Value:
(NF(opt) >= 4 ? NC(opt) : 0) /* 4th-frequency receivre bias */

Definition at line 120 of file mrtk_ppp_ar.c.

◆ NC

#define NC ( opt)
Value:
(NSYS + 1) /* BDS3 and BDS2 */
#define NSYS

Definition at line 112 of file mrtk_ppp_ar.c.

◆ NF

#define NF ( opt)
Value:
((opt)->ionoopt == IONOOPT_IFLC ? 1 : (opt)->nf)
#define IONOOPT_IFLC
Definition mrtk_opt.h:95

Definition at line 110 of file mrtk_ppp_ar.c.

◆ NI

#define NI ( opt)
Value:
((opt)->ionoopt == IONOOPT_EST ? MAXSAT : 0)
#define IONOOPT_EST
Definition mrtk_opt.h:96

Definition at line 118 of file mrtk_ppp_ar.c.

◆ NP

#define NP ( opt)
Value:
((opt)->dynamics ? 9 : 3)

Definition at line 111 of file mrtk_ppp_ar.c.

◆ NR

#define NR ( opt)
Value:
(NP(opt) + NC(opt) + NT(opt) + NI(opt) + N3(opt) + N4(opt))
#define NI(opt)
Definition mrtk_ppp.c:219
#define N3(opt)
Definition mrtk_ppp.c:220
#define N4(opt)
Definition mrtk_ppp.c:221
#define NT(opt)

Definition at line 121 of file mrtk_ppp_ar.c.

◆ REL_MATCH_RATE

#define REL_MATCH_RATE   0.90 /* match rate between the first and second candidates to relax threshold */

Definition at line 84 of file mrtk_ppp_ar.c.

Referenced by search_amb_lambda().

◆ ROUND

#define ROUND ( x)
Value:
(int)floor((x) + 0.5)

Definition at line 95 of file mrtk_ppp_ar.c.

Referenced by search_amb_ewl(), search_amb_wl(), and write_trace_amb().

◆ SQR

#define SQR ( x)
Value:
((x) * (x))

Definition at line 94 of file mrtk_ppp_ar.c.

Referenced by search_amb_ewl(), search_amb_wl(), and update_states().

◆ STEP_EWL

#define STEP_EWL   3

Definition at line 88 of file mrtk_ppp_ar.c.

Referenced by ppp_amb_ILS(), and update_states().

◆ STEP_NL

#define STEP_NL   1

Definition at line 90 of file mrtk_ppp_ar.c.

Referenced by ppp_amb_ILS().

◆ STEP_WL

#define STEP_WL   2

Definition at line 89 of file mrtk_ppp_ar.c.

Referenced by ppp_amb_ILS().

◆ SWAP_D

#define SWAP_D ( x,
y )
Value:
do { \
double _tmp = x; \
x = y; \
y = _tmp; \
} while (0)

Definition at line 102 of file mrtk_ppp_ar.c.

Referenced by gen_sat_sd().

◆ SWAP_I

#define SWAP_I ( x,
y )
Value:
do { \
int _tmp = x; \
x = y; \
y = _tmp; \
} while (0)

Definition at line 96 of file mrtk_ppp_ar.c.

Referenced by gen_sat_sd().

Function Documentation

◆ epoch2time()

gtime_t epoch2time ( const double * ep)
extern

Definition at line 113 of file mrtk_time.c.

Referenced by write_trace_amb().

Here is the caller graph for this function:

◆ exc_sat_par()

int exc_sat_par ( rtk_t * rtk,
int * sat1,
int * sat2,
const double * el1,
const double * el2,
int ns,
const int * exc_sat_flag )
static

Definition at line 804 of file mrtk_ppp_ar.c.

References is_bds3_igso(), PI, R2D, satno2id(), satsys_bd2(), SYS_BD2, SYS_CMP, SYS_QZS, and trace().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exc_sat_sd()

int exc_sat_sd ( rtk_t * rtk,
const obsd_t * obs,
int exc,
double el,
int nf,
int sys )
static

Definition at line 150 of file mrtk_ppp_ar.c.

References prcopt_t::arsys, prcopt_t::elmaskar, prcopt_t::elmin, MAX, rtk_t::opt, R2D, obsd_t::sat, satsys(), satsys_bd2(), rtk_t::ssat, trace(), and ssat_t::vsat.

Referenced by gen_sat_sd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ filter()

int filter ( double * x,
double * P,
const double * H,
const double * v,
const double * R,
int n,
int m )
extern

Definition at line 524 of file mrtk_mat.c.

Referenced by update_states().

Here is the caller graph for this function:

◆ freq_idx2freq_num()

int freq_idx2freq_num ( int sys,
int freq_idx )
extern

Definition at line 649 of file mrtk_nav.c.

Referenced by get_wavelength(), and update_states().

Here is the caller graph for this function:

◆ freq_num2freq()

double freq_num2freq ( int sys,
int freq_num,
int fcn )
extern

Definition at line 680 of file mrtk_nav.c.

Referenced by get_wavelength().

Here is the caller graph for this function:

◆ gen_sat_sd()

int gen_sat_sd ( rtk_t * rtk,
const obsd_t * obs,
int n,
const int * exc,
const double * azel,
int nf,
int * sat1,
int * sat2,
double * el1,
double * el2 )
static

Definition at line 177 of file mrtk_ppp_ar.c.

References prcopt_t::arsys, prcopt_t::elmaskar, prcopt_t::elmin, exc_sat_sd(), is_bds3_igso(), obsd_t::L, MAX, MAXOBS, rtk_t::opt, R2D, obsd_t::sat, satno2id(), SWAP_D, SWAP_I, SYS_BD2, SYS_CMP, SYS_GAL, SYS_GPS, SYS_QZS, and trace().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gen_sd_matrix_n1()

int gen_sd_matrix_n1 ( rtk_t * rtk,
const double * x,
const double * P,
const int * sat1,
const int * sat2,
int ns,
int nf,
int * sat1s,
int * sat2s,
int * frqs,
double * a,
double * Q,
double * D )
static

Definition at line 580 of file mrtk_ppp_ar.c.

References get_wavelength(), IB, MAXOBS, rtk_t::nx, rtk_t::opt, prcopt_t::pppopt, satno2id(), tickget(), trace(), and write_trace_amb().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_wavelength()

void get_wavelength ( int sat,
double * lam )
static

Definition at line 126 of file mrtk_ppp_ar.c.

References CLIGHT, freq_idx2freq_num(), freq_num2freq(), and satsys_bd2().

Referenced by gen_sd_matrix_n1(), search_amb_ewl(), search_amb_wl(), and write_trace_sd_amb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_bds3_igso()

int is_bds3_igso ( int sat)
static

Definition at line 141 of file mrtk_ppp_ar.c.

References is_bds3igso(), satsys_bd2(), and SYS_CMP.

Referenced by exc_sat_par(), and gen_sat_sd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lambda()

int lambda ( int n,
int m,
const double * a,
const double * Q,
double * F,
double * s )
extern

Definition at line 225 of file mrtk_lambda.c.

Referenced by search_amb_lambda().

Here is the caller graph for this function:

◆ mat()

double * mat ( int n,
int m )
extern

Definition at line 76 of file mrtk_mat.c.

Referenced by ppp_amb_ILS(), and write_trace_sd_amb().

Here is the caller graph for this function:

◆ matcpy()

void matcpy ( double * A,
const double * B,
int n,
int m )
extern

Definition at line 205 of file mrtk_mat.c.

Referenced by ppp_amb_ILS().

Here is the caller graph for this function:

◆ matmul()

void matmul ( const char * tr,
int n,
int k,
int m,
double alpha,
const double * A,
const double * B,
double beta,
double * C )
extern

Definition at line 310 of file mrtk_mat.c.

Referenced by write_trace_sd_amb().

Here is the caller graph for this function:

◆ norm()

double norm ( const double * a,
int n )
extern

Definition at line 165 of file mrtk_mat.c.

Referenced by ppp_amb_ILS().

Here is the caller graph for this function:

◆ NT()

int NT ( const prcopt_t * opt)
inlinestatic

Definition at line 113 of file mrtk_ppp_ar.c.

References prcopt_t::tropopt, and TROPOPT_EST.

◆ ppp_amb_ILS()

int ppp_amb_ILS ( rtk_t * rtk,
const obsd_t * obs,
int n,
int * exc,
const nav_t * nav,
const double * azel,
double * x,
double * P )
static

Definition at line 854 of file mrtk_ppp_ar.c.

References sol_t::age, prcopt_t::armaxiter, exc_sat_par(), ssat_t::fix, free, gen_sat_sd(), gen_sd_matrix_n1(), mat(), matcpy(), MAX_STD_FIX, MAXOBS, MAXSAT, MIN_AMB_RES, prcopt_t::nf, norm(), rtk_t::nx, rtk_t::opt, prcopt_t::pppopt, search_amb_ewl(), search_amb_lambda(), search_amb_wl(), rtk_t::sol, rtk_t::ssat, STEP_EWL, STEP_NL, STEP_WL, prcopt_t::thresar, tickget(), sol_t::time, time2str(), trace(), update_states(), write_trace_sd_amb(), and zeros().

Referenced by ppp_ar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ppp_ar()

int ppp_ar ( mrtk_ctx_t * ctx,
rtk_t * rtk,
const obsd_t * obs,
int n,
int * exc,
const nav_t * nav,
const double * azel,
double * x,
double * P )
extern

Ambiguity resolution in PPP.

Parameters
[in]ctxRuntime context (NULL = use global)
[in,out]rtkRTK control/result struct
[in]obsObservation data
[in]nNumber of observation data
[in,out]excSatellite exclusion flags
[in]navNavigation data
[in]azelAzimuth/elevation angles (rad)
[in,out]xFloat states
[in,out]PFloat covariance
Returns
Status (0: no resolution, 1: success)

Definition at line 1003 of file mrtk_ppp_ar.c.

References ARMODE_CONT, prcopt_t::ionoopt, IONOOPT_EST, rtk_t::opt, and ppp_amb_ILS().

Referenced by pppos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ satid2no()

int satid2no ( const char * id)
extern

Definition at line 753 of file mrtk_nav.c.

◆ satno2id()

void satno2id ( int sat,
char * id )
extern

Definition at line 817 of file mrtk_nav.c.

Referenced by exc_sat_par(), gen_sat_sd(), gen_sd_matrix_n1(), search_amb_ewl(), search_amb_lambda(), search_amb_wl(), and write_trace_amb().

Here is the caller graph for this function:

◆ satsys()

int satsys ( int sat,
int * prn )
extern

Definition at line 117 of file mrtk_nav.c.

Referenced by exc_sat_sd().

Here is the caller graph for this function:

◆ satsys_bd2()

int satsys_bd2 ( int sat,
int * prn )
extern

Definition at line 159 of file mrtk_nav.c.

Referenced by exc_sat_par(), exc_sat_sd(), get_wavelength(), is_bds3_igso(), and update_states().

Here is the caller graph for this function:

◆ search_amb_ewl()

int search_amb_ewl ( rtk_t * rtk,
const double * x,
const double * P,
const int * sat1,
const int * sat2,
int ns,
int nf,
int * sat1s,
int * sat2s,
int * frqs,
double * a,
double * N,
double * D )
static

Definition at line 413 of file mrtk_ppp_ar.c.

References ssat_t::fix, get_wavelength(), IB, MAX_FRAC_WL_FIX, MAX_STD_WL_FIX, prcopt_t::nf, rtk_t::nx, rtk_t::opt, prcopt_t::pppopt, ROUND, satno2id(), SQR, rtk_t::ssat, and trace().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ search_amb_lambda()

int search_amb_lambda ( rtk_t * rtk,
const obsd_t * obs,
int n,
const double * azel,
const int * sat1s,
const int * sat2s,
const int * frq,
const double * x,
const double * P,
const double * D,
const double * Q,
const double * a,
double * N,
int na,
int * exc_sat_flag )
static

Definition at line 647 of file mrtk_ppp_ar.c.

References ssat_t::fix, lambda(), MAXSAT, MIN, MIN_AMB_RES, MIN_MATCH_RATE, rtk_t::opt, prcopt_t::pppopt, sol_t::ratio, REL_MATCH_RATE, satno2id(), rtk_t::sol, rtk_t::ssat, prcopt_t::thresar, tickget(), sol_t::time, time2str(), and trace().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ search_amb_wl()

int search_amb_wl ( rtk_t * rtk,
const double * x,
const double * P,
int * sat1,
int * sat2,
int ns,
int nf,
int * sat1s,
int * sat2s,
int * frqs,
double * a,
double * N,
double * D )
static

Definition at line 499 of file mrtk_ppp_ar.c.

References ssat_t::fix, get_wavelength(), IB, MAX_FRAC_WL_FIX, MAX_STD_WL_FIX, rtk_t::nx, rtk_t::opt, prcopt_t::pppopt, ROUND, satno2id(), SQR, rtk_t::ssat, and trace().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tickget()

unsigned int tickget ( void )
extern

Definition at line 566 of file mrtk_time.c.

Referenced by gen_sd_matrix_n1(), ppp_amb_ILS(), search_amb_lambda(), and update_states().

Here is the caller graph for this function:

◆ time2epoch()

void time2epoch ( gtime_t t,
double * ep )
extern

Definition at line 136 of file mrtk_time.c.

Referenced by write_trace_amb().

Here is the caller graph for this function:

◆ time2str()

void time2str ( gtime_t t,
char * s,
int n )
extern

Definition at line 507 of file mrtk_time.c.

Referenced by ppp_amb_ILS(), and search_amb_lambda().

Here is the caller graph for this function:

◆ time_str()

char * time_str ( gtime_t t,
int n )
extern

Definition at line 530 of file mrtk_time.c.

Referenced by write_trace_amb().

Here is the caller graph for this function:

◆ timeadd()

gtime_t timeadd ( gtime_t t,
double sec )
extern

Definition at line 265 of file mrtk_time.c.

Referenced by write_trace_amb().

Here is the caller graph for this function:

◆ timediff()

double timediff ( gtime_t t1,
gtime_t t2 )
extern

Definition at line 279 of file mrtk_time.c.

Referenced by write_trace_amb().

Here is the caller graph for this function:

◆ update_states()

int update_states ( double * x,
double * P,
const double * D,
int nx,
const double * N,
const double * a,
int na,
const int * sats,
const int * frqs,
int step )
static

Definition at line 738 of file mrtk_ppp_ar.c.

References CONST_AMB, CONST_AMB_BDS, CONST_AMB_BDS_B2a, CONST_AMB_EWL, CONST_AMB_GAL_E6, filter(), free, freq_idx2freq_num(), MAXOBS, satsys_bd2(), SQR, STEP_EWL, SYS_BD2, SYS_CMP, SYS_GAL, SYS_GPS, SYS_QZS, tickget(), trace(), and zeros().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_trace_amb()

void write_trace_amb ( rtk_t * rtk,
const double * a,
const double * Q,
int na,
const int * sat1s,
const int * sat2s,
const int * frqs,
const char label[5][10],
int step )
static

Definition at line 266 of file mrtk_ppp_ar.c.

References epoch2time(), ROUND, satno2id(), rtk_t::sol, sol_t::time, time2epoch(), time_str(), timeadd(), timediff(), and trace().

Referenced by gen_sd_matrix_n1(), and write_trace_sd_amb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write_trace_sd_amb()

void write_trace_sd_amb ( rtk_t * rtk,
const double * x,
const double * P,
const int * sat1,
const int * sat2,
int ns,
int nf,
int * sat1s,
int * sat2s,
int * frqs,
double * a,
int post,
int step )
static

Definition at line 287 of file mrtk_ppp_ar.c.

References free, get_wavelength(), IB, mat(), matmul(), rtk_t::nx, rtk_t::opt, prcopt_t::pppopt, trace(), write_trace_amb(), and zeros().

Referenced by ppp_amb_ILS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zeros()

double * zeros ( int n,
int m )
extern

Definition at line 108 of file mrtk_mat.c.

Referenced by ppp_amb_ILS(), update_states(), and write_trace_sd_amb().

Here is the caller graph for this function: