| Snapshot #8. Feb 10, 2007
[download source]
I'm taking classes and starting a new position at work, so Kinematic
has been not been getting the attention it needs. In addition, I had
setbacks when simple test data failed to converge. Assuming a
coding problem, I spent a lot of time reviewing algorithms and
implementation. As it turns out, the Pigeon Point CORS station (ppt5) is
giving out suspect data.
Here are some recent changes:
- Using a higher order polynomial for interpolating sp3 satellite
positions. Tests show a ninth order polynomial is much better than
the previous fourth order one.
- Started coding for Furuno GT8032 receivers.
- Added preliminary code for parsing Trimble SSF files. This
feature allows 'acquire' to be used as an SSF-->RINEX converter, and
it allows differencing against Trimble Community Base Stations.
(acquire -rinex=output.obs SSF R070210A.ssf).
- The SSF feature might work with Trimble rovers. Let me know if
you have Trimble hardware and want to explore this possibility.
Quick update. Oct 20, 2006
[download source]
I updated the source files and created "make" files for building
under Cygwin. There are a couple software fixes to RINEX files. This is
"source only" until I get some more testing done.
New with snapshot #7: August 4, 2006
[download source]
[download binary]
For a while, the positions were looking extremely poor. Neither the
AC12 nor the Antaris were giving the quality of positions I expected,
with worst case wandering of a couple meters off the mark. Now,
the big problems seem to have been solved. Both receivers do well in
"zero" and "short" baseline experiments. Longer distances appear stable
but need verification.
I'm posting this snapshot a bit prematurely. I will probably update
it after testing the other receivers.
Here are the new features:
- Redefined the internal software "layers" in search of a cleaner
design.
- Fixed a number of Antaris issues
- "Wandering" was fixed by including Doppler when aligning data to an
epoch
- Latest LEA-4T firmware would hang at startup
- Redesigned to handle 5hz updates (for later)
- AC12 pseudoranges were off with old firmware (issue with
smoothing)
- Known problem: cep calcuations are completely bogus.
Plus the changes posted earlier in binary form:
- Display per-satellite residuals in the "residuals.txt" file
- Handle >12 satellites in Rinex files
- Check for consistency between carrier phase and pseudorange
when processing
- Filter out some marginal data
- Filter out satellites close to the horizon (<15 degrees)
- Adds SNR and Doppler measurements to Rinex
- Started an Allstar interface.
New with snapshot #6: March 21, 2006
Things are starting to work. The testing so far has been with CORS
stations as base and the Antaris 4T or Garmin as roving. There is more
work to go before "release", but the code might start being useful.
This snapshot adds:
- support for the Antaris gps receiver
- SBAS satellites, SV 120-152
- numerous bug fixes in the RINEX code
- simple testing with real world data
- new formatting options for the output
Updated
binaries (Mar17) (will be included in next snapshot)
- Added support for Antaris gps receiver
- The post-processor outputs positions to a file
- Fixed a wgs84 conversion problem.
- Changed formatting of lat/lon
New binaries. The earlier binaries required Visual
Studio 2005 runtime .dll's. The new binaries are linked statically and
will run on machines which don't have Visual Studio 2005 installed.
New with snapshot #5: March 6, 2006
- Created two command line applications to acquire and process gps
data.
- Rearranged data streams to support "raw byte stream" files.
- Extracting Sirf ephemerides from 50bps messages
To do for next snapshot:
- Finish the Antaris interface
- Position error estimation
- Testing with own data - close the loop
----------------------------------------------------------------------------------------------
New with snapshot #4:
- Created 'jam' files for building. Not finished.
- Included Visual Studio project files for building.
- Fixed bugs in receiver code.
- Normalized Garmin measurements to epoch.
- Created an "Acquire" application to read from GPS and write to
Rinex.
To do for next snapshot:
- Create double difference application using Rinex data
- Create real header information for Rinex data.
- Test things to make sure they really work.
- Figure out how to estimate the position error (left over from
earlier).
------------------------- snapshot #3
-------------------------------------------- (Download
source code)New with snapshot #3:
- Separated code for gain/loss of satellites from
double differencing mathematics
- Added the following Receivers
- Sirf Star III (code only)
- Thales AC12
- Read and write RTCM-104 RTK messages
(These are standard messages to communicate pseudorange and carrier
phase data over a radio link)
- Created the following test programs:
- Read from Thales AC12, Sirf Star III, Garmin,
Trimble Lassen IQ
- Double difference of CORS data
- Rearranged the code into a hierarchy of
directories.
To do for next snapshot:
- Work out the correct way to estimate the position
error.
- Fix the pseudo-range "normalization" for the
garmin receiver
- Reset rtcm carrier phase to start around zero.
Otherwise it overflows.
- Verify the Lassen IQ and Garmin Gps18 acquisition
code still works.
Upcoming Steps:
- Create an application to acquire raw data and
save as RINEX or RTCM-104 files.
- Create post processing application to read RINEX
or RTCM-104 and calculate positions.
- Do the "bit slip" synchronization for the RTCM
data stream.
- Redo the build environment using gnumake or jam.
|