I am studying on the implementation of a continuous stream OFDM baseband modem. Googling and also searching here on stackexchange for synchronization techniques I found the descriptions of several existing algorithms, depending on the specific system features, but no detailed implementation of a time-frequency synchronization algorithm for continuous stream systems (like DVB-T/T2, etc).

Can anyone suggest any link/reference? Any other information will be welcome of course.

Also, many technical papers report synch algorithms for packet oriented systems like 802.11 or WiMax. A continuous stream system should need a less complex synch technique, with the possibility to average the received signal metrics over the time, is my assumption correct?

  • $\begingroup$ Here is a book e.g. opus4.kobv.de/opus4-fau/files/617/…. DVB-T and 802.11a are shown in comparison. Seems promising. $\endgroup$ – Serj Jul 25 '14 at 9:17
  • $\begingroup$ Thanks for the interesting link, it is for sure a good starting point. Actually I hoped to find something that could provide still more implementation details as a guideline for all the practical problems and related solutions, since I have never realized an ofdm modem before. $\endgroup$ – Alex2014 Jul 25 '14 at 10:07
  • 2
    $\begingroup$ begin to model some of the algorithms and you'll collect many specific questions soon. In general it's very large topic to fit into one answer. $\endgroup$ – Serj Jul 25 '14 at 10:29

Standards will generally not help you here, because they just define the training sequences but leave it to the implementation how to use those. In the 802.11 standard, for example, I'm quite sure they had Moose's method [1] in mind when designing the training sequence but there are no details on how to actually perform frequency offset and timing offset estimation. (Actually, there's no reason to limit sync algorithms by the standard. It would be annoying for someone who comes up with a better idea)

Even continous stream systems most probably have a frame structure which includes periodic training sequences to update the channel estimation. The first step in your sync algorithm must be to find this frame start. You have to sync onto the known training sequence and thus this is a data-aided method. There's a lot of literature on this topic and I would start with [2]. Of course, you could just correlate the incoming signal with the known training sequence but this is quite computationally complex and has poor performance in dispersive channels.

For fine synchronization during the stream, the guard interval or the periodically transmitted training sequences can be used. From my experience the guard interval method has poor performance in dispersive channels.

[1] P. H. Moose, “A technique for orthogonal frequency division multiplexing frequency offset correction,” IEEE Trans. Commun., vol. 42, no. 10, pp. 2908–2914, 1994.

[2] T. M. Schmidl and D. C. Cox, “Robust frequency and timing synchronization for OFDM,” Commun. IEEE Trans., vol. 45, no. 12, pp. 1613–1621, 1997.

  • $\begingroup$ Thanks Deve. Actually I also know that several continuous stream systems (e.g. DVB-T/2) use periodic training sequences to reach frame and frequency sync. If I got your point, from your experience guard interval methods are better used to improve sync performance in the short period (say between a training sequence and the other)? If so, can you explain why? $\endgroup$ – Alex2014 Feb 6 '15 at 17:11
  • $\begingroup$ Yes. When using methods based on the guard interval only symbol synchronization (also called FFT window sync) can be achieved but not frame synchronization. However, in order to distinguish payload data and training sequences you have to know where a frame begins. $\endgroup$ – Deve Feb 6 '15 at 17:18
  • $\begingroup$ Yes, you're absolutely right, of course one needs some frame sync algorithm to demodulate meaningful data, to apply FEC, etc. But suppose you could reach this synchronization in a different way (e.g. using binary data formatting), would a training sequence still be needed? I mean, being used in packet data systems of course it has better performance, but would you really need it even in a continuous stream system, in which you can leverage the continuous transmission/reception of data? I still have doubts on this point. $\endgroup$ – Alex2014 Feb 9 '15 at 10:19
  • $\begingroup$ A training sequence is generally used for timing synchronization, carrier frequency offset estimation and channel estimation. If all those parameters are estimated blindly the training sequence (TS) can be omitted. I think this is rarely done because blind estimation methods are less robust and computationally more complex. In contrast, training sequences introduce a relatively small overhead. If you compare it to the FEC overhead which is easily 100% in wireless systems, the TS overhead is negligible. $\endgroup$ – Deve Feb 9 '15 at 10:32

A good starting point for synchronization in generalized OFDM is: "On Synchronization in OFDM Systems using the Cyclic Prefix", Van De Beek et. al.

AWGN noise will corrupt your symbols, resulting in an error for your synchronization estimates. You could leverage the fact that you are streaming data, and average the symbol timing offset (STO) and carrier frequency offset (CFO) over multiple symbols in the stream using the cyclic prefix. Or instead of averaging, you could use a proportional-integral (PI) feedback controller to constantly update your estimates for each new symbol in the stream. In steady-state, you should have a pretty good estimate of the actual STO and CFO.

EDIT: Here is a great review paper on the subject. The paper can be found on Google Scholar. Furthermore, it describes synchronization using PI control on pages 1407-1409.

[1] Morelli, Michelle, C-CJ Kuo, and Man-On Pun. "Synchronization techniques for orthogonal frequency division multiple access (OFDMA): A tutorial review." Proceedings of the IEEE 95.7 (2007): 1394-1427.

  • $\begingroup$ Thanks miker. I have been reading quite a lot of documents regarding OFDM sync algorithms but I've never read about proportional-integral (PI) feedback controller. Do you have any link to share? $\endgroup$ – Alex2014 Feb 6 '15 at 16:53
  • $\begingroup$ Here is an introduction to PID theory: en.wikipedia.org/wiki/PID_controller $\endgroup$ – miker Feb 6 '15 at 17:54

I don't know if it is correct for me to answer my own question but I found this article which seems to provide the information I requested, at lease partially, describing an NDA synchronization algorithm.

I am following Serj's suggestion trying to implement the algorithm described but I don't understand one thing: at page 31, eq. (16) shows the formulas for time and frequency offsets. The time offset (Step 1) is calculated as a function of ρ which depends on the signal and noise power, as reported at page 30. Is the algorithm incomplete or, otherwise, how can I estimate the noise power at the receiver end?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.