Electronic – GPS Receiver RSSI

gpsRF

I am in need of a chip that is capable of both receiving GPS NMEA sentences and reading raw RSSI/signal strength values in the L1 GPS band (1575.42 MHz). I've read through the datasheets of the GPS modules available on Sparkfun and Adafruit, done some other searches through TI and SiLabs products, but haven't found any that provide a raw RSSI value (in dBm or similar).

My application requires that I can display the raw RSSI value of received GPS signals in dBm, not just the SNR value that is available in standard NMEA sentences. Can anyone either suggest a method which would let me get the RSSI reading for a GPS signal, or point me to a method to calculate it from values provided in basic NMEA sentences?

The basic scenario is that I am helping test some simulation hardware, and need to provide a simple way to tell if the current signal on the receiver side is from an actual satellite or from a simulator. I know it seems like a Rube-Goldberg machine, but given the limitations on our test setup and the requirements that we have, the best way to do this is believed to be to examine the raw signal strength (or something analogous), since when the simulator is on the raw signal power is dramatically higher.

Best Answer

RSSI at what point? Are you talking narrow band (consumer GPS systems) or wider bandwidth (multi-constellation & RTK industrial systems) receivers)?

Before the input correlators there is no meaningful signal to measure and if there was there would be no way of telling the signals from the different SVs apart since they are all on exactly the same frequency. You could measure the total in band power hitting the antenna but you have no way of telling how much power is from which SV, you couldn't even tell if it's GPS or something else.

Some GPS receivers will give you some of this information. e.g. in a ublox system the UBX-MON-HW message will give you the AGC level and noise level at the correlators. They also give an indication of suspected jamming level which will indicate how much non-GPS energy there is in the band.

Multiply the SNR value by the noise and you get an approximation of the signal strength level post correlation.
You could in theory then subtract the correlator gain and AGC gain to get the raw signal power.

Just how reliable the end result is after applying all of these fiddle factors I have no idea. SNR is certainly not linear with signal level but I've never tried factoring in AGC levels to see if that helps. Either way it's only ever going to be an estimate.

A non-gps software radio isn't going to be able to tell you the difference between GPS and any other in band noise and isn't going to give you per SV values for the reasons already given.

And I have no idea why you would want to do this, in 10 years of designing GPS receivers (actually designing them, not using off the shelf modules) I never had to look at that sort of number once.