IQ Balance

Steve Markgraf steve at steve-m.de
Wed Aug 7 17:23:57 UTC 2013


Hi,

On 07.08.2013 11:49, Richard Ranson wrote:
> Looking at the rtlsdr driver, I see that there seems to be some code to
> correct the IQ balance, but I'm only going by the names of functions
> like "_IQ_Tree" and "_Compare_Cor".  The algorithm, if there is one, is
> not at all clear nor of direct interest, the question is whether or not
> there is some IQ balance built into the rtlsdr driver and does anyone
> know how effective (e.g. in terms of image suppression) it is.

What you're looking at is dead code in the r820t tuner driver (which
presumably can correct the internal IQ-offset, as this is a low-IF
tuner). But we're not using it right now, thus it is never called.

For all the other tuners (which are zero-IF) we enable the internal IQ-
compensation of the RTL2832, see [1].
However, it is not really documented and understood what that does, the
observed effects are minimal.

If you want to see for yourself you can disable the internal
compensation, change that write to:
rtlsdr_demod_write_reg(dev, 1, 0xb1, 0x03, 1);

For software IQ-compensation we have the gr-iqbal GNU Radio block:
http://cgit.osmocom.org/gr-iqbal/

Regards,
Steve

[1] http://cgit.osmocom.org/rtl-sdr/tree/src/librtlsdr.c#n562




More information about the osmocom-sdr mailing list