2
$\begingroup$

I was trying to design a filter for a system and I was able to obtain the group delay plot in matlab using grpdelay. The group delay output is in samples. However, I was not able to relate that data to the propagation delay of the signal through the filter. Is there a formula between these two quantities?

Also, if I were to change the magnitude of the input signal in a step (keeping the frequency constant), how long would this change take to propagate to the output? Would that depend on the group delay or phase delay or would it depend on the filter order?

For example, if the filter cutoff is 5000Hz and I have unity gain at 500Hz and Group delay of 15 samples and Phase delay of pi radians, then if I send a 500Hz signal through the filter, after how many samples would I get it at the output? Assuming sampling frequency is 10000Hz.

$\endgroup$
6
  • $\begingroup$ I read these articles and a few more and got a better understanding. However a doubt remains. So if I supply a constant single frequency then the delay introduced in the signal is given by the phase delay at that frequency. Is my understanding correct. If I change the mag of the signal (or freq) then how long later does that show up in the output? Is that given by the group/phase delay or impulse/step response? Or is that given by the order of the filter? $\endgroup$
    – arun_kol
    Feb 20, 2021 at 3:48
  • $\begingroup$ @aconcernedcitizen, I edited the question to clarify difference $\endgroup$
    – arun_kol
    Feb 20, 2021 at 5:46
  • $\begingroup$ I don't think this question is a dupe because the answer might be neither phase delay nor group delay. $\endgroup$
    – Matt L.
    Feb 20, 2021 at 16:03
  • $\begingroup$ @MattL. When I read it the first time, it seemed as if OP is looking for yet another clarification about pd/gd. I deleted that comment, though. $\endgroup$ Feb 20, 2021 at 16:06
  • $\begingroup$ @aconcernedcitizen: Yes, I saw that, but still wanted to clarify because there are already 3 close votes, so there are more people who think it's a duplicate. $\endgroup$
    – Matt L.
    Feb 20, 2021 at 16:10

1 Answer 1

2
$\begingroup$

The quantity you might be looking for is signal-front delay, which is the delay of the beginning of a signal passing through a linear system. It is simply the largest value $\tau_{sf}$ (in samples) for which

$$h[n]=0,\qquad n<\tau_{sf}\tag{1}$$

is satisfied, where $h[n]$ is the system's impulse response.

If an input, or change in the input, starts at $n_0$, then the system's response to it begins at $n_0+\tau_{sf}$.

If the impulse response has a long period of pre-ringing, the signal-front delay is generally much smaller than the actual propagation delay. In that case, definition $(1)$ can be modified as

$$\big|h[n]\big|<\delta,\qquad n<\tau_{sf}\tag{2}$$

where $\delta$ is a positive constant which is small compared to the maximum value of $h[n]$.

Depending on the nature of the impulse response, another meaningful definition of signal delay introduced by a linear system could be the center of gravity of the impulse response:

$$\tau_{gr}=\frac{\displaystyle\sum_n nh[n]}{\displaystyle\sum_n h[n]}=\frac{jH'(0)}{H(0)}\tag{3}$$

where $H(\omega)$ is the system's frequency response, and $H'(\omega)$ is its derivative w.r.t. to $\omega$. Note that $\tau_{gr}$ is simply the group delay evaluated at $\omega=0$.

Using the center of gravity as an estimate for signal delay is only useful for systems with a lowpass characteristic. For other systems (such as highpass or bandpass filters), the denominator of $(3)$ could be zero or very close to zero. For that reason, for general systems one would exchange $h[n]$ in $(3)$ for either its magnitude or its square.

Note that unlike phase delay and group delay, neither signal-front delay (including its modified form $(2)$) nor the center of gravity are functions of frequency.

$\endgroup$
5
  • $\begingroup$ Once I thought about this from the group delay's perspective: construct the Heaviside function as a band-limited version by summing odd sines to cover the sampling frequncy of the filter. Each sine would be multiplied by the value of the group delay at that frequency. This should result in the band-limited response of the system and serve as a crude way of having a numeric approximation for the system's step response. That was the plan, but it failed. I guess the thought was wrong. $\endgroup$ Feb 20, 2021 at 15:50
  • $\begingroup$ @aconcernedcitizen: I guess one problem is that a sine at frequency $\omega_0$ is not delayed by the group delay at that frequency but by the phase delay. $\endgroup$
    – Matt L.
    Feb 20, 2021 at 15:55
  • $\begingroup$ At DC, the group delay and the phase delay is the same thing. $\endgroup$ Feb 20, 2021 at 15:55
  • $\begingroup$ @robertbristow-johnson: That's right, if both functions exist at DC, and if $\phi(0)=0$. $\endgroup$
    – Matt L.
    Feb 20, 2021 at 15:59
  • $\begingroup$ @MattL. True, but that would be the DC, itself, and the DC should be the Heaviside, at t=0+, and the Heaviside would be the sum of sines (supposedly), which can't have the \$\omega_0\$, ...ouroboros. In the end what's left is the measurement. $\endgroup$ Feb 20, 2021 at 16:05

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