**5.3. Hilbert transformer design based on Piecewise Polynomial Sinusoidal technique**

This method to synthesize Hilbert transformers, first proposed in [25] and then detailed in [11], is based on the previous method [31] and on a modification to the method [32]-[33]. The method stems from a windowing technique for Type III and Type IV FIR filters of order 2*N* and 2*N*-1, respectively. The basic windowing technique for Type III filters is expressed as

$$h(n) = w(n)h\_0(n) \tag{89}$$

where

$$h\_0(n) = \begin{cases} 0 & \text{for } n \text{ odd} \\ 1 \cdot \cos((n \text{ } N)\pi) & \text{for } n \text{ even} \end{cases} \tag{90}$$

is an ideal impulse response, *w*(*n*) is the window function and *N* is odd. Similarly, an ideal odd-order impulse response can be expressed as

$$h\_0(\mathfrak{n}) = \frac{1}{(\mathfrak{n} - (2N - 1)/2)\pi} \cdot \tag{91}$$

The overall transfer function can be expressed in the following way,

$$F(z) = \begin{cases} \sum\_{n=0}^{2N} W(n)[1 - \cos((n-N)\pi)]z^{-n} \text{. Type III} \\ \sum\_{n=0}^{2N-1} W(n)z^{-n} \text{.} \end{cases} \tag{92}$$

with

Digital FIR Hilbert Transformers: Fundamentals and Efficient Design Methods 477

$$W(n) = \begin{cases} w(n-N) / \lceil \pi(n-N) \rceil, \\ w(n - (2N - 1/2)) / \lceil \pi(n - (2N - 1/2)) \rceil. \end{cases} \tag{93}$$

*W*(*n*) is an impulse response satisfying *W*(2*N − n*) = *−W*(*n*) for *n* = 0*,* 1*, . . .,N −* 1, *W*(*N*) = 0, and *W*(2*N −* 1 *− n*) = *−W*(*n*) for *n* = 0*,* 1*, . . .,N*, for Types III and IV respectively. Additionally, *w*(*n*) is a positive and symmetric window function for all *n*.

476 MATLAB – A Fundamental Tool for Scientific Computing and Engineering Applications – Volume 1

almost a 75% of reduction in the number of distinct required coefficients.

0.2 0.4 0.6 0.8 1


response, transition bandwidth detail and passband ripple detail.

<sup>0</sup> 0.5 <sup>1</sup> <sup>0</sup>

/

 

0

The overall transfer function can be expressed in the following way,

*n*

0 2 1

2

 

( )

*F z*

*n*

0

*h n*

*Wnz*

*<sup>N</sup> <sup>n</sup>*

*h n n N*

0

odd-order impulse response can be expressed as

**technique** 

0.5


1.5

where

with

Figure 17 shows the magnitude response of the obtained Hilbert transformer. The overall structure requires only 15 coefficients in total, i.e., 7 structural coefficients, *α*(0) to *α*(6), and 8 coefficients for the subfilter *G*(*z*). Compared to a direct design, where the estimated length is 287 and which would require approximately 72 coefficients, The FT-based design achieves

**Figure 17.** Magnitude responses of FT-based Hilbert transformer. From left to right: overall magnitude

<sup>0</sup> 0.005 0.01 0.015 <sup>0</sup>

/

This method to synthesize Hilbert transformers, first proposed in [25] and then detailed in [11], is based on the previous method [31] and on a modification to the method [32]-[33]. The method stems from a windowing technique for Type III and Type IV FIR filters of order 2*N* and 2*N*-1, respectively. The basic windowing technique for Type III filters is expressed as

( ) 1 - cos(( - ) ) for n even

0 for odd

is an ideal impulse response, *w*(*n*) is the window function and *N* is odd. Similarly, an ideal

*<sup>N</sup> <sup>n</sup>*

*Wn n N z*

<sup>1</sup> ( ) ( (2 1) / 2)

( )

*n N*

<sup>0</sup> *hn wnh n* () () () , (89)

0.998 1 1.002 1.004


0.2 0.4 0.6 0.8 0.996

/

*n N* . (91)

(90)

(92)

*n*

( ) , Type IV

( )[1 cos(( ) )] , Type III

**5.3. Hilbert transformer design based on Piecewise Polynomial Sinusoidal** 

A way to generate the piecewise-polynomial-sinusoidal transfer function *F*(*z*) is to consider the following transfer function:

$$\mathcal{G}(\mathbf{z}) = \sum\_{n=0}^{N\_s} \mathcal{W}(n) \boldsymbol{z}^{-n} (\boldsymbol{e}^{j(n-N)\boldsymbol{\pi}}) = \sum\_{n=0}^{N\_s} \mathcal{W}(n) \left[ 1 - (\cos((n-N)\boldsymbol{\pi}) + j\sin((n-N)\boldsymbol{\pi})) \right] \boldsymbol{z}^{-n}, \tag{94}$$

where *Ns* is 2*N* or 2*N −* 1 for Types III and IV, respectively. From (92) it follows that *F*(*z*) can be expressed as

$$F(\mathbf{z}) = \text{Re}\left\{ \sum\_{n=0}^{N\_s} W(n) z^{-n} + z^{-n} (e^{j(n-N)\pi}) \right\} = \text{Re}\left\{ \sum\_{n=0}^{N\_s} W(n) \left[ 1 - z^{-N\pi} (z^{-1} e^{j\pi})^n \right] \right\}.\tag{95}$$

In [32] a wideband FIR filter is obtained by first generating the envelope filter with *W*(*n*) for *n* =0*,* 1*, . . . ,* 2*N* [2*N −* 1] as the impulse-response coefficients. This impulse response is designed to become piecewise polynomial. The coefficient values of this envelope filter are modified by multiplying them with [1*−*cos(*n−N*)*π*] for Type III, which gives *F*(*z*). From (92) it can be seen that for Type IV the piecewise-polynomial-sinusoidal impulse response coincides with the piecewise-polynomial impulse response, i.e., the constant part of the real part in (95).

Let us consider the simpler case Type IV filter. The overall transfer function, denoted by *H*(*z*), is constructed as presented previously in sub-section 4.3. We will repeat the equation here for convenience,

$$H(\mathbf{z}) = \sum\_{m=1}^{M} \mathbf{z}^{-N\_m} H\_m(\mathbf{z}) + \mathbf{z}^{-\hat{N}} \hat{H}(\mathbf{z}) \,. \tag{96}$$

Recall that the integers *Nm* in the delay terms *z*–*Nm* satisfy *N*1 = 0 and *Nm*+1>*Nm* for *m* = 1, 2, …, *M* – 1, and the order of *Hm*(*z*) is 2(*N – Nm*) – 1. The impulse response is given for *n* = 0, 1, 2, … ,*N − Nm–*1by *L*th order polynomials as follows

$$h\_m(n) = \sum\_{r=0}^{L} a\_m^{(L)}(r) n^r \,. \tag{97}$$

Additionally, <sup>ˆ</sup> ˆ ( ) *<sup>N</sup> z Hz* is a conventional [2*N −* 1]th-order Type IV direct-form transfer function with the additional impulse response coefficients at *n* = *N −c, . . . , N −*1, where *c* =

 *T* / 2 and *T* is the number of additional coefficients at the center of the filter. The delay terms in (96) are used to shift the center of the symmetry at the desired location, which occurs at *n* = (2*N −* 1)*/*2.

In order to indicate that the overall filter has a piecewise-polynomial impulse response the time interval [0*,N −* 1] is divided into the following *M* subintervals:

$$X\_M = [N\_{m'}N\_{m+1} - 1] \text{ for } m = 1, 2, \dots, M-1 \tag{98}$$

and

$$X\_M = \left[N\_{M'}N\right].\tag{99}$$

First, we have that*X*1 =[0*,N*2*−* 1] because *N*1 = 0, Secondly, the overall impulse response can be studied up to *n* = *N −* 1 because of the odd symmetry. The impulse response on *Xm* can be expressed as

$$h(n) = \sum\_{m=1}^{M} \tilde{h}\_m(n) \,. \tag{100}$$

where

$$\tilde{h}\_M(\mathfrak{n}) = \sum\_{k=1}^{m} \left[ \sum\_{r=0}^{L} a\_k^{(L)}(r)(\mathfrak{n} - N\_M)^r \right] \tag{101}$$

for *m* = 1, 2, …, *M* – 1 and

$$\tilde{h}\_M(n) = \sum\_{k=1}^{M} \left[ \sum\_{r=0}^{L} \left[ a\_k^{(L)}(r)(n - N\_M)^r \right] \right] + h'(n) \tag{102}$$

which equals the overall impulse response and where *h'*(*n*)is a conventional direct-form Type IV filter with nonzero coefficients for *n* = *N − c, . . . , N −* 1, in which *c* = *T* / 2 and *T* is the number of separately generated additional center coefficients. The slices *Nm*s should be chosen so that *|N*2*−N*1*| ≠|N*3*−N*2*| ≠ …≠|NM −NM<sup>−</sup>*1*|*,where *N*1 = 0 and *M* is the number of subintervals in the overall impulse response.

Based on the above equations, in each *Xm* for *m* =1*,* 2*, . . ., M*, a separate piecewisepolynomial impulse response can be generated. In addition, in the *XM*, there are additional center coefficients, which are of great importance for fine-tuning the overall filter to meet the given criteria.

Given the filter criteria as well as the design parameters *M*,*N*, *L*, *Nm*'s, and the number of center coefficients included in ˆ*H z*( ) , the overall problem is solvable by using linear programming.
