As with the phase-shift algorithm, the key to reducing the computational artifacts of the Stolt algorithm is to suppress the time-domain wraparound. We will see that this amounts to accurate frequency-domain interpolation.

First, consider an impulse function at time *t _{0}*.
Its Fourier transform is .If

Linear interpolation is almost the easiest form of interpolation.
On the other hand, Fourier transform theory suggests interpolation
with the *sinc* function (by definition ).
The *sinc* function of frequency,
when brought back into the time domain is a rectangle function of time.
Take this rectangle function to be nonzero on the interval -*T*/2<*t*<*T*/2.
Recall that the fast (inverse) Fourier transform algorithm
sums at uniform intervals in the frequency domain.
This implicitly assumes zero between sample points,
which in turn assumes that the time-domain function is periodic
outside the given time interval.
Now take the rectangle function of time to be the multiplier
in the time domain that converts the periodic time function
to the observed transient one.
This multiplication in the time domain is equivalent to a convolution
in the frequency domain with the appropriate *sinc* function.
Convolution of the continuous *sinc* function with the
given discrete-interval frequency function
is really interpolation.
Unfortunately, the *sinc* function extends infinitely down the frequency axis.
Worse yet, it decays slowly.
So some approximation or truncation of the *sinc* is used.
Bill Harlan showed that tapered *sinc* functions
achieve satisfactory accuracy more cheaply than zero padding.
It seems, however, that the best approach is both to zero pad
and to use some *sinc*-like interpolation.
A definitive study of interpolation is that of Rosenbaum and Boudreaux [1981].

10/31/1997