Sei sulla pagina 1di 6

ilter

Siemens AG, ZFE T SN2, Otto-Hahn Ring 6,

[3],
the magnitude and group delay specifications
of which are depicted in Fig. 1.

D-81739 Muenchen, Germany, currently on


leave at ICSI, 1947 Center Street, Berkeley,

CA 94704, storn8 icsi.berkeley.edu

o,3

/;ponljds

Requirements (2)

. . . . 0.05dB.

"

. . . . .

1.m -

Abstract - The task of designing an 18 parameter


IIR-filter (II R=inifinite impulse response) which
has to meet tight specifications for both
magnitude response and group delay is
investigated. This problem must usually be
tackeled by specialized design methods and
requires an expert in digital signal processing for
its solution. The usage of the genera! purpose
minimization method Differential Evolution (DE),
however, allows to perform the filter design with
a minimum knowledge about digital filters.

_ ....................................
,/
0.025dB

..........

%h(R)

'0.OldB
I..;O.OldB
.

o.Fo5

/
'.,........ :0:0?5dB.............................
.

3OSdP .

(a)
~

. .

CI

, j

, :

'

0.w

'

0.1

'

/ j
"

0.3

0.2

0.04938

0.2716 0.284

-n
0,3334

0.284 0.3934

0.395

Group Deloy Rsqulrements

"

'

" '

I. I ~ t r Q ~ ~ ~ t ~ ~ ~
I

IIR filters are generally applied in cases where


tight requirements for he magnitude response
are imposed upon the filter while phase or group
delay don't play a major role. Appropriate design
algorithms are widely available for this problem
domain [l],121.

01996

IEEE

0.2

0.9
0.284

'

Fig. 1: Tolerance schemes for magnitude and


group delay of a graphics codec [3].

In cases where linear or quasi linear phase is


required one usually resorts to FIR filters
(FIR=finite impulse response) which can provide
piecewise exactly linear phase, i.e. piecewise
constant group delay. Linearity of phase,
however, is only required in the pass band of a
filter which is why for some applications the
usage of FIR filters means an unnecessary high
realization expense. An example for this is a
graphics codec (GC) for sample rate reduction

0-7803-2902-3/96/$4.00

0.1

The specifications of Fig. 1 can be fulfilled by


employing a linear phase FIR filter of degree 61
141. As the tight passband specifications for the
magnitude can be fulfilled with an IIR filter of
comparably low degree, it seems worthwhile
trying to meet the specifications of Fig. 1 with an
llR approach even though the group delay
specifications will enforce a filter degree which is
higher than the one needed for just fulfilling the
magnitude requirements. The hope is to achieve
an overall reduced realization expense and a

268

For the case that (1) exhibits only real filter


coefficients an,, ,b the zeroes and poles of H(z)
are either real or appear in conjugate complex
pairs. It is common practice to decompose an IIR
filter into a cascade of subfilters of first and
second degree, rendering

lower overall filter delay. It has been shown in [5]


that via specialized design methods for IIR filters
which simultaneously consider magnitude and
phase requirements the IlR filter degree can be
reduced to 10. Specialized methods for IIR filter
design in the complex domain, however, are
usually not readily available and have the
disadvantage of being difficult to implement.
Hence it is attractive to perform the filter design
with a general purpose function minimizer which
is powerful enough to solve truly difficult design
problems and yet is simple to understand and to
implement. Differential Evolution (DE) [6] has
recently proven to be fast converging for a wide
variety of test cases while its implementation
takes less than 300 lines of C source code.

(7)
k=l

111. Design of the Objective Function


Like in [5] the graphics codec specifications from
Fig. 1 shall be met by a cascade of a seventh
order linear phase FIR pre-filter and an IIR filter
of order 10 with an overall magnitude response

cf"
3

A,,(Q) =

"

2 cos( 7zQ( v- 3.5))

V=Q

II. IIR Filter Equations


The analysis of IIR filters via the z-Transform is
well treated in the signal processing literature [7]
which is why only the necessary equations will be
given in the following. The transfer function H(z)
of an IIR filter is defined by

i=l

.a,

m=l

and the group delay

and

GG.(LI> = 1.75 -

r=l

a,
(U

1- 2r0,.cos(2n(Q- @, )) + r;
1- r,, .COS(2E(Q+ a,,))

1-2r0, * c o s ( 2 a 2 + @ Q , ) ) + r ;

is called tRe radian frequency and 0 , the

radian sampling frequency. The transfer function


(1) exhibits the zeroes

zo, - r,, .e PmOn


, n=l,2, ... , N

z
5

l-rot *cos(27c(R-@o,))

1-25, * c0s(27r(LI-@pJ))+ r;

;+

(4)
+

269

l-rpj .cos(27c(Q+@pj))

;
4

as well as the poles

1-rp, .COS(2~((Sp-@,,))

1 - 2 5 , * COS(27r(Q+ aPJ
)) + r-;

poles in the transition band or the stop


band of a filter.

as has been described more extensively in [8].


Like in [5],
the FIR filter coefficients remain fixed
to the values

4)

allow for phase compensation in the


passband.

fv = (-0.033271 -0.019816, 0.1 69865, 0.415454)


I

(10 )
5)

leaving only the radii and angles of poles and


zeroes of the IIR part as well as the constant a0
as free parameters. However, the value a0 in (8)
is a redundant parameter and should be fixed
during the optimization process. Otherwise the
optimization procedure has infinitely many global
optima to choose from. Hence the only
parameters that are varied in the objective
function are the radii and the angles of zeroes as
well as poles of the IIR filter. Note that the time
constant TO in Fig. 1 is not required to have a
specific value and therefore will be part of the
result of the design process rather than a
condition to be fulfilled.

Each violation of a penalty will be considered by


adding a positive value to the objective function.
The value itself depends on the extent of the
violation which is penalized. The greater the
violation the larger the penalty value will be
chosen. We now can build the objective function
f(@ where x is the parameter vector

x =G q 9 x 2 , . . * , 4

(11)

with the mapping

x, = ro,, i = 1,2,3,4,5
i = P,2,3,4,5

xiis = @,

and

xi+14
= QPi

where

All parameters have to be positive.


Although this restriction is not necessary
%orthe angles
it avoids

dev(A,,(Q)) = m a

redundant angle values.


The radii rp, of the poles must be < 1 to
ensure stability of the IIR filter.

3)

of the zeroes must be 5

values.

?apj

2)

The angles

0.5 in order to avoid redundant angle

As the 91R filter shall be designed by employing a


general purpose function minimizer, the design
problem has to be restated as an objective
function the minimization of which yields the
desired solution. The main part of the objective
function has been chosen to be very simple.
Basically it takes on the maximum absolute
deviation of either the magnitude response (8) or
the group delay (9) from the corresponding
constraints in Fig. I , whichever deviation is
greater. In addition several penalties are included
in the objective function which reflect special
knowledge of the filter design problem. These
penalties realize the following constraints:
1)

The radii roIof the zeroes must be 2 1 to

and

The angles Opjof the poles must be I


0.284 as it doesn't make sense to locate

270

i = 1,2,3,4

(12)

GGC(Q)-ghtgh(TO,n)

uniformly. The special version of DE which was


used to design the graphics codec is described
below.

GGC(Q)>ghigh(q7Ql

dev(G,,(Q))= max glow(T,3W-GGc(n)if

GGC(R)<glow(To,W

0 else

xi,G+l

In (18) TO is always computed such that the


maximum deviation from the requirements in Fig.
1 is minimal. The penalty terms Pp in (16) are
computed via
100.xi

if

xi e 0

&Si,G+l

(19)
(radii of zeroes s 1)

otherwise

as the amplification of the differential variation


-&r2,G)o
The search procedure centers

(zrl,G

(20)
p3

=?
-6

14

2 + 100 x i

If

(211

2+100 x, if

K=C
18

p5=c
145

the more around the current best vector the


closer F is set to 1. At the same time the weight
of the differential variation (&rl,G
is

otherwise

i-ll

(angles of zeroes s 0.5)

> 0.5

ohenvise

In order to increase the diversity of the new


parameter vectors, the vector

(22)

2+100 xi

increased in order prevent the search from


getting too local and greedy.

(radii of poles i1)

x, 21.

-zr2,Gl

-%,G)'F'(&,G

'F'(hst,G

with 5 , r2 E [0,NP - I], integer and mutually


different, and F > 0. The integers r1 r2 are
chosen randomly from the interval [0, NP-11 and
are different from the running index i. F is a real
and constant factor E [0, 11 which controls the
inclusion of the current best vector
as well

(all parameters 0)

X, < 1

=%,G

(25)

otherwise

if

x~,~,

For each vector


i = 0,1, 2 ,...,NP-1, a trial
is generated according to
vector

(18 )

if

xi >0.284

(angles of poles 5 0.284)

= ('OI,G+I

!!r,G+1

'li,G+I

**

'(D-l)r,G+l)

(26)

otherwise

with

(23)

'jiel=

xJiG

A parameter vector x for which the objective


function f(xJ is zero solves the filter design
problem.

(27)

the modulo function with modulus D. The starting


index n in (27)is a randomly chosen integer from
the interval [l,D]. The integer b, which denotes
the number of parameters that are going to be
exchanged, is drawn from the interval [ I I D] with
the probability Pr(L>=v) = (CR)V-l, v > 0. CR E
[O,l]is the crossover probability and constitutes
a control variable in the design process. The
random decisions for both n and L are made
anew for each newly generated Vector LJi,G+I, In
order to decide whether the new vector gi,G+1
shall become a population member of generation

DE [6] is a parallel direct search method which


utilizes NP D-dimensional parameter vectors

NP-1.

for all other je[O,O-l]

is formed where the acute brackets ( ),denote

W . Differential Evolution for Function


Minimization

< i , ~ ,i = 8,1, 2,...

vjiGel for s'=(n),,(n+l),,...,(n+L-~),

and correspond to the verbal penalty descriptions


given above.

(24)

as a population for each generation G, i.e. for


each iteration of the optimization process. NP
doesn't change during the minimization process.
The initial population is chosen randomly and
should try to cover the entire parameter space

27 1

If vector LJ~,G+~

G+1 it will be compared to

' ~ 7=

yields a smaller objective function value than


Xi,G+I is set to LJi,G+1, otherwise the old
value
is retained.

0.3745155931

XB

0.4304945767

0.02474720217

"10 =

0.1 109348238

XI=,

0.6369678974

"12 =

0.4702593982

"13 =

0.408888042

X14 =

0.8722907901

xi5 =

0.2370584458

XI6

0.125761658

0.05192748457

XI8 =

0.3109594584

xi.G

V. Design Results

xi7 =

The optimization task stated above was


undertaken using the initial settings: NP =300,
FzO.85, CR = I . and ao= 2-8 =0.00390625.

Groupdelay requlremenh

The elements of all parameters were initialized


with randomly chosen real values between 0 and
1. In order to properly detect the maximum in
eqs. (17) and (18) all functions were sampled at
100 equidistant points in the pass band &[O,
0.27161. In the transition bands and stop band C2
~[0.395,0.5]only 20 points were used resp. to
increase computational speed. No particular
effort was made to get fastest possible
convergence. With the above settings the filter
was designed after I 1 46 generations which
required 344100 evaluations of the objective
function. Overall computing time was several
hours on a 486DX computer with 5 0 M H Z clock
frequency. The resulting magnitude and group
delay response are depicted in Figs. 4 and 5.

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.284

Fig. 5: Group delay response of the filter


design solution for a0 = 0.00390625.
The filter design can be performed for many
different values of ao. Another design example is
given below. The settings were NP=300, F=0.85,
CR=1 and a,=O.Oi.

MagnltudsRsqulrsmsnh(1)

In this case DE needed 930 generations and


279300 function evaluations. The corresponding
parameter values resulting from the optimization
are
XI

1.70534277

~2

1.019881606

~3

1.558364391

~4

1.001873851

X5

1.829733968

x6

0.1320674717

Fig. 4: Magnitude response of the filter design


solution for a0 = 0.00390625.

X7

0.3776784241

X8

0.2309984416

~9 =

0.4321155548

X ~ O=

0.04620760679

The corresponding parameter values are:

"11 =

0.8493334651

~ 1 =
2

0.3932341039

xi3 =

0.6438843012

xi4 =

0.5428563952

xi5 =

0.30a99044a7

x16 =

0.01219726913

~ 7 7=

0.2359268814

x18 =

0.124328509

0.2

0.044938

0.3
0.2716 0.284

6.284 0.3334

0.3394

0.391

XI

1.620493889

X2

1.006124616

~3

1,016987443

X4

2.498671532

~5

1.919012547

0.2243566662

272

The magnitude an group delay responses are


shown in Figs. 6 and 7.

Magnhde Requiremenb (I)

0.3

menk (2)

"O'
I .ax

0.04938

0.2716 0.2aa

0.3334

0.284 0.3334

0.396

By using DE, however, just basic knowledge


about digital filters is required so that no experts
are needed for the design task. DE has the
additional advantage of being easy to
understand, simple to implement and easy to
work with so that DE can be used for a wide
variety of design and optimization tasks.

References
Rorabaugh, C.B., Digital Filter Designers
Handbook, McGraw-Hill, 1993.
MATLAB Application Toolbox Signal
Processing, 1994.
CClR Study Groups, Document 11/463-E,
1985.

Fig. 6: Magnitude response of the filter design


solution for a0 = 0.01.

Haase, J., Entwurf digitaler Filter mit


erhoehter Leistungsfaehigkeitoder
verringertem Aufwand, doctoral
dissertation, Inst. of Networks and
Systems Theory, University of Stuttgart,
1989.
Keinath, A., Entwurf digitaler Filter mit
Forderungen an Betrag und
Gruppenlaufzeit, doctoral dissertation, Inst.
of Networks and Systems Theory,
University of Stuttgart, 1992.

"0

Storn, R. and Price, K., Differential


Evolution - a simple and efficient adaptive
scheme for global optimization over
continuous spaces, Technical Report TR95-012, ICSI, http://
http.icsi.berkeley.edu/-storn/litera.html.

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.284

Fig. 7: Group delay response of the filter


design solution for a0 = 0.01

Rabiner, L.R. and Gold, B., Theory and


Applications of Digital Signal Processing,
Prentice-Hall, Englewood Cliffs, N.J., 1975.

W. Conclusion
It has been demonstrated that it is feasible to
design an 18 parameter IIR-filter according to 131
with requirements for both magnitude response
and group delay by employing the general
purpose minimization method of Differential
Evolution (DE). in general the above design
problem is a difficult one and requires
considerable expertise to be solved successfully.

Storn, R., Differential Evolution Design of


an IIR-Filter with Requirementsfor
Magnitude and Group Delay, Technical
Report TR-95-026, ICSI, http://
http.icsi.berkeley.edu/-stordlitera. html.

273

Potrebbero piacerti anche