I need to apply a phase ramp in the frequency domain to a signal in order to apply a delay to it in the time/digital domain. However, I am confused by the fact that if I convert the phase ramp into delay I get a different delay per frequency, which sounds weird. Maybe I am mixing the concepts of phase delay and group delay. Instead, if I compute the group delay then I get only a single delay.

If I convert the phase (of the phase ramp) at each frequency to delay this way:

$\tau_i=\frac{\phi_i}{2\pi f_i}$

I get a different delay per frequency. So only in particular conditions (when the phase ramp has a slope $2\pi\tau $ the phase ramp could be converted to a constant delay per frequency

Computing the group delay instead would be:

$\tau_D=\frac{\Delta\phi}{2\pi\Delta f}$

And I would get a single delay value, which by the way it's totally different to the delay computed earlier. So in the end I don't know by how much should I delay in time really.

  • $\begingroup$ "However, I am confused by the fact that if I convert the phase ramp into delay I get a different delay per frequency, which sounds weird." You don't; that's not what the Fourier transform does. $\endgroup$ Commented Apr 4 at 10:03
  • $\begingroup$ I think your problem might be that you forget that you're looking for delay in the time domain, but instead of transforming your frequency-domain phase ramp into the time domain, you calculate something in the frequency domain. That's not how that works! Are you perhaps confusing in which domain you multiply and in which domain you want to convolve with your time-shifting system? $\endgroup$ Commented Apr 4 at 10:20
  • $\begingroup$ In essence I'm doing a beamforming correction somehow. In the analogue domain I apply only a phase shift calculated for the central frequency so for the full bandwidth I do a phase 'correction' in the digital domain. As you say this is 'something else' than just converting delay to phase. However, it is still a phase ramp. In order to apply that, I should use a kind of delay filters or just apply the ramp in the freq domain? $\endgroup$
    – Albert
    Commented Apr 4 at 11:25
  • $\begingroup$ can you tell me what you mean when you say "apply the ramp"? (precisely, please, starting from your received time-domain data) $\endgroup$ Commented Apr 4 at 11:27
  • $\begingroup$ so my time-domain analogue data is phase shifted in each of X=32 phase centres, then data is combined in groups of 4, and the output Y=8 channels are digitized. As the applied phase shift was only valid for the central freq I will need to apply a different phase shift per frequency now in the digital domain to the Y channels (it won't be perfect but it's something). The phase to apply at the central frequency is then 0 because it was initially well applied in the analogue domain.So that's what I mean with a 'apply a phase ramp' with 0 phase for central frequency. $\endgroup$
    – Albert
    Commented Apr 4 at 11:45

1 Answer 1


Be careful that you are not mixing phase with delay, they are two different parameters (for example, we can have a phase rotation with no delay). A delay in time is a negative linear phase in frequency given by the Fourier Transform of a time delay as:

$$x(t- \tau) \leftrightarrow X(f)e^{-j2\pi f \tau}$$

So if we want to shift the time domain signal by $\tau$, and we are working in the frequency domain as the FFT of a signal, then we rotate the phase for each FFT bin at frequency $f$ according to $\phi = -2 \pi f \tau$.

Group Delay is the negative derivative of phase with respect to angular frequency $\omega$ as $-d\phi/d\omega$. Given $\phi = -2\pi f \tau = -\omega \tau$, then Group delay is $-d\phi/d\omega = \tau$.


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.