Meindert said:
Hi All,
I am working on an application where I need to know the magnetic variation
at a certain location. According to the NMEA specs, the RMC sentence has a
field for this. My GPS however, a u-Blox module (SiRF), does not output the
variation. So I am wondering: is this info sent to a GPS in the almanac data
or is this field only present for 'other purposes'.
The GPS as a system doesn't care at all for any north orientation
(except for the ECEF inherent north orientation). Almanach and ephemeris
contain only data relevant to time and satellite position and broadcast.
As the satellites know nothing about the receiver position, they can not
transmit any information related to the GPSR position.
The receiver has to maintain a table for magnetic variation and apply
this data based on his location, and probably do some interpolation.
Recently someone posted a link to an internet site with
information/tools/data sets to do this.
This is quite similiar to geoid correction that some (most) receivers do
- models and/or tables that have to be applied based on the current
position. A classical memory size vs. computational cost vs. accuracy
triangle constraint.
Actually very few GPS sensors/modules seem to have an option to define
TrueNorth vs. MagneticNorth. If they have, they will probably also
output magnetic deviation in RMC.
Your only choice is to apply the magnetic deviation model yourself or
use a different receiver board. I don't know currently which
board/chipset/firmware supplies magnetic deviation, but I could browse a
few datasheets. I would think that at least the Garmin
trackpacks/engines do it.
Even if some devices do - it is probably important for you to know HOW
GOOD they do ...
Im wondering if you could check this by issuing a receiver coldstart
with supplied position init. Maybe some receivers output magnetic
variation based on the initialized position value for a while, even if
it is not confirmed by a position fix. That way you could send a grid
series of inits to the receiver, read out the magnetic deviation value
and compare them with the more accurate tables/models on the internet.
Interesting problem ;-)
- Carsten