can any one explain how actually IFFT generating sub carriers in OFDM.... when we are simulating OFDM transmitter in matlab, we are taking input data stream, encoding it and modulating the encoded data. then we are converting this modulated serial data stream to parallel data and giving it to the IFFT block. my problem is how sub carriers are generating in IFFT??

  • 2
    $\begingroup$ Weinstein and Ebert were the first to show that an OFDM signal can be generated by IDFT in their paper "Data transmission by frequency-division multiplexing using the discrete Fourier transform". You can find the derivation in many textbooks including "OFDM and MC-CDMA for Broadband Multi-User Communications, WLANs and Broadcasting" by Hanzo et al. If you have more specific questions about it, I'll be glad to help. $\endgroup$ – Deve Jan 18 '13 at 9:02

The first thing you must change for understanding why IFFT is used for OFDM is to forget about time and frequency domains.

As the name states OFDM is a technique about frequency domain multiplexing. When you think in FDM you'll have several channels modulated with a guard interval between then to prevent interference. If the carriers are orthogonal you'll not have interference, but without the waste of band guard.

But how you can have this?

One way is to use several modulators, as in FDM, but with the correct frequencies. This is hard to accomplish.

If you will implement digitally the filter bank,and this is the correct way to view IFFT on OFDM systems: a transmultiplexer(TMUX), is equivalent to an IDFT. This is why you can use IFFT as a fast implementation for OFDM. You can read one of the books about multi-carrier communication for a better explanation. This paper http://wsl.stanford.edu/~ee359/ofdm_bingham.pdf is also one that I like about multi-carrier modulation.


Think of it this way. The DFT and IDFT are two different representations of the same thing. That thing is a sequence of complex exponentials (sub carriers) that have frequenies that are regularly spaced in the frequency domain (frequencies are the bins of a DFT).

For the sake of simplicity, I'm ignoring phase here


A1e^f1nT + A2ef2nT +... <---> A1, A2 ...

The coefficients A1, A2 ... of the DFT (frequency domain) represent amplitude information for the time sequence of complex exponentials (sub carriers) in the sum on the left (IDFT - time domain).

In OFDM, you map your data to represent the amplitudes of a DFT (A1,A2...).

Performing the IDFT, reconstructs a time sequence that is composed of the complex exponentials (sub carriers) summed together using the amplitudes represented by the coefficients A1,A2...

Alternatively, just look at the definition of the IDFT. The time sequence given from computing the IDFT is...

$$ f[n] = \frac {1}{\sqrt[2]N} \sum_{k=0}^{N-1} A[k]e^{i2\pi nk/N}$$

the $e^{i2\pi nk/N}$ part of the sum represents each of the OFDM subcarriers.

  • $\begingroup$ Hi can you please explain more on this... actaully am simulating ofdm transmitter in matlab.. in that output of the modulation block is given to ifft block... i am not getting how this generating ofdm symbols and where are sub carriers?? please help on this $\endgroup$ – Chethan Mantaiah Jan 19 '13 at 17:09
  • $\begingroup$ Ok. Let's start with some basic questions. What is the output of the IDFT section? What does this output represent? What is the frequency content of the output of the IDFT stage? How would you verify this frequency content? Keep in mind that the subcarriers are not explicitly represented in the time domain, but they are explicitly represented in the frequency domain. $\endgroup$ – user2718 Jan 20 '13 at 0:38

This is my intuitive understanding of IFFT/FFT regarding OFDM (i.e. - little or no math):

The idea of most modern communication systems is to send symbols with some sequence of different amplitudes and phases. In OFDM, Those symbols are contained in the frequency domain. Transmitters need a sequence of complex symbols to send in the time domain, however.

Assume that you are generating the samples at "one-sample-per-symbol" (and will upsample/resample later). What is the simplest way to control the amplitude and phase of the sub-carriers in the frequency domain? The answer is the IFFT.

If you know what the amplitude and phase of the sub-carriers should be, the easiest way to enforce that, and give the transmitter the time-series complex exponentials that it needs, is the IFFT.

Once you have samples at "one-sample-per-symbol" (which is okay when generating symbols), you you can resample that sequence to whatever is required by the transmitter or the receiving side of the simulation.

Background: I found the official, mathematical explanation (Weinstein) from my digital communications class not very helpful. I came to this intuitive understanding when writing an OFDM simulation and an actual receiver for an OFDM specification. Some people learn differently and I hope this helps.


protected by jojek Oct 28 '15 at 8:29

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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