0% found this document useful (0 votes)
339 views73 pages

Digital Signal Processing by John G. Pro Part13

Part 13

Uploaded by

Hasan Al Banna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
339 views73 pages

Digital Signal Processing by John G. Pro Part13

Part 13

Uploaded by

Hasan Al Banna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

CHAPTER

11
Multirate Digital Signal
Processing

In many practical applications of digital signal processing, one is faced with the
problem of changing the sampling rate of a signal, either increasing it or decreasing
it by some amount. For example, in telecommunication systems that transmit and
receive different types of signals (e.g., teletype, facsimile, speech, video, etc.), there
is a requirement to process the various signals at different rates commensurate with
the corresponding bandwidths of the signals. The process of converting a signal from
a given rate to a different rate is called sampling rate conversion. In turn, systems
that employ multiple sampling rates in the processing of digital signals are called
multirate digital signal processing systems.
Sampling rate conversion of a digital signal can be accomplished in one of two
general methods. One method is to pass the digital signal through a DIA converter,
filter it if necessary, and then to resample the resulting analog signal at the desired
rate (i.e., to pass the analog signal through an AID converter). The second method
is to perform the sampling rate conversion entirely in the digital domain.
One apparent advantage of the first method is that the new sampling rate can be
arbitrarily selected and need not have any special relationship to the old sampling
rate. A major disadvantage, however, is the signal distortion, introduced by the D/A
converter in the signal reconstruction, and by the quantization effects in the AID
conversion. Sampling rate conversion performed in the digital domain avoids this
major disadvantage.
In this chapter we describe sampling rate conversion and multirate signal pro-
cessing in the digital domain. First we describe sampling rate conversion by a rational
factor and present several methods for implementing the rate converter, including
single-stage and multistage implementations. Then, we describe a method for sam-
pling rate conversion by an arbitrary factor and discuss its implementation. We
750
11.1 Introduction 751

present several applications of sampling rate conversion in multirate signal process-


ing systems, which include the implementation of narrowband filters, digital filter
banks, subband coding, transmultiplexers, and quadrature mirror filters.

11.1 Introduction
The process of sampling rate conversion can be developed and understood using the
idea of "resampling after reconstruction." In this theoretical approach, a discrete-
time signal is ideally reconstructed and the resulting continuous-time signal is resam-
pled at a different sampling rate. This idea leads to a mathematical formulation that
enables the realization of the entire process by means of digital signal processing.
Let x(t) be a continuous-time signal that is sampled at a rate Fx = I/Tx to
generate a discrete-time signal x (n Tx). From the samples x (n Tx) we can generate a
continuous-time signal using the interpolation formula
00

yet) = L x(nTx)g(t - nTx) (11.1.1)


n=-oo

If the bandwidth of x(t) is less than Fx/2 and the interpolation function is given by

get) = sin(nt/Tx) ~ G(F) = { Tx , IFI ::: Fx/ 2 (11.1.2)


nt/Tx 0, otherwise
then yet) = x(t); otherwise yet) -I xU). In practice, perfect recovery of x(t) isnot
possiple because the infiE:_~~e.._~!l_tp.~_atio,!-_,in (11.1.1) shouidlJe r~placed by'-afiriite
summation. .
To perform sampling rate conversion we simply evaluate (11.1.1) at time instants
t = m T.v, where Fy = 1/ Ty is the desired sampling frequency. Therefore, the general
formula for sampling rate conversion becomes ..
00 .1>' ;\;
y(mTy) = L x(nTx)g(mTy - nTx) (11.1.3)
n=-OO

~hexpresse&-directly the samples of the desired sequence in terms of the sam-


ples of the original sequence and sampled values of the reconstruction function at
positions (mTy - nTx). The computation of y(nTy) requires (a) the input sequence
x(nTx}, (b) the reconstruction function get), and (c) the time instants nTx and mTy
of the input and output samples. The values y(mTy) calculated by this equation are""'
raccurate only if Fy > Fx. If Fy < Fx , we should filter out the frequency components
Lof xU) above Fy/2 before resamplinglin order to prevent aliasing. Therefore, the
sampling rate conversion formula (11.1.3) yields y(mTy) = x(mTy) if we use (11.1.2)
and X(F) = 0 for IFI ~ min{Fx/2, F y /2}.
If Ty = Tx , equation (11.1.3) becomes a convolution summation, which corre-
sponds to an LTI system. To understand the meaning of (11.1.3) for Ty -I Tx , we
rearrange the argument of get) as follows:

(11.1.4)
752 Chapter 11 Multirate Digital Signal Processing

The term mTy/Tx can be decomposed into an integer part km and a fractional part
t!.m, 0 ~ t!.m < 1, as
(11.1.5)

where
(11.1.6)

and
t!.m = mTy _lmTyJ (11.1.7)
Tx Tx
The symbol LaJ denotes the largest integer contained in a. The quantity t!.m specifies
the position of the current sample within the sample period Tx. Substituting (11.1.5)
into (11.1.4) we obtain
00

y(mTy) = L x(nTx)g«km + t!.m - n)Tx) (11.1.8)


n=-OO

If we change the index of summation in (11.1.8) from n to k = km - n, we have

00
(11.1.9)
= L g(kTx + t!.mTx)x«km - k)Tx)
k=-oo

Equation (11.1.9) provides the fundamental equation for the discrete-time imple-
mentation of sampling rate conversion. This process is illustrated in Figure 11.1.1.
We note that (a) given Tx and Ty the input and output sampling times are fixed,
(b) the function g(t) is shifted for each m such that the value g(t!.m Tx) is positioned
at t = mTy , and (c) the required values of g(t) are determined at the input sampling
times. For each value of m, the fractional interval t!.m determines the impulse re-
sponse coefficients whereas the index km specifies the corresponding input samples

g(AmTx)

Input sampling
times (km-I)Tx kmTx \ ; (km+I)Tx (km+2)Tx

,,
,,
,,
Output sampling (m-I) Ty : m:Ty (m+ I) Ty
times
- :,AmTx i-
, Fractional interval
Figure 11.1.1 Illustration of timing relations for sampling rate conversion.
11.1 Introduction 753

Figure 11.1.2
x(n7;) y(m'Ty)
Discrete-time linear g(nTx + tlmTx)
time-varying system for gm(n) y(m)
x(n)
sampling rate conversion.

needed to compute the sample y(m Ty). Since for any given value of m the index km is
an integer number, y(m Ty) is the convolution between the input sequence x (n Tx) and
an impulse response g «n + ~m) Tx). The difference between (11.1.8) and (11.1.9)
is that the first shifts a "changing" reconstruction function whereas the second shifts
the "fixed" input sequence.
The sampling rate conversion process defined by (11.1.9) is a discrete-time linear
and time-varying system, because it requires a different impulse response

(11.1.10)

for each output sample y(mTy). Therefore, a new set of coefficients should be com-
puted or retrieved from storage for the computation of every output sample (see
Figure 11.1.2). This procedure may be inefficient when the function g(t) is compli-
cated and the number of required values is large. This dependence on m prohibits the
use of recursive structures because the required past output values must be computed
using an impulse response for the present value of ~m.
A significant simplification results when the ratio Ty/Tx is constrained to be a
rational number, that is,
Ty Fx D
(11.1.11)
Tx Fy 1
where D and 1 are relatively prime integers. To this end, we express the offset ~m as

~m = -1- -1- = [1 ( mD - lmDJ)


mD - lmDJ 1
-1- 1 = [(mD)] (11.1.12)

where (k)] denotes the value of k modulo I. From (11.1.12) it is clear that ~m can
take on only 1 unique values 0, 1//, ... , (J - 1)//, so that there are only 1 distinct
impulse responses possible. Since gm(nTx) can take on 1 distinct sets of values, it is
periodic in m; that is,

(11.1.13)

Thus the system gm (n Tx) is a linear and periodically time-varying discrete-time sys-
tem. Such systems have been widely studied for a wide range of applications (Meyers
and Burrus, 1975). This is a great simplification compared to the continuously time-
varying discrete-time system in (11.1.10).
To illustrate these concepts we consider two important special cases. We start
with the process of reducing the sampling rate by an integer factor D, which is known
as decimation or downsampling. If we set Ty = DTx in (11.1.3), we have
00

y(mTy) = y(mDTx ) = L x(kTx)g«mD - k)Tx) (11.1.14)


k=-oo
754 Chapter 11 Multirate Digital Signal Processing

We note that the input signal and the impulse response are sampled with a period
Tx. However, the impulse response is shifted at increments of Ty = DTx because we
need to compute only one out of every D samples. Since I = 1, we have flm = 0
and therefore there is only one impulse response g(nTx), for all m. This process is
illustrated in Figure 11.1.3 for D = 2.
We consider now the process of increasing the sampling rate by an integer factor
I , which is called upsampling or interpolation. If we set Ty = Tx / I in (11.1.3), we
have
00

y(mTy) = L x(kTx)g(m(Tx/ I) - kTx) (11.1.15)


k=-oo

We note that both x(t) and g(t) are sampled with a period Tx; however, the impulse
response is shifted at increments of Ty = Tx / I for the computation of each output
sample. This is required to "fill-in" an additional number of (I - 1) samples within
each period Tx. This is illustrated in Figure 11.1.4(a )-(b) for I = 2. Each "frac-
tional shifting" requires that we resample g(t), resulting in a new impulse response
gm(nTx) = g(nTx+mTx/ I), for m = 0,1, ... , I-lin agreement with (11.1.14). Care-
ful inspection of Figure 11.1.4(a )-(b) shows that if we determine an impulse response
sequence g(nTy) and create a new sequence v(nTy) by inserting (1-1) zero samples
between successive samples of x(nTx), we can compute y(mTy) as the convolution
of the sequences g(nTy) and x(nTy). This idea is illustrated in Figure 11.1.4(c) for
1=2.
In the next few sections we discuss in more detail the properties, design, and
structures for the implementation of sampling rate conversion entirely in the discrete-
time domain. For convenience, we usually drop the sampling periods Tx and Ty from
the argument of discrete-time signals. However, occasionally, it will be beneficial to
the reader to reintroduce and think in terms of continuous-time quantities and units.

(m-1)Ty (m+ I)Ty

Figure 11.1.3 Illustration of timing relations for sampling rate decrease


by an integer factor D = 2. A single impulse response, sampled with
period Tx , is shifted at steps equal to Ty = DTx to generate the output
samples.
11.2 Decimation by a Factor D 755

x(t)

(a)

(m - 1) Ty (m + 1) Ty
mTy

mTy (m + 2)Ty
Figure 11.1.4 Illustration of timing relations for sampling rate increase
by an integer factor I = 2. The approach in (a) requires one impulse
response for the even-numbered and one for the odd-numbered output
samples. The approach in (c) requires only one impulse response, ob-
tained by interleaving the impulse responses in (a).

11.2 Decimation by a Factor D


Let us assume that the signal x(n) with spectrum X(ev) is to be downsampled by an
integer factor D. The spectrum X(ev) is assumed to be nonzero in the frequency
interval 0 :::: levi:::: n or, equivalently, IFI :::: Fx/2. We know that if we reduce the
sampling rate simply by selecting every Dth value of x(n), the resulting signal will
be an aliased version of x(n), with a folding frequency of Fx/2D. To avoid aliasing,
we must first reduce the bandwidth of x(n) to Fmax = Fx/2D or, equivalently, to
evmax = n / D. Then we may downs ample by D and thus avoid aliasing.
The decimation process is illustrated in Fig. 11.2.1. The input sequence x(n) is
passed through a lowpass filter, characterized by the impulse response hen) and a
frequency response HD(ev) , which ideally satisfies the condition

= { ~:
levi:::: n/ D (11.2.1)
HD(ev) otherwise

Thus the filter eliminates the spectrum of X (ev) in the range n / D < ev < n. Of
course, the implication is that only the frequency components of x(n) in the range
levi :::: n / D are of interest in further processing of the signal.
756 Chapter 11 Multirate Digital Signal Processing

x(n) I .1'-__ _----'I


h_(n_) v(n).1 Dow~~pler y(m)

Fx = -
Tx

Figure 11.2.1 Decimation by a factor D.

The output of the filter is a sequence v(n) given as

00

v(n) =L h(k)x(n - k) (11.2.2)


k=O

which is then downsampled by the factor D to produce y(m). Thus

y(m) = v(mD)
00
(11.2.3)
= Lh(k)x(mD - k)
k=O

Although the filtering operation on x(n) is linear and time invariant, the down-
sampling operation in combination with the filtering results in a time-variant system.
This is easily verified. Given the fact that x(n) produces y(m), we note that x(n - no)
does not imply y(n -no) unless no is a multiple of D. Consequently, the overall linear
operation (linear filtering followed by downsampling) on x(n) is not time invariant.
The frequency-domain characteristics of the output sequence y(m) can be ob-
tained by relating the spectrum of y(m) to the spectrum of the input sequence x(n).
First, it is convenient to define a sequence v(n) as

v(n) = { v(n), n = 0, ±D,±2D, ...


(11.2.4)
0, otherwise

Clearly, v(n) can be viewed as a sequence obtained by multiplying v(n) with a periodic
train of impulses p(n), with period D, as illustrated in Fig. 11.2.2. The discrete Fourier
series representation of p(n) is

1 D-l
p(n) = D L ej2lrkn/D (11.2.5)
k=O

Hence
v(n) = v(n)p(n) (11.2.6)

and
y(m) = v(mD) = v(mD)p(mD) = v(mD) (11.2.7)
11.2 Decimation by a Factor D 757

yen)

II, ,1111111, 6 ,II


.• 1111111•. 0 3 .• 1111111•. n
pen)

.1 .. 1.. 1.. 1..1.. 1.. 1o.. 13.. 16 .. 1.. 1.. 1.. 1.n
Ii(n) =v(n)p(n)

Figure 11.2.2
I I I
· ·····1··1··.·· ··0··3·····1··1·····
I 6 I
·n
Steps required to facilitate
the mathematical yen) =V(nD) =venD)
description of
downsampling by a factor
D, using a sinusoidal
II, ,II III 3 II, ,II
sequence for illustration.

Now the z-transform of the output sequence y(m) is


00

Y(z) = L y(m)z-m
m=-oo
00

= L v(mD)z-m (11.2.8)
m=-OO
00

Y(z) = L v(m)z-m/D
m=-oo

where the last step follows from the fact that v(m) = 0, except at mUltiples of D. By
making use of the relations in (11.2.5) and (11.2.6) in (11.2.8), we obtain

Y(z) =
00
m~oo v(m)
[1D
D-l. ]
~ eJ21rmk/D z-m/D

1 D-l
L L
00
= D v(m)(e-i21rk/Dzl/D)-m
k=O m=-oo
(11.2.9)

1 D-l
= D L HD(e-i21rk/Dzl/D)X(e-i21rk/Dzl/D)
k=O

where the last step follows from the fact that V(z) = HD(Z)X(Z).
758 Chapter 11 Multirate Digital Signal Processing

By evaluating Y (z) in the unit circle, we obtain the spectrum of the output signal
y(m). Since the rate of y(m) is Fy = l/Ty, the frequency variable, which we denote
as w y , is in radians and is relative to the sampling rate F y ,

2rrF
Wy = - - = 2rr FTy (11.2.10)
Fy

Since the sampling rates are related by the expression

Fx
Fy = - (11.2.11)
D

it follows that the frequency variables wyand

2rrF
Wx = - - = 2rr FTx (11.2.12)
Fx

are related by
(11.2.13)
Thus, as expected, the frequency range 0 ~ Iwx I ~ rr / D is stretched into the corre-
sponding frequency range 0 ~ Iwy I ~ rr by the downsampling process.
We conclude that the spectrum Y(Wy) , which is obtained by evaluating (11.2.9)
on the unit circle, can be expressed as

1 ~ (Wy - 2rrk) (wy - 2rrk) (11.2.14)


Y(Wy) = D ~ HD D X D
k=O

With a properly designed filter HD(W) , the aliasing is eliminated and, consequently,
all but the first term in (11.2.14) vanish. Hence

(11.2.15)

for 0 ~ IWyl ~ rr. The spectra for the sequences x(n), v(n), and y(m) are illustrated
in Fig. 11.2.3.

EXAMPLE 11.2.1
Design a decimator that downsamples an input signal x(n) by a factor D = 2. Use the Remez
algorithm to determine the coefficients of the FIR filter that has a O.l-dB ripple in the passband
and is down by at least 30 dB in the stopband.

Solution. A filter length M = 30 achieves the design specifications given above. The
frequency response is illustrated in Fig. 11.2.4. Note that the cutoff frequency is We =](/2.
11.2 Decimation by a Factor D 759

-7T

-7T
o

-lr lr
D
o

Figure 11.2.3
Spectra of signals in the
decimation of x(n) by a -lr
factor D. o

10
0
-10
-20
~ -30
S -40
.~
0 -SO
-60
-70
-80
-90
-100
0 .1 .2 .3 .4 .s I
Relative frequency

Figure 11.2.4 Magnitude response of linear-phase FIR filter of length M =


30 in Example 11.2.1.
760 Chapter 11 Multirate Digital Signal Processing

11.3 Interpolation by a Factor I


An increase in the sampling rate by an integer factor of I can be accomplished
by interpolating I - 1 new samples between successive values of the signal. The
interpolation process can be accomplished in a variety of ways. We shall describe a
process that preserves the spectral shape of the signal sequence x (n).
Let v(m) denote a sequence with a rate Fy = I Fx , which is obtained from x(n)
by adding I - 1 zeros between successive values of x(n). Thus

v(m) = {x(m/ I), m = 0, ±I, ±2/, ...


(11.3.1)
0, otherwise
and its sampling rate is identical to the rate of y(m). This sequence has a z -transform
00

V(z) = L v(m)z-m
m=-OO

00
(11.3.2)
= L x(m)z-ml
m=-oo

The corresponding spectrum of v(m) is obtained by evaluating (11.3.2) on the unit


circle. Thus
(11.3.3)
where Wy denotes the frequency variable relative to the new sampling rate Fy (Le.,
Wy = 2rr F / Fy). Now the relationship between sampling rates is Fy = I Fx and hence,
the frequency variables Wx and Wy are related according to the formula
Wx
wy = - (11.3.4)
I
The spectra X(wx ) and V(wy ) are illustrated in Fig. 11.3.1. We observe that the
sampling rate increase, obtained by the addition of I - 1 zero samples between
successive values of x(n), results in a signal whose spectrum V(w y) is an I-fold
periodic repetition of the input signal spectrum X (wx ).
Since only the frequency components of x(n) in the range 0 ::::; Wy ::::; rr/ I are
unique, the images of X(w) above Wy = rr/ I should be rejected by passing the
sequence v(m) through a lowpass filter with frequency response HI (Wy) that ideally
has the characteristic
O::::;lwyl::::;rr/1
(11.3.5)
otherwise
where C is a scale factor required to properly normalize the output sequence y(m).
Consequently, the output spectrum is

O::::;lwyl::::;rr/1
(11.3.6)
otherwise
11.3 Interpolation by a Factor I 761

_ 27r _ !!... 0 !!... 27r Wy


I I I I

I'H'(W,)I
I

Figure 11.3.1
-7r 11:
--

£)1 I
o 7r
I
7r Wy

Spectra of x(n) and v(n) -7r -!!... 0 !!... 11: Wy


where V(Wy) = X(wyl). I I

The scale factor C is selected so that the output y(m) = x(m/ I) for m = 0, ±I,
+21, .... For mathematical convenience, we select the point m = o. Thus

1 17r Y(wy)dwy
y(O) = -2
7r -7r
(11.3.7)
=
C
-2
111:1/ X (Wyl)dwy
7r -1fI/

Since Wy = wx/I, (11.3.7) can be expressed as

y(O)
C 1 111:
= -2- X (wx)dw x
1 7r -11: (11.3.8)

Therefore, C = 1 is the desired normalization factor.


Finally, we indicate that the output sequence y(m) can be expressed as a convo-
lution of the sequence v(n) with the unit sample response h(n) of the lowpass filter.
Thus
00

y(m) = L h(m - k)v(k) (11.3.9)


k=-oo
762 Chapter 11 Multirate Digital Signal Processing

10
0
-10
-20
-30
~.,
" . -40
-SO
" -60
-70
-80
-90
-100 .s I
0 .1 .2 .4
Relative frequency

Figure 11.3.2 Magnitude response of linear-phase FIR filter of length M =


30 in Example 11.3.1.

Since v(k) = 0 except at multiples of I, where v(kl) = x(k), (11.3.9) becomes


00

y(m) = L h(m - kl)x(k) (11.3.10)


k=-oo

EXAMPLE 11.3.1
Design a interpolator that increases the input sampling rate by a factor of l = 5. Use the
Remez algorithm to determine the coefficients of the FIR filter that has a O.l-dB ripple in the
passband and is down by at least 30 dB in the stopband.

Solution. A filter length M = 30 achieves the design specifications given above. The
frequency response of the FIR filter is illustrated in Fig. 11.3.2. Note that the cutoff frequency
is We = rr/5.

11.4 Sampling Rate Conversion by a Rational Factor I / D


Having discussed the special cases of decimation (downsampling by a factor D)
and interpolation (upsampling by a factor I), we now consider the general case
of sampling rate conversion by a rational factor 1/ D. Basically, we can achieve
this sampling rate conversion by first performing interpolation by the factor I and
then decimating the output of the interpolator by the factor D. In other words, a
sampling rate conversion by the rational factor 1/ D is accomplished by cascading an
interpolator with a decimator, as illustrated in Fig. 11.4.1.
We emphasize that the importance of performing the interpolation first and
the decimation second is to preserve the desired spectral characteristics of x(n).
Furthermore, with the cascade configuration illustrated in Fig. 11.4.1, the two filters
with impulse response {hu(k)} and {hd(k)} are operated atthe same rate, namely I Fx ,
and hence can be combined into a single lowpass filter with impulse response h(k)
as illustrated in Fig. 11.4.2. The frequency response H(w v ) of the combined filter
11.4 Sampling Rate Conversion by a Rational Factor 1/ D 763
1-----------------------
, _________ _
,,
,,
x(n) : Upsampler Filter Filter Oownsampler y(m)
~

Rate Fx : tI huCk) hf.,k) .\.0

,, Interpolator
-----------------------
Rate = 1Fx I
Rate = -Fx = Fy
D

Figure 11.4.1 Method for sampling rate conversion by a factor 1/ D.

must incorporate the filtering operations for both interpolation and decimation, and
hence it should ideally possess the frequency response characteristic

0.::: IWvl .::: min(rr/ D, rr/ I)


(11.4.1)
otherwise

where Wv = 2rr F / Fv = 2rr F / ! Fx = Wx / ! .


In the time domain, the output of the upsampler is the sequence

v(l) = {X(l/ I), I = 0, ±!, ±2!, ...


(11.4.2)
0, otherwise

and the output of the linear time-invariant filter is

00

w(l) = L h(l - k)v(k)


k=-oo
(11.4.3)
00

=L h(l - kl)x(k)
k=-oo

Finally, the output of the sampling rate converter is the sequence {y(m)}, which is

x(n) Upsampler Oownsampler y(m)

Rate = Fx tI .\.D
I
L.._ _ _ _--' Rate = - Fx= F v
D -

Rate = 1Fx = Fv
Figure 11.4.2 Method for sampling rate conversion by a factor 1/ D.
764 Chapter 11 Multirate Digital Signal Processing

obtained by downsampling the sequence (w(l)} by a factor of D. Thus

y(m) = w(mD)
00
(11.4.4)
= L h(mD - k/)x(k)
k=-oo

It is illuminating to express (11.4.4) in a different form by making a change in


variable. Let
k = lmID J- n (11.4.5)

where the notation Lr J denotes the largest integer contained in r. With this change
in variable, (11.4.4) becomes

(11.4.6)

We note that
mD -l mID JI = mD, modulo I

= (mD)[

Consequently, (11.4.6) can be expressed as

y(m) = n~oo h(nl + (mD)[)x (l mID J- n) (11.4.7)

which is the discrete-time version of (11.1.9).


It is apparent from this form that the output y(m) is obtained by passing the
input sequence x(n) through a time-variant filter with impulse response

g(n, m) = h(nl + (mD)[), -00 < m,n < 00 (11.4.8)

where h(k) is the impulse response of the time-invariant lowpass filter operating at
the sampling rate I Fx. We further observe that for any integer k,

g(n, m + kl) = h(nl + (mD + kDl)[)


= h(nl + (mD)[) (11.4.9)
= g(n,m)

Hence g(n, m) is periodic in the variable m with period I.


11.4 Sampling Rate Conversion by a Rational Factor 1/ D 765

The frequency-domain relationships can be obtained by combining the results


of the interpolation and decimation processes. Thus the spectrum at the output of
the linear filter with impulse response h(l) is
V(w v) = H(wv)X(w v /)
(11.4.10)
= {IX(W v /), o ~ IWvl ~ min(rr/D,rr//)
0, otherwise
The spectrum of the output sequence y(m), obtained by decimating the sequence
v(n) by a factor of D, is

(11.4.11)

where Wy = Dwv • Since the linear filter prevents aliasing as implied by (11.4.10), the
spectrum of the output sequence given by (11.4.11) reduces to

Y(Wy) = I~X (~),


0,
o ~ IWyl ~ min (rr, rr:)
otherwise
(11.4.12)

EXAMPLE 11.4.1
Design a sample rate converter that increases the sampling rate by a factor of 2.5. Use the
Remez algorithm to determine the coefficients of the FIR filter that has a O.l-dB ripple in
the passband and is down by at least 30 dB in the stopband. Specify the sets of time-varying
coefficients g(n, m) used in the realization of the sampling rate converter.
Solution. The FIR filter that meets the specifications of this problem is exactly the same as
the filter designed in Example 11.3.1. Its bandwidth is rr/5.
The coefficients of the FIR filter are given by (l1.4.S) as
g(n, m) = h(nI + (mD)])
=h(nI+mD-LmIDjI)

By substituting I = 5 and D = 2 we obtain


g(n, m) = h (5n + 2m - 5L 2; j)
By evaluating g(n, m) for n = 0, 1, ... ,5 and m = 0, 1, ... ,4 we obtain the following coeffi-
cients for the time-variant filter:
g(O, m) = (h(O) h(2) h(4) h(l) h(3) }
g(l, m) = (h(5) h(7) h(9) h(6) h(S) }
g(2, m) = (h(lD) h(12) h(14) h(l1) h(13)}
g(3, m) = (h(15) h(17) h(19) h(16) h(lS)}
g(4, m) = (h(20) h(22) h(24) h(21) h(23)}
g(O, m) = (h(25) h(27) h(29) h(26) h(2S)}
766 Chapter 11 Multirate Digital Signal Processing

In summary, sampling rate conversion by the factor 1/ D can be achieved by


first increasing the sampling rate by I, accomplished by inserting I - 1 zeros be-
tween successive values of the input signal x(n), followed by linear filtering of the
resulting sequence to eliminate unwanted images of X(w) and, finally, by downsam-
pling the filtered signal by the factor D. When Fy > Fx, the lowpass filter acts as
an anti-imaging postfilter that removes the spectral replicas at multiples of Fx, but
not at multiples of I Fx. When Fy < Fx, the lowpass ruter acts as an anti-aliasing
prefilter that removes the down-shifted spectral replicas at multiples of Fy to avoid
overlapping. The design of the lowpass filter can be accomplished by the filter design
techniques described in Chapter 10.

11.5 Implementation of Samplin,g Rate Conversion


In this section we consider the efficient implementation of sampling rate conversion
systems using polyphase filter structures. Additional computational simplifications
can be obtained using the multistage approach described in Section 11.6.

11.5.1 Polyphase Filter Structures


Polyphase structures for FIR filters were developed for the efficient implementation
of sampling rate converters; however, they can be used in other applications. The
polyphase structure is based on the fact that any system function can be split as
H(z) = ... + h(O) +h(M)z-M + '"
.. . + h(1)z-1 + h(M + 1)z-(M+1) + ...

... + h(M - 1)z-(M-1) + h(2M _ 1)Z-(2M-l) + ...


If we next factor out the term Z-(;-I) at the ith row, we obtain
H(z) = [ ... + h(O) + h(M)z-M + ... ]
+ Z-1[ ... + h(l) + h(M + l)z-M + ... ]

+ Z-(M-l)[ .. . + h(M - 1) + h(2M - l)z-M + ... ]


The last equation can be compactly expressed as
M-l
H(z) = L Z-i p;(ZM) (11.5.1)
;=0

where
00

P;(z) = L h(nM + i)z-n (11.5.2)


n=-oo
11.5 Implementation of Sampling Rate Conversion 767

x(n) y(n)

Figure 11.5.1 Block diagram of polyphase filter structure for M = 3.

Relation (11.5.1) is called the M-component polyphase decomposition and Pi (z) the
polyphase components of H (z). Each subsequence

Pi(n) = h(nM + i), i = 0, 1, ... , M-1 (11.5.3)

is obtained by downsampling a delayed ("phase-shifted") version of the original


impulse response.
To develop an M -component polyphase filter structure, we use (11.5.1) for M = 3
to express the z-transform ofthe output sequence as

Y(z) = H(z)X(z)

= PO(Z3)X(Z) + Z-I PI (Z3)X(Z) + z-Z PZ(Z3)X(Z) (11.5.4)


= PO(Z3)X(Z) + Z-I{PI(Z3)X(Z) + Z-I[PZ(Z3)X(Z)]} (11.5.5)

Equation (11.5.4) leads to the polyphase structure of Figure 11.5.1. Similarly, (11.5.5)
yields the polyphase structure shown in Figure 11.5.2. This is known as transpose
polyphase structure because it is similar to the transpose FIR filter realization. The
obtained polyphase structures are valid for any filter, FIR or IIR, and any finite value
of M and are sufficient for our needs. Additional structures and details can be found
in Vaidyanathan (1993).

11.5.2 Interchange of Filters and Downsamplers/Upsamplers


In general, the order of a sampling rate converter (which is a linear time-varying
system) and a linear time-invariant system cannot be interchanged. We next derive
two identities, known as noble identities, that help to swap the position of a filter with
a downsampler or an upsampler by properly modifying the filter.
768 Chapter 11 Multirate Digital Signal Processing

x(n) y(n)

Figure 11.5.2 Illustration of transpose polyphase filter structure for M = 3.

To prove the first identity (see Figure 11.5.3), we recall that the input/output
description of a downsampler is
1 D-l
y(n) = x(nD) ~ Y(z) = D L X(ZI/DWb) (11.5.6)
;=0

where WD = e- j27r/ D. The output of the system in Figure 11.5.3(a) can be written as
1 D-l 1 D-l
Y(z) = D L VI (ZI/DWb) = D L H(zWbD)X(Zl/DWb) (11.5.7)
;=0 ;=0

because Vl(Z) = H(ZD)X(Z). Taking into consideration WbD = 1 and Figure


11.5.3(b), relation (11.5.7) results in
1 D-l
Y(z) = DH(z) L X(ZI/DWb) = H(Z)V2(Z) (11.5.8)
;=0

which shows the equivalence of the two structures in Figure 11.5.3.

x(n) -I tD ,,(m;1
(a)
H(z)

y(m)

Figure 11.5.3
Tho equivalent
downsampling systems (first
noble identity).
x(n) -I H(ZD)
,,(nt 1 t D
(b)

y(m)
11.5 Implementation of Sampling Rate Conversion 769

x(n) -I H(z)

1 "lnt 1
tI •
y(m)

(a)

Figure 11.5.4
Two equivalent upsampling
systems (second noble
x(n) -I tI
'im~
(b)
1
H(ZI)

y(m)

identity).

A similar identity can be shown to hold for upsampling. To start, we recall that
the input/output description of an upsampler is

y(n)={xO), n=0,~I,±21, ... 4Y(z)=X(/) (11.5.9)


0, otherwise

The output of the system in Figure 11.5.4(a) can be written as

(11.5.10)

because VI (z) = X (Zl). The output of the system in Figure 11.5.4(b) is given by

(11.5.11)

which is equal to (11.5.10). This shows that the two systems in Figure 11.5.4 are
identical.
In conclusion, we have shown that it is possible to interchange the operation of
linear filtering and downsampling or upsampling if we properly modify the system
function of the filter.

11.5.3 Sampling Rate Conversion with Cascaded Integrator Comb Filters


The hardware implementation of the lowpass filter required for sampling rate con-
version can be significantly simplified if we choose a comb filter with system function
(see Section 5.4.5)
M-l I -M
H(z) = " Z-k = - Z (11.5.12)
~ 1- Z-l
k=O

This system can be implemented by cascading either the "integrator" 1/ (1- C 1) with
the comb filter (1 - Z-M) or vice versa. This leads to the name cascaded integrator
comb (CIC) filter structure. The CIC structure does not require any multiplications
or storage for the filter coefficients.
To obtain an efficient decimation structure, we start with an integrator-comb
CIC filter followed by the downsampler and then we apply the first noble identity,
as shown in Figure 11.5.5. For the interpolation case, we use an upsampler followed
770 Chapter 11 Multirate Digital Signal Processing

1-z-1
1-z-D lD ~

x(n) -I 1 -I 1 -I y(m)

(a)

1-z-1
lD 1-z-1 ~

x(n) -I 1 ·1 1 -I y(m)

(b)
Figure 11.5.5 Using the first noble identity to obtain an efficient CIC
filter structure for decimation.

by a comb-integrator CIC filter and then we use the second noble identity, as shown
in Figure 11.5.6. To improve the lowpass frequency response required for sampling
rate conversion, we can cascade K CIC filters. In this case, we order all integra-
tors on one side of the filter and the comb filters on the other side, and then we
apply the noble identities as in the single-stage case. The integrator 1/(1 - z-l) is
an unstable system. Therefore, its output may grow without limits, resulting in over-
flow when the integrator section comes first, as in the decimation structure shown in
Figure 11.5.5(b). However, this overflow can be tolerated if the entire filter is im-
plemented using two's-complement fixed-point arithmetic. If D 1= M or I 1= M, the
comb filter 1-z-1 in Figures 11.5.5(a) and 11.5.6(b) should be replaced by 1-z- MID
or 1 - Z-MII, respectively. A detailed treatment of CIC filters for decimation and
interpolation can be found in Hogenauer (1981). Finally, we note that CIC filters are
special cases of the frequency sampling structure discussed in Section 10.2.3.
If the CIC filter order is a power of 2, that is, M = 2K , we can decompose the
system function (11.5.12) as follows:

H(z) = (1 + z-1)(1 + z-2)(1 + Z-4) ... (1 + Z-2 K - 1 ) (11.5.13)

Using this decomposition we can develop decimator structures using nonrecursive

tl 1- Z-l
1- Z-I
~

x(n) -I 1 -I 1 ·1 y(m)

(a)

l-z-I tl 1-z-1
~

x(n) -I 1 -I 1 -I y(m)

(b)
Figure 11.5.6 Using the second noble identity to obtain an efficient CIC
filter structure for interpolation.
11.5 Implementation of Sampling Rate Conversion 771

Figure 11.5.7 Efficient filter structure for decimation by D =8 using comb filters.

crc filters.Figure 11.5.7 shows an example for a decimator with D = M = 8.


Cascading of N crc filters can be obtained by providing M first-order sections
(1- Z-l) between each decimation stage. The constraint M = 2K can be relaxed by
factoring M into a product of prime numbers, as shown in Jang and Yang (2001).

11.5.4 Polyphase Structures for Decimation and Interpolation Filters


To develop a polyphase structure for decimation, we start with the straightforward
implementation of the decimation process shown in Figure 11.5.8. The decimated
sequence is obtained by passing the input sequence x(n) through a linear filter and
then downsampling the filter output by a factor D. In this configuration, the filter is
operating at the high sampling rate Fx , while only one out of every D output sam-
ples is actually needed. A logical solution would be to find a structure where only
the needed samples are computed. We will develop such an efficient implementa-
tion by exploitating the polyphase structure in Figure 11.5.1. Since downsampling
commutes with addition, combining the structures in Figures 11.5.8 and 11.5.1 yields
the structure in Figure 11.5.9(a). If we next apply the identity in Figure 11.5.3, we
obtain the desired implementation structure shown in Figure 11.5.9(b). In this fil-
tering structure, only the needed samples are computed and all multiplications and
additions are performed at the lower sampling rate Fx / D. Thus, we have achieved
the desired efficiency. Additional reduction in computation can be achieved by using
an FIR filter with linear phase and exploiting the symmetry of its impulse response.
In practice it is more convenient to implement the polyphase decimator using
a commutator model as shown in Figure 11.5.10. The commutator rotates counter-
clockwise starting at time n = 0 and distributes a block of D input samples to the
polyphase filters starting at filter i = D - 1 and continuing in reverse order until
i = O. For every block of D input samples, the polyphase filters receive a new input
and their outputs are computed and summed to produce one sample of the output
signal y(m). The operation of this realization can be also understood by a careful
inspection of Figure 11.1.3.
Next, let us consider the efficient implementation of an interpolator, which is
realized by first inserting I - 1 zeros between successive samples of x(n) and then

-------+1.1
x(n)
H(,j
L.._ _
1 ·1 i 1
---I v(n)
D •
y(m) = v(mD)

Figure 11.5.8 Decimation system.


772 Chapter 11 Multirate Digital Signal Processing

-x-(n-) --r----.... L-_ ---1H


P_O(_Z3_) l3 ~0---+-
y(m)

(a)

x(n)

Figure 11.5.9 Implementation of a decimation system using a polyphase


structure before (a) and after (b) the use of the first noble identity.

filtering the resulting sequence (see Figure 11.5.11). The major problem with this
structure is that the filter computations are performed at the high sampling rate I Fx .
The desired simplification is achieved by first replacing the filterin Figure 11.5.11 with
the transpose polyphase structure in Figure 11.5.2, as illustrated in Figure l1.5.12(a).

y(m)

Figure 11.5.10 Decimation using a polyphase filter and a commutator.


11.5 Implementation of Sampling Rate Conversion 773

~.I
x(n) .
jf y(m)

Figure 11.5.11 Interpolation system.

x(n) y(m)

(a)

x(n) y(m)

(b)
Figure 11.5.12 Implementation of an interpolation system using a polyphase
structure before (a) and after (b) the use of the second noble identity.
774 Chapter 11 Multirate Digital Signal Processing

Then, we use the second noble identity (see Figure 11.5.4) to obtain the structure in
Figure 11.5.12(b). Thus, all the filtering multiplications are performed at the low rate
Fx. It is interesting to note that the structure for an interpolator can be obtained
by transposing the structure of a decimator, and vice versa (Crochiere and Rabiner,
1981).
For every input sample, the polyphase filters produce I output samples yo(n),
Yl(n), ... , YI-l (n). Because the output Yi(n) of the ith filter is followed by (I - 1)
zeros and it is delayed by i th samples, the polyphase filters contribute nonzero sam-
ples at different time slots. In practice, we can implement the part of the structure
including the 1-to- I expanders, delays, and adders using the commutator model
shown in Figure 11.5.13. The commutator rotates counterclockwise starting at time
n = 0 at branch i = o. For each input sample x(n) the commutator reads the output
of every polyphase filter to obtain I samples of the output (interpolated) signal y(m).
The operation of this realization can be also understood by a careful inspection of
Figure 11.1.4. Each polyphase filter in Figure 11.5.13 operates on the same input
data using its unique set of coefficients. Therefore, we can obtain the same results
using a single filter by sequentially loading a different set of coefficients.

11.5.5 Structures for Rational Sampling Rate Conversion


A sampling rate converter with a ratio 1/ D can be efficiently implemented using a
polyphase interpolator followed by a downsampler. However, since the downsam-
pIer keeps only every Dth polyphase subfilter output, it is not necessary to compute
all I interpolated values between successive input samples. To determine which
polyphase subfilter outputs to compute, we consider an example with I = 5 and
D = 3. The interpolator polyphase structure has I = 5 subfilters which provide
interpolated samples at an effective sampling period T = Tx / I . The downsampler
picks every Dth of these samples, resulting in a discrete-time signal with sampling

x(n)

Commutator rate =I Fx

y(m)

--_ .... "

Figure 11.5.13 Interpolation using a polyphase filter and a commutator.


11.6 Multistage Implementation of Sampling Rate Conversion 775

,
~.--------------------~.~:, --":T:""-
, ,

,;
,,
,,
,
"
:: :: JY
oI "Cf ,I
_o-Q---

.1 .0_0
"
• Input
.t(
V .0-0" : ,,: o Interpolated
,,, V Output

n 0 2 3 4 5

k 012345678910 15 20 25
m 0 2 3 4 5 6 7 8 9

o 2 3 3 4 4 5
3 4 2 o 3 4 2
Figure 11.5.14 Illustration of index computation for polyphase implementation of
sampling rate conversion for a rational ratio J / D = 5/3.

period Ty = DT = DTx / I. It is convenient to think in terms of blocks of duration

Tblock = ITy = DTx = I DT (11.5.14)

which contain L output samples or I input samples. The relative time positions
of the various sequences and a block of data are illustrated in Figure 11.5.14. The
input sequence x(nTx) is interpolated to produce a sequence v(kT), which is then
decimated to yield y(mTy). If we use an FIR filter with M = K I coefficients, the
polyphase subfilters are given by Pi(n) = h(nl + i), i = 0,1, ... , 1- 1, where n =
0,1, ... , K -1. To compute the output sample y(m), we use the polyphase subfilter
with index im which requires the input samples x(km), x(km -1), ... , x(km - K + 1).
From relation (11.1.9) and Figure 11.5.14, we can easily deduce that

k m --lmIDJ and im = (Dm)[ (11.5.15)

For D = 3 and I = 5 the first data block includes D = 3 input samples and
1=5 output samples. To compute the samples (y(O), y(l), y(2), y(3), y(4)}, we use
the polyphase subfilter specified by the index im = to, 3,1,4, 2}, respectively. The
samples in the filter memory are updated only when k m changes value. This discussion
provides the basic ideas for the efficient software implementation of rational sampling
rate conversion using FIR filters.

11.6 Multistage Implementation of Sampling Rate Conversion


In practical applications of sampling-rate conversion we often encounter decima-
tion factors and interpolation factors that are much larger than unity. For exam-
ple, suppose that we are given the task of altering the sampling rate by the factor
776 Chapter 11 Multirate Digital Signal Processing

,--------------------,

1 ___________________ I

Stage 1 Stage 2 Stage L

Figure 11.6.1 Multistage implementation of interpolation by a factor J.

1/ D = 130/63. Although, in theory, this rate alteration can be achieved exactly, the
implementation would require a bank of 130 polyphase filters and may be compu-
tationally inefficient. In this section we consider methods for performing sampling
rate conversion for either D » 1 and/or I » 1 in multiple stages.
First, let us consider interpolation by a factor I » 1 and let us assume that I
can be factored into a product of positive integers as

(11.6.1)

Then, interpolation by a factor I can be accomplished by cascading L stages of


interpolation and filtering, as shown in Fig. 11.6.1. Note that the filter in each of
the interpolators eliminates the images introduced by the upsampling process in the
corresponding interpolator.
In a similar manner, decimation by a factor D, where D may be factored into a
product of positive integers as

(11.6.2)

can be implemented as a cascade of J stages of filtering and decimation as illustrated


in Fig. 11.6.2. Thus the sampling rate at the output of the ith stage is

i = 1, 2, ... , J (11.6.3)

where the input rate for the sequence (x(n)} is Fo = Fx.

,--------------------,
:~'y(m)
... - : h/n) ,l-DJ :
, ,
: ___________________ : Fx
Stage 1 Stage 2 F" Stage) D
DID2

Figure 11.6.2 Multistage implementation of decimation by a factor D.


11.6 Multistage Implementation of Sampling Rate Conversion 777

To ensure that no aliasing occurs in the overall decimation process, we can design
each filter stage to avoid aliasing within the frequency band of interest. To elaborate,
let us define the desired passband and the transition band in the overall decimator as
Passband: 0 ::: F ::: Fpc
(11.6.4)
Thansition band: Fpc ::: F ::: Fsc
where Fsc ::: Fx /2D. Then, aliasing in the band 0::: F ::: Fsc is avoided by selecting
the frequency bands of each filter stage as follows:
Passband: 0 ::: F ::: Fpc
Transition band: Fpc::: F ::: Fi - Fsc (11.6.5)
Fi-l
Stop band : Fi - Fsc ::: F ::: 2

For example, in the first filter stage we have Fl = Fx / Dl , and the filter is designed
to have the following frequency bands:
Passband: 0 ::: F ::: Fpc
Transition band: Fpc ::: F ::: Fl - F.~c
(11.6.6)

Stopband: Fl - Fsc ::: F ::: 2Fo


After decimation by Dl, there is aliasing from the signal components that fall in the
filter transition band, but the aliasing occurs at frequencies above Fsc. Thus there
is no aliasing in the frequency band 0 ::: F ::: Fsc. By designing the filters in the
subsequent stages to satisfy the specifications given in (11.6.5), we ensure that no
aliasing occurs in the primary frequency band 0 ::: F ::: Fsc.

EXAMPLE 11.6.1
Consider an audio-band signal with a nominal bandwidth of 4 kHz that has been sampled
at a rate of 8 kHz. Suppose that we wish to isolate the frequency components below 80 Hz
with a filter that has a passband 0 ::::: F ::::: 75 and a transition band 75 ::::: F ::::: 80. Hence
Fpc = 75 Hz and Fse = 80. The signal in the band 0 ::::: F ::::: 80 may be decimated by the factor
D = Fx/2Fsc = 50. We also specify that the filter have a passband ripple .51 = 10-2 and a
stopband ripple of .52 = 10-4 •
The length of the linear phase FIR filter required to satisfy these specifications can be
estimated from one of the well-known formulas given in the Section 10.2.7. Recall that a
particularly simple formula for approximating the length M, attributed to Kaiser, is

M= -1010gI0 .51.52 -13 1 (11.6.7)


14.M[ +
where t!.[ is the normalized (by the sampling rate) width of the transition region [Le., t!.[ =
(Fsc - Fpc)/ f,]. A more accurate formula proposed by Herrmann et al. (1973) is

• Dcc(.5t. .52) - [(.51, .52) (t!.j)2 1


M=
t!.[
+ (11.6.8)
778 Chapter 11 Multirate Digital Signal Processing

where Doo(81 , 82) and f(81 , 82) are defined as

Doo(8t. 82) = [0.OO5309(loglO 81)2 + 0.07114(logI0 81)


- 0.4761] log10 82

- [0.OO266(logI0 81)2 + 0.594110g10 81 + 0.4278] (11.6.9)

f(8t. 82) = 11.012 + 0.51244[loglO 81 -loglO 82] (11.6.10)

Now a single FIR filter followed by a decimator would require (using the Kaiser formula)
a filter of (approximate) length

A = -10 10glO 10-6 - 13 1 ~ 5152


M 14.6(5/8000) +
As an alternative, let us consider a two-stage decimation process with Dl = 25 and D2 = 2.
In the first stage we have the specifications Fl = 320 Hz and

Passband: 0 ::::: F ::::: 75

Transition band: 75 < F ::::: 240

t!.f = 165
8000
81
811 = -,
2
Note that we have reduced the passband ripple 81 by a factor of 2, so that the total passband
ripple in the cascade of the two filters does not exceed 81' On the other hand, the stopband
ripple is maintained at 82 in both stages. Now the Kaiser formula yields an estimate of Ml as

A = -1010g10 811 821 -13 1 ~ 167


Ml 14.6t!.f +
For the second stage, we have F2 = Fl/2 = 160 and the specifications
Passband: 0 ::::: F ::::: 75

Transition band: 75 < F ::::: 80

5
t!.f=-
320
81
812 = 2'
Hence the estimate of the length M2 of the second filter is

M2 ~220

Therefore, the total length of the two FIR filters is approximately M! + M2 = 387. This
represents a reduction in the filter length by a factor of more than 13.
The reader is encouraged to repeat the computation above with Dl = 10 and D2 = 5.
11.7 Sampling Rate Conversion of Bandpass Signals 779

It is apparent from the computations in Example 11.6.1 that the reduction in the
filter length results from increasing the factor Ilf, which appears in the denominator
in (11.6.7) and (11.6.8). By decimating in mUltiple stages, we are able to increase the
width of the transition region through a reduction in the sampling rate.
In the case of a multistage interpolator, the sampling rate at the output of the
ith stage is
Fi-l = IjFi, i = J, J - 1, ... , 1

and the output rate is Fo = I FJ when the input sampling rate is FJ. The correspond-
ing frequency band specifications are

Passband: 0 ~ F ~ Fp

Transition band: Fp < F ~ Fi - Fsc

The following example illustrates the advantages of multistage interpolation.

EXAMPLE 11.6.2
Let us reverse the filtering problem described in Example 11.6.1 by beginning with a signal
having a passband 0 ::::: F ::::: 75 and a transition band of 75 ::::: F ::::: 80. We wish to interpolate
by a factor of 50. By selecting It = 2 and lz = 25, we have basically a transposed form
of the decimation problem considered in Example 11.6.1. Thus we can simply transpose the
two-stage decimator to achieve the two-stage interpolator with II = 2, lz = 25, Ml ~ 220,
and M2 ~ 167.

11.7 Sampling Rate Conversion of Bandpass Signals


In this section we consider the decimation and interpolation of bandpass signals.
We begin by noting that any bandpass signal can be converted into an equivalent
lowpass signal (see Section 6.5.2) whose sampling rate can be changed using the
already developed techniques. However, a simpler and more widely used approach
concerns bandpass discrete-time signals with integer-band positioning. The concept
is similar to the one discussed for continuous-time bandpass signals in Section 6.4.
To be specific, suppose that we wish to decimate by a factor D an integer-
positioned bandpass signal with spectrum confined to the bands
:n: :n:
(k-1)- < Iwl <k- (11.7.1)
D D
where k is a positive integer. A bandpass filter defined by

H
BP
(w) = {1,0, (k -1)f>
otherWise
< Iwl < k!f5 (11.7.2)

would normally be used to eliminate signal frequency components outside the desired
frequency range. Then direct decimation of the filtered signal v(n) by the factor D
780 Chapter 11 Multirate Digital Signal Processing

results in a periodic replication of the bandpass spectrum V (w) every 21r / D radians
according to (11.2.14). The spectrum of the decimated signal y(m) is obtained by
scaling the frequency axis by Wy = Dwx • This process is illustrated in Figure 11.7.1
for bandpass signal with odd band positioning (k = 3) and in Figure 11.7.2 for signals
with even band positioning (k = 4). In the case where k is odd, there is an inversion
of the spectrum of the signal as in the continuous-time case (see Figure 6.4.1(b».
The inversion can be undone by the simple process y'(m) = (-I)my(m). Note that
violation of the bandwidth constraint given by (11.7.1) results in signal aliasing.
The process of bandpass interpolation by an integer factor I is the inverse of that
of bandpass decimation and can be accomplished in a similar manner. The process
of upsampling by inserting zeros between the samples of x(n) produces I images
in the band 0 :s w :s 1r. The desired image can be selected by bandpass filtering.
This can be seen by "reversing" the process shown in Figure 11.7.1. Note that the
process of interpolation also provides us with the opportunity to achieve frequency
translation of the spectrum.
Finally, sampling rate conversion for a bandpass signal by a rational factor 1/ D
can be accomplished by cascading a decimator with an interpolator in a manner that
depends on the choice of the parameters D and I. A bandpass filter preceding
the sampling converter is usually required to isolate the signal frequency band of

---;·~I
xCn) .
HBP(z) ~v(n)1 __
IvWlL. ~ D I '
-I y(m) = v(mD)

(a)

D=4
V(w)

-3rrlD -2rr1D 0 2rrlD 3rrlD

oci;.i~D='
-3rr1D -2rrlD o 2rrlD 3rrlD
(c)

D=4

_----'--O----ll_'"---O~_-2rr -rr o rr 2rr


(d)
Figure 11.7.1 Spectral interpretation of bandpass decimation for integer-
band positioning (odd integer positioning).
11.8 Sampling Rate Conversion by an Arbitrary Factor 781

___-____- - -' -._____J._ _


-47rID -37rID
I
o
Yew)

37rID
I _
47rID Wx

(a) /
D=4

Yew)

-27r -7r o
(b)
Figure 11.7.2 Spectral interpretation of bandpass decimation for integer-
band positioning (even integer positioning).

interest. Note that this approach provides us with a modulation-free method for
achieving frequency translation of a signal by selecting D = I.

11.8 Sampling Rate Conversion by an Arbitrary Factor


Efficient implementation of sampling rate conversion by a polyphase structure re-
quires that the rates Fx and Fy are fixed and related by a rational factor 1/ D. In
some applications, it is either inefficient or sometimes impossible to use such an exact
rate conversion scheme.
For example, suppose we need to perform rate conversion by the rational number
1/ D, where I is a large integer (e.g., 1/ D = 1023/511). Although we can achieve
exact rate conversion by this number, we would need a polyphase filter with 1023
subfilters. Such an implementation is obviously inefficient in memory usage because
we need to store a large number of filter coefficients.
In some applications, the exact conversion rate is not known when we design the
rate converter, or the rate is continuously changing during the conversion process.
For example, we may encounter the situation where the input and output samples
are controlled by two independent clocks. Even though it is still possible to define a
nominal conversion rate that is a rational number, the actual rate would be slightly
different, depending on the frequency difference between the two clocks. Obviously,
it is not possible to design an exact converter in this case.
In principle, we can convert from any rate Fx to any rate Fy (fixed or variable)
using formula (11.1.9), which we repeat here for convenience:

K2

y(mTy) = L g(kTx + I1mTx)x«km - k)Tx) (11.8.1)


k=Kj

This requires the computation of a new impulse response pm (k) = g (kTx + 11m Tx) for
each output sample. However, if 11m is measured with finite accuracy, there is only a
finite set of impulse responses, which may be precomputed and loaded from memory
782 Chapter 11 Multirate Digital Signal Processing

as needed. We next discuss two practical approaches for sampling rate conversion
by an arbitrary factor.

11.8.1 Arbitrary Resampling with Polyphase Interpolators


If we use a polyphase interpolator with 1 subfilters we can generate samples with
spacing Tx /1. Therefore, the number 1 of stages determines the granularity of the
interpolating process. If Tx / 1 is sufficiently small so that successive values of the
signal do not change significantly or the change is less than the quantization step, we
can determine the value at any location t = n Tx + fl Tx , 0 ::::; fl ::::; 1, using the value
of the nearest neighbor (zero-order hold interpolation).
Additional improvement can be obtained using two-point linear interpolation

y(nTx + flTx ) = (1 - fl)x(n) + flx(n + 1) (11.8.2)

The performance of these interpolation techniques has been discussed in Section 6.5
by analyzing their frequency-domain characteristics. Additional practical details can
be found in Ramstad (1984).

11.8.2 Arbitrary Resampling with Farrow Filter Structures


In practice, we typically implement polyphase sampling rate converters by a rational
factor using causal FIR lowpass filters. If we use an FIR filter with M = K 1 coeffi-
cients, the coefficients of the polyphase filters are obtained by the mapping

Pi(n)=h(nl+i), i=O,I, ... , I - l (11.8.3)

This mapping can be easily visualized as mapping the one-dimensional sequence


hen) into a two-dimensional array with 1 rows and K columns by filling successive
columns in natural order as follows:
poCk) f-+ h(O) h(J) hecK - 1)1)
pI(k) f-+ h(l) h(J + 1) hecK - 1)1 + 1)

PiCk) f-+ h(i) h(l + i) h«K - 1)1 + i) (11.8.4)


Pi+l(k) f-+ h(i + 1) h(J + i + 1)

PJ-I (k) f-+ h(l - 1) h(21 - 1) h(K 1 - 1)

The polyphase filters Pi(n) are used to compute samples at 1 equidistant locations
t = n Tx + i (Tx / I), i = 0, 1, ... , 1 -1 covering each input sampling interval. Suppose
now that we wish to compute a sample at t = n Tx + fl Tx , where fl =1= i / 1 and
o : : ; fl ::::; 1. This requires a nonexisting polyphase subfilter, denoted as ptJ.(k),
which would "fall" between two existing subfilters, say, PiCk) and Pi+l(k). This set
of coefficients would create a row between the rows with indexes i and i + 1. We
note that each column of (11.8.4) consists of a segment of 1 consecutive samples of
11.8 Sampling Rate Conversion by an Arbitrary Factor 783

the impulse response h(n) and covers one sampling interval Tx. Suppose next that
we can approximate the coefficient set in each column by an L -degree polynomial
L
Bk(l1) = L>~k) 111, k = 0, 1, ... , K - 1 (11.8.5)
l=O

We note that evaluating (11.8.5) at 11 = if I will provide the coefficients of Pi(k)


polyphase subfilter. The type of the polynomial (Lagrange, Chebyschev, etc.) and
the order L can be chosen to avoid any performance degradation compared to the
original filter h(n). The sample at location t = nTx + I1Tx is determined by
K-l
y«n + I1)Tx) = L Bk(l1)x«n - k)Tx ), °: : 11 ::: 1 (11.8.6)
k=O
where the required filter coefficients are computed using (11.8.5). If we substitute
the polynomials (11.8.5) into the filtering formula (11.8.6) and we change the order
of summations, we obtain
K-l L
y«n + I1)Tx) = L Lb~k) I1 l x«n - k)Tx)
k=O l=O

L K-l
= L 111 L bt)x«n - k)Tx)
l=O k=O

The last equation can be written as


L
y«n + I1)Tx) = Lv(f)l1 l (11.8.7)
l=O
where
K-l
v(f) =L b~k)x«n - k)Tx), f = 0, 1, ... , L (11.8.8)
k=O

Equation (11.8.7) can be interpreted as a Taylor series representation of the output


sequence, where the terms v(f) are successive local derivatives determined from the
input sequence. Relation (11.8.8) can be implemented using FIR filtering structures
with system functions
K-l
He(z) = L b~k)Z-k (11.8.9)
k=O

The most efficient computation of polynomial (11.8.7) can be done using the nested
Horner's rule, which is illustrated next for L = 4:
y(l1) = Co +Cll1 +c2112 +C3113 +c4114
(11.8.10)
= Co + I1(Cl + I1(C2 + I1(C3 + I1q)))
784 Chapter 11 Multirate Digital Signal Processing

Figure 11.8.1 Block diagram of the Farrow structure for sampling rate change by an
arbitrary factor.

This approach leads to the block diagram realization shown in Figure 11.8.1, which is
known as Farrow structure (Farrow 1988). Basically, the Farrow structure performs
interpolation between signal values by interpolating between filter coefficients. More
details can be found in Gardner (1993), Erup et al. (1993), Ramstad (1984), Har-
ris (1997), and Laakso et al. (1996).

11.9 Applications of Multirate Signal Processing


There are numerous practical applications of multirate signal processing. In this
section we describe a few of these applications.

11.9.1 Design of Phase Shifters


Suppose that we wish to design a network that delays the signal x(n) by a fraction
of a sample. Let us assume that the delay is a rational fraction of a sampling interval
Tx [Le., d = (k/I)Tx , where k and I are relatively prime positive integers]. In the
frequency domain, the delay corresponds to a linear phase shift of the form
kw
8(w) =-1 (11.9.1)

The design of an all-pass linear-phase filter is relatively difficult. However, we


can use the methods of sample-rate conversion to achieve a delay of (k/ I)Tx , exactly,
without introducing any significant distortion in the signal. To be specific, let us
consider the system shown in Fig. 11.9.1. The sampling rate is increased by a factor
I using a standard interpolator. The lowpass filter eliminates the images in the
spectrum of the interpolated signal, and its output is delayed by k samples at the
sampling rate I Fx. The delayed signal is decimated by a factor D = I. Thus we have
achieved the desired delay of (k/ I)Tx .

Lowpass Delay by yen)


t/ filter ksamples
.j./

Figure 11.9.1 Method for generating a delay in a discrete-time signal.


11.9 Applications of Multirate Signal Processing 785

x(n)
po(n)

PI(n)

pin)

Ou tput
.,---.:

Pk(n) Rate =IFx

Figure 11.9.2
Polyphase filter structure
for implementing the
system shown in Fig. 11.9.1. PI_I(n)

An efficient implementation of the interpolator is the polyphase ruter illustrated


in Fig. 11.9.2. The delay of k samples is achieved by placing the initial position of the
commutator at the output of the kth subfilter. Since decimation by D = I means
that we take one out of every I samples from the polyphase filter, the commutator
position can be fixed to the output of the kth subfilter. Thus a delay in k/ I can be
achieved by using only the kth subfilter of the polyphase filter. We note that the
polyphase filter introduces an additional delay of (M -1)/2 samples, where M is the
length of its impulse response.
Finally, we mention that if the desired delay is a nonrational factor of the sample
interval Tx , the methods described in Section 11.8 can be used to obtain the delay.

11.9.2 Interfacing of Digital Systems with Different Sampling Rates


In practice we frequently encounter the problem of interfacing two digital systems
that are controlled by independently operating clocks. An analog solution to this
problem is to convert the signal from the first system to analog form and then resample
it at the input to the second system using the clock in this system. However, a simpler
approach is one where the interfacing is done by a digital method using the basic
sample-rate conversion methods described in this chapter.
To be specific, let us consider interfacing the two systems with independent clocks
as shown in Fig. 11.9.3. The output of system A at rate Fx is fed to an interpolator
which increases the sampling rate by I. The output of the interpolator is fed at the
rate I Fx to a digital sample-and-hold which serves as the interface to system B at
the high sampling rate I Fx. Signals from the digital sample-and-hold are read out
into system B at the clock rate D Fy of system B. Thus the output rate from the
sample-and-hold is not synchronized with the input rate.
786 Chapter 11 Multirate Digital Signal Processing

System x(n)
tl If'x Digital sample- IF, ,l.D x(m) System
A r---- Interpolation
-r-- and-hold
~
Decimator r---- B

Fx DFy Fy

Clock IFx Clock


- A
- B
-

Figure 11.9.3 Interfacing of two digital systems with different sampling rates.

In the special case where D = I and the two clock rates are comparable but not
identical, some samples at the output of the sample-and-hold may be repeated or
dropped at times. The amount of signal distortion resulting from this method can be
kept small if the interpolator/decimator factor is large. By using linear interpolation
in place of the digital sample-and-hold we can further reduce the distortion and thus
reduce the size of the interpolator factor.

11.9.3 Implementation of Narrowband Lowpass Filters


In Section 11.6 we demonstrated that a multistage implementation of sampling-rate
conversion often provides for a more efficient realization, especially when the filter
specifications are very tight (e.g., a narrow passband and a narrow transition band).
Under similar conditions, a lowpass, linear-phase FIR filter may be more efficiently
implemented in a mUltistage decimator-interpolator configuration. To be more spe-
cific, we can employ a multistage implementation of a decimator of size D, followed
by a multistage implementation of an interpolator of size I, where I = D.
We demonstrate the procedure by means of an example for the design of a low-
pass filter which has the same specifications as the filter that is given in Example 11.6.1.

EXAMPLE 11.9.1
Design a linear-phase FIR filter that satisfies the following specifications:

Sampling frequency: 8000Hz


Passband: o~ F ~ 75Hz
Transition band: 75 Hz ~ F ~ 80 Hz
Stopband 80Hz ~ F ~ 4000Hz

Passband ripple: 81 = 10-2


Stopband ripple: 82 = 10-4
Solution. If this filter were designed as a single-rate linear-phase FIR filter, the length of
the filter required to meet the specifications is (from Kaiser's formula)

if ~ 5152
11.9 Applications of Multirate Signal Processing 787

Now, suppose that we employ a multirate implementation of the lowpass filter based on
a decimation and interpolation factor of D = I = 100. A single-stage implementation of the
decimator-interpolator requires an FIR filter of length

However, there is a significant savings in computational complexity by implementing the


decimator and interpolator filters using their corresponding polyphase filters. If we employ
linear-phase (symmetric) decimation and interpolation filters, the use of polyphase filters
reduces the multiplication rate by a factor of 100.
A significantly more efficient implementation is obtained by using two stages of decima-
tion followed by two stages of interpolation. For example, suppose that we select Dl = 50,
D2 = 2, It = 2, and /z = 50. Then the required filter lengths are

Thus we obtain a reduction in the overall filter length of 2(5480)/2(177 + 233) ~ 13.36. In
addition, we obtain further reduction in the multiplication rate by using polyphase filters. For
the first stage of decimation, the reduction in multiplication rate is 50, while for the second stage
the reduction in multiplication rate is 100. Further reductions can be obtained by increasing
the number of stages of decimation and interpolation.

11.9.4 Subband Coding of Speech Signals

A variety of techniques have been developed to efficiently represent speech signals


in digital form for either transmission or storage. Since most of the speech energy
is contained in the lower frequencies, we would like to encode the lower-frequency
band with more bits than the high-frequency band. Subband coding is a method
where the speech signal is subdivided into several frequency bands and each band is
digitally encoded separately.
An example of a frequency subdivision is shown in Fig. 11.9.4(a). Let us assume
that the speech signal is sampled at a rate Fs samples per second. The first frequency
subdivision splits the signal spectrum into two equal-width segments, a lowpass signal
(0 ~ F ~ Fs/4) and a highpass signal (Fs/4 ~ F ~ Fs/2). The second frequency
subdivision splits the lowpass signal from the first stage into two equal bands, a
lowpass signal (0 < F ~ Fs/8) and a highpass signal (F.r/8 ~ F ~ Fs/4). Finally, the
third frequency subdivision splits the lowpass signal from the second stage into two
equal-bandwidth signals. Thus the signal is subdivided into four frequency bands,
covering three octaves, as shown in Fig. 11.9.4(b).
788 Chapter 11 Multirate Digital Signal Processing

To
channel

To
channel

Speech
signal--
Encoder ~ch~:nel

(a)

J
I 2 3
~~--~------~----------~--.
0 1r 1r 1r
4
w
8 4 2
(b)

Figure 11.9.4 Block diagram of a subband speech coder.

Decimation by a factor of 2 is performed after frequency subdivision. By allo-


cating a different number of bits per sample to the signal in the four subbands, we
can achieve a reduction in the bit rate of the digitalized speech signal.
Filter design is particularly important in achieving good performance in sub-
band coding. Aliasing resulting from decimation of the subband signals must be
negligible. It is clear that we cannot use brickwall filter characteristics as shown in
Fig. 11.9.5(a), since such filters are physically unrealizable. A particularly practical
solution to the aliasing problem is to use quadrature mirror filters (QMF), which
have the frequency response characteristics shown in Fig. 11.9.5(b). These filters are
described in Section 11.11.
The synthesis method for the subband encoded speech signal is basically the
reverse of the encoding process. The signals in adjacent lowpass and highpass fre-
quency bands are interpolated, filtered, and combined as shown in Fig. 11.9.6. A pair
of QMF is used in the signal synthesis for each octave of the signal.
Subband coding is also an effective method to achieve data compression in image
signal processing. By combining subband coding with vector quantization for each
subband signal, Safranek et al. (1988) have obtained coded images with approxi-
!
mately bit per pixel, compared with 8 bits per pixel for the uncoded image.
In general, subband coding of signals is an effective method for achieving band-
width compression in a digital representation of the signal, when the signal energy is
concentrated in a particular region of the frequency band. Multirate signal processing
notions provide efficient implementations of the subband encoder.
11.9 Applications of Multirate Signal Processing 789

o
Brickwall filters
(aJ

HO<I»)

o~--------~--~~~--------~~---------I»
Figure 11.9.5
Filter characteristics for QMF
subband coding. (bJ

B9
I---------------------------------y----'+ Output

Figure 11.9.6 Synthesis of subband-encoded signals.


790 Chapter 11 Multirate Digital Signal Processing

11.10 Digital Filter Banks

Filter banks are generally categorized as two types, analysis filter banks and synthesis
filter banks. An analysis filter bank consists of a set of filters, with system functions
{Hk(Z)}, arranged in a parallel bank as illustrated in Fig. 11.1O.I(a). The frequency
response characteristics of this filter bank split the signal into a corresponding number
of subbands. On the other hand, a synthesis filter bank consists of a set of filters with
system functions {Gk(Z)}, arranged as shown in Fig. 11.1O.I(b), with corresponding
inputs {Yk(n)}. The outputs of the filters are summed to form the synthesized signal
{x(n)}.
Filter banks are often used for performing spectrum analysis and signal synthesis.
When a filter bank is employed in the computation of the discrete Fourier transform
(DFT) of a sequence {x(n)}, the filter bank is called a DFT filter bank. An analysis
filter bank consisting of N filters {Hk(Z), k = 0, 1, ... , N - I} is called a uniform
DFT filter bank if Hk(Z), k = 1, 2, ... , N - 1, are derived from a prototype filter

Ho(z)

x(n) H,(z) Y2(n)

HN_,(z)

Analysis filter bank


(a)

Go(z)

x(n)

Synthesis filter bank


(b)

Figure 11.10.1 A digital filter bank.


11.10 Digital Filter Banks 791

______ ~~~_+R-O-CW;)--H-lrCW-)~--H-2rCW-)_+-- -.~~-H-


N,_I_~_)-L
. .-.-
.. __'I--_' W

-1C 0 2!. 2rr 3rr 4rr 5rr 2rrCN-l) 2rr


N N N NN N N
Figure 11.10.2 Illustration of frequency response characteristics of the N fil-
ters.

Ho(z) , where

Hk(W) = Ho ( W - 2rrk)
Ii" ' k = 1,2, ... , N - 1 (11.10.1)

Hence the frequency response characteristicsofthe filters (Hk(Z), k = 0, 1, ... , N -1}


are simply obtained by uniformly shifting the frequency response of the prototype
filter by mUltiples of 2rr / N. In the time domain the filters are characterized by their
impulse responses, which can be expressed as

k = 0, 1, ... , N - 1 (11.10.2)

where ho(n) is the impulse response of the prototype filter, which in general may be
either an FIR or an IIR filter. If Ho(z) denotes the transfer function of the prototype
filter, the transfer function of the kth filter is

(11.10.3)

Figure 11.10.2 provides a conceptual illustration of the frequency response charac-


teristics of the N filters.
The uniform DFf analysis filter bank can be realized as shown in Fig. 11.1O.3(a),
where the frequency components in the sequence (x(n)} are translated in frequency
to lowpass by multiplying x(n) with the complex exponentials exp( - j2rrnk/ N), k =
1, ... , N -1, and the resulting product signals are passed through a lowpass filter with
impulse response ho(n). Since the output of the lowpass filter is relatively narrow in
bandwidth, the signal can be decimated by a factor D ::::: N. The resulting decimated
output signal can be expressed as

k = 0, 1, ... , N - 1
(11.10.4)
m =0,1, .. .
n

where {Xk (m)} are samples of the DFf at frequencies Wk = 2rr k / N •


792 Chapter 11 Multirate Digital Signal Processing

r----~_h_o(_n)~~--~.-I ~D I---~'- Xo(m)

I---~- X.(m)

x(n) - - - - I

ho(n) t-I -----10-11 ~D


Analysis
(a)

Yo(m)
tD

tD go(n) v(n)

tD
2:n:k
Synthesis Wk=/i"
(b)

Figure 11.10.3 A uniform DFf filter bank.

The corresponding synthesis filter for each element in the filter bank can be
viewed as shown in Fig. 11.1O.3(b), where the input signal sequences (Yk(m), k = 0,
1, ... , N - I} are upsampled by a factor of I = D, filtered to remove the im-
ages, and translated in frequency by multiplication by the complex exponentials
(exp(j2rrnk/N), k = 0, 1, ... , N - I}. The resulting frequency-translated signals
from the N filters are then summed. Thus we obtain the sequence

1 N-l [ ]
v(n) = N L e j2:n: nk /N LYk(m)go(n - mI)
k=O m

1 N-l ] (11.10.5)
= Lgo(n - mI) [ N LYk(m)ej2:n:nk/N
m k=O

m
11.10 Digital Filter Banks 793

where the factor 1/ N is a normalization factor, {Yn (m)} represent samples of the
inverse DFf sequence corresponding to (Yk(m)}, (go(n)} is the impulse response of
the interpolation filter, and I = D.
The relationship between the output (Xk(n)} of the analysis filter bank and the
input (Yk(m)} to the synthesis filter bank depends on the application. Usually, {Yk(m)}
is a modified version of {Xk(m)}, where the specific modification is determined by
the application.
An alternative realization of the analysis and synthesis filter banks is illustrated
in Fig. 11.10.4. The filters are realized as bandpass filters with impulse responses

k = 0, 1, ... , N - 1 (11.10.6)

The output of each bandpass filter is decimated by a factor D and multiplied by


exp(-j2rrmk/N) to produce the DFf sequence {Xk(m)}. The modulation by the
complex exponential allows us to shift the spectrum of the signal from It)k = 2rr k / N
to WQ = O. Hence this realization is equivalent to the realization given in Fig. 11.10.3.

e-jWQmD

I!o(n) ,j,D Xo(m)

e-j""mD

h.(n) ,j,D X.(m)

x(n)
e-jwN-lmD

hN_.(n) ,j,D XN_.(m)

Analysis
(a)
ejWQmD

Yo(m)
tD go(n)

Y.(m)
·0~ tD gl(n) v(n)
·1 ·1 ~ +
~
ejwN-lmD

YN_1(m)
tD gN_I(n)

Synthesis
(b)

Figure 11.10.4 Alternative realization of a uniform DFf filter bank.


794 Chapter 11 Multirate Digital Signal Processing

The analysis filter bank output can be written as

Xk(m) = [ ~X(n)ho(mD - n)e j21fk (mD-n)/NJ e- j2:n:mkD/N (11.10.7)

The corresponding filter bank synthesizer can be realized as shown in Fig. 11.10.4-
(b), where the input sequences are first multiplied by the exponential factors [exp(j2n
kmD/N)], upsampled by the factor I = D, and the resulting sequences are filtered
by the bandpass interpolation filters with impulse responses
(11.10.8)
where (go(n)} is the impulse response of the prototype filter. The outputs of these
filters are then summed to yield

(11.10.9)

where I = D.
In the implementation of digital filter banks, computational efficiency can be
achieved by use of polyphase filters for decimation and interpolation. Of particular
interest is the case where the decimation factor D is selected to be equal to the
number N of frequency bands. When D = N, we say that the filter bank is critically
sampled.

11.10.1 Polyphase Structures of Uniform Filter Banks


For the analysis filter bank, let us define a set of N = D polyphase filters with impulse
responses
Pk(n) = ho(nN - k), k = 0, 1, ... , N - 1 (11.10.10)
and the corresponding set of decimated input sequences
Xk(n) = x(nN + k), k = 0, 1, ... , N - 1 (11.10.11)
Note that this definition of (Pk(n)} implies that the commutator for the decimator
rotates clockwise.
The structure of the analysis filter bank based on the use of polyphase filters can
be obtained by substituting (11.10.10) and (11.10.11) into (11.10.7) and rearranging
the summation into the form

k = 0, 1, ... , D - 1 (11.10.12)

where N = D. Note that the inner summation represents the convolution of {Pn (I)}
with {xn (I)}. The outer summation represents the N -point DFf of the filter outputs.
The filter structure corresponding to this computation is illustrated in Fig. 11.10.5.
Each sweep of the commutator results in N outputs, denoted as (r,,(m), n = 0,
1, ... , N -I} from the N polyphase filters. The N -point DFf of this sequence yields
the spectral samples (Xk(m)}. For large values of N, the FFf algorithm provides an
efficient means for computing the DFf.
11.10 Digital Filter Banks 795

xo(m)
( I p,;.m) • r()(m)

I
0
Xl(m)

I Pl(m) • Tl(m)

I
N-Point
DFf
xn(m)
0 • Pn(m) rll(m)

XN_l(m)
PN-l(m) TN_l(m)

Figure 11.10.S Digital filter bank structure for the computation of


(11.10.12).

Now suppose that the spectral samples (Xk(m)} are modified in some manner,
prescribed by the application, to produce (Yk (m) }. A filter bank synthesis filter based
on a polyphase filter structure can be realized in a similar manner. First, we define
the impulse response of the N (D = I = N) polyphase filters for the interpolation
filter as
k = 0, 1, ... , N - 1 (11.10.13)
and the corresponding set of output signals as

Vk(n) = venN + k), k = 0, 1, ... , N - 1 (11.10.14)

Note that this definition of (qk(n)} implies that the commutator for the interpolator
rotates counterclockwise.
By substituting (11.10.13) into (11.10.5), we can express the output vt(n) of the
I th polyphase filter as

I = 0, 1, ... , N - 1 (11.10.15)

The term in brackets is the N-point inverse Off of (Yk(m)} , which we denote as
{Yt (m)}. Hence

vt(n) = Lqt(n - m)y/(m), I = 0, 1, ... , N - 1 (11.10.16)


m

The synthesis structure corresponding to (11.10.16) is shown in Fig. 11.10.6. It is


interesting to note that by defining the polyphase interpolation filter as in (11.10.13),
the structure in Fig. 11.10.6 is the transpose of the polyphase analysis filter shown in
Fig. 11.10.5.
796 Chapter 11 Multirate Digital Signal Processing

Yo(m) yo(m) vo(m)


• qo(m)

m=Q
Y1(m) YI(m) vl(m)
• ql(m)
v(n)

Inverse
DFI'
Yk(m) y/(m) v/(m)
q/(m)

YN_1(m) YN_I(m) vN_I(m)


qN_I(m)

Figure 11.10.6 Digital filter bank structure for the computa-


tion of (11.10.16).

In our treatment of digital filter banks we considered the important case of


critically sampled DFT filter banks, where D = N. Other choices of D and N can be
employed in practice, but the implementation of the filters becomes more complex.
Of particular importance is the oversampled OFT filter bank, where N = K D, D
denotes the decimation factor and K is an integer that specifies the oversampling
factor. In this case it can be shown that the polyphase filter bank structures for the
analysis and synthesis filters can be implemented by use of N subfilters and N -point
DFTs and inverse OFfs.

11.10.2 Transmultiplexers
An application of digital filter banks is in the design and implementation of digital
transmultiplexers, which are devices for converting between time-division-multiplexed
(TOM) signals and frequency-division-multiplexed (FDM) signals.
In a transmultiplexer for TDM-to-FOM conversion, the input signal (x(n)} is
a time-division-multiplexed signal consisting of L signals, which are separated by a
commutator switch. Each of these L signals is then modulated on a different carrier
frequency to obtain an FOM signal for transmission. In a transmultiplexer for FDM-
to-TOM conversion, the composite signal is separated by filtering into the L signal
components which are then time-division multiplexed.
In telephony, single-sideband transmission is used with channels spaced at a nom-
inal 4-kHz bandwidth. Twelve channels are usually stacked in frequency to form a
basic group channel, with a bandwidth of 48 kHz. Larger-bandwidth FDM signals are
formed by frequency translation of multiple groups into adjacent frequency bands.
We shall confine our discussion to digital transmultiplexers for 12-channel FOM and
TOM signals.
Let us first consider FOM-to-TDM conversion. The analog FDM signal is passed
through an AID converter as shown in Fig. 11.1O.7(a). The digital signal is then
11.10 Digital Filter Banks 797

...... SSB
demodulator - Decimator
sl(n)
r---:---

r-- SSB
demodulator - Decimator
s2(n)
.....::.--.
TOM TOM
I---:---
Multiplexer sign aI
FDM AID
r--
signal converter

SSB sN(n)
"""- demodulator r--- Decimator r--
(a)

LPF .j.D

x(n)
h(n)
·1
-sin Will

LPF .j.D
h(n)
·1
(b)

Figure 11.10.7 Block diagram of FDM-to-TDM transmultiplexer.

demodulated to baseband by means of single-sideband demodulators. The output


of each demodulator is decimated and fed to the commutator of the TDM system.
To be specific, let us assume that the 12-channel FDM signal is sampled at the
Nyquist rate of 96 kHz and passed through a filter-bank demodulator. The basic
building block in the FDM demodulator consists of a frequency converter, a lowpass
filter, and a decimator, as illustrated in Fig. 11.1O.7(b). Frequency conversion can be
efficiently implemented by the DFT filter bank described previously. The lowpass
filter and decimator are efficiently implemented by use of the polyphase filter struc-
ture. Thus the basic structure for the FDM-to-TDM converter has the form of a DFT
filter bank analyzer. Since the signal in each channel occupies a 4-kHz bandwidth,
its Nyquist rate is 8 kHz, and hence the polyphase filter output can be decimated by a
factor of 12. Consequently, the TDM commutator is operating at a rate of 12 x 8 kHz
or 96 kHz.
In TDM-to-FDM conversion, the 12-channel TDM signal is demultiplexed into
the 12 individual signals, where each signal has a rate of 8 kHz. The signal in each
channel is interpolated by a factor of 12 and frequency converted by a single-sideband
modulator, as shown in Fig. 11.10.8. The signal outputs from the 12 single-sideband
modulators are summed and fed to the D/A converter. Thus we obtain the analog
798 Chapter 11 Multirate Digital Signal Processing

o---j Interpolator H mo!~~tor ~ ~


+

TDM
signal

Figure 11.10.8 Block diagram of TD M -to-FD M transmuItiplexer.

FOM signal for transmission. As in the case of FOM-to-TOM conversion, the inter-
polator and the modulator filter are combined and efficiently implemented by use of
a polyphase filter. The frequency translation can be accomplished by the Off. Con-
sequently, the TDM-to-FDM converter encompasses the basic principles introduced
previously in our discussion of DFf filter bank synthesis.

11.11 Two-Channel Quadrature Mirror Filter Bank


The basic building block in applications of quadrature mirror filters (QMF) is the two-
channel QMF bank shown in Fig. 11.11.1. This is a multirate digital filter structure
that employs two decimators in the "signal analysis" section and two interpolators
in the "signal synthesis" section. The lowpass and highpass filters in the analysis
section have impulse responses ho(n) and hI (n), respectively. Similarly, the lowpass
and highpass filters contained in the synthesis section have impulse responses go(n)
and gl (n), respectively
The Fourier transforms of the signals at the outputs of the two decimators are

XaO(w) = 21 [(W) '2 + X (w -2 2n) Ho (W -22n)]


X '2 Ho (W)
(11.11.1)
1 X
Xal (w) = 2 [(W) '2 + X (W -22n) HI (w -2 2n)]
'2 HI (W)

x(n)

Figure 11.11.1 Two-channel QMF bank.


11.11 Two-Channel Quadrature Mirror Filter Bank 799

If Xso(w) and Xsl (w) represent the two inputs to the synthesis section, the output is
simply
(11.11.2)
Now, suppose that we connect the analysis filter to the corresponding synthesis filter,
so that XaO(w) = Xso(w) and Xal(W) = X sl(W). Then, by substituting from (11.11.1)
into (11.11.2), we obtain

~ 1
X(w) = 2 [Ho(w)Go(w) + HI (w)G 1(w)] X(w)
(11.11.3)
1
+ 2 [Ho(w - rr)Go(w) + HI (w - rr)Gl (w)] X (w - rr)

The first term in (11.11.3) is the desired signal output from the QMF bank. The
second term represents the effect of aliasing, which we would like to eliminate.
In the z-transform domain (11.11.3) is expressed as

~ 1
X(z) = 2 [Ho(z)Go(z) + Hl(Z)Gl(Z)]X(z)
1 (11.11.4)
+ 2 [Ho(-z)Go(z) + Hl(-Z)Gl(Z)] X(-z)
= Q(z)X(z) + A(z)X(-z)
where, by definition,

1
Q(z) = 2 [Ho(z)Go(z) + HI (Z)Gl (z)]
(11.11.5)
1
A(z) = 2 [Ho(-z)Go(z) + Hl(-Z)Gl(Z)]

11.11.1 Elimination of Aliasing


To eliminate aliasing, we require that A(z) = 0, i.e.,

(11.11.6)

In the frequency domain, this condition becomes

(11.11.7)

This condition can be simply satisfied by selecting Go(w) and Gl(W) as

(11.11.8)

Thus, the second term in (11.11.3) vanishes and the filter bank is alias-free.
800 Chapter 11 Multirate Digital Signal Processing

IHo(w) I

o 17:
2
Figure 11.11.2 Mirror image characteristics of the analysis filters
Ho(w) and Hj(w).

To elaborate, let us assume that Ho(w) is a lowpass filter and Hl(W) is a mirror-
image highpass filter as shown in Fig. 11.11.2. Then we can express Ho(w) and
Hl(W) as
Ho(w) = H(w)
(11.11.9)
Hl(W) = H(w-11:)
where H(w) is the frequency response of a lowpass filter. In the time domain, the
corresponding relations are
ho(n) = h(n)
(11.11.10)
hl(n) = (-l)nh(n)

As a consequence, Ho(w) and Hl(W) have mirror-image symmetry about the fre-
quency w = 11:/2, as shown in Fig.11.11.2. To be consistent with the constraint in
(11.11.8), we select the lowpass filter Go(w) as
Go(w) = H(w) (11.11.11)
and the highpass filter Gl(W) as
Gl(W) = -H(w -11:) (11.11.12)
In the time domain, these relations become
go(n) = h(n)
(11.11.13)
gl(n) = (-l)nh(n)

In the z-transform domain, the relations for the elimination of aliasing are:
Ho(z) = H(z)

Hl(Z) = H(-z)
(11.11.14)
Go(z) = H(z)

G 1 (z) = -H(-z)
11.11 Two-Channel Quadrature Mirror Filter Bank 801

11.11.2 Condition for Perfect Reconstruction


With A(z) = 0, we now consider the condition for which the output x(n) of the QMF
bank is identical to the input x (n), except for an arbitrary delay, for all possible inputs.
When this condition is satisfied, the filter bank is called a perfect reconstruction QMF
bank. Thus, we require that

1
Q(z) = 2 [Ho(z)Go(z) + HI(Z)Gl(Z)] = Z-k (11.11.15)

By making use of the relations in (11.11.14), the condition for perfect reconstruc-
tion may be expressed as
(11.11.16)
or, equivalently,
(11.11.17)
Therefore, for perfect reconstruction, the frequency response H(w) of the lowpass
filter in the two-channel QMF bank must satisfy the magnitude condition

(11.11.18)

where C is a positive constant, e.g., C = 2. We note that if H(w) satisfies the


magnitude condition in (11.11.18) and is designed to have linear phase, then the
QMF output x(n) is simply a delayed version of the input sequence x(n). However,
linear phase is not a necessary condition for perfect reconstruction.

11.11.3 Polyphase Form of the QMF Bank


The two-channel alias-free QMF bank can be realized efficiently by employing poly-
phase filters. Toward this goal, Ho(z) and HI (z) can be expressed as

Ho(z) = PO(Z2) + z-l PI (Z2)


(11.11.19)
HI(Z) = po(Z2) - Z-I PI (Z2)

where we have used the relationship given in (11.11.14).


Similarly, using the relations given in (11.11.14), we obtain the polyphase repre-
sentation of the filters Go(z) and GI (z) as

Go(z) = PO(Z2) + Z-I PI (Z2)


(11.11.20)
GI (z) = - [pO(Z2) - Z-I PI (Z2)]

Thus, we obtain the polyphase realization of the QMF bank as shown in Figure
11.11.3(a). The corresponding computationally efficient polyphase realization is
shown in Figure 11.11.3(b).
802 Chapter 11 Multirate Digital Signal Processing

(a)

(b)

Figure 11.11.3 Polyphase realization of the two-channel QMF bank.

11.11.4 Linear Phase FIR QMF Bank


Now, let us consider the use of a linear phase filter H(w). Hence H(w) may be
expressed in the form
H(w) = H r (w)e- jw (N-l)/2 (11.11.21)

where N is the filter length. Then

H2(W) = H;(w)e-.iW(N-l)
(11.11.22)
= IH(w)1 2e- jw (N-l)

and
H2(W - rr) = H;(w - rr)e-j(w-:rr)(N-l)
(11.11.23)
= (-1)N- 1 IH(w _ rr)1 2e- jw (N-l)

Therefore, the overall transfer function of the two-channel QMF which employs
linear-phase FIR illters is

(11.11.24)

Note that the overall filter has a delay of N -1 samples and a magnitude characteristic

(11.11.25)

We also note that when N is odd, M(rr/2) = 0, because IH(rr/2)1 = IH(3rr/2)1. This
is an undesirable property for a QMF design. On the other hand, when N is even,

M(w) = IH(w)1 2 + IH(w - rr)1 2 (11.11.26)


11.11 Two-Channel Quadrature Mirror Filter Bank 803

which avoids the problem of a zero at It) = rr/2. For N even, the ideal two-channel
QMF should satisfy the condition

M(lt)) = IH(lt))1 2 + IH(lt) - rr)1 2 = 1 for alllt) (11.11.27)

which follows from (11.11.25). Unfortunately, the only filter frequency response
function that satisfies (11.11.27) is the trivial function 1H (It)) 12 = cos2alt). Con-
sequently, any nontrivial linear-phase FIR filter H(lt)) introduces some amplitude
distortion.
The amount of amplitude distortion introduced by a nontrivial linear phase FIR
filter in the QMF can be minimized by optimizing the FIR illter coefficients. A
particularly effective method is to select the filter coefficients of H(lt)) such that
M(lt)) is made as flat as possible while simultaneously minimizing (or constraining)
the stopband energy of H (It)). This approach leads to the minimization of the integral
squared error

J = W 17r
Ws
IH(lt))1 2dlt) + (1 - w) r [M(lt)) -
Jo
1fdlt) (11.11.28)

where w is a weighting factor in the range 0 < w < 1. In performing the optimiza-
tion, the filter impulse response is constrained to be symmetric (linear phase). This
optimization is easily done numerically on a digital computer. This approach has
been used by Johnston (1980) and Jain and Crochiere (1984) to design two-channel
QMFs. Tables of optimum filter coefficients have been tabulated by Johnston (1980).

11.11.5 IIR QMF Bank

As an alternative to linear-phase FIR filters, we can design an IIR filter that satisfies
the all-pass constraint given by (11.11.18). For this purpose, elliptic filters provide
especially efficient designs. Since the QMF would introduce some phase distortion,
the signal at the output of the QMF can be passed through an all-pass phase equalizer
designed to minimize phase distortion.

11.11.6 Perfect Reconstruction Two-Channel FIR QMF Bank


We have observed that neither linear-phase FIR filters nor IIR filters described above
yield perfect reconstruction in a two-channel QMF bank. However, as shown by
Smith and Barnwell (1984), perfect reconstruction can be achieved by designing
H (It)) as a linear-phase FIR half-band filter of length 2N - 1.
A half-band filter is defined as a zero-phase FIR filter whose impulse response
{b(n)} satisfies the condition

b(2n) = {constant, n =0 (11.11.29)


0, n #0
804 Chapter 11 Multirate Digital Signal Processing

O~---------------L~~-+--1---~~r---------

-8 2

Figure 11.11.4 Frequency response characteristic of FIR half-band


filter.

Hence all the even-numbered samples are zero except at n = O. The zero-phase
requirement implies that b(n) = b( -n). The frequency response of such a filter is

K
B(w) = L b(n)e- jwn (11.11.30)
n=-K

where K is odd. Furthermore, B(w) satisfies the condition that B(w) + B(rr - w) is
equal to a constant for all frequencies. The typical frequency response characteristic
of a half-band filter is shown in Fig. 11.11.4. We note that the filter response is
symmetric with respect to rr /2, the band edges frequencies wp and Ws are symmetric
about w = rr /2, and the peak passband and stopband errors are equal. We also note
that the filter can be made causal by introducing a delay of K samples.
Now, suppose that we design an FIR half-band filter oflength 2N -1, where N is
even, with frequency response as shown in Fig. 11.11.5(a). From B(w) we construct
another half-band filter with frequency response

B+(w) = B(w) + 8e- jw (N-l) (11.11.31)

as shown in Fig. 11.11.5(b). Note that B+(w) is nonnegative and hence it has the
spectral factorization
(11.11.32)
or, equivalently,
(11.11.33)
where H(w) is the frequency response of an FIR filter of length N with real co-
efficients. Due to the symmetry of B+(w) with respect to w = rr/2, we also have
11.11 Two-Channel Quadrature Mirror Filter Bank 805

B(w)
amplitude
response of
G(z)

B+(w)
amplitude
response of
B+(z)

OL-----------~~~~L_ __~~__~__~w
wp ~ ws
2
(b)

Magnitude
responses of
analysis
filters

L---~----~~~~~----~----~ ____ ~w
tm
(c)
Figure 11.11.5 Frequency response characteristic of FIR half-band filters
B(w) and B+(w). (From Vaidyanathan (1987»

(11.11.34)

or, equivalently,

(11.11.35)

where a is a constant. Thus, by substituting (11.11.32) into (11.11.34), we obtain

(11.11.36)
806 Chapter 11 Multirate Digital Signal Processing

Since H(z) satisfies (11.11.36) and since aliasing is eliminated when we have Go(z) =
HI (-z) and Gl(Z) = -Ho( -z), it follows that these conditions are satisfied by choos-
ing Hl(Z), Go(z), and Gl(Z) as

Ho(z) = H(z)
HI (z)= _Z-(N-l) Ho( -z-l)
Go(z) = Z-(N-l) HO(Z-I) (11.11.37)
Gl(Z) = Z-(N-l)Hl(Z-I) =
-Ho(-z)

Thus aliasing distortion is eliminated and, since X(w)/ X (w) is a constant, the QMF
performs perfect reconstruction so that x(n) = ax(n - N + 1). However, we note
that H(z) is not a linear-phase filter. The FIR filters Ho(z), Hl(Z), Go(z), and Gl(Z)
in the two-channel QMF bank are efficiently realized as polyphase filters as shown
previously.

11.11.7 Two-Channel QMF Banks in Subband Coding


In Section 11.9.4 we described a method for efficient encoding of a speech signal
based on subdividing the signal into several subbands and encoding each sub band
separately. For example, in Figure 11.9.4 we illustrated the separation of a signal into
four subbands, namely, 0 ~ F ~ Fs/16, Fs/16 < F ~ Fs /8, Fs/8 < F ~ Fs/4, and
Fs/4 < F ~ Fs/2, where Fs is the sampling frequency. The subdivision into four
sub bands can be accomplished by use of three two-channel QMF analysis sections.
After encoding and transmission through the channel, each subband signal is decoded
and reconstructed by passing the subbands through three two-channel QMF synthesis
filters. The system configuration for subband coding employing four subbands is
illustrated in Figure 11.11.6.

Synthesis
QMF
Synthesis Output
QMF signal
i(n)

(a)

~ Analysis Section of QMF -l ~ Synthesis Section of QMF -l


(b) (e)

Figure 11.11.6 System for subband coding using two-channel QMF banks.
11.12 M-Channel QMF Bank 807

11.12 M -Channel QMF Bank


In this section, we consider the generalization of the QMF bank to M channels.
Figure 11.12.1 illustrates the structure of an M -channel QMF bank, where x(n) is
the input to the analysis section, xla ) (n), 0 ::: k ::: M - 1, are the outputs of the
analysis filters, x?)
(n), 0 ::: k ::: M - 1, are the inputs to the synthesis filters and x(n)
is the output of the synthesis section.
The M outputs from the analysis filters may be expressed in the z-transform
domain as

1 M-l
X~a)(z) = M L Hk (Zl/MWZ) X (zl/M WZ) , 0::: k::: M-1 (11.12.1)
m=O

where WM = e- j2rr / M • The output from the synthesis section is

M-l
X(z) =L XiS) (ZM) Gk(z) (11.12.2)
k=O

As in the case of the two-channel QMF bank, we set xi a ) (z) = X~,) (z). Then, if we
substitute (11.12.1) into (11.12.2), we obtain

M-l
X(z) = { ; GkCz)
[1 E
M
M-l
Hk (zWZ) X (zWZ)
]

=E
[1
M-l M-l
M { ; Gk(z)Hk
]
(zW~) X (zWZ)
(11.12.3)

x(~(n) x<;i(n)
,- Ho(z) r-- .j..M tM r-- Go(z)

x<a(n) x(;)(n)
r-- H1(z) r-- .j..M ~I • tM r-- G1(z)

x(n) X<"i(n) x~)(n) x(n)


x(z)
H 2(z) r-- .j..M tM r-- Gz{z) +
Xz

- HM_1(z)
--- .j..M
x~':}I(n) xi;~I(n)
""'::':"""i tM r-- GM_1(Z)

Figure 11.12.1 An M -channel QMF bank.


808 Chapter 11 Multirate Digital Signal Processing

It is convenient to define the term in the brackets as

1 M-l
Rm(z) = M L Gk(z)Hk(ZW:;), 0 ~ m ~ M-1 (11.12.4)
k=O

Then, (11.12.3) may be expressed as

M-l
X(z) =L Rm(z)X(ZW~)
m=O
(11.12.5)
M-l
= Ro(z)X(z) +L Rm(z)X (zW:;)
m=l

We note the first term in (11.12.5) is the alias-free component of the QMF bank and
the second term is the aliasing component.

11.12.1 Alias-Free and Perfect Reconstruction Condition


From (11.12.5), it is clear that aliasing is eliminated by forcing the condition

Rm (z) = 0, 1~ m ~ M - 1 (11.12.6)

With the elimination of the alias terms, the M -channel QMF bank becomes a linear
time-invariant system that satisfies the input-output relation

X(z) = Ro(z)X(z) (11.12.7)

where
1 M-l
Ro(z) = M L Hk(Z)Gk(Z) (11.12.8)
k=O
Then, the condition for a perfect reconstruction M -channel QMF bank becomes

Ro(z) = Cz- k (11.12.9)

where C and k are positive constants.

11.12.2 Polyphase Form of the M -Channel QMF Bank


An efficient implementation of the M -channel QMF bank is achieved by employing
polyphase filters. To obtain the polyphase form for the analysis filter bank, the kth
filter Hk(Z) is represented as

M-l
Hk(z) = L z-m Pkm(z), 0~k~M-1 (11.12.10)
m=O
11.12 M -Channel QMF Bank 809

We may express the equations for the M polyphase filter in matrix form as
H(z) = P(zM)a(z) (11.12.11)
where
H(z) = [Ho(z) HI(Z) ... HM_I(Z)]t

a(z) = [1 Z-l Z-2 ... Z-(M-I) r (11.12.12)

and
Poo(z) POI (z)
POM-I(Z)]
[ PlO(Z) Pn (z) PIM-I(Z)
P(z) = . (11.12.13)

PM-IO(Z) PM-II(Z) PM-I M-I(Z)


The polyphase form of the analysis filter bank is shown in Figure l1.12.2(a),
and after applying the first noble identity we obtain the structure shown in Fig-
ure l1.12.2(b).
The synthesis section can be constructed in a similar manner. Suppose we use
a type II (transpose) form (see Problem 11.15) for the polyphase representation of
the filters {Gk(z)}. Thus,
M-I
Gk(Z) = L z-(M-I-m)Qkm(ZM), (11.12.14)
m=O

When expressed in matrix form, (11.12.14) becomes


G(z) = Z-(M-I)Qt (zM)a(z-l) (11.12.15)
where a(z) is defined in (11.12.12) and
G(z) = [ Go(z) GI (z) ... G M-I (z) r
Qoo(z) Q01(Z) Qo M-I(Z) ]
QlO(Z) Qn(z) QIM-I(Z) (11.12.16)
[
Q(z) =

QM-IO(Z) QM-I M-l(Z)

(a) (b)

Figure 11.12.2 Polyphase structure of the analysis section of an M -channel


QMF bank (a) before and (b) after applying the first noble identity.
810 Chapter 11 Multirate Digital Signal Processing

x(n)

(a) (b)
Figure 11.12.3 Polyphase structure of the synthesis section of an M-channel QMF
bank (a) before and (b) after applying the first noble identity.

Therefore, the synthesis section of the M -channel QMF bank is realized as shown
in Figure 11.11.3. By combining Figures 11.12.2(b) and 11.12.3(b), we obtain the
polyphase structure of the complete M -channel QMF bank shown in Figure 11.12.4.
From the structure of the M -channel QMF bank shown in Figure 11.12.4, we
observe that the perfect reconstruction condition can be restated as

Q(z)P(z) = Cz-kI (11.12.17)

where I is the M x M identity matrix. Hence, if the polyphase matrix P(z) is known,
then the polyphase synthesis matrix Q(z) is

(11.12.18)

x(n)

Figure 11.12.4
Polyphase cb
realization of the
M -channel QMF
bank
0-0--- x(n)
11.12 M -Channel QMF Bank 811

EXAMPLE 11.12.1
Suppose the polyphase matrix for a three-channel perfect reconstruction FIR QMF bank is

p(Z3) = [11 2]
2 3 1
1 2 1

Determine the analysis and the synthesis filters in the QMF bank.

Solution. The analysis filters are given by (11.12.11) as

HO(Z)]
[ HI (z) = [12 31 2]
1 [ Z-I
1 ]
H2(Z) 1 2 1 Z-2

Hence,

Ho(z) = 1 + Z-I + 2z-2, HI(z) = 2 + 3z- 1 + Z-2,


The inverse of P(Z3) is
3
[P(z)]
-I
=21[1 3-5~]
-11 -1
-1
We may scale this inverse by the factor 2, so that

Then, by applying (11.12.15), we obtain the synthesis filters as

Hence,

Go(Z) =1- Z-I + Z-2 GI (z) = -1- Z-I + 3z-2

Vaidyanathan (1992) treats the design of M -channel perfect reconstruction QMF


banks by selecting the analysis filters Hk(Z) to be FIR with a paraunitary polyphase
structure, i.e.,
P(z)P(z) = dI, (11.12.19)
where P(z) is the paraconjugate of P(z). That is, P(z) is formed by the transpose of
P(1/ z), with the coefficients of P(z) replaced by their complex conjugates. Then, the
polyphase filters in the synthesis section are designed to satisfy

C > O,k > 0 (11.12.20)


812 Chapter 11 Multirate Digital Signal Processing

Figure 11.12.5
Magnitude response for
analysis filters in an M = 3
QMF bank.

It can be shown (see Vaidyanathan et al. (1989» that any causal L th-degree FIR
paraunitary matrix P(z) can be expressed in a product form as

P(z) = VdZ)VL-l(Z)··· VI (z)U (11.12.21)

where U is a unitary matrix and {Vm (z)} are paraunitary matrices that have the form

(11.12.22)

where Um is an M -dimensional vector of unit norm. Then, the design of the synthesis
filters reduces to the optimization of the components of Um and Uj by minimizing an
objective function, which may be a generalization of the two-channel QMF objective
function given by (11.11.28). In particular, we may minimize the objective function

(11.12.23)

by employing a nonlinear optimization technique to determine the components of


U m and Uj. Thus, the vectors U m and Uj completely determine P(z) and, hence, the
analysis filters Hk(Z). The synthesis filters are then determined from (11.12.20).
For example, consider the design of a perfect reconstruction three-channel QMF
bank with magnitude responses as shown in Fig. 11.12.5. The design procedure
described above yields the magnitude responses for the analysis IDters that are shown
in Fig. 11.12.6. The filterlength is N = 14. We observe thatthe stopband attenuation
of the filters is approximately 20 dB.
O-+----_~

-10
Figure 11.12.6
Magnitude response of -20
optimized analysis filters
for an M = 3 FIR perfect 19-30
reconstruction QMF bank.
(From Multirate Systems -40
and Filter Banks, by -50
p.p. Vaidyanathan, ©1993
by Prentice Hall. Reprinted -60-+-----~------~----_.------._----~
with permission of the 0.0 0.1 0.2 0.3 0.4 0.5
publisher.) Normalized frequency (W/2rr)
Chapter 11 Problems 813

11.13 Summary and References


The need for sampling rate conversion arises frequently in digital signal processing
applications. In this chapter we first treated sampling rate reduction (decimation)
and sampling rate increase (interpolation) by integer factors and then demonstrated
how the two processes can be combined to obtain sampling rate conversion by any
rational factor. Then, we described a method to achieve sampling rate conversion by
an arbitrary factor. In the special case where the signal to be resampled is a bandpass
signal, we described methods for performing the sampling rate conversion.
In general, the implementation of sampling rate conversion requires the use of a
linear time-variant filter. We described methods for implementing such illters, includ-
ing the class of polyphase illter structures, which are especially simple to implement.
We also described the use of multistage implementations of multirate conversion as
a means of simplifying the complexity of the filter required to meet the specifications.
We also described a number of applications that employ multirate signal process-
ing, including the implementation of narrowband filters, phase shifters, illter banks,
subband speech coders, quadrature mirror filters and transmultiplexers. These are
just a few of the many applications encountered in practice where multirate signal
processing is used.
The first comprehensive treatment of multirate signal processing was given in the
book by Crochiere and Rabiner (1983). In the technical literature, we cite the papers
by Schafer and Rabiner (1973), and Crochiere and Rabiner (1975,1976,1981,1983).
The use of interpolation methods to achieve sampling rate conversion by an arbitrary
factor is treated in a paper by Ramstad (1984). A thorough tutorial treatment of
multirate digital filters and filter banks, including quadrature mirror filters, is given by
Vetterli (1987), and by Vaidyanathan (1990, 1993), where many references on various
applications are cited. A comprehensive survey of digital transmultiplexing methods
is found in the paper by Scheuermann and Gockler (1981). Subband coding of speech
has been considered in many publications. The pioneering work on this topic was
done by Crochiere (1977,1981) and by Garland and Esteban (1980). Subband coding
has also been applied to coding of images. We mention the papers by Vetterli (1984),
Woods and O'Neil (1986), Smith and Eddins (1988), and Safranek et al. (1988) as
just a few examples. In closing, we wish to emphasize that multirate signal processing
continues to be a very active research area.

Problems

11.1 An analog signal Xa (t) is bandlimited to the range 900 ::s F ::s 1100 Hz. It is used as
an input to the system shown in Fig. Pll.l. In this system, H(w) is an ideallowpass
filter with cutoff frequency Fe = 125 Hz.

.po ~
I
Fx= - = 2500
cos(0.8rrn) Fy= T.1 =250
y
Tx

Figure Pll.1
814 Chapter 11 Multirate Digital Signal Processing

(a) Determine and sketch the spectra for the signals x(n), w(n), v(n), and y(n).
(b) Show that it is possible to obtain y(n) by sampling xa(t) with period T = 4
milliseconds.
11.2 Consider the signal x(n) = anu(n), lal < l.
(a) Determine the spectrum X(w).
(b) The signal x(n) is applied to a decimator that reduces the rate by a factor of 2.
Determine the output spectrum.
(c) Show that the spectrum in part (b) is simply the Fourier transform of x(2n).
11.3 The sequence x(n) is obtained by sampling an analog signal with period T. From
this signal a new signal is derived having the sampling period T /2 by use of a linear
interpolation method described by the equation
x(n/2), n even
y(n) = ~ [x (n;
{
1) +x (n; 1)l n odd

(a) Show that this linear interpolation scheme can be realized by basic digital signal
processing elements.
(b) Determine the spectrum of y(n) when the spectrum of x(n) is

o : : ; Iwl ::::; 0.2rr


X(w) = { ~: otherwise
(c) Determine the spectrum of y(n) when the spectrum of x(n) is

X(w) = { ~: 0.7rr ::::;


otherwise
Iwl ::::; 0.9rr

11.4 Consider a signal x(n) with Fourier transform


X(w) = 0, wn < Iwl ::::; rr
fm < If I ::::;!
(a) Show that the signal x(n) can be recovered from its samples x(mD) if the sam-
pling frequency Ws = 2rr/D::::; 2wm(fs = l/D ~ 2fm).
(b) Show that x(n) can be reconstructed using the formula
00

x(n) = L x(kD)hr(n - kD)


k=-oo

where
h sin(2rrfen) fm < fe < fs - fm
r(n) = 2 ' Wm < We < Ws - Wm
rrn
(c) Show that the bandlimited interpolation in part (b) can be thought of as a two-
step process, first, increasing the sampling rate by a factor of D by inserting
(D -1) zero samples between successive samples of the decimated signal Xa (n) =
x(nD), and second, filtering the resulting signal using an ideallowpass filter with
cutoff frequency We.
Chapter 11 Problems 815

11.5 In this problem we illustrate the concepts of sampling and decimation for discrete-
time signals. To this end consider a signal x(n) with Fourier transform X(w) as in
Fig. PIl.S.

x(n) X(w)

···1111111111
o
-2 -1
I
I 2 ...

n -7t:
1
7t:
3
0 !!
3
I
7t:
III
W

Figure Pll.S

(a) Sampling x(n) with a sampling period D = 2 results in the signal

n = 0, ±2, ±4, .. .
Xs ( n ) -_ {x(n),
0, n = ±I, ±3, ±S, .. .

Compute and sketch the signal xs(n) and its Fourier transform X"s(w). Can we
reconstruct x(n) from xs(n)? How?
(b) Decimating x(n) by a factor of D = 2 produces the signal

xd(n) = x(2n), all n

Show that Xd(W) = Xs(w/2). Plot the signal xd(n) and its transform Xd(W). Do
we lose any information when we decimate the sampled signal Xs (n)?
11.6 Design a decimator that downsamples an input signal x(n) by a factor D = S. Use
the Remez algorithm to determine the coefficients of the FIR filter that has a O.I-dB
ripple in the passband (0 ~ W ~ 'Jr /S) and is down by at least 30 dB in the stopband.
Also determine the corresponding polyphase filter structure for implementing the
decimator.
11.7 Design an interpolator that increases the input sampling rate by a factor of 1= 2. Use
the Remez algorithm to determine the coefficients of the FIR filter that has a O.I-dB
ripple in the passband (0 ~ W ~ 'Jr /2) and is down by at least 30 dB in the stopband.
Also, determine the corresponding polyphase filter structure for implementing the
interpolator.
11.8 Design a sample rate converter that reduces the sampling rate by a factor ~. Use
the Remez algorithm to determine the coefficients of the FIR filter that has a O.I-dB
ripple in the passband and is down by at least 30 dB in the stopband. Specify the
sets of time-variant coefficients g(n, m) and the corresponding coefficients in the
polyphase filter realization of the sample rate converter.
816 Chapter 11 Multirate Digital Signal Processing

11.9 Consider the two different ways of cascading a decimator with an interpolator shown
in Fig. P11.9.

x(n) - - - - . I tl
·1 1 ·1
(a)

x(n)----l .J,D
·1 ·1
(b)

Figure Pll.9

(a) If D = I, show that the outputs of the two configurations are different. Hence,
in general, the two systems are not identical.
(b) Show that the two systems are identical if and only if D and I are relatively
prime.
11.10 Prove the equivalence of the two decimator and interpolator configurations shown
in Fig. P11.1O (noble identities) (see Vaidyanathan, 1990).

x(n) yen) yen)


.J,D H(z) • '"
>(0)·1 H(ZD) .J,D
·1 1 ·1
(a)
1 ·1
x(n)
H(z) tl
yen)
• - "0) .1 tl H(ZI)
yen)

·1 1 ·1 1 ·1
(b)

Figure Pll.10

11.11 Consider an arbitrary digital filter with transfer function

00

H(z) = L h(n)z-n
n=-oo

(a) Perform a two-component polyphase decomposition of H (z) by grouping the


even-numbered samples ho(n) = h(2n) and the odd-numbered samples hI (n) =
h(2n + 1). Thus show that H(z) can be expressed as

and determine Ho(z) and Hl(Z).


Chapter 11 Problems 817

(b) Generalize the result in part (a) by showing that H(z) can be decomposed into
a D-component polyphase filter structure with transfer function

D-l
H(z) = L Z-k Hk(ZD)
k=O

Determine Hk (z).
(c) For the IIR filter with transfer function

1
H(z) = 1
-az -1
determine Ho(z) and HI (z) for the two-component decomposition.
11.ll A sequence x(n) is upsampled by I = 2, it passes through an LTI system Hl(Z),
and then it is downsampled by D = 2. Can we replace this process with a single
LTI system H2(Z)? If the answer is positive, determine the system function of this
system.
11.13 Plot the signals and their corresponding spectra for rational sampling rate conversion
by (a) 1/ D = 5/3 and (b) 1/ D = 3/5. Assume that the spectrum of the input signal
x(n) occupies the entire range -Jr .:s Wx .:s Jr.
11.14 We wish to design an efficient nonrecursive decimator for D = 8 using the factoriza-
tion

(a) Derive an efficient implementation using filters with system function Hk(Z) =
(1 + Z-1)5.
(b) Show that each stage of the obtained decimator can be implemented more effi-
ciently using a polyphase decomposition.
11.15 Let us consider an alternative polyphase decomposition by defining new polyphase
filters Qm (ZN) as
N-l
H(z) = L z-(N-l-m) Qm(ZN)
m=O

This polyphase decomposition is called a type II form to distinguish it from the


conventional decomposition based on polyphase filters Pm(ZN).
(a) Show that the type II form polyphase filters Qm (z) are related to the polyphase
filters Pm(ZN) as follows:

(b) Sketch the polyphase filter structure for H(z) based in the polyphase filters
Qm(ZN) and, thus, show that this structure is an alternative transpose form.
818 Chapter 11 Multirate Digital Signal Processing

11.16 Use the result in Problem 11.15 to determine the type II form of the I = 3 interpolator
in Figure 11.5.9.
11.17 Design a two-stage decimator for the following specifications:

D = 100

Passband: 0 .::: F .::: 50


Transition band: 50 .::: F .::: 55
Input sampling rate: 10,000 Hz
Ripple: 81 = 10-1 ,82 = 10-3
11.18 Design a linear-phase FIR filter that satisfies the following specifications based on a
single-stage and a two-stage multirate structure:
Sampling rate: 10,000 Hz
Passband: 0 .::: F .::: 60
Transition band: 60 .::: F .::: 65
Ripple: 81 = 10-1 ,82 = 10-3
11.19 Prove that the half-band filter that satisfies (11.11.35) is always odd and the even
coefficients are zero.
11.20 Design one-stage and two-stage interpolators to meet the following specifications:

1=20
Input sampling rate: 10,000 Hz
Passband: 0 .::: F .::: 90
Transition band: 90 .::: F .::: 100
Ripple: 81 = 10-2 , 82 = 10-3
11.21 By using (11.10.15) derive the equations corresponding to the structure for the poly-
phase synthesis section shown in Fig. 11.10.6.
11.22 Show that the transpose of an L-stage interpolator for increasing the sampling rate by
an integer factor I is equivalent to an L-stage decimator that decreases the sampling
rate by a factor D = I.
11.23 Sketch the polyphase filter structure for achieving a time advance of (k/ /)Tx in a
sequence x(n).
11.24 Prove the following expressions for an interpolator of order I.
(a) The impulse response h(n) can be expressed as
/-1
h(n) = L Pk(n - k)
k=O
Chapter 11 Problems 819

where
Pk(n) = { Pk(n/ /), n = 0, ±I, ±2/, ...
0, otherwise
(b) H(z) may be expressed as
1-1
H(z) = I>-kpk(z)
k=O

1 00 1-1
(c) Pk(Z) = 7 L L h(n)e j27rI {n-k)/1 z-{n-k)/I
n=-oo 1=0

2 I)
Pt{w) = 71 1-1
L H
(
w - -T- e j {w-27rI)k/1
1=0
11.25 Consider the interpolation of a signal by a factor I. The interpolation filter with
transfer function H (z) is implemented by a polyphase filter structure based on an
alternative (type II) decomposition, namely
1-1
H(z) = L z - U- 1- m)Qm(ZI)
m=O

Determine and sketch the structure of the interpolator that employs the polyphase
filters Qm (z), °: :
m :::: 1 - 1.
11.26 In the polyphase filter structures for a uniform DFT filter bank described in Sec-
tion 11.10.1, the polyphase filters in the analysis section were defined by equation
(11.10.10). Instead of this definition, suppose we define the N -band polyphase filters
for the lowpass prototype filter, Ho(z), as
N-l
Ho(z) = L z-; p;(ZN)
;=0
where
00

P;(z) = Lho(nN + i)z-n,


n=O
Then,

where WN = e- j27r / N .
(a) Show that the filters Hk (z), 1 :::: k :::: N - 1, can be expressed as
820 Chapter 11 Multirate Digital Signal Processing

(b) Show that

[ Z~~~~ ]. =NW
-I [ z!:~:~1)
.
]
HN~I (Z) Z-(N-l) PN-t (ZN)

where W is the DFT matrix

1 1 1 1
WI W(N-l)
1 N
w2
N N
W2 W4 W 2(N-l)
W= 1 N N N

W(N-I) W 2(N-I) W(N-I)(N-l)


1 N N N

(c) Sketch the analysis section of the uniform DFT filter bank.
(d) Determine and sketch the synthesis section of the uniform DFT filter bank.
11.27 The prototype filter in a four-channel uniform DFf filter bank is characterized by
the transfer function
Ho(z) = 1 + Z-l + 3z- 2 + 4z- 4

(a) Determine the transfer functions of the filters HI(Z), H2(Z) and H3(Z) in the
analysis section.
(b) Determine the transfer functions of the filters in the synthesis section.
(c) Sketch the analysis and synthesis sections of the uniform DFf filter bank.
11.28 Consider the following FIR filter transfer function:

H(z) = -3 + 19z- 2 + 32z- 3 + 19z-4 - 3z- 6

(a) Show that H (z) is a linear-phase filter.


(b) Show that H(z) is a half-band filter.
(c) Plot the magnitude and phase responses of the filter.
11.29 The analysis filter Ho(z) in a two-channel QMF has the transfer function

Ho(z) = 1 + Z-l

(a) Determine the polyphase filters PO(Z2) and PI (Z2).

(b) Determine the analysis filter HI (z) and sketch the two-channel analysis section
that employs polyphase filters.
(c) Determine the synthesis filters Go(z) and Gt (z) and sketch the entire two-
channel QMF based on polyphase filters.
(d) Show that the QMF bank results in perfect reconstruction.
Chapter 11 Problems 821

11.30 The analysis filters in a three-channel QMF bank have the transfer functions

Ho(z) = 1 + Z-l + Z-2


Hl(Z) = 1- z-1 + Z-2

H2(Z) =1- Z-2

(a) Determine the polyphase matrix p(Z3) and express the analysis filters in the form
(11.12.11).
(b) Determine the synthesis filters Go(z), Gl (z), and G2 (z) that result in perfect
reconstruction.
(c) Sketch the three-channel QMF bank that employs polyphase filters in the anal-
ysis and synthesis sections.
11.31 Zoom-frequency analysis Consider the system in Fig. P11.31(a).

LPF ~D

LPF ~D

(a)

X(w)

+-7T o Wo wo+&JJ 7T w
(b)

Figure Pll.31

(a) Sketch the spectrum of the signal y(n) = YR(n) + jy/(n) if the input signal x(n)
has the spectrum shown in Fig. P11.31(b).
(b) Suppose that we are interested in the analysis of the frequencies in the band
10 .::: 1 .::: 10 + l:ll, where 10 = 1/6 and l:ll = 1/3. Determine the cutoff of
a lowpass filter and the decimation factor D required to retain the information
contained in this band of frequencies.
822 Chapter 11 Multirate Digital Signal Processing

(c) Assume that


p-l
x(n) =L
k=O
(1- 2k ) cos2nikn
p

where p = 40 and fk = k/ p, k = 0, 1, ... , p - 1. Compute and plot the


1024-point DFT of x(n).
(d) Repeat part (b) for the signal x(n) given in part (c) by using an appropriately
designed lowpass linear phase FIR filter to determine the decimated signal s (n) =
sR(n) + js[(n).
(e) Compute the 1024-point DFf of sen) and investigate to see if you have obtained
the expected results.

You might also like