MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_ppp_rtk.h File Reference

PPP-RTK positioning engine declarations. More...

Include dependency graph for mrtk_ppp_rtk.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int ppprtk_outstat (rtk_t *rtk, char *buff)
 Write PPP-RTK solution status to buffer.
int ppp_rtk_nx (const prcopt_t *opt)
 Compute number of estimated states for PPP-RTK.
int ppp_rtk_na (const prcopt_t *opt)
 Compute number of non-ambiguity states for PPP-RTK.
void ppp_rtk_pos (rtk_t *rtk, const obsd_t *obs, int n, nav_t *nav)
 PPP-RTK positioning for one epoch (CLAS).
void rtkinit_ppp_rtk (rtk_t *rtk, const prcopt_t *opt)
 Initialize RTK control struct for PPP-RTK positioning.
void rtkfree_ppp_rtk (rtk_t *rtk)
 Free RTK control struct for PPP-RTK positioning.

Detailed Description

PPP-RTK positioning engine declarations.

References: [1] claslib (https://github.com/mf-arai/claslib) — upstream implementation ppprtk.c: PPP-RTK positioning engine with double-differencing

Notes:

  • Ported from upstream claslib ppprtk.c as an independent positioning engine alongside the existing MADOCA PPP engine (mrtk_ppp.c).
  • MADOCA = PPP (undifferenced), CLAS = PPP-RTK (double-differenced).
  • These are fundamentally different positioning methods that coexist.

Definition in file mrtk_ppp_rtk.h.

Function Documentation

◆ ppp_rtk_na()

int ppp_rtk_na ( const prcopt_t * opt)

Compute number of non-ambiguity states for PPP-RTK.

Parameters
[in]optProcessing options
Returns
Number of non-ambiguity states (position + iono + trop)

Definition at line 2498 of file mrtk_ppp_rtk.c.

References NR_RTK.

Referenced by rtkinit().

Here is the caller graph for this function:

◆ ppp_rtk_nx()

int ppp_rtk_nx ( const prcopt_t * opt)

Compute number of estimated states for PPP-RTK.

Parameters
[in]optProcessing options
Returns
Total number of states (position + iono + trop + bias)
Parameters
[in]optProcessing options
Returns
Total number of states

Definition at line 2496 of file mrtk_ppp_rtk.c.

References NX_RTK.

Referenced by rtkinit().

Here is the caller graph for this function:

◆ ppp_rtk_pos()

void ppp_rtk_pos ( rtk_t * rtk,
const obsd_t * obs,
int n,
nav_t * nav )

PPP-RTK positioning for one epoch (CLAS).

Main entry point for the CLAS PPP-RTK positioning engine, ported from upstream claslib ppprtk.c. Uses double-differencing with CLAS grid corrections (STEC, ZWD) and iterative Kalman filter with LAMBDA AR.

Parameters
[in,out]rtkRTK control/result struct
[in]obsObservation data for epoch (rover only)
[in]nNumber of observations
[in,out]navNavigation data (includes SSR via nav->ssr[])

Main entry point for the CLAS PPP-RTK positioning engine. Uses double-differencing with CLAS grid corrections (STEC, ZWD) and iterative Kalman filter with LAMBDA integer ambiguity resolution.

Uses CLAS grid corrections with a short CSSR backup fallback matching claslib.

Parameters
[in,out]rtkRTK control/result struct
[in]obsObservation data for epoch
[in]nNumber of observations
[in,out]navNavigation data (includes SSR via nav->ssr_ch[][])

Definition at line 2540 of file mrtk_ppp_rtk.c.

References prcopt_t::afgainion, prcopt_t::afgainpva, sol_t::age, prcopt_t::arfilter, prcopt_t::armaxdelsat, ARMODE_FIXHOLD, calpdop(), check_clas_facility(), clas_backup_current(), clas_backup_valid(), clas_bank_get_close(), clas_check_grid_status(), clas_clear_current(), nav_s::clas_ctx, clas_get_grid_index(), clas_osr_satcorr_update(), clas_osr_zdres(), clas_restore_backup(), clas_update_global(), clas_update_local(), clas_ctx_t::current, ddres(), prcopt_t::dynamics, ecef2pos(), prcopt_t::elmaskar, prcopt_t::elmaskhold, elsort(), nav_s::filreset, filter2(), ssat_t::fix, prcopt_t::floatcnt, prcopt_t::forgetion, prcopt_t::forgetpva, free, FST, clas_ctx_t::grid, prcopt_t::gridsel, holdamb(), II_RTK, prcopt_t::ionoopt, IONOOPT_EST_ADPT, obsd_t::L, clas_ctx_t::l6buf, prcopt_t::l6mrg, load_ppp_osr_cpc(), ssat_t::lock, mat(), matcpy(), prcopt_t::maxdiffp, prcopt_t::maxinno_ext, MAXOBS, MAXOBSLOSS_DEFAULT, prcopt_t::maxobsloss_s, prcopt_t::maxpdopar, prcopt_t::maxpdophold, MAXREF, MAXSAT, prcopt_t::minfix, prcopt_t::minlock, prcopt_t::mode, prcopt_t::modear, rtk_t::na, clas_grid_t::network, prcopt_t::nf, NF_RTK, rtk_t::nfix, prcopt_t::niter, norm(), NP_RTK, NR_RTK, sol_t::ns, rtk_t::nx, rtk_t::opt, ssat_t::outc, rtk_t::P, rtk_t::Pa, ssat_t::ph, PMODE_DGPS, prcopt_t::poserrcnt, prcopt_t::posopt, prcopt_t::prnadpt, prtk_ctx, ssat_t::pt, rtk_t::Q, sol_t::qr, R2D, sol_t::ratio, obsd_t::rcv, prcopt_t::regularly, resamb_LAMBDA(), sol_t::rr, obsd_t::sat, prcopt_t::sateph, satposs(), satsys(), save_ppp_osr_cpc(), set_ssr_ch_idx(), ssat_t::slip, ssat_t::slipc, SND, obsd_t::SNR, ssat_t::snr, rtk_t::sol, SOLQ_DGPS, SOLQ_FIX, SOLQ_FLOAT, SOLQ_NONE, SOLQ_SINGLE, SQR, rtk_t::ssat, nav_s::ssr_ch, SSR_CH_NUM, sol_t::stat, ssat_t::sys, ssr_t::t0, prcopt_t::thresar, clas_l6buf_t::time, gtime_t::time, obsd_t::time, sol_t::time, time2gpst(), time_str(), timediff(), trace(), tracemat(), TRD, rtk_t::tt, udstate_ppp(), ssat_t::vsat, rtk_t::x, rtk_t::xa, and zeros().

Referenced by rtkpos().

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

◆ ppprtk_outstat()

int ppprtk_outstat ( rtk_t * rtk,
char * buff )

Write PPP-RTK solution status to buffer.

Parameters
[in,out]rtkRTK control/result struct
[out]buffOutput buffer
Returns
Number of bytes written

PPP-RTK uses a different state layout from standard PPP (no clock states, iono at NP, trop at NP+NI). This function outputs state information using the correct PPP-RTK indices (II_RTK, IT_RTK, IB_RTK).

Parameters
[in,out]rtkRTK control/result struct
[out]buffOutput buffer
Returns
Number of bytes written

Definition at line 2423 of file mrtk_ppp_rtk.c.

References ssat_t::azel, prcopt_t::dynamics, ecef2enu(), ecef2pos(), II_RTK, prcopt_t::ionoopt, IONOOPT_EST, IONOOPT_EST_ADPT, IT_RTK, MAXSAT, rtk_t::nx, rtk_t::opt, rtk_t::P, R2D, sol_t::rr, satno2id(), rtk_t::sol, SOLQ_FIX, SQRT, 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 pppoutstat().

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

◆ rtkfree_ppp_rtk()

void rtkfree_ppp_rtk ( rtk_t * rtk)

Free RTK control struct for PPP-RTK positioning.

Parameters
[in,out]rtkRTK control struct to free
[in,out]rtkRTK control struct

Definition at line 3223 of file mrtk_ppp_rtk.c.

References prtk_ctx, and trace().

Here is the call graph for this function:

◆ rtkinit_ppp_rtk()

void rtkinit_ppp_rtk ( rtk_t * rtk,
const prcopt_t * opt )

Initialize RTK control struct for PPP-RTK positioning.

Parameters
[in,out]rtkRTK control struct to initialize
[in]optProcessing options
[in,out]rtkRTK control struct
[in]optProcessing options

Definition at line 3205 of file mrtk_ppp_rtk.c.

References prtk_ctx, and trace().

Here is the call graph for this function: