15 October

For a sensor network project I have been using a modified Linksys wrt54g (wrt54gs) wireless box. (For a podcast on modding the wrt54g wireless router to run your own software based on linux, you can also see the related podcast on iTunes.) The driver on these devices returns a measurement of signal strength called rssi (Recieved Signal Strength Indicator). To access it you run a shell on the device and enter "wl rssi". In several places, this value is documented as being in dB (or dBm), which is a logarithmic scale for measuring power. The dBm unit is used for the power ratio in decibels (dB) of the measured power referenced to one milliwatt. I don't believe it is computed correctly of some software packages, such as mine. (For those running openwrt, ddwrt or similar, download the "wl" application and try (wl rss and wl noise). I several places RSSI is also formulated as the ratio of power levels. In practice, RSSI seems to actually be an ad hoc software-dependent signal strength measure, at least in order software.

The larger (closer to zero) the RSSI value is, the better the signal is. For example, --50 dBm is better signal strength than -80 dBm. In terms of absolute values, bigger is "badder."

RSSI is a classic way (albeit ad hoc?) of measuring the signal strength for a wireless devices (such as an 802.11b access point). As far as I know, it is not actually reported in dB, but some more-or-less liner scale. In fact the wrt54g "wl" command itself claims that RSSI and NOISE are reported in dB, but observed data contradict this. Note also that...

both numbers are reported as negative numbers (which is consistent with the logarithmic dB scale), but you can easily observe that they don't act like log scales.

Typical acceptable values for rssi on the wrt54g and wrt54gs are between -70 and -90. Noise should be 5 or more units less than rssi but even when noise and rssi are about the same the device may work well.

Further, note the following quotes on RSSI which does not explicitly say whether log or linear scales are used, but which imply a linear scale:

"…a mechanism by which RF energy is to be measured by the circuitry on a wireless NIC. This numeric value is an integer with an allowable range of 0-255 (a 1-byte value) called the Receive Signal Strength Indicator (RSSI)" [IEEE 802.11 standard ]

"…Received Signal Strength Indicator (or Indication): A signal or circuit that indicates the strength of the incoming (received) signal in a receiver. (The signal strength indicator on a cell phone display is a common example). RSSI is often done in the IF stage before the IF amplifier. In zero-IF systems, it is done in the baseband signal chain, before the baseband amplifier.
RSSI output is often a DC analog level. It can also be sampled by an internal ADC and the resulting codes available directly or via peripheral or internal processor bus. " [Dallas Semiconductor ]

By Gregory Dudek at | Read (4) or Leave a comment |    
Re: RSSI, noise and signal (on the wrt54g)

Why is rssi negative?

Posted by: Edgar at October 17,2006 17:25
Re: RSSI, noise and signal (on the wrt54g)

It would make sense for RSSI to be negative if it was actually a logarithmic scale (i.e. measure in dB -- decibels). Decibels are proporional the the logarithm of the ratio of two power levels, one being the one we are interested in (like RSSI) and the other some standard reference value. This log is generally multiplied by 10 to get a dB value. Since the log of a fraction less then 1 is negative, the dB value is negative for signals where the number of less that the reference signal.

Since I question whether RSSI values are actually dB, this may all be irrelevant and the negative sign might be, basically, a bug.

Posted by: Gregory Dudek at November 04,2006 22:56
Re: RSSI, noise and signal (on the wrt54g)


I found your blog while researching some related info, and thought this might help -

"RSSI" values have unspecified unit, ie. their meaning depends on manufacturer. Some report as dBm, some as a percent, some even in milliwatts. There is no standard.

Also, the proper way to find SNR *is* to subtract dB values, as dB are logarithmic and hence the difference of logs is the same as a ratio without log. In other words, if a signal has amplitude 1 and noise is 0.5, the SNR is (1/0.5) = 2, but if the signal is measured as being at (say) -12 dB and noise floor is -16 dB, the SNR is (-12-(-16)) = 4 dB.

Lastly, link quality depends on many other factors and the signal-to-noise ratio (computed from rssi and noise floor) is only one such factor.

Posted by: mercurysquad at June 12,2009 06:18
Re: RSSI, noise and signal (on the wrt54g)

Forgot to mention, that finding SNR of a wifi signal by subtracting noise floor from the rssi is ofcourse only applicable if both values are reported in a log/dB scale. Otherwise if they are linear you'd need to use ratio (as you said) and if they are some other sort of scale then who knows what needs to be used!

[ Thanks, good points, both. -gd ]

Posted by: mercurysquad at June 12,2009 06:25
Post your own response

Each comment is manually screened for the presence of appropriate and substantive content, due to a constant onslaught of comment-spam. This means there may be a delay before your comment appears.

(Some kind of name is required, will be visible)

Required, whatever you enter will be visible to other users.

(Optional, used for "mailto" link)

Your email address is not required, but if you insert it it will be displayed so people can contact you.

Answer this question correctly to demonstrate that you are not a dumb spambot.

The title for your comment.

Your comment goes here. All relevant comments are welcome, except for those that simply promote an irrelevant product or else are used to fraudulently inflate the link count to an irrelevant web page. They appear after moderation. Don't forget to also fill in the captcha below or your text will be rejected automatically!

You must answer this question to prove you are human
which has the least friendly public image: 1:collie, 2:beagle, 3:doberman, 4:dachsund, 5:dalmatian?

Answer this question correctly to demonstrate that you are not a dumb spambot.