***59

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.

Signal Up/Down conversion

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.

802.11a OFDM short preamble

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.

plot of frequency offset estimate using 802.11a short preamble

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

[802.11A] Wireless LAN Medium Access Control (MAC) and Physical (PHY) Layer specifications - High speed physical layer in 5GHz band

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.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

If you liked this post, you may leave a comment below, or subscribe to the RSS feed.

You may also find these posts relevant...
  • Articles
  • Digital implementation of RC low pass filter
  • First order digital PLL for tracking constant phase offset
  • Understanding an OFDM transmission
  • Interpreting the output of fft() operation in Matlab
  • Comments

    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!

    Krishna, your blog is also added in my blog roll, so that visitors can come here too…

    @ Abishek: Thanks. I have added your blog to my blogroll too.

    In your example for the frequency offset, 20ppm for 5.8Ghz center frequency, the frequency offset should be +/- 116kHz

    @Bheema: Note that the transmitter can have a +20ppm and receiver a -20ppm offset. Hence the estimation capability should be 5.8e9*40e-6/1e3 = +/-232kHz.

    BTW, are virtual carriers used in practice for frequency offset estimation in 802.11a

    @Bheema: As I understand, using virtual carriers for frequency offset estimation is an iterative computational intensive process, hence not typically used in 802.11a.

    Having said that, big plus of using virtual carriers is that it has a bigger estimation range. So, in cases where the frequency offset is large a coarse estimate using virtual carriers + fine estimate maybe warranted.

    Infact, while at Stevens Institute of Technology, I worked under the guidance of Prof. Tureli to demonstrate experimentally the frequency offset estimation using the virtual carriers. The summary can be found here -
    U. Tureli and K. M. Pillai, “Analytical and Experimental studies on carrier frequency offset estimation algorithms for OFDM systems,” in 37th IEEE Asilomar Conference on Signals, Systems and Computers (Asilomar’03), Nov. 2003, vol. 1, pp.174-178.

    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.

    Leave a comment

    (required)

    (required)