The useful, and fascinating, process of sample rate conversion is a scheme for changing the effective sampling rate of a discrete signal after the signal has been digitized. As such, sample rate conversion has many applications; it's used to minimize computations by reducing data rates when signal bandwidths are narrowed through lowpass filtering. Sample rate conversion is mandatory in real-time processing when two separate hardware processors operating at two different sample rates must exchange digital signal data. In satellite and medical image processing, sample rate conversion is necessary for image enhancement, scale change, and image rotation. Sample rate conversion is also used to reduce the computational complexity of certain narrowband digital filters.
We can define sample rate conversion as follows: consider the process where a continuous signal yc(t) has been sampled at a rate of fold = 1/Told, and the discrete samples are xold(n) = yc(nTold). Rate conversion is necessary when we need xnew(n) = yc(nTnew), and direct sampling of the continuous yc(t) at the rate of fnew = 1/Tnew is not possible. For example, imagine we have an analog-to-digital (A/D) conversion system supplying a sample value every Told seconds. But our processor can only accept data at a rate of one sample every Tnew seconds. How do we obtain xnew(n) directly from xold(n)? One possibility is to digital-to-analog (D/A) convert the xold(n) sequence to regenerate the continuous yc(t) and then A/D convert yc(t) at a sampling rate of fnew to obtain xnew(n). Due to the spectral distortions induced by D/A followed by A/D conversion, this technique limits our effective dynamic range and is typically avoided in practice. Fortunately, accurate all-digital sample rate conversion schemes have been developed, as we shall see.