A global navigation satellite system (GNSS) receiver using phase lock
loops for strong GNSS signals and automatic frequency control (AFC) loops
for weak GNSS signals on a satellite-by-satellite basis. The phase lock
loops or the AFC loops associated with particular GNSS satellites
generate frequency feedback adjustments for tracking the carrier
frequencies of the incoming GNSS signals in order to determine
pseudoranges for calculating a location fix. The transition from an AFC
loop to a phase lock loop is controlled for each GNSS signal depending on
location quality parameters including a history of previous loop
transitions, knowledge of whether a transition is in-progress, and a
conditional PDOP. The conditional PDOP is the calculated PDOP where the
pseudorange from the particular GNSS signal is removed from the
computation of the location fix.