02.10.2019 Views

UploadFile_6417

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

286 Chapter 6 IMPLEMENTATION OF DISCRETE-TIME FILTERS<br />

Now, if each coefficient is quantized to B fraction bits (i.e., total register<br />

length is B + 1), then,<br />

Therefore,<br />

|∆h(n)| ≤ 1 2 2−B<br />

|∆H(e jω )|≤ 1 2 2−B M = M 2 2−B (6.81)<br />

Thus, the change in frequency response depends not only on the number<br />

of bits used but also on the length M of the filter. For large M and small<br />

b, this difference can be significant and can destroy the desirable behavior<br />

of the filter, as we see in the following example.<br />

□ EXAMPLE 6.29 An order-30 lowpass FIR filter is designed using the firpm function. This and<br />

other FIR filter design functions will be discussed in Chapter 7. The resulting<br />

filter coefficients are symmetric and are shown in Table 6.2. We will consider<br />

these coefficients as essentially unquantized. The coefficients are quantized to<br />

16 bits (15 fractional plus 1 sign bit) and to 8 bits (7 fractional and 1 sign bit).<br />

The resulting filter frequency responses and pole-zero plots are determined and<br />

compared. These and other relevant steps are shown in the following MATLAB<br />

script.<br />

TABLE 6.2 Unquantized FIR filter coefficients used in<br />

Example 6.29<br />

k b k k<br />

0 0.000199512328641 30<br />

1 −0.002708453461401 29<br />

2 −0.002400461099957 28<br />

3 0.003546543555809 27<br />

4 0.008266607456720 26<br />

5 0.000012109690648 25<br />

6 −0.015608300819736 24<br />

7 −0.012905580320708 23<br />

8 0.017047710292001 22<br />

9 0.036435951059014 21<br />

10 0.000019292305776 20<br />

11 −0.065652005307521 19<br />

12 −0.057621325403582 18<br />

13 0.090301607282890 17<br />

14 0.300096964940136 16<br />

15 0.400022084144842 15<br />

% The following function computes the filter<br />

% coefficients given in Table 6.2.<br />

b = firpm(30,[0,0.3,0.5,1],[1,1,0,0]);<br />

w = [0:500]*pi/500; H = freqz(b,1,w); magH = abs(H);<br />

Copyright 2010 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).<br />

Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!