https://dsp.stackexchange.com/a/67221/69442 What is the name of this FFT-based technique whose code is given in the answer and whose link I added above? Can I find information about this in any paper?

  • $\begingroup$ Please link to the answer you mean, because ordering of answers is different depending on your site settings. Why are you instead linking to your own answer? $\endgroup$ Commented Oct 2, 2023 at 14:05
  • $\begingroup$ Please write a more descriptive title. "Name of algorithm based on …" would be a good start. $\endgroup$ Commented Oct 2, 2023 at 14:10
  • $\begingroup$ that title really isn't better. And you still haven't fixed the link to actually link to the algorithm. $\endgroup$ Commented Oct 2, 2023 at 14:33
  • 1
    $\begingroup$ Can you help me if you understand my problem instead of correcting my question? $\endgroup$
    – caneng
    Commented Oct 2, 2023 at 14:38
  • $\begingroup$ Sorry, I needed you to correct your question to understand what you're referring to. This did not happen out of bad intent. $\endgroup$ Commented Oct 2, 2023 at 15:51

2 Answers 2


You can find very similar implementations as part of a "squaring loop" for carrier recovery, and this would be the closest name related to the fundamental operation provided - which is not the FFT itself but raising a signal to a power for purpose of recovering the carrier. The carrier recover approach of raising the signal to a power is often followed with a phase lock loop as a clean up operation for the recovered carrier as part of an overall carrier recovery loop, hence "squaring loop". For this purpose, I would not recommend using an FFT, except perhaps in some cases for initial acquisition, given the intention is to track a single frequency component.

With oversampled waveforms it is feasible to recover the carrier through squaring loops, best demonstrated by considering squaring an unshaped BPSK signal. The modulated signal goes from 0 to 180 degrees. If you square it, you also double the frequency and double the phase, resulting in having the modulation stripped and a pure tone at 2x the carrier. For QPSK we need to raise to the 4th power and similarly the carrier will be at 4x and the modulation will be stripped (and then we frequency divide by 4 to get the recovered carrier). Once the waveforms are pulse-shaped, modulation noise will also be present at the frequency of the recovered carrier. Typically a PLL would track the strong spectral line and filter out the lower level modulation noise, which would form the completed carrier tracking loop).

This approach may not be as feasible for a digital IF waveform (given the much higher sampling rate needed) but for a complex baseband waveform with relatively small frequency offsets (due to Doppler and clock variances) this is a viable approach to measure and correct for frequency and phase offsets.

In many cases raising higher order modulations to just the 4th power is sufficient for carrier recovery as demonstrated by the spectrums for a 16-QAM modulated waveform at baseband with a small carrier offset, before and after being multiplied to the 4th power. From the FFT we see the "double-squaring" has resulted in a strong specular line at 4x the carrier offset frequency. A digital PLL can then lock to this line and filtering the recovered carrier based on the PLL loop BW.

raising QAM to the 4th power

  • $\begingroup$ Thank you for explonation. Any chance to explain the fine estimation part? The important part for me is the fine estimation part. $\endgroup$
    – caneng
    Commented Oct 7, 2023 at 13:37
  • $\begingroup$ This post should help you: dsp.stackexchange.com/questions/17297/… $\endgroup$ Commented Oct 8, 2023 at 2:42

I'm not aware that this has a generally accepted name. I'd call it

timing recovery through removal of data from $M$-PSK through taking the $M$th power

but I've heard it being called simply "squaring trick" for BPSK/DSSS signals (GPS, specifically), or "$M$th root of 1 timing recovery", but a cursory search points out no references to these terms.

So, probably, no fixed name exists. Sorry.

  • 1
    $\begingroup$ As said, probably no name exists. This type of question, "can you tell me what the name of this algorithm is" does come up once in a while. Most of the time, it's students that actually want to read up on something (very good!) and don't know where to start. So, I'd invite you that if you have a question about the algorithm itself (instead of about its name), you could also ask that in a new question here! $\endgroup$ Commented Oct 2, 2023 at 15:56

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.