Electronic – GPS: 12 satellites in view but no fix

gps

I have a Jupiter F-2 GPS receiver connected to an STM32 that outputs NMEA messages every second. The GPGSV message indicates that I have 12 satellites in view. At the same time, the GPGSA messsage indicates that I have no fix, either 2D or 3D.

According to the receiver documentation, 5 satellites are sufficient for a 3D fix.

What could explain the discrepancy between the GPGSV and GPGSA messages? Why am I not getting a fix?

Best Answer

Sattellites "in view" is different from full communication with that satellite. There are a few steps in eventually receiving the GPS data so that position can be found. Due to the modulation scheme, just being able to detect the carrier is not enough. In fact "carrier" is a bit misleading for GPS since the signal power is something like 20 or more dB below the noise floor. As a result, there is a stage where a receiver can see that a satellite signal is present but not be able to decode the information. There is something referred to as "code lock", and one more level that I don't remember the name of.

My car GPS receiver will display a hollow bar with height according to the signal strength, then a filled bar when it is actually decoding the information. Usually after a few seconds, but sometimes up to a minute or two, the hollow bars with reasonable signal strength turn to solid.

If this is the issue, you should get a fix after waiting a while. My camera GPS can take up to 10 minutes to get a fix if I move it to a totally different location and it's been some time since it was last on. If you don't get a fix after sufficient time, then maybe there is local interference.