Week 7 – OFDM Prototype

This week of GSoC I dealt with a first approach to perform a OFDM parameter estimation. As mentioned in the last blog post, my milestones where altered to develop a OFDM estimation block. The parameters that should be estimated are

  • Subcarrier spacing
  • FFT length
  • Symbol time
  • Timing offset
  • Frequency offset

The offsets should also be compensated. This week I developed a prototype for a OFDM estimator.

OFDM Estimation

To perform an estimation of the mentioned parameters, I used an algorithm developed in [1]. This work states to have a good robustness against short cyclic prefix lengths and fading channels in comparison to previous agorithms (for instance [2]).

In this paper, four algorithms are presented. I chose to use the cyclic correlation algorithm, because it is able to perform a blind estimation and seems to have a moderate implementation effort.

I implemented a first python prototype of this algorithm and did some performance tests with different SNRs in AWGN and fading channels.

awgn
Correct detection over SNR in AWGN channel (n = 20, Nb = 2, FFT=512, CP=16)
fading
Correct detection over SNR in fading channel (L=10, n=159..226, FFT=512, CP=16)

Currently the algorithm seems to perform nicely. Still, performance is a problem (about 15 secs per estimation). The algorithm is based on a cost function that needs to be maximized. This is currently done with brute force over a set of different parameter values. I’ll proceed with a C++ implementation of that algorithm and then try to implement a more efficient optimizing of the cost function.

Precalculated Taps

As stated in the last blog post, the Signal Separator block now takes JSON files with precalculated filter taps to save CPU load during runtime. I managed to finish the implementation and calculation logic. Now, a user can choose between calculating taps during runtime or using the ones in the provided file. A small python scripts helps to generate such a taps file.

ToDo

  • Implement OFDM estimator in C++
  • Performance test/improvement
  • Begin with synchronization algorithm

 

[1] Bouzegzi, Abdelaziz, Philippe Ciblat, and Pierre Jallon. “New algorithms for blind recognition of OFDM based systems.” Signal Processing 90.3 (2010): 900-913.

[2] Yucek, Tevfik, and Huseyin Arslan. “OFDM signal identification and transmission parameter estimation for cognitive radio applications.” IEEE GLOBECOM 2007-IEEE Global Telecommunications Conference. IEEE, 2007.

Advertisements