**6. Conclusion**

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

time interval [0*,N −* 1] is divided into the following *M* subintervals:

 *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

In order to indicate that the overall filter has a piecewise-polynomial impulse response the

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

> 1 () () *M m m*

( )

*L r*

( ) ( )( ) ´( )

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

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 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

*L r*

( ) ( )( )

*M kM*

( )

*M kM*

*k r*

*k r*

*M L*

1 0

*m L*

1 0

<sup>1</sup> *X NN m M M mm* [ , 1] for 1,2,..., 1 (98)

*X NN M M* [ ,]. (99)

*hn h n* , (100)

*h n a rn N* (101)

*h n a rn N hn* , (102)

and

expressed as

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

given criteria.

programming.

subintervals in the overall impulse response.

where

occurs at *n* = (2*N −* 1)*/*2.

In this chapter we have studied the Hilbert transform relations existing among the real part and the imaginary part of complex analytic signals. The importance of these signals has been highlighted in terms of spectral efficiency, i.e., the analytic signals do not have spectral components in their negative-frequency side. For discrete-time sequences, this characteristic holds for the negative-frequency side in every Nyquist period.

The Hilbert transformer has been introduced as a special type of FIR filter which is the key processing system to generate analytic signals. The design of such important filter is, of course, straightforward with the aid of an important filter design tool: the MATLAB Signal Processing Toolbox. However, this direct design method, shown as a very simple and convenient MATLAB code, cannot be efficiently applied for more stringent and realistic specifications. We have presented a concise explanation of the relation of Hilbert transformers and half-band filters because this relation, as has been observed from literature, is one of the most important characteristics to overcome this problem.

The efficient methods to design low-complexity FIR Hilbert transformers with strict specifications have been detailed. Three methods have been analyzed, namely, Frequency-Response Masking (FRM), Frequency Transformation (FT) and Piecewise-Polynomial Sinusoidal (PPS). These schemes are based on three different approaches to design efficient FIR filtering. FRM is a periodical subfilter based method, FT is an identical subfilter based method and PPS is a piecewise-polynomial based method. Additionally, it has been observed that FRM and PPS are fully parallel approaches and do not take direct advantage of hardware multiplexing. On the other hand, we have shown that FT allows area-efficient architectures by multiplexing a simple subfilter.

Finally, the FRM and the time-multiplexed FT approach have been illustrated in MATLAB, with the aid of the Signal Processing Toolbox. Even though the underlying theory on the efficient techniques to design FIR Hilbert transformers is specialized, the MATLAB codes have been preserved in a simple and as clear as possible presentation. The presented codes allow a clearer understanding on such specialized techniques and, at the same time, can serve as a basis for more elaborated algorithms and further research on this fertile area.
