Section 1 introduced linear phase filters in detail. In this section we cover the use of IRLS methods to design linear phase FIR filters according to the lplp optimality criterion. Recall from Section 1 that for any of the four types of linear phase filters their frequency response can be expressed as
H
(
ω
)
=
A
(
ω
)
e
j
(
K
1
+
K
2
ω
)
H
(
ω
)
=
A
(
ω
)
e
j
(
K
1
+
K
2
ω
)
(14)Since A(ω)A(ω) is a real continuous function as defined by Table 1, one can write the linear phase lplp design problem as follows
min
a
∥
D
(
ω
)
-
A
(
ω
;
a
)
∥
p
p
min
a
∥
D
(
ω
)
-
A
(
ω
;
a
)
∥
p
p
(15)where aa relates to hh by considering the symmetry properties outlined in Table 1. Note that the two objects from the objective function inside the lplp norm are real. By sampling Equation 15 one can write the design problem as follows
min
a
∑
k
|
D
(
ω
k
)
-
A
(
ω
k
;
a
)
|
p
min
a
∑
k
|
D
(
ω
k
)
-
A
(
ω
k
;
a
)
|
p
(16)or
min
a
∑
k
|
D
k
-
C
k
a
|
p
min
a
∑
k
|
D
k
-
C
k
a
|
p
(17)where DkDk is the kk-th element of the vector DD representing the sampled desired frequency response D(ωk)D(ωk), and CkCk is the kk-th row of the trigonometric kernel matrix as defined by Table 1.
One can apply the basic IRLS approach described in (Reference) to solve Equation 17 by posing this problem as a weighted least squares one:
min
a
∑
k
w
k
|
D
k
-
C
k
a
|
2
min
a
∑
k
w
k
|
D
k
-
C
k
a
|
2
(18)The main issue becomes iteratively finding suitable weights ww for Equation 18 so that the algorithm converges to the optimal solution a⋆ a⋆ of the lplp problem Equation 15. Existence of adequate weights is guaranteed by Theorem (Reference) as presented in (Reference); finding these optimal weights is indeed the difficult part. Clearly a reasonable choice for ww is that which turns Equation 18 into Equation 17, namely
w
=
|
D
-
C
a
|
p
-
2
w
=
|
D
-
C
a
|
p
-
2
(19)Therefore the basic IRLS algorithm for problem Equation 17 would be:
- Initialize the weights w0w0 (a reasonable choice is to make them all equal to one).
- At the ii-th iteration the solution is given by
ai+1=[CTWiTWiC]-1CTWiTWiDai+1=[CTWiTWiC]-1CTWiTWiD
(20) - Update the weights with
wi+1=|D-Cai+1|p-2wi+1=|D-Cai+1|p-2
(21) - Repeat the last steps until convergence is reached.
It is important to note from Appendix (Reference) that Wi=diag(wi)Wi=diag(wi). In practice it has been found that this approach has practical defficiencies, since the inversion required by Equation 20 often leads to an ill-posed problem and, in most cases, convergence is not achieved.
As mentioned before, the basic IRLS method has drawbacks that make it unsuitable for practical implementations. Charles Lawson considered a version of this algorithm applied to the solution of l∞l∞ problems (for details refer to [8]). His method has linear convergence and is prone to problems with proportionately small residuals that could lead to zero weights and the need for restarting the algorithm. In the context of lplp optimization, Rice and Usow [12] built upon Lawson's method by adapting it to lplp problems. Like Lawson's methods, the algorithm by Rice and Usow updates the weights in a multiplicative manner; their method shares similar drawbacks with Lawson's. Rice and Usow defined
w
i
+
1
(
ω
)
=
w
i
α
(
ω
)
|
ϵ
i
(
ω
)
|
β
w
i
+
1
(
ω
)
=
w
i
α
(
ω
)
|
ϵ
i
(
ω
)
|
β
(22)where
α
=
γ
(
p
-
2
)
γ
(
p
-
2
)
+
1
α
=
γ
(
p
-
2
)
γ
(
p
-
2
)
+
1
(23)and
β
=
α
2
γ
=
p
-
2
2
γ
(
p
-
2
)
+
2
β
=
α
2
γ
=
p
-
2
2
γ
(
p
-
2
)
+
2
(24)and follow the basic algorithm.
L. A. Karlovitz realized the computational problems associated with the basic IRLS method and improved on it by partially updating the filter coefficient vector. He defines
a
^
i
+
1
=
[
C
T
W
i
T
W
i
C
]
-
1
C
T
W
i
T
W
i
D
a
^
i
+
1
=
[
C
T
W
i
T
W
i
C
]
-
1
C
T
W
i
T
W
i
D
(25)and uses a^a^ in
a
i
+
1
=
λ
a
^
i
+
1
+
(
1
-
λ
)
a
i
a
i
+
1
=
λ
a
^
i
+
1
+
(
1
-
λ
)
a
i
(26)where λ∈[0,1]λ∈[0,1] is a partial step parameter that must be adjusted at each iteration. Karlovitz's method [7] has been shown to converge globally for even values of pp (where 2≤p<∞2≤p<∞). In practice, convergence problems have been found even under such assumptions. Karlovitz proposed the use of line searches to find the optimal value of λλ at each iteration, which basically creates an independent optimization problem nested inside each iteration of the IRLS algorithm. While computationally this search process for the optimal λλ makes Karlovitz's method impractical, his work indicates the feasibility of IRLS methods and proves that partial updating indeed overcomes some of the problems in the basic IRLS method. Furthermore, Karlovitz's method is the first one to depart from a multiplicative updating of the weights in favor of an additive updating on the filter coefficients. In this way some of the problems in the Lawson-Rice-Usow approach are overcome, especially the need for restarting the algorithm.
S. W. Kahng built upon the findings by Karlovitz by considering the process of finding an adequate λλ for partial updating. He applied Newton-Raphson's method to this problem and proposed a closed form solution for λλ, given by
λ
=
1
p
-
1
λ
=
1
p
-
1
(27)resulting in
a
i
+
1
=
λ
a
^
i
+
1
+
(
1
-
λ
)
a
i
a
i
+
1
=
λ
a
^
i
+
1
+
(
1
-
λ
)
a
i
(28)The rest of Kahng's algorithm follows Karlovitz's approach. However, since λλ is fixed, there is no need to perform the linear search at each iteration. Kahng's method has an added benefit: since it uses Newton's method to find λλ, the algorithm tends to converge much faster than previous approaches. It has indeed been shown to converge quadratically. However, Newton-Raphson-based algorithms are not guaranteed to converge globally unless at some point the existing solution lies close enough to the solution, within their radius of convergence [1]. Fletcher, Grant and Hebden[6] derived the same results independently.
Burrus, Barreto and Selesnick [4], [2], [3] modified Kahng's methods in several important ways in order to improve on their initial and final convergence rates and the method's stability (we refer to this method as BBS). The first improvement is analogous to a homotopy [9]. Up to this point all efforts in lplp filter design attempted to solve the actual
lplp problem from the first iteration. In general there is no reason to believe that an initial guess derived from an unweighted
l2l2 formulation (that is, the
l2l2 design that one would get by setting
w0=1^w0=1^) will look in any way similar to the actual
lplp solution that one is interested in. However it is known that there exists a continuity of
lplp solutions for
1<p<∞1<p<∞. In other words, if
a2⋆ a2⋆ is the optimal
l2l2 solution, there exists a
pp for which the optimal
lplp solution
ap⋆ ap⋆ is arbitrarily close to
a2⋆ a2⋆ ; that is, for a given
δ>0δ>0
∥
a
2
⋆
-
a
p
⋆
∥
≤
δ
for
some
p
∈
(
2
,
∞
)
∥
a
2
⋆
-
a
p
⋆
∥
≤
δ
for
some
p
∈
(
2
,
∞
)
(29)This fact allows anyone to gradually move from an lplp solution to an lqlq solution.
To accelerate initial convergence, the BBS method of Burrus et al. initially solves for l2l2 by setting p0=2p0=2 and then sets pi=σ·pi-1pi=σ·pi-1, where σσ is a convergence parameter defined by 1≤σ≤21≤σ≤2. Therefore at the ii-th iteration
p
i
=
min
(
p
d
e
s
,
σ
p
i
-
1
)
p
i
=
min
(
p
d
e
s
,
σ
p
i
-
1
)
(30)where pdespdes corresponds to the desired lplp solution. The implementation of each iteration follows Karlovitz's method with Kahng's choice of λλ, using the particular selection of pp given by Equation 30.
To summarize, define the class of IRLS algorithms as follows: after ii iterations, given a vector aiai the IRLS iteration requires two steps,
- Find wi=f(ai)wi=f(ai)
- Find ai+1=g(wi,ai)ai+1=g(wi,ai)
The following is a summary of the IRLS-based algorithms discussed so far and their corresponding updating functions:
- Basic IRLS algorithm.
- wi=|D-Cai|p-2wi=|D-Cai|p-2
- Wi=diag(wi)Wi=diag(wi)
- ai+1=CTWiTWiC-1CTWiTWiDai+1=CTWiTWiC-1CTWiTWiD
- Rice-Usow-Lawson (RUL) method
- wi=wi-1α|D-Cai|α2γwi=wi-1α|D-Cai|α2γ
- Wi=diag(wi)Wi=diag(wi)
- ai+1=CTWiTWiC-1CTWiTWiDai+1=CTWiTWiC-1CTWiTWiD
- α=γ(p-2)γ(p-2)+1α=γ(p-2)γ(p-2)+1
- γγ constant
- Karlovitz' method
- wi=|D-Cai|p-2wi=|D-Cai|p-2
- Wi=diag(wi)Wi=diag(wi)
- ai+1=λCTWiTWiC-1CTWiTWiD+(1-λ)aiai+1=λCTWiTWiC-1CTWiTWiD+(1-λ)ai
- λλ constant
- Kahng's method
- wi=|D-Cai|p-2wi=|D-Cai|p-2
- Wi=diag(wi)Wi=diag(wi)
- ai+1=1p-1CTWiTWiC-1CTWiTWiD+p-2p-1aiai+1=1p-1CTWiTWiC-1CTWiTWiD+p-2p-1ai
- BBS method
- pi=min(pdes,σ·pi-1)pi=min(pdes,σ·pi-1)
- wi=|D-Cai|pi-2wi=|D-Cai|pi-2
- Wi=diag(wi)Wi=diag(wi)
- ai+1=1pi-1CTWiTWiC-1CTWiTWiD+pi-2pi-1aiai+1=1pi-1CTWiTWiC-1CTWiTWiD+pi-2pi-1ai
- σσ constant