# Interpolated impulse response for fraction delay?

I need to find a way to create some fractional delay in a signal processing application that I am working on. Separately to this, I have been messing around with basic filter design (despite reading alot about them, including in the Scientists and engineers guide to DSP, I have still only basic understanding of filters).

During the course of this experimentation, I noticed that one of the random filters I was messing around with caused a delay of 3 samples, and that the impulse response was centred at 3 samples. I have gone back over relevant pages in the DSP guide and now understand what it says better, and that this should be the case.

So, by my current understanding, if I was to create a filter with an impulse response of:

1, 0, 0, 0, 0, 0 (starting at sample 0)

it would pass the signal unchanged.

if I had an impulse response of:

0, 0, 1, 0, 0, 0 (starting at sample 0)

it would pass the signal unchanged aside from a delay of 2 samples.

So, could I create a filter that gives fractional delay by interpolating the impulse response? As an example, if I wanted a delay of 0.75 samples, could I create a filter with this impulse response:

0.25, 0.75, 0, 0, 0, 0 (starting at sample 0)

and if I wanted a time delay of 2.4 samples, an impulse response of:

0, 0, 0.6, 0.4, 0, 0 (starting at sample 0)

I am aware that these filters would be very much sample rate dependant in terms of the real time shifts they created, but that could be easily accounted for.

Cheers in advance for any help,

Pete

EDIT:

I'm sorry if the impulse response notation is a bit crummy, I'm not really sure how the best way to write it would be

• Have a look at this answer for references on implementing a fractional delay. Jan 27, 2016 at 12:56
• I have read that answer already, and looked at the suggested resources, and if I remember correctly I struggled to follow them, however, I'll have another bash at it. Thanks! Jan 27, 2016 at 12:59