[teqc] helpful tip of week 2014

Lou Estey lou at unavco.org
Fri Aug 17 14:00:33 MDT 2018

This week's tip: qc: interpreting slips

One of the most important functions of the qc analysis is to identify slips
in order to give an indication of possible problems during post-processing.
And of course a slip is caused by the loss of lock on tracking the phase of
a given GNSS signal.  The phase observable value for any particular signal
is changing epoch by epoch, so the classic way of identifying a slip is to
appropriately difference the phase values from two signals at the same epoch
and look for some anomalous change in this combination per unit time -- the
so-called ionospheric combination.  Thus a loss-of-lock in the phase of either
signal should trigger a "slip" event.

When I took over tending "qc" at UNAVCO in 1996, I was told by one of the
original authors of the algorithms that certain GPS-only receivers that were
being used at that time had the characteristic that a slip on one of the
GPS signals (L1 or L2) would give rise to scaled slip on the other signal
(L2 or L1).  Thus looking for phase slips from the ionospheric combination
alone in data from these receivers was rather fruitless.  This led to looking
for slips in multipath combinations of observables.

This is why there are two sets of slip summaries in the qc report, e.g. below
showing qc results from the same dataset as in the last qc tip (see

IOD slips <  10.0 deg*  :    140
IOD slips >  10.0 deg   :      0
IOD or MP slips <  10.0*:    239
IOD or MP slips >  10.0 :      1
  * or unknown elevation

Firstly, there's the binning by SV elevation (if known, which is the case
for all observations in this dataset), where we can easily see that there
are more slips at SV elevations below 10 degrees than above 10 degrees -- as

But secondly, there's the total slips from 'IOD' (time rate of change of the
ionospheric combinations) slip detection and the total slips from those or from
'MP' (multipath) slip detection.  In this case we can deduce that teqc is finding
99 additional slips from the multipath algorithm below 10 degrees and finding
just 1 addition slip from the multipath algorithm above 10 degrees.  This
type of general result is fairly normal.

(For the aforementioned receiver types in the '90s, the 'IOD slips' lines would
have shown zero or a very low number all of the time.  I don't know of any current
receiver types which have this behaviour.)

Because slips are so important to identify, there is a large group of slip indicators
for the ASCII time plot, e.g..

[1001] teqc ++sym | more

QC Symbol codes for ASCII plot:

Symbol codes for "SV":
(hierarchy is left-to-right, top-to_bottom)
'  SV nav indicates unhealthy         K  position solution is uncertain
C  receiver clock slip                m  n-msec multipath jump
I  ionospheric phase slip             M  MP1 and MP2 or MP15 and MP51 slips
1  multipath MP12 slip                2  multipath MP21 slip
Z  multipath MP15 slip                5  multipath MP51 slip
T  multipath MP17 slip                7  multipath MP71 slip
S  multipath MP18 slip                8  multipath MP81 slip
Q  multipath MP16 slip                6  multipath MP61 slip
-  SV above elev mask, but no data    L  Bit 0 of LLI set (rx lost lock)

You'll note that there is only one symbol for ionospheric slips, 'I', but a
whole plethora of symbols for multipath slips, depending on the signals involved
in the multipath combination.

You'll also note the 'C' for a so-called receiver clock slip and 'm' for a
n-millisecond multipath jump.

The clock slip 'C' is usually an indication that the receiver does not have
clock steering (or it's not enabled) and that there was some other problem, usually
either operator error (e.g. not doing the correct sequence of events to arrive
at the final RINEX obs) or a software error (e.g. the translation software not
correctly accounting for receiver clock resets in the raw data when converting
to RINEX).  You also get a summary of the total number of epochs with detected
clock slips in this line of qc summary:

epochs w/ msec clk slip : 0

Nowadays, with clock steering enabled on a receiver, seeing a 'C' should be
a rare thing indeed.

The n-millisecond multipath jump 'm' requires a little explanation.  Multipath
is naturally computed in a unit of distance, as is a multipath slip, but
either can be converted to a unit of time by dividing by the speed of light.
The next objective is to see if there is population of clock-like slips
masquerading as multipath slips.  So one can ask if a given multipath slip is
n-milliseconds in size, within a certain error.  In teqc, the threshold for
determining this is +/- 1% of a millisecond (+/- 10 microseconds).  Thus one has
a 1 in 50 chance of a random multipath slip having a size of a n-milliseconds --
so seeing about 2% of the population of multipath slips as n-milliseconds in size
is normal and expected.  But if one sees a significantly larger population, this
could be an indication that something else is afoot.  Abundant examples of this
can be found in the Plate Boundary Observatory data at sites with NetRS receivers,
e.g. our test site at Marshall (and not too far away from UNAVCO headquarters in
Boulder, Colorado):

(and look at other days and other sites with NetRS rxs)

Note the 'm's in the ASCII time plot and further down in the qc report:

other msec mp events    : 59 (: 279)   {expect ~= 1:50}

NetRS 'm' slips occur about 10 times more than expected, but also tend to
mostly occur at low elevations (as you can see in the ASCII time plot).
(This seems to have started occurring when the NetRS rxs were updated to
firmware 1.1-2, but I don't recall ever hearing an explanation.)

Related: During teqc's qc (lite or full; for the difference, see
https://postal.unavco.org/pipermail/teqc/2018/002470.html), you can extract
the time of each slip and a few bits of other information by using one
of the '+slip' options:

        +slips .         output slip details written to stdout
        +slips ..        output slip details written to stderr
        +slips name      output slip details written to file 'name'
        ++slips name     append slip details written to file 'name'

Happy teqc-ing!


Louis H. Estey, Ph.D.              office:  [+001] 303-381-7456
UNAVCO, 6350 Nautilus Drive           FAX:  [+001] 303-381-7451
Boulder, CO  80301-5554            e-mail:  lou  unavco.org

"If the universe is the answer, what is the question?"
                                                -- Leon Lederman

Past helpful tips:

week 1894: using teqc config files - https://postal.unavco.org/pipermail/teqc/2016/002067.html
week 1895: qc of high-rate data - https://postal.unavco.org/pipermail/teqc/2016/002071.html
week 1896: UNIX/Linux shells for Windows - https://postal.unavco.org/pipermail/teqc/2016/002072.html
week 1897: '-' vs. '+' teqc options - https://postal.unavco.org/pipermail/teqc/2016/002076.html
week 1898: auto-identification of formats - https://postal.unavco.org/pipermail/teqc/2016/002092.html
week 1899: auto-identification vs. format flags - https://postal.unavco.org/pipermail/teqc/2016/002096.html
week 1900: square brackets in options - https://postal.unavco.org/pipermail/teqc/2016/002105.html
week 1901: using option '+mds' - https://postal.unavco.org/pipermail/teqc/2016/002108.html
week 1902: qc results w/ problematic nav messages - https://postal.unavco.org/pipermail/teqc/2016/002113.html
week 1903: '-no_orb[it]' and '-no_pos[ition]' options - https://postal.unavco.org/pipermail/teqc/2016/002115.html
week 1904: '-week' option - https://postal.unavco.org/pipermail/teqc/2016/002117.html
week 1905: using '+bcf' for XYZ/geodetic conversion - https://postal.unavco.org/pipermail/teqc/2016/002126.html
week 1906: the '+v[erify]' option - https://postal.unavco.org/pipermail/teqc/2016/002128.html
week 1907: '+C2', '+L5', "+L6', '+L7', '+L8', '+all' options - https://postal.unavco.org/pipermail/teqc/2016/002130.html
week 1908: getting RINEX doppler and L2 - https://postal.unavco.org/pipermail/teqc/2016/002131.html
week 1909: using paths w/ file names - https://postal.unavco.org/pipermail/teqc/2016/002132.html
week 1910: the (un)importance of file names - https://postal.unavco.org/pipermail/teqc/2016/002133.html
week 1911: notices, warnings, and errors - https://postal.unavco.org/pipermail/teqc/2016/002134.html
week 1912: the '-max_rx_SVs' option - https://postal.unavco.org/pipermail/teqc/2016/002137.html
week 1913: the end of '++igs' and '+igs' - https://postal.unavco.org/pipermail/teqc/2016/002140.html
week 1914: splicing together RINEX files - https://postal.unavco.org/pipermail/teqc/2016/002144.html
week 1915: using '-O.int' and '-O.dec' - https://postal.unavco.org/pipermail/teqc/2016/002145.html
week 1916: '+doy' option - https://postal.unavco.org/pipermail/teqc/2016/002146.html
week 1917: '-tbin' and '-ast' options - https://postal.unavco.org/pipermail/teqc/2016/002152.html
week 1918: mp12 RMS before/after Oct 2013 - https://postal.unavco.org/pipermail/teqc/2016/002158.html
week 1919: the global windowing options - https://postal.unavco.org/pipermail/teqc/2016/002159.html
week 1920: '-M.dec' and '-N.dec' options - https://postal.unavco.org/pipermail/teqc/2016/002163.html
week 1921: combining time filtering options - https://postal.unavco.org/pipermail/teqc/2016/002176.html
week 1922: helping me (or someone else on the list) help you - https://postal.unavco.org/pipermail/teqc/2016/002187.html
week 1923: the "build" line - https://postal.unavco.org/pipermail/teqc/2016/002190.html
week 1924: the qc '-w[idth]' option - https://postal.unavco.org/pipermail/teqc/2016/002193.html
week 1925: qc with explicit time windowing - https://postal.unavco.org/pipermail/teqc/2016/002194.html
week 1926: the '+rx_state' option - https://postal.unavco.org/pipermail/teqc/2016/002200.html
week 1927: the '-O.sum' option - https://postal.unavco.org/pipermail/teqc/2016/002204.html
week 1928: the '+meta' and '+mds' options - https://postal.unavco.org/pipermail/teqc/2016/002206.html
week 1930: more on '-O.sum' - https://postal.unavco.org/pipermail/teqc/2017/002207.html
week 1931: the '-O.s[ystem]' option - https://postal.unavco.org/pipermail/teqc/2017/002208.html
week 1932: leap seconds - https://postal.unavco.org/pipermail/teqc/2017/002215.html
week 1936: what you can (and shouldn't) do in a RINEX obs file - https://postal.unavco.org/pipermail/teqc/2017/002229.html
week 1938: the '+psp' option - https://postal.unavco.org/pipermail/teqc/2017/002231.html
week 1939: the '+diag' option - https://postal.unavco.org/pipermail/teqc/2017/002235.html
week 1951: '-n_<system>' and SV filtering options - https://postal.unavco.org/pipermail/teqc/2017/002277.html
week 1953: more with '+diag' option - https://postal.unavco.org/pipermail/teqc/2017/002287.html
week 1954: using '+diag' output to split raw files - https://postal.unavco.org/pipermail/teqc/2017/002290.html
week 1955: current qc notation - https://postal.unavco.org/pipermail/teqc/2017/002302.html
week 1956: the '+qcq' option - https://postal.unavco.org/pipermail/teqc/2017/002304.html
week 1957: using Trimble formats - https://postal.unavco.org/pipermail/teqc/2017/002305.html
week 1958: ToC != ToE messages - https://postal.unavco.org/pipermail/teqc/2017/002310.html
week 1959: receivers vs. formats - https://postal.unavco.org/pipermail/teqc/2017/002311.html
week 1960: when the '-week' option is very wrong to use - https://postal.unavco.org/pipermail/teqc/2017/002314.html
week 1961: "less" is usually best - https://postal.unavco.org/pipermail/teqc/2017/002315.html
week 1962: using GPS L2C with teqc - https://postal.unavco.org/pipermail/teqc/2017/002316.html
week 1964: the '+eds' options - https://postal.unavco.org/pipermail/teqc/2017/002317.html
week 1965: handling RINEX comment lines - https://postal.unavco.org/pipermail/teqc/2017/002324.html
week 1966: the '+dUTC_p' options - https://postal.unavco.org/pipermail/teqc/2017/002331.html
week 1967: the strange position from '+meta' - https://postal.unavco.org/pipermail/teqc/2017/002355.html
week 1972: what shows up as metadata in RINEX headers - https://postal.unavco.org/pipermail/teqc/2017/002362.html
week 1973: GPS L2C navigation messages - https://postal.unavco.org/pipermail/teqc/2017/002363.html
week 1974: the '+ion_p' options - https://postal.unavco.org/pipermail/teqc/2017/002370.html
week 1975: the '+event' options - https://postal.unavco.org/pipermail/teqc/2017/002372.html
week 1976: options '+smtt' (default) vs. '-smtt' - https://postal.unavco.org/pipermail/teqc/2017/002374.html
week 1977: the reported interval with '+meta' for a RINEX obs file - https://postal.unavco.org/pipermail/teqc/2017/002377.html
week 1978: the '-N.dUTC' options - https://postal.unavco.org/pipermail/teqc/2017/002378.html
week 1979: the various qc elevation angles - https://postal.unavco.org/pipermail/teqc/2017/002383.html
week 1980: avoid in RINEX: Transit data - https://postal.unavco.org/pipermail/teqc/2017/002385.html
week 1981: avoid in RINEX: epoch flag = 6 - https://postal.unavco.org/pipermail/teqc/2017/002389.html
week 1982: avoid in RINEX: RCV CLOCK OFFS APPL = 1 - https://postal.unavco.org/pipermail/teqc/2018/002392.html
week 1983: don't count on in RINEX: receiver clock offset per epoch - https://postal.unavco.org/pipermail/teqc/2018/002393.html
week 1984: requirements for multiple target files/stdin - https://postal.unavco.org/pipermail/teqc/2018/002410.html
week 1985: default output for various input - https://postal.unavco.org/pipermail/teqc/2018/002412.html
week 1986: the '+latency' options - https://postal.unavco.org/pipermail/teqc/2018/002419.html
week 1987: the 'O.px and 'O.pg' options - https://postal.unavco.org/pipermail/teqc/2018/002422.html
week 1988: the '+relax' option - https://postal.unavco.org/pipermail/teqc/2018/002423.html
week 1992: the '+x_tilt' options - https://postal.unavco.org/pipermail/teqc/2018/002452.html
week 1993: GLONASS: slot and freq. chnl. numbers - https://postal.unavco.org/pipermail/teqc/2018/002453.html
week 1994: GLONASS: slot numbers > 24 - https://postal.unavco.org/pipermail/teqc/2018/002454.html
week 1995: GLONASS: signals - https://postal.unavco.org/pipermail/teqc/2018/002456.html
week 1996: GLONASS: broadcast ephemeris - https://postal.unavco.org/pipermail/teqc/2018/002457.html
week 1997: GLONASS: system time and broadcast time parameters - https://postal.unavco.org/pipermail/teqc/2018/002458.html
week 1998: qc: 'lite' vs. 'full' - https://postal.unavco.org/pipermail/teqc/2018/002470.html
week 1999: qc: the 'full' point-position and the antenna 'height' - https://postal.unavco.org/pipermail/teqc/2018/002474.html
week 2000: qc: what's a "complete observation"? - https://postal.unavco.org/pipermail/teqc/2018/002475.html
week 2001: qc: percentage of actual to expected complete observations - https://postal.unavco.org/pipermail/teqc/2018/002483.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://postal.unavco.org/pipermail/teqc/attachments/20180817/549ea0ad/attachment-0001.html>

More information about the teqc mailing list