1
\$\begingroup\$

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.

\$\endgroup\$
3
  • 3
    \$\begingroup\$ I smell an XY problem here, why do you need that value? Not being commonly available suggests that very little applications is there for it. \$\endgroup\$
    – PlasmaHH
    Nov 14, 2016 at 14:57
  • 1
    \$\begingroup\$ Since the GPS signal is very weak and almost looks like noise, I do not see how having an RSSI signal would be usefull in any way. And asking for products having certain features is off topic ! \$\endgroup\$ Nov 14, 2016 at 14:58
  • 1
    \$\begingroup\$ While the product recommendation is off topic it's part of a "How would I go about measuring this?" type question which normally seems to be allowed. However I suspect the real issue is that the wrong question has been asked. My guess is that he doesn't need the RSSI, he probably needs something like the DoP or accuracy estimates but instead of asking for help with the problem he asked for help with a flawed solution. \$\endgroup\$
    – Andrew
    Nov 14, 2016 at 15:43

2 Answers 2

5
\$\begingroup\$

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.

\$\endgroup\$
3
  • \$\begingroup\$ Thanks Andrew, this information is really helpful. My 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. \$\endgroup\$
    – njv299
    Nov 14, 2016 at 23:30
  • \$\begingroup\$ @njv299 In that situation I'd look at the AGC setting if available or is you plan to use an active antenna you could look at antenna current draw, the simulator won't draw any. Although the whole point of a simulator is that the system under test shouldn't be able to tell the difference between simulation and the real world, if you can then you need to add some attenuators to the simulator output until you can't. \$\endgroup\$
    – Andrew
    Nov 15, 2016 at 14:07
  • \$\begingroup\$ That sounds like a workable solution. Thanks again, I'm accepting this as the solution. \$\endgroup\$
    – njv299
    Nov 15, 2016 at 15:29
0
\$\begingroup\$

The effects of fading loss from building reflections can also cause momentary dropouts with any RF signal and momentary RSSI would be useful if it measures SNR rather than actual carrier level.

For Wifi, the dynamic range can easily span from -40 dBm to -100 dBm, with a threshold in -70 to -80dBm range that affects bit-rate.

There is a free software tool for Windows, called NetStumbler which is extremely useful for WiFi testing. When doing fringe signal reception diagnosis it has a time chart display in dBm and an audio beacon. It works with all leading WiFi chipsets and I found it extremely useful for antenna pointing optimization because of the wide range in Friis Loss and Ricean Fading dropouts, which becomes dominant due to reflection nulling. On numerous occasions I found a way to improve reception from routers > 50m away and sometimes less inside buildings with just a slight change of 1 degree or 1mm of the position of a dongle or laptop to make the difference between >=54Mbps or it auto-negotiating and equalizing at b speeds well below 11Mbps.

However satellite signals are very weak to begin with. The vertical propagation loss is huge and typically acceptable Rx levels vary from -160dbW to -185dBW depending on location and antenna.

However, here are 3 classes of Rx's which generally fall into 3 ranges of sensitivity > -172dBW, > -180dBW, > -190dBW.

The algorithms and integration times strongly affect the Rx threshold and tracking errors, which are tradeoffs. So I would expect RSSI to be useful in areas like a forrest under wet leaves or tracking Ricean fading downtown in highrise areas, but not generally an acceptable way to compare performance of chipsets. It would be useful in field trials with such fading losses from antenna gain, ground plane effects and orientation.

There is also poor correlation in methods of RSSI measurement between chipsets as there is no standard. When I analyzed this in the ISM band in the 90's for co-channel interference thresholds, I used an Integrate and dump method over the baud interval, rather than peak or average or some other method. In some cases, min level is more important for dropout detection.

Most operating system give a false indication of signal strength in 5 bars and has very poor correlation with RSSI . I would expect similar poor correlation withsignal strength on GPS units that display this and it may include other factors such as error rate or jitter. On OSX I found once, it only indicated channel speed rather than actual signal level.

These devices all have RSSI but , I don't know their chipset brand or part number(p/n).

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.