After the serial-to-parallel to break input bitstream into groupings we do the constellation mapping into values of phase/amplitude (or I, Q). For 64 sub-carriers this gives us 64 pairs of amplitude(n)/phase(n).

an = amplitude(n) * cos(phase(n))

bn = amplitude(n) * sin(phase(n))

sub-carrier(n) = an * cos (n * delf * t) + bn * sin(n * delf * t)

Why do we need the IFFT. We could just compute the 64 sin/cosine time functions, sum them and then up-convert to passband. We lose the complex notation (an + j bn) where we keep the an and bn terms separate -- and do the up-conversion separately for both the an and bn sums.

At the receiver, we could just do a real sample to get 2*64 = 128 samples of the summed sub-carriers. These real samples could be input to an FFT to get back the an and bn terms. This is in contrast to separating out the an and bn terms at the receiver This would simplify the hardware.

  • $\begingroup$ When computing 64 sin/cosine time functions, will the var be always 1? .. Assumed it's always 1, that is similar to the real transforms matrix such as DCT, DST based OFDM, so that's the benefits of using sin/cosine time function?? Could you explain these points? $\endgroup$ Commented Jul 15, 2021 at 1:44
  • $\begingroup$ What do you man by "var"? I researched "DCT, DST based OFDM" and see mention of only real values. Do you have a good reference on the "DCT, DST based OFDM"? My original question related to potentially avoiding the separate treatment of the IFFT/FFT real and imaginary paths at the cost of 2X the sample at the receiver. $\endgroup$
    – jekain314
    Commented Jul 16, 2021 at 11:53
  • $\begingroup$ var = variance. var is supposed to be 1 in both time and frequency domains. About you question, yes I mean when you use that mentioned method, will the time and frequency domains variance be 1? Regarding the references, just check on google, OFDM based on DCT ........ etc. $\endgroup$ Commented Jul 18, 2021 at 0:36
  • $\begingroup$ Still not sure about the var -- var of exactly what? I looked at the DCT -- seems it results in real data but 2X number of sub-carriers. I am suggesting to use classic Fourier series w/o the j so the single sub-carrier sin/cos terms will carrier the encoded amp/phase data. at the tx: s(t) = sum[an * cos (freq(n) * t) + bn * sin(freq(n) * t)] and the an/bn carry the amp/phase data. Transmit as real and receive as real with 2X sampling to recover the an/bn terms. In the eq above, the freq(n) does not have to be equally-spaced and n need not be power of 2. $\endgroup$
    – jekain314
    Commented Jul 20, 2021 at 13:04
  • $\begingroup$ var is the variance of the signal. That variance of the signal must be 1 in both time and frequency domains. $\endgroup$ Commented Jul 21, 2021 at 2:02

1 Answer 1


For your sub-carrier formula, you forgot the $j$ in front of the $b_n$; without that, you lose all your data, because your real and imaginary parts get summed. Can't do that! The whole idea of complex equivalent baseband is that the real anand imaginary parts are independent; this does not only apply to OFDM, but to any baseband technique; for example, QPSK wouldn't be possible if you just added your real and imaginary parts.

Well I think your question is first "why don't we implement the DFT naively" and the answer to that is "because the FFT computes the same, exactly, but with less work".

The second question seems to be about why we don't simply do 128 real instead of 64 complex samples. You can do that, if you have twice the sampling rate, and don't convert to baseband, but to half that sampling rate as center frequency. In practice, this is undesirable (higher sampling rate, impossibility to make a filter that's really symmetrical).

  • $\begingroup$ No j if doing Fourier series. Sum of sin/cos terms with an/bn coefficients is adequate to define sub-carrier with prescribed phase/amplitude (symbol) mapped to an/bn terms. You transmit real summed terms w/o separate mixing with direct and 90deg-shift passband. Requires 1 transmit mixer not 2. At receiver, 1 (not 2) mixer downconverts to get real baseband. Sample >2N to recover N pairs of an/bn symbols. At 20MHz and N=64, symbol rate is slow @ 312.5K -- sampling >2x no issue. FFT still works with real 2X data. Left-over 90deg-shifted path used for separate data -- 2X throughput? $\endgroup$
    – jekain314
    Commented Jul 14, 2021 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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