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