1
$\begingroup$

I am using the Python rtlsdr library to get complex samples from my RTL-SDR USB stick. I am getting power by squaring the real and imaginary components of these values, and adding them.

  • What unit is the result in?
  • If not $\textrm{dBm}$, how can I get to $\textrm{dBm}$?
$\endgroup$
2
$\begingroup$

It's very hard to associate the numbers you're calculating with the actual signal power at the antenna. The SDR will filter, amplify, and AGC the signal, and then it'll convert it to digital. At best, you can say that the power you're calculating is somewhat related to the true signal's power.

The power you're calculating is in linear, not logarithmic, scale. To convert to decibels, use the usual formula. However, be aware that the reference inherent when using decibels is not well specified in this case.

$\endgroup$
1
$\begingroup$

Is it really difficult to really know how much power you are receiving with your dongle. Each stage (antenna, amplifiers, mismatch losses etc) can not be easily calculated nor measured. What you could do though, is calibrate your dongle with a known source (i.e. a source that you already know transmits predetermined power . From a calibrated device, of course!)

Also, keep in mind, that the device does not have a linear response, so unless you perform that above procedure for every frequency that the dongle supports, do not expect much accuracy.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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