Filter Bank
Filter Bank
Processing Unit
v1(n) w1(n)
• During the last two decades, filter banks have found various H1(z) 4 4 F1(z) y(n)
applications in many areas, such as speech coding, scram- x(n)
v2(n) w2(n) +
bling, image compression, adaptive signal processing, and H2(z) 4 4 F2(z)
transmission of several signals through the same channel. v3(n) w3(n)
H3(z) 4 4 F3(z)
• The main idea of using filter banks is the ability of the sys-
tem to separate in the frequency domain the signal under
consideration into two or more signals or to compose two or Analysis bank Synthesis bank
more different signals into a single signal.
• When splitting the signal into two or more signals an analy- 1
H0(z ) H1(z ) H2(z ) H3(z )
sis-synthesis system is used, as shown on the next page in F0(z )/4 F1(z )/4 F2(z )/4 F3(z )/4
the case where, for simplicity, only 4 sub-signals are used.
• In the analysis bank, the signal is split with the aid of four
filters Hk(z) for k = 0,1, 2, 3 into 4 bands of the same band- fs/8 fs/4 3fs/8 fs/2
widths and each sub-signal is decimated by a factor of 4.
• When splitting the signal into various frequency bands, the
signal characteristics are different in each band and the vari-
ous numbers of bits can be used for coding of the sub-
signals in the processing unit.
• The processing unit corresponds to storing the signal into
the memory or transferring it through the channel.
• The main goal is to significantly reduce, with the aid of
proper coding schemes, the number of bits representing the
original signal for storing or transferring purposes.
3 4
Analysis-Synthesis Filter Bank • In the case of images, our eyes serve as “referees”, that is,
reduce the number of bits to represent the image to the limit
it is satisfactory to our eyes. No more bits are needed!
• The role of the filters in the synthesis part is to reconstruct • Depending on how many channels are used for the signal
the original signal. In the case of the figure of the previous separation, there are two groups of filter banks: multi-
page, this is performed in two steps. channel or M-channel filter banks (M > 2) and two-channel
• First, the 4 sub-signals at the output of the processing unit filter banks: M = 2.
are interpolated by a factor of 4 and filtered by 4 synthesis • In the first group, the signal is separated into M different
filters Fk(z) for k = 0,1, 2, 3 . channels and in the second group into two channels.
• Second, the outputs of these four filters are added. • We start with the two-channel case.
• The target is to design the overall system in such a manner • Using a tree-structure, two-channel filter banks can be used
that, despite of a significantly reduced number of bits for for building M-channel filter banks in the case where M is a
storing and transferring purposes, the reconstructed signal is power of two, as we shall see later on.
either the delayed version of the original signal or suffers
from a negligible lost of the information carried by the sub- • A more effective way of building M-channel filter banks is
signals. to first design a prototype filter in a proper manner. The fil-
ters in the analysis and synthesis banks are then generated
• There are two types of coding techniques, namely, lossy and with the aid of this prototype filter by using a cosine modu-
lossless codings. In the second case, it is possible to design lation or a modified DFT.
the overall system such that the output signal is simply a
delayed version of the input signal. • Two-channel filter banks are very useful in generating oc-
tave filter banks and discrete-time wavelet banks.
• The coding techniques are not at all considered in this
course. In the sequel, we concentrate on the case where the • In these cases, the overall signal is first split into two bands.
processing unit does not cause any errors for the sub-signals. After that, the lowpass filtered signal is split into two bands
and so on.
• In the case of audio or speech signals, the goal is to design
the overall system together with coding such that our ear is • In the case of discrete-time wavelet banks, the frequency
not able to notice the errors caused by reducing the number selectivity of the filters in the octave analysis-synthesis filter
of bits used for storing or transferring purposes. banks is not so important due to their different applications.
There are other properties that are more important, as will be
pointed out later on.
5 6
• When two or more different signals are composed into a Synthesis- Analysis Filter Bank, Transmultiplexer
single signal, then a synthesis-analysis system is used, as
shown on the next page for the case of 4 signals.
• This is also called a transmultiplexer. x0(n) y0(n)
4 F0(z) H0(z) 4
• In this system, all the 4 signals are interpolated by a factor of
4 and filtered by 4 synthesis filters Fk(z) for k = 0,1, 2, 3 . x1(n)
4 F1(z) H1(z) 4
y1(n)
• Then, the outputs are added to give a single signal with x2(n) + Channel
y2(n)
sampling rate being 4 times that of the input signals. 4 F2(z) H2(z) 4
7 8
Material about Filter and Wavelet Banks Multirate Filter Banks to be Considered
• H. S. Malvar, Signal processing with Lapped Transforms. • This part of the course is divided into the following sub-
Norwood: Artec House, 1992. parts:
• P. P. Vaidyanathan, Multirate Systems and Filter Banks. I. Part V.A: Two-Channel FIR Filter Banks
Englewood Cliffs, N.J.: Prentice Hall, 1993. II. Part V.B: Two-Channel IIR Filter Banks
• N. J. Fliege, Multirate Digital Signal Processing. Chicester: III. Part V.C: Tree-Structured Filter Banks
John Wiley and Sons, 1994.
IV. Part V.E: Discrete-Time Wavelet banks
• M. Vettereli and J. Kovacevic, Wavelets and Subband Cod- V. Part V.D: Octave Filter Banks
ing. Englewood Cliffs, N.J.: Prentice Hall, 1995.
• R. Bregoviü and T. Saramäki, “Two-channel FIR filter
VI. Part. V.F: Cosine-Modulated Filter Banks
banks – A tutorial review and new results,” in Proc. Second
Int. Workshop on Transforms and Filter Banks, Branden-
burg, Germany, March 1999.
9 10
Part V.A: Two-Channel FIR Filter Banks • The z-transforms of these components are given by
PROCESSING
v0[n] and v1[n] are Fs / 2 .
x[n] y[n]
UNIT
+ • The corresponding relations between the Fourier transforms
H1(z) ↓2 ↑2 F1(z) are obtained by using the substitution z = e j 2πf / Fs in Eq. (1)
and z = e j 2πf /( Fs / 2) in Eq. (2) as well as the identity −1 = e jπ.
x1[n] v1[n] w1[n] u1[n] y1[n]
( ) ( ) ( )
Figure 1. Two-channel filter bank
X k e j 2πf / Fs = H k e j 2πf / Fs X e j 2πf / Fs (3a)
1. Analysis bank and
• The analysis bank splits the input signal x[n] into lowpass (
Vk e j 2πf /( Fs / 2) = ) 12 [X k (e
j 2πf / Fs
(
) + X k e j 2π ( f + Fs / 2) / Fs . (3b) )]
and highpass filtered channel signals x0[n] and x1[n] using a
lowpass−highpass filter pair with transfer functions H0(z) • H0(z) and H1(z) usually have the same transition band region
and H1(z). with the band edges located around f = Fs / 4 at
• The z-transforms of these signals are expressible in terms of f = (1 − ρ1 ) Fs / 4 and f = (1 + ρ 2 ) Fs / 4 with ρ1 > 0 and
X(z), the z-transform of x[n], as ρ2 > 0, as shown in Figure 2(b).
X k ( z ) = H k ( z )X ( z ) for k = 0,1. (1)
• In order to give a pictorial viewpoint of what is happening in
the frequency domain, Figure 2(a) shows the Fourier trans-
• Then, the signals in both channels are down-sampled by a forms of an input signal x[n], whereas Figure 3 shows those
factor of two by picking up every second sample, resulting of the signals x0[n], x1[n], v0[n], and v1[n].
into two sub-band signal components v0[n] and v1[n].
11 12
Figure 2. (a) Fourier transform of an input signal x[n]. Figure 3. Magnitudes of the Fourier transforms of the
(b) Amplitude responses for H0(z)) and H1(z)). (c) Amplitude signals in the two-channel filter bank of Figure 1.
responses for F0(z)) and F1(z)).
Low-pass channel High-pass channel
|X0(ej2πf/Fs)| |X1(ej2πf/Fs)|
1 1 1
X(ej2πf/Fs) (a) (f)
(a)
Fs/4 Fs/2 3Fs/4 Fs Fs/4 Fs/2 3Fs/4 Fs
|V0(ej2πf/(2Fs))| |V1(ej2πf/(2Fs))|
|X0(ej2πf/Fs)| |X0(ej2π(f+Fs/2)/Fs)|
1/2 1/2
Fs/2 Fs |X1(ej2π(f+Fs/2)/Fs)|
(b) (g)
|X1(ej2πf/Fs)|
|H0(ej2πf/Fs)| |H1(ej2πf/Fs)| Fs/4 Fs/2 3Fs/4 Fs Fs/4 Fs/2 3Fs/4 Fs
1 |U0(ej2πf/Fs)| |U1(ej2πf/Fs)|
|X0(ej2πf/Fs)| |X0(ej2π(f+Fs/2)/Fs)|
1/2 1/2 |X1(ej2π(f+Fs/2)/Fs)|
(b) (c) (h) |X1(ej2πf/Fs)|
(d) (i)
|F0(ej2πf/Fs)| |F1(ej2πf/Fs)|
Fs/4 Fs/2 3Fs/4 Fs Fs/4 Fs/2 3Fs/4 Fs
2 |F0(ej2πf/Fs) X0(ej2π(f+Fs/2)/Fs)| |F1(ej2πf/Fs) X1(ej2π(f+Fs/2)/Fs)|
1 1
(c)
(e) (j)
15 16
3. Synthesis Bank • Here, xk[n] is the desired unaliased signal component with
the z-transform being Xk(z), whereas (−1)nxk[n] is the un-
• The role of the synthesis bank is to approximately recon- wanted aliased signal component with the z-transform being
struct in three steps the delayed version of the original signal Xk(−z).
from the signal components w0[n] and w1[n].
• The second step involves processing u0[n] and u1[n] by a
• First, these signals are up-sampled by a factor of two by in- lowpass−highpass filter pair with transfer functions F0(z)
serting zero-valued samples between the existing samples
and F1(z)
yielding two components u0[n] and u1[n] (see Figure 1).
• The third step is to add the filtered signals, denoted by y0[n]
• In the w0[n] ≡ v0[n] and w1[n] ≡ v1[n] case, the z- and Fourier
and y1[n] in Figure 1, to yield the overall output y[n]. The z-
transforms of these signals are expressible as
transform of y[n] is thus given by
( )
U k (z ) = V k z 2 =
1
2
[X k (z ) + X k (− z )] for k = 0, 1 (4a) Y (z ) = Y1 (z ) + Y2 (z ) (6a)
where for k = 0, 1
and
( ) ( )
U k e j 2πf / Fs = Vk e j 2πf / Fs ( )
Yk (z ) = Fk (z )V k z 2 =
1
2
[Fk (z )X k (z ) + Fk (z )X k (− z )] (6b)
= [X (e π )+ X (e π )]
1 (4b)
j 2 ( f + Fs / 2 ) / Fs
k
j 2 f / Fs
k for k = 0,1. • The corresponding Fourier transform is expressible as
2
• Simultaneously, the sampling rate is increased from Fs / 2 ( ) ( ) (
Y e j 2πf / Fs = Y0 e j 2πf / Fs + Y1 e j 2πf / Fs ) (7a)
to Fs as well as the baseband from [0, Fs / 4] to [0, Fs / 2]. where for k = 0, 1
• Therefore, u0[n] and u1[n] contain in their basebands
[0, Fs / 2], in addition to the frequency components of v0[n]
(
Yk e j 2πf / Fs =) 1
2
( ) (
Fk e j 2πf / Fs X k e j 2πf / Fs )
(7b)
and v1[n] in their basebands [0, Fs / 4], the components in
[Fs / 4, Fs / 2], as illustrated in Figures 3(c) and 3(h).
1
(
+ Fk e j 2πf / Fs
2
)X (e
k
j 2π ( f + Fs / 2 ) / Fs
).
• In the time domain, the relations between the uk[n]’s and
xk[n]’s are given by • The role of the synthesis filters with transfer functions F0(z)
and F1(z) is twofold.
u k [n] = x k [n] 2 + (− 1)n x k [n ] 2 for k = 0, 1. (5)
17 18
j 2πf / Fs
• First, it is desired that Y (e ) does not contain the Alias-Free Two-Channel FIR Filter Banks
( ) (
terms X 0 e j 2π ( f + Fs / 2) / Fs and X 1 e j 2π ( f + Fs / 2) / Fs . ) • Combining Eqs. (1) and (6) yields the following relation
• This is achieved if [see Figures 3(e) and 3(j)] between the z-transforms of the input and output signals of
( ) ( )
Figure 1:
F0 e j 2πf / Fs X 0 e j 2π ( f + Fs / 2) / Fs ≈
Y (z ) = T (z )X (z ) + A(z )X (− z )
( )X (e ).
(8a)
j 2πf / Fs j 2π ( f + Fs / 2) / Fs
− F1 e 1
where
• Second, y[n] is desired to be approximately a delayed ver- 1
sion of x[n], that is, y[n] ≈ x[n − K]. T (z ) = [H 0 ( z ) F0 ( z ) + H1 ( z ) F1 ( z )] (8b)
2
• This is achieved if [see Figures 3(d) and 3(i)] and
(
F0 e j 2πf / Fs
)X (e
0
j 2πf / Fs
)+ F (e 1 )X (e
j 2πf / Fs
1
j 2πf / Fs
)≈ A(z ) =
1
[H 0 (− z ) F0 ( z ) + H1 (− z ) F1 ( z )].
X (e ).
(8c)
− j 2πfK / Fs π j 2 f / Fs 2
e
• In the above equation, X(−z) is the z-transform the undesired
• In order to satisfy these requirements, the first condition is
aliased signal being related to the original input signal x[n]
that F0(z) and F1(z) generate a lowpass−highpass filter pair
in the time domain through (−1)n x[n] .
having the same transition band region with the band edges
at f = (1 − ρ 2 ) Fs / 4 and f = (1 + ρ 1 ) Fs / 4 , as shown in • In the sequel, we concentrate on designing filter banks
Figure 2(c). where this term is absent, that is, A(z) ≡ 0. The most straight-
forward way of achieved this is to select F0(z) and F1(z) as
• As shown in Figure 2(c), the main difference is that now,
follows:
because of interpolation, the amplitude responses should ap-
proximate two in the passbands. Furthermore, the edges F0 (z ) = 2 H1 (− z ) (9a)
have changed due to the fact F0(z) [F1(z)] is related to H1(z)
and
[H0(z)] in the manner to be seen later on.
• The exact simultaneous conditions for H0(z), H1(z), F0(z), F1 (z ) = −2 H 0 (− z ). (9b)
and F1(z) to satisfy the above-mentioned two conditions will • In this case, the input-output relation of Equation (8a) takes
be given next in the case where the filters are finite-impulse the following simplified form:
response (FIR) filters.
19 20
Y ( z ) = T ( z )X ( z ) (10a) 2h [n] for n even
f 0 [n] = 1 (12c)
where − 2h1[n] for n odd
T (z ) = H 0 ( z ) H1 (− z ) − H 0 (− z ) H1 ( z ) (10b) and
• The restrictions of Eq. (9) convert the overall problem to de- − 2h0 [n] for n even
f 1 [n] = (12d)
signing the analysis filter pair. 2h0 [n] for n odd.
• In the sequel, we concentrate on the banks where both H0(z)
and H1(z) are transfer functions of FIR filters, that is, they
are of the following forms:
N0
H 0 (z ) = ∑ h0 [n] z − n (11a)
n=0
and
N1
H1 ( z ) = ∑ h1[n]z − n . (11b)
n =0
and
N0
F1 (z ) = ∑ f1[n]z − n , (12b)
n=0
where
21 22
Perfect-Reconstruction (PR) Two-Channel FIR Filter • From Eqs. (14) and (15), it then follows that the impulse-
Banks response coefficients of T(z) satisfy
The necessary conditions for the Perfect-reconstruction (PR) 1 for n = K
t [n] = e[n] + eˆ[n] = (16)
property are given in the following theorem: 0 for n ≠ K ,
23 24
Figure 4. Impulse responses for E((z)), E((−z)), and T((z)) for Nearly Perfect-Reconstruction (NPR) Two-Channel
PR filter banks. (a) K = (N0+N1)/2. (b) K < (N0+N1)/2. FIR Filter Banks
• The frequency response between the input and output signal
Impulse response for E(z): K=11, L=22 Impulse response for E(z): K=7, L=22
for the alias-free banks is expressible as
impulse response
impulse response
0.5 0.5
0 0 ( )
T e jω = e − jKω Tˆ e jω ,( ) (18a)
−0.5 −0.5
0 5 10 15 20 0 5 10 15 20 where
n in samples n in samples
N 0 + N1
Impulse response for −E(−z) Impulse response for −E(−z)
( ) ∑
Tˆ e jω = t [n]e − j ( n − K )ω .
impulse response
impulse response
0.5 0.5
(18b)
0 0
n=0
−0.5 −0.5 • Here, t [n] = e[n] + eˆ[n] with the e[n]’s n = 0 , 1 ,···, N0 + N1
0 5 10 15 20 0 5 10 15 20
n in samples n in samples being the impulse-response coefficients of H0(z)H1(−z) and
Impulse response for T(z)=E(z)−E(−z) Impulse response for T(z)=E(z)−E(−z)
the ê[n]’s being related to the e[n]’s according to Eq. (15b).
impulse response
impulse response
1 1
0.5 0.5 ( )
• In the PR case, Tˆ e jω ≡ 1 so that there is no amplitude or
0 0
phase distortion. This is due to the fact that t [n] is nonzero
0 5 10
n in samples
15 20 0 5 10
n in samples
15 20
only at n = K achieving the value of unity.
• In the nearly perfect-reconstruction (NPR) case, the impulse-
response values t[n] differ slightly from zero for n ≠ K and
slightly from 1 for n = K so that there exists some amplitude
distortion and phase distortion.
• As will be seen later on, the phase distortion takes place
only for K < (N0+N1)/2. For K = (N0+N1)/2, t [2 K − n] = t [n]
( )
for n = 0 , 1 ,···, K − 1, making T̂ e jω a real-valued function.
• As a matter of fact, T(z) as given by Equation (15a) becomes
in this case a transfer function of a linear-phase filter of or-
25 26
der 2K and T̂ (e jω ) is the zero-phase frequency response of Primary Transfer Functions under Consideration
this filter.
• In order to simply the synthesis of two-channel FIR filter
• In the above, the substitution z = e jω , instead of banks, we concentrate on designing the following transfer
z = e j 2πf / Fs , is used for simplicity to express the frequency functions:
response in terms of the angular frequency ω = 2πf / Fs . N0 N0
• In the sequel, in order to simplify the equations, the same G0 (z ) = ∑ g0 [n]z −n ≡ H 0 (z ) = ∑ h0 [n]z − n (19a)
n =0 n=0
substitution will be used.
and
N1 N1
G1 (z ) = ∑ g1[n]z − n ≡ H1(− z ) = ∑ (− 1)n h1[n]z − n . (19b)
n =0 n =0
• In the above, G0(z) and H0(z) are identical with g0[n] ≡ h0[n]
for n = 0 , 1 ,···, N0.
• For the filters with transfer functions G1(z) and H1(z), the
frequency responses, the amplitude responses, and the im-
pulse-response coefficients are related through
G1(e jω ) = H1(e j(ω+π) ) or H1(e jω ) = G1(e j(ω+π) ) ; |G1(e jω )| =
|H1(e j(π −ω) )| or |H1(e jω )| = |G1(e j(π − ω) )|; and g1[n]
= (−1)nh1[n] or h1[n] = (−1)ng1[n] for n = 0 , 1 ,···, N1, respec-
tively.
• Based on the these relations, G1(z) is a transfer function of a
lowpass filter with the amplitude response obtained from the
corresponding highpass filter with transfer function H1(z)
reversing the frequency response using the substitution
π − ω → ω.
27 28
• Figure 5 exemplifies the above relations in addition to Figure 5. Specifications for G0(z) and G1(z) as well as the
showing the constraints for G0(z) and G1(z) to be stated in relations between H0(z) and G0(z) and H1(z) and G1(z).
the general optimization problem to be considered later.
• The basic reason for taking the transfer functions G0(z) and |H0(ejω)| |H1(ejω)|
G1(z) as preliminary ones lies in the fact that both of them 1
are lowpass transfer functions, making the synthesis of two-
channel FIR filter banks more straightforward, as will be
seen later.
• Once G0(z) and G1(z) have been designed, then the corre-
sponding impulse-response coefficients of H0(z) and H1(z)
are given by h0[n] ≡ g0[n] for n = 0 , 1 ,···, N0 and 0
0 π/2 π ω
h1[n] = (−1)ng1[n] for n = 0 , 1 ,···, N1, respectively.
1+δp
• In terms of G0(z) and G1(z), the overall transfer function is 1
given by 1−δp
|G0(ejω)|≡|H0(ejω)|
T (z ) = G0 ( z )G1 ( z ) − G0 (− z )G1 (− z ) . (20) |G1(ejω)|≡|H1(ej(ω+π))|
31 32
Comment on the Stated Problem How to Proceed for the Rest of the Description of
Two-Channel FIR Filter Banks
• In the stated problem, the passband and stopband regions of
Gk(z) for k = 0, 1 are [0, ω (k
p ] and [ω s , π]. The edges have
) (k )
• A very comprehensive review on the existing and new pro-
posed synthesis techniques can be found in:
been defined in terms of the positive quantities ρ (k )
and
• R. Bregoviü and T. Saramäki, “Two-channel FIR filter
p
ρ s(k )
for k = 0, 1 to make the passband edges [stopband
banks – A tutorial review and new results,” in Proc. Second
edges] less than [larger than] π/2. Int. Workshop on Transforms and Filter Banks, Branden-
• The main objective is to minimize the maximum of the stop- burg, Germany, March 1999, 51 pages
band energies of G0(z) and G1(z) subject to some constraints, • It also shows how the general problem stated above can be
as illustrated in Figure 5. solved conveniently.
• First, the maximum of the absolute value of the deviation • The formulas in the article are too complicated to go through
between the overall frequency response and a constant delay in this course. A copy is available!
of K samples has to stay in the overall frequency range
• In the sequel, we concentrate on defining the various types
within the given limits ±δa.
of two-channel filter banks and on giving some illustrative
• For the PR filter banks, this deviation is zero. examples.
• Second, amplitude responses of both G0(z) and G1(z) have to
stay in the passband within the given limits 1±δp.
• Third, the maximum allowable value for these amplitude re-
sponses in the transition bands is 1+δp.
• As will be seen later, some of the constraints are automati-
cally satisfied for some of the above-mentioned types of
two-channel filter banks.
33 34
Qudrature Mirror Filter (QMF) Banks with Linear- Optimization Problem
Phase Subfilters
• For QMF banks, Tˆ (ω ) cannot be made equal to unity (PR
• For these filter banks, solution) except for the trivial solution where
N0 G0(z) = (1+z−1)/2 that does not provide good attenuation
G1 (z ) = G0 (z ) = ∑ g0 [n]z − n , (23) characteristics.
n =0 • The optimization problem can be stated as follows: Given an
where N0 is odd and g0[N0 − n] = g0[n] for n = 0 , 1 , odd integer N0 and ρ > 0 as well as δa, the maximum allow-
···, (N0−1)/2. able reconstruction error, find the (N0+1)/2 unknowns g0[n]
• Hence, for the overall filter bank, there are only (N0+1)/2 of G0(z) to minimize
unknowns g0[n] for n = 0 , 1 ,···, (N0−1)/2. π
∫ [Gˆ 0 (ω )]
2
• In this case the overall transfer function T(z) is given by ε= dω (27a)
ωs
T (z ) = [G0 (z )] 2 − [G0 (− z )] 2 . (24)
subject to
• The frequency response of the low-pass filter with the trans-
fer function G0(z) is expressible as
[
max Gˆ 0 (ω ) ] 2 + [Gˆ 0 (ω + π )] 2 − 1 ≤δa (27b)
ω∈[0, π ]
( )
G0 e jω = e − jωN 0 / 2Gˆ 0 (ω ), (25a) where Ĝ0 (ω ) is given by Equation (25b) and ωs = (1+ρ)π/2.
where
( N 0 −1) / 2
Gˆ 0 (ω ) = 2 ∑ g0 [(N 0 − 1)/ 2 − n]cos[(n + 1/ 2)ω ]. (25b)
n =0
( )
T e jω = e − jN 0ω Tˆ (ω ) , (26a)
where
[
Tˆ (ω ) = Gˆ 0 (ω ) ]2 + [Gˆ 0 (ω + π )]2 . (26b)
35 36
Comparisons Figure 6. Amplitude responses for the analysis filters in the
proposed designs (solid line) and in Johnston’s designs
• For comparison purposes, we consider the designs of (dot-dashed line).
Johnston that is a real pioneer work of great value.
−3 N =31
• Given ρ, α, and N0, the quantity to be minimized in
x 10 0
Reconstruction error
E = E1 + αE2 , (28a)
−5
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
where
∫ ([ )
0
π
] [ ]
2
Gˆ 0 (ω ) + Gˆ 0 (ω + π )
2 2
E1 = − 1 dω
Amplitude in dB
(28b) −20
ω =0
−40
and
π
∫ [Gˆ 0 (ω )] dω
−60
2
E2 = (28c) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
ωs Normalized frequency (ω/(2π))
with ω s = (1 + ρ )π/2 . x 10
−3 N0=63
Reconstruction error
0
maximum deviation of reconstruction error for Johnston’s
design. (δa = 3.23·10−3 for the first design and δa = 7.03·10−4 −20
Amplitude in dB
• Figures 7 and 8 give some more details for the proposed de- −100
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
sign with N0 = 63. Normalized frequency (ω/(2π))
37 38
Figure 7. Amplitude responses for the analysis and Figure 8. Impulse responses for the analysis and synthesis
synthesis filters for the proposed design with N0 = 63. filters as well as the overall reconstruction error for the
proposed design with N0 = 63.
H (z)=G (z)=G (z) (lowpass) and H (z)=G (−z) (highpass)
0 0 1 1 1
0.5
0
−40 0
0
−60 −0.5
0 10 20 30 40 50 60
−80 0.5
1
−100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0
1
−0.5
0 10 20 30 40 50 60
1
Amplitude in dB
−20 0
−40
0
−1
0 10 20 30 40 50 60
−60 1
0
−80
0
−100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−1
Frequency as a fraction of π
1
0 10 20 30 40 50 60
n in samples
1.0002
Amplitude
0.8
1
0.6
0.9998
0.4
Zero−phase response
0.9996
0.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−0.2
2.0005
Amplitude
−0.4
2
−0.6
1.9995 −0.8
−1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π Frequency as a fraction of π
39 40
Low-Delay QMF Banks with Nonlinear-Phase Optimization Problem
Subfilters
• The optimization problem can be stated as follows: Given an
• For these filter banks, odd order N0, an odd integer K < N0, ρs, ρp, δp, and δa, find
N0 the N0+1 unknown impulse-response coefficients g0[n] of
1. G1 (z ) = G0 (z ) = ∑ g 0 [n] z − n , where N0 is an odd integer. G0 (z ) = ∑ n =00 g 0 [n] z − n to minimize
N
n=0
∫ G0 (e ) 2 dω
jω
(1+ρs)π/2 with ρs > 0, and unity on [0, ωp], where ωp = ε0 = (30a)
ωs
(1−ρp)π/2 with ρp > 0.
3. T(z) = [G0(z)]2 +[G0(−z)]2 approximates the delay z −K with subject to
K is being an odd integer satisfying K < N0.
• The main purpose is to achieve a higher stopband attenua-
max G0 e jω [ ( )] − [G (e (ω π ) )]
2
0
j + 2
− e − jKω ≤ δ a , (30b)
ω ∈[0, π ]
tion for the same overall delay at the expense of increased
filter orders. max ( )
G0 e jω − 1 ≤ δ p , (30c)
• The impulse response of G0(z) cannot be symmetric so that ω ∈[0, ω p ]
all the impulse-response values g0[n] for n = 0 , 1 ,···, N0 are
unknowns. and
• The second difference compared to the linear-phase case is max ( )
G0 e jω − 1≤ δ p , (30d)
that the overall distortion function is now given by ω ∈(ω p , ω s )
( )
T e jω − e − jKω = G 0 e jω [ ( )] − [G (e (ω π ) )]2
0
j + 2
− e − jKω . (29) where ωp = (1−ρp)π/2 and ωs = (1+ρs)π/2.
• These are the same criteria as for the first linear-phase de-
Amplitude in dB
−20
sign of Figure 6 with the exception that now the sub-filter −40
orders are increased from 31 to 63 while still achieving a −60
delay of 31 samples. −80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
• Figure 9 shows the amplitude responses for the analysis and F (z)=2H (−z) (lowpass) and F (z)=−2H (−z) (highpass)
0 1 1 0
Amplitude in dB
10 shows the corresponding impulse responses together with −20
• When comparing the analysis filters with those of the first −60
Amplitude
ters stay well within the limit 1 ± δp with δp = 0.01. 1
0.995
0.99
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
2.01
Amplitude
2
1.99
1.98
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π
43 44
Figure 10. Impulse responses for the analysis and synthesis Orthogonal Filter Banks
filters as well as the overall reconstruction error for the
proposed low-delay QMF bank with N0 = 63 and K = 31 . • For these filter banks,
N0
G0 (z ) = ∑ g 0 [n] z −n ,
Impulse responses for H0(z), H1(z), F0(z), F1(z)
0.5 (31a)
H (z)=G (−z) H (z)=G (z)
0
0 n =0
0
−0.5
0 10 20 30 40 50 60
where N0 is an odd integer, and
0.5
∑ g1[n] z −n = z − N G0 (z −1 ).
N1
G1 (z ) =
1
0 0
(31b)
1
−0.5
0 10 20 30 40 50 60 n =0
F (z)=−2H (−z)F (z)=2H (−z)
0
lated to those of G0(z) via (see Figure 11)
0
−1
0
Impulse response for G0(z), N0=15
impulse response
−1
1
0 10 20 30 40 50 60 0.5
n in samples
−31
x 10
−3 Error T(z)−z
0
3.4
−0.5
0 5 10 15
3.2
n in samples
Impulse response for G1(z), N1=15
Amplitude
3
impulse response
0.5
2.8
0
2.6
−0.5
2.4
0 5 10 15
n in samples
2.2
0 0.1 0.2 0.3 0.4 0.5 0.6
Frequency as a fraction of π
0.7 0.8 0.9 1
Figure 11. Relation between the impulse responses of G0(z)
and G1(z).
45 46
• This makes the impulse responses of G0(z) and G1(z) time- 1. E(z) is of the form E (z ) = ∑
2 N0
n=0
e [n] z −n
, where N0 is odd,
reversed versions of each other and the filter orders N0 and
e[N0] = 1/2, and e[N0 ± 2r] = 0 for r = 1 , 2 ,···, (N0−1)/2, that
N1 equal.
is, E(z) is a half-band filter of order 2N0.
• It is well-known that filters having the time-reversed im-
2. The zero-phase frequency response of E(z) is non-negative.
pulse responses also possess the same amplitude responses,
that is, |G0(e jω )| = |G1(e jω )|.
• This fact also implies that the filter with transfer function
E(z) = G0(z)G1(z) is a linear-phase FIR filter of order 2N0
and having an impulse response of even symmetry.
• Furthermore, the frequency response of this filter is ex-
pressible as
( )
E e jω = e − jN 0ω Eˆ (ω ) , (32a)
where
( ) 2 ≡ G1 (e jω ) 2 .
Eˆ (ω ) = G0 e jω (32b)
47 48
Mimax Design Least-Squared Designs
• Based on the above facts, a two-channel orthogonal filter • In this case optimization is required and the problem can be
bank for the given odd order N0 and for the stopband edge stated as follows: Given an odd order N0 and ρ > 0, find the
ωs = (1+ρ)π/2 with ρ > 0 can be accomplished as described impulse-response coefficients of G0 (z ) = ∑n=00 g 0 [n]z −n to
N
∫ G0 (e ) 2 dω ,
• The main differences are the following: jω
ε0 = (33a)
1. Replace M by N0. ωs
2. Replace T(z) by G0(z).
where
3. Replace R(z) by G1(z).
ω s = (1 + ρ ) 2 (33b)
• The amplitude responses of the resulting filters are orthogo-
nal and exhibit an equiripple performance in both the stop- subject to the condition that the product of the transfer func-
tions G0 (z ) = ∑n=00 g 0 [n]z −n and G1 (z ) = ∑n =00 g 0 [N 0 − n]z − n
N N
band and passband.
• The basic factorization results in minimum-phase and is a linear-phase half-band filter of order 2N0.
maximum-phase transfer functions G0(z) and G1(z).
• By sharing the off-the-unit-circle zeros of E(z) between
G0(z) and G1(z) in a proper manner, mixed-phase filters can
be generated with a rather linear-phase response in the pass-
band.
49 50
Examples Figure 12. Amplitude responses for the analysis filters
designed in the least mean-square sense (solid line) and in
• ρ = 0.172 is used for determining the edges of the filters in the minimax sense (dot-dashed line).
the two-channel filter bank under the consideration.
• The stopband edge of G0(z) is thus located at N0=31
ωs = (1+ρ)π/2 = 0.586π.
0
• As examples, Figure 12 compares the minimax and the least-
Amplitude in dB
squared designs in the N0 = 31 and N0 = 63 cases, respec- −20
tively.
−40
• As can be expected, the attenuations provided by the least-
squared filters are lower near the stopband edges, but be- −60
come higher for frequencies further away from the edge fre- 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized frequency (ω/(2π))
quencies.
• Figures 13 and 14 show more details in the N0 = 63 case. N =63
0
• Notice the extremely small passband ripples in the passband 0
regions with passband edges being located at ω = (1 − ρ)π/2
= 0.414π and ω = (1 + ρ)π/2 = 0.586π .
Amplitude in dB
−20
−40
−60
−80
−100
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized frequency (ω/(2π))
51 52
Figure 13. Amplitude responses for the analysis and Figure 14. Impulse responses for the analysis and synthesis
synthesis filters for the example PR orthogonal filter filters. The first and second figures are for the least-
banks with N0 = 63. The solid and dashes lines are for the squared and minimax designs, respectively.
least-squared and minimax designs, respectively. Impulse responses for H0(z), H1(z), F0(z), F1(z)
0.5
H (z)=G (−z) H (z)=G (z)
0
0
Amplitude in dB
−20 −0.5
0 10 20 30 40 50 60
−40
0.5
−60
1
−80 0
−100
1
−0.5
−120 0 10 20 30 40 50 60
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1
F (z)=2H (−z) (lowpass) and F (z)=−2H (−z) (highpass)
F (z)
0 1 1 0
0
0
0
Amplitude in dB
−20 −1
0 10 20 30 40 50 60
−40 1
F (z)
−60
0
1
−80
−100 −1
0 10 20 30 40 50 60
−120 n in samples
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π Impulse responses for H0(z), H1(z), F0(z), F1(z)
Passband details for H0(z) and H1(z) 0.5
H1(z)=G1(−z) H0(z)=G0(z)
−9
x 10
0 0
Amplitude−1
−2
−0.5
0 10 20 30 40 50 60
−4 0.5
−6
0
−8
−10 −0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60
1
−9 Passband details for F (z) and F (z)
x 10 0 1
F0(z)
0
0
Amplitude−2
−1
−5 0 10 20 30 40 50 60
1
−10
F1(z)
0
−15
−1
−20 0 10 20 30 40 50 60
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 n in samples
Frequency as a fraction of π
53 54
PR Biorthogonal Filter Banks with Linear-Phase • For both Type A and B, the frequency responses of Gk(z) for
Subfilters k = 0, 1 are expressible as
55 56
Optimization Problem: Example
For both Types A and B, we state the problem in the following • This example emphasizes the importance of the optimization
form: Given the filter type, N0, N1, ρ (k
p and ρ s
) (k )
for k = 0, 1, problem formulation in order to achieve PR linear-phase
and δp, find the adjustable coefficients of G0(z) and G1(z), to biorthogonal banks with good selectivity properties.
minimize • As examples we consider the design of filters in the N0 =
ε = max(ε 0 , ε1 ), (35a) N1 =31 case and in the N0 = N1 =63 case for ρ (k
p = ρs =
) (k )
0.172 for k = 0, 1.
where • The resulting passband and stopband edges for both G0(z)
π and G1(z) are thus located at ωp = 0.414π and ωs = 0.586π,
∫( [)Gˆ k (ω )]
2
εk = dω for k = 0,1, (35b) respectively.
ω sk • In both cases, two problem formulations have been used.
subject to • In the first formulation, the error function under considera-
tion is given (Vaidyanathan and Nguen) by
max Gˆ 0 (ω )Gˆ1 (ω ) + Gˆ 0 (π − ω )Gˆ1 (π − ω ) − 1 = 0 , (35c)
ω ∈[0, π ] π π
∫ [Gˆ 0 (ω ) ] ∫ [Gˆ 1 (ω ) ]
2 2
E= dω + dω
ω =ω s( 0 ) ω =ω s(1 )
max Gˆ k (ω ) − 1 ≤ δ p for k = 0,1 , (35d) (36)
[ ] ω (p0 ) ω (p1)
∫ [Gˆ 0 (ω ) − 1] ∫ [Gˆ 1 (ω ) − 1]
ω ∈ 0, ω (pk ) 2 2
+ dω + dω .
ω =0 ω =0
max Gˆ k (ω ) − 1≤ δ p for k = 0,1. (35e)
(
ω ∈ ω (pk ) , ω s( k ) ) • For the second formulation, the proposed formulation is
used with δp = 0.17 (a 3-dB peak-to-peak passband ripple).
• Here, ω s( k ) = (1 + ρ s( k ) )π/2 and ω (pk ) = (1 − ρ (pk ) )π/2 for k =
• Figure 15 shows that the second problem formulation results
0,1 and Gˆ 0 (ω )Gˆ1 (ω ) + Gˆ 0 (π − ω )Gˆ1 (π − ω ) the zero-phase in analysis filters having significantly higher stopband at-
frequency response for the overall system of Figure 1. tenuations.
• For the PR case, this should be identical equal to unity in the
overall frequency band.
57 58
• Figures 16 and 17 show more details for the proposed design Figure 15. Amplitude responses for the analysis filters
with N0 = N1 =63. For this design there is a too large over- designed using the proposed technique (solid line) and the
shoot in the transition band. the technique of Vaidyanathan and Nguen(dot-dashed
• This is because the transition band behavior was not under line).
consideration when optimizing the filter bank.
• The overall reconstruction error is extremely small (zero in N =N =31
0 1
Amplitude in dB
−20
−40
−60
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized frequency (ω/(2π))
N =N =63
0 1
Amplitude in dB
−20
−40
−60
−80
−100
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized frequency (ω/(2π))
59 60
Figure 16. Amplitude responses for the analysis and Figure 17. Impulse responses for the analysis and synthesis
synthesis filters for the example biorthogonal PR filter filters.
bank with N0 = N1 = 63.
H0(z)=G0(z) (lowpass) and H1(z)=G1(−z) (highpass) Impulse responses for H0(z), H1(z), F0(z), F1(z)
0.5
H1(z)=G1(−z) H0(z)=G0(z)
0
Amplitude in dB
−20 0
−40
−0.5
−60 0 10 20 30 40 50 60
0.5
−80
−100 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 1
Amplitude in dB
−20
0
−40
−1
−60 0 10 20 30 40 50 60
1
−80
−100 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π
Passband details for H0(z) and H1(z) −1
0 10 20 30 40 50 60
n in samples
1.3
1.2
Amplitude
1.1
0.9
0.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
2.6
2.4
Amplitude
2.2
1.8
1.6
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π
61 62
Problem of selecting the orders of G0(z)) and G1(z)) Figure 18. Dependences of the stopband behaviors of G0(z))
and G1(z)) on N0 and the passband ripple δp [δp = 0.1(x),
• As mentioned above, the overall delay K is related to the ∗)] for PR biorthogonal filter banks with K
0.05(o), 0.01(∗
subfilter orders N0 and N1 by K = (N0 + N1)/2. = ( N0 + N1)/2 = 31.
• The same delay is obtained by different selections of
N0 and N1 and it is desired to find the selection minimizing δp=0.1(x), 0.05(o), 0.01(*) : G0(solid), G1(dot−dashed)
−3
the maximum of the stopband energies of the two subfilters. 10
Atenuation in dB
• Three groups of filters have been optimized to minimize the −35
maximum of the stopband energies of G0(z) and G1(z).
• For these groups, the passband ripples are 0.01, 0.05, and −40
0.1, respectively.
16 18 20 22 24 26 28 30 32
• For each group, N0 varies from 17 to 31 and N1 = 62 − N0. Filter order N
0
63 64
• Two interesting observations can be made. Low-Delay PR Biorthogonal Filter Banks with
• First, the stopband behaviors of the two subfilters depends Nonlinear-Phase Subfilters
strongly on the given passband ripple.
• For these filter banks, G0 (z ) = ∑n=00 g 0 [n] z −n and
N
• If the allowed ripple is higher, filters with improved stop-
G1 (z ) = ∑n =1 0 g1 [n] z −n satisfy the following conditions:
N
band performances are achieved.
• Second, it is not straightforward to find the value of N0 that 1. The impulse responses of G0(z) and G1(z) are not symmet-
gives the best stopband performances for the two subfilters. ric.
• Furthermore, the best value of N0 depends on the given al- 2. The impulse response of
E ( z ) = G0 (z )G1 (z ) = ∑ n =00 1 e[n] z − n satisfies
lowable passband ripple. N +N
ε = max(ε 0 , ε1 ), (38a) • The passband and stopband edges for both G0(z) and G1(z)
are thus located at ωp = 0.414π and ωs = 0.586π.
where • Figure 19 compares the optimized low-delay PR filter banks
π with the biorthogonal filter bank with linear phase subfilters
εk = ∫ ( ) 2 dω
Gk e jω for k = 0,1, (38b) of orders N1 = N0 = 31 in the N1 = N0 = 33, N1 = N0 = 45, and
ω s( k ) N1 = N0 = 63 cases.
( )
with N0 = N1 = 45.
max Gk e jω − 1 ≤ δ p for k = 0, 1, (38d)
[
ω ∈ 0, ω (pk ) ]
and
max ( ) −1≤ δ p
G k e jω for k = 0, 1. (38e)
(
ω∈ ω (pk ) , ω s( k ) )
Here, ω s( k ) = (1 + ρ s( k ) )π/2 and ω (pk ) = (1 − ρ (pk ) )π/2 for k = 0,1
( ) ( ) ( )
and T e jω = G0 e jω G1 e jω − G0 e j (ω +π ) G1 e j (ω +π ) . is the ( ) ( )
frequency response for the overall system of Figure 1. In the
PR case it should be equal to e − jKω in the overall frequency
range.
67 68
Figure 19. Comparisons between low-delay biorthogonal Figure 20. Amplitude responses for the analysis and
filters banks (solid lines) in the K=31 case with the linear- synthesis filters for the example low-delay biorthogonal
phase biorthogonal case (dot-dashed lines). PR filter bank with N0 = N1 = 45.
H0(z)=G0(z) (lowpass) and H1(z)=G1(−z) (highpass)
−20
0
−40
Amplitude in dB
−20 −60
−80
−40
−100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−60
F0(z)=2H1(−z) (lowpass) and F1(z)=−2H0(−z) (highpass)
−80 0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Amplitude in dB
−60
0
−80
Amplitude in dB
−20 −100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π
−40
Passband details for H (z) and H (z)
0 1
1.01
−60
1.005
Amplitude
−80
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
1
Normalized frequency (ω/(2π))
K=31 : N0=63(solid), N0=31(dot−dashed) 0.995
0 0.99
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Amplitude in dB
−40
2.01
Amplitude
−60 2
−80 1.99
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized frequency (ω/(2π)) 1.98
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π
69 70
Figure 21. Impulse responses for the analysis and synthesis NPR Biorthogonal Filter Banks with Linear-Phase
filters. Subfilters
• For these filter banks, G0 (z ) = ∑n=00 g 0 [n] z −n and
Impulse responses for H0(z), H1(z), F0(z), F1(z)
N
1
H0(z)=G0(z)
−1
0 5 10 15 20 25 30 35 40 45 1. The impulse responses of G0(z) and G1(z) possess an even
H1(z)=G1(−z)
0.5
symmetry, that is, g0[N0 − n] = g0[n] for n = 0 , 1 ,···, N0 and
g1[N1 − n] = g1[n] for n = 0 , 1 ,···, N1.
0
−0.5
0 5 10 15 20 25 30 35 40 45 2. The sum of the filter orders N0 and N1 is two times an odd
F1(z)=−2H0(−z)F0(z)=2H1(−z)
1
integer, that is, N0 + N1 = 2K with K being an odd integer.
0
71 72
Examples Figure 22. Biorthogonal NPR linear-phase filter banks
with small reconstruction error for N1 = N0 = 31 and
• Several NPR biorthogonal two-channel filter banks with lin- δp = 0.1. The solid and dot-dashed lines give the amplitude
ear-phase subfilters of orders N1 = N0 = 31 have been opti- responses of analysis filters and the reconstruction errors
mized for ρ (k
p = ρ s = 0.172 for k = 0, 1.
) (k )
for δa = 0.001 and δa = 0.00001, respectively.
• The passband and stopband edges for both G0(z) and G1(z)
are thus located at ωp = 0.414π and ωs = 0.586π. x 10
−5 N0=N1=31 : δa=10−5 (dot−dashed), δa=10−3 (solid)
2
• These filters have been optimized for various values of the
Reconstruction error (δ )
a
−20
haviors of G0(z) and G1(z) on the reconstruction error and
the passband ripple. −40
0
Amplitude in dB
−20 0
0
−40 −0.5
0 5 10 15 20 25 30
−60 0.5
1
−80
0
−100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
−0.5
0 5 10 15 20 25 30
F0(z)=2H1(−z) (lowpass) and F1(z)=−2H0(−z) (highpass)
1
0 0
Amplitude in dB
−20
0
−1
−40 0 5 10 15 20 25 30
1
0
−60
0
−80
−100 −1
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30
Frequency as a fraction of π n in samples
Passband details for H0(z) and H1(z) −31
x 10
−3 Error T(z)−z
1.01 1
1.005 0.8
Amplitude
0.6
1
0.4
Zero−phase response
0.995
0.2
0.99
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
Passband details for F0(z) and F1(z)
2.02 −0.2
2.01 −0.4
Amplitude
2 −0.6
1.99 −0.8
1.98 −1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency as a fraction of π Frequency as a fraction of π
75 76
Figure 25. Dependences of the stopband behaviors of G0(z)) Low-Delay NPR Biorthogonal Filter Banks with
and G1(z)) on the reconstruction error δa and the passband Nonlinear-Phase Subfilters
ripple δp [δp = 0.1(x), 0.01(o), 0.001(∗∗)] for NPR linear-
• For these filter banks, G0 (z ) = ∑n=00 g 0 [n] z −n and
N
phase biorthogonal filter banks with N0 = N1 = 31.
G1 (z ) = ∑n =1 0 g1 [n] z −n satisfy the following conditions:
N
δp=0.1(x), 0.05(o), 0.01(*) : G0(solid), G1(dot−dashed)
−3
10
1. The impulse responses of G0(z) and G1(z) are not symmet-
Stop band energy
ric.
−4
10 2. The sum of the filter orders N0 and N1 is two times an odd
integer.
3. The impulse response of
E ( z ) = G0 (z )G1 (z ) = ∑n =00 1 e[n] z − n satisfies
−5
10 N +N
−2 −4 −6 −8 −10 −12 −14
10 10 10 10 10 10 10
−30
1 / 2 for n = K
−32 e[n] ≈ (41)
Atenuation in dB
ωs = 0.586π, respectively.
Reconstruction error (δ )
a
0
• Since N1 = N0 = K = 31, the resulting filter banks are auto-
matically NPR orthogonal banks provided that the allowable −2
x 10
−3
2
passband ripple in the optimization is large enough.
• Figure 26 shows the amplitude responses of the analysis fil- 0
Amplitude in dB
−20
iors of G0(z) and G1(z) on the reconstruction error.
−40
• It is interesting to notice that the filter attenuations are al-
most the same for the reconstruction errors smaller than 10-5. −60
• Only for large reconstruction errors, a higher attenuation is 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized frequency (ω/(2π))
achieved.
• The passband ripple depends directly on other filter bank
properties.
79 80
Figure 27. Dependences of the stopband behaviors of G0(z)) Another example
and G1(z)) on the reconstruction error δa for NPR orthogo-
nal filter banks with N0 = N1 = 31. • Several NPR low-delay biorthogonal two-channel filter
banks with nonlinear-phase subfilters have been designed
for the overall delay K = 31 and for various reconstruction
δ =0.1(x), 0.01(o), 0.001(*) : G (solid), G (dot−dashed)
−4
10
p 0 1 errors and passband ripples.
• The passband and stopband edges for G0(z) and G1(z) are the
Stop band energy
N0 = N1 = 33 and N0 = N1 = 63.
−6
• Figure 28 shows in these two cases amplitude characteristics
10
−42
−2
10
−4
10 10
−6
10
−8 −10
10
−12
10 10
−14
of the analysis filters and the reconstruction errors for δp =
−43 0.01 and δa = 10-5.
• Figures 29 and 30 illustrate the dependence of the stopband
Atenuation in dB
−44
−45
behaviors of G0(z) and G1(z) on the reconstruction error and
−46
−47
the passband ripple for N1 = N0 = 33 and N1 = N0 = 63, re-
−48 spectively.
−49
−2 −4 −6 −8 −10 −12 −14
10 10 10 10 10 10 10
Filter bank distortion δ
a
0
−6
10
−2 −4 −6 −8 −10 −12 −14
Amplitude in dB
10 10 10 10 10 10 10
−20
−44
−40
Atenuation in dB
−46
−60
−48
−80
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
−50
Normalized frequency (ω/(2π))
−2 −4 −6 −8 −10 −12 −14
10 10 10 10 10 10 10
Filter bank distortion δ
a
83 84
Figure 30. Dependences of the stopband behaviors of G0(z)) Comments
and G1(z)) on the reconstruction error δa and the passband
ripple δp [δp = 0.1(x), 0.01(o), 0.001(∗∗)] for NPR nonlinear- • The practical implementation issues have been totally omit-
phase biorthogonal filter banks with N0 = N1 = 63 for ted in this pile of lecture notes.
K = 31. • They will be added in the next version.
• If there is a need to know about alternative implementation
form, please contact the lecturer.
δp=0.1(x), 0.01(o), 0.001(*) : G0(solid), G1(dot−dashed)
10
−5
• He has also plenty of FORTRAN and MATLAB files.
−6
• The reason for such a long pile of lecture notes on two-
Stop band energy
10
channel FIR filter banks is due to the fact that Robert Bre-
goviü andthe lecturer have written the tutorial article
−7
10
−8
10 mentioned on Page 7.
10
−9
−2 −4 −6 −8 −10 −12 −14
• Many thanks to Robert in helping in prepapring Part V.A.
10 10 10 10 10 10 10
−55
Atenuation in dB
−60
−65
−70
−2 −4 −6 −8 −10 −12 −14
10 10 10 10 10 10 10
Filter bank distortion δ
a
• The comments given after Figure 29 are also valid after Page
30.
85 86
Part V.B: Two-Channel IIR Filter Banks Two-Channel IIR Filter Banks with Phase Distortion
• This part shows how to generate two-channel IIR filter x0[n] v0[n] w0[n] u0[n] y0[n]
banks using half-band IIR filters. H0(z) ↓2 ↑2 F0(z)
PROCESSING
• These filters were considered earlier in details in Part II, x[n] y[n]
UNIT
+
namely, Part II.G: Half-Band IIR Filters (Pages 246-266 in
Part II). H1(z) ↓2 ↑2 F1(z)
x1[n] v1[n] w1[n] u1[n] y1[n]
• There are also other types of two-channel IIR filter banks. Analysis bank Synthesis bank
and
1
A(z ) = [H 0 (− z ) F0 ( z ) + H1 (− z ) F1 ( z )]. (1c)
2
87 88
• We select H 0 (z ) and H1 (z ) to be a power-complementary Equation (1) takes the following form:
lowpass−highpass half-band IIR filter pair. Y (z ) = T (z )X (z ), (4a)
• In this case (see Part II.G: Half-Band IIR Filters, Pages 246- where
266 in Part II, for details),
T (z ) = z −1 A0 ( z 2 ) A1 ( z 2 ) . (4b)
[ ( )+ z
H 0 (z ) = (1 / 2 ) A0 z 2 −1
( )]
A1 z 2
(2a)
• Since A0 ( z 2 ) and A1 ( z 2 ) are allpass filters, the overall fre-
and quency response is expressible, after some manipulations, as
[ ( )
H 0 (z ) = (1 / 2 ) A0 z 2 + z −1 A1 z 2 ( )] (2b)
( )
T e jω = e jφ (ω ) , (5a)
with
where
K0 a k( 0) + z −1 − ak( 0) sin (2ω )
A0 (z ) = Π
K0
( 0 ) −1
k =1 1 + a k z
(2c)
φ (ω ) = −(2 K 0 + 2 K1 + 1)ω − ∑ 2 tan −1
1 + a ( 0) sin (2ω )
k =1 k
(5b)
and K1 − ak sin (2ω )
(1 )
− ∑ 2 tan −1 .
K1
ak(1) + z −1 1 + a (1) sin (2ω )
A1 (z ) = Π (2d) k =1 k
k =1 1 + ak(1) z −1
• Hence, the amplitude response is identically equal to zero
being allpass filters of orders K 0 and K1, respectively. and the input-output relation suffers only from a phase dis-
• The overall filter order is 2( K 0 + K1 ) + 1 and it is required tortion.
that K 0 = K1 or K 0 = K1 + 1. • This distortion is tolerable in audio applications provided
that the distortion is not too large.
• Selecting
• Figure 2 shows implementations for the overall system.
( )
F0 (z ) = 2 H1 (− z ) = 2 H 0 (z ) = A0 z 2 − z −1 A1 z 2 ( ) (3a)
• The second one using the commutative models is the most
and efficient one.
F1 (z ) = −2 H 0 (− z ) = −2 H1 (z ) = − A0 z + z A1 z( )
2 −1
( ) (3b)
2
89 90
• The third implementation is obtained assuming the outputs Figure 2. Efficient Implementations for a Two-
of the processing unit are identical to the inputs and it is re- Channel Filter Bank Based on the Use of
moved. Conventional Causal Half-Band IIR Filters.
• Then, by rearranging the terms, we arrive at this structure.
• In this structure, the input-output relation is redrawn in a 1/2
form corresponding to the input-output relation as given by
Processing
x(n) A0(z ) A1(z )
2 + + 2 z--1
Equation (4).
z--1 y(n)
Unit
2 A1(z ) + --
+ A0(z ) 2 +
--
Processing
1/2 A0(z ) + + A1(z )
x(n) y(n)
+ +
Unit
A1(z ) A0(z )
-- --
1/2
x(n) 2A1(z ) A2(z )
2 2 z--1
z--1 y(n)
2 2A1(z ) A2(z ) 2 +
91 92
Example: ωs = 0.586π π and the Minimum Stopband Amplitude responses for the analysis and synthesis filters
Attenuation is at least 80 dB in an example two-channel IIR filter bank
H0(z) and F0(z)/2: lowpass designs; H1(z) and F1(z)/2: highpass designs
• Here, the stopband edge is selected to be ωs = 0.586π in or-
der to make the comparison of the resulting bank with earlier 0
( 0 ) −1
k =1 1 + a k z −40
and −50
2 a k(1) + z −1 −60
A1 (z ) = Π (1) −1
,
k =1 1 + a k z −70
−80
where a1( 0 ) = 0.059868, a 2( 0 ) = 0.424962, a 3( 0 ) = 0.874343,
a1(1) = 0.217298, and a 2(1) = 0.645857.
−90
Amplitude in dB
0.8
5
0.6
0
0.4
Imaginary Part
0.2
−5
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
0 Angular frequency ω
−0.2 0
Phase as a fraction of π
−0.4 −2
−4
−0.6
−6
−0.8
−8
−1
−10
−1 −0.5 0 0.5 1 0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
Real Part
Angular frequency ω
Pole−zero plot for H1(z) and F1(z) −1 2 2
Responses for T(z)=z A (z )A (z )
0 1
1 60
0.4 20
Imaginary Part
0.2
0
0
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
Angular frequency ω
−0.2
14
−0.8 8
−1 6
−1 −0.5 0 0.5 1
4
Real Part 0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
Angular frequency ω
95 96
Two-Channel IIR Filter Banks without Phase • The explanation of these implementation forms is out the
Distortion scope of these lecture notes. If you interested in these forms,
contact the lecturer.
• We select
• It should be pointed out that in these implementations, there
[ ( ) ( )]
H 0 (z ) = (1 / 2 ) A0 z 2 + z −1 A1 z 2 , (6a) is a need to produce a time-reversed version of the input data
before and after filtering.
H (z ) = H (− z ) = (1 / 2 )[A (z )− z A (z )],
1 0 0
2 −1
1
2
(6b) • This introduces an extra delay. Delay-free systems cannot be
F (z ) = 2 H (z ) = A (z )+ zA (z ),
implemented!
−1 −2 −2
0 0 0 1 (6c)
and
( ) ( )
F1 (z ) = 2 H 1 z −1 = A0 z − 2 − zA1 z − 2 . ( ) (6d)
Processing
x(n)
2 A0(z ) + + A0(z--1) 2 +
y(n)
• The next step is to remove the processing unit in Figure 1(a)
z--1 and produce y0(1) (n) [ y1(1) (n) ] from x0(1) ( n) [ x1(1) ( n) ] using a
A1(z--1)
Unit
z
2 A1(z )
--
+ -- + 2 two-channel filter bank as shown in Figure 1(b). For this
bank, the analysis and synthesis filters are denoted by
H 0( 2) ( z ) , H 1( 2) ( z ) , F0( 2) ( z ) , and F1( 2) ( z ) .
• This gives a two-level tree-structured filter bank shown in
Figure 1(c).
1/2
x(n) 2A1(z )A1(z-1 ) = 2 • The three-level tree-structured filter bank shown in Figure 2
+
2 2
y(n) is obtained by removing the processing unit in Figure 1(c)
z--1
2A2(z )A2(z-1 ) = 2 and producing y k( 2) (n) from xk( 2) (n) for k = 0,1, 2, 3 using a
z
2 2
two-channel filter bank with the analysis and synthesis fil-
ters being H 0(3) ( z ) , H 1(3) ( z ) , F0(3) ( z ) , and F1(3) ( z ) .
99 100
Figure 1. Generation of a Two-Level Tree-Structured Figure 2. Three-Level Tree-Structured Filter Bank.
Filter Bank.
v0(n) w0(n)
x(1)
0 (n ) 0 (n )
H(1)
0 (z ) 2 2 F(1)
0 (z ) y(n)
Unit
1 (z ) 2 2 1 (z )
A(3)(z) v3(n) w3(n) S(3)(z)
Analysis bank Synthesis bank x(n) A(1)(z) S(1)(z) y(n)
v4(n) w4(n)
(a )
A(3)(z) v5(n) w5(n) S(3)(z)
x(1)
k (n ) y(1)
k (n )
k=0, 1
(2) (n)
x2k+1 (2)
y2k+1(n) + k=0, 1 A(3)(z) v7(n) w7(n) S(3)(z)
H(2)
1 (z ) 2 2 F(2)
1 (z )
1 (n) 1 (n)
Unit
H(k)
0 (z ) 2 2 F(k)
0 (z )
A(k)(z) S(k)(z) +
H(k)
1 (z ) 2 2 F(k)
1 (z )
(c )
101 102
Analysis of the Performance of the Tree-Structured Figure 3. Equivalent Structure for the Three-Level
Filter Bank Tree-Structured Filter Bank of Figure 2.
• In order to analyze the performance of the three-level tree- Equivalent structure:
structure filter bank of Figure 2, it is redrawn into the
v0(n) w0(n)
equivalent form shown in Figure 3. H(1) (1) 2 (1) 4
0 (z)H 0 (z )H 0 (z ) 8 8 F(1) (1) 2 (1) 4
0 (z)F 0 (z )F 0 (z )
Processing Unit
• A four-level bank can be generated by removing the proc- H(1) (1) 2 (1) 4
0 (z)H 1 (z )H 1 (z ) 8
v3(n) w3(n)
8 F(1) (1) 2 (1) 4
0 (z)F 1 (z )F 1 (z ) y(n)
essing unit and producing from wk(3) (n) for v k(3) ( n) x(n)
v4(n) w4(n) +
H(1) (1) 2 (1) 4
1 (z)H 0 (z )H 0 (z ) 8 8 F(1) (1) 2 (1) 4
1 (z)F 0 (z )F 0 (z )
k = 0, 1, , 7 using a two-channel filter bank with the analy- v5(n) w5(n)
H(1) (1) 2 (1) 4
1 (z)H 0 (z )H 1 (z ) 8 8 F(1) (1) 2 (1) 4
1 (z)F 0 (z )F 1 (z )
sis and synthesis filters being H 0( 4) ( z ) , H 1( 4) ( z ) , F0( 4) ( z ) , v6(n) w6(n)
H(1) (1) 2 (1) 4
1 (z)H 1 (z )H 0 (z ) 8 8 F(1) (1) 2 (1) 4
1 (z)F 1 (z )F 0 (z )
and F1( 4) ( z ) .
v7(n) w7(n)
H(1) (1) 2 (1) 4
1 (z)H 1 (z )H 1 (z ) 8 8 F(1) (1) 2 (1) 4
1 (z)F 1 (z )F 1 (z )
• In this case, the number of channels is 16.
• In general for a M-level tree-structured filter bank, the num-
ber of channels is 2M.
• Next an example will be given illustrating how to select the
building-block two-channel filter banks.
103 104
Example • Hence, IIR two-channel filter banks considered in Part V.B
are used.
• It is desired to generate an analysis-synthesis filter bank with
8 channels by using a three-level tree-structured filter bank. • The desired overall performance is achieved by designing
the first, second, and third two-channel filter bank in such a
• The required transition bandwidth and the attenuation are way that the stopband edges for the lowpass analysis filter
0.05π and 60 dB, respectively. are located at ωs = 0.525π, ωs = 0.55π, and ωs = 0.6π, re-
• This bank is constructed by using the following analysis and spectively.
synthesis filters for k = 1, 2, 3: • Note that for the first filter, the transition bandwidth is the
(z ) = (1 / 2 )[ (z )+ z (z )] ,
−1 specified one.
H 0( k ) A0( k ) 2
A1( k ) 2
(1a)
• For the second and third ones, they are two and four times
H 1( k ) (z ) = (1 / 2 )[ A0( k ) (z )+ z
2 −1
A1( k ) (z )] ,
2
(1b) the specified one, respectively.
• For all the building-block two-channel filter banks, the re-
( )
F0( k ) (z ) = A0( k ) z 2 − z −1 A1( k ) z 2 , ( ) (1c) quired attenuation is the specified one, that is, 60 dB.
and • For the first filter bank, K 0(1) = K 1(1) = 3, a1(,01) = 0.086411,
( )
F1( k ) (z ) = − A0( k ) z 2 + z −1 A1( k ) z 2 ( ) (1d) a1(,02) = 0.522945 , a1(,13) = 0.849610 , a1(,11) = 0.293592 ,
a1(,12) = 0.711961 , and a1(,13) = 0.952906 .
with
K 0( k ) a k( 0,l) + z −1 • For the second filter bank, K 0( 2) = 3, K 1( 2) = 2,
A0( k ) (z ) = Π (1e) a 2( 0,1) = 0.082947 , a 2( 0, 2) = 0.519644 , a 2(1,3) = 0.910331,
l =1 1 + a k( 0,l) z −1
a 2(1,1) = 0.285641 , a 2(1,)2 = 0.729135 .
and
• For the third filter bank, K 0(3) = K 1(3) = 2, a 3(0,1) = 0.079866 ,
K1( k ) a k(1,)l + z −1
A1( k ) (z ) = Π (1) −1
. (1f) a 3( 0, 2) = 0.545324 , a 3(1,1) = 0 .28382 , and a3(1, 2) = 0.834411 .
= 1+ a z
l 1 k ,l
105 106
• Figures 4 and 5 show the responses for the analysis and Figure 4. Amplitude responses for the analysis and
synthesis filters in the three building-block two-channel IIR synthesis filters in the first and second building blocks.
filter banks. (1) (1) (1) (1)
Solid line: H0 (z), F0 (z)/2; Dashed line: H1 (z), F1 (z)/2
0
x(n) and v k (n) for k = 0, 1, , 7 (see Figures 2 and 3). The −10
numbers in the figure indicate the corresponding response. −20
Amplitude in dB
put y (n) are the same with the exception that they are multi- −40
−50
plied by eight.
−60
• Figure 7 shows how the fifth bank can be generated accord- −70
ing to the equivalent structure of Figure 3. −80
( ) ( ) ( ) ( ) ( ) ( )
−100
−10
−20
−30
Amplitude in dB
−40
−50
−60
−70
−80
−90
−100
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
Angular frequency ω
107 108
Figure 5. Amplitude responses for the analysis and Figure 6. Amplitude responses for the resulting filters
synthesis filters in the third building block. between the input x(n) and v k (n) for k = 0, 1, , 7 . The
(3) (3) (3) (3)
Solid line: H0 (z), F0 (z)/2; Dashed line: H1 (z), F1 (z)/2 numbers in the figure indicate the corresponding
10
responses.
0
−10
Resulting tree−structured filter bank
−20
10
−30
Amplitude in dB
0 1 3 2 6 7 5 4
0
−40
−50 −10
−60
−20
−70
−30
Amplitude in dB
−80
−90 −40
−100
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π −50
Angular frequency ω
−60
−70
−80
−90
−100
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
Angular frequency ω
109 110
Figure 7. Generation of the fifth bank according to the Figure 8. Responses for the input-output transfer function
equivalent structure of Figure 3. of an example tree-structured IIR filter bank
(1) (2) 2 (3) 4 −10 Responses for the input−output transfer function T(z)
Dot−dashed: H1 (z), Dashed: H1 (z ) Solid: H0 (z ) x 10
10
2
Amplitude in dB
0
0
−10 −2
−4
−20
−6
−30
Amplitude in dB
−8
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
−40 Angular frequency ω
−50 0
Phase as a fraction of π
−60
−20
−70
−40
−80
−90 −60
−100 0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
0 0.1π 0.2π 0.3π 0.4π 0.5π 0.6π 0.7π 0.8π 0.9π π
Angular frequency ω
Angular frequency ω
Responses for the input−output transfer function T(z)
H(1)(z)H(2)(z )H(3)(z )
2 4
200
−20 50
−30 0
Amplitude in dB
80
111 112
Part V.C: Discrete-Time Wavelet Banks Organization of This Pile of Lecture Notes
• The theory behind wavelets is very mathematical and com- • We concentrate on the following topics:
plicated especially in the case of continuous-time wavelets. I. Generation of wavelet banks based on the use of sev-
• This part shows what are discrete-time wavelet banks and eral copies of the same two-channel filter bank
how to generate them easily from special two-channel filter II. Orthogonal (paraunitary ) FIR wavelet banks derived
banks. from maximally-flat half-band FIR filters
• The filter bank approach for explaining the wavelet theory is III. Biorthogonal FIR wavelet banks derived from maxi-
for engineers easier to understand and makes the theory very mally-flat half-band FIR filters
compact. IV. Generalized orthogonal FIR wavelet banks
• In the end of this pile, some connections to continuous-time V. Generalized biorthogonal FIR wavelet banks
wavelets are shown. VI. How to measure the “goodness” of wavelet banks
• Therefore, we proceed in the opposite manner: mathemati- VII. Comments
cians start with continuous-time wavelets and use them for
generating discrete-time wavelet banks
• We start with the discrete-time wavelet banks and show how
to generate continuous-time wavelets based on the use of
multilevel wavelet banks.
• We are not considering in details the applications. It would
be a topic of another course!
• Hopefully, this part helps the reader to somehow understand
the wavelet theory especially when applied to processing
discrete-time signals. After reading this pile, the reader is
encouraged to look at the MATLAB Wavelet Toolbox man-
ual. Good luck!