this is a basic question, but i barely find any tutorial to explain this. Most of tutorial dont talk about why use IFFT and FFT, they just say "oh, at transmitter, we just take this information time domain as frequency domain, then we need IFFT". I have no idea why we want to treat as frequency domain when it was time domain. There must be some good reasons, right?

So, why we need the FFT pair for Tx & Rx for OFDM? Why not something else ? Someone could help me with some pictures? Thank you again, friend.


The short answer is: Complex exponentials are eigenfunctions of an LTI system and the IFFT modulates different complex exponentials with the QAM data.

More elaborate: The wireless channel can (if it is time-invariant for the duration of one OFDM symbol) be modeled as an LTI system with impulse response $h[n]$ (in discrete-time). So, the received signal is the convolution of the input with $h[n]$. At the receiver, you want to know the data, so if you did directly transmit the data, you would need to perform a deconvolution at the receiver.

One can understand the FFT/IFFT to exploit the convolution theorem (convolution in time is multiplication in frequency). We transmit a signal in time domain at the transmitter, and transform it into the frequency domain at the receiver. Then we know, that the frequency response of the channel has multiplied the frequecy domain of the transmit signal. So, it becomes obvious that we directly define the frequency domain of the transmit signal with our QAM symbols.

This is not the whole story (circular convolution with the impulse response must be achieved such that the convolution theorem holds in discrete, and we use a Cyclic prefix to obtain it).

I've written some articles about OFDM, namely an OFDM walkthrough example and about the CP . Maybe these articles can help you understand better. I've always wanted to write something about the math behind OFDM, but didn't find the time yet.

  • $\begingroup$ Hello, what would happen if I use FFT to modulate the discrete data and use IFFT at receiver, with everything else kept unchanged? I think the system still works perfectly, doesn't it? $\endgroup$ – AlexTP Apr 13 '17 at 6:55
  • 1
    $\begingroup$ @AlexTP: Yes, because because both $FHF^H$ and $F^HHF$ are diagonal matrices, when $H$ is a circulant matrix. $\endgroup$ – Maximilian Matthé Apr 13 '17 at 7:06
  • $\begingroup$ Hi, Max, I read your notes. When you say "The Cyclic Prefix converts the linear convolution into a circular convolution". Allow me to ask this, I am still not very follow. Why we need circular conv, why the linear circular is NOT ok? I think both of they will be multiplication in frequency domain, right? $\endgroup$ – Sunson29 Apr 14 '17 at 3:12
  • $\begingroup$ @Sunson29: Well, in the finite-time case (which we have, since you signal does not last forever), the convolution theorem states that circular convolution equals multiplication. In the infinite-time case, the convolution theorem states that linear convolution equals multiplication. So, in order to be able to exploit the convolution theorem in finite-time case, you need to have circular convolution. Maybe, my answer here also helps: dsp.stackexchange.com/questions/40157/… $\endgroup$ – Maximilian Matthé Apr 14 '17 at 4:12
  • $\begingroup$ Hi Max, thank you again for your help. You said " finite-time case -> circular convolution equals multiplication", but you also said "infinite-time case -> linear convolution equals multiplication". Hence, you mean, they are all = multiplication. My question, since they are the same, why I still need "in order to be able to exploit the convolution theorem in finite-time case, I need to have circular convolution"?? Thank you again, Max. $\endgroup$ – Sunson29 Apr 14 '17 at 16:32

The point is that at the transmitter side data is converted from one stream to a number of parallel streams (e.g. to achieve a higher throughput). But all those parallel streams are superimposed and transmitted on the same physical channel. So we need to multiplex different bit streams. Otherwise we cannot recover them at the receiver side.

One way (that is used in OFDM) is to divide the available bandwidth to a number of orthogonal carriers with different frequencies. So it is assumed that the input data modulates those carriers (hence it is said the data is in frequency domain). A simple way to see it is just to assume that after the bit stream is rearranged into $N$ parallel streams, each stream is associated with one frequency (so there are $N$ frequencies, or carriers in total). So we assume that there are $N$ carriers, each modulated by a data symbol. This assumption makes them separate already. Now by applying IFFT, they are converted to the time domain and then they are summed. That is, all the $N$ frequencies are available in the resulted time-domain waveform. Then the waveform is transmitted through the channel. At the receiver, we need to separate the components and demodulate them. So FFT is applied to transfer them back to the frequency domain where the same parallel symbols are obtained (which is called de-multiplexing). After that, a parallel-to-series block makes them a single bit stream again.

Note that I explained it in a simple way. In reality there are some more issues to care about.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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