# Group delay of the FIR filter

For an FIR filter, with symmetrical tap values $h[N-1-n]=h[n]$,

• why is the group delay $\frac{N-1}{2} T$ (where $N$ is the number of taps of the FIR filter and $T$ is the sampling time)?
• Why is linear phase so important for the filter response?
• Have a look at the book Oppenheim Schafer, Digital Signal Processing, section 5.7. They have quite a good explanation about this. It's the bible of signal precessing and will give you real precise answers – Rouven Dec 7 '17 at 8:54
• Good overview at MathWorks: Compensate for the Delay Introduced by an FIR Filter. – Danijel Aug 23 '18 at 13:09

To be precise the group delay of a linear phase FIR filter is $(N-1)/2$ samples, where $N$ is the filter length (i.e. the number of taps). The group delay is constant for all frequencies, because the filter has a linear phase, i.e. its impulse response is symmetrical (or asymmetric). A linear phase means that all frequency components of the input signal experience the same delay, i.e. there are no phase distortions. So for a frequency selective filter (e.g., a low pass filter), if the input signal is in the passband of the filter, the output signal is approximately equal to the input signal delayed by the group delay of the filter. Note that in general FIR filters do not have a linear phase response. In this case, the group delay is a function of frequency.

EDIT:

Consider an odd length FIR filter with even symmetry ("type I filter"). In this case the group delay is an integer number of samples $K=(N-1)/2$. The filter has a linear phase response (because the group delay is the negative derivative of the phase) and the filter's frequency response can be written as

$$H(\omega)=A(\omega)e^{-jK\omega}$$

where $A(\omega)$ is the real-valued amplitude function, and $\phi(\omega)=-K\omega$ is the (linear) phase. If the input signal's Fourier transform is $X(\omega)$, then the Fourier transform of the output signal is given by

$$Y(\omega)=H(\omega)X(\omega)=A(\omega)X(\omega)e^{-jK\omega}\tag{1}$$

Now assume that the frequency content of the input signal is in the passband of the filter, i.e. in the frequency region where $A(\omega)\approx 1$ holds. Then from (1) the output signal's spectrum can be written as

$$Y(\omega)\approx X(\omega)e^{-jK\omega}\tag{2}$$

and, from the shift property of the Fourier transform, the output signal is (approximately) given by

$$y(n)\approx x(n-K)$$

i.e. $y(n)$ is a delayed version of the input signal, where the delay is given by the group delay $K$.

• the highest weight is assigned to the middle coefficient. so the output of the filter will follow the input only after (N-1)/2 samples. Is this why the group delay is (N-1)/2? – Jayesh Parmar Oct 2 '14 at 9:37
• @JayeshP: Not really, because the middle coefficient (assuming that $N$ is odd) is not necessarily the largest coefficient, even though in practice it often is. I'll try to add more explanation to my answer later. – Matt L. Oct 2 '14 at 10:02
• If N is even, the group delay will be ((N/2)+(1/2))T? – Jayesh Parmar Oct 2 '14 at 10:42
• @JayeshP: If $N$ is even, the equation that Matt gave in his answer still holds. In this case, you have a non-integer-sample group delay, which is sometimes undesirable. – Jason R Oct 2 '14 at 11:50
Why is the group delay constant and close to half of the number of taps in this symmetric tap filter ($h[N−1−n]=h[n]$)? The answer lies in it being symmetric. Note that the $n^{th}$ tap (coefficient) of an FIR filter can be seen as delay of $n$ "sampling intervals" (or $n$ samples).
Thus, if you pick a pair of "symmetric" taps/coefficients of this filter (say at $n_1$ and $N-n_1-1$), and pass a sinusoidal signal, $\sin(\omega t)$, through this pair, you would see that the output of this passing is a sinusoidal signal of the same frequency $\omega$ but with a delay which is an average of the two tap delays, i.e., $(N-n_1-1+n_1)/2 = (N-1)/2$. It is simple math, i.e., try adding $\sin(\omega t-t_0-t_1)$ and $\sin(\omega t-t_0+t_1)$, the sum is $K*\sin(\omega t-t_0)$. Do this for all $N/2$ pairs and you will find all will have a time delay of $t_0 = (N-1)/2$. Please excuse my extreme brevity and delay in replying. I hope I got the point across.