WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2015-Nov-02 05:49:55

HanZheng
Member
Registered: 2015-Nov-02
Posts: 1

CFO Correction

Good evening,

we were doing experiments with old WARP version 1 and saw a certain CFO performance using the OFDM reference design. I guess, CFO is corrected using dedicated training symbols and not the 4 pilot tones, right? We are about to port the experiment to new WARP 3 and 802.11 design. Since no training symbols are there, it uses preamble and/or pilot SCs to correct CFO. Do you have practical experience if this improved CFO correction?

Best regards
Han

Offline

 

#2 2015-Nov-02 09:23:56

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: CFO Correction

I don't fully recall how CFO was handled by the OFDM Reference Design (murphpo can comment on that if needed). For the 802.11 design, we use both the preamble and the pilot subcarriers to correct CFO. Basically, CFO is coarsely estimated using the two LTS symbols in the preamble. A correction based on this CFO estimate is applied to the rest of the incoming packet in the time domain by multiplying the I/Q waveform against a complex sinusoid whose frequency is the negative of the estimate. Beyond this, CFO is refined throughout the course of the reception in the frequency domain by using the pilot subcarriers.

When both sides of the link are WARP v3 hardware, the we've found that pilot-based phase error correction typically can deal with all of the CFO -- the preamble stage doesn't add much. This makes sense because WARP v3's oscillators are very good, so there really isn't much CFO between boards. However, when using the 802.11 design to talk to commercial Wi-Fi clients, both stages together are very important because the 802.11 standard allows for much higher variance on oscillators. You need to "get close" with the preamble-based estimation step to reduce inter carrier interference and then use pilots to deal with whatever residual CFO is left after that step.

Offline

 

#3 2015-Nov-02 11:07:36

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: CFO Correction

CFO correction is very similar between the OFDM and 802.11 Reference Designs. Both waveforms have 2.5 repetitions of a long training symbol (LTS) in the preamble. These are used to compute a CFO estimate in the time domain. This estimate feeds a DDS which corrects the CFO of the time domain samples before the FFT. Any residual CFO is corrected in the frequency domain by averaging the phases of the pilot tones in each OFDM symbol. This is all true for both designs.

The difference in preambles between the designs is for channel training. The 802.11 design uses the same LTS for CFO estimation (time domain) and channel training (frequency domain). This requires buffering the incoming sample stream long enough to compute the CFO estimate and apply the correction to the LTS before the first FFT. A small FIFO in the Rx PHY model implements this.

In the OFDM ref design channel estimates are computed from dedicated training symbols following the preamble. This design facilitates channel estimation for SISO and MIMO modes, and avoids having to buffer the LTS in the preamble.

Offline

 

#4 2016-Mar-24 07:00:21

alice_warp
Member
From: Italy
Registered: 2015-Sep-08
Posts: 53

Re: CFO Correction

Good morning,

I have a question. In the wlan_phy_rx, specifically in the CFO Estimation block, what is the output CFO Est Out(last input of the display)? In the simulation, I have seen that this value is around -0.95x10^-6. Can you clarify this point?
Once that this estimation is done, shouldn't it remain the same if the future packets are sent from the same station?

http://s10.postimg.org/7xrdk9so9/cfoestimation.png

Thanks in advance,

Alice

Last edited by alice_warp (2016-Mar-24 07:35:18)

Offline

 

#5 2016-Mar-24 08:26:59

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: CFO Correction

The Rx PHY must estimate CFO for every new received waveform. The PHY cannot know whether a given waveform was transmitted by the same node as the previous waveform- it must start from scratch on every reception when estimating gains, CFO, channels, phases, etc. Also, oscillator frequencies are random and drift on sub-msec timescales. Even if a node is certain an incoming waveform is from the same transmitter as a previous waveform, it must re-estimate CFO in case the frequency of one or both oscillators have drifted.

Offline

 

#6 2016-Mar-29 03:43:29

alice_warp
Member
From: Italy
Registered: 2015-Sep-08
Posts: 53

Re: CFO Correction

Ok. thank you!
Are these CFO values measured expressed in ms or us?

Offline

 

#7 2016-Mar-29 05:04:50

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: CFO Correction

The CFO estimate in the 802.11 Rx PHY is the CFO normalized by the sampling frequency. To compute the CFO in Hz, multiply by the sampling frequency (i.e. cfo_est=1e-4, samp_rate=20e6 -> cfo_hz = 2kHz).

Offline

 

Board footer