I was trying to model the CFO (Carrier Frequency Offset) estimation in MATLAB. The Frame I was working on is of the following structure, yellow being the information data.

enter image description here

How CFO was introduced?

CFO of deltaF was introduced by up converting (baseband to passband) the frame to Fc+deltaF and then down converting (passband to baseband) to -Fc

What I did in Receiver Side?

Extracted the content from the same position of the Reference data in the received Frame.

Correlated between the known Reference data and the extracted content, CFO value deltaF was successfully estimated.

All is good!!

My question is now what is the max limit of CFO that this frame can estimate, because when i increased the value of introduced CFO, the estimation was going wrong after some value. What is the limit of this max possible CFO that can be estimated. I am assuming that will be dependent on the following and more

  • Number of samples in these two Reference Data,
  • Separation between them.
  • Sampling rate.

Thanks in advance.


1 Answer 1


The CFO is estimated specifically from the unwrapped phase difference between two reference samples in time as frequency is the derivative of phase and a difference is the estimate of the derivative. Or more simply, a change in phase versus a change in time is the frequency. See this post for more intuitive details on measuring frequency by two samples delayed in time.

That said, the maximum unambiguous phase difference is $\pm \pi$ from which we can determine the maximum frequency offset in radians/sec given by $\pm \pi/T$ where $T$ is the time difference in seconds.

For this we must know the expected phase at each reference symbol under the condition of no offset. For the case of the reference being multiple symbols, we correlate each with the reference pattern and extract the phase from the complex correlation result.

Note too for correlation the magnitude of the correlation vs frequency offset has a Sinc function response with first null at $f=1/T$, where $T$ is the duration of the correlation sequence. We see this with OFDM and demonstrates why subcarriers are orthogonal. See this post for further intuitive details as to the relationship between correlation and frequency offset.

Also see this link further explaining how correlation would decrease vs frequency offset intuitively:

Derivation of the Optimal Matched Filter - Convolution vs. Correlation

  • $\begingroup$ If there is noise, e.g. circularly symmetric noise of AWGN channels, it seems that the greater $T$ the lower effect of the noise in frequency offset estimation but so is the maximum offset that can be estimated. So is there an optimal $T$ to choose? Is this the tradeoff between robustness and unambiguity? Is this really a tradeoff? If you can add the answers to these questions, with your colorful figures, it would be great. :) $\endgroup$
    – AlexTP
    Commented Mar 29, 2022 at 18:09
  • $\begingroup$ @AlexTP yes good insight! Also specifically with correlation vs frequency offset which goes as a Sinc with null at 1/T—- so the Processing gain is 10Log(N) at 0 offset but drops according to that Sinc function response. $\endgroup$ Commented Mar 29, 2022 at 18:17
  • $\begingroup$ Many solutions are dynamic where a wider range is used during acquisition and then get tightened up for better SNR (performance) while in tracking. $\endgroup$ Commented Mar 29, 2022 at 18:19
  • $\begingroup$ DanBoschen, Thanks for your time and answer. So if the number of samples between the starting of both reference data is 'n' and Sampling rate is Fs, Then T = n/Fs and the max cfo that can be estimated is 1/(2T) And I understand from @AlexTP comment that in noiseless case the length of reference data doesn't matter, even one sample will do, But in case of noise, longer the reference data we can have better CFO estimation. $\endgroup$
    – srk_cb
    Commented Mar 30, 2022 at 15:23
  • $\begingroup$ @srk_cb be careful I have never said that that was "better". $\endgroup$
    – AlexTP
    Commented Mar 30, 2022 at 16:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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