A sinc interpolator for bandlimited uniformly-sampled functions y(x).
Interpolators can be designed for any two of three parameters: maximum error (emax), maximum frequency (fmax) and maximum length (lmax). The parameter not specified is computed when an interpolator is designed.
Below the specified (or computed) maximum frequency fmax, the maximum interpolation error should be less than the specified (or computed) maximum error emax. For frequencies above fmax, interpolation error may be much greater. Therefore, sequences to be interpolated should be bandlimited to frequencies less than fmax.
The maximum length lmax of an interpolator is an even positive integer. It is the number of uniform samples required to interpolate a single value y(x). Ideally, the weights applied to each uniform sample are values of a sinc function. Although the ideal sinc function yields zero interpolation error for all frequencies up to the Nyquist frequency (0.5 cycles/sample), it has infinite length.
With recursive filtering, infinite-length approximations to the sinc function are feasible and, in some applications, most efficient. When the number of interpolated values is large relative to the number of uniform samples, the cost of recursive filtering is amortized over those many interpolated values, and can be negligible. However, this cost becomes significant when only a few values are interpolated for each sequence of uniform samples.
This interpolator is based on a finite-length approximation to the sinc function. The efficiency of finite-length interpolators like this one does not depend on the number of samples interpolated. Also, this interpolator is robust in the presence of noise spikes, which affect only nearby samples.
Finite-length interpolators present a tradeoff between cost and accuracy. Interpolators with small maximum lengths are most efficient, and those with high maximum frequencies and small maximum errors are most accurate.
When interpolating multiple values of y(x) from a single sequence of uniformly sampled values, efficiency may be improved by using one of the methods that enables specification of multiple x values at which to interpolate.
author: Dave Hale, Colorado School of Mines author: Bill Harlan, Landmark Graphics version 2012.12.21
<>