Hi,
This quick mail to announce a new gnuradio block from osmocom: gr-iqbalance The general idea is to suppress symmetrical images caused by IQ imbalance in the RX path of quadrature receivers. It's composed of two subblocks: "IQ Bal Fix": This applies the actual correction. to a complex stream. The correction parameters are only magnitude/phase and the actual correction algo is the same as applied in hardware in the USRP. You can either specify the correction parameters manually on the block, or send them via 'messages'. ( simple float[2] vector (mag,phase) ) "IQ Bal Optimize": This blocks tries to blindly detect the imbalance by minimizing the correlation between the left and right part of the spectrum. See the code for the "how it does it". The general idea is inspired from papers found on the internet and the way some SDR software achieve the same things (sdr# for eg, although there are significant differences in the actual implementation). Since those correction are frequency dependent, they'll need time to 'adapt' when changing frequency. You can force them to 'reset' when you retune for faster reconvergence. The algorithm has proven to work very nicely for me and for other people, however there is the chance that it can fail if you're looking at one centered wideband signal ... To cope with that, the best approach is to "calibrate" the correction when you're looking at some narrow band signals close to your signal of interest and then "lock" that correction. (possible by setting the update period to '0' on the 'optimize' block). Example usage graph : http://i.imgur.com/ISvzRtb.png The code can be found at : git://git.osmocom.org/gr-iqbal.git http://cgit.osmocom.org/cgit/gr-iqbal/ To build (it uses git submodules to pull in some external code): git clone git://git.osmocom.org/gr-iqbal.git cd gr-iqbal git submodule init git submodule update mkdir build cd build cmake .. make make install Finally, if that block is present and installed on your system when you build the gr-osmosdr source block for hardware abstraction, then the latter will automatically make use of gr-iqbal to try and correct any imbalance in your source, so the application doesn't need to me modified at all. (although of course if an app is aware of it, it can do more clever things) Cheers, Sylvain _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio