[teqc] Quality check mode

S.J. van der Merwe sj at vandermerwe.info
Thu Dec 9 08:28:57 MST 2010

Dear Mr. Estey
Thank you very much! This helps a lot. Great work on TEQC! A very useful
SJ van der Merwe

-----Original Message-----
From: teqc-bounces at ls.unavco.org [mailto:teqc-bounces at ls.unavco.org] On
Behalf Of Lou Estey
Sent: 09 December 2010 04:43 PM
To: teqc
Subject: Re: [teqc] Quality check mode

On 12/8/2010 7:13 AM, Lou Estey wrote:
> SJ,
>> I have a question regarding the quality check satellite visibility 
>> graph generate in QC mode. This graph indicates in which time 
>> interval which satellite has data (L1, L2 etc.). However, what I 
>> would like to know is how valid observations must there be per time 
>> interval for the interval to be classified as containing some or all 
>> the variables. Is this measured as percentage of the total number of
observations per interval?
>> In other words, say we have 400 observations per time interval. If 
>> 300 of those contain (A/S on; L1 C/A|P1 L2 P2) it is flagged as "o". 
>> Or must the whole time interval be complete with the same quality of
>> I thank you in advance for your help!
> Simple: any positive non-zero count. (I.e. a count of 1 suffices.)
> --lou

There's actually a more complete answer, which explains how this "plot" is
built.  Each time bin for each SV starts as a blank space, which means "no
data", with the extra caveat for 'qc full' (i.e. nav info for SV present and
used and antenna position has been found) of "no data expected given the
SV's elevation, the horizon elevation, the various masks, etc."   A literal
"tabula rasa".

Then each epoch is examined for each SV.  The highest state in the plot
hierarchy (shown below, which is the first part of output from `teqc +L5
++sym` -- I'm including L5 observables here so you can see the full

Symbol codes for "SV":
(hierarchy is left-to-right, top-to_bottom)
C  receiver clock slip                m  n-msec multipath jump
I  ionospheric phase slip             M  MP1 and MP2 or MP15 and MP51 slips
1  multipath MP1 slip only            2  multipath MP2 slip only
Z  multipath MP15 slip only           5  multipath MP51 slip only
-  SV above elev mask, but no data    L  Bit 0 of LLI set (rx lost lock)
+  SV data, but below elev mask       ^  partial SV data below elev mask
.  no A/S; C/A                        c  no A/S; L1 C/A
:  no A/S; L1 P1                      =  L1 C/A L2C
z  L1 C/A C5                          ~  no A/S; L1 C/A L2 P2
*  no A/S; L1 P1 L2 P2                ,  A/S on; C/A
a  A/S on; L1 C/A                     ;  A/S on; L1 P1
e  L1 C/A L2 L2C                      s  L1 C1 L5 C5
o  A/S on; L1 C/A|P1 L2 P2            y  A/S on; L1 P1 L2 P2
N  GLONASS: unknown freq chan #       _  no SV data and below elev mask
note: "no A/S" == GPS antispoofing off or unknown, or not GPS SV

You see that 'o' is pretty close to the bottom.  So for a GPS SV, any one
epoch in a time bin having A/S on with L1 and L2 phase, and C/A or L1P
pseudorange, and L2P pseudorange sets a 'o' in the bin -- unless this has
already been overridden by a higher condition, like a slip.  Once getting an
'o' condition (for at least one epoch), this remains the representation for
the bin unless it is overridden by later epochs for this SV in the same time

So the epoch in any time bin with the highest conditional value in the
hierarchy is what you see in the ASCII time plot.  It's very simple, but
very effective.

Additional note: '_' actually means "no SV data, and SV elevation is below
elevation mask but above the horizon elevation", and obviously only applies
for qc full on the SV (which currently is only done on GPS SVs, but
generalizations for the other constellations are in the works).  That's sort
of a long description for '_', so the version from '++sym' is just a

Hope this helps.

teqc mailing list
teqc at ls.unavco.org

More information about the teqc mailing list