I have RSSI calculated as vector magnitude.

$$ RSSI = \sqrt{I^{2}+Q^{2}} $$

I and Q are 12bit values from ADC. Is there a way to convert RSSI to dBFs and how it is done?

  • \$\begingroup\$ You don't mention what type of signals you are measuring. You may have to scale the result back by the sqrt(2)/2 -> to account for RMS values which by definition cannot hit full scale w/o clipping. \$\endgroup\$ Oct 26, 2012 at 16:12
  • \$\begingroup\$ @rawbrawb - IQ signals can hit full scale without clipping, because there is energy in each of I and Q. Remove either so that only one remains, and the power would be reduced to the case you are familiar with. \$\endgroup\$ Oct 26, 2012 at 23:03
  • \$\begingroup\$ is there no gain between antenna and ADC or AGC? Also input impedance to ADC is a factor. I see IEEE 802.16 has a proposed solution ieee802.org/16/tgd/contrib/C80216d-03_92.pdf \$\endgroup\$ Oct 27, 2012 at 3:08
  • \$\begingroup\$ @Richman - upstream gain is irrelevant, since the reference is full-scale. That reference value is unique to the point in the signal chain where it is being measured in the particular equipment it is being measured on, so this is not a portable measurement. The exception would be in the case where the signal being measured is in a form corresponding to some interface standard - there you would expect two pieces of equipment interchanging the signal in that format to agree that it is so many dB below the full scale level which that standard format can represent. \$\endgroup\$ Oct 27, 2012 at 17:18
  • \$\begingroup\$ I always used RSSI with dBm (milliwatts) which is an absolute signal power measurement. I am not familiar with practise of using dBf (or femtowatts) but when did it become a relative scale? I've been using dBm with RSSI wince the early 90's with GPS and ISM radio design and it is still used on my latest WiFi adapter. The IEEE standard also uses absolute terms. I dont understand. (yet) \$\endgroup\$ Oct 27, 2012 at 20:31

1 Answer 1


Sure, take 10 * log of the ratio between the measured power, and the full scale power.

Since power goes as the square of voltage, you can remove the square root operation.

That gives you:

$$ dBFs = 10 \log({(I^{2}+Q^{2}) / (2^{11}-1)^2 }) $$

You can of course pull the denominator out of the expression, take its log, and convert it to a constant value to subtract from the log of the numerator.

Defining the maximum range of the inputs can get tricky; the range in two's complement form would be from -2048 to +2047 (though other representations are possible). Considering +/- 2047 the maximum is tempting, though some might say +/- 2047.5. And there's even a school of thought which offsets zero by .5. Rounding errors can have some very interesting effects after multiple DSP operations.

Also, it is tempting to think of the maximum as I=2047 Q=2047, however this is a vector which can only occur at the 45-degree phases - you could see it in an impulse, but not in an undistorted signal. Normally, you would want to adjust your gain to stay within the maximimum vector rotatable to any phase, ie, I or Q = 2047 and the other zero, or their combined magnitude = 2047, so that is what should be considered full scale.


Your Answer

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

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