54
Chapter 5 Multirate Signal Processing In a software defined radio, one often has to deal with sampled wideband signals that contain a multitude of different user signals. Part of the re- ceiver’s task is thus to extract the desired user signal(s) from such a wide- band signal. In such cases, the receiver may consist of multiple stages of down conversion and filtering. After each down conversion and filtering stage, the output signal has a lower Nyquist frequency than the input. Thus, it may be decimated before any further processing. As a result, one has to deal with signal processing scenarios where signals with multiple rates are to be dealt with. This chapter discusses the signal processing issues that are pertinent to such scenarios. The most basic blocks in multirate signal processing are M -fold deci- mator and L-fold expander. These along with their impact on the resulting signal spectra are introduced in Section 5.1. Section 5.2 is devoted to rate-conversion. Through interconnection of decimators/expanders and fil- ters, we develop multirate signal processing structures that allow digital resampling of sampled signals to virtually any arbitrary rate. The rules governing the interconnection of signal processing blocks in multirate sys- tems are reviewed in Section 5.3. Building on the results of Section 5.3, efficient structures for realization of multirate systems, known as polyphase filters, are introduced in Section 5.4. Multistage implementation, a pow- erful multirate technique for minimization of the complexity of multirate systems, is reviewed in Section 5.6. Cascaded integrator-comb (CIC) filters, a class of very low-complexity (multiplier-free) filters for interpolation and decimation, are introduced in Section 5.7. Some example applications of multirate signal processing techniques are presented in Section 5.8. 99

Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

  • Upload
    others

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Chapter 5

Multirate SignalProcessing

In a software defined radio, one often has to deal with sampled widebandsignals that contain a multitude of different user signals. Part of the re-ceiver’s task is thus to extract the desired user signal(s) from such a wide-band signal. In such cases, the receiver may consist of multiple stages ofdown conversion and filtering. After each down conversion and filteringstage, the output signal has a lower Nyquist frequency than the input.Thus, it may be decimated before any further processing. As a result, onehas to deal with signal processing scenarios where signals with multiplerates are to be dealt with. This chapter discusses the signal processingissues that are pertinent to such scenarios.

The most basic blocks in multirate signal processing are M -fold deci-mator and L-fold expander. These along with their impact on the resultingsignal spectra are introduced in Section 5.1. Section 5.2 is devoted torate-conversion. Through interconnection of decimators/expanders and fil-ters, we develop multirate signal processing structures that allow digitalresampling of sampled signals to virtually any arbitrary rate. The rulesgoverning the interconnection of signal processing blocks in multirate sys-tems are reviewed in Section 5.3. Building on the results of Section 5.3,efficient structures for realization of multirate systems, known as polyphasefilters, are introduced in Section 5.4. Multistage implementation, a pow-erful multirate technique for minimization of the complexity of multiratesystems, is reviewed in Section 5.6. Cascaded integrator-comb (CIC) filters,a class of very low-complexity (multiplier-free) filters for interpolation anddecimation, are introduced in Section 5.7. Some example applications ofmultirate signal processing techniques are presented in Section 5.8.

99

Page 2: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

100 Multirate Signal Processing Chap. 5

5.1 M-fold Decimator and L-fold Expander

5.1.1 M-fold decimator

The M -fold decimator takes an input sequence x[n] and produces the out-put sequence

xd[n] = x[Mn] (5.1)

where M is an integer. In other words, the M -fold decimator only keepsone out of every M elements of x[n] and ignores the rest. Figure 5.1 showsthe building block that is commonly used for presentation of the M -folddecimator. A demonstration of decimation for M = 2 is presented in Fig-ure 5.2

↓ Mx [n] xd[n]

Figure 5.1: M -fold decimator.

n

n

−10 1

321−1

−2

−3 0

xd[n]

x [n]

Figure 5.2: A demonstration of decimation for M = 2.

Transform domain analysis

The z-transform of the decimated sequence xd[n] is obtained as

Xd(z) =∞∑

n=−∞xd[n]z−n

=∞∑

n=−∞x[Mn]z−n. (5.2)

Let

x1[n] ={

x[n], n = multiples of M0, otherwise (5.3)

Page 3: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.1 M-fold Decimator and L-fold Expander 101

and note that since xd[n] = x[Mn] = x1[Mn], from (5.2) we obtain

Xd(z) =∞∑

n=−∞x1[Mn]z−n

=∞∑

n=−∞x1[n]z−n/M

=∞∑

n=−∞x1[n]

(z1/M

)−n

= X1(z1/M ) (5.4)

where the second equality follows because x1[n] is zero unless n is a multipleof M .

Next, we find the relationship between Xd(z) and X(z). For this, wenote that

x1[n] = CM [n]x[n] (5.5)

where CM [n] is the comb sequence defined as

CM [n] ={

1, n = multiples of M0, otherwise. (5.6)

Also, we note that

CM [n] =1M

M−1∑k=0

ej2πkn/M . (5.7)

Substituting (5.7) in (5.5) and the result in X1(z) =∑∞

n=−∞ x1[n]z−n, weobtain

X1(z) =1M

M−1∑k=0

∞∑n=−∞

x[n]ej2πkn/Mz−n

=1M

M−1∑k=0

∞∑n=−∞

x[n](ze−j2πk/M

)−n

=1M

M−1∑k=0

X(ze−j2πk/M

). (5.8)

Substituting this result in (5.4), we get

Xd(z) =1M

M−1∑k=0

X(z1/Me−j2πk/M

). (5.9)

If z is replaced by ej2πf in (5.9), we obtain

Xd(ej2πf ) =1M

M−1∑k=0

X(ej2π(f−k)/M ). (5.10)

Page 4: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

102 Multirate Signal Processing Chap. 5

Figure 5.3(b) gives a graphical presentation of this result, for the case wherethe decimation factor M = 2 and X(ej2πf ) is as shown in Figure 5.3(a).We note that M -fold decimation in the time domain changes the signalspectrum in two ways. (i) The spectrum gets expanded M times across thefrequency axis. (ii) The magnitude of the spectrum decreases M times.

Xd(ej2πf ) =12X(ej2πf/2)︸ ︷︷ ︸+

12X(ej2π(f−1)/2)︸ ︷︷ ︸

2

2

−2

−2 f

f

X (ej2πf )A

1

1−1

−1(a)

(b)

A/2

Figure 5.3: Graphical presentation of the decimation effect in the frequencydomain in a two-fold decimator.

5.1.2 L-fold expander

The L-fold expander takes the input sequence x[n] and produces the outputsequence

xe[n] ={

x[n/L], n = multiples of L0, otherwise (5.11)

where L is an integer. In other words, to generate the sequence xe[n], theL-fold expander inserts L − 1 zeros after each element of x[n]. Figure 5.4shows the building block that is commonly used for presentation of theL-fold expander. A demonstration of expander for L = 2 is presented inFigure 5.5.

xe[n]x [n] ↑ L

Figure 5.4: L-fold expander.

Page 5: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.1 M-fold Decimator and L-fold Expander 103

n

n

−1 0 1 3

21−1−2

0

x [n]

−2 2−3

−4

−5 54

xe[n]

Figure 5.5: A demonstration of expander for L = 2.

Transform domain analysis

The z-transform of the expanded sequence xe[n] is obtained as

Xe(z) =∞∑

n=−∞xe[n]z−n

=∞∑

n=−∞x[n]z−Ln

=∞∑

n=−∞x[n]

(zL

)−n

= X(zL

). (5.12)

Also, substituting z by ej2πf , we obtain

Xe(ej2πf ) = X(ej2πLf ). (5.13)

This shows that an L-fold expansion of a sequence in the time domainresults in an L-fold compression of the spectrum along the frequency axis.This is demonstrated graphically in Figure 5.6. Note that the compressionalong the frequency axis results in L-fold repetition of the spectrum over therange 0 ≤ f ≤ 1. As we shall see later, selection of one of the repetitions anddeletion of the rest using a filter allow signal interpolation and modulationin a very efficient way; see Section 5.8.2.

An alternative interpretation of the above results may prove instructive.Consider the sampled signal

xs(t) =∞∑

n=−∞x[n]δ(t− nTs) (5.14)

and its expanded version

xse(t) =∞∑

n=−∞xe[n]δ(t− nTs/L). (5.15)

Page 6: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

104 Multirate Signal Processing Chap. 5

−0 .5−1 .5 1 .50 .5

A

2

2

−2

−2 f

f

X (ej2πf )

A

1

1−1

−1(a)

(b)

Xe(ej2πf ) = X (ej4πf )

Figure 5.6: Graphical presentation of the expansion effect in the frequencydomain for a two-fold expander.

Because of (5.11), xs(t) and xse(t) are effectively the same signals and,hence, they have the same spectrum. However, since the sampling ratein xse(t) is L times larger than the sampling rate in xs(t), the absolutefrequency corresponding to the normalized frequency f = 1 in Xe(ej2πf )is L times larger than its counterpart in X(ej2πf ) and, accordingly, withineach cycle 0 ≤ f ≤ 1 of Xe(ej2πf ), L repetitions of X(ej2πf ) are observed.

5.1.3 The nature of decimator and expander blocks

At this point, it is worth noting that although decimator and expander arelinear systems, they belong to the class of time-variant systems. Hence,they cannot be classified as LTI systems and thus the rules of LTI systemsare not applicable to multirate systems that inevitably contain decimatorsand/or expanders. In particular, the commutative rules that are frequentlyused in manipulation of LTI systems are often inapplicable to multiratesystems.

5.2 Rate Conversion

Consider a continuous-time signal x(t) and its sampled sequence x[n] =x(nTs). Given x[n], we wish to obtain the sampled sequence x′[n] = x(nT ′s)

Page 7: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.2 Rate Conversion 105

of the same continuous-time signal x(t). A naive approach would be toreconstruct the continuous-time signal x(t) by passing the sampled signal

xs(t) =∞∑

n=−∞x[n]δ(t− nTs)

through a lowpass filter as discussed in Section 4.1.1, and resample thereconstructed signal at the desired rate f ′s = 1/T ′s. This solution is notattractive because it involves the additional circuitry for digital-to-analogconversion, filtering, and analog-to-digital conversion. In this section, wediscuss how multirate signal processing can be used to perform resamplingin the digital domain, i.e., without resorting to the use of digital-to-analogand analog-to-digital converters.

5.2.1 L-fold interpolation

L-fold interpolation refers to the case where one wishes to reconstruct asampled signal x[n] at a rate L-times greater than the current rate. Inother words, L− 1 new samples have to be found and appended after eachsample. This can be easily done by passing x[n] through the cascade of anL-fold expander and a lowpass filter, as shown in Figure 5.7.

xe[n] x ′[n]x [n]filter

Lowpass↑ L

Figure 5.7: L-fold interpolator.

The reason why the setup of Figure 5.7 works can best be explainedin the frequency domain by presenting the spectra of the signal sequencesx[n], xe[n] and x′[n]. These are presented in Figures 5.8(a), (b) and (c),respectively. To emphasize the sampling rate of each signal, the frequencyaxes are scaled to the actual frequencies in Hertz (and not the normalizedfrequencies). The figures are self-explanatory and clearly indicate how thecascade of the L-fold expander and the lowpass filter increases the samplingrate L-fold without changing the spectrum of the desired signal.

Clearly, the lowpass filter should have a passband that covers the desiredsignal bandwidth B, and it should have a stopband that begins from thepoint where the first replica of the signal spectrum begins. A particularand attractive choice of the lowpass filter here is a Nyquist (M) filter withM = L. This is attractive because it assures that the equality x′[Ln] = x[n]holds exactly, i.e., the original samples x[n] will appear at the interpolatoroutput.

Page 8: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

106 Multirate Signal Processing Chap. 5

−B

−B

f(a)

fs−fs

f(b)

fs−fs−Lfs Lfs

ffs−fs−Lfs Lfs

B

B

B

−B

Picked by the lowpass filter Deleted by the lowpass filter

· · ·

· · ·

· · ·

· · ·

(c)

X (ej2πf /fs )

Xe(ej2πf /Lfs )

X ′(ej2πf /Lfs )

Figure 5.8: Spectra of the signal sequences x[n], xe[n] and x′[n] of Fig-ure 5.7.

Page 9: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.2 Rate Conversion 107

5.2.2 M-fold decimation

In the context of this section M -fold decimation means reducing the sam-pling rate of a signal sequence x[n] M times. When x[n] is bandlimitedand decimation does not result in aliasing, M -fold decimation can be es-tablished by choosing one out of every M elements of x[n] and ignoring therest. In other words, the resampled signal sequence x′[n] is given by

x′[n] = x[Mn]. (5.16)

When the bandwidth of x[n] is not small enough and direct down-sampling causes aliasing, prior to down-sampling, x[n] should be passedthrough a lowpass filter with sufficiently small bandwidth to avoid aliasing,as in Figure 5.9. Clearly, in such cases, the process of resampling resultsin a loss of part of the spectrum of x[n] and thus x[n] cannot be recoveredfrom x′[n].

x ′[n]x [n]filter

Lowpass ↓ M

Figure 5.9: M -fold decimator. The lowpass filter is to avoid aliasing afterdown-sampling.

5.2.3 L/M-fold rate change

With the background developed above, we are now ready to discuss thegeneral case of resampling, when T ′

s

Ts= M

L . This can be readily done byfirst interpolating x[n] L-fold, and then decimating the result M -fold, asshown in Figure 5.10. Here, the lowpass filter has two roles: (i) to cancelthe repetitions of the spectral copies of X(ej2πf ) as in the L-fold interpo-lator; (ii) to reject any portion of the spectrum X(ej2πf ) that may resultin aliasing after down-sampling. The latter may be required only whenM > L.

↓ M x ′[n]filter

Lowpassx [n] ↑ L

Figure 5.10: L/M -fold resampling.

Page 10: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

108 Multirate Signal Processing Chap. 5

Example 5.1:

The samples of x(t) = sin(2πt) + 2 cos(4πt) at the rate of 6 samples persecond are available. Develop a MATLAB program that takes these sam-ples as input and generates samples of x(t) at the rate 9 (= 3

2× 6) as

output.

Solution:

We should follow Figure 5.10 with L = 3 and M = 2. With fs = 6 Hz, thefirst and second components in x(t) has the normalized frequencies ±1/6and ±2/6 = ±1/3. After the L = 3 fold expander, these frequencies willdivide by L and within the range of normalized frequency 0 to 0.5 threereplicas of them will appear. These are shown in Figure 5.11. The lowpassfilter should be chosen such that it only allows the frequency componentsat ±1/18 and ±1/9 pass through and the rest of the components arerejected. A MATLAB script that contains the following lines generatesx in from x(t) at the rate of 6 samples per second as input and does thedesired 3/2-fold rate change and deliver x out. It also plots the resultsshown in Figure 5.12 and 5.13

L=3; M=2; fs in=6; Ts in=1/fs in;t in=[0:Ts in:5];x in=sin(2*pi*t in)+2*cos(4*pi*t in);x e=expander(x in,L);t cont=[0:0.01:5]; x cont=sin(2*pi*t cont)+2*cos(4*pi*t cont);h=L*firpm(60,[0 2/(fs in*L) 4/(fs in*L) 0.5]*2,[1 1 0 0],[1 1]);x ef=filter(h,1,x e); x out=x ef(1:2:end);Ts out=Ts in*M/L;t out=[0:length(x out)-1]*Ts out;delay=(Ts in/L)*(length(h)-1)/2;x delayed=sin(2*pi*(t cont-delay))+2*cos(4*pi*(t cont-delay));figure;stem(t in,x in,’k’,’filled’); hold on;plot(t cont,x cont,’–k’); xlabel(’t’),ylabel(’x in’)figure; stem(t out,x out,’k’,’filled’); hold onplot(t cont,x delayed,’–k’); axis([0 5 -3 3]); xlabel(’t’),ylabel(’x out’)

Most of this script is self-explanatory. The reader should also take note ofthe following points:

• The vector ‘t cont’ defines a dense grid of sampling times that isused to approximate the continuous time.

• In line 5, ‘h’ is a lowpass filter with proper band edges to select thefirst two spectral lines of Figure 5.11.

• To recover the signal samples at the filter output at the correct levelthe passband gain of ‘h’ is set equal to L = 3. Problem 2 guides youto develop an understanding of this point.

• The filter ‘h’ introduces a delay equivalent of N/2 samples, whereN is the FIR filter order. In matching the interpolated samples tox(t) this delay has been accounted for.

Page 11: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.3 Rate Conversion 109

0 0.1 0.2 0.3 0.4 0.50

0.5

1

1.5

f

Xe(e

j2�f

)

Figure 5.11: Fourier transform of the input signal after expansion.

0 1 2 3 4 5�3

�2

�1

0

1

2

3

t

x in

Figure 5.12: Input signal samples.

Page 12: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

110 Multirate Signal Processing Chap. 5

0 1 2 3 4 5�3

�2

�1

0

1

2

3

t

x out

Figure 5.13: Output signal samples.

5.3 Commutative Rules

In classical signal processing, where linear time-invariant (LTI) buildingblocks are connected together to make a system, the commutative rules arestraightforward. Any set of blocks along each branch can be commutedarbitrarily. In multirate signal processing, the presence of decimators andexpanders makes this rule not always applicable and thus multirate systemsshould be treated more carefully.

An important case in multirate systems where commutative rules arenot always applicable is when decimators and expanders are cascaded as inFigure 5.14. Considering the case where L = M , one easily finds that

y1[n] ={

x[n], n = multiple of M0, otherwise

buty2[n] = x[n], for all n.

This shows that, when L = M , the M -fold decimator and L-fold expanderblocks are not commutable. On the other hand, if we consider the casewhere M = 3 and L = 2, it is not difficult to find that both y1[n] and y2[n],for n = 0, 1, 2, · · ·, contain the elements

{x[0], 0, x[3], 0, x[6], · · ·}which means the commutative rule is applicable in this case. The generalrule here is that the M -fold decimator and L-fold expander can be commu-tated only when M and L are prime with respect to each other. This can

Page 13: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.3 Commutative Rules 111

be proved by noting that

Y1(z) =1M

M−1∑k=0

X(zL/Me−j2πk/M

)

and

Y2(z) =1M

M−1∑k=0

X(zL/Me−j2πkL/M

),

and the sets {e−j2πk/M , k = 0, 1, · · · , M − 1} and {e−j2πkL/M , k =0, 1, · · · , M − 1} are the same when and only when L and M are primewith respect to each others.

↓ M ↑ L

↓ M↑ L

x [n]

x [n]

y1 [n]

y2 [n]

(a)

(b)

Figure 5.14: Cascading decimator and expander blocks. Here, the commu-tative rule is not applicable, in general.

Figures 5.15(a) and (b) show how a unit delay z−1 has to be modifiedwhen it is moved from the output of a decimator to its input, and how itshould be modified when it is moved from the input of an expander to itsoutput, respectively. These two rules can be confirmed easily as follows.

In Figure 5.15(a), y1[n] = p[n − 1] and p[n] = x[Mn]. Hence, y1[n] =x[Mn−M ]. On the other hand, q[n] = x[n−M ] and y2[n] = q[Mn]. Thisimplies that y2[n] = x[Mn−M ] = y1[n].

In Figure 5.15(b), p[n] = x[n− 1] and

y1[n] ={

p[n/L], n = multiples of L0, otherwise

={

x[n/L− 1], n = multiples of L0, otherwise

={

x[(n− L)/L], n = multiples of L0, otherwise

On the other hand,

q[n] ={

x[n/L], n = multiples of L0, otherwise

Page 14: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

112 Multirate Signal Processing Chap. 5

and

y2[n] = q[n− L] ={

x[(n− L)/L], n = multiples of L0, otherwise = y1[n].

x [n]x [n] y1 [n] y2 [n]z−1↓ M ≡ ↓ Mz−M

p[n] q [n]

x [n]x [n] y1 [n] y2 [n]≡p[n] q [n]z−1 ↑ L ↑ L

(a)

(b)

z−L

Figure 5.15: Modification of the unit delay as it cascades and commutateswith decimator and expander blocks.

The multirate identities presented in Figures 5.15(a) and (b) can begeneralized as in Figures 5.16(a) and (b), where G(z) can be any rational(i.e., a ratio of polynomials of z or z−1) transfer function. These which areknown as the noble identities , prove very useful in efficient realization ofmultirate signal processing systems. In particular, we find these very usefulin development of the polyphase structures that are presented in the nextsection. The noble identities can be easily proved by expressing y1[n] andy2[n] in the z-domain.

In Figure 5.16(a),

P (z) =1M

M−1∑k=0

X(z1/Me−j2πk/M

),

and, thus,

Y1(z) = P (z)G(z) =1M

M−1∑k=0

X(z1/Me−j2πk/M

)G(z). (5.17)

On the other hand,

Y2(z) =1M

M−1∑k=0

Q(z1/Me−j2πk/M

)

=1M

M−1∑k=0

X(z1/Me−j2πk/M

)G

((z1/Me−j2πk/M

)M)

=1M

M−1∑k=0

X(z1/Me−j2πk/M

)G(z) = Y1(z). (5.18)

Page 15: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.4 Commutative Rules 113

In Figure 5.16(b), Y1(z) = P (zL) = G(zL)X(zL), Q(z) = X(zL), and,thus, Y2(z) = G(zL)Q(z) = G(zL)X(zL) = Y1(z).

G(zM )

G(z )

x [n]x [n] y1 [n] y2 [n]↓ M ≡ ↓ M

x [n]x [n] y1 [n] y2 [n]≡↑ L ↑ L

(a)

(b)

G(z )p[n] q [n]

q [n]p[n]G(zL)

Figure 5.16: The noble identities.

Finally, the set of commutative rules that are presented in Figure 5.17are also found useful in the development of multirate systems. The rulespresented in Figure 5.17 are for M -fold decimators. The rules are applicablewhen M -fold decimators are replaced by L-fold expanders. These rules canbe verified trivially.

≡↓ M

a

⊗a

⊗↓ M

⊗ ↓ M ⊗↓ M

↓ M

⊕⊕ ↓ M

↓ M

↓ M

x1 [n]

x2 [n]

x [n]

x1 [n]

x2 [n]

x1 [n]

x2 [n]

x [n]

x1 [n]

x2 [n]

Figure 5.17: Trivial commutative rules.

Page 16: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

114 Multirate Signal Processing Chap. 5

5.4 The Polyphase Representations

The basic idea of polyphase representation can be best explained througha simple example. Consider a filter with the transfer function H(z) =1+2z−1 +3z−2 +4z−3. By separating the terms with even and odd powersof z, this can be rearranged as

H(z) = E0(z2) + z−1E1(z2)

where E0(z) = 1 + 3z−1 and E1(z) = 2 + 4z−1. Here, E0(z) and E1(z) arecalled the zeroth and first polyphase components of H(z).

Extending the above idea to a general transfer function H(z) =∑∞n=−∞ h[n]z−n, for an integer M , we can always decompose H(z) as

H(z) =∞∑

n=−∞h[nM ]z−nM

+z−1∞∑

n=−∞h[nM + 1]z−nM

...

+z−(M−1)∞∑

n=−∞h[nM + M − 1]z−nM (5.19)

which can be written as

H(z) =M−1∑k=0

z−kEk(zM ) (5.20)

where

Ek(z) =∞∑

n=−∞h[nM + k]z−n. (5.21)

Equation (5.20) is called Type 1 polyphase representation of H(z) (withrespect to M) and Ek(z) is the respective kth polyphase component. Notethat Ek(z) vary with M . So, a notation such as E

(M)k (z) would have been

more logical. This is usually avoided for brevity.A rearrangement of (5.20) leads to

H(z) =M−1∑k=0

z−(M−1−k)Rk(zM ) (5.22)

whereRk(z) = EM−1−k(z). (5.23)

This is called Type 2 polyphase representation of H(z) (with respect to M)and Rk(z) is the respective kth polyphase component.

Page 17: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.5 Efficient Structures for Decimation and Interpolation 115

It is important to note that the polyphase representations are applicableto both FIR and IIR filters. Polyphase representations of FIR filters followthe above equations. Using partial fraction method, an IIR filter, in general,can be expanded to a summation of the terms of the form Hl(z) = 1/(1−αlz

−1) (and possibly a FIR term). The polyphase components of each termHl(z) can then be obtained by recalling the identity

11− x

=1 + x + · · ·+ xM−1

1− xM

whose application leads to

Hl(z) =1

1− αMl z−M

+ z−1 αl

1− αMl z−M

+ · · ·+ z−(M−1) αM−1l

1− αMl z−M

(5.24)from which we obtain

El,k(z) =αk

l

1− αMl z−1

. (5.25)

5.5 Efficient Structures for Decimation andInterpolation Filters

The interpolation filter (the lowpass filter) in Figure 5.7 has an input inwhich only one out of every L samples is non-zero. On the other hand,in Figure 5.9 only one out of every M output samples of the decimationfilter need to be calculated. These special features of the interpolationand decimation filters can be best captured in computationally efficientstructures by using the polyphase representations that were discussed inthe previous section.

5.5.1 Polyphase structure for decimator filters

Consider the M-fold decimator shown in Figure 5.18(a). Substituting H(z)by its Type 1 polyphase representation (5.20), we obtain the alternativerealization shown in Figure 5.18(b). By shifting the M -fold decimator to theM parallel branches in Figure 5.18(b) and invoking the first noble identity(i.e., the one in Figure 5.16(a)), we obtain the desired polyphase structureshown in Figure 5.18(c).

Compared to the direct structure of Figure 5.18(a), the polyphase struc-ture of Figure 5.18(c) offers a number of advantages. These advantages be-come very eminent when the decimator is to be implemented in hardware(either on an FPGA or a VLSI ASIC chip). To highlight these advantages, adetailed implementation of Figure 5.18(a) is presented in Figure 5.19. Here,a total of N multiplications and N − 1 additions have to be performed for

Page 18: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

116 Multirate Signal Processing Chap. 5

x [n]

H (z ) =N−1∑n=0

h[n]z−n ↓ Mx [n] y [n]

y [n]↓ M

EM−1 (zM )

z−1

z−1

E0 (zM )

E1 (zM )

x [n] ↓ M

z−1

z−1

↓ M

↓ M

y [n]⊕EM−1 (z )

E1 (z )

E0 (z )

(a)

(b) (c)

Figure 5.18: Polyphase implementation of an M -fold Decimator. (a) Directimplementation. (b) Intermediate structure. (c) The desired polyphasestructure.

Page 19: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.5 Efficient Structures for Decimation and Interpolation 117

computation of each output sample of H(z). Moreover, even though onlyone out of every M output samples of the filter is needed (because of theM -fold decimator), the N multiplications and N − 1 additions have to beperformed before arrival of the next sample of the input, as the contentof the delay line (the shift register) holding x[n] and its delayed sampleschanges. In other words, although the output y[n] is needed at a rate Mtimes slower than the rate of x[n], the filter H(z) has to catch-up with therate of input for computation of each sample of y[n], while it remains idlefor the next M − 1 sample intervals of input before starting computationof the next sample. This clearly is a waste of resources. The polyphasecomponents in Figure 5.18(c), on the other hand, operate at the outputrate (i.e., the lowest rate in the system) and, thus, remain operational allthe time (no rest periods). In addition, the polyphase structure lends it-self to parallel processing in a more natural manner. For example, eachpolyphase component filter may be handled separately through a separatemultiply/accumulate processor.

y [n]

h[N − 1 ]h[1 ]⊗ ⊗

z−1 z−1z−1

⊕↓ M

x [n]

h[0 ]

Figure 5.19: A direct implementation of Figure 5.18(a).

We may note that the above advantages of the polyphase structure ofFigure 5.18(c) do not hold if it is to be implemented in a software basedsystem, such as a digital signal processor. In fact, if only the output samplesthat are required after decimation are to be calculated (which is the casein practice), one finds that the number of additions and multiplicationsper unit of time in polyphase and direct implementation are exactly thesame. On the other hand, the polyphase implementation may bring somestructural software complexity that makes it less attractive than the directimplementation.

Page 20: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

118 Multirate Signal Processing Chap. 5

5.5.2 Polyphase structure for interpolator filters

Consider the L-fold interpolator shown in Figure 5.20(a). Using the Type 2polyphase representation (5.22), we obtain the alternative realization shownin Figure 5.20(b). By invoking the second noble identity (i.e., the onein Figure 5.16(b)), we obtain the desired polyphase structure shown inFigure 5.20(c). Comparing the polyphase and direct implementation, here,we note that while in the direct form H(z) has to run at the output rate(the higher rate in the system), the polyphase filters operate at the inputrate. Moreover, because of the expander, L−1 out of every L input samplesto H(z) are zero. Hence, either many unnecessary/trivial multiplicationsby zero have to be performed or special control circuitry should be usedto only operate on the non-zero samples for computation of each outputsample.

y [n] y [n]

x [n]x [n]

x [n] y [n]H (z ) =N−1∑n=0

h[n]z−n

(b) (c)

↑ L

(a)

⊕z−1

⊕z−1

↑ L

↑ L

↑ L

⊕z−1

⊕z−1

↑ L

↑ L

↑ LR0 (zL)

R1 (zL)

RL−1 (zL) RL−1 (z )

R0 (z )

R1 (z )

Figure 5.20: Polyphase implementation of an L-fold Interpolator. (a) Directimplementation. (b) Intermediate structure. (c) The desired polyphasestructure.

Unlike the case of the decimator, the polyphase interpolator structuremay also prove useful if it is to be implemented on a software based system.The polyphase structure dictates how the filter coefficients and samples ofinput are to be stored and accessed from the memory for generation of the

Page 21: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.5 Efficient Structures for Decimation and Interpolation 119

output samples. More specifically, one may store samples of x[n] in part ofthe memory and coefficients of each polyphase filter in a separate part of thememory. Then, following the structure of Figure 5.21 (explained below),the outputs of the polyphase filters RL−1(z), RL−2(z), · · ·, and R0(z) arecalculated, respectively, and sent to the output in the same order.

5.5.3 Commutator models

In the polyphase structure of Figure 5.20(c), the expander and delay blocksmay be replaced by a commutator block that takes successive samples ofy[n] from the outputs of the polyphase filters R0(z), R1(z), · · ·, RL−1(z).This is because careful examination of Figure 5.20(c) reveals that the outputsequence y[n] takes the form

· · · , y1[n− 1], y0[n− 1], yL−1[n], · · · , y1[n], y0[n], yL−1[n + 1], · · ·where y0[n], y1[n], · · ·, yL−1[n] are the output sequences from the polyphasefilters R0(z), R1(z), · · ·, RL−1(z), respectively. Figure 5.21 presents a blockschematic of the L-fold interpolator with the delay/add blocks replaced bya commutator. The commutator runs over the outputs of the polyphasefilters clockwise, starting with the output of RL−1(z), and begins the cycleonce it has picked the output of R0(z).

yL−1 [n]

x [n]R0 (z )

R1 (z )y1 [n]

y0 [n]

y [n]

RL−1 (z )

Figure 5.21: Polyphase structure of an L-fold interpolator with outputsamples generated through a commutator.

The same concept may also applied to the decimator polyphase struc-ture of Figure 5.18(c) to remove the delay line and the M -fold decimators,

Page 22: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

120 Multirate Signal Processing Chap. 5

and pass the input samples through a commutator to the polyphase filtersE0(z), E1(z), · · ·, EM−1(z). This is presented in Figure 5.22.

x [n − M + 1 ]

x [n]

x [n] y [n]⊕EM−1 (z )

E1 (z )

E0 (z )

x [n − 1 ]

Figure 5.22: Polyphase structure of an M -fold decimator with input sam-ples distributed through a commutator.

5.5.4 L/M-fold resampling

Here, we discuss how the L/M -fold resampler of Figure 5.10 can be realizedefficiently. The cases of L/M > 1 and L/M < 1 are treated separately.

The case of L/M > 1

Combining the L-fold expander and the lowpass filter of Figure 5.10 ina polyphase structure, as in Figure 5.21, we obtain the structure of Fig-ure 5.23(a). To accommodate for the M -fold decimator, one can simplyrotate the commutator arm at the steps of M polyphase outputs. This isshown in Figure 5.23(b). For example, if L = 3 and M = 2, the outputsamples are picked from y2[n], y0[n], y1[n], y2[n], y0[n], y1[n], · · ·.

The polyphase realization of Figure 5.23 is efficient and optimized forimplementation in software on a digital signal processor. The tapped delaylines of the polyphase filters R0(z), R1(z), · · ·, RL−1(z) are filled in with thesamples of input at the rate that they arrive. There is no redundant (zero)samples stored. In addition, the commutator arrangement, as discussedabove, assures that only the essential samples of output are calculated.

When a hardware implementation with maximum speed of operation isrequired, the polyphase realization of Figure 5.23 can be further improvedusing the trick that is discussed below for the case of L/M < 1 (see Prob-lem 14).

Page 23: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.5 Efficient Structures for Decimation and Interpolation 121

y [n]↓ M

yL−1 [n]

x [n]R0 (z )

R1 (z )y1 [n]

y0 [n]

RL−1 (z )

yL−1 [n]

x [n]R0 (z )

R1 (z )y1 [n]

y0 [n]

y [n]

RL−1 (z )

(a)

(b)

at steps of M polyphase

output samples.

The commutator arm rotates

Figure 5.23: Polyphase structure of an L/M -fold resampler. (a) Interme-diate polyphase structure. (b) The desired polyphase structure.

Page 24: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

122 Multirate Signal Processing Chap. 5

The case of L/M < 1

When L/M < 1, the structure of Figure 5.23 becomes inefficient (especially,for smaller values of L/M), even when a software implementation is desired.This is because the polyphase filters have to still cope with the input ratewhich in the present case is higher than the output rate. A structure thatallows operation of the system components (polyphase filters) at the outputrate clearly leads to a more efficient structure.

Here, in analogy with Figure 5.23(a), to have polyphase filters thatoperate at the output rate, we may suggest the alternative structure ofFigure 5.24. Examination of this structure soon reveals that, because ofthe L-fold expander, L− 1 out of every L input samples to the polyphasefilters E0(z), E1(z), · · ·, EM−1(z) are zero and therefore a large number ofunnecessary multiplications by zero have to be performed. To discuss howone may avoid zero samples, without any loss of generality, we limit ourdiscussion to the simple case where L = 2 and M = 3.

x [n] y [n]⊕EM−1 (z )

E1 (z )

E0 (z )

↑ L

Figure 5.24: An alternative polyphase structure of L/M -fold resampler.

Figure 5.25(a) presents a redrawn of Figure 5.24, for the case whereL = 2 and M = 3 and the commutator is replaced by delay units and 3-fold decimators (compare with Figure 5.18(c)). This figure can be furtherrearranged as Figure 5.25(b). In obtaining this figure, we have noted thatsince 2 and 3 are prime with respect to each other, the blocks ↑ 2 and ↓ 3in the top branch commute. In the lower branch, we have used the firstnoble identity and moved z−2 before ↑ 2 and then commuted ↓ 2 and ↑ 3.For the middle block, we have noted that z−1 = z2 × z−3, then used thenoble identity 1 to move z2 before ↓ 2 and the noble identity 2 to movez−3 after ↑ 3 and then commuted the blocks ↓ 2 and ↑ 3. Finally, we notethat the blocks within the dashed box A can be replaced by a clockwisecommutator. Moreover, the blocks within each of B boxes can be efficientlyimplemented using (2-fold) interpolation polyphase structures. This final

Page 25: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.6 Efficient Structures for Decimation and Interpolation 123

step gets rid of zero samples in the tapped delay lines of the polyphasefilters.

x [n]

y [n]⊕E1 (z )

E0 (z )

↓ 3

↓ 3

↓ 3

z−2

↑ 2

↑ 2

↑ 2

z−1

E2 (z )

(a)

(b)

z

z−1

x [n]

y [n]⊕E0 (z )

↓ 3

↓ 3

↓ 3

↑ 2

↑ 2

↑ 2 E2 (z )

z−1E1 (z )

A B

B

B

Figure 5.25: A more efficient polyphase structure of L/M -fold resampler.(a) Intermediate structure. (b) The desired structure.

5.5.5 The polyphase identity

Figure 5.26(a) is a rather strange structure that appears in some multiratesystems and thus its study will prove useful. This is similar to the L/M -resampling structure of Figure 5.10 with L = M . Recalling the polyphasestructure of Figure 5.24, for L = M , one finds that only the samples thatenter E0(z) are non-zero. The inputs to the rest of polyphase componentsare zero for all n. This is because the expander put M −1 zeros after everyelement of x[n] to make a group of M elements. The commutator passesthe first element of the group (which is x[n]) to E0(z) and the rest of theelements of the group (which are zeros) to E1(z) through EM−1(z). Withthis observation, one obtains Figure 5.26(b) as an equivalent structure ofFigure 5.26(a). This result is known as the polyphase identity.

Page 26: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

124 Multirate Signal Processing Chap. 5

y [n]

x [n] y [n]H (z ) ↓ M↑ M (a)

(b)≡ E0 (z )x [n]

Figure 5.26: The polyphase identity: (a) A strange structure. (b) Its equiv-alent structure.

5.6 Multistage Implementation

We may recall from the discussion of the previous sections that in all cases ofsampling rate conversion (Figures 5.7, 5.9 and 5.10), we need to implementa lowpass filter. Moreover, we noted that for large values of L and/orM the length of the desired lowpass filter may become excessively large.The polyphase structures were introduced as a method of implementingthese filters efficiently. In this section, we introduce another method thatcan be used in conjunction with polyphase structures to further reduce thecomplexity of implementation of interpolation and decimation filters.

5.6.1 Interpolated FIR (IFIR) technique

Consider the problem of designing a narrowband lowpass filter H(z) withthe desired magnitude response as in Figure 5.27(a). Recalling the Kaiser’sand Bellanger’s formulae of Chapter 4, (equations (4.88) and (4.89)), be-cause of the very narrow transition band, realization of this filter may re-quire a very high order. Very high order naturally leads to a large numberof multiplications and additions for computation of each output sample ofthe filter. The following trick may be used to reduce the computationalload. We begin with designing a filter G(z) whose magnitude responseis a stretched version of the desired response, e.g., as in Figure 5.27(b).Note that in this example G(z) has band edges that are quadruple of thoseof H(z). Next, by replacing each delay in G(z) by four delays, we ob-tain a filter with the transfer function G(z4). Comparing G(ej2πf ) andG

((ej2πf )4

)= G(ej8πf ), one will find that the magnitude response of G(z4)

is obtained by compressing |G(ej2πf )| across the frequency axis four times.This leads to the response shown in Figure 5.27(c). Cascading G(z4) and afilter I(z) with the magnitude response shown in Figure 5.27(c) results ina filter with the same magnitude response as the desired response. This isshown in Figure 5.27(d).

The key point that makes the cascade design G(z4)I(z) more efficientthan the direct design H(z) lies in the fact that G(z) has a transition band

Page 27: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.6 Multistage Implementation 125

f0 .5

f0 .5

f0 .50 .25

|H (ej2πf )|

|G(ej2πf )|

|G(ej8πf )| |I (ej2πf )|

f0 .5

|G(ej8πf )I (ej2πf )|

(a)

(b)

(c)

(d)

Figure 5.27: The response of a narrowband filter and a method of its real-ization through IFIR technique.

Page 28: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

126 Multirate Signal Processing Chap. 5

that is four times wider than the transition band of the desired response.It thus can be realized with four times less coefficients. I(z) also can berealized with relatively small number of coefficients, because of its veryrelaxed transition band. Accordingly, the computational complexity of thecascade of G(z4) and I(z) may be only slightly more than one quarter ofthe complexity of H(z).

The terminologies

It is instructive to think of the cascade of G(z4) and I(z) as an interpolationprocess. Replacement of G(z) by G(z4), in the time domain, is equivalentof inserting 3 zeros after every sample of the sequence g[n]. This, in the fre-quency domain, as noted above, is equivalent of compressing the frequencyresponse G(ej2πf ) along the frequency axis four times; see also the discus-sion in Section 5.2.1. I(z), then, acts as an interpolation (lowpass) filterand replaces the zeros of G(z4) by the right values such that G(z4)I(z)has a response that resembles the desired response H(z). Accordingly, I(z)is called interpolation filter and the terminology IFIR follows for obviousreasons. The filter G(z) is called model filter.

Ripple sizes

We may note that the size of ripples in the passband of G(z4)I(z) is deter-mined by the ripple size in the passbands of both G(z4) (which is the sameas that of G(z)) and I(z). In the worse case, it is given by the summationof the ripple sizes in the two filters. So, if a desired passband ripple ofδ1 is desired, we may simply design G(z) and I(z) for the passband ripplesizes of δ1/2. The stopband ripple size of G(z4)I(z) on the other handis determined by the minimum of the stopband ripple sizes of G(z) andI(z). Hence, if a desired stopband ripple δ2 is required, we will design bothG(z) and I(z) for the stopband ripple size of δ2. The example given belowclarifies these points further.

Interpolation factor

The example presented in Figure 5.27 arbitrarily assumed an interpolationfactor M = 4. Obviously, one could try other values of M as well. Animportant question to ask here is thus what is the optimum interpolationfactor M that minimizes the complexity of the interpolated filter. To findan answer to this question, we may note that increasing the interpolationfactor increases the width of the transition band of G(z), and thus, G(zM )could be realized by smaller number of coefficients. On the other hand,increasing M results in more densely populated images in the response ofG(zM ) and accordingly one will find that an interpolation filter I(z) withnarrower transition band has to be designed. This increases the complexityof realization of I(z). Therefore, M should be chosen to strike a balance

Page 29: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.6 Multistage Implementation 127

between the complexity (the number of non-zero coefficients) of G(zM ) andI(z). Probably the easiest method of answering this question is to examinevarious choices of the interpolation factor and choose the one that resultsin the minimum complexity.

Example 5.2:

It is desired to design a lowpass filter with band edges f1 = 0.02 and f2 =0.025 and the passband and stopband ripples δ1 = 0.01 and δ2 = 0.001.

• Using the Kaiser’s formula, find the order of the desired filter, if adirect design was used.

• Examine various choices of the interpolation factor M and fromthem choose the one that leads to a design with the minimum com-plexity.

Solution:

For the direct design, substituting the specified parameters in the Kaiser’sformula, we obtain NH = 507. Hence, we will have a total number ofcoefficients NH + 1 = 508.

For the interpolation filter, if we choose M = 2, for G(z), we will getthe parameters f1 = 0.02M = 0.04, f2 = 0.025M = 0.05, δ1 = 0.01/2 =0.005 and δ2 = 0.001 and accordingly the order NG = 274. Also, forI(z), we will get the parameters f1 = 0.02, f2 = 0.5 − 0.025 = 0.475,δ1 = 0.01/2 = 0.005 and δ2 = 0.001 and accordingly the order NI = 6.Hence, we will have a total number of coefficients (NG+1)+(NI +1) = 282.

If we choose M = 3, for G(z), we will get the parameters f1 = 0.06,f2 = 0.075, δ1 = 0.01/2 = 0.005 and δ2 = 0.001 and accordingly theorder NG = 183. Also, for I(z), we will get the parameters f1 = 0.02,f2 = 1

3− 0.025 = 0.3083, δ1 = 0.01/2 = 0.005 and δ2 = 0.001 and

accordingly the order NI = 9. Hence, we will have a total number ofcoefficients (NG + 1) + (NI + 1) = 194.

In a similar way, we obtain

• for M = 4: NG = 137, NI = 13, hence, (NG + 1) + (NI + 1) = 152;

• for M = 5: NG = 110, NI = 18, hence, (NG + 1) + (NI + 1) = 130;

• for M = 6: NG = 91, NI = 23, hence, (NG + 1) + (NI + 1) = 116;

• for M = 7: NG = 78, NI = 28, hence, (NG + 1) + (NI + 1) = 108;

• for M = 8: NG = 69, NI = 34, hence, (NG + 1) + (NI + 1) = 105;

• for M = 9: NG = 61, NI = 41, hence, (NG + 1) + (NI + 1) = 104;

• for M = 10: NG = 55, NI = 50, hence, (NG + 1) + (NI + 1) = 107;

• for M = 11: NG = 50, NI = 60, hence, (NG + 1) + (NI + 1) = 112.

We observe that, as one would expect, as M increases, NG decreasesand NI increases. There should thus be a choice of M that strikes abalance and results in the minimum value of (NG + 1) + (NI + 1). In thepresent case, this balance happens when M = 9. Compared to the directdesign, this design reduces the number of non-zero coefficients from 508to 104; an almost 5 fold reduction.

Page 30: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

128 Multirate Signal Processing Chap. 5

Figures 5.28(a)-(d) show the magnitude responses of G(z), I(z), G(z9)and G(z9)I(z), respectively. Note that how the images in the responseG(z9) appear and how they are suppressed by the interpolator filter I(z).

0 0.1 0.2 0.3 0.4 0.5�100

�80

�60

�40

�20

0

20

(a) f

dB

G(z)

0 0.1 0.2 0.3 0.4 0.5�100

�80

�60

�40

�20

0

20

I(z)

(b) f

dB

0 0.1 0.2 0.3 0.4 0.5�100

�80

�60

�40

�20

0

20

G(z9)

(c) f

dB

0 0.1 0.2 0.3 0.4 0.5�100

�80

�60

�40

�20

0

20

G(z9)I(z)

(d) f

dB

Figure 5.28: Magnitude response of the various filter designed in Example5.2.

One may also note that it is possible to apply the concept of IFIR designto any filter, including the model filter G(z). In particular, we may startwith a small interpolation factor M , decide on the required specifications ofG(z) and proceed with an IFIR design for G(z). This is left as an exerciseat the end of the chapter.

5.6.2 Multistage realization of decimation and inter-polation filters

Consider the L-fold interpolator shown in Figure 5.29(a). Assume thatL could be factored as L = L1L2 and, thus, the expander ↑ L can bereplaced by the cascade of the expanders ↑ L1 and ↑ L2. Moreover, let usapply IFIR design to replace H(z) by the cascade of the transfer functionsG(zL2) and I(z). These give Figure 5.29(b) as an alternative realizationto Figure 5.29(a). Applying the second noble identity of Figure 5.16 toswap the blocks G(zL2) and ↑ L2, we obtain the desired structure as in

Page 31: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.6 Multistage Implementation 129

Figure 5.29(c). Here, interpolation is done in two stages: (i) ↑ L1 followedby G(z); and (ii) ↑ L2 followed by I(z). Clearly, each of these stages may bereplaced by their respective polyphase structures for further improvementon the implementation, as required.

(a)

x [n] y [n]H (z )

G(z )

(b)

(c)

↑ L

x [n] y [n]G(zL2 ) I (z )↑ L1 ↑ L2

x [n] y [n]I (z )↑ L1 ↑ L2

Figure 5.29: Development of a multistage interpolation filter. (a) Directrealization. (b) Intermediate structure. (c) The desired structure.

To appreciate the computational advantage of the multistage imple-mentation, we compare the number of operations (multiplications and ad-ditions) that is required for computation of each sample of output in Fig-ures 5.29(a) and (c). Assuming that H(z) is a FIR filter of order NH anda polyphase structure is used for its implementation, computation of eachsample of output requires NH/L additions and (NH+1)/L multiplications1.In Figures 5.29(c), on the other hand, computation of each output samplerequires NI/L2 + NG/L additions and (NI + 1)/L2 + (NG + 1)/L multipli-cations. The following example gives a better idea on how much we saveon the number of operations.

Example 5.3:Consider the design and implementation of a 100-fold interpolator. Also,assume that based on the spectral content of the input and the expectedaccuracy of the interpolator, the design parameters for H(z) are chosen asf1 = 0.002, f2 = 0.004, δ1 = 0.01 and δ2 = 0.001.

• Using Kaiser’s formula, find the order of H(z).

1Note that when H(z) is a linear phase filter, the symmetry of the filter coefficientsmay be used to reduce the number of multiplications by up to a factor of one half. Here,for the simplicity of the discussion, we have not considered this point.

Page 32: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

130 Multirate Signal Processing Chap. 5

• For L1 = 2 and L2 = 50, find the orders of G(z) and I(z).

• Compute the number of additions and multiplications for the directand multistage implementations and compare the results.

Solution:

Substituting the specified parameters in Kaiser’s formula, we obtain NH =1267. Accordingly, the direct implementation of H(z), on average, requires1267100

= 12.67 additions and 1267+1100

= 12.68 multiplications per outputsample.

With L2 = 50, the band edges of G(z) should be set at f1 = 0.002L2 =0.1 and f2 = 0.004L2 = 0.2. Also, as in Example 5.2, we should chooseδ1 = 0.01/2 = 0.005 and δ2 = 0.001. Substituting these in Kaiser’s for-mula, we obtain NG = 27. For I(z), we find the parameters f1 = 0.002and f2 = 1/50−0.004 = 0.016, δ1 = 0.01/2 = 0.005 and δ2 = 0.001. Usingthese, we get NI = 196.

Using the above results, the multistage implementation, on average,requires 196

50+ 27

100= 4.19 additions and 196+1

50+ 27+1

100= 4.22 multiplications

per output sample. A three fold reduction in the computational load.

The concept of multistage implementation may be extended similarlyto the decimation filters. This is demonstrated in Figure 5.30.

(a)

x [n]↓ M

y [n]H (z )

x [n] y [n]↓ M1 ↓ M2I (z ) G(z )

G(zM1 )x [n] y [n]

I (z ) ↓ M1 ↓ M2

(b)

(c)

Figure 5.30: Development of a multistage decimation filter. (a) Directrealization. (b) Intermediate structure. (c) The desired structure.

Page 33: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.7 Cascaded Integrator-Comb Filters 131

5.7 Cascaded Integrator-Comb Filters

Cascaded integrator-comb (CIC) filters are an important class of filters thatwas first proposed by Hogenauer in 1981 and subsequently have becomepopular because of their very low complexity. These filters allow realizationof interpolators and/or decimators with only add/subtract operations. Inthe next two subsections, we discuss an L-fold CIC interpolator and an M -fold CIC decimator, separately. The combination of the two which resultsin an L/M -fold resampler will then be straightforward. This is left as anexercise at the end of the chapter.

5.7.1 L-fold CIC interpolator

Recall from Section 5.2.1 that an interpolator consists of an L-fold expanderfollowed by a lowpass filter. As shown in Figure 5.8, the output of theexpander is a signal whose spectrum within each interval of Lfs, where fs

is the sampling rate before the expander, consists of the spectrum of theinput signal plus L − 1 images of it. The task of the lowpass filter is toremove these undesired images. The lowpass filter thus should have a flatresponse over the bandwidth of the desired signal (the baseband signal)and sufficient attenuation over the width of the undesired images.

In the CIC method, the interpolator lowpass filter is implemented as acascade of multistages of comb filters and integrators. Figure 5.31 showsa CIC interpolator with N stages of comb filters and the same number ofintegrators. Each comb filter generates KL zeros (where K is an integer)at frequencies f = 0, 1/KL, 2/KL, · · ·, (KL− 1)/KL and each integratorgenerates a pole at z = 0. The zero of the comb filter at f = 0 is thuscanceled by the pole of the integrator and, hence, the cascade of each pairof comb filter and integrator results in the transfer function

G(z) =1− z−KL

1− z−1

= 1 + z−1 + · · ·+ z−(KL−1). (5.26)

Clearly, G(z) is a FIR filter with zeros at f = 1/KL, 2/KL, · · ·, (KL −1)/KL. Note that the number of zeros in each comb filter is an integermultiple of the interpolator factor L. This is a very important aspect ofthe CIC interpolator which is discussed in detail later.

Substituting z by ej2πf in the first line of (5.26) and simplifying theresult, we obtain

G(ej2πf ) =sin(πKLf)

sin(πf)e−jπ(KL−1)f . (5.27)

Since there are N pairs of comb filters and integrators, the realized lowpassfilter has the transfer function

H(z) = (G(z))N. (5.28)

Page 34: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

132 Multirate Signal Processing Chap. 5

y [n]x [n] ↑ L ⊕

−z−KL

−z−KL

z−1

z−1

N stages of comb filters N stages of integrators

Figure 5.31: A CIC interpolator with N stages of comb filters and the samenumber of integrators. (Initial structure)

Substituting z by ej2πf in (5.28) and using (5.27), we obtain

H(ej2πf ) =(

sin(πKLf)sin(πf)

)N

e−jπ(KL−1)Nf . (5.29)

Figure 5.32 presents the plots of magnitude response of H(z), for K = 2,L = 5 and three values of N = 1, 2 and 4. The plots are normalized sothat their magnitude response at f = 0 be equal to 0 dB.

0 0.1 0.2 0.3 0.4 0.5�100

�90

�80

�70

�60

�50

�40

�30

�20

�10

0

f

Nor

mal

ized

|H(e

j�f )|

, dB

N = 1

N = 2

N = 4

B/L

(fs�B)/L (f

s+B)/L (2f

s�B)/L (2f

s+B)/L

Figure 5.32: Magnitude response of the CIC lowpass filter for KL = 10and three values of N = 1, 2 and 4.

In the applications of CIC interpolators, the input signal is usuallysampled at a rate large enough such that its normalized bandwidth (withrespect to the sampling frequency) is relatively small. The expander dividesthis bandwidth by L when normalized to the new rate. In Figure 5.32, atypical set of band edges of the input spectrum to the interpolator H(z)are shown. As seen, H(z) has relatively flat response over the band of thedesired baseband spectrum and introduces deep nulls over the portions of

Page 35: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.7 Cascaded Integrator-Comb Filters 133

the band where images of the expanded signal exist. We may also note thatby increasing N , the bandwidths and attenuation level of the filter nullsincrease and thus results in better cancelation of the signal images. Thefact that the signal images coincide with the nulls of H(z) is a consequenceof the use of an integer K. With K = 2 the images happen at the alternatenulls of H(z). Another observation in Figure 5.32 is that when B/L isnot sufficiently small, the passband of the CIC filter may suffer from a non-negligible distortion. Such distortion may be compensated by pre-distortingthe signal spectrum prior to interpolation. The reader is encouraged toexplore further these properties of the CIC interpolator.

The CIC interpolator of Figure 5.31 can be further simplified by usingthe second noble identity to switch the position of the L-fold expander andthe comb filters. This results in the structure shown in Figure 5.33. Theadvantages brought by this structure are L-fold improvement both withrespect to the delay sizes and the operating frequency of the adders since:(i) the delay size in each comb filter is reduced from KL to K and (ii)the comb filters are run at the input rate which is L times slower than theoutput rate.

y [n]x [n] ↑ L ⊕

z−1

z−1

⊕ ⊕N stages of comb filters

−z−K −z−K

N stages of integrators

Figure 5.33: A CIC interpolator with N stages of comb filters and the samenumber of integrators. (Simplified structure)

An import practical point that should be noted here is the numericalstability of the CIC structure. At first glance, one may believe that becauseof the unity feedback gain in integrators, the output of such integrator willsooner or later overflow and as a result the CIC interpolator will fail. Inthe original paper of Hogenauer it is noted that as long as the CIC filteris implemented in fixed point with two’s complement arithmetic, the unityfeedback of the integrators does not cause any numerical problem. This isbecause when a sequence of add/subtract operations are implemented infixed point and two’s complement is used for number representations, aslong as the final result can be accommodated within the specified wordlength, intermediate overflow of the numbers is of no consequence. Thus,if two’s complement number representations are used, the only design con-sideration that requires attention is the range of the system output. Inparticular, we note that the passband gain of the interpolator filter is givenby H(ej0) = (KL)N and the expander gain at f = 0 is 1/L. Hence, thepassband gain of the CIC interpolator is KNLN−1. Accordingly, the re-

Page 36: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

134 Multirate Signal Processing Chap. 5

quired word-length of the CIC output y[n] is equal to the word-length ofx[n] plus log2 KNLN−1 bits. One may also choose to increase the word-length gradually at successive stages of the interpolator. The original paperof Hogenauer presents an excellent discussion on numerical stability of theCIC interpolators/decimators.

Example 5.4:

Consider a CIC interpolator with an interpolation factor L = 100 and theparameters K = 2 and N = 4. Calculate the number of delay units inthe system and the total number of addition/subtraction operations peroutput sample.

Solution:

Since each comb filter requires K = 2 delay units and each integratorrequires 1 delay unit, the total number of delay units are 3N = 12. Also,there are 4 subtractors running at the input rate and 4 adders running atthe output rate. Translating these to the output rate, the total number ofadd/subtract operations per output sample is 4.04.

5.7.2 M-fold CIC decimator

An M -fold CIC decimator structure can also be derived by following similarsteps to those that led to the interpolator structure of Figure 5.33. Sucha structure is shown in Figure 5.34. The main difference between the twostructures (Figures 5.33 and 5.34) is that the order of the comb filters andintegrators are opposite. More detailed studies of the M -fold CIC decimatorare left as exercises at the end of the chapter.

x [n] ⊕

z−1

z−1

y [n]⊕ ⊕N stages of comb filters

−z−K −z−K

↓ M

N stages of integrators

Figure 5.34: A CIC decimator with N stages of integrators and the samenumber of comb filters.

5.8 Application Examples

To demonstrate some of the benefits of multirate signal processing, in thissection, we present a few important applications of polyphase structures inall digital data receivers.

Page 37: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.8 Application Examples 135

5.8.1 Timing recovery

In a data receiver, the incoming signal has to be sampled and synchronizedwith data symbols. Figure 5.35 presents an example of a data signal carry-ing binary data with symbol values of +1 and −1. Here, the data sequenceis {+1,−1, +1, +1,−1, +1,−1,−1, +1}. Channel distortion and noise areassumed to be absent, for clarity. To extract the binary data, with goodimmunity to channel noise, the received signal has to be sampled at thecorrect timing phase. In Figure 5.35 two sets of samples are shown: onewith the correct timing phase, and another with an incorrect timing phase.As seen, with the incorrect timing phase, some of the samples are takenfrom the points where the received signal traverses between positive andnegative values, and, as a result, the recovered data bits may be wrong.On the other hand, when samples are taken at correct sampling phase, thesample values always have correct polarity and reasonably good magnitude.Hence, correct decisions with low probability of error will be made, even inthe presence of significant channel noise.

0 2 4 6 8 10 12 14�2

�1.5

�1

�0.5

0

0.5

1

1.5

2

correct sampling

incorrect sampling

time

ampl

itude

Figure 5.35: A demonstration of correct and incorrect timing phases of datasignal carrying binary symbols.

Prior to the era of all-digital data modems, timing (and carrier) recov-ery was performed using mostly analog circuits. Figure 5.36(a) presentsa schematic diagram that high-lights the timing control mechanism of amodem of 1960/70s. Here, the timing control for the sampling clock is gen-erated through manipulation of analog signals. Later as progress was madein digital circuits, it became more cost-effective to obtain timing controlfrom processing of the sampled signals using signal processing techniques.

Page 38: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

136 Multirate Signal Processing Chap. 5

This method which is demonstrated in Figure 5.36(b), may be thought ofas a hybrid solution, since timing control is generated digitally and then isused to adjust the sampling clock through analog circuits. In a softwaredefined radio, where the use of analog components is minimized, timing (aswell as carrier) recovery is done completely in digital domain without anyinteraction with the analog parts of the receiver. This is demonstrated inFigure 5.36(c). The incoming signal, after some analog front-end process-ing, such as amplification and filtering, is sampled at a nominal rate usinga free running sampling clock. The desired samples of the signal that aresynchronized to the symbol rate are constructed from these samples usingdigital signal processing techniques. This, effectively, is equivalent to re-sampling the signal at the correct timing phase. Resampling of a sampledsignal may be best done by deployment of interpolation techniques. Thesampled signal is expanded and interpolated to a rate high enough to giveus sufficient accuracy along the time axis so that the desired samples canbe chosen from the interpolated samples.

Let us consider the case where an analog data signal is sampled using afree running sampling clock at a rate P times faster than the symbol rate.However, because of the use of an uncontrolled timing clock none of thesamples are necessarily at the correct phase. Moreover, because of the freerunning nature of the sampling clock, a (small) frequency mismatch betweenthe rate of the incoming symbols and the sampling clock is inevitable. Sucha mismatch results in a drift of the sampling phase, even if it is started ata correct phase. Therefore, a mechanism that explores the present phase ofthe clock and feeds the obtained information back for the correction of thesampling phase should be devised. We will present a few algorithms thatestablish such mechanism in Chapter 10. For the rest of the discussion inthis section, we simply assume a ‘genie’ tells us of any correction that mayhave to be made to the timing phase.

Figure 5.37 presents the schematic diagram of an interpolator alongwith the necessary blocks that enable the extraction of the desired signalsamples at the correct timing phase. The first two blocks, i.e., the L-fold expander and the lowpass filter H(z), interpolate the signal samplesto a rate L times faster than the input rate. Since x[n] is at a rate Ptimes faster than the symbol rate, the output of H(z) is the signal samplesspaced at the interval of Tb/LP , where Tb is the symbol/baud interval.This circuit thus delivers samples with a time precision of LP samplesper symbol interval. When we are only interested in the signal samplesat the symbol rate and at the correct timing phase, the third and forthblocks in Figure 5.37 will complete the job. The block z−Δ delays theinterpolated signal samples such that the decimated output is the sequenceof the samples with the correct timing phase. To better understand howthis works, assume that the desired samples with the correct timing phaseare x1[LPn−Δ], for n = 0, 1, 2, · · ·, where, as shown in Figure 5.37, x1[n]is the signal sequence at the output of H(z). Since x2[n] = x1[n−Δ] and

Page 39: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.8 Application Examples 137

Signal in Data out

Timing control ClockSampling

Signal in Data out

Timing controlClockSampling

Signal in Data out

Timing controlClock

Sampling

(a)

(b)

(c)

AnalogSignal

Processor Processor

DigitalSignal

AnalogSignal

Processor

AnalogSignal

Processor

Processor

DigitalSignal

Processor

DigitalSignal

Figure 5.36: Schematic diagrams of various timing recovery techniques. (a)All analog. (b) Hybrid. (c) All digital.

Page 40: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

138 Multirate Signal Processing Chap. 5

y[n] is LP -fold decimated version of x2[n], y[n] = x2[LPn] = x1[LPn−Δ],as desired. We also note that to cover all possible sampling phases, Δ maytake any value in the range of 0 to LP − 1.

xe [n]x [n] x1 [n] x2 [n] y [n]↑ L H (z ) z−Δ ↓ LP

Figure 5.37: An interpolator-decimator system for timing phase adjustmentin an all-digital modem.

We note that the desired output sequence, y[n], is a subset of the in-terpolated sequence, x1[n]. The rest of the samples of x1[n] are redundantand thus their computation should be avoided. We thus proceed with mod-ification of the structure of Figure 5.37 such that the computation of theseredundant samples be avoided.

Let Δ = kL+l, where k = 0, 1, · · · , P−1 and l = 0, 1, · · · , L−1. Clearly,these choices of k and l allows Δ to vary in the desired range of 0 and LP−1.Substituting Δ = kL + l in Figure 5.37, we can separate the delay blockz−Δ into the cascade of the delay blocks z−l and z−kL. Moreover, if weseparate the decimator block ↓ LP into the cascade of the decimator blocks↓ L and ↓ P , we obtain the structure of Figure 5.38(a). Next, by applyingthe first noble identity (of Figure 5.16), this structure is converted to theone shown in Figure 5.38(b). Now, if we recall the polyphase identity thatwas discussed in Section 5.5.5, the first three blocks in Figure 5.38(b) maybe replaced by the zeroth polyphase component of z−lH(z). For l = 0,z−lH(z) = H(z) and, thus, the zeroth polyphase component of z−lH(z) isE0(z). When l �= 0, we begin with the expansion

H(z) = E0(zL) + z−1E1(zL) + · · ·+ z−mEm(zL) + · · ·+ z−(L−1)EL−1(zL).(5.30)

Multiplying both sides of (5.30) by z−l, we obtain

z−lH(z) = z−lE0(zL) + z−l−1E1(zL) + · · ·+ z−l−mEm(zL)+ · · ·+ z−l−(L−1)EL−1(zL). (5.31)

Letting l + m = L, or m = L− l, (5.31) may be rearranged as

z−lH(z) =(z−LEL−l(zL)

)+ z−1

(z−LEL+1−l(zL)

)+ · · ·

+z−(l−1)(z−LEL−1(zL)

)+ z−lE0(zL) + · · ·+ z−(L−1)EL−l−1(zL). (5.32)

This shows that the zeroth polyphase component of z−lH(z) is equal toz−1EL−l(z). Substituting this in place of the first three blocks of Fig-ure 5.38(b), we obtain the structure of Figure 5.38(c), for l = 1, 2, . . . , L−1.For l = 0, since the zeroth polyphase component of z−lH(z) is E0(z), theblock z−k−1EL−l(z) is replaced by z−kE0(z).

Page 41: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.8 Application Examples 139

x [n] y [n]↑ L ↓ L ↓ Pz−lH (z ) z−k

x [n] y [n]H (z ) ↓ L ↓ Pz−l↑ L z−kL

(a)

(b)

(c)

x [n] y [n]↓ P

x [n] y [n]↓ P

for l �= 0:

for l = 0: z−kE0(z)

z−k−1EL−l(z)

Figure 5.38: Simplification of the interpolator-decimator structure. (a) and(b) Intermediate structures. (c) The desired structure.

Page 42: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

140 Multirate Signal Processing Chap. 5

5.8.2 All digital modulator

Consider the implementation of a QAM modulator, where the transmitsignal has the form

xRF(t) =∑

n

sR[n]pT(t− nTb) cos(2πfct)− sI[n]pT(t− nTb) sin(2πfct),

(5.33)s[n] = sR[n] + jsI[n] is the transmitted data symbols, pT(t) is the transmitpulse shape, Tb is the symbol/baud interval, and fc is the carrier frequency.

In the older generation of data modems, a realization that follows thestructure of Figure 5.39 was common. Here, pulse shaping and modulationto an intermediate frequency (IF) is done digitally. In order to satisfy theNyquist criterion, the pulse shaping and modulation to the IF is done ata rate L1 faster than the symbol rate. The IF signal is then up-convertedto the desired carrier through an analog modulator. The structures suchas Figure 5.39, where modulation/demodulation is done in two stages (i.e.,from baseband to IF and then from IF to RF and vice versa) are known assuperheterodyne.

xRF(t)xIF[n]

fc

sI[n]

sR[n] ⊗↑ L1

⊗↑ L1

⊕ DAC ⊗Analog upconversion to RF

Qadrature amplitude modulation and

cos(2π(fc − fIF)t)

digital upconversion to IF

cos(

2πfIFTb

L1n)

− sin(

2πfIFTb

L1n)

pT

(Tb

L1n)

pT

(Tb

L1n)

Figure 5.39: Block diagram of a QAM modulator in the older generationof data modems.

In modern modems, where analog circuits are minimized, conversionfrom an IF band to an RF band may be also done digitally (wherever pos-sible).2 A direct method of mimicking the analog part of Figure 5.39 leadsto a rather expensive implementation. It is left to the reader to explore thecomplexity of such an implementation (see Problem 23). Here, we presenta more elegant solution that takes advantage of multirate techniques.

2When fc is very large, implementation of an all digital transmitter/receiver may notbe cost effective or feasible.

Page 43: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.8 Application Examples 141

Let the IF modulated signal xIF[n] have the spectrum shown in Fig-ure 5.40(a). Here, the spectrum of xIF[n] is shown over the range −fs,IF/2to +fs,IF/2, where fs,IF = 1/Ts,IF = L1fb is the sampling frequency atthe output of the IF stage and fb = 1/Tb is the symbol rate. By pass-ing xIF[n] through an L2-fold expander, we will obtain a discrete timesignal whose spectrum over the range −fs,RF/2 and +fs,RF/2 (wherefs,RF = L2fs,IF = Lfb, with L = L1L2, is the new sampling frequency) hasL2 repetitions of the spectrum shown in Figure 5.40(a). This, for L2 = 8, isshown in Figure 5.40(b). Now, if L2 is chosen sufficiently large such that forsome integer 0 < k < L2/2, kfs,IF±fIF is equal to the carrier frequency fc,the desired modulated signal can be extracted from the expanded versionof xIF[n] by a filter that selects the relevant components of the spectrum.Figure 5.40(c) shows the output of such a filter, when fc = 3fs,IF + fIF.

XRF(ej2πf )

XIF ,e(ej2πf )

−fIF

XIF (ej2πf )

fs,IF2

fIF

fc = 3fs,IF + fIF

fs,IF

(a)

(b)

(c)

Δ1 Δ2

− fs,IF2

−fs,IF

fc−fc

fs,RF

2− fs,RF

2

fs,RF

2− fs,RF

2

Figure 5.40: Signal spectra at different stages of the modulator.

Page 44: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

142 Multirate Signal Processing Chap. 5

Figure 5.41 shows the block diagram of an all digital QAM modulatorthat operates based on the above principle. One may note that, with someminor difference, this is similar to a multistage interpolator. In the firststage, sR[n] and sI[n] are interpolated (pulse shaped, to be more accurate)L1-fold and modulated to an IF frequency, fIF. In the second stage, throughan L2-fold expander, many replicas of the IF signal are made available forfurther processing. With proper selection of the parameters L1, fIF and L2

such that fc = kfs,IF± fIF, for an integer 0 < k < L2/2, one of the replicasis the desired RF signal. This is filtered digitally before passing the finaloutput to a DAC.

cos(

2πfIFTb

L1n)

xRF(t)xIF,e[n]xIF[n]

sI[n]

sR[n] ⊗↑ L1

⊗pT

(Tb

L1n)

↑ L1

⊕fc

Qadrature amplitude modulation and

↑ L2 DAC

digital upconversion to IF

digital upconversion to RF

− sin(

2πfIFTb

L1n)

pT

(Tb

L1n)

Figure 5.41: Block diagram of an all digital QAM modulator in the newgeneration of data modems.

A particular choice of fIF can greatly simplify the implementation ofthe all digital modulator of Figure 5.41. This particular choice of fIF canbe identified by noting that for an arbitrary fIF, the modulator factorscos

(2πfIF

Tb

L1n)

and − sin(2πfIF

Tb

L1n)

need to be calculated for each n.

However, if fIF is chosen equal to 14fs,IF, one will find that, since fs,IF =

L1fb,

2πfIFTb

L1n =

π

2fs,IF

L1Tbn =

π

2fbTbn = n

π

2,

and, thus, cos(2πfIF

Tb

L1n)

and − sin(2πfIF

Tb

L1n)

take the trivial values of+1, 0,−1, 0, +1, 0, · · · and 0,−1, 0, +1, 0,−1, · · · respectively. This meansthe computational burden of the modulator parts in Figure 5.41 can bemade minimal. Another advantage of this choice of fIF is that it maximizesthe separation of the replicas of the baseband spectrum in XIF,e(ej2πf ), andthis has direct impact on minimizing the order of the bandpass filter in thedigital upconversion to RF. To better understand this point, one may refer

Page 45: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.8 Application Examples 143

to Figure 5.40(b) and note that the transition band of the latter filter isdetermined by the minimum of Δ1 and Δ2.

We note that the above choice of fIF imposes a tight relationship be-tween the carrier frequency, fc, and the symbol rate, fb. More particularly,we find that since fIF = 1

4fs,IF = 14L1fb, fc = kfs,IF ± fIF = (k ± 1

4 )L1fb.Obviously, the three expander/filtering pairs in Figure 5.41 can be im-

plemented efficiently using polyphase structures. In addition, in upconver-sion to the RF band, one may need to perform some parallel processing tobe able to cope with the very high sampling rate of the signal at the DACinput. This is discussed in Section 5.8.4.

5.8.3 All digital demodulator

In this section, we develop an all digital superheterodyne structure for ex-tracting the information symbols s[n] = sR[n] + jsI[n] from a QAM modu-lated received signal xRF(t). To this end, we begin with the receiver struc-ture shown in Figure 5.42. Here, the down-conversion from RF to IF isdone in the analog domain and from IF to baseband is performed digitally.Similar to the transmitter structure of Figure 5.39, this structure belongsto a class of older generation of data modems. The rate of the samplestaken by ADC is assumed to be L1 times faster than the symbol rate. Af-ter multiplication of xIF[n] by cos

(2πfIF

Tb

L1n)

and − sin(2πfIF

Tb

L1n), the

resulting signals contain the desired baseband signal as well as its undesir-able spectral components around 2fIF. These undesirable components andany additional signals that may arise from out of band noise or interferencefrom other communication channels are filtered by the lowpass filters pR(t)which are chosen to be matched to the pulse shaping filters at the transmit-ter. As discussed in Chapter 4, pT(t) and pR(t) filters are designed so thattheir combination is a Nyquist filter. Assuming that the timing phase aswell as carrier phase and frequency at the receiver are chosen correctly, theoutputs of the matched filters, after decimation, are the desired symbolssR[n] and sI[n] (contaminated with some noise and/or interference).

Next, we concentrate on the down-conversion from RF to IF and discusshow this can be done digitally. Direct mimicking of the analog down-conversion in the digital domain leads to a rather expensive implementation.We thus resort to a direct DSP solution. For this, we first explore theimpact of decimation on the spectrum of a bandpass signal. This can bebest understood by studying Figures 5.40(c), (b) and (a), in this reverseorder. Figure 5.40(c) may be thought of as the power spectrum of xRF(t)or, equivalently, the spectrum of its sampled version, xRF[n], in the interval−fs,RF/2 to +fs,RF/2. If one out of every L1 samples of xRF[n] is preservedand the rest of them are set equal to zero, the result will be a signal withthe spectrum shown in Figure 5.40(b). The decimated version of the lattersignal, i.e., the one obtained by removing the zero samples, is clearly theIF version of the desired signal, xIF[n], assuming that the relationship fc =

Page 46: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

144 Multirate Signal Processing Chap. 5

sR[n]

sI[n]

fIF

xIF[n]

⊗⊗

cos(2π(fc − fIF)t)

ADC

↓ L1

↓ L1Analog down-conversion to IF

Digital down-conversion to baseband

xRF(t)

cos(

2πfIFTb

L1n)

− sin(

2πfIFTb

L1n)

pR

(Tb

L1n)

pR

(Tb

L1n)

Figure 5.42: Block diagram of a QAM demodulator in an older generationof data modems.

kfs,IF ± fIF holds. We thus note that xIF[n] can be obtained directly bydecimating xRF[n].

The above discussion ignores a practical fact that xRF[n] may containthe desired spectrum/signal (shown in Figure 5.40(c)) as well as undesired(noise and/or interference) signals that lie in other portions of the spectrum.If unfiltered, decimation may result in aliasing of the undesired signals overthe band of the desired signal. A pictorial presentation of this concept,for fc = 2fs,IF + fIF, is presented in Figure 5.43. The IF signal xIF[n]is obtained from xRF[n] through an L2-fold decimator that reduces thesampling rate from fs,RF = L2fs,IF to fs,IF. This results in repetition ofthe spectrum XRF(ej2πf ) with frequency spacing fs,IF. In Figure 5.43 thespectra segments of XRF(ej2πf ) that correspond to positive and negativefrequencies are presented in full-line and dashed-line plots, respectively.Here, we assume that the desired signal is confined within the flat part of theplots. Accordingly, before decimation, xRF[n] has to be filtered with a filterwhose passband matches the flat part of XRF(ej2πf ) and its transition bandis equal or narrower than the slanted parts of XRF(ej2πf ) in Figure 5.43.From the presentations in Figure 5.43, it is obvious that if xRF[n] hada wider transition bandwidth than what is shown, the decimation wouldresult in aliasing of undesired signals over the band of the desired signal.Moreover, we may note the choice of fIF = 1

4fs,IF leads to homogenousspread of the spectral images in XIF(ej2πf ).

Based on the above discussion, the block diagram shown in Figure 5.44is proposed for an all digital QAM receiver.

Page 47: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Sec. 5.8 Application Examples 145

· · ·

fIF =14

fs,IF

fc = 2fs,IF + fIF−fc

−fIF fs,IF−fs,IF

XRF(ej2πf )

· · ·XIF(ej2πf )

Figure 5.43: A presentation of spectra of an XRF[n] and its decimatedversion. The flat part of the plots correspond to the desired signal band.

sR[n]

sI[n]

xIF[n]

pR

(Tb

L1n)

↓ L1

↓ L1

Digital down-conversion to baseband

xRF(t)ADC

fRF

↓ L2

Digital down-conversion to IF

cos(

2πfIFTb

L1n)

− sin(

2πfIFTb

L1n)

pR

(Tb

L1n)

Figure 5.44: Block diagram of an all digital QAM receiver.

Page 48: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

146 Multirate Signal Processing Chap. 5

5.8.4 Parallel polyphase filtering for very fast samplingrates

ADCs and DACs that can operate in the GHz range are available. More-over, interfacing of the processing units (such as an FPGA chip) to suchADC’s and DAC’s is possible. However, multipliers and adders in theprocessing units may not be able to cope with such frequencies. In thissection, we show how one can benefit from the parallel processing offeredby the polyphase structures, to deal with this scenario. Our emphasis ison the digital upconversion block in the transmitter of Figure 5.41 and thedigital down-conversion block in the receiver of Figure 5.44.

Transmitter parallel polyphase filtering

In the transmitter of Figure 5.41, the digital upconversion to RF consistsof two subblocks: an expander and a filter. This is similar to the L-foldinterpolator of Figure 5.20(a) with a minor difference that the lowpassfilter H(z) is replaced by a bandpass filter in Figure 5.41. This has noconsequence on any structure that may be used for its implementation. Thepolyphase structure of Figure 5.20(c) and hence the commutator model ofFigure 5.21 is thus applicable.

A point that needs attention here is that the input to the interpolator(modulator in the case of interest here) and thus polyphase filters R0(z),R1(z), · · · operate at a rate which is L (L2, here) times slower than theoutput rate. Therefore, even though the sampling rate at the DAC input inFigure 5.41 may be in the order of Giga samples per second, the polyphasefilters need to operate in a lower rate. In order to allow proper operation ofthe interpolator/modulator, the polyphase filters run in parallel, completecomputation of the outputs y0[n], y1[n], · · · simultaneously, and store theresults in a set of buffers (registers) before taking the next sample of theinput and beginning the next cycle of the filtering operation. The storedsamples in the buffer are then successively passed to the output by thecommutator while the next set of output samples are being computed. Thismodification to Figure 5.21, which is presented in Figure 5.45, results in adelay of the output samples equivalent to one sampling period at the rateof input or L sampling periods at the rate of output.

Receiver parallel polyphase filtering

Following the same line of argument, one finds that the digital down-conversion to IF block in the all digital QAM receiver of Figure 5.44 issimilar to the M -fold decimator of Figure 5.18(a). Hence, the polyphaseimplementation of Figure 5.18(c) and thus the corresponding commutatormodel presented in Figure 5.22 is applicable. Also, in order to allow opera-tion of the polyphase filter at the output rate (the lower rate in the system)buffers need to be placed between the commutator and the polyphase filters.

Page 49: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Problems 147

x [n]R0 (z )

R1 (z )

y [n]

z−1

z−1

z−1RL−1 (z )

y0 [n − 1 ]

y1 [n − 1 ]

yL−1 [n − 1 ]

Figure 5.45: Modified structure of Figure 5.21. The delay units are addedto allow operation of the commutator while polyphase filters compute thenext set of samples of output.

5.9 Problems

1. Figure 5.3(b) presents a plot of Xd(ej2πf ) for a two-fold decimator.Present a similar plot for the case where the decimation factor isM = 3.

2. In Example 5.1, we noted that when a discrete-time signal x[n] isinterpolated L-fold, through the cascade of an L-fold expander and alowpass filter, to keep the level of signal samples at the output similarto those at the input, the gain of the lowpass filter should be set equalto L. The goal of this problem is to develop an understanding of thispoint.

(a) Consider the block diagram shown in Figure 5.46. Here, thefirst two blocks generate an L-fold interpolated version of x[n].Let H(z) be a zero-phase Nyquist (L) filter designed such thatit cancels all the images of X(ej2πf ) which appear as a resultof the L-fold expander block. By choosing x[n] = prc(nTb/2)with the roll-off factor α = 0.5, L = 3, and presenting plots ofX(ej2πf ) and Xe(ej2πf ), suggest a possible magnitude responsefor H(ej2πf ). Also, recall the Nyquist criterion (4.92) and fromthere find the passband gain of H(ej2πf ) such that y[n] = x[n].

(b) Develop a MATLAB program to confirm the above results. Note

Page 50: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

148 Multirate Signal Processing Chap. 5

that for the Nyquist filter you can choose a raised-cosine filterwith proper parameters. Do so in the MATLAB program thatyou develop.

xef [n]x [n] xe[n] y [n]↑ L ↓ LH (z )

Figure 5.46: Cascade of an interpolator and a decimator.

3. Consider the sampled raised-cosine pulse prc,1[n] = prc(nTb/2) withthe roll-off factor α = 0.5.

(a) Present a plot of Prc,1(ej2πf ) in the interval −0.5 < f < 0.5.

(b) Let prc,1[n] pass through an 8-fold expander. Call the outputof the expander prc,2[n]. Present a plot of Prc,2(ej2πf ) in theinterval −0.5 < f < 0.5.

(c) You should have found that Prc,2(ej2πf ) has a multiband spec-trum. Design a bandpass filter that picks the bands around thefrequencies ±0.375, let prc,2[n] pass through this filter, and callits output g[n]. Give a mathematical expression for g[n].

(d) Develop a MATLAB program to confirm the accuracy of youranswer to Part (c).

4. Recall from Section 5.3 that an L-fold expander and an M -fold deci-mator are commutable only when L and M are prime with respect toeach others. In Section 5.3, the correctness of the rule was shown forthe case where L = 2 and M = 3. Through an example, show thatthe same is true for the following cases:

(a) L = 3, M = 2.

(b) L = 3, M = 4.

5. Show that an L-fold expander and an M -fold decimator are not com-mutable when

(a) L = 2, M = 4.

(b) L = 4, M = 2.

6. In Section 5.3, we showed that for an L-fold expander and an M -folddecimator to be commutable, the sets {e−j2πk/M , k = 0, 1, · · · , M−1}and {e−j2πkL/M , k = 0, 1, · · · , M − 1} must be the same. Comparethe two sets for the following cases and from there conclude that inwhich cases the commutative rule is applicable and for which onesnot.

Page 51: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Problems 149

(a) L = 3, M = 2.

(b) L = 3, M = 4.

(c) L = 2, M = 4.

7. Verify the commutative rules shown in Figure 5.17.

8. Find type 1 and type 2 polyphase representations of H(z) =∑12n=0(n + 1)z−n with respect to the parameter M = 4.

9. Repeat Problem 8 when H(z) =∑7

n=−7 0.5|n|z−n and M = 3.

10. Repeat Problem 8 when

(a) H(z) = 11−0.7z−1 .

(b) H(z) = z−1

1−0.7z−1 .

(c) H(z) = z−1

(1−0.3z−1)(1−0.5z−1) .

Note: For case (c), you may start with using partial fractions toseparate H(z) to two first order terms.

11. The samples of a raised-cosine pulse prc(t) (equation (3.9)), with theroll-off factor α = 0.5, for t = −5Tb to 5Tb at the spacing of Tb/3 areavailable. Using these samples and a 2/3-fold resampling structuresimilar to Figure 5.10 we wish to obtain samples of prc(t) at thespacing of Tb/2. Design the required lowpass filter and confirm yourdesign through a MATLAB program. Use a lowpass filter of orderN = 50.

12. Repeat Problem 11 when the available samples are at the spacingTb/2 and we wish to obtain the samples at the spacing Tb/3.

13. Let the lowpass filter that you designed in Problem 11 be H(z) =∑18k=0 h[k]z−k. Note that here, for simplicity, the order of H(z) is

reduced from 50 to 18. Also, let the polyphase structure of Figure 5.25be used for efficient implementation of the resampler.

(a) Identify the polyphase components E0(z), E1(z) and E2(z).

(b) Simplify the structure of Figure 5.25 further by replacing the2-fold expanders and the following filters (the polyphase compo-nents) by proper interpolation polyphase structures.

(c) Discuss the advantages that the structure developed in Part (b)offers when the resampler has to run at a very high speed.

Page 52: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

150 Multirate Signal Processing Chap. 5

14. Recall the development and discussion that led to Figure 5.25. Also,as discussed in Problem 13, above, the polyphase components E0(z),E1(z), · · · could be further divided into smaller polyphase compo-nents.Now, consider an L/M resampler with L = 3 and M = 2. For thiscase, starting with the structure shown in Figure 5.23 and followingsimilar steps to those in Figure 5.25, develop a polyphase structurein which R0(z), R1(z), · · · are further divided into more polyphasecomponents. Discuss the advantages that this structure offers whenthe resampler has to run at a very high speed.

15. It is desired to design a lowpass filter with band edges f1 = 0.04 andf2 = 0.042 and the passband and stopband ripples δ1 = 0.001 andδ2 = 0.0001.

(a) Using Kaiser’s formula, find the order of the desired filter, if adirect design is to be used.

(b) Examine various choices of the interpolation factor M , from 2to 12, and from them choose the one that leads to a design withthe minimum complexity.

(c) Find the filter coefficients (using firpm of MATLAB) and presentthe plots of the magnitude responses of G(z), I(z) and H(z) =G(zM )I(z) for the minimum complexity design that you ob-tained in Part (b).

16. Consider the filter specification in Problem 15.

(a) For M = 3, give the design specification of the model filter G(z).Also, find the order of the interpolation filter I(z) in this case.

(b) Starting with the design specification for G(z) obtained in Part(a), explore the possibility of using an IFIR design for G(z) andfind the minimum complexity design for this case. Your com-plexity calculation should include the I(z) of Part (a). Compareyour results here with those in Problem 15.

17. Consider Example 5.3, where we studied the complexity of a 100-fold interpolator with parameters L1 = 2 and L2 = 50. Repeat theexample for the case where L1 = 4 and L2 = 25. Compare thecomputational complexity of this design with the one in Example 5.3.

18. Following the multistage structure shown in Figure 5.30, we wish todesign a decimator with the decimation factor M = 10. The an-tialiasing filter H(z) has to be designed according to the followingspecifications: δ1 = δ2 = 0.001, f1 = 0.03, f2 = 0.04. By examiningall possible choices of M1 and M2, determine the best combination

Page 53: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

Problems 151

of M1 and M2 that results in an implementation with the least com-plexity. Measure the complexity by counting the number of additionsand multiplications required for each sample of the input, x[n].

19. For the best design obtained in Problem 18, present the details of thesystem structure based on polyphase components and commutators.Assuming that the rate of signal samples at the input is fs, at eachstage of the presented structure indicate the rate of signal samples.

20. For a CIC interpolator with the following parameters examine thenumber of delay units in the system and the total number of addi-tion/subtraction operations per output sample:

(a) L = 50, K = 1, N = 4;

(b) L = 50, K = 2, N = 4;

(c) L = 50, K = 4, N = 4;

21. For a CIC decimator with the following parameters examine thenumber of delay units in the system and the total number of ad-dition/subtraction operations per output sample:

(a) M = 50, K = 1, N = 4;

(b) M = 50, K = 2, N = 4;

(c) M = 50, K = 4, N = 4;

Compare the results here with those in Problem 20.

22. Develop a MATLAB program that begins with the following lines:

L0=5;alpha=0.5;

x=r cos p(10*L0,L0,alpha);

These generate a band limited (raised-cosine) pulse. Take x as inputx[n] to the CIC structure of Figure 5.33 and complete the program togenerate the output y[n]. Examine y[n] and compare it with an exactraised-cosine pulse, sampled at the same rate as y[n]. Also, recall thatCIC structure has large passband gain that should be compensatedfor before making the comparisons. Moreover, for the purpose ofcomparisons, you should time align y[n] and the exact pulse. Presentand comment on the results for the following parameters:

(a) K = 2, L = 3, N = 4.

(b) K = 2, L = 5, N = 4.

(c) K = 2, L = 10, N = 4.

(d) K = 1, L = 3, N = 4.

(e) K = 1, L = 5, N = 4.

Page 54: Multirate Signal Processing - University of Isfahanengold.ui.ac.ir/~sabahi/Advanced digital communication/Ch 5.pdf · rate-conversion. Through interconnection of decimators/expanders

152 Multirate Signal Processing Chap. 5

(f) K = 1, L = 10, N = 4.(g) K = 2, L = 5, N = 2.(h) K = 1, L = 5, N = 2.

In order to better understand and to provide more in depth com-ments, you may also examine and compare the spectra of y[n] andthe exact pulse. Try to relate your observations with the expected dis-tortion caused by the CIC structure (see Figure 5.32 and the relevantdiscussions in the text).

23. Consider the QAM modulator shown in Figure 5.39. We wish to im-plement the analog up-conversion block of this figure digitally, usingthe structure shown in Figure 5.47. In this structure the L2-fold ex-pander and the attached filter increase the IF signal rate from fs,IF

to fs,RF = L2fs,IF. The rule of filter G(z) is to remove a signal imagethat appears in x′RF[n] around fc−2fIF. Let xIF[n] be a narrow bandsignal at fIF = fs,IF/4 Hz, with a bandwidth B = fs,IF/10. Also, letL2 = 100.

(a) Using the Kaiser’s formula, find the orders of H(z) and G(z).For the designs assume the following ripple parameters δ1 = δ2 =0.001.

(b) Evaluate the number of multiplications and additions that isrequired for computation of each sample of the output xRF[n].For this study, assume that the values of cos(2π(fc−fIF)nTs,RF)are pre-stored in a table and thus they are obtained without anynumerical operation.

↑ L2 H(z)xIF[n] xIF,e[n] x′IF,e[n] xRF[n]x′

RF[n]G(z)⊗

cos(2π(fc − fIF)nTs,RF)

Figure 5.47: Direct digital implementation of up-conversion block of Fig-ure 5.39

24. This problem studies the computational complexity of the modulatorstructure shown in Figure 5.41 and compares the result with thatobtained in Problem 23. We note that the digital upconversion to RFblock in Figure 5.41, has the same structure as the first two blocks(↑ L2 and H(z)) in Figure 5.47. Noting this, evaluate the numberof multiplications and additions that is required for computation ofeach sample of the output xRF[n] and compare the results with thosein Part (b) of Problem 23.