Saturday 23 October 2010

How does CP removes ISI

We may all know that OFDM use CP to remove ISI. But how many of us know why and how? Below is a post on a BBS which is a typical question from who is new to OFDM/LTE.

"My question is assume the 2 maultipaths received at the receiver as below with CP prefixed to Symbols on both paths:

|--CP--|--symbol data--| ---> path 1

|-td-|--CP--|--symbol data--| ----> path 2 with delay td

|------------------| integration duration (Ts - symbol dur)

|-----| this is the part of the output still gets corrupted due to ISI, since CP is the part of the OFDM symbol it will be a non zero value.

So I am wondering how CP removes the ISI."

A very good answer can be found from book "LTE - The UMTS LONG TERM EVOLUTION, from theory to practice", chapter 5. Below is some excerpt with simplication to help easy understanding.

At a very high level, received signal through dispersive channel (frequency selective) can be represented below:
r(t) = x(t) * h(t) + z(t)
Assuming the channel delay is smaller than G, in a discrete way, the received signal is:
Rcp = A * h + Z

A =
xk[N-G] xk-1[N-1] xk-1[N-2] ... xk-1[N-G+1]
xk[N-G+1] xk[N-G] xk-1[N-1] ... xk-1[N-G+2]
. . . .
. . . .
. . . .
xk[N-2] xk[N-3] ... ... xk[N-G] xk-1[N-1]
xk[N-1] xk[N-2] ... ... xk[N-G+2] xk[N-G+1]
xk[0] xk[N-1] ... ... xk[N-G+2] xk[N-G+1]
. . . .
. . . .
. . . .
xk[N-1] xk[N-2] ... ... xk[N-G+1] xk[N-G]

Please note the red colored part is due to Inter-symbol interference. By discarding the first G samples of the received symbol, the inter-symbol interference can be easily discarded. And removed some part of intra-symbol interference as well (not very acturate here, but see below).
Only the blue part is not remained, we call it A'.

Now we extend A' to B. This doesn't change the output if adding a few zeros to the channel vertor h, which is now h'.

B =
xk[0] xk[N-1] ... ... xk[N-G+1] xk[N-G] ... xk[1]
xk[1] xk[0] ... ... xk[N-G+2] xk[N-G+1] ... xk[2]
. . . .
. . . .
. . . .
xk[N-1] xk[N-2] ... ... xk[N-G] xk[N-G-1] ... xk[0]

The beauty of matrix B (you must have realized!) is that it is circulant. It can be represented as B = FHXF

After Fourier transform, the output is
F(B*h') = F(FHXF*h) = F(FHXF) F(h) = X H

R = X H + Z

A convolution now transformed to multiply operation.

Getting back to the question posted at the begining of this article, the anwer to that question is:
- Inter symbol interference is easily discarded by insertion of CP at transmitter and removal of CP at receiver
- Intra symbol interference (which is actually the original question) is not removed BUT surpressed in a way where frequency selective channel is converted into a transmission over N parallel flat-fading channels in the frequency domain.