Articles

# IQ imbalance in transmitter

Typical communication systems use I-Q modulation and we had discussed the need for I-Q modulation in the past. In this post, let us understand I-Q imbalance and its effect on transmit signal.

## I-Q modulation and demodulation

The typical I-Q modulation and demodulation is as shown in the figure below. Consider that the information to be transmitted is a complex signal,

$x = x_i + jx_q$.

At the output of I-Q modulation transmitter is,

$\begin{eqnarray}y & = & \Re\{xe^{j2\pi f_c t} \}\\ & = & x_i cos(2\pi f_c t) - x_qsin(2\pi f_c t)\end{eqnarray}$

Figure: I-Q modulation Transmitter and receiver

At the transmitter, the information $x_i$ is sent on $cos(2\pi f_ct)$ and $x_q$ is sent on $sin(2\pi f_ct)$.

At the receiver, we multiply the signal $y$ with $cos(2\pi f_ct)$ and $-sin(2\pi f_ct)$ followed by low pass filtering (LPF) to extract, $\hat{x}_i$ and $\hat{x}_q$ respectively.

From trigonmetric identies,
$\int_0^Tcos(2\pi f_ct)cos(2\pi f_ct) = \frac{1}{2}\left[1 + cos(4\pi f_c t) \right]$,

$\int_0^Tsin(2\pi f_ct)sin(2\pi f_ct) = \frac{1}{2}\left[1 - cos(4\pi f_c t) \right]$,

$\int_0^Tcos(2\pi f_ct)sin(2\pi f_ct) = 0$.

The math for extracting the information at the receiver is as follows:

$\begin{eqnarray}\hat{x}_i & = &\int_0^Tycos(2\pi f_c t) \\ & = & \int_0^T \left[x_i cos(2\pi f_c t) - x_qsin(2\pi f_c t)\right] cos(2\pi f_c t)\\ & = & \frac{x_i}{2}\end{eqnarray}$.

Similarly for the Q-arm,

$\begin{eqnarray}\hat{x}_q & = &\int_0^Ty( -sin(2\pi f_c t)) \\ & = & \int_0^T \left[x_i cos(2\pi f_c t) - x_qsin(2\pi f_c t)\right] (-sin(2\pi f_c t))\\ &=& \frac{x_q}{2}\end{eqnarray}$.

Ignoring the scaling factor of 1/2, we are able to recover both $x_i$ and $x_q$.

## Phase imbalance in IQ modulation

In an ideal I-Q modulator, the phase difference between the signals used for modulating the I arm and Q arm is 90degrees, resulting in using $cos(2\pi f_ct)$ and $sin(2\pi f_ct)$ for sending $x_i$ and $x_q$.

When there is phase imbalance, the phase difference might not be exactly 90 degrees. We can consider that $cos(2\pi f_ct)$ is used for sending $x_i$ and $sin(2\pi f_ct + \phi)$ for sending $x_q$.

## Amplitude imbalance in IQ modulation

When there is amplitude imbalance, there is small variation in the amplitude of thse sine and cosine arms in the modulator. This can be modelled as using $cos(2\pi f_ct)$ for sending $x_i$ and using $(1+\alpha)sin(2\pi f_ct)$ for sending $x_q$, where $\alpha$ is constant lying between 0 and 1.

The transmit signal including the effect of phase and amplitude imbalance is,

$\begin{eqnarray}y & = & x_i cos(2\pi f_c t) - x_q(1+\alpha)sin(2\pi f_c t + \phi)\end{eqnarray}$.

## Received signal with IQ imbalance in transmitter

Assuming that we have ideal IQ demodulator ie. at the receiver, we multiply the signal $y$ with $cos(2\pi f_ct)$ and $-sin(2\pi f_ct)$ followed by low pass filtering (LPF) to extract, $\hat{x}_i$ and $\hat{x}_q$ respectively.

$\begin{eqnarray}\hat{x}_i & = &\int_0^Tycos(2\pi f_c t) \\ & = & \int_0^T \left[x_i cos(2\pi f_c t) - x_q(1+\alpha)sin(2\pi f_c t+\phi)\right] cos(2\pi f_c t)\\ & = & \frac{1}{2}\left[x_i- x_q(1+\alpha)sin(\phi)\right]\end{eqnarray}$.

$\begin{eqnarray}\hat{x}_q & = &\int_0^Ty (-sin(2\pi f_c t)) \\ & = & \int_0^T \left[x_i cos(2\pi f_c t) - x_q(1+\alpha)sin(2\pi f_c t+\phi)\right] (-sin(2\pi f_c t))\\ &=& \frac{1}{2}\left[ x_q(1+\alpha)cos(\phi)\right]\end{eqnarray}$.

As can be observed from the above equations, the desired signal is distorted due to the presence of IQ imbalance.

## Effect on spectrum due to I-Q imbalance

To understand the effect of I-Q imbalance on the transmit signal, let us consider that the transmitted signal is $e^{2\pi f_m t}$ i.e,

$x_i = cos(2\pi f_m t)$ and
$x_q = sin(2\pi f_m t)$

From the post on negative frequency, we know that such signal has a frequency component at $f_m$ and NO frequency component at $-f_m$.

In the presence of I-Q imbalance at the transmitter, the received signal is,

$\hat{x}_i = cos(2\pi f_m t) - sin(2\pi f_m t)(1+\alpha)sin(\phi)$ and

$\hat{x}_q = sin(2\pi f_m t) (1+\alpha) cos(\phi)$.

Figure: Spectrum of received signal in the presence of IQ imbalance at the transmitter

It is reasonably intuitive to see that the received signal has frequency components at $f_m$ and also at $-f_m$. The component at $-f_m$ was introduced due to I-Q imbalance.

Update : Click here for the derivation of Image Rejection Ratio (IMRR) with transmit IQ gain/phase imbalance

Tagged:

## 26 thoughts on “IQ imbalance in transmitter”

1. patel says:

Nice post…
informative too…
Thanks

2. sudhan says:

Hi Krishna,
Could you please let me know how should I use LPF on I and Q components after down conversion?

3. Tuyen Tran says:

Hi Krishna,
I have a question,
I implement QPSK modulation in matlab, that have:
– Bit rate : Rb = 10kbps
– Carrier frequency: 10Mhz
– Sampling frequency: 80khz
Is it right to choose variables like that?
and i don’t know how to set up a low pass filter with cutoff freequency = 10mhz,

1. @Tuyen Tran:
a) The concept of sampling is notional in matlab. Your above parameters looks fine.
b) Try seeing the help of any IIR filters like butterworth, chebyshev etc

1. Tuyen Tran says:

4. Ananth says:

Hi Krishna,
Please let me know how to compensate the IQ imbalance in a OFDMA system.. we are doing real time project and we are passing data in one subcarrier in the receiver if we take fft of the data we are seeing some magnitude in the negative frequency also .. as ur matlab code demonstrates

1. @Ananth: Well, at the transmitter you can put a butterfly like structure where you artificially introduce gain and phase imbalance in digital such that the pre-distorted digital IQ imabalance nullifies the RF IQ imbalance. From, googling you should be able to get good pointers.

5. yasmine says:

great !!
in my work,i have to deal with I-Q ambalance and the output is sent to a “complex to a real image” wha is the point of this ?
regards

6. Kukku says:

Hello,
I have a question:Do the I&Q-Components (at the Reciever) have only 1 frequenz or they can have various frequenz (bandwidth) ?
I have a Radio Reciever , at the Output is I-Q Components over time . the Reciever range is from 0-30Mhz. i want to write a program that show a realtime FFT plot.
Kukku

1. @Kukku: Typically the I/Q signals on a receiver will have various frequencies. You can do a close to real time FFT plot by taking a chunk of samples (64/128 etc), doing an FFT on them and plotting.

7. joel says:

Oh, I’m sorry, I mean of course the input signal x. It is firstly up-converted and then down-converted to the orginal baseband. As a result we get xHatSC_NoIQ.
In my opinion the both signals shouldn’t differ, or am I missing something ?

Thank you !

1. joel says:

Sorry for the double posting but I think I see it now. There is a mirror signal part on the negative frequency, which i didnt see because of scaling u have used. So, in order to recover the input signal properly I have to use a low pass filter, right ?

And one more question, if I up-convert the input signal to the carrier frequency bigger than the sampling frequency, do I have to increase the sampling frequency at the receiver ?

Thank you !

1. @joel: My replies:
1/ Yes, you are right that we need a filter. For additional thoughts, plz look at my response to your previous comment
2/ Yes. Note that with a sampling frequency of fs, the frequencies which we can ‘see’ are from [-fs/2 to fs/2). Any frequency outside this range will fold back into this range.

2. @joel: Yes, as you rightly commented later, we need a low pass filter to get back the original signal. And the explanation for that is as follows:
The signal yNoIQ has spectrum at [fc+fsc] and -[fc+fsc]. After we did the downconversion, the spectrum at -[fc+fsc] went to -[2fc+fsc] and spectrum at [fc+fsc] came to [fsc]. Hence we need to remove -[2fc+fsc] to see the original signal.

Hope this clarifies.

8. joel says:

Dear Krishna,

after running the script I observed that the cNoIQ and xHatSC_NoIQ differ considerably. What is the reason for that ? After the up and down conversion they shall be almost the same… Is the sample time the problem here ?

Best Regards,
Joel

1. @joel: Well, cNoIQ is the carrier and xHatSC_NoIQ is the modulated waveform, no?

9. jamil says:

i am very thankfull to u .your knowledge has helped me a lot in doing my final year project.

10. Alvina says:

very nice and informative.

1. raghavendra says:

neat presentation. forms the basis for further exploring this.