Page 1 of 1

IQ imbalance

Posted: Mon Jun 29, 2015 3:08 am
by Nrekcah
Dear all,

Is it possible to model under Matlab the effect of the IQ imbalance by the following local oscillator:

LO(t) = cos(2*pi*Fc*t) + 1j * G * sin(2*pi*Fc*t+phi).

Where: Fc: Carrier frequency.
G: Gain imbalance.
phi: Phase imbalance.

Re: IQ imbalance

Posted: Tue Jun 30, 2015 8:18 pm
by bpadalino
I have an impairment model that I threw together really quickly:

Code: Select all

% x is the input sample
% mag      imbalance in dB
% phase    imbalance in degrees
% dc       complex number which represents the complex DC offset
% freq     frequency offset to add for the resultant samplerate
% speed    offset in normalized value (1.0 = no change, 0.99 means 1%
%          slower, 1.01 means 1% faster) for sample clock differences
function y = impair(x, mag, phase, dc, freq, speed)
    % Magnitude imbalance
    y_mag = real(x).*10^(0.5/20*mag) + ...
            imag(x).*10^(-0.5/20*mag)*1j ;

    % Phase imbalance
    y_phi = real(y_mag).*exp(-0.5*1j*pi*phase/180) + ...
            imag(y_mag).*exp(1j*(pi/2+0.5*pi*phase/180)) ;

    % DC offset
    y_dc = y_phi + dc ;

    % Samplerate speed offset
    [n,d] = rat(speed) ;
    y_speed = resample(y_dc,n,d) ;

    % Frequency offset impairment
    y = y_speed .* exp(1j*2*pi*freq*[0:length(y_speed)-1]) ;

end
Hopefully this works correctly and helps you out.

Brian

Re: IQ imbalance

Posted: Thu Jul 02, 2015 2:54 am
by Nrekcah
Thank you Brian,

But when you add the frequency offset impairment, you suppose that it hasn't an effect at the start of the signal. The obvious question is where to choose the start of the signal ?
Then choosing the start of the signal at sample number X give a different effect from the case of starting the signal at the sample number X+1000 for example.

Thank you in advance.

Re: IQ imbalance

Posted: Thu Jul 02, 2015 6:09 am
by bpadalino
Your two radios will be offset from each other in an absolute manner (without including any type of Doppler for moving systems) so choosing the first sample isn't arbitrary but just normal since there is a bulk frequency offset between the radios at all times. Starting to have a decent frequency offset somewhere in the middle of a transmission usually doesn't happen unless you have something that goes from not moving to moving very fast, very quickly.

Hope this helps.

Brian