we (Garmin Engineering) use a relatively cheap oscillator, and
a lot of software finesse. Oscillator compensation data is
stored in the unit as a table based upon temperature. When the
unit locks on, it calculates the unit's oscillator error and
enters a correction factor into this table based upon current
internal temperature. In this fashion the unit is CONSTANTLY
"learning" and fine tuning itself. We burn these units in when
new to calculate and store calibration constants across the
entire rated temperature range of the product.
Bookmarks