 709 pág.

# Lyons, Richard G - Understanding Digital Signal Processing

DisciplinaProcessamento Digital de Sinais1.104 materiais4.190 seguidores
Pré-visualização50 páginas
```the
windowed filter coefficients h(k); (b) low-ripple 31-tap frequency response; (c) low-ripple 63-tap frequency
response.
This situation is depicted for N = 31 in Figure 5-23(a), where Eq. (5-15)\u2019s w(k) looks very much like the
Hanning window function in Figure 3-17(a). This Blackman window function results in the 31 smoothly
tapered h(k) coefficients at the bottom of Figure 5-23(a). Notice two things about the resulting H(m) in Figure 5
-23(b). First, the good news. The passband ripples are greatly reduced from those evident in Figure 5-22(a)\u2014so
our Blackman window function did its job. Second, the price we paid for reduced passband ripple is a wider H
(m) transition region. We can get a steeper filter response roll-off by increasing the number of taps in our FIR
filter. Figure 5-23(c) shows the improved frequency response had we used a 63-coefficient Blackman window
function for a 63-tap FIR filter. So using a nonrectangular window function reduces passband ripple at the
expense of slower passband to stopband roll-off.
A graphical comparison of the frequency responses for the rectangular and Blackman windows is provided in
Figure 5-24. (The curves in Figure 5-24 were obtained for the window functions defined by 16 discrete
samples, to which 496 zeros were appended, applied to a 512-point DFT.) The sidelobe magnitudes of the
Blackman window\u2019s |W(m)| are too small to see on a linear scale. We can see those sidelobe details by plotting
the two windows\u2019 frequency responses on a logarithmic scale and normalizing each plot so that their main lobe
peak values are both zero dB. For a given window function, we can get the log magnitude response of WdB(m)
by using the expression
(5-16)
Figure 5-24 Rectangular versus Blackman window frequency magnitude responses: (a) |W(m)| on a linear
scale; (b) normalized logarithmic scale of WdB(m).
(The |W(0)| term in
Eq. (5-16) is the magnitude of W(m) at the peak of the main lobe when m = 0.) Figure 5-24(b) shows us the
greatly reduced sidelobe levels of the Blackman window and how that window\u2019s main lobe is almost three
times as wide as the rectangular window\u2019s main lobe.
Of course, we could have used any of the other window functions, discussed in Section 3.9, for our lowpass
FIR filter. That\u2019s why this FIR filter design technique is called the window design method. We pick a window
function and multiply it by the sin(x)/x values from H\u221e(m) in Figure 5-23(a) to get our final h(k) filter
coefficients. It\u2019s that simple. Before we leave the window method of FIR filter design, let\u2019s introduce two other
interesting window functions.
Although the Blackman window and those windows discussed in Section 3.9 are useful in FIR filter design, we
have little control over their frequency responses; that is, our only option is to select some window function and
accept its corresponding frequency response. Wouldn\u2019t it be nice to have more flexibility in trading off, or
striking a compromise between, a window\u2019s main lobe width and sidelobe levels? Fortunately, there are two
popular window functions that give us this opportunity. Called the Chebyshev (or Dolph-Chebyshev) and the
Kaiser window functions, they\u2019re defined by the following formidable expressions:
(5-17)
(5-18)
Two typical Chebyshev and Kaiser window functions and their frequency magnitude responses are shown in
Figure 5-25. For comparison, the rectangular and Blackman window functions are also shown in that figure.
(Again, the curves in Figure 5-25(b) were obtained for window functions defined by 32 discrete time samples,
with 480 zeros appended, applied to a 512-point DFT.)
Figure 5-25 Typical window functions used with digital filters: (a) window coefficients in the time domain; (b)
frequency-domain magnitude responses in dB.
Equation (5-17) was originally based on the analysis of antenna arrays using the mathematics of Chebyshev
polynomials[9\u201311]. Equation (5-18) evolved from Kaiser\u2019s approximation of prolate spheroid functions using
zeroth-order Bessel functions[12\u201313]. For each sample of the N-length sequence inside the brackets of the
numerator of Eq. (5-18), as well as for the \u3b2 term in the denominator, the Io(x) zeroth-order Bessel function
values can be approximated using
(5-18\u2032)
In theory the upper limit of the summation in
Eq. (5-18\u2032) should be infinity but, fortunately, 25 summations give us sufficient accuracy when evaluating Io(x).
Don\u2019t be intimidated by the complexity of Eqs. (5-17) and (5-18)\u2014at this point, we need not be concerned with
the mathematical details of their development. We just need to realize that the \u3b3 and \u3b2 control parameters give
us control over the Chebyshev and Kaiser windows\u2019 main lobe widths and the sidelobe levels.
Let\u2019s see how this works for Chebyshev window functions, having four separate values of \u3b3, and their
frequency responses shown in Figure 5-26. FIR filter designers applying the window method typically use
predefined software routines to obtain their Chebyshev window coefficients. Commercial digital signal
processing software packages allow the user to specify three things: the window function (Chebyshev in this
case), the desired number of coefficients (the number of taps in the FIR filter), and the value of \u3b3. Selecting
different values for \u3b3 enables us to adjust the sidelobe levels and see what effect those values have on main lobe
width, a capability that we didn\u2019t have with the Blackman window or the window functions discussed in
Section 3.9. The Chebyshev window function\u2019s stopband attenuation, in dB, is equal to
(5-19)
Figure 5-26 Chebyshev window functions for various \u3b3 values: (a) window coefficients in the time domain; (b)
frequency-domain magnitude responses in dB.
So, for example, if we needed our sidelobe levels to be no greater than \u221260 dB below the main lobe, we use
Eq. (5-19) to establish a \u3b3 value of 3.0 and let the software generate the Chebyshev window coefficients.\u2020
\u2020 By the way, some digital signal processing software packages require that we specify AttenCheb in decibels instead of \u3b3. That way,
we don\u2019t have to bother using Eq. (5-19) at all.
The same process applies to the Kaiser window, as shown in Figure 5-27. Commercial software packages allow
us to specify \u3b2 in Eq. (5-18) and provide us with the associated window coefficients. The curves in Figure 5-27
(b), obtained for Kaiser window functions defined by 32 discrete samples, show that we can select the desired
sidelobe levels and see what effect this has on the main lobe width.
Figure 5-27 Kaiser window functions for various \u3b2 values: (a) window coefficients in the time domain; (b)
frequency-domain magnitude responses in dB.
Chebyshev or Kaiser, which is the best window to use? It depends on the application. Returning to
Figure 5-25(b), notice that, unlike the constant sidelobe peak levels of the Chebyshev window, the Kaiser
window\u2019s sidelobes decrease with increased frequency. However, the Kaiser sidelobes are higher than the
Chebyshev window\u2019s sidelobes near the main lobe. Our primary trade-off here is trying to reduce the sidelobe
levels without broadening the main lobe too much. Digital filter designers typically experiment with various
values of \u3b3 and \u3b2 for the Chebyshev and Kaiser windows to get the optimum WdB(m) for a particular
application. (For that matter, the Blackman window\u2019s very low sidelobe levels outweigh its wide main lobe in
many applications.) For some reason, algorithms for computing Chebyshev window functions are not readily
available in the literature of DSP. To remedy that situation, Appendix I presents a straightforward procedure for
computing N-sample Chebyshev window sequences.
To conclude this section, remember that different window functions have their own individual advantages and
disadvantages for FIR filter design. Regardless of the non-rectangular window function```
Ótimo!
0 aprovações
Carregar mais