In this section, a design procedure is developed that uses
a Chebyshev error criterion in both the passband and the stopband.
This is the fourth possible combination of Chebyshev and Taylor's
series approximations in the passband and stopband. The resulting
filter is called an elliptic-function filter, because elliptic
functions are normally used to calculate the pole and zero
locations. It is also sometimes called a Cauer filter or a rational
Chebyshev filter, and it has equal ripple approximation error in
both pass and stopbands [6], [5], [4], [7].
The error criteria of the elliptic-function filter are
particularly well suited to the way specifications for filters
are often given. For that reason, use of the elliptic-function
filter design usually gives the lowest order filter of the four
classical filter design methods for a given set of
specifications. Unfortunately, the design of this filter is the
most complicated of the four. However, because of the efficiency
of this class of filters, it is worthwhile gaining some
understanding of the mathematics behind the design procedure.
This section sketches an outline of the theory of elliptic-
function filter design. The details and properties of the elliptic
functions themselves should simply be accepted, and attention put on
understanding the overall picture. A more complete development is
available in [6], [3]. Straightforward design of elliptic-function
filters can be accomplished by skipping this section and going directly to
Program 8 in the appendix or by using Matlab. However, it is important to
understand the basics of the underlying theory to use the packaged design
programs intelligently.
Because both the passband and stopband approximations are
over the entire bands, a transition band between the two must be
defined. Using a normalized passband edge, the bands are defined by
0
<
ω
<
1
passband
0
<
ω
<
1
passband
(1)
1
<
ω
<
ω
s
transition
band
1
<
ω
<
ω
s
transition
band
(2)
ω
s
<
ω
<
∞
stopband
ω
s
<
ω
<
∞
stopband
(3)
This is illustrated in Figure .
The characteristics of the elliptic function
filter are best described in terms of the four parameters that
specify the frequency response:
- The maximum variation or ripple in the passband δ1δ1,
- The width of the transition band (ωs-1)(ωs-1),
- The maximum response or ripple in the stopband δ2δ2, and
- The order of the filter NN.
The result of the design is that for any three of the parameters
given, the fourth is minimum. This is a very flexible and
powerful description of a filter frequency response.
The form of the frequency-response function is a
generalization of that for the Chebyshev filter
F
F
(
j
ω
)
=
|
F
(
j
ω
)
|
2
=
1
1
+
ϵ
2
G
2
(
ω
)
F
F
(
j
ω
)
=
|
F
(
j
ω
)
|
2
=
1
1
+
ϵ
2
G
2
(
ω
)
(4)
where
F
F
(
s
)
=
F
(
s
)
F
(
-
s
)
F
F
(
s
)
=
F
(
s
)
F
(
-
s
)
(5)
with F(s)F(s) being the prototype analog filter transfer
function similar to that for the Chebyshev filter. G(ω)G(ω) is a
rational function that approximates zero in the passband and infinity in
the stopband. The definition of this function is a generalization of the
definition of the Chebyshev polynomial.
In order to develop analytical expressions for equal-ripple
rational functions, an interesting class of transcendental
functions, called the Jacobian elliptic functions, is outlined.
These functions can be viewed as a generalization of the normal
trigonometric and hyperbolic functions. The elliptic integral of the
first kind [1] is defined as
u
(
φ
,
k
)
=
∫
0
φ
d
y
1
-
k
2
sin
2
(
y
)
u
(
φ
,
k
)
=
∫
0
φ
d
y
1
-
k
2
sin
2
(
y
)
(6)
The trigonometric sine of the inverse of this
function is defined as the Jacobian elliptic sine of uu with
modulus kk, and is denoted
s
n
(
u
,
k
)
=
sin
(
φ
(
u
,
k
)
)
s
n
(
u
,
k
)
=
sin
(
φ
(
u
,
k
)
)
(7)
A special evaluation of (Equation 6) is known as the complete elliptic
integral K=u(π/2,k)K=u(π/2,k). It can be shown [1] that sn(u)sn(u) and
most of the other elliptic functions are periodic with periods 4K4K if uu
is real. Because of this, KK is also called the “quarter period". A plot
of sn(u,k)sn(u,k) for several values of the modulus kk is shown in
Figure 2.
For k=0, sn(u,0)=sin(u)sn(u,0)=sin(u). As kk approaches 1, the sn(u,k)sn(u,k)
looks like a "fat" sine function. For k=1k=1, sn(u,1)=tanh(u)sn(u,1)=tanh(u)
and is not periodic (period becomes infinite).
The quarter period or complete elliptic integral KK is a
function of the modulus kk and is illustrated in Figure 3.
For a modulus of zero, the quarter period is K=π/2K=π/2 and it
does not increase much until k nears unity. It then increases
rapidly and goes to infinity as kk goes to unity.
Another parameter that is used is the complementary modulus
k'k' defined by
k
2
+
k
'
2
=
1
k
2
+
k
'
2
=
1
(8)
where both kk and k'k' are assumed real and between 0 and 1. The
complete elliptic integral of the complementary modulus is denoted
K'K'.
In addition to the elliptic sine, other elliptic functions
that are rather obvious generalizations are
c
n
(
u
,
k
)
=
c
o
s
(
φ
(
u
,
k
)
)
c
n
(
u
,
k
)
=
c
o
s
(
φ
(
u
,
k
)
)
(9)
s
c
(
u
,
k
)
=
t
a
n
(
φ
(
u
,
k
)
)
s
c
(
u
,
k
)
=
t
a
n
(
φ
(
u
,
k
)
)
(10)
c
s
(
u
,
k
)
=
c
t
n
(
φ
(
u
,
k
)
)
c
s
(
u
,
k
)
=
c
t
n
(
φ
(
u
,
k
)
)
(11)
n
c
(
u
,
k
)
=
s
e
c
(
φ
(
u
,
k
)
)
n
c
(
u
,
k
)
=
s
e
c
(
φ
(
u
,
k
)
)
(12)
n
s
(
u
,
k
)
=
c
s
c
(
φ
(
u
,
k
)
)
n
s
(
u
,
k
)
=
c
s
c
(
φ
(
u
,
k
)
)
(13)
There are six other elliptic functions that have no trigonometric
counterparts [1]. One that is needed is
d
n
(
u
,
k
)
=
1
-
k
2
s
n
2
(
u
,
k
)
d
n
(
u
,
k
)
=
1
-
k
2
s
n
2
(
u
,
k
)
(14)
Many interesting properties of the elliptic functions exist
[1]. They obey a large set of identities such as
s
n
2
(
u
,
k
)
+
c
n
2
(
u
,
k
)
=
1
s
n
2
(
u
,
k
)
+
c
n
2
(
u
,
k
)
=
1
(15)
They have derivatives that are elliptic functions. For example,
d
s
n
d
u
=
c
n
d
n
d
s
n
d
u
=
c
n
d
n
(16)
The elliptic functions are the solutions of a set of nonlinear
differential equations of the form
x
'
'
+
a
x
±
b
x
3
=
0
x
'
'
+
a
x
±
b
x
3
=
0
(17)
Some of the most important properties for the elliptic functions
are as functions of a complex variable. For a purely imaginary
argument
s
n
(
j
v
,
k
)
=
j
s
c
(
v
,
k
'
)
s
n
(
j
v
,
k
)
=
j
s
c
(
v
,
k
'
)
(18)
c
n
(
j
v
,
k
)
=
n
c
(
v
,
k
'
)
c
n
(
j
v
,
k
)
=
n
c
(
v
,
k
'
)
(19)
This indicates that the elliptic functions, in contrast to the
circular and hyperbolic trigonometric functions, are periodic in
both the real and the imaginary part of the argument with periods
related to KK and K'K', respectively. They are the only class
of functions that are “doubly periodic".
One particular value that the snsn function takes on that is
important in creating a rational function is
s
n
(
K
+
j
K
'
,
k
)
=
1
/
k
s
n
(
K
+
j
K
'
,
k
)
=
1
/
k
(20)
The rational function G(ω)G(ω) needed in (Equation 4) is sometimes called a
Chebyshev rational function because of its equal-ripple properties.
It can be defined in terms of two elliptic functions with moduli kk
and k1k1 by
G
(
ω
)
=
s
n
(
n
s
n
-
1
(
ω
,
k
)
,
k
1
)
G
(
ω
)
=
s
n
(
n
s
n
-
1
(
ω
,
k
)
,
k
1
)
(21)
In terms of the intermediate complex variable φφ, G(ω)G(ω)
and ωω become
G
(
ω
)
=
s
n
(
n
φ
,
k
1
)
G
(
ω
)
=
s
n
(
n
φ
,
k
1
)
(22)
ω
=
s
n
(
φ
,
k
)
ω
=
s
n
(
φ
,
k
)
(23)
It can be shown [3] that G(ω)G(ω) is a real-valued rational
function if the parameters kk, k1k1, and nn take on special
values. Note the similarity of the definition of G(ω)G(ω) to
the definition of the Chebyshev polynomial CN(ω)CN(ω). In this case,
however, n is not necessarily an integer
and is not the order of the filter. Requiring that G(ω)G(ω) be a
rational function requires an alignment of the imaginary periods
[3] of the two elliptic functions in (Equation 22,Equation 23). It also requires
alignment of an integer multiple of the real periods. The integer
multiplier is denoted by NN and is the order of the resulting
filter [3]. These two requirements are stated by the following
very important relations:
n
K
'
=
K
1
'
alignment
of
imaginary
periods
n
K
'
=
K
1
'
alignment
of
imaginary
periods
(24)
n
K
=
N
K
1
alignment
of
a
multiple
of
the
real
periods
n
K
=
N
K
1
alignment
of
a
multiple
of
the
real
periods
(25)
which, on removing the parameter nn, become
K
1
K
N
=
K
1
'
K
'
K
1
K
N
=
K
1
'
K
'
(26)
or
N
=
K
K
1
'
K
'
K
1
N
=
K
K
1
'
K
'
K
1
(27)
These relationships are central to the design of elliptic- function
filters. NN is an odd integer which is the order of the filter. For N=5N=5, the resulting rational function is shown in Figure 4.
This function is the basis of the approximation necessary
for the optimal filter frequency response. It approximates zero over the
frequency range -1<ω<1-1<ω<1 by an equal-ripple oscillation between
±1±1. It also approximates infinity over the range 1/k<|ω|<∞1/k<|ω|<∞ by a reciprocal oscillation that keeps |F(ω)|>1/k1|F(ω)|>1/k1. The
zero approximation is normalized in both the frequency range and the
F(ω)F(ω) values to unity. The infinity approximation has its frequency
range set by the choice of the modulus kk, and the minimum value of
|F(ω)||F(ω)| is set by the choice of the second modulus k1k1.
If kk and k1k1 are determined from the filter specifications,
they in turn determine the complementary moduli k'k' and k1'k1',
which altogether determine the four values of the complete elliptic
integral KK needed to determine the order NN in (Equation 27). In
general, this sequence of events will not result in an integer. In
practice, however, the next larger integer is used, and either kk
or k1k1 (or perhaps both) is altered to satisfy (Equation 27).
In addition to the two-band equal-ripple characteristics,
G(ω)G(ω) has another interesting and valuable property. The pole and
zero locations have a reciprocal relationship that can be expressed
by
G
(
ω
)
G
(
ω
s
/
ω
)
=
1
/
k
1
G
(
ω
)
G
(
ω
s
/
ω
)
=
1
/
k
1
(28)
where
ω
s
=
1
/
k
ω
s
=
1
/
k
(29)
This states that if the zeros of G(ω)G(ω) are located at
ωziωzi, the poles are located at
ω
p
i
=
1
/
(
k
ω
z
i
)
ω
p
i
=
1
/
(
k
ω
z
i
)
(30)
If the zeros are known, the poles are known, and vice versa. A
similar relation exists between the points of zero derivatives in
the 0 to 1 region and those in the 1/k1/k to infinity region.
The zeros of G(ω)G(ω) are found from (Equation 22) by requiring
G
(
ω
)
=
s
n
[
n
φ
,
k
1
]
=
0
G
(
ω
)
=
s
n
[
n
φ
,
k
1
]
=
0
(31)
which implies
n
φ
=
2
K
1
i
nφ=2
K
1
i
for
i
=
0,1,...
i=0,1,...
From Equation 21, this gives
ω
zi
=
sn
[
2
K
1
i
/
n,k
],
ω
zi
=sn[2
K
1
i/n,k],
i
=
0,1,...
i=0,1,...
This can be reformulated using (Equation 25) so that nn and K1K1 are not
needed. For NN odd, the zero locations are
ω
zi
=
sn
[
2
K
1
i
/
N,k
],
ω
zi
=sn[2
K
1
i/N,k],
i
=
0,1,...
i=0,1,...
The pole locations are found from these zero locations using
(Equation 30). The locations of the zero-derivative points are given by
ω
d
i
=
s
n
[
K
(
2
i
+
1
)
/
N
,
k
]
ω
d
i
=
s
n
[
K
(
2
i
+
1
)
/
N
,
k
]
(32)
in the 0 to 1 region, and the corresponding points in
the 1/k to infinity region are found from (Equation 30).
The above relations assume N to be an odd integer. A
modification for N even is necessary. For proper alignment of the
real periods, the original definition of G(ω)G(ω) is
changed to
G
(
ω
)
=
s
n
[
φ
+
K
1
,
k
1
]
G
(
ω
)
=
s
n
[
φ
+
K
1
,
k
1
]
(33)
which gives for the zero locations with N even
ω
z
i
=
s
n
[
(
2
i
+
1
)
K
1
/
n
,
k
]
ω
z
i
=
s
n
[
(
2
i
+
1
)
K
1
/
n
,
k
]
(34)
The even and odd N cases can be combined to
give
ω
z
i
=
±
s
n
(
i
K
/
N
,
k
)
ω
z
i
=
±
s
n
(
i
K
/
N
,
k
)
(35)
for
i
=
0
,
2
,
4
,
.
.
.
,
N
-
1
for
N
odd
i
=
0
,
2
,
4
,
.
.
.
,
N
-
1
for
N
odd
(36)
i
=
1
,
3
,
5
,
.
.
.
,
N
-
1
for
N
even
i
=
1
,
3
,
5
,
.
.
.
,
N
-
1
for
N
even
(37)
with the poles determined from (Equation 30).
Note that it is possible to determine G(ω)G(ω) from k and N
without explicitly using k1k1 or nn. Values for k1k1 and nn are
implied by the requirements of (Equation 29) or (Equation 28).
Zero Locations
The locations of the zeros of the filter transfer function
F(ω)F(ω) are easily found since they are the same as the poles of
G(ω)G(ω), given in (Equation 35).
ω
z
i
=
±
1
k
s
n
(
i
K
/
N
,
k
)
ω
z
i
=
±
1
k
s
n
(
i
K
/
N
,
k
)
(38)
for
i
=
0
,
2
,
4
,
.
.
.
,
N
-
1
N
odd
i
=
0
,
2
,
4
,
.
.
.
,
N
-
1
N
odd
(39)
i
=
1
,
3
,
5
,
.
.
.
,
N
-
1
N
even
i
=
1
,
3
,
5
,
.
.
.
,
N
-
1
N
even
(40)
These zeros are purely imaginary and lie on the ωω axis.
Pole Locations
The pole locations are somewhat more complicated to find. An
approach similar to that used for the Chebyshev filter is
used here. FF(s)FF(s) becomes infinite when
1
+
ϵ
2
G
2
=
0
1
+
ϵ
2
G
2
=
0
(41)
or
G
=
±
j
(
1
/
ϵ
)
G
=
±
j
(
1
/
ϵ
)
(42)
Using (Equation 22) and the periodicity of sn (u,k) , this implies
G
=
s
n
(
n
φ
+
2
K
1
i
,
k
1
)
=
±
j
1
/
ϵ
G
=
s
n
(
n
φ
+
2
K
1
i
,
k
1
)
=
±
j
1
/
ϵ
(43)
or
φ
=
(
-
2
K
1
i
+
s
n
-
1
(
j
1
/
e
,
k
1
)
)
/
n
φ
=
(
-
2
K
1
i
+
s
n
-
1
(
j
1
/
e
,
k
1
)
)
/
n
(44)
Define ν0ν0 to be the second term in (Equation 44) by
j
ν
0
=
(
s
n
-
1
(
j
1
/
e
,
k
1
)
)
/
n
j
ν
0
=
(
s
n
-
1
(
j
1
/
e
,
k
1
)
)
/
n
(45)
which is similar to the equation for the Chebyshev case. Using properties
of snsn of an imaginary variable and (Equation 26), ν0ν0 becomes
ν
0
=
(
K
/
N
K
1
)
s
c
-
1
(
1
/
ϵ
,
k
'
)
ν
0
=
(
K
/
N
K
1
)
s
c
-
1
(
1
/
ϵ
,
k
'
)
(46)
The poles are now found from (Equation 22,Equation 23), (Equation 44), and (Equation 46) to be
s
p
i
=
j
s
n
(
K
i
/
N
+
j
ν
0
,
k
)
s
p
i
=
j
s
n
(
K
i
/
N
+
j
ν
0
,
k
)
(47)
This equation can be more clearly written by using the summation
formula [1] for the elliptic sine function to give
s
p
i
=
c
n
d
n
s
n
'
c
n
'
+
j
s
n
d
n
'
1
-
d
n
2
s
n
'
2
s
p
i
=
c
n
d
n
s
n
'
c
n
'
+
j
s
n
d
n
'
1
-
d
n
2
s
n
'
2
(48)
where
s
n
=
s
n
(
K
i
/
N
,
k
)
,
c
n
=
c
n
(
K
i
/
N
,
k
)
,
d
n
=
d
n
(
K
i
/
N
,
k
)
s
n
=
s
n
(
K
i
/
N
,
k
)
,
c
n
=
c
n
(
K
i
/
N
,
k
)
,
d
n
=
d
n
(
K
i
/
N
,
k
)
(49)
s
n
'
=
s
n
(
ν
0
,
k
'
)
,
c
n
'
=
c
n
(
ν
0
,
k
'
)
,
d
n
'
=
d
n
(
ν
0
,
k
'
)
s
n
'
=
s
n
(
ν
0
,
k
'
)
,
c
n
'
=
c
n
(
ν
0
,
k
'
)
,
d
n
'
=
d
n
(
ν
0
,
k
'
)
(50)
for
i
=
0
,
2
,
4
,
.
.
.
.
N
odd
i
=
0
,
2
,
4
,
.
.
.
.
N
odd
(51)
i
=
1
,
3
,
5
,
.
.
.
.
N
even
i
=
1
,
3
,
5
,
.
.
.
.
N
even
(52)
The theory of Jacobian elliptic functions can be found in
[1] and its application to filter design in [6], [3], [7]. The
best techniques for calculating the elliptic functions seem to use the
arithmetic-geometric mean; efficient algorithms are presented in
[2]. A design program is given in [6] and a versitile
FORTRAN program that is easily related to the theory in this chapter is
given as Program 8 in the appendix of this book. Matlab has a powerful
elliptic function filter design command as well as accurate algorithms for
evaluating the Jacobian elliptic functions and integrals.
An alternative to the use of elliptic functions for finding
the transfer function F(s)F(s) pole locations is to obtain the zeros
from (Equation 38), then find G(ω)G(ω) using the reciprocal relation of the
poles and zeros (Equation 30). F(s)F(s) is constructed from G(ω)G(ω) and ϵϵ from
(Equation 4), and the poles are found using a root-finding algorithm.
Another possibility is to find the zeros from (Equation 38) and the poles
from the methods for finding a Chebyshev passband from arbitrary
zeros. These approaches avoid calculating ν0ν0 by (Equation 46) or
determining kk from K/K'K/K', as is described in [2]. The
efficient algorithms for evaluating the elliptic functions and the
common use of powerful computers make these alternatives less
attractive now.
Summary
In this section the basic properties of the Jacobian
elliptic functions have been outlined and the necessary
conditions given for an equal-ripple rational function to be
defined in terms of them. This rational function was then used to
construct a filter transfer function with equal-ripple
properties. Formulas were derived to calculate the pole and zero
locations for the filter transfer functions and to relate design
specifications to the functions. These formulas require the
evaluation of elliptic functions and are implemented in Program 8
in the appendix.
The equal-ripple rational function G(ω)G(ω) is used to describe
an optimal frequency-response function F(jω)F(jω) and to design
the corresponding filter. The squared-magnitude frequency-response
function is
|
F
(
j
ω
)
|
2
=
1
1
+
ϵ
2
G
(
ω
)
2
|
F
(
j
ω
)
|
2
=
1
1
+
ϵ
2
G
(
ω
)
2
(53)
with G(ω)G(ω) defined by Jacobian Elliptic functions, and ϵϵ
being a parameter that controls the passband ripple. The plot of this
function for N=3N=3 illustrates the relation to the various specification
parameters.
From "Elliptic-Function Filter Properties", it is seen that the passband ripple is
measured by δ1δ1, the stopband ripple by δ2δ2, and the
normalized transition band by ωsωs. The previous section showed
that
ω
s
=
1
/
k
ω
s
=
1
/
k
(54)
which means that the width of the transition band determines kk. It
should be remembered that this development has assumed a passband
edge normalized to unity. For the unnormalized case, the passband
edge is ωpωp and the stopband edge becomes
ω
s
=
ω
p
k
ω
s
=
ω
p
k
(55)
The stopband performance is described in terms of the ripple δ2δ2
normalized to a maximum passband response of unity, or in terms of the
attenuation b in the stopband expressed in positive dB assuming a maximum
passband response of zero dB. The stopband ripple and attenuation are
determined from (Equation 53) and "Elliptic-Function Filter Properties" to be
δ
2
2
=
10
-
b
/
10
=
1
1
+
ϵ
2
/
k
1
2
δ
2
2
=
10
-
b
/
10
=
1
1
+
ϵ
2
/
k
1
2
(56)
This can be rearranged to give k1k1 in terms of the stopband ripple
or attenuation.
k
1
2
=
ϵ
2
1
/
δ
2
2
-
1
=
ϵ
2
10
b
/
10
-
1
k
1
2
=
ϵ
2
1
/
δ
2
2
-
1
=
ϵ
2
10
b
/
10
-
1
(57)
The order NN of the filter depends on kk and k1k1, as shown
in (Equation 27). Equations (Equation 55), (Equation 57), and (Equation 27) determine the
relation of the frequency-response specifications and the
elliptic-function parameters. The location of the transfer function
poles and zeros must then be determined.
Because of the required relationships of (Equation 27) and the fact
that the order NN must be an integer, the passband ripple, stopband
ripple, and transition band cannot be independently set. Several
straightforward procedures can be used that will always meet two of
the specifications and exceed the third.
The first design step is generally the determination of the
order NN from the desired passband ripple δ1δ1, the stopband
ripple δ2δ2, and the transition band controlled by ωsωs.
The following formulas determine the moduli kk and k1k1 from the
passband ripple δ1δ1 or its dB equavilent a, and the stopband
ripple δ2δ2 or its dB attenuation equivalent b:
ϵ
=
2
δ
1
-
δ
1
2
1
-
2
δ
1
-
δ
1
2
=
10
a
/
10
-
1
ϵ
=
2
δ
1
-
δ
1
2
1
-
2
δ
1
-
δ
1
2
=
10
a
/
10
-
1
(58)
k
1
=
ϵ
1
/
δ
2
2
-
1
=
ϵ
10
b
/
10
-
1
k
1
=
ϵ
1
/
δ
2
2
-
1
=
ϵ
10
b
/
10
-
1
(59)
k
1
'
=
1
-
k
1
2
k
1
'
=
1
-
k
1
2
(60)
k
=
ω
p
/
ω
s
k
'
=
1
-
k
2
k
=
ω
p
/
ω
s
k
'
=
1
-
k
2
(61)
The order NN is the smallest integer satisfying
N
≥
K
K
1
'
K
'
K
1
N
≥
K
K
1
'
K
'
K
1
(62)
This integer order NN will not in general exactly satisfy (Equation 27),
i.e., will not satisfy (Equation 27) with equality. Either kk or k1k1
must to recalculated to satisfy (Equation 27) and (Equation 62). The various
possibilities for this are developed below.
Given NN from (Equation 62) and the specifications
δ1δ1, ωpωp, and ωsωs, the parameters ϵϵ
and kk are found from (Equation 59) and (refcc50). From kk, the
complete elliptic integrals K and K' are calculated [2].
From (Equation 27), the ratio K/K'K/K' determines the ratio
K1'/K1K1'/K1. Using numerical methods from [1], k1k1 is
calculated. This gives the desired δ1δ1, ωpωp, and
ωsωs and minimizes the stopband ripple δ2δ2 (or
maximizes the stopband attenuation bb).
Using these parameters, the zeros are calculated from (refcc31)
and the poles from (refcc39). Note the zero locations do not depend on
ϵϵ or k1k1, but only on NN and ωsωs. This makes the
tradeoff between stop and passband occur in (refcc48) and only affects
the calculation of nu0nu0 in (refcc38)
This approach which minimizes the stopband ripple is used in
the IIR filter design program in the appendix of this book.
Given NN from (Equation 62) and the specifications δ2δ2, ωpωp, and ωsωs,
the parameter k is found from (refcc50). From k, the complete elliptic
integrals K and K' are calculated [2]. From (Equation 27), the ratio K/K'
determines the ratio K1'/K1K1'/K1 . Using numerical methods from
[1], k1k1 is calculated. From k1k1 and δ2δ2, ϵϵ
and δ1δ1 are found from
ϵ
=
k
1
1
/
δ
2
2
-
1
ϵ
=
k
1
1
/
δ
2
2
-
1
(63)
and
δ
1
=
1
-
1
1
+
ϵ
2
δ
1
=
1
-
1
1
+
ϵ
2
(64)
This set of parameters gives the desired ωpωp, ωsωs, and
stopband ripple and minimizes the passband ripple. The zero and pole
locations are found as above.
Given NN from (Equation 62) and the specifications δ1δ1, δ2δ2, and
either ωpωp or ωsωs, the parameters ϵϵ and
k1k1 are found from (Equation 59) and (refcc48). From k1k1, the
complete elliptic integrals K1K1 and K1'K1' are calculated
[2]. From (Equation 27), the ratio K1/K1'K1/K1' determines
the ratio K'/KK'/K. Using numerical methods from [1], kk is
calculated. This gives the desired passband and stopband ripple and
minimizes the transition-band width. The pole and zero locations are
found as above.
In many filter design programs, after the order NN is found
from (Equation 62), the design proceeds using the original e, kk, and
k1k1, even though they do not satisfy (Equation 27). The resulting design
has the desired transition band, but both pass and stopband ripple
are smaller than specified. This avoids the calculation of the
modulus kk or k1k1 from a ratio of complete elliptic integrals as
was necessary in all three cases above, but produces results that
are difficult to exactly predict.
Example 7-4. Design of a Third-Order
Elliptic-Function Filter
A lowpass elliptic-function filter is desired with a maximum
passband ripple of δ1=0.1δ1=0.1 or a=0.91515a=0.91515 dB, a maximum
stopband ripple of δ2=0.1δ2=0.1 or b=20b=20 dB rejection, and a
normalized stopband edge of ωs=1.3ωs=1.3 radians per second. The
first step is to determine the order of the filter.
From ωsωs, the modulus kk is calculated and then the
complimentary modulus using the relations in (refcc50). Special
numerical algorithms illustrated in Program 8 are then used to find
the complete elliptic integrals KK and K'K'[2].
k
=
1
/
1
.
3
=
0
.
769231
,
k
'
=
1
-
k
2
=
0
.
638971
k
=
1
/
1
.
3
=
0
.
769231
,
k
'
=
1
-
k
2
=
0
.
638971
(65)
K
=
1
.
940714
,
K
'
=
1
.
783308
K
=
1
.
940714
,
K
'
=
1
.
783308
(66)
From δ1δ1, ϵϵ is calculated using (Equation 59), and from ϵϵ and δ2δ2, k1k1
is calculated from (refcc48). k1'k1', K1K1, and K1'K1' are then
calculated.
ϵ
=
0
.
4843221
as
for
the
Chebyshev
example.
ϵ
=
0
.
4843221
as
for
the
Chebyshev
example.
(67)
k
1
=
0
.
0486762
,
k
1
'
=
0
.
9988146
k
1
=
0
.
0486762
,
k
1
'
=
0
.
9988146
(68)
K
1
=
1
.
571727
,
K
1
'
=
4
.
4108715
K
1
=
1
.
571727
,
K
1
'
=
4
.
4108715
(69)
The order is obtained from (Equation 27) by calculating
K
K
'
K
'
K
1
=
3
.
0541
K
K
'
K
'
K
1
=
3
.
0541
(70)
This is close enough to 3 to set N=3N=3. Rather than recalculate
kk and k1k1, the already calculated values are used as discussed
in the design method D in this section. The zeros are found from
(refcc31) using only NN and kk from above.
ω
z
=
±
1
k
s
n
(
2
K
/
N
,
k
)
=
±
1
.
430207
ω
z
=
±
1
k
s
n
(
2
K
/
N
,
k
)
=
±
1
.
430207
(71)
To find the pole locations requires the calculation of ν0ν0
from (refcc38) which is somewhat complicated. It is carried out
using the algorithms in Program 8 in the appendix.
ν
0
=
K
N
K
1
s
c
-
1
(
1
/
ϵ
,
k
1
'
)
=
0
.
6059485
ν
0
=
K
N
K
1
s
c
-
1
(
1
/
ϵ
,
k
1
'
)
=
0
.
6059485
(72)
From this value of ν0ν0, and kk and NN above, the elliptic
functions in (refcc40) are calculated to give
s
n
'
=
.
557986
,
c
n
'
=
0
.
829850
,
d
n
'
=
0
.
934281
s
n
'
=
.
557986
,
c
n
'
=
0
.
829850
,
d
n
'
=
0
.
934281
(73)
which, for the single real pole corresponding to i = 0 in
(refcc39), gives
s
p
=
0
.
672393
s
p
=
0
.
672393
(74)
For the complex conjugate pair of poles corresponding to i=2i=2,
the other elliptic functions in (refcc40) are
s
n
=
0
.
908959
,
c
n
=
0
.
416886
,
d
n
=
0
.
714927
s
n
=
0
.
908959
,
c
n
=
0
.
416886
,
d
n
=
0
.
714927
(75)
which gives from (refcc39) for the poles
s
p
=
0
.
164126
±
j
1
.
009942
s
p
=
0
.
164126
±
j
1
.
009942
(76)
The complete transfer function is
F
(
s
)
=
s
2
+
2
.
045492
(
s
+
0
.
672393
)
(
s
2
+
0
.
328252
s
+
1
.
046920
)
F
(
s
)
=
s
2
+
2
.
045492
(
s
+
0
.
672393
)
(
s
2
+
0
.
328252
s
+
1
.
046920
)
(77)
This design should be compared to the Chebyshev and inverse-
Chebyshev designs.