069 - LP Design
069 - LP Design
ACKNOWLED GMENT [2] —, "A fast Fourier transform for high-speed signal processing,"
IEEE Trans. Comput., vol. C-20, pp. 843—846, Aug. 1971.
[3] M. L. Groginsky and G. A. Works, "A pipeline fast Fourier
The authors wish to thank M. J. Britt for contributions transform," IEEE Trans. Comput., vol. U-19, pp. 1015—1019,
to the initial design of the radix-2 processor (in particular Nov. 1970.
[4] G. D. Bergland, "Fast Fourier transform hardware implementa-
the serial vector multiplier). tions—an overview," IEEE Trans. Audio Electroacoust., vol.
AU-17, pp. 104—108, June 1969.
[5] R. C. Singleton, "A short bibliography on the fast Fourier
REFERENCES transform," IEEE Tran.s. Audio Electroacsust., vol. ATJ-17,
pp. 166—169, June 1969.
[1] M. J. Corinthios, "The design of a class of fast Fourier transform [6] M. C. Pease, "An adaptation of the fast Fourier transform for
computers," IEEE Tran.s. Comput., vol. C-20, pp. 617—623, parallel processing," J. Ass. Comput. Mach., vol. 15, pp. 252—
June 1971. 264, Apr. 1968.
Abstract—This paper discusses the use of linear programming dure [8] have been recently proposed for designing hR
techniques for the design of infinite impulse response (IIR) digital
filters. One difficulty with almost all of these procedures
filters. In particular, it is shown that, in theory, a weighted equiripple
approximation to an arbitrary magnitude function can be obtained is that convergence of the optimization procedure that
is used to design the filter is not guaranteed, and even
in a predictable number of applications of the simplex algorithm of
linear programming. When one implements the design algorithm, when the procedure converges, the optimality of the re-
certain practical difficulties (e.g., coefficient sensitivity) limit the
sulting filter is also not guaranteed. In this paper a fre-
range of filters which can be designed using this technique. How- quency domain hR filter design procedure is discussed
ever, a fairly large number of hR filters have been successfully
designed and several examples will be presented to illustrate the which uses linear programming techniques (the simplex
range of problems for which we found this technique to be useful. algorithm) to choose filter coefficients to approximate an
arbitrary magnitude characteristic. Theoretical conver-
gence of the optimization algorithm is guaranteed, and
INTRODUCTION the resulting filter can be shown to be optimal in the given
n
tamed by evaluating (1) on the unit circle (i.e., for m
z = exp [1w]),' and taking its magnitude, thus giving [co + 2c, cos (wi) ]/[d0 + 2d cos (wi)]. (10)
i1
H(exp[3w]) I
= N(exp [1w]) (Again the d0 term in (10) can be set to 1.0 without loss
D(exp[jw]) of generality.) Equation (10) shows that the magnitude
squared function of the filter is a ratio of trigonometric
rn fl
= polynomials. It is also seen that both N (w), the numerator
I b exp [—jwi]/ a exp [—jwi] polynomial, and D(w), the denominator polynomial, are
1=0 i0
linear in the unknown filter coefficients (cd and {d1}. It is
(2) now shown how linear programming techniques can be used
In many frequency domain filter design problems it is de- to determine the c1's and d1's such that H(exp [1w]) 2
sired that the magnitude of the resulting filter approxi- approximates a given magnitude squared characteristic
F (w) where the peak weighted error of approximation is
mate a given magnitude function, ill (exp [1w II), to within
a tolerance G(w,), where G(w,) is a monotically increas- minimized—i.e., the weighted error is an equiripple func-
ing function of for fixed w.2 Thus, the resultant approxi- tion.
mation problem is to choose the filter coefficients (the If we let F(w) be the desired magnitude squared char-
a's and b1's) to minimize the quantity consistent with acteristic, then the approximation problem consists of
that constraint inequality
N(exp [1w]) — M(exp
__________
D(exp [jw])
[3w])
finding the filter coefficients such that
j=0
b5z+2)/(
fl
1=0
fl
az1) ( ar+)
j=O
—N(w) + D(w)[F(w) — s(w)] <0.
The additional linear inequalities
(14)
(5)
m n
—I(w)<0 (15)
=
1=—rn
cz'/ (6) —(w) <0 (16)
where completely define the approximation problem.
Thus, the question of whether or not there exists a digi-
c = c_ i = 1,2,.. (7) tal filter with magnitude squared characteristic F (w) and
tolerance function e (w) is equivalent to the question of
= d_1 i = 1,2,. .,n. (8)
whether or not there exists a set of filter coefficients satis-
The magnitude squared function of the ifiter is obtained fying the system of constraints defined by (13)— (16). The
by evaluating (6) on the unit circle giving question can be answered by using linear programming
techniques [9], First, an auxiliary variable is subtracted
H(exp [1w]) 2 from the left side of each constraint, forming the new set
of constraints
= H(z)H(z ) z=expjoj
= N(w) (9) N(w) — D(w)[F(w) + €(w)] — <0
D (w) (17)
—N(w) + (w)[F(w) (w)] -- v <0 (18)
1 The quantity is the normalized frequency variable (i.e., the
sampling period, T, is assumed to be 1.0). —N(w) — v < 0 (19)
2 It should be noted that the function G(w,) is generally deter-
mined as soon as M(exp {jw]) is specified by the designer, as will be
seen in the examples later in the paper. — v < 0. (20)
RABINER et al.: DESIGN OF TIE DIGITAL FILTERS 119
zv (21) I—K8
TABLE I
RESULTS ON PER DESIGN OF SEVERAL LOW-PASS FILTERS
10
0
—10
—20 nm=6
—30
8 0.0008252
K 7 1.879
-40
00
I— -60
-50
N
z
-70
,0 -80
-J -90
-100
-110
-120
Fig. 2. Log magnitude response of a sixth order low-pass filter designed using linear programming methods.
binary search in which 5 is chosen to be the arithmetic lie inside or on the unit circle. (If zeros lie on the unit
mean of the upper and lower bounds. In particular, the circle, only half of the pairs are retained.)
number n of iterations required for a maximum relative The extension of the above procedure to other types of
error p (where p is defined as filters other than low-pass filters is straightforward and
— will not be discussed here. In the next section we present
p= (25) examples of several filters which were designed using the
above iterative procedure.
with +1 and L1 being the final upper and lower bounds FILTER EXAM1LES
determined in step 3 above) can be shown to be of the
form In order to test out the procedure a number of filters
were designed. Table I gives the results for a set of 8 low-
(+) — log,0 (&)\1
log10 pass filters. The data in this table correspond to the 8
n= + 1 (26)
[iog2 (log10 (f) — log15 (&_f))j low-pass filters designed by Swanton [10] using linear
programming methods in a sequence of individual numer-
(si) — log,0 ator and denominator optimization iterations. These data
= 1og2 (si))] + 1 (27) are for low-order filters (4th or 6th order). The values for
[ (low log10 (1 + p) F and F. are the corresponding filter cutoff frequencies
where [y] denotes the largest integer y. where F = w,,/2ir and F, = w,/2r. The quantity 20 log10 *
Theoretically the value of 3* may be bounded as tightly is the theoretical stopband attenuation for the elliptic
as desired by using a large number of iterations thereby filter and 20 log10 & is the actual attenuation for the filter
reducing the tolerance (difference between + and &) at designed using the linear programming technique described
much as desired. In practice, a relative error of p = 0.01 = above. Table I also gives the number of iterations on the
1 percent on the deltas is sufficient for most problems. delta's (for a 1 percent tolerance on ) and the overall
The values of c and d associated with the final value run time on a Honeywell 6000 Computer. it is seen from
of 3÷ are used in the polynomials in z (6), which are then Table I that the resulting filters meet approximately the
factored. A z-transform, which is stable, and minimum same specifications as the equivalent elliptic filter. To
phase is obtained by retaining only zeros and poles which further illustrate these results, Fig. 2 shows the log magni-
RABINER et at.: DESIGN OF hR DIGITAL FILTERS 121
V
z
Ui
F-
2
.5
F,
0-J
0.50
NORMALIZED FREQUENCY
Fig. 4(c) shows the group delay response of this filter. Fig. 4. Log magnitude response, r-plane pole—zero diagram,
and group delay response of an eight order-four band filter.
The pole and zero positions of the filter are obtained by
factoring the denominator and numerator polynomials of
the magnitude squared function of the filter and assign- Fig, 5 shows an example of a 5 band filter with 2 pass-
bands and 3 stopbands. An eight order filter gave a delta
ing poles inside the unit circle to the resulting denominator,
and zeros inside or on the unit circle to the resulting nu- of 0.035 with equal weighing in each of the five bands.
merator. (Generally the zeros of the magnitude squared The design procedure took 11 iterations and required
function will be on the unit circle in pairs. Thus one of 224 s to design.
each pair of zeros on the unit circle is assigned to the Fig. 6 shows another 5 band filter with the arbitrary
resulting filter.) specifications:
122 IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, APRIL 1974
-D
z
—20 -
—30 -
N / differentiator.) This example required 11 iterations and
took 51 s of computation time.
DISCUSSION
Lii
C
I-. The preceding examples have shown that the linear
z0 —40 -
ci
programming method does, in many cases, give reason-
able solutions for 1111 filters which approximate arbitrary
0
0
—50 -
-j magnitude specifications with arbitrary weighing of the
—60 - error function. In this section we discuss what we believe
are the practical limitations of this technique.
—70 - One of the maj or difficulties with the proposed method
is that one is forced to work with magnitude squared
—80 characteristics to solve for the filter coefficients. Kaiser
aos OiO 0.16 0.20 0.26 0.30 0.36 040 050 [11] has shown that an extreme coefficient sensitivity
NORMALIZED FREQUENCY problem exists for sharp cutoff filters when implemented
(a) in the direct form. This coefficient sensitivity is aggra-
vated by using magnitude squared functions rather than
the magnitude function itself. Thus the results derived
Z— PLANE
by Kaiser, along with our own practical experience indi-
cate the following.
1) Sharp cutoff filters are difficult to design w'ith this
procedure. Thus, if the width of a transition band is small,
the coefficient sensitivity will make the procedure un-
stable.
2) High-order filters are difficult to design. Filters with
order greater than about 12 cannot readily be designed
with double precision arithmetic on a 36 bit word length
computer since the high order polynomial coefficients are
(b)
extremely sensitive to small changes in the filter specifi-
Fig. 6. Log magnitode response and z-plane pole—zero positions cations.
of a tenth order five band filter with arbitrary magnitude speci-
fiCations. 3) Filters with deltas on the order of 10 or less can-
not generally be designed even with double precision
H(exp [j2irfj) = 0.5 0.00 I 0.06 arithmetic since, a tolerance of the magnitude function
on the order of l0— in a band implies a tolerance of
= 0.75 0.10 f 0.16 the magnitude squared function on the order of 10°
= in that band. The attainment of such a high degree of
0.0 0.20 <f < 0.26 numerical precision is of course limited by the precision
= 1,0 0.30 <f < 0.36 capabilities of the computer. Experience has shown that
the linear programming routine required to solve for the
= 0.0 0.40 f < 0.50 ifiter coefficients must be implemented in double precision
RABINER et al.: DESIGN OF lIE DIGITAL FILTERS 123
ERROR FUNCTION
n=rn4
0.00000763 - SO.O0O00763
— 0.00000763
NORMALIZED FREQUENCY
Fig. 7. Error function of a fourth order differentiator with minimum relative error over the band 0 f 0.45.