I am trying to implement OFDM on gnuradio. I have two questions.

  1. The sampling frequency which is slightly higher than available bandwidth satisfies Nyqvist criterion for complex baseband signals. So why do we need to add oversampling factor again? Suppose say oversampling factor is 2. How does that help us in recovery of input signal?

  2. I have seen in an OFDM implementation that

$$ t_{\rm symbol}=t_{\rm sampl} *(N_c+N_G)*{\rm oversamplingrate } $$


$t_{\rm symbol}$ = Symbol duration,

$t_{\rm sampl}$=sampling duration,

$N_c$ = No. of subcarriers consisting of data and pilot

$N_G$ = No. of guard band taps.

How does this formula come about? I also have a doubt as to whether each subcarrier corresponds to a single symbol or you can have multiple symbols per subcarrier. What is parameter that decides this?


2 Answers 2

  1. Theoretically, you're right. When all subcarriers are modulated the (baseband) bandwidth of an OFDM signal is approximately $f_\mathrm{s}/2$, where $f_\mathrm{s}$ is the sampling rate. An ideal rectangular filter before A/D conversion would be needed at the receiver to avoid anti-aliasing. As such a filter cannot be implemented in practice, some subcarriers remain unmodulated to make the OFDM spectrum narrower. This zero padding in frequency domain corresponds to oversampling in time domain.
  2. An OFDM symbol including guard interval consists of $N_\mathrm{c} + N_\mathrm{G}$ samples each of which has duration $1/f_\mathrm{s}$, where $N_\mathrm{c}$ is the number of subcarriers (equal to IDFT length) and $N_\mathrm{G}$ is the number of guard interval samples. The "oversamplingrate" parameter in the source you referenced seems to be some additional oversampling factor of the transmit signal. What it's needed for, I don't know, because I don't know this software project.

Regarding the terminology of symbols: in OFDM each subcarrier is modulated by a complex value. All subcarriers keep their values during the duration of the OFDM symbol. Sometimes these values are also called symbols because they're usually taken from an QAM alphabet. A subcarrier cannot contain several symbols at a time. To sum it up:

  • symbol: Value of a subcarrier
  • OFDM symbol (in time domain): entity of all time domain samples that are obtained by taking the IDFT of all subcarriers plus the guard interval.

The OFDM symbol rate is therefore given by

$$ R_\mathrm{s} = \frac{f_\mathrm{s}}{N_\mathrm{c} + N_\mathrm{G}} $$

Note that the number of zero padded subcarriers is irrelevant for the calculation of $R_\mathrm{s}$.

  • $\begingroup$ 1. So if i pad with zeros on the time domain side of subcarriers, then that corresponds to oversampling in frequency domain to prevent aliasing. have i got it right? $\endgroup$ Apr 30, 2013 at 11:22
  • $\begingroup$ Secondly what is the relation between fs and symbol rate. Does sampling rate equal to one symbol. Is there a possibility of having multiple symbols in a subcarrier in ofdm. The reference of formula is in robin klose's ofdm implementation on warp.The link is github.com/r3nk/WARPLab-OFDM/blob/master/ofdm_func.m $\endgroup$ Apr 30, 2013 at 11:25
  • $\begingroup$ 1. No, it's the other way round, cf. my answer. 2. I've edited my answer. $\endgroup$
    – Deve
    Apr 30, 2013 at 13:03
  • $\begingroup$ I got the oversampling part. Is it possible for you to explain about the ofdm samples in time domain. I am unable to visualise it to understand the formula you have given. All I am thinking is each subcarrier has only one symbol which is a complex baseband value .But how is it related to the way you sample it. How do you ensure that you sample at each subcarrier boundary exactly to obtain the complex value modulated. If there's a figure, that would be great. $\endgroup$ May 1, 2013 at 4:43
  • $\begingroup$ I'm not sure what you mean with sampling here. At the transmitter signal generation is digital. Sampling happens at the receiver. $\endgroup$
    – Deve
    May 1, 2013 at 8:05

As the questioner refers to my code at github in the comments, I'd like to clarify.

  1. There is no need to apply oversampling in OFDM, nor is oversampling required to recover input signals. However, in practical implementations you have to consider some additional constraints regarding the signal's bandwidth. The WARP v2 radio board is clocked with 40 MHz, i.e., the Nyquist frequency is 20 MHz. However, the WARP v2 architecture limits the generated baseband signal's bandwidth to ~10 MHz by TX and RX lowpass filters. This is a meaningful measure to avoid unpleasant aliasing effects. Hence, the OFDM signal's bandwidth should be limited to 10 MHz in the baseband. You can easily achieve this by padding all subcarriers above 10 MHz with zeros. This will work perfectly well. An alternative (but probably rather uncommon) way to reduce the bandwidth is to apply 2x oversampling while using the majority of all subcarriers. I implemented oversampling in my generic (not-OFDM-related) transmission procedure and finally enabled it in my OFDM code as I could achieve a slightly higher SNR in our office environment with infrequent interference and some narrowband interference. However, you can safely disable oversampling in my code and apply zero-padding instead.

  2. An OFDM symbol is the time-domain representation of the symbols concurrently transmitted over all subcarriers. It consists of just as many samples as there are OFDM subcarriers since it is calculated as the IDFT of all subcarriers' symbols. When adding the cyclic prefix, you add $N_G$ samples. The duration in seconds is the number of samples times the time per sample. When oversampling, the symbol duration extends according to the oversampling factor.

Kind regards, Robin


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.