|
TEQC 1 July 1998 Release Notes
Select
your favorite build of teqc in the usual way, but be
sure to save your current version in case any new bugs show up.
There are a number of significant issues relating to this release of teqc,
indexed below. Other information on these and other minor bug fixes and enhancements
can be found at 1998 July 1 bug fixes
and at 1998 July 1 release log.
The following items are being actively worked on, and hopefully will make
it in the next release:
- translation robustness for GPS week 1024 (22 Aug 1999) rollover
- translator for Leica 300 DS format
- translator for Trimble TSIP format
- translator for Motorola Oncore format
- MacOS teqc version for Motorola and PowerPC Macs
The following items are seriously being considered:
- qc-mode for L1 (with C/A-pseudorange) receivers
- reading high-precision orbit file formats (e.g. SP3) and doing ~1 meter precision point-position calculations for static surveys
- translator for MiniMac format (for legacy data)
In addition, all teqc email traffic will now be handled via
an on-line email forum (teqc unavco.org), to which users can subscribe/unsubscribe. This will become a moderated email forum (moderated by yours truly) if advertisements, commercials, jokes, etc.
start being sent to teqc unavco.org--which will then only annoy me, not anyone else. If you send a teqc-related question to me (lou unavco.org), it may be popped over to the entire teqc-email group. For more
details, see:
Finally, the teqc homepage,
and the main teqc documentation,
have not yet been updated to reflect all of the current teqc
additions. So please be patient.
--Lou Estey
RINEX NAV
An important bug fix for translation to RINEX NAV for ConanBinary,
TurboBinary, Canadian Marconi binary, and TI-4100 GESAR Record 9
for builds on big-endian processors (e.g. Solaris Sparc, HP-UX PA-RISC,
IRIX, DEC Alpha): Prior to 26 Jan 1998, a bit-error was present which caused
the af0 (SV clock bias), URA (SV accuracy), and the "codes on L2 channel"
values in the RINEX NAV file to be wrong.
ConanBinary with multiple file input
A bug prior to 26 Jan 1998 caused a missed epoch of data and cycle slips
to occur at each join of multiple ConanBinary files using the following syntax:
teqc -aoa cb {options} *.cb
This was noticed when processing 24 hourly files combined into a single
daily file.
TurboBinary with long 0x68 records
The TurboBinary interpreter for 0x68 records has been modified to
read non-standard "long" 0x68 records, which contain two additional
floats for D1 and D1/dt. A pseudo-D2 is computed (from D1) if requested.
ConanBinary and TurboBinary SNR
ConanBinary and TurboBinary now use the same algorithms for determing SNRs.
This will have no effect on the RINEX observables S1 and S2, which
have and will continue to show volts of signal per volts of noise.
The algorithm change will only have a small effect on the RINEX snr 0-9
values shown for TurboBinary L1 and L2.
"60" seconds in RINEX time tags
Several translators (notably, Leica SKI for Leica 300 DS format) occasionally
produce values of "60.0000000" seconds in the RINEX time tag slot. Teqc will
now read these values and not complain. Even better, if you use teqc as a
RINEX-to-RINEX filter, the filtered RINEX will have these values reduced to
"0.0000000" with the appropriate changes to the minute, hour, day, month, and/or
year values as needed. (A strange artifact of the improved algorithm is that
the seconds need not be bounded by [0., 60.], assuming that the values for minutes,
etc. are appropriately correct. Try hand-editing a time tag of "30 30.0000000"
(30 minutes, 30 seconds) to "29 90.0000000" (29 minutes, 90 seconds) and running
this through the new teqc. It will be converted back to "30 30.0000000".)
GPS SV PRN #32 with qc-mode
An indexing bug (--I forgot in one spot that C indexes start at zero,
rather than one--) caused the qc-mode of data containing GPS SV 32
to die or do an inaccurate ion slip count. Fortunately, data for
SV 32 should only occur between 11 Dec 1992 and 28 Jan 1993 (as of
June 1998). But this is also why this qc bug took so long to discover!
Benchmark ACT TurboBinary translation
Herb Dragert (dragert pgc.nrcan.gc.ca) discovered that the new AOA Benchmark ACT receiver produces TurboBinary that, if translated in the conventional way, uses the Y1-codeless derived L1-phase value that is 50% noiser than the C/A-derived L1-phase value. Consequently, teqc has been modified to accept the following
teqc -aoa tb {rest of command}
for conventional (TurboRogue/TurboStar) TurboBinary translation, or
teqc -aoa tbY {rest of command}
to translate Y*-codeless TurboBinary from the Benchmark ACT, using the
C/A-derived L1-phase value for the L1 RINEX observable.
Ashtech download translations
Various bugs related specifically to translation of Ashtech download files have
been fixed:
- reading of the S-file is more crash-proof in case of binary garbage in the file
- correct finding of E- and S-files when the supplied B-file has a path prefix (e.g. <path>/Bfile) and E- and S-files have the same path (i.e. <path>/Efile and <path>/Sfile).
- change of the 4-character site name in the B-file no longer causes teqc to go into an infinite loop
Some users have noticed that the RINEX L1 values reported by teqc from
Ashtech downloads are slightly different than the RINEX L1 values reported
by Berne's ASRINEXO or by Ashtech's ASHTORIN. This has
been traced to teqc extracting the L1-phase value from the P1-code data
block, whereas the others extract the L1-phase value from the C/A-code data
block. Preliminary high-precision solutions done by Simon McClusky at MIT
(simon everest.mit.edu) suggests that the L1-phase in the P1-code block
produces a lower RMS. So, for the time being, teqc will continue to
extract the L1-phase value from the P1-code block.
Ashtech LM-XII download translation
The original teqc Ashtech download translation was specifically
tailored for the Z-XII receiver. However, teqc should now work
for the LM-XII receiver, which is P-codeless and has L2-squared.
For a B-file from the LM-XII, use:
teqc -ash d -P {other options} Bfilename
This should be considered in a beta test mode.
Ashtech G-XII OEM stream translation
The original teqc Ashtech stream translation was specifically
tailored for the Z-XII receiver. However, teqc should now work
for the G-XII receiver, which is L1-only and P-codeless.
For a stream-file from the G-XII, use:
teqc -ash s -P -L2 {other options} stream_filename
This should be considered in an alpha test mode.
Note: One test file from a G-XII with a sampling interval of 1 second
had a large number of MBN and PBN records which had an invalid checksum,
though the data seemed to be OK when the checksum requirement was ignored.
For this release of teqc, the checksum requirement is in place.
If you notice few or no epochs are translated by teqc, this may
be the problem.
Leica LB2 translation
Teqc will now translate Leica LB2 format, used for example in the
Leica MC1000, CRS1000, and CRS1500 receivers, into RINEX OBS and NAV
(no MET yet). Currently, the translation uses information only in records
0x01, 0x02, 0x03, 0x09, 0x85, and 0x88. (Other records are identified and
skipped.) Like data from some other formats, there may be a GPS week
ambiguity, so use of the -week option is encouraged. The general
formats for translation to RINEX is:
teqc -leica lb2 {other options} lb2_filename > RINEX_OBS
teqc -leica lb2 {other options} +nav RINEX_NAV lb2_filename > RINEX_OBS
teqc -leica lb2n {other options} lb2_filename > RINEX_NAV
teqc -leica lb2n {other options} +obs RINEX_OBS lb2_filename > RINEX_NAV
and so on. This should be considered in a beta test mode.
ARGO format translation
Teqc will now translate ARGO format files into RINEX. Assuming
the presense of an ARGO .dat file and a .orb file, try:
teqc -argo {other options} argo.dat > RINEX_OBS
teqc -argo {other options} +nav RINEX_NAV argo.dat > RINEX_OBS
(Note: -argo is used instead of +argo because the
input, not the output, is in ARGO format.)
The current set of possible RINEX observables are L1, L2, P1, P2, S1, S2.
This should be considered in a beta test mode.
Auto-identification of formats
If you use teqc with filenames (i.e. not stdin), you may
want to try a new auto-identification feature that, in most cases,
eliminates the need to specify the receiver/format option. The assumed
stdout is always RINEX OBS. Therefore:
teqc -tr d trimble.dat > RINEX_OBS
can be reduced to:
teqc trimble.dat > RINEX_OBS
Auto-identification has been developed for:
- ARGO format; equivalent to -argo
- Ashtech download; equivalent to -ash d
- Ashtech stream; equivalent to -ash s
- Canadian Marconi binary; equivalent to -cmc b
- ConanBinary; equivalent to -aoa cb or -jpl cb
- Leica 300 DS format; equivalent to -leica ds
- Leica LB2 format; equivalent to -leica lb2
- Motorola Oncore format; equivalent to -motorola oncore
- RINEX OBS, NAV, and MET; assumed default in previous teqc versions
- Rockwell Zodiac format; equivalent to -rockwell zodiac
- TI-4100 GESAR or BEPP/CORE; equivalent to -ti gesar
- TI-4100 ROM; equivalent to -ti rom
- Trimble download; equivalent to -tr d
- Trimble stream; equivalent to -tr s
- Trimble TSIP; equivalent to -tr tsip
- TurboBinary; equivalent to -aoa tb or -jpl tb
Note: The auto-detection for Leica 300 DS format, Motorola Oncore format,
and Trimble TSIP format is in place, but the translation code in teqc
is not yet complete.
The auto-identification will work most of the time but is not guaranteed!
This is because the auto-identification is based on reading only a small number of
bytes (usually only 1-4 bytes) at the beginning of the file.
This is probably most useful if you are testing files manually on the command
line. For use of teqc in scripts, please continue to use explicit receiver/format
options.
Option flags for P-codeless and L1-only receivers
The -P option has increased in status from a qc-mode only option to
a generalized option for P-codeless receivers. -P (i.e. "no P-codes")
should be used for P-codeless receivers, for example:
- Trimble ST, SST, SLD, STD, etc.
(prior to the Geodesist-P and 4000SE/SSE/SSi series)
- Ashtech LM-XII
A new -L2 option has been added to indicate an L1-only receiver.
-L2 (i.e. "no L2-data") should be used for all L1-only receivers, for example:
- Ashtech G-XII OEM
- Canadian Marconi Allstar OEM
- Motorola Oncore OEM
- Rockwell Zodiac OEM
If the receiver is both L1-only and P-codeless, use both -L2 and -P
options (which is the case for all of the OEM receivers listed above).
RINEX header editing
The RINEX header field editing options
- -O.an
- -O.at
- -O.mn -M.mn
- -O.mo -M.mo
- -O.pr -N.pr -M.pr
- -O.r -N.r -M.r
now work for RINEX-to-RINEX editing, as well as the usual raw-to-RINEX
translation/editing.
In addition, the +O.c[omment] option has now been completely generalized,
especially for config files, to allow:
- leading whitespace before the first printing character
- any characters (except those that would be unadvisable to put in at RINEX comment, e.g. tab, carriage return, newline, etc.) like \, ", ’, etc.
There are two metacharacters for the +O.c option: " and \. The
double-quote " is a metacharacter since it is used to demark the bounds of
the comment string. To insert a " character in the string, the backslash
metacharacter must precede it, i.e. \". The insert a \ character in the
string, another backslash metacharacter must precede it, i.e. \\.
When using +config or ++config, any occurrences of " or \
in comments are automatically preceded with an extra \, so that the
resulting output can be used as a valid teqc config file.
Time-window editing
The following time-windowing ±st, ±e, and/or
±dX option combinations should now work to
extract time-windowed data:
- (no options listed)
- ±st alone
- ±st with ±dX
- ±st with ±e
- ±e alone
- ±dX with ±e
- -dX alone (- sign is critical)
- +dX alone (+ sign is critical)
EXCEPT the following for all input types but RINEX:
- ±e <mask> alone
- ±dX with ±e <mask>
- -dX alone (- sign is critical)
(If you are uncertain as to what these option combinations mean,
see
Section 13
of the teqc
tutorial.)
The latter three option combinations will probably never be implemented with
raw data since there is no reliable way of determining the end time of
a raw data file without reading the entire file forward (i.e. raw data formats
are not designed to read the file backwards). Note that you can use with
all formats:
- ±e <full_date_time> alone
- ±dX with ±e <full_date_time>
In addition, if time-windowing options are used to output RINEX, the
time-windowing specifications are now automatically added to the
RINEX OBS file as comments.
Metadata summary option
There is a metadata summary extraction option, +meta, which might prove
useful to users. The usual syntax would be something like
teqc +meta {other options} filename
where the file could be any type that teqc understands.
In this case, stdout in not a RINEX file, but is the metadata summary
which includes the start and end time of the data.
If auto-identification does not work,
then use the usual receiver/format option override (e.g. -tr d or whatever is appropriate).
(This option is the same as the original +ar_raw option, which is
still available but will vanish with the next official release of teqc.)
Note: Currently, the time-windowing options are intentionally ignored for
the metadata summary extraction, so that the start and end times of the
data are for the entire file, regardless of any time-windowing options
specified. This characteristic may change in the future.
This is the option that has been used with teqc at the
UNAVCO Archive for over one year to extract metadata about submitted data files.
Running on Windows 98
Any of the executables that run on Windows 95 should run on
Windows 98, though this has not been tested at UNAVCO since we
don't have a Windows 98 system yet. My only reservation is
whether teqc will detect the system time correctly. If
you execute the DOS command ver in a DOS-emulation window
on Windows 98, and the first printing characters are "Windows 98"
or "Memphis", all should be well. Otherwise, send an email to
me (lou unavco.org).
Teqc email forum and archive
To subscribe to the teqc email forum, email:
address-- To: teqc-request unavco.org
message-- subscribe
Then to send a message to the teqc email forum:
address-- To: teqc unavco.org
subject-- Subject: <optional, but helps maintain threads>
message-- <body of message; comments, bug reports, questions,
conundrums about teqc>
Access the teqc email archive where you can search the teqc emails, or list the teqc emails either by date or by thread (email subject).
To unsubscribe, email:
address-- To: teqc-request unavco.org
message-- unsubscribe
Comments or questions about this page? Send e-mail to Lou Estey (lou unavco.org).
Last modified Monday, 25-Jun-2007 11:44:59 MDT
|