I/Q imbalance correction
Input I/Q signal (complex vector)
Gain relative imbalance
Phase imbalance (in radians)
Output I/Q signal, with imbalance corrected
Fix the phase and amplitude imbalance of the received I/Q signal (x is complex). g and phi can be estimated (blind estimation) with the function iq_blind_est.
// Generation of a QAM16 signal (with IF = 0) mod = mod_init('qam16',1000,0,50); [mod,x] = mod_process(mod,prbs(5000)); x = awgn(x,0.02,'c'); // noise simulation scf(0); clf(); subplot(131); plot_const(x); xtitle("Without imbalance"); ; // I/Q imbalance simulation x = iqi_simu(x,%pi/10,1.3); subplot(132); plot_const(x); xtitle("With imbalance"); ; // I/Q imbalance detection [g,phi] = iqi_blind_est(x); ; // I/Q imbalance correction x = iqi_cor(x,g,phi); subplot(133); plot_const(x); xtitle("Imbalance detected and corrected"); | ![]() | ![]() |