How the Cyclic Prefix works in OFDM

This column will briefly explain how cyclic prefix (CP) in OFDM works by illustration. I decided to add this topic because the I seldom found a text that simply discussed the operation of CP and its usage.

First, lets define a property of Discrete Fourier Transform (DFT) :

If x(n) and h(n) time-domain signals, circular convolution between them x(n) © h(n) is equivalent to multiplication in the frequency-domain, X(k).H(k).

That is, if we circularly convolve two time-domain signals, it is equivalent to multiplying the respective DFT’s of the time-domain signals in the frequency-domain.

Now lets see how this all corresponds to OFDM. First we will define some parameters.

  • X(k) – Frequency-domain complex value modulated on to the k-th subcarrier.
  • x(n) – (Discrete) time-domain signal, i.e. IDFT(X(k))=x(n)
  • h(n) – Impulse response of the wireless channel.
  • H(k) – Channel transfer function of h(n).

In OFDM, the transmitted (time-domain) signal x(n) linearly convole when it travels through the channel h(n). But we cannot use the property we mentioned before because x(n) and h(n) linearly convolve rather than circularly as the property requires. But in OFDM literature, we often write the received signal after DFT as X(k)H(k) for the k-th subcarrier. This X(k)H(k) is a multiplication in the frequency-time. So how can we interpret the DFT’ed signal as a multiplication. The trick is the CP.

By using CP we fake a circular convolution. although the signals are really linearly convolve. Lets see an example.

Assume the time-domain signal x(n)=[1,2,3,2,1]

fig_1

Now we will transmit x(n) through channel h(n)=[3,2,1]

fig_2

When x(n) is transmitted through h(n), it undergoes linear convolution, which results in the following signal, x(n)*h(n)=[3,8,14,14,10,4,1]:

fig_3

Now lets see how it will look if we circularly convolve x(n) and h(n):

fig_4

So we see that the linearly convolved signal is different from the circularly convoluted signal, which gives [7,9,14,14,10]. So we need to do something to the signal we transmit, x(n) so that we can obtain the circularly convolved signal. Lets add the CP to our signal x(n). I.e. we copy a portion from the end to the front of the signal. Since the channel delay is 3 time samples, we need atleast 2 samples as the CP. So our new signal with the CP will be, x’(n) [2,1,1,2,3,2,1]. Now lets transmit this signal through the channel and see the result.

fig_5

So the signal with the CP gives [6,7,7,9,14,14,10,4,1] when it is linearly convoluted with channel h(n). Now we seem a similarity with the circularly convoluted signal x(n) and the linearly convoluted signal x’(n). See the figure below:

fig_6

So we see that by adding the CP to our original signal and transmitting through the same channel, we can obtain the desired circular convolution. After the reception of this signal, the receiver takes off the signal samples at either end extract the samples that correspond to the circular convolution and feed it to the DFT unit. So after the DFT operation, we get our desired result X(k)H(k) in frequency-domain. So by adding the CP, we could make the linear convolution give us the desired circularly convoluted signal. You can see that there are many signal samples we throw away. So there is a wastage of resources but CP not only serves this purpose. CP is used to eliminate Inter-Symbol-Interference (ISI) too.

I hope you got an introductory understanding of the usage of CP.

Post to Twitter Tweet This Post



4 Responses to “How the Cyclic Prefix works in OFDM”

  1. [...] is a follow up to the Cyclic Prefix (CP) I did here. There I gave a graphical explanation and here I will discuss how it happens theoretically. I [...]

  2. roee says:

    hi , very nice explenation and illustration :-)
    good work!
    some tip, the CP can also help detect the frequency shift

    Cheers,
    Roee

  3. admin says:

    Thank you Roee for that tip.
    I think CP has been used in few useful ways. It’s not really a complete waste of bandwidth anymore.

  4. James Bui says:

    Now lets see how it will look if we circularly convolve x(n) and h(n)

    I have difficulty figuring out how did you do the circular convolution in the above statement?
    Your explanation is excellent
    Thank you so much

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes