Sign up ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

In ofdm systems after applying IDFT we take the last N/x samples and place them before these N samples. This is called cyclic prefix(CP).So why to use a cyclic prefix?

Why is the CP known to combat the inter symbol interference.Why can't we use some junk data or zeros over there? Can't this junk data combat the ISI ?.

Regards, Phani Tej

share|improve this question

3 Answers 3

up vote 7 down vote accepted

The cyclic prefix is to make sure that any multi-path interference (or other process similar to a linear time-invariant filter in the transmission channel) acts as a circular convolution on the FFT data frame, thus not affecting the orthogonality of the data channels within the FFT bins. It also allow some slop in the receiver's symbol clock.

Thus the cyclic prefix has to be a circular repetition of the IFFT data, either before or after the IFFT block, and long enough to be as long or longer than the maximum expected multi-path delay time differential in the channel, plus the maximum of any timing error between the received data block and the receiver symbol clock. The N/4 is just a default estimate of this time for some common channels, but longer may be required.

Anything other that a circular repetition can cause multi-path delays to act as a non-linear spectral spreading function (relative to the FFT frame) which will affect channel orthogonality, and thus S/N related reliability.

Repetition (circular or otherwise) also helps to statistically even out the PAP (peak to average power) ratio over the extended frame. And prefix repetition may help push any transmitter anomalies due to sudden changes in this ratio forward of the FFT frame.

share|improve this answer
very good explanation. one more thing I think the cyclic prefix is helpful is because it results in circular convolution thereby equalisation becomes very simple. we can use a single tap filter and find H=Y/X where H is channel transfer function and Y is output symbol observed and x in the input symbol sent. – Karan Talasila May 6 '14 at 17:32
@Talasila: Yes. Maintaining channel orthogonality makes equalization far simpler. Also, the ease of detecting orthogonal channel nulls makes implementing path adaptive schemes simpler as well. – hotpaw2 May 6 '14 at 17:39
+1 - I always focused on the cyclic prefix being there to avoid interference with the previous symbol, but your answer helped me to see that it is also for avoiding problems with the symbol interfering with itself. – Jim Clay May 8 '14 at 2:40

You could theoretically use anything in that first section, including dead space- i.e. no signal at all. They use the cyclic prefix in case the demodulator isn't perfectly synced up in time and thus is a little off on where it grabs the symbol to do the FFT. The cyclic prefix causes a time error to simply cause a phase shift in the FFT results instead of introducing noise which could cause errors.

share|improve this answer

Assume transmission across an LTI ISI channel with AWGN noise at the receiver as follows:

$y_n=x_n*h_n+ z_n,$

where $z$ denotes AWGN noise $(0,\sigma^2)$ and $y_n,x_n,h_n$ model the output, input and the channel of a discrete time communication system respectively. One can use a variety of techniques starting from naive zero-forcing to adaptive equalization in order to get rid of the effect of "convolution" that is happening across the channel but the most easy-to-understand [and apparently one of the most elegant] techniques to achieve the same is Orthogonal frequency division multiplexing.

One way to think about the usage of cyclic prefix is as follows. Cyclic prefix gives you parallel AWGN channels over which water-filling can be employed to achieve Capacity i.e. if the channel impulse response $h_n$ and if one has to transmit $\mathbf{x}=[x_0,x_1,\dots,x_{N_c}]$ where $N_c > L$ denotes the number of sub-carriers and $L$ denotes the length of the channel impulse response, then under coherent detection the received signal after [no sampling offset] FFT at the receiver [assuming the underlying IFFT at the transmitter and FFT at the receiver are implemented with suitable scaling constants so as to not change the SNR] is given as:

$y_i = \tilde{h}_ix_i + \tilde{z}_i, 1 \le i \le N_c,$

where $\tilde{h}$ denotes the $N_c$-point DFT of the channel impulse response after padding $h_n$ with appropriate number of zeros to make it length-$N_c$. The noise $\tilde{z}_n$, which is the $N_c$-point DFT of the original noise $z_n$, is still AWGN with same statistic provided that the FFT-IFFT pair is chosen with proper scaling co-efficients. The above results in a very simple equalization technique since all that one needs to do to $y_i$ is multiply it by $\frac{\tilde{h}^*}{|\tilde{h}|}$ which again does not change the noise statistic. The effective SNR of every sub-carrier is:

$SNR_i = \frac{|\tilde{h}_i|^2E_i}{\sigma^2},$

where $E_i$ is the average energy of the constellation employed across sub-carrier $i$. You get an inherent advantage of tuning both the power and the constellation type depending upon the channel condition.

But as other answers say, the above is like a wonderland that is very hard to even get into - the receiver should have perfect knowledge of everything in the system and all that stuff.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.