[teqc] Quality check mode

Lou Estey lou at unavco.org
Thu Dec 9 07:42:55 MST 2010

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 data?
>> 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 treatment):

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 bin.

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 shorthand.

Hope this helps.


More information about the teqc mailing list