# Fractional Delay using Polyphase Filter

How to use rectangular window design to design a length-9 polyphase filter which delays an input signal by 3/5 of a sample? An expression for the 9 coefficients is required.

• Why do you need a polyphase filter, if you just want to implement a single fractional delay. A single FIR filter will be fine for this. With 9 tabs you not going to get particularly good results. Where does that come from ? Rectangular window is also a sub-optimal design method. Why that ? – Hilmar Jul 26 '18 at 21:34
• This was my exam question. :) – Debasish Jana Jul 26 '18 at 22:13

Just sample a Sinc function at the appropriate phase offset, and truncate the FIR as needed to meet your rectangular window length requirement. You only need 1 phase for a constant delay while keeping the same sample rate.

• i think the OP needs the $\operatorname{sinc}()$ function to be 9 taps. so a good window is needed. i would suggest a kaiser window with a $\beta \approx 5$ i think. – robert bristow-johnson Jul 28 '18 at 9:13

Since the question was how to specifically implement this with a polyphase filter, I offer the following:

Such a true polyphase filter structure could be done by designing the base FIR filter with 9*5 = 45 taps and then mapping this to polyphase using row to column mapping of the taps in the one 45 tap FIR filter to 5 9 tap polyphase filters. In this approach each filter out would be an additional 1/5 of the delay, so choose the 3rd filter to get 3/5.

See the Interpolator implementation at this link for further details on how to construct the Polyphase Filter: How to implement Polyphase filter?

Each output of the polyphase filters in the interpolator is a delayed version of the same signal (hence how interpolation can be performed with these structures). Each filter is an allpass filter with a different delay (hence "poly-phase").

A windowed sinc filter with 9 taps has an inherent delay of around 4 taps, so depending on the context this could be useless. A fractional delay using an allpass filter might be a better choice.

• are you Stefan Stenzel??  in any case, welcome. – robert bristow-johnson Sep 26 '18 at 18:31
• Hi Robert, it is me indeed! Thanks for the welcome! – Stenzel Sep 28 '18 at 6:25