Frequency offset estimation using 802.11a short preamble
From the previous post on OFDM (here), we have understood that an OFDM waveform is made of sum of multiple sinusoidals (also called subcarriers) each modulated independently. In this post, let us try to understand the estimation of frequency offset in a typical OFDM receiver (using the short preamble specified per IEEE 802.11a specification as a reference).
Understanding frequency offset
In a typical wiress communication system, the signal to be transmitted is upconverted to a carrier frequency prior to transmission. The receiver is expected to tune to the same carrier frequency for downconverting the signal to baseband, prior to demodulation.
Figure: Up/down conversion
However, due to device impairments the carrier frequency of the receiver need not be same as the carrier frequency of the transmitter. When this happens, the received baseband signal, instead of being centered at DC (0MHz), will be centered at a frequency , where
.
The baseband representation is (ignoiring noise),
, where
is the received signal
is the transmitted signal and
is the frequency offset.
Frequency offset estimation in 802.11a OFDM preamble
From the IEEE 802.11a specifications (Sec 17.3.3), it can be observed that each OFDM packet has a preamble structure formed using 10 short preambles of duration each. This short preamble is constructed by defining 12 subcarriers only (out of the available 52 subcarriers) where the modulation of individual subcarriers ensure a low peak to average power ratio.

Figure: OFDM short preamble 802.11a specification
From the equation defined in the previous section,
.
Given that short preamble is perodic with ,
.
At the receiver as both and
are known,
.
Taking angle() of both sides of the equation
.
So, the frequency offset is,
.
Simulation model
Simple Matlab/Octave script simulating generation of 802.11a short preamble, introducing frequency offset of 200kHz and estimating frequency offset is provided. Click here to download.

Figure: Plot of frequency offset estimate using 802.11a short preamble
As can be observed starting from sample number 17 (i.e. after ) and till samples number 160 (
) the frequency offset estimate is available. For improving accuracy in the presence of noise, typically the output
is accumulated prior to computation of angle.
Maximum possible frequency offset which can be estimated
It is known that limits of the phase estimated by the angle() function is from . Plugging this to the above equation, the minimum value of frequency offset value which can be estimated is,
and the maximum value is,
.
From Sec17.3.9.4 (of IEEE 802.11a specification), the center frequency tolerance is . With a carrier frequency of 5.8GHz, this specification corresponds to a frequency offset within the range
. Thankfully, this is within the ‘estimatable’ range of frequency offsets which which can be estimated by the short preamble
.
Note:
We have not discussed the effect of inter carrier interference (ICI) between the sub-carriers which happens in the presence of frequency offset. Maybe we can discuss in a later post.
References
Hope this helps.
Krishna
Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN. Thanks for visiting! Happy learning.
If you liked this post, you may leave a comment below, or subscribe to the RSS feed.
You may also find these posts relevant...
Comments
In your example for the frequency offset, 20ppm for 5.8Ghz center frequency, the frequency offset should be +/- 116kHz
Hi krishna,
I am new to OFDM and I am using all your programs and articles to get a better understanding of the concept. In the matlab script , the following lines
“% concatenating multiple symbols to form 10short preamble
outputShortPreamble = [outputiFFT outputiFFT outputiFFT(1:32)]; ”
you have said that you are forming 10 short preamble but the code is concatenating only two symbols and half of the thrird symbol. How does it account for 10 symbols.
Can you give me a hint on what that peice of code does?
I have got another question, if I am going to transmit an OFDM data with 10 short preambles and then 2 long preambles, do I have to add prefix to all the 12 training symbols individually?
Than you.





























Hey Krishna! Thanks for visiting my blog & commenting. Btw, i won’t be here in B’lore during that time…hoping to meet you next time at some other event…till then, keep blogging!