Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Regarding power estimation from I and Q samples

Not open for further replies.


Advanced Member level 4
Jun 29, 2022
Reaction score
Trophy points
Activity points
Hello support team,

I am using high speed data converter , in which there is an inbuilt RF-ADC along with DDC. which can directly digitize RF input and generate I and Q samples accordingly at DC.
Below is the example.
RF frequency=35 MHz, NCO frequency =34 MHz, DDC output = I and Q samples at 1 MHz.
Now I am capturing these I and Q samples in signed decimal format. and stored it in the excel.

My RF input power: -25 dBm
DDC output I and Q sample example when my RF input is -25 dBm
I_sample (signed decimal value) = 1785
Q_sample (Signed decimal value) = 687
Pdbm = 10log(I^2+Q^2) = 65.6 dBm

So, is there any calculation I am missing? PdBm should come -25 dBm. My DDC output is in the FIX16_0 format, from which I have taken the signed decimal values. could you please guide on this?

Is there any requirement to scale down the I and Q samples by fixed scaling factor to get the correct pdBm result?

Your "dBm calculation" would be right for an LSB weight of 0.22V, or 7200 V full scale I/Q range.

Try again. What is I/Q range, what is LSB?

My RF-ADC full-scale power is -2 dBm and resolution is 16 bit. so, based on that, dynamic range would be DR=6.02 x N dB = 96 dB approx.
For 16-bit ADC resolution and DDC output of FIX16_0 i.e. signed number with a bit width of 16 bits
Minimum to maximum number: -32768 to 32767 (i.e., the decimal point is after 16 bits).
Could you please guide on how to do calculation of power from the above details?


Could you please explain why I cannot get the exact power level direct from I and Q samples? as when we think about the mathematic formula: pdBm = 10log(I^2+Q^2) .. So what is the purpose behind this scaling down? Is there any particular mathematical formulla for this?
--- Updated ---

One more thing, It is more suitable for me to get the result in terms of Vpeak.
So, I am planning to use sqrt(I^2+Q^2) . for that scaling factor will change?
--- Updated ---

I think in order to have sqrt(I^2+Q^2) ,scaling factor is 2^16.
I sample/2^16 = 1785/65536 = 0.027236938476
Q sample/2^16 = 687/65536 = 0.0104827880

SQRT( I^2 +Q^2) = 0.0291845 Vp-p , which is approx. -26 dBm.

So, that's why I am confused about the scaling factor selection. what is the purpose behind this scaling factor and how to select the same.
Last edited:

I see you almost succeded in answering the scaling question yourself. Scaling factor of 16 bit signed quantity is 2^15, you surely understand why.


I have tested the above in my hardware. I have captured the I and Q samples in xls format( signed decimal) and done the below.

All I samples / 2^16
All Q samples/2^16
Getting correct result=SQRT [(Divided I )^2 + (divided Q)^2]

Even if my I and Q samples are FIX16_0. ( 16 bits ) I have to scale down by 2^16=65536 to get the correct result? Why is that.

No problem, if it works for you, but mathematically implausible. Can be best checked with real measurement numbers. Could be a problem of unterminated input and pd versus emf output power metric of your generator which makes 6 dB difference.

You also may want to tell the IQ demodulator ADC type, so we can check on our own.

My IQ demodulator ADC is RF-ADC which can directly digitize the RF signal. I am using oversampling.
RF input: 35 MHz
NCO input: 33 MHz
DDC output: 2 MHz.
RF-ADC full scale power: -2.2 dBm
DDC output I and Q samples resolution : 16 bit fixed point
--- Updated ---

How can I check with real measurement numbers?

How can I check with real measurement numbers?

You already did. Initial measurement values indicate that either input power is higher than - 25 dBm or full scale lower than -2.2 dBm. At least in my math, signed 16 bit full scale output is 0x8000 to 0x7FFF.

Yes, I got your point. That Max positive number: 32768 and min negative number: -32767.

yes, sorry for the typo error.
the range is -32768 to +32767.

Then can you please suggest any thing else that I can measure or verify to figure out the above, why I am getting 2^16 scaling factor?
--- Updated ---

From your above statement " Could be a problem of unterminated input and pd versus emf output power metric of your generator which makes 6 dB difference."

I noticed one thing, My high speed data coneverter has total 4 RF-ADC (simultaneous input) and out of these 4 I am using 2nd input and other 3 are unterminated. Can this be the reason?

Actually , this I and Q (signed decimal values) I am importing to one of the supplier given GUI , which is giving me the result in terms of dBFS , at there I am getting accurate results. ( which scale factor GUI is using , that I am not aware)

But when I check manually, and divide it by 2^15 , then I am getting 6 dB difference.
Last edited:

Your full scale amplitude is 32767 = -2.2 dBm.
I = 1785 and Q = 687 is amplitude 1913.
dB from fullscale is 20*log(1913/32767) = -24.7 dB
If full scale is -2.2 dBm, your signal is -2.2 - 24.7 dBm = -26.9 dBm


yes I got the above calculation in terms of dBm.
but when I am thinking about Vpeak = SQRT (I^2+Q^2 ) = 1913 /32767 = 0.058381 = -20.6 dBm . If I want the output in peak to peak and when I divide it by 32767 (2^15). I am getting 6 dB difference in the output. why is that? could you please explain.

𝑉𝑝𝑒𝑎𝑘= √(𝐼2+ 𝑄2)
--- Updated ---

why both calculations are not matching?
Last edited:


Just referring to post#15:

(Voltage) peak of a sine = amplitude. Let's say 0dB
(Voltage) peak_to_peak = 2×amplitude. = +6dB


Yes, silly mistake made by me. Now I am getting correct results. thank you for your support.

I have implemented the above scaling factor of 2^15 for the I and Q samples. One more thing I have observed.
Below is the example.
My RF input = -5 dBm
Based on which,
I sample = -17250
Q sample = -8544

Scale down I and Q
I = -0.526444288
Q = -0.260750145

SQRT(I^2+Q^2 ) = 0.587481257 = amplitude

Power in dBm = 20*log (amplitude) = -4.620119691 dBm

Full scale power of RF-ADC = -2.2 dBm

power measurement in dBm =20*log(amplitude) - Full scale = -6.820111 dBm

So, I am providing -5.1 dBm as RF input. then , there is RF front end like cable, RF balun before my RF-ADC. So, my actual signal has got of approx. 1.8 dB insertion loss before it reaches to RF-ADC.

So, instead of getting -5.1 dBm , I am measuring -6.8 dBm
that means, I need to do the digital gain compensation ( for the fixed RF front end loss) on the received result of amplitude? Is my understanding correct?


Full scale power of RF-ADC = -2.2 dBm

power measurement in dBm =20*log(amplitude) - Full scale = -6.820111 dBm
I don't know what you try to do here, but according my math understanding there is something wrong:
If this is correct:
power measurement in dBm =20*log(amplitude) - Full scale =
... then this should be the result:
= -4.62 dBm -(-2.2 dBm) = -2.42 dBm


Actually I am receiving I and Q samples in terms of digital form.

My Result :
0.587481257 ( signed decimal ) = 0(sign bit) 0( integer bit) .10010110011001( 14 fraction bits)

From this 16 bit digital output , I am assuming my decimal fraction value as per above.

As per STD_match reply on the above trailing , (dec 21)

We need to add the full scale of ADC, which is -2.2 that means,

20*log(amp) + full scale = 20*log(0.587481257) + (-2.2) = -6.8 dBm .
So, this is my calculation.

My requirement is to meaure exact power for my unknown RF input. for which I am implementing this,

So, when my RF input =-5.1 dBm
My output in digital 1QN( FIX16_14) format is 00.10010110011001 , which is 0.587481257 in decimal.

So, As per STD match given formulla , amplitude of 0.587481257 is equivalent to -6.8 dBm ( 20log(amp) + full scale)

-6.8 ( measured power) - [(-5.1) input power] = -1.7 dB ( this I am assuming the RF front end insertion loss)

If above understanding is correct, then there is a requirement for digital gain compensation (i.e addition of 1.7 dB)

This all above is depending on the correct interpretation of received amplitude to dBm.
(i.e, for the ADC having -2.2 dBm full scale , 0.587481257 amplitude is equivalent to -6.8 dBm for the formulla of 20*log(amp) + full scale)

Not open for further replies.

Part and Inventory Search

Welcome to