We review briefly the ``analog interpretation'' of sampling rate conversion
[1] on which the present method is based. Suppose we have
samples *x*(*nT*_{s}) of a continuous absolutely integrable signal *x*(*t*),
where *t* is time in seconds (real), *n* ranges over the integers, and
*T*_{s} is the sampling period. We assume *x*(*t*) is bandlimited to
, where *F*_{s}=1/*T*_{s} is the sampling rate. If
denotes the Fourier transform of *x*(*t*), i.e.,
, then we assume for
. Consequently, Shannon's sampling
theorem gives us that *x*(*t*) can be uniquely reconstructed from the
samples *x*(*nT*_{s}) via

where

(2) |

When the new sampling rate is less than the original rate *F*_{s},
the lowpass cutoff must be placed below half the new lower sampling rate.
Thus, in the case of an ideal lowpass,
, where the scale factor maintains unity gain
in the passband.

A plot of the sinc function
to the left and right of the origin *t*=0 is shown in Fig.1.
Note that peak is at amplitude 1, and zero-crossings occur at all
nonzero integers. The sinc function can be seen as a hyperbolically
weighted sine function with its zero at the origin canceled out. The
name *sinc function* derives from its classical name as the
*sine cardinal* (or *cardinal sine*) function.

If ``'' denotes the convolution operation for digital signals, then the summation in Eq.(1) can be written as .

Equation Eq.(1) can be interpreted as a superpositon of
shifted and scaled sinc functions *h*_{s}. A sinc function instance is
translated to each signal sample and scaled by that sample, and the
instances are all added together. Note that zero-crossings of
occur at all integers except *z*=0. That means at time
*t*=*nT*_{s}, (i.e., on a sample instant), the only contribution to the
sum is the single sample *x*(*nT*_{s}). All other samples contribute sinc
functions which have a zero-crossing at time *t*=*nT*_{s}. Thus, the
interpolation goes precisely through the existing samples, as it
should.

A plot indicating how sinc functions sum together to reconstruct
bandlimited signals is shown in Fig.2. The figure shows a
superposition of five sinc functions, each at unit amplitude, and
displaced by one-sample intervals. These sinc functions would be used
to reconstruct the bandlimited interpolation of the discrete-time
signal
. Note that at each sampling
instant *t*=*nT*_{s}, the solid line passes exactly through the tip of the
sinc function for that sample; this is just a restatement of the fact
that the interpolation passes through the existing samples. Since the
nonzero samples of the digital signal are all 1, we might expect the
interpolated signal to be very close to 1 over the nonzero interval;
however, this is far from being the case. The deviation from unity
between samples can be thought of as ``overshoot'' or ``ringing'' of
the lowpass filter which cuts off at half the sampling rate, or it can
be considered a ``Gibbs phenomenon'' associated with bandlimiting.

A second interpretation of Eq.(1) is as follows: to obtain the
interpolation at time *t*, shift the signal samples under *one *sinc
function so that time *t* in the signal is translated under the peak of the
sinc function, then create the output as a linear combination of signal
samples where the coefficient of each signal sample is given by the value
of the sinc function at the location of each sample. That this
interpretation is equivalent to the first can be seen as a result of the
fact that convolution is commutative; in the first interpretation, all
signal samples are used to form a linear combination of shifted sinc
functions, while in the second interpretation, samples from one sinc
function are used to form a linear combination of samples of the shifted
input signal. The practical bandlimited interpolation algorithm presented
below is based on the second interpretation.

Download resample.pdf

[How to cite and copy this work] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University