iqi_cor
I/Q imbalance correction
Calling sequence
y = iqi_cor(x, g, phi)
y = iqi_cor(x, g, phi)
Parameters
- x:
Input I/Q signal (complex vector)
- g:
Gain relative imbalance
- phi:
Phase imbalance (in radians)
- y:
Output I/Q signal, with imbalance corrected
Input I/Q signal (complex vector)
Gain relative imbalance
Phase imbalance (in radians)
Output I/Q signal, with imbalance corrected
Description
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"); |
