Digital Filter Banks - The Signal and Image Processing Sip Laboratory

advertisement
Digital Filter Banks
• The digital filter bank is set of bandpass
filters with either a common input or a
summed output
• An M-band analysis filter bank is shown
below
1
Copyright © 2001, S. K. Mitra
Digital Filter Banks
• The subfilters H k (z ) in the analysis filter
bank are known as analysis filters
• The analysis filter bank is used to
decompose the input signal x[n] into a set of
subband signals vk [n] with each subband
signal occupying a portion of the original
frequency band
2
Copyright © 2001, S. K. Mitra
Digital Filter Banks
• An L-band synthesis filter bank is shown
below
• It performs the dual operation to that of the
analysis filter bank
3
Copyright © 2001, S. K. Mitra
Digital Filter Banks
• The subfilters Fk (z ) in the synthesis filter
bank are known as synthesis filters
• The synthesis filter bank is used to combine
a set of subband signals v^k [n] (typically
belonging to contiguous frequency bands)
into one signal y[n] at its output
4
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• A simple technique to design a class of
filter banks with equal passband widths is
outlined next
• Let H 0 ( z ) represent a causal lowpass digital
filter with a real impulse response h0[n] :
∞
H 0 ( z ) = ∑n = −∞ h0[n]z − n
• The filter H 0 ( z ) is assumed to be an IIR
filter without any loss of generality
5
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• Assume that H 0 ( z ) has its passband edge ωp
and stopband edge ωs around π/M, where M
is some arbitrary integer, as indicated below
0
ωp π
6
ωs
π
2π
ω
M
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• Now, consider the transfer function H k (z )
whose impulse response hk [n] is given by
hk [n] = h0[n] e j 2 πk n/ M = h0[n]WM− kn ,
0 ≤ k ≤ M −1
where we have used the notation WM = e − j 2π / M
• Thus,
−n
∞
∞
k
−
n
H k ( z ) = ∑n = −∞ hk [n]z = ∑n = −∞ h 0[n] zWM ,
(
7
)
0 ≤ k ≤ M −1
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• i.e.,
H k ( z ) = H 0 ( zWMk ), 0 ≤ k ≤ M − 1
• The corresponding frequency response is
given by
H k (e jω ) = H 0 (e j (ω− 2 π k /M ) ), 0 ≤ k ≤ M − 1
• Thus, the frequency response of H k ( z ) is
obtained by shifting the response of H 0 ( z )
to the right by an amount 2πk/M
8
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• The responses of H k ( z ) , H k ( z ) , . . . , H k ( z )
are shown below
9
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• Note: The impulse responses hk [n] are, in
general complex, and hence | H k (e jω )| does
not necessarily exhibit symmetry with
respect to ω = 0
• The responses shown in the figure of the
previous slide can be seen to be uniformly
shifted version of the response of the basic
prototype filter H 0 ( z )
10
Copyright © 2001, S. K. Mitra
Uniform Digital Filter Banks
• The M filters defined by
H k ( z ) = H 0 ( zWMk ), 0 ≤ k ≤ M − 1
could be used as the analysis filters in the
analysis filter bank or as the synthesis filters
in the synthesis filter bank
• Since the magnitude responses of all M
filters are uniformly shifted version of that
of the prototype filter, the filter bank
obtained is called a uniform filter bank
11
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
Polyphase Implementation
• Let the prototype lowpass transfer function
be represented in its M-band polyphase
form:
M −1 −l
H 0 ( z ) = ∑l =0 z El ( z M )
where El ( z ) is the l-th polyphase
component of H 0 ( z ):
El ( z ) = ∑
12
∞
−n
e
[
n
]
z
n =0 l
=∑
∞
−n
h
[
l
+
nM
]
z
,
n =0 0
0 ≤ l ≤ M −1
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• Substituting z with zWMk in the expression
for H 0 ( z ) we arrive at the M-band polyphase
decomposition of H k ( z ):
M −1 −l − kl
M kM
z
W
E
(
z
WM )
M
l
l =0
M −1 −l − kl
M
z
W
E
(
z
), 0 ≤ k
M
l
l =0
H k ( z) = ∑
=∑
13
≤ M −1
• In deriving the last expression we have used
the identity WMkM = 1
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• The equation on the previous slide can be
written in matrix form as
H k ( z ) = [1
−k
WM
−2 k
WM
E0 ( z M )


 z −1E ( z M ) 
.... WM−( M −1) k ]  −2 1 M 
z E2 ( z )


..
.


−( M −1)
EM −1 ( z M ) 
 z
0≤ k ≤ M − 1
14
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• All M equations on the previous slide can
be combined into one matrix equation as
M
E
(
z
)

0

1
1
1 ...
1
 H0 ( z)  
−1
M
−1
−2
−( M −1)  
...
1
W
W
W
(
)
z
E
z
 H ( z)  
M
M
M
1

−4
− 2 ( M −1)  
 H 1 ( z )  = 1 W − 2
−2
M
...
W
W
M
M
z
E
(
z
)
2
M
2
 .
 .
.
.
.


..
.. .. ...
..
 ..
 ..

.
 H M −1 ( z )  
−( M −1)
− 2 ( M −1)...
−( M −1) 2  
1 WM
WM
WM





M
  z −( M −1) E
(
z
)

M −1
−1
MD
• In the above D is the M × M DFT matrix
15
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• An efficient implementation of the M-band
uniform analysis filter bank, more
commonly known as the uniform DFT
analysis filter bank, is then as shown below
16
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• The computational complexity of an M-band
uniform DFT filter bank is much smaller than
that of a direct implementation as shown
below
17
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• For example, an M-band uniform DFT
analysis filter bank based on an N-tap
prototype lowpass filter requires a total of
M log M + N multipliers
2
2
• On the other hand, a direct implementation
requires NM multipliers
18
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
• Following a similar development, we can
derive the structure for a uniform DFT
synthesis filter bank as shown below
19
Type I uniform DFT
synthesis filter bank
Type II uniform DFT
synthesis filter bank
Copyright © 2001, S. K. Mitra
Uniform DFT Filter Banks
M
• Now Ei ( z ) can be expressed in terms of
E0 ( z M )


H 0( z ) 

 z −1E ( z M ) 
H 1( z ) 

1
 = 1 D H2 ( z)

−2
M
z E2 ( z )
 .

M


..
..


.


H M −1 ( z )

−( M −1)
M
EM −1 ( z )
 z
• The above equation can be used to
determine the polyphase components of an
IIR transfer function H 0 ( z )
20
Copyright © 2001, S. K. Mitra
Nyquist Filtrs
• Under certain conditions, a lowpass filter
can be designed to have a number of zerovalued coefficients
• When used as interpolation filters these
filters preserve the nonzero samples of the
up-sampler output at the interpolator output
• Moreover, due to the presence of these
zero-valued coefficients, these filters are
computationally more efficient than other
lowpass filters of same order
21
Copyright © 2001, S. K. Mitra
Lth-Band Filters
• These filters, called the Nyquist filters or
Lth-band filters, are often used in single-rate
and multi-rate signal processing
• Consider the factor-of-L interpolator shown
below
x[n ]
L
xu [n]
H (z)
y[n ]
• The input-output relation of the interpolator
in the z-domain is given by
Y ( z) = H ( z) X ( z L )
22
Copyright © 2001, S. K. Mitra
Lth-Band Filters
• If H(z) is realized in the L-band polyphase
form, then we have
L −1 −i
H ( z ) = ∑i =0 z Ei ( z L )
• Assume that the k-th polyphase component
of H(z) is a constant, i.e., Ek ( z ) = α:
H ( z ) = E0 ( z L ) + z −1E1 ( z L ) + ... + z −( k −1) Ek −1 ( z L )
+ z −( k +1) Ek +1 ( z L ) + ... + z −( L −1) EL −1 ( z L )
23
Copyright © 2001, S. K. Mitra
Lth-Band Filters
• Then we can express Y(z) as
Y ( z ) = α z −k X ( z L ) +
• As a result,
L −1
−l E ( z L ) X ( z L )
z
∑
l
l =0
l≠k
y[ Ln + k ] = α x[ n]
• Thus, the input samples appear at the output
without any distortion for all values of n,
whereas, in-between ( L − 1) output samples
are determined by interpolation
24
Copyright © 2001, S. K. Mitra
Lth-Band Filters
25
• A filter with the above property is called a
Nyquist filter or an Lth-band filter
• Its impulse response has many zero-valued
samples, making it computationally
attractive
• For example, the impulse response of an
Lth-band filter for k = 0 satisfies the
following condition
α,
n=0

h[Ln] = 
 0, otherwise Copyright © 2001, S. K. Mitra
Lth-Band Filters
• Figure below shows a typical impulse
response of a third-band filter (L = 3)
• Lth-band filters can be either FIR or IIR
filters
26
Copyright © 2001, S. K. Mitra
Lth-Band Filters
• If the 0-th polyphase component of H(z) is a
constant, i.e., E0 ( z ) = α then it can be shown
that
L −1
k ) = Lα = 1 (assuming α = 1/L)
H
(
zW
∑ k =0
L
• Since the frequency response of H ( zWLk ) is
the shifted version H (e j (ω− 2 πk / L ) ) of H (e jω) ,
the sum of all of these L uniformly shifted
versions of H (e jω) add up to a constant
27
Copyright © 2001, S. K. Mitra
Half-Band Filters
• An Lth-band filter for L = 2 is called a halfband filter
• The transfer function of a half-band filter is
thus given by
H ( z ) = α + z −1E1 ( z 2 )
with its impulse response satisfying
α,
n=0

h[2n] = 
 0, otherwise
28
Copyright © 2001, S. K. Mitra
Half-Band Filters
• The condition
H ( z ) = α + z −1E1 ( z 2 )
reduces to
H ( z ) + H (− z ) = 1 (assuming α = 0.5)
• If H(z) has real coefficients, then
H (−e jω ) = H (e j ( π−ω) )
• Hence
29
H (e jω ) + H (e j ( π−ω) ) = 1
Copyright © 2001, S. K. Mitra
Half-Band Filters
H (e j ( π / 2−θ) ) and H (e j ( π / 2+ θ) ) add up
to 1 for all θ
• Or, in other words, H (e jω) exhibits a
symmetry with respect to the half-band
frequency π/2, hence the name “half-band
filter”
•
30
Copyright © 2001, S. K. Mitra
Half-Band Filters
• Figure below illustrates this symmetry for a
half-band lowpass filter for which passband
and stopband ripples are equal, i.e., δ p = δs
and passband and stopband edges are
symmetric with respect to π/2, i.e., ω p + ωs = π
31
Copyright © 2001, S. K. Mitra
Half-Band Filters
• Attractive property: About 50% of the
coefficients of h[n] are zero
• This reduces the number of multiplications
required in its implementation significantly
• For example, if N = 101, an arbitrary Type 1
FIR transfer function requires about 50
multipliers, whereas, a Type 1 half-band
filter requires only about 25 multipliers
32
Copyright © 2001, S. K. Mitra
Half-Band Filters
• An FIR half-band filter can be designed
with linear phase
• However, there is a constraint on its length
• Consider a zero-phase half-band FIR filter
for which h[n] = α * h[− n] , with | α | = 1
• Let the highest nonzero coefficient be h[R]
33
Copyright © 2001, S. K. Mitra
Half-Band Filters
• Then R is odd as a result of the condition
α,
n=0

h[2n] = 
 0, otherwise
• Therefore R = 2K+1 for some integer K
• Thus the length of h[n] is restricted to be of
the form 2R+1 = 4K+3 [unless H(z) is a
constant]
34
Copyright © 2001, S. K. Mitra
Design of Linear-Phase
Lth-Band Filters
35
• A lowpass linear-phase Lth-band FIR filter
can be readily designed via the windowed
Fourier series approach
• In this approach, the impulse response
coefficients of the lowpass filter are chosen
as h[n] = hLP [n] ⋅ w[n] where hLP [n] is the
impulse response of an ideal lowpass filter
with a cutoff at π/L and w[n] is a suitable
window function
Copyright © 2001, S. K. Mitra
Design of Linear-Phase
Lth-Band Filters
• Now, the impulse response of an ideal Lthband lowpass filter with a cutoff at ωc = π / L
is given by
sin( πn / L)
hLP [n] =
, −∞ ≤ n ≤∞
πn
• It can be seen from the above that
hLP [n] = 0 for n = ± L, ± 2 L, ...
36
Copyright © 2001, S. K. Mitra
Design of Linear-Phase
Lth-Band Filters
• Hence, the coefficient condition of the Lthband filter
α,
n=0

h[Ln] = 
 0, otherwise
37
is indeed satisfied
• Hence, an Lth-band FIR filter can be
designed by applying a suitable window
w[n] to hLP [n]
Copyright © 2001, S. K. Mitra
Design of Linear-Phase
Lth-Band Filters
• There are many other candidates for Lthband FIR filters
• Program 10_8 can be used to design an Lthband FIR filter using the windowed Fourier
series approach
• The program employs the Hamming
window
• However, other windows can also be used
38
Copyright © 2001, S. K. Mitra
Design of Linear-Phase
Lth-Band Filters
• Figure below shows the gain response of a
half-band filter of length-23 designed using
Program 10_8
0
Gain, dB
-20
-40
-60
-80
0
0.2
0.4
0.6
0.8
1
ω/π
39
Copyright © 2001, S. K. Mitra
Design of Linear-Phase
Lth-Band Filters
• The filter coefficients are given by
h[ −11] = h[11] = − 0.002315; h[ −10] = h[10] = 0;
h[ −9] = h[9] = 0.005412; h[ −8] = h[8] = 0;
h[ −7 ] = h[ 7 ] = − 0.001586; h[ −6] = h[ 6] = 0;
h[ −5] = h[5] = 0.003584; h[ −4] = h[ 4] = 0;
h[ −3] = h[3] = − 0.089258; h[ −2] = h[ 2] = 0;
h[ −1] = h[1] = 0.3122379; h[ 0] = 0.5;
40
• As expected, h[n] = 0 for
n = ± 2, ± 4, ± 6, ± 8, ±10
Copyright © 2001, S. K. Mitra
Download