The correct solution to the interpolation problem is a class of specially designed FIR filters called Fractional Delay Filters. |
Each Fractional Delay Filter can calculate the samples at one set point between any two samples. For instance, you need one filter to calcaulate a half sample delay, another to calculate a one third sample delay and so on. Theorectially, to be able to calculate a sample at an arbitrary fractional delay you need an infinite number of FIR filters. |
The short cut is to use use a small set of Fractional Delay Filters and then use linear or polynomial interpolation between the point provided by the fractional delay filters. |
For instance if you have Fractional Delay Filters which can calculate samples delayed by 1/4, 1/2 and 3/4 of a sample and you need to generate a sample delayed by 1/3 of a sample, you need to calculate the samples delayed by 1/4 and 1/2 of a sample and then interpolate between those two. |