Digital Signal Processing: A User's Guide by Douglas L. Jones. - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub for a complete version.

Chapter 6Multirate Signal Processing

6.1Overview of Multirate Signal Processing*

Digital transformation of the sampling rate of signals, or signal processing with different sampling rates in the system.

Applications

  1. Sampling-rate conversion: CD to DAT format change, for example.

  2. Improved D/A, A/D conversion: oversampling converters; which reduce performance requirements on anti-aliasing or reconstruction filters

  3. FDM channel modulation and processing: bandwidth of individual channels is much less than the overall bandwidth

  4. Subband coding of speech and images: Eyes and ears are not as sensitive to errors in higher frequency bands, so many coding schemes split signals into different frequency bands and quantize higher-frequency bands with much less precision.

General Rate-Changing Procedure

This procedure is motivated by an analog-based method: one conceptually simple method to change the sampling rate is to simply convert a digital signal to an analog signal and resample it! (Figure 6.1)

General Rate-Changing Procedure
Figure 6.1

_autogen-svg2png-0001.png _autogen-svg2png-0002.png Recall the ideal D/A:

()_autogen-svg2png-0003.png

The problems with this scheme are:

  1. A/D, D/A, filters cost money

  2. imperfections in these devices introduce errors

Digital implementation of rate-changing according to this formula has three problems:

  1. Infinite sum: The solution is to truncate. Consider sinct≈0 for t<t1, t>t2: Then mT1nT0<t1 and mT1nT0>t2 which implies _autogen-svg2png-0009.png _autogen-svg2png-0010.png _autogen-svg2png-0011.png

    This is essentially lowpass filter design using a boxcar window: other finite-length filter design methods could be used for this.

  2. Lack of causality: The solution is to delay by max{|N|} samples. The mathematics of the analog portions of this system can be implemented digitally.

    ()_autogen-svg2png-0013.png

    ()_autogen-svg2png-0014.png

    So we have an all-digital formula for exact digital-to-digital rate changing!

  3. Cost of computing sincT(mT1nT0) : The solution is to precompute the table of sinc(t) values. However, if _autogen-svg2png-0017.png is not a rational fraction, an infinite number of samples will be needed, so some approximation will have to be tolerated.

    Rate transformation of any rate to any other rate can be accomplished digitally with arbitrary precision (if some delay is acceptable). This method is used in practice in many cases. We will examine a number of special cases and computational improvements, but in some sense everything that follows are details; the above idea is the central idea in multirate signal processing.

Useful references for the traditional material (everything except PRFBs) are Crochiere and Rabiner, 1981 [link] and Crochiere and Rabiner, 1983 [link]. A more recent tutorial is Vaidyanathan [link]; see also Rioul and Vetterli [link]. References to most of the original papers can be found in these tutorials.

References

  1. R.E. Crochiere and L.R. Rabiner. (1981, March). Interpolation and Decimation of Digital Signals: A Tutorial Review. Proc. IEEE, 69(3), 300-331.

  2. R.E. Crochiere and L.R. Rabiner. (1983). Multirate Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall.

  3. P.P Vaidyanathan. (1990, January). Multirate Digital Filters, Filter Banks, Polyphase Networks, and Applications: A Tutorial. Proc. IEEE, 78(1), 56-93.

  4. O. Rioul and M. Vetterli. (1991, October). Wavelets and Signal Processing. IEEE Signal Processing Magazine, 8(4), 14-38.

6.2Interpolation, Decimation, and Rate Changing by Integer Fractions*

Interpolation: by an integer factor L

Interpolation means increasing the sampling rate, or filling in in-between samples. Equivalent to sampling a bandlimited analog signal L times faster. For the ideal interpolator,

()_autogen-svg2png-0002.png

We wish to accomplish this digitally. Consider Equation and Figure 6.2.

()_autogen-svg2png-0003.png

Interpolation: by an integer factor L
Figure 6.2

The DTFT of y(m) is

()_autogen-svg2png-0005.png

Since X0(ω) is periodic with a period of 2π , X0()=Y(ω) is periodic with a period of _autogen-svg2png-0009.png (see Figure 6.3).

Interpolation: by an integer factor L
Figure 6.3

By inserting zero samples between the samples of x0(n) , we obtain a signal with a scaled frequency response that simply replicates X0(ω) L times over a 2π interval!

Obviously, the desired x1(m) can be obtained simply by lowpass filtering y(m) to remove the replicas.

() x1(m)=y(m)*hL(m)

Given _autogen-svg2png-0017.png In practice, a finite-length lowpass filter is designed using any of the methods studied so far (Figure 6.4).

Interpolator Block Diagram
Figure 6.4Interpolator Block Diagram

Decimation: sampling rate reduction (by an integer factor M)

Let y(m)=x0(Lm) (Figure 6.5)

Decimation: sampling rate reduction (by an integer factor M)
Figure 6.5

That is, keep only every Lth sample (Figure 6.6)

Decimation: sampling rate reduction (by an integer factor M)
Figure 6.6

In frequency (DTFT):

()_autogen-svg2png-0020.png

Now _autogen-svg2png-0021.png for |ω|<π as shown in homework #1 , where X(k) is the DFT of one period of the periodic sequence. In this case, X(k)=1 for k∈{0, 1, , M−1} and _autogen-svg2png-0026.png.

()_autogen-svg2png-0027.png

so _autogen-svg2png-0028.png i.e., we get digital aliasing.(Figure 6.7)

Decimation: sampling rate reduction (by an integer factor M)
Figure 6.7

Usually, we prefer not to have aliasing, so the downsampler is preceded by a lowpass filter to remove all frequency components above _autogen-svg2png-0029.png (Figure 6.8).

Decimation: sampling rate reduction (by an integer factor M)
Figure 6.8

Rate-Changing by a Rational Fraction L/M

This is easily accomplished by interpolating by a factor of L, then decimating by a factor of M (Figure 6.9).

Rate-Changing by a Rational Fraction L/M
Figure 6.9

The two lowpass filters can be combined into one LP filter with the lower cutoff, _autogen-svg2png-0032.png Obviously, the computational complexity and simplicity of implementation will depend on _autogen-svg2png-0033.png: 2/3 will be easier to implement than 1061/1060 !

6.3Efficient Multirate Filter Structures*

Rate-changing appears expensive computationally, since for both decimation and interpolation the lowpass filter is implemented at the higher rate. However, this is not necessary.

Interpolation

For the interpolator, most of the samples in the upsampled signal are zero, and thus require no computation. (Figure 6.10)

Interpolation
Figure 6.10

For _autogen-svg2png-0001.png and p=mmodL ,

()_autogen-svg2png-0003.png

gp(n)=h(Ln+p) Pictorially, this can be represented as in Figure 6.11.

Interpolation
Figure 6.11

These are called polyphase structures, and the gp(n) are called polyphase filters.

Computational cost

If h(m) is a length-N filter:

  • No simplification: _autogen-svg2png-0008.png

  • Polyphase structure: _autogen-svg2png-0009.png where L is the number of filters, _autogen-svg2png-0011.png is the taps/filter, and _autogen-svg2png-0012.png is the rate.

Thus we save a factor of L by not being dumb.

For a given precision, N is proportional to L, (why?), so the computational cost does increase with the interpolation rate.

Question