Prev don't be afraid of buying books Next


Time-domain FIR Hilbert transformer design is essentially an exercise in lowpass filter design. As such, an ideal discrete FIR Hilbert transformer, like an ideal lowpass FIR filter, cannot be achieved in practice. Fortunately, we can usually ensure that the bandpass of our Hilbert transformer covers the bandwidth of the original signal we're phase shifting by ± 90o. Using more filter taps improves the transformer's performance (minimizing passband ripple), and the choice of an odd or even number of taps depends on whether the gain at the folding frequency should be zero or not, and whether an integer-sample delay is mandatory. Those comments also apply to the complex-filter method (Figure 9-15) for generating a complex signal from a real signal. A possible drawback of that method is that the real part of the generated complex signal is not equal to the original real input signal. (That is, xI(n) does not equal xr(n).)

Using a floating point number format, the complex filtering scheme yields roughly a 0.15 dB peak-peak passband ripple difference between the two real filters with 100 taps each, while the FIR Hilbert filter scheme requires something like 30 taps to maintain that same passband ripple level. These numbers are for the scenario where no filter coefficient windowing is performed. Thus the FIR Hilbert filter method is computationally more efficient than the complex filtering scheme. For very high-performance analytic signal generation (where the equivalent Hilbert transformer bandwidth must be very close to the full fs/2 bandwidth, and passband ripple must be very small), the DFT method should be considered.

The complex filtering scheme exhibits an amplitude loss of one half, where the DFT and FIR Hilbert filtering methods have no such loss. The DFT method provides the most accurate method for generating a complex analytic signal from a real signal, and with the DFT the real part of xc(n) is equal to the real input xr(n). Choosing which method to use in any given application requires modeling with your target computing hardware, using your expected number format (integer versus floating point), against the typical input signals you intend to process.

Prev don't be afraid of buying books Next


[1] Proakis, J., and Manolakis, D. Digital Signal Processing: Principles, Algorithms and Applications, Prentice-Hall, Upper Saddle River, New Jersey, 1996, pp. 618, 657.

[2] Rabiner, L., and Gold, B. The Theory and Application of Digital Signal Processing, Prentice-Hall, Englewood Cliffs, New Jersey, 1975, pp. 67, 168.

[3] Oppenheim, A., and Schafer, R. Discrete-Time Signal Processing, Prentice-Hall, Englewood Cliffs, New Jersey, 1st Ed. 1989, 2nd Ed. 1999.

[4] Laasko, T., et. al. "Splitting the Unit Delay," IEEE Signal Processing Magazine, Jan. 1996.

[5] Gomes, J., and Petraglia, A. "An Analog Sampled-Data DSB to SSB Converter Using Recursive Hilbert Transformer for Accurate I and Q Channel Matching," IEEE Trans. on Circuits and Sys.-II, Analog and Digital Signal Processing, Vol. 39. No. 3, Mar. 2002, pp. 177–187.

[6] Ansari, R. "IIR Hilbert Transformers," IEEE Trans. Acoust., Speech Signal Processing, Vol. 35, Aug. 1987, pp. 1116–1119.

[7] Marple Jr., S. "Computing the Discrete-time 'Analytic' Signal via FFT," IEEE Trans. on Signal Proc., Vol. 47, No. 9, Sept. 1999, pp. 2600–2603.

[8] Reilly, A., et. al. "Analytic Signal Generation—Tips and Traps," IEEE Trans. on Signal Proc., Vol. 42, No. 11, Nov. 1994.