Digital Signal Processing: System Analysis and Design

In many applications of digital signal processing, it is necessary for different sampling rates to coexist within a given system. One common example is when two subsystems working at different sampling rates have to communicate and the sampling rates must be made compatible. Another case is when a wideband digital signal is decomposed into several non-overlapping narrowband channels in order to be transmitted. In such a case, each narrowband channel may have its sampling rate decreased until its Nyquist limit is reached, thereby saving transmission bandwidth.
Here, we describe such systems which are generally referred to as multirate systems. Multirate systems are used in several applications, ranging from digital filter design to signal coding and compression, and have been increasingly present in modern digital systems.
First, we study the basic operations of decimation and interpolation, and show how arbitrary rational sampling-rate changes can be implemented with them. The design of decimation and interpolation filters is also addressed. Then, we deal with filter design techniques which use decimation and interpolation in order to achieve a prescribed set of filter specifications. Finally, MATLAB functions which aid in the design and implementation of multirate systems are briefly described.
Intuitively, any sampling-rate change can be effected by recovering the band-limited analog signal x a( t) from its samples x( m), and then resampling it with a different sampling rate, thus generating a different discrete version of the signal, x'( n). Of course the...