1

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.

Debasish Jana
  • 311
  • 1
  • 6
  • 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

3 Answers3

2

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.

hotpaw2
  • 35,346
  • 9
  • 47
  • 90
  • 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 09:13
1

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").

Dan Boschen
  • 50,942
  • 2
  • 57
  • 135
0

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.

Stenzel
  • 131
  • 4