Sunteți pe pagina 1din 15

1 2

Part V.F: Cosine-Modulated Filter Banks Organization of This Pile of Lecture Notes

This part shows how to efficiently implement a multi- This pile can be roughly divided into the the follow-
channel (M > 2) analysis synthesis bank using a ing subparts:
single prototype filter and a proper cosine modulation 1. Introduction
scheme. 2. Cosine-modulated FIR filter banks
It is mostly based on the following article: T. 3. Nearly perfect-reconstruction filter banks
Saramaki, A generalized class of cosine-modulated fil-
4. Perfect-reconstruction filter banks
ter banks, in Transforms and Filter Banks.
5. Filter banks with constraints on the amplitude distor-
Proceedings of First International Workshop on
tion
Transforms and Filter Banks (Tampere, Finland),
6. Filter banks with constraints on both the amplitude
edited by K. Egiazarian, T. Saram
aki, and J. Astola,
and aliasing distortions
pp. 336-365, 1998.
7. Practical examples
8. Implementation aspects

3 4

1. Introduction In the synthesis bank, the coded symbols are con-


During the past ten years, the subband coding by verted to their appropriate digital quantities, interpo-
M -channel critically sampled FIR filter banks have re- lated by a factor of M followed by filtering by the cor-
ceived a widespread attention [1], [2], [3] (see also refer- responding filters Fk (z).
ences in these textbooks). Finally, the outputs are added to produce the quan-
Such a system is shown in Fig. 1. tized version of the input.
These filter banks are used in a number of commu-
nication applications such as subband coders for speech
x(n) H0(z) M M F0(z)
signals, frequency-domain speech scramblers, image cod-
y(n)
ing, and adaptive signal processing [1].
H1(z) M M F1(z)
The most effective technique for constructing both
the analysis bank consisting of filters Hk (z) for k =
HM-1(z) M M FM-1(z) 0, 1, , M 1 and the synthesis bank consisting of fil-
ters Fk (z) for k = 0, 1, , M 1 is to use a cosine
Figure 1: M -channel maximally decimated filter bank. modulation [1], [2], [3] to generated both banks from a
single linear-phase FIR prototype filter.
In the analysis bank consisting of M parallel band- Compared to the case where all the subfilters are de-
pass filters Hk (z) for k = 0, 1, , M 1 (H0(z) and signed and implemented separately, the implementation
HM 1(z) are lowpass and highpass filters, respectively), of both the analysis and synthesis banks is significantly
the input signal is filtered by these filters into separate more efficient since it requires only one prototype filter
subband signals. and a unit performing the desired modulation operation
These signals are individually decimated by M , quan- [1], [2], [3].
tized, and edcoded for transmission to the synthesis Also, the actual filter bank design becomes much
bank consisting also of M parallel filters Fk (z) for k = faster and more straightforward since the only parame-
0, 1, , M 1.
5 6

ters to be optimized are the coefficients of a single pro- 2. Cosine-Modulated FIR Filter Banks
totype filter. This section shows how M -channel critically sampled
Another alternative is to use the modified DFT [3]. FIR filter banks can be generated using proper cosine-
However, this is a very new idea lacking a good tuto- modulation techniques and a proper prototype filter.
rial article. Therefore, this alternative is not considered 2.1 Input-Output Relation for an M -Cannel Fil-
in this course. ter Bank
The purpose of this pile of lecture notes is to in- For the system of Fig. 1, the input-output relation in
troduce efficient design techniques for generating pro- the z-domain is expressible as
totype filters for both perfect-reconstruction and nearly M
X 1

perfect-reconstruction cases using a cosine modulation. Y (z) = T0(z)X(z) + Tl (z)X(zej2l/M ), (1a)


l=1
Several examples are included illustrating that by al-
where
M 1
lowing small amplitude and aliasing errors, the filter 1 X
T0(z) = Fk (z)Hk (z) (1b)
bank performance can be significantly improved. M
k=0
Alternatively, the filter orders and the overall delay and for l = 1, 2, , M 1
caused by the filter bank to the signal can be consider- M 1
1 X
ably reduced. This is very important in communication Tl (z) = Fk (z)Hk (zej2l/M ). (1c)
M
k=0
applications.
Here, T0(z) is called the distortion transfer function
In many applications such small errors are tolerable
and determines the distortion caused by the overall sys-
and the distortion caused by these errors to the signal
tem for the unaliased component X(z) of the input sig-
is smaller than that caused by coding.
nal.
The remaining transfer functions Tl (z) for l =
1, 2, , M 1 are called the alias transfer functions and
determine how well the aliased components X(zej2l/M )
of the input signal are attenuated.

7 8

For the perfect reconstruction, it is reguired that approximately the value of unity at the zero frequency.
T0(z) = z N with N being an integer and Tl (z) = 0 The desired input-output relation is then achieved in
for l = 1, 2, , M 1. the final implementation by multiplying the Fk (z)s by
If these conditions are satisfied, then the output sig- M.
nal is a delayed version of the input signal, that is, This is done in order to preserve the signal energy
y(n) = x(n N ). after using the interpolation filters Fk (z).
It should be noted that the perfect reconstruction is In this case, the filters in the analysis and synthesis
exactly achieved only in the case of lossless coding. banks of the overall system become approximately peak
For lossy coding, it is worth studing whether it is scaled, as is desired in many practical applications.
beneficial to allow small amplitude and aliasing errors
causing smaller distortions to the signal than the cod-
ing or errors that are not very noticable in practical
applications.
For nearly perfect reconstruction cases, the above-
mentioned conditions should be satisfied within given
tolerances.
The term 1/M in Eqs. (1b) and (1c) is a conse-
quence of the decimation and interpolation processes.
For simplicity, this term is forgotten in the sequel.
In this case, the passband maxima of the amplitude
responses of the Hk (z)s and Fk (z)s will become ap-
proximately equal to unity.
Also the prototype filter to be considered later on
can be designed such that its amplitude response has
9 10

2.2 Generation of Filter Banks from a Prototype From the above equations, it follows that for k =
Filter Using Cosine-Modulation Techniques 0, 1, , M 1
fk (n) = hk (N n) (5a)
For the cosine-modulated filter banks, both the
Hk (z)s and Fk (z)s are constructed with the aid of a and
linear-phase FIR prototype filter of the form Fk (z) = z N Hk (z 1). (5b)
N
X Another alternative is to construct the impulse re-
Hp(z) = hp(n)z n, (2a) sponses hk (n) and fk (n) as follows [1]:
n=0
where the impulse response satisfies the following sym-
1 M +1
metry property: fk (n) = 2hp(n) cos[ (k + )(n + )] (6a)
2M 2 2
and
hp(N n) = hp(n). (2b)
1 M +1
hk (n) = fk (N n) = 2hp(n) cos[ (k+ )(N n+ )].
One alternative is to construct them as follows [2]: 2M 2 2
(6b)
Hk (z) = k k Hp(zej(2k+1)/(2M ) )+k kHp(zej(2k+1)/(2M ) ) In [1], instead of the constant of value 2, the con-
(3a) p
stant of value 2/M has been used. The reason for
and this is that the prototype filter is implemented using
Fk (z) = k k Hp(zej(2k+1)/(2M ) ) + k kHp(zej(2k+1)/(2M ) , special butterflies.
(3b) The most important property of the above modula-
j(1)k /4 jN (2k+1)/(4M )
where k = e and k = e . tion schemes lies in the following facts.
The corresponding impulse responses for k = 0, 1, , By properly designing the prototype filter transfer
M 1 are then given by function Hp(z), the aliased components generated in
N the analysis bank due to the decimation can be totally
hk (n) = 2hp(n) cos[(2k + 1) (n ) + (1)k ] (4a)
2M 2 4 or partially compensated in the synthesis bank.
and
N Secondly, T0(z) can be made exactly or approxi-
fk (n) = 2hp(n) cos[(2k + 1)2M (n ) (1)k ]. (4b) mately equal to the pure delay z N .
2 4

11 12

Hence, these modulation techniques enable us to de- 2.3 Conditions for the Prototype Filter to Give a
sign the prototype filter in such a way that the re- Nearly Perfect-Reconstruction Property
sulting overall bank has the perfect-reconstruction or a
The above modulation schemes guarantee that if the
nearly perfect-reconstruction property.
impulse response of
2N
X
b p(z) = [Hp(z)]2 =
H b
hp(n)z n, b
hp(2N n) = b
hp(n)
n=0
(7a)
satisfies (bxc stands for the integer part of x.)
b
hp(N ) 1/(2M ) (7b)
and
b
hp(N 2rM ) 0 for r = 1, 2, , bN/(2M )c, (7c)
then [4]
M
X 1
T0(z) = Fk (z)Hk (z) z N . (8)
l=0
In this case, the amplitude error |T0(ej ) ejN | be-
comes very small.
If the conditions of Eqs. (7b) and (7c) are exactly
satisfied, then the the amplitude error becomes zero.
It should be noted that since T0(z) is an FIR fil-
ter of order 2N and its impulse-response coefficients,
denoted by t0(n), satisfy t0(2N n) = t0(n) for n =
0, 1, , 2N , there exists no phase distortion.
Equation (7) implies that [Hp(z)]2 is approximately a
2M th-band linear-phase FIR filter [5], [6].
13 14

Based on the properties of these filters, the stopband Prototype filter

edge of the prototype filter Hp(z) must be larger than 0

Amplitude in dB
/(2M ) and is specified by 20

40
s = (1 + )/(2M ), (9)
60
where > 0. 80

Furthermore, the amplitude response of Hp(z) achieves


0 0.1 0.2 0.3 0.4 0.5 0.6
Angular frequency /
0.7 0.8 0.9 1
approximately the values of unity and 1/ 2 at = 0
Filter bank
and = /(2M ), respectively. 20
H0(z),F0(z) H1(z),F1(z) H2(z),F2(z) H3(z),F3(z)
0
As an example, Fig. 2 shows the prototype filter fre-

Amplitude in dB
20
quency response for M = 4, N = 63, and = 1 as
40
well as the responses for the filters Hk (z) and Fk (z) for
60
k = 0, 1, 2, 4.
80
It is seen that the filters Hk (z) and Fk (z) for k =
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1, 2, , M 2 are bandpass filters with the center fre- Angular frequency /

quency at = k = (2k + 1)/(2M ) around which the Figure 2: Example amplitude responses for the proto-
amplitude response is very flat having approximately type filter and for the resulting filters in the analysis
the value of unity. and synthesis banks for M = 4, N = 63, and = 1.

The amplitude response of these filters achieves ap- The stopband edge is at = (2 + )/(2M ) [ =

proximately the value of 1/ 2 at = k /(2M ) and (2 + )/(2M )].
the stopband edges are at = k s. The impulse responses for the prototype filter as
H0(z) and F0(z) [HM 1(z) and FM 1(z)] are lowpass well as those for the filters in the banks are shown in
(highpass) filters with the amplitude response being flat Figs. 3 and 4, respectively.
around = 0 ( = ) and achieving approximately the In this case, the impulse responses for the filtes in

value 1/ 2 at = /M ( = /M ). the bank have been generated according to Eq. (4).

15 16

Prototype filter H0(z) H1(z)


0.15 0.3

0.2
Impulse response

Impulse response
Impulse response

0.2
0.1

0.1 0
0.05
0
0 0.2

0.1
0 20 40 60 0 20 40 60
0.05 n in samples n in samples
0 10 20 30 40 50 60
n in samples H2(z) H3(z)

Figure 3: Impulse response for the prototype filter in 0.2 0.2


Impulse response

Impulse response

the case of Fig. 2.


0 0
If Hp(z) satisfies Eq. (7), then both of the above-
0.2 0.2
mentioned modulation schemes have the very important
property that the maximum amplitude values of the 0 20 40
n in samples
60 0 20 40
n in samples
60

aliased transfer functions Tl (z) for l = 1, 2, , M 1 F0(z) F1(z)


0.3
are guaranteed to be approximately equal to the max- 0.2
Impulse response

Impulse response

0.2
imum stopband amplitude values of the filters in the
0.1 0
bank [2], as will be seen in connection with the exam-
ples of Section 5. 0
0.2

If smaller aliasing error levels are desired to be 0.1


0 20 40 60 0 20 40 60
n in samples n in samples
achieved, then additional constraints must be imposed F2(z) F3(z)

on the prototype filter. 0.2 0.2


Impulse response

Impulse response

This will be considered in the next section.


0 0
In the case of the perfect reconstruction, the addi-
tional constraints are so strict that they actually re- 0.2 0.2

duce the number of adjustable parameters of the pro- 0 20 40


n in samples
60 0 20 40
n in samples
60

totype filter, as will be seen in Section 4. Figure 4: Impulse responses for the filters in the bank
in the case of Fig. 2.
17 18

3 General Optimization Problems for the Proto- Problem II. Given , M , and N , find the coefficients of
type Filter Hp(z) to minimize

This section states two optimization problems for de- E = max |Hp(ej )| (11)
[s , ]
signing the prototype filter in such a way that the
subject to the conditions of Eqs. (10c) and (10d).
overall filter bank possesses a nearly perfect-reconstruc-
tion property.
Efficient algorithms are then briefly described for
solving these problems.
3.1 Statement of the Problems
We consider the following two general optimization
problems:

Problem I. Given , M , and N , find the coefficients of


Hp(z) to minimize
Z
E2 = |Hp(ej )|2d, (10a)
s

where
s = (1 + )/(2M ) (10b)

subject to

1 1 |T0(ej )| 1 + 1 , [0, ] (10c)

and

|Tl (ej )| 2, [0, ] for l = 1, 2, , M 1.


(10d)

19 20

3.2 Algorithm for Solving Problem I where


Z
This contribution concentrates on the case where N , (, ) = 4 cos( 1/2) cos( 1/2)d
s
the order of the prototype filter, is odd (the length

N + 1 is even). 2 2s 2 sin[(2 1)s] ,

=
= 2 1
This is because for the perfect-reconstruction case N
2 sin[( + 1)s] 2 sin[( )s] , =
6 .
is restricted to be odd, as will be seen in the following + 1
(13b)
section.
|Tl (, ej )| for l = 0, 1, , M 1, in turn, can be
For N odd, the frequency response of the prototype
written as shown in the article mentioned in the first
filter is expressible as
page of this part of lecture notes.
j
Hp(, e ) = To solve Problem I, we discretize the region [0, /M ]
(N +1)/2
X into the discrete points j [0, /M ] for j =
2ej(N 1)/2 hp[(N + 1)/2 n] cos[(n 1/2)],
1, 2, , J0.
n=1
(12a) In many cases, J0 = N is a good selection to arrive
where at a very accurate solution.
= [hp(0), hp(1), , h[(N 1)/2] (12b) The resulting discrete problem is to find to mini-
mize
denotes the adjustable parameter vector of the proto-  = E2(), (14a)
type filter.
where E2() is given by Eq. (13) subject to
After some manipulations, Eq. (10a) is expressible as
gj () 0, j = 1, 2, , J, (14b)
E2() E2 =
(N +1)/2 (N +1)/2 where
X X
hp[(N + 1)/2 ]hp[(N + 1)/2 ](, ), J = b(M + 2)/2cJ0, (14c)
=1 =1
(13a) gj () = ||T0(, ejj )| 1| 1 , j = 1, 2, , J0, (14d)
21 22

and and
glJ0+j () = |Tl (, ejj )| 2 , l = 1, 2, , bM/2c, hl () = 0, l = 1, 2, , L, (15b)

j = 1, 2, , J0. where
(14f ) J = bM/2cJ0, (15c)
In the above, the region [0, /M ], instead of [0, ], L = J0 ,
has been used since the |Tl (, ej )|s are periodic with jj
g(l1)J0 +j () = |Tl (, e )| 2, l = 1, 2, , bM/2c,
periodicity equal to 2/M .
j = 1, 2, , J0,
Furthermore, only the first b(M + 2)/2c |Tl (, ej )|s (15d)
j j
have been used since |Tl (, e )| = |TM l (, e )| for l = and
1, 2, , b(M 1)/2c.
hl () = ||T0(, ejj )| 1|, l = 1, 2, , L. (15e)
The above problem can be solved conveniently by us-
ing the second algorithm of Dutta and Vidyasagar [7]. This problem can also be solved conveniently using
The details can be found in the article mentioned in the Dutta-Vidyasagar algorithm.
the first page of this part of lecture notes.
Since the optimization problem is nonlinear in na-
ture, a good initial starting point for the vector is
needed.
This can be obtained by finding a corresponding vec-
tor in the perfect-reconstruction case to be considered
in the next section.
If it is desired that |T0(, ej )| 1 [4], then the re-
sulting discrete problem is to find to minimize  as
given by Eq. (14a) subject to

gj () 0, j = 1, 2, , J (15a)

23 24

3.3 Algorithm for Solving Problem II 4. Perfect-Reconstruction Filter Banks

To solve Problem II, we discretize the region [s, ] This section introduces algorithms for designing effec-
into the discrete points i [s, ] for i = 1, 2, , I. tively the prototype filter for perfect-reconstruction fil-
In many cases, I = 20N is a good selection. The ter banks either in the least-mean-square sense or in
resulting discrete minimax problem is to find to min- the minimax sense.
imize Both of these algorithms are characterized by the de-
b() = max fi()
=E (16a) sired property that they enable us to design banks of
iI
filters with much higher lengths than the other existing
subject to
synthesis techniques.
gj () 0, j = 1, 2, , J, (16b)
4.1 Conditions for the Perfect Reconstruction
where
Under certain conditions, the output of the filter
fi() = |Hp(, eji )|, i = 1, 2, , I (16c)
bank is a delayed version of the output. These con-
and J and the gj ()s are given by Eqs. (14c), (14d),
ditions are T0(z) z N and Tl (z) 0 for l =
and (14e).
1, 2, , M 1 [8][14].
Again, the Dutta-Vidyasagar algorithm can be used
In this case, N + 1 = 2KM with K being an integer
to solve the above problem.
and only KbM/2c parameters are adjustable.
Also, the optimization of the prototype filter for the
In the sequel, the conditions for the prototype filter
case where |T0(, ej )| 1 can be solved like for Prob-
are given in the form suggested in [13]. This form can
lem I.
be used in a straightforward manner in optimizing the
Similarly, a good initial vector is obtained by find- prototype filter in the minimax or in the least mean-
ing a corresponding vector for the perfect-reconstruction square sense.
case.
The suggested form for the perfect reconstruction has
been derived by slightly modifying the conditions given
in [10].
25 26

In the following subsection, the connections of this Second, there are K constraints for each of the re-
form to those described in [10], [11] will be given. maining bM/2c sets of 2K g(n)s.
The prototype filter transfer function as given by These sets are given by
Eq. (2) can be expressed as r ={g(r), g(M + 1 r), g(M + r), g(2M + 1 r),

Hp(z) = Gp(z)/(M 2), (17a) g(2M + r), g(3M + 1 r), , g((K 1)M + r),

where g(KM + 1 r)} for r = 1, 2, , bM/2c.


(20)
KM
X
(KM 1/2) (n1/2) (n1/2) For the rth set r , the conditions can be expressed
Gp(z) = z g(n)[z +z ]. (17b)
n=1 in a convenient manner in terms of
Here, the hp(n)s are related to the g(n)s through
crk = cos(rk ) (21a)
hp(n) = hp(2KM 1 n) =g(KM n)/(M 2)
and
for n = 0, 1, , KM 1.
(18) srk = sin(rk ), (21b)

The basic reason for expressing the prototype filter where the rk s for k = 1, 2, . . . , K are the basic ad-
transfer function in the above form lies in the fact justable parameters.
that the conditions for the perfect reconstruction can To do this, the following (K 1)th-order polynomials
be stated conveniently with the aid of the g(n)s for in z 1 are first determined:
n = 1, 2, , KM . K1
X
Pr(K)(z) = pr (n)z n (22a)
First, these conditions imply that for M odd,
n=0
p
g((M + 1)/2) = 1/2 (19a) and
K1
X
and Q(K)
r (z) = qr (n)z n (22b)
n=0
g((M + 1)/2 + kM ) = 0 for k = 1, 2, , K 1. (19b) recursively as

For M even, this condition is absent. Pr(k)(z) = srk Pr(k1)(z) + crk z 1Qr(k1)(z) (23a)

27 28

and and
K 1
Q(k) (k1)
r (z) = crk Pr (z) srk z 1Qr(k1)(z) (23b) g((2k + 1)K + 1 r) =pr ( k)
2
with the initializations K1
for k = 0, 1, , .
2
Pr(1)(z) = sr1 (23c) (25d)
and The key point for using the rk s as the basic ad-
Q(1)
r (z) = cr1 . (23d) justable parameters lies in the fact that for any selec-
tion of these parameters the perfect-recontruction prop-
For K even, the desired conditions take then the fol-
erty can be achieved.
lowing form:
K K The zero-phase frequency response of the filter with
g(2kM + r) = pr ( + k) for k = 0, 1, , 1, (24a)
2 2 the transfer function Gp(z) can be written in terms of
K K the g(n)s as
g((2k + 1)M + r) = qr ( + k) for k = 0, 1, , 1,
2 2
(24b) KM
X
K K Gp(, ) = 2 g(n, ) cos[(n 1/2)], (26a)
g(2kM + 1 r) = pr ( k) for k = 1, 2, , , (24c)
2 2 n=1
and where is an KbM/2c length vector containing the
K K
g((2k 1)M + 1 r) = qr ( k) for k = 1, 2, , . adjustable parameters rk for r = 1, 2, , bM/2c and
2 2
(24d) k = 1, 2, , K, that is,
For K odd, they become = [11, 12, , 1K , 21, 22, , 2K ,
K 1 K1
g(2kM + r) = qr ( + k) for k = 0, 1, , , , bM/2c,1 , bM/2c,2, , bM/2c,K ]. (26b)
2 2
(25a)
K 1 K 1 The above notations are used to emphasize the de-
g((2k1)M +r) = pr ( +k) for k = 1, 2, , ,
2 2 pendences of g(n, ) and Gp(, ) on the basic ad-
(25b)
K 1 K 1 justable parameters.
g(2kM + 1 r) = qr ( k) for k = 1, 2, , ,
2 2
(25c)
29 30

4.2 Relations of the Proposed Adjustable Angles 0, 1, , K 1, the desired relations have the following
to Those of Existing Implementation Forms simple form:
r,k = /2 r+1,k+1 . (29)
There are very simple relations of the angles rk
to the corresponding angles used by Malvar in [14]
and Koilpillai and Vaidyanthan in [10] for generating
perfect-recontruction cosine-modulated filter banks.
For the angles considered in [14], denoted by rk for
r = 0, 1 , bM/2c 1 and k = 0, 1, , K 1, the rela-
tions are given by

r,2k = 3/2 r+1,K2k for k = 0, 1, , bK/2 1c (27a)

and

r,2k+1 = /2 + r+1,K2k1 for k = 0, 1, , bK/2c 1


(27b)
for K even.
For K odd, the corresponding relations take the fol-
lowing form:

r,2k = /2 + r+1,K2k for k = 0, 1, , bK/2c (28a)

and

r,2k+1 = 3/2 r+1,K2k1 for k = 0, 1, , bK/2c 1.


(28b)
For the corresponding angles considered in [10], again
denoted by rk for r = 0, 1 , bM/2c 1 and k =

31 32

4.3 Optimization Problems 4.4 Design Algorithm for Problem A

We consider the following two optimization problems: For Problem A, the objective function can be ex-

Problem A. Given M , K, and , find the unknowns pressed, after some manipulations, in the form
KM
X KM
X
rk for r = 1, 2, , bM/2c and k = 1, 2, , K to mini-
E2() = g(, )g(, )(, ), (32)
mize Z =1 =1
E2() = [Gp(, )]2d, (30a) where (, ) is given by Eq. (13b).
s
where The partial derivatives of E2() with respect to the
s = (1 + )/(2M ). (30b) unknowns rn r = 1, 2, , bM/2c and n = 1, 2, , K
are given by
Problem B. Given M , K, and , find the unknowns KM
E2() X KMX
rk for r = 1, 2, , bM/2c and k = 1, 2, , K to mini- =2 gbrn(, )g(, )(, ), (33a)
rn =1 =1
mize
E = max |Gp(, )| (31) where
[s , ] g(, )
gbrn(, ) = . (33b)
In the first case, the stopband energy of the pro- rn
totype filter is minimized, whereas in the second case Only the elements gbnk ((k 1)M + r, ) and gb(kM +
the maximum deviation of the amplitude response from r, ) for k = 1, 2, , K are nonzero.
zero in the stopband region is minimized. The values of these elements can be determined with
the aid of the angles rk for k = 1, 2, , K like those
of the elements g((k 1)M + r, ) and g(kM + r, ) for
k = 1, 2, , K according to Eqs. (21)(25).
The only exeption is that for k = n crn = sin(rn )
and srk = cos(rn ).
Knowing the partial derivates with respect to the
unknows, the optimum solution can be found in a
33 34

straightforward manner using, for instance, the Fletcher- 4.5 Practical Filter Design for Problem A
Powell algorithm [15].
This subsection illustrates, by means of an example,
The main advantage of the above formulation of the how to design effectively a cosine-modulated filter bank
optimization problem is the fact that when changing for large values of K and M .
the unknown angles during optimization, the overall fil-
It is desired to design a bank with M = 32 filters of
ter bank is guaranteed to have all the time the perfect-
length N + 1 = 512 (K = 8) for = 1.
recontruction property without having additional con-
A very fast procedure to arrive at least at a local
straints.
optimum is the following (see Fig. 5):
Step 1: Optimize the prototype filter for M = 2, K =
(0)
8, and = 1 using the initial values 1k = 0 for k =
1, 2, , 8.
Step 2: Optimize the filter for M = 4, K = 8, and
(2) (1)
= 1 using the initial values rk = 1k for r = 1, 2
(1)
and k = 1, 2, , 8, where the 1k s are the optimized
parameters of the previous step.
Step 3: Optimize the filter for M = 8, K = 8, and
(3) (2)
= 1 using the initial values rk = 1k for r = 1, 2
(3) (2) (2)
and rk = 2k for r = 3, 4, where the 1k s are the
optimized parameters of the previous step.
Step 4: Optimize the filter for M = 16, K = 8, and
(4) (3)
= 1 using the initial values rk = 1k for r = 1, 2,
(4) (3) (4) (3)
rk = 2k for r = 3, 4, rk = 3k for r = 5, 6, and
(4) (3) (3)
rk = 4k for r = 7, 8, where the 1k s are the opti-

35 36

mized parameters of the previous step.


Amplitude in dB

0
Step 1
Step 5: Optimize the filter for M = 32, K = 8, and 50

(5) (4) 100


= 1 using the initial values rk = 1k for r = 1, 2, 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(5) (4) (5) (4) (5) Angular frequency /
rk = 2k for r = 3, 4, rk = 3k for r = 5, 6, rk =
(4) (5) (4) (5) (4)
Amplitude in dB

0
4k for r = 7, 8, rk = 5k for r = 9, 10, rk = 6k Step 2
(5) (4) (5) (4) 50
for r = 11, 12, rk = 7k for r = 13, 14, and rk = 8k
100
(4)
for r = 15, 16. Here, where the 1k s are the optimized 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
parameters of the previous step.
Amplitude in dB

0
Step 3
For the initial filter at Step 1, g(1) = 1 and g(n) = 0 50

for n = 2, 3, , KM = 8. 100

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1


Angular frequency /
Correspondingly, hp(KM 1) = hp(KM ) = 1/(2 2)
Amplitude in dB

0
Step 4
and the remaining impulse response values are zero. 50

This has turned out to be a good starting point fil- 100


0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
ter at Step 1.
Amplitude in dB

0
The basic idea of performing Steps 2, 3, 4, and 5 as Step 5
50
described above lies in the fact that the transfer func-
100
tion obtained using the given initial values is express- 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
ible as
Figure 5: Design a perfect-reconstruction prototype fil-
e p(z 2 )(1 + z 1)/2,
Hp(z) = H (34) ter using a five-step procedure for M = 32, N +1 = 512,
e p(z) is the transfer function optimized at the
where H and = 1. The dashed and solid lines show the initial
and optimized responses, respectively.
previous step.
As seen from Fig. 5, this means that the amplitude
response of He p(z 2 ) is a frequency-axis compressed ver-
e
sion of that of H(z) in such a way that the interval
37 38

[0, 2] is shrunk onto [0, ]. two.


Therefore, it has an extra passband at = . This is After the optimization, this impulse response becomes
1 smooth as seen from Fig. 6.
partially attenuated by the term (1 + z )/2.
After the optimization, the extra peak around = Figure 7 shows in the perfect-reconstruction case the
is attenuated. prototype filter designed in the least-mean-square sense
It is interesting to observe from Fig. 5 that as M is as well as the filters in the bank for M = 32, N = 512,
1
increased, the term (1 + z )/2 provides a better atten- and = 1.
uation and the initial filter becomes close to the opti- Some characteristics of the resulting filter bank can
mized one. be found in Table I.
The above procedure enables us to design very fast In this table, the characteristics of the filter banks to
at least suboptimum filters for very high values of K be considered later on will be collected.
and M compared to the case where the overall filter is
designed using only a one-step procedure.
In the time domain, Eq. (34) means that the impulse
e p(z) through
response of Hp(z) is related to that of H
e
hp(2n) = e
hp(2n + 1) = hp(n)/2 ep,
for n = 0, 1, , N
(35)
ep is the order of H
where N e p(z).
As seen from Fig. 6, the impulse response of the ini-
tial filter is obtained from the optimized impulse re-
sponse of the previous step in two steps.
First, the impulse-response values are divided by two.
Then, the resulting values are repeated two times, in-
creasing the length of the resulting filter by a factor of

39 40

Table I: Comparison Between Various Banks of


Optimized filter at Step 2
0.15 M = 32 Filters for = 1
Impulse response

0.1 The filter length is N + 1 = 2KM


0.05 Boldface numbers show the fixed values.
0

0 10 20 30
n in samples
40 50 60 Design K N 1 2 E E2
3
Initial filter at Step 3 L2 8 511 0 0 1.2 10 7.4 109
0.08
dB 58 dB
Impulse response

0.06
L 8 511 0 0 2.3 104 7.5 108
0.04
dB 73 dB
0.02 L2 8 511 0.0001 2.3 106 1.0 105 5.6 1013
0 113 dB 100 dB
0 20 40 60 80 100 120 L 8 511 0.0001 1.1 105 5.1 106 3.8 1011
n in samples
99 dB 106 dB
Optimized filter at Step 3
0.08 L2 8 511 0 9.1 105 4.5 104 5.4 1010
81 dB 67 dB
Impulse response

0.06

0.04
L2 8 511 0.01 5.3 107 2.4 106 4.5 1014
126 dB 112 dB
0.02
L2 6 383 0.001 0.00001 1.7 104 2.8 1010
0
-100 dB 75 dB
0 20 40 60
n in samples
80 100 120
L2 5 319 0.01 0.0001 8.4 104 2.7 109
-80 dB 62 dB
Figure 6: Impulse responses for filters involved when
performing Step 3 in the proposed five-step procedure.
41 42

Figure 7: Least-squared perfect-reconstruction 4.6 Design algorithm for problem B


bank of M = 32 filters of length N +1 = 82M = 512
For Problem B, an efficient synthesis scheme based
for = 1.
on the use of the Jing-Fam algorithm [16], [17] has
Prototype Filter been described in [13].
0

Alternatively, the problem can be solved by using the


Amplitude in dB

50
Dutta-Vidyasagar algorithm.
100
To do this, we we discretize the region [s, ] into
150
0 0.1 0.2 0.3 0.4 0.5 0.6
Angular frequency /
0.7 0.8 0.9 1 the discrete points i [s, ] for i = 1, 2, , I.
Filter Bank
In many cases, I = 20N is a good selection.
0

The resulting discrete minimax problem is to find


Amplitude in dB

50
to minimize
100
b() = max fi(),
=E (36a)
iI
150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
where
10 Amplitude Error T0(z)zN
x 10
fi() = |Gp(, i)|, i = 1, 2, , I. (36b)
0.5
Figure 8 shows in the perfect-reconstruction case the
Amplitude

0
prototype filter designed in the minimax sense as well
0.5
as the filters in the bank for M = 32, N = 512, and
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
= 1.
15
x 10 WorstCase Aliased Term Tl(z)
2.5
Some characteristics of the resulting filter bank can
2
be found in Table I.
Amplitude

1.5

1
As can be expected, the minimum stopband attenu-
0.5
ation of the prototype filter is significantly higher for
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency / the minimax design compared to the least-squared de-

43 44

sign (73 dB compared to 58 dB). Figure 8: Minimax perfect-reconstruction bank


However, for the least-squared design, the stopband of M = 32 filters of length N + 1 = 8 2M = 512
energy is considerably lower (7.4 109 compared to 7.5 for = 1.
8
10 ). Prototype Filter
0
Amplitude in dB

50

100

150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
Filter Bank
0
Amplitude in dB

50

100

150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /

10
x 10 Amplitude Error T0(z)zN

0.5
Amplitude

0.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1


Angular frequency /
15
x 10 WorstCase Aliased Term Tl(z)
2.5

2
Amplitude

1.5

0.5

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Angular frequency /
45 46

5 Filters with Small Amplitude Distortion |T0(ej )| bank performance is improved and the aliasing errors
become smaller.
Filters with very small aliasing errors can be synthe-
This is illustrated in the least-mean-square case in
sized by allowing a small amplitude distortion |T0(ej )|
Figs. 11 and 12 for 1 = 0 and 1 = 0.01, respectively.
for high-order filters.
It is seen from Table I that for the perfect-reconstruc-
This is illustrated in Figs. 9 and 10 for the M = 32,
tion filter as well as for the filters with 1 = 0, 1 =
N + 1 = 512, and = 1 case, where 1 = 0.0001.
0.0001, and 1 = 0.1 the mininimum stopband attenu-
Figure 9 shows the amplitude responses of the least-
ations (the stopband energies) of the prototype filters
squared-error prototype filter and the corresponding fil-
are 58 dB, 67 dB, 106 dB, and 112 dB, respectively
ter bank as well as the amplitude response of T0(z)
(7.4 109, 5.4 1010, 5.6 1013, and 4.5 1014, respec-
z N and the worst-case aliased term Tl (z).
tively).
The corresponding results for the minimax design are
The corresponding minimum stopband attenuations of
shown in Fig. 10.
the worst-case aliased transfer functions are dB, 81
These filters have been optimized without considering dB, 113 dB, and 126 dB, respectively.
the aliasing errors.
When comparing these responses with those of Figs. 7
and 8, it is seen that the attenuations of both the pro-
totype filter and the filters in the bank have been im-
proved approximately by 40 dB at the expense of very
small aliasing errors and a very small amplitude distor-
tion (see also Table I).
For the least-squared design, 2 = 2.3 106 (113 dB)
and for the minimax design, 2 = 1.1 105 (99 dB)
By allowing a larger value for 1, both the filter

47 48

Figure 9: Least-squared bank of M = 32 filters of Figure 10: Minimax bank of M = 32 filters of


length N + 1 = 8 2M = 512 for = 1 and 1 = 0.0001. length N + 1 = 8 2M = 512 for = 1 and 1 = 0.0001.
Prototype Filter Prototype Filter
0 0
Amplitude in dB

Amplitude in dB

50 50

100 100

150 150
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
Angular frequency / Angular frequency /
Filter Bank Filter Bank
0 0
Amplitude in dB

Amplitude in dB

50 50

100 100

150 150
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
Angular frequency / Angular frequency /

4
x 10 Amplitude Error T0(z)zN 4
x 10 Amplitude Error T0(z)zN
1 1
Amplitude

Amplitude

0 0

1 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
Angular frequency / Angular frequency /
6
x 10 WorstCase Aliased Term Tl(z) 5
x 10 WorstCase Aliased Term Tl(z)
2.5 1.2
2 1
Amplitude

Amplitude

1.5 0.8
0.6
1
0.4
0.5 0.2
0 0
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
Angular frequency / Angular frequency /
49 50

Figure 11: Least-squared bank of M = 32 filters Figure 12: Least-squared bank of M = 32 filters
of length N + 1 = 8 2M = 512 for = 1 and 1 = 0. of length N +1 = 82M = 512 for = 1 and 1 = 0.01.
Prototype Filter Prototype Filter
0 0
Amplitude in dB

Amplitude in dB
50 50

100 100

150 150
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
Angular frequency / Angular frequency /
Filter Bank Filter Bank
0 0
Amplitude in dB

Amplitude in dB
50 50

100 100

150 150
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
Angular frequency / Angular frequency /

10
x 10 Amplitude Error T0(z)zN Amplitude Error T0(z)zN
0.01

0.5 0.005
Amplitude

Amplitude
0 0

0.5 0.005

0.01
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
Angular frequency / Angular frequency /
4
x 10 WorstCase Aliased Term Tl(z) 7
x 10 WorstCase Aliased Term Tl(z)
1 6

0.8 5

4
Amplitude

Amplitude
0.6
3
0.4
2
0.2 1

0 0
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
Angular frequency / Angular frequency /

51 52

6 General Examples lent.

This section illustrates, by means of two examples, These figures are directly the orders of the prototype
the flexibility of the general design technique for reduc- filters.
ing the lengths of the filters in the bank to achieve
practically the same filter bank performance as with
the perfect-reconstruction filter banks.
For both examples, M = 32, = 1, and the least-
mean-square criterion is used for optimizing the proto-
type filter.
For the first example, N + 1 = 384 (K = 6), 1 =
0.001, and 2 = 105 (a 100-dB attenuation).
For the second example, N + 1 = 320 (K = 5), 1 =
0.01, and 2 = 104 (a 80-dB attenuation).
Responses for the optimized filters are shown in
Figs. 13 and 14, respectively.
As seen from Table I (or by comparing Figs. 13
and 14 with Fig. 7), these two optimized prototype fil-
ters provide a better filter bank performance than the
perfect-reconstruction filter band with N + 1 = 512
(K = 8).
The main advantage of the above two filter banks
is that the delays caused by them are 383 samples
and 319 samples, respectively, compared to 511 samples
caused by the perfect-reconstruction filter bank equiva-
53 54

Figure 13: Least-squared bank of M = 32 filters Figure 14: Least-squared bank of M = 32 filters
of length N + 1 = 6 2M = 384 for for = 1, 1 = of length N +1 = 52M = 320 for for = 1, 1 = 0.01,
0.001, and 2 = 0.00001. and 2 = 0.0001.
Prototype Filter Prototype Filter

0 0

Amplitude in dB
Amplitude in dB

50 50

100 100

150 150
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
Angular frequency / Angular frequency /
Filter Bank Filter Bank

0 0

Amplitude in dB
Amplitude in dB

50 50

100 100

150 150
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
Angular frequency / Angular frequency /

3 Amplitude Error T0(z)zN Amplitude Error T0(z)zN


x 10
1 0.01

0.5 0.005

Amplitude
Amplitude

0 0

0.5 0.005

1 0.01
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
Angular frequency / Angular frequency /
5 WorstCase Aliased Term Tl(z) 4
x 10 WorstCase Aliased Term Tl(z)
x 10
1 1

0.8 Amplitude 0.8


Amplitude

0.6 0.6

0.4 0.4

0.2 0.2

0 0
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
Angular frequency / Angular frequency /

55 56

7. Implementation Aspects References

The most effective way of implementing cosine- [1] H. S. Malvar, Signal Processing with Lapped Transforms. Norwood:
Artech House, 1992.
modulated filter banks has been proposed by Malvar in [2] P. P. Vaidyanathan, Multirate Systems and Filter Banks. Englewood
[1] and [11]. Cliffs: Prentice-Hall , 1993.
[3] N. J. Fliege, Multirate Digital Signal Processing. Chichester: John Wi-
In this implementation, the protype filter in both the ley and Sons, 1994.
analysis and synthesis part is implemented at the lower [4] T. Q. Nguyen, Near-perfect-reconstruction pseudo-QMF banks, IEEE
Trans. Signal Proc., vol. 42, pp. 6376, Jan. 1994.
sampling rate using special butterflies.
[5] F. Mintzer, On half-band, third-band, and N th-band FIR filters and
The cosine modulation is implemented using a DCT their design, IEEE Trans. Acousts, Speech, Signal Process., vol.
ASSP-30, pp. 734738, Oct. 1982.
IV block.
[6] T. Saramaki and Y. Neuvo, A class of FIR Nyquist (N th-Band) fil-
In the next version of this pile of lecture notes, more ters with zero intersymbol interference, IEEE Trans. Circuits Syst.,
vol. CAS-34, pp. 11821190, Oct. 1987.
details are included.
[7] S. R. K. Dutta and M. Vidyasagar, New algorithms for constrained
minimax optimization, Mathematical Programming, vol. 13, pp. 140
155, 1977.
[8] H. S. Malvar, Modulated QMF filter banks with perfect reconstruc-
tion, Electron Lett., vol. 26, pp. 906907, June 21, 1990.
[9] T. A. Ramstad and J. P. Tanem, Cosine-modulated analysis-synthesis
filter bank with critical sampling and perfect reconstruction, in Proc.
IEEE Int. Conf. Acoust., Speech, Signal Process. (Toronto, Canada),
pp. 17891792, May 1991.
[10] R. D. Koilpillai and P. P. Vaidyanathan, New results on cosine-
modulated FIR filter banks satisfying perfect reconstruction, in Proc.
IEEE Int. Conf. Acoust., Speech, Signal Process. (Toronto, Canada),
pp. 17931796, May 1991.
[11] H. S. Malvar, Extended lapped transforms: Fast algorithms and ap-
plications, in Proc. IEEE Int. Conf. Acoust., Speech, Signal Process.
(Toronto, Canada), pp. 17971800, May 1991.
[12] R. D. Koilpillai and P. P. Vaidyanathan, Cosine-modulated FIR filter
banks satisfying perfect reconstruction, IEEE Trans. Signal Proc., vol.
40, pp. 770783, Apr. 1992.
57

[13 T. Saramaki, Designing prototype filters for perfect-reconstruction


cosine-modulated filter banks, in Proc. 1992 IEEE Int. Symp. Circuits
and Syst. (San Diego, CA), pp. 16051608, May 1992.
[14] H. S. Malvar, Extended lapped transforms: Properties, applications,
and fast algorithms, IEEE Trans. Signal Proc., vol. 40, pp. 2703
2714, Nov. 1992.
[15] R. Fletcher and M. J. D. Powell, A rapidly convergent descent
method for minimization, Comput. J., vol. 6, pp. 163168, 1963.
[16] Z. Q. Jing, Chebyshev design of digital filters by a new minimax
algorithm, Ph. D. dissertation, State University of New York at Buf-
falo, 1983.
[17] Z. Q. Jing and A. T. Fam, An algorithm for computing continuous
Chebyshev approximations, Mathematics of Computation, vol. 48, pp.
691710, Apr. 1987

S-ar putea să vă placă și