**3.** *H*<sup>∞</sup> **Design problems of FIR digital filters**

In this section, we consider two fundamental problems in signal processing: filter approximation and inverse filtering. The problems are formulated as *H*<sup>∞</sup> optimization by using the *H*<sup>∞</sup> norm defined in the previous section.

#### **3.1 FIR approximation of IIR filters**

The first problem we consider is *approximation*. In signal processing, there are a number of design methods for IIR (infinite impulse response) filters, e.g., Butterworth, Chebyshev, Elliptic, and so on (Oppenheim & Schafer, 2009). In general, to achieve a given characteristic, IIR filters require fewer memory elements, i.e., *z*−1, than FIR (finite impulse response) filters. However, IIR filters may have a problem of instability since they have feedbacks in their circuits, and hence, we prefer an FIR filter to an IIR one in implementation. For this reason, we employ FIR approximation of a given IIR filter. This problem has been widely studied (Oppenheim & Schafer, 2009). Many of them are formulated by *H*<sup>2</sup> optimization; they aim at minimizing the average error between a given IIR filter and the FIR filter to be designed. This optimal filter works well *averagely*, but in the worst case, the filter may lead a large error. To guarantee the worst case performance, *H*<sup>∞</sup> optimization is applied to this problem (Yamamoto et al., 2003). The problem is formulated as follows:

**Problem 1** (FIR approximation of IIR filters)**.** *Given an IIR filter P*(*z*)*, find an FIR (finite impulse response) filter Q*(*z*) *which minimizes*

$$\|(P-Q)W\|\_{\infty} = \max\_{\omega \in [0,\pi]} \left| \left( P(e^{j\omega}) - Q(e^{j\omega}) \right) W(e^{j\omega}) \right|.$$

*where W is a given stable weighting function.*

The procedure to solve this problem is shown in Section 4.

**4. KYP lemma for** *H*<sup>∞</sup> **design problems**

respectively, can be described in a form of

**4.1 State-space representation**

min *Q*(*z*)∈F*<sup>N</sup>*

where

for **Problem 1** and

of *Ti*(*z*) in (2), that is,

*Q*(*z*) =

where *<sup>α</sup>N*:1 :=

*N* ∑ *n*=0

*α<sup>N</sup> αN*−<sup>1</sup> ... *α*<sup>1</sup>

*αnz*−*<sup>n</sup>* =

In this section, we show that the *H*<sup>∞</sup> design problems given in the previous section are efficiently solved via *semidefinite programming* (Boyd & Vandenberghe, 2004). For this purpose, we first formulate the problems in state-space representation reviewed in Section 2. Then we bring in *Kalman-Yakubovich-Popov* (KYP) lemma (Anderson, 1967; Rantzer, 1996; Tuqan & Vaidyanathan, 1998) to reduce the problems into semidefinite programming.

Min-Max Design of FIR Digital Filters by Semidefinite Programming 199

The transfer functions (*P*(*z*) − *Q*(*z*)) *W*(*z*) and (*Q*(*z*)*P*(*z*) − 1) *W*(*z*) in **Problems 1** and **2**,

*T*1(*z*) = *P*(*z*)*W*(*z*), *T*2(*z*) = −*W*(*z*),

*T*1(*z*) = −*W*(*z*), *T*2(*z*) = *P*(*z*)*W*(*z*),

for **Problem 2**. Therefore, our problems are described by the following min-max optimization:

To reduce the problem of minimizing (3) to semidefinite programming, we use state-space representations for *T*1(*z*) and *T*2(*z*) in (2). Let {*Ai*, *Bi*, *Ci*, *Di*} (*i* = 1, 2) are state-space matrices

> 0 1 0 ... 0 0 <sup>001</sup> ... .

0 0 ... ... <sup>0</sup> .

. ... 0 1 <sup>0</sup> 0 0 ... 0 0 1 *α<sup>N</sup> αN*−<sup>1</sup> ... *α*<sup>2</sup> *α*<sup>1</sup> *α*<sup>0</sup>

max *ω*∈[0,*π*]

> *N* ∑ *i*=0

> > *Ai Bi Ci Di*

> > > . . . . .

> > > > . .

 

(*z*) =:

 

*αiz*<sup>−</sup>*<sup>i</sup>*

, *α<sup>i</sup>* ∈ **R**

*Q*(*z*)∈F*<sup>N</sup>*

*Q*(*z*) : *Q*(*z*) =

*T*<sup>1</sup> + *QT*<sup>2</sup><sup>∞</sup> = min

*Ti*(*z*) = *Ci*(*zI* <sup>−</sup> *Ai*)−<sup>1</sup>*Bi* <sup>+</sup> *Di* <sup>=</sup>:

Also, a state-space representation of an FIR filter *Q*(*z*) is given by

 .  

. . . . .

where F*<sup>N</sup>* is the set of *N*-th order FIR filters, that is,

F*<sup>N</sup>* :=

*T*(*z*) = *T*1(*z*) + *Q*(*z*)*T*2(*z*), (2)

*T*1(*ejω*) + *Q*(*ejω*)*T*2(*ejω*)

 .

(*z*), *i* = 1, 2.

 *Aq Bq αN*:1 *α*<sup>0</sup>

(*z*), (4)

 

, (3)

#### **3.2 Inverse filtering**

*Inverse filtering*, or *deconvolution* is another fundamental issue in signal processing. This problem arises for example in direct-filter design in spline interpolation (Nagahara & Yamamoto, 2011).

Suppose a filter *P*(*z*) is given. Symbolically, the inverse filter of *P*(*z*) is *P*(*z*)−1. However, real design is not that easy.

**Example 2.** *Suppose P*(*z*) *is given by*

$$P(z) = \frac{z + 0.5}{z - 0.5}.$$

*Then, the inverse Q*(*z*) := *P*(*z*)−<sup>1</sup> *becomes*

$$Q(z) = P(z)^{-1} = \frac{z - 0.5}{z + 0.5}.$$

*which is stable and causal. Then suppose*

$$P(z) = \frac{z - 2}{z - 0.5},$$

*then the inverse is*

$$Q(z) = P(z)^{-1} = \frac{z - 0.5}{z - 2}.$$

*This has the pole at* |*z*| > 1*, and hence the inverse filter is unstable. On the other hand, suppose*

$$P(z) = \frac{1}{z - 0.5},$$

*then the inverse is*

$$Q(z) = P(z)^{-1} = z - 0.5\_{\prime}$$

*which is noncausal.*

By these examples, the inverse filter *P*(*z*)−<sup>1</sup> may unstable or noncausal. Unstable or noncausal filters are difficult to implement in real digital device, and hence we adopt approximation technique; we design an FIR digital filter *Q*(*z*) such that *Q*(*z*)*P*(*z*) ≈ 1. Since FIR filters are always stable and causal, this is a realistic way to design an inverse filter. Our problem is now formulated as follows:

**Problem 2** (Inverse filtering)**.** *Given a filter P*(*z*) *which is necessarily not bi-stable or bi-causal (i.e., P*(*z*)−<sup>1</sup> *can be unstable or noncausal), find an FIR filter Q*(*z*) *which minimizes*

$$\|(QP-1)W\|\_{\infty} = \max\_{\omega \in [0,\pi]} \left| \left( Q(e^{j\omega})P(e^{j\omega}) - 1 \right) W(e^{j\omega}) \right|.$$

*where W is a given stable weighting function.*

The procedure to solve this problem is shown in Section 4.
