Linear Interpolation (Implementation)

The fractional part of the delay, $ \delta$, effectively determines how far to go along the line between samples.

A fractional delay $ \hat{x}(n-(M + \delta))$, reads from the delay line at neighbouring delays $ M$ and $ M+1$, and takes the weighted sum of the outputs:

$\displaystyle \hat{x}(n - (M+\delta)) = (1-\delta)x(n-M) +\delta x(n-(M+1)),
$

where $ M$ is the integer and $ \delta$ is the fractional part.

Notice that if $ \delta=0$, the fractional delay reduces to the regular integer delay.

Linear interpolation in a circular delay line (Matlab):

if (outPtr==1)
  z = (1-delta)*dline(outPtr) + delta*dline(Mmax);
else
  z = (1-delta)*dline(outPtr) + delta*dline(outPtr-1);
end


``Music 206: Introduction to Delay and Filters II'' by Tamara Smyth, Computing Science, Simon Fraser University.
Download PDF version (filtersDelayII.pdf)
Download compressed PostScript version (filtersDelayII.ps.gz)
Download PDF `4 up' version (filtersDelayII_4up.pdf)
Download compressed PostScript `4 up' version (filtersDelayII_4up.ps.gz)

Copyright © 2019-04-18 by Tamara Smyth.
Please email errata, comments, and suggestions to Tamara Smyth<trsmyth@ucsd.edu>