1

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.

srk_cb
  • 415
  • 3
  • 13

1 Answers1

3

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

Dan Boschen
  • 50,942
  • 2
  • 57
  • 135
  • 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. :) – AlexTP Mar 29 '22 at 18:09
  • @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. – Dan Boschen Mar 29 '22 at 18:17
  • Many solutions are dynamic where a wider range is used during acquisition and then get tightened up for better SNR (performance) while in tracking. – Dan Boschen Mar 29 '22 at 18:19
  • 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.

    – srk_cb Mar 30 '22 at 15:23
  • @srk_cb be careful I have never said that that was "better". – AlexTP Mar 30 '22 at 16:16
  • @srk_cb not quite complete: the longer reference data used will have less range over which an offset can be measured. Better SNR but less total range. – Dan Boschen Mar 30 '22 at 17:07
  • DanBoschen , slowly thinking and understanding, Once again Thanks @AlexTP, :) – srk_cb Mar 31 '22 at 10:28
  • See this related link in how a delay followed by a complex conjugate product can be used as a frequency estimator. https://dsp.stackexchange.com/questions/51889/what-exactly-is-a-90-degree-phase-shift-of-a-digital-signal-in-fm-demodulation-a/51898#51898 – Dan Boschen Mar 31 '22 at 10:35
  • @DanBoschen why is the max CFO 1 / (2T) and not the bandwidth defined by the first null, 1/T? Granted the latter will be much weaker, but, I would define the CFO detection range to be +/- 1/T. – BigBrownBear00 Nov 30 '22 at 00:38
  • @BigBrownBear00 yes for the very reasons you stated— at 1/T you are in a null so would not be practical to assume operational use there – Dan Boschen Nov 30 '22 at 02:13
  • @DanBoschen I re-read your answer and comment, and believe we are talking about two different things. Correct me if I'm wrong, but if you estimate the CFO from a single reference, then the frequency correction is limited to +/- 1/T, where T is the time span of the reference signal. But if you estimate the CFO from two separate references, then the max frequency correction is +/- 1/2T. Sound right? – BigBrownBear00 Dec 01 '22 at 00:12
  • @BigBrownBear00 I'm not sure I follow; I'd have to see a diagram of what exactly you are referring to (post it with the full details if this is indeed a question you have). I agree with your first comment that the first null would be 1/T, with a null to null bandwidth of the main correlation lobe to be 2/T. The useful range would be something less than this depending on SNR threshold. – Dan Boschen Dec 01 '22 at 03:06