View Single Post
  #14 (permalink)  
Old 03-07-2006, 04:52 PM
Jerry Avins
Guest
 
Posts: n/a
Default Re: Odd length Hilbert FIR Implementation

Al Clark wrote:

...

> Hilbert transformers are very easy using the odd length FIR filter
> method.
>
> This is illustrated in Rick Lyon's book: Understanding Digital Signal
> Processing (second edition).
>
> Basically you create antisymmetric coefficients around the center of your
> FIR. The output of this filter with be the Q part. You can take the
> center tap of the delay line to get the I part.
>
> The catch to hilbert transformers of this type is that the FIR will be a
> bandpass. If you need a wide hilbert transformer, you need a long FIR.
> This makes some sense if you think about it. How would you delay to
> create 90 degrees at DC (about an infinite number of taps).


Is any kind of realizable Hilbert transformer /not/ a bandpass?
>
> The other catch to hilbert transformers is that the amplitude response of
> the Q section will not be exactly 1. It will always have some ripple. You
> extend the length to improve both the frequency response and bandwidth.
> The FIR can be created using a windowing method or remez exchange. The
> windowing method has an interesting property in that 1/2 of the
> coefficients are 0 anbd therefore you can omit them from your
> calculation. The center of the hilbert bandpass will be 1/4 the sampling
> rate. I use Kaiser windows when using the window method.


A Nuttall window works very well too. I think the ripple is smaller
except maybe near the ends of the passband.

> The trick I
> learned recently is that the there will be the same number of 0 values
> for a filter length of 4n-1 as 4n+1. Therefore you might create a 4n+1
> filter and then truncate to 4n-1 length. I got better results in my last
> application for exactly the same computation requirements.
>
> The remez exchange will have non zero vaues for each tap, but may yield a
> flatter response for a wider bandwidth.


If the taps are designated -i to +i with i=0 in the middle, then the
even tap coefficients are zero, and the odd coefficients are
proportional to 1/i (including the sign of i) before the window is
applied. There's a neat formula for the scale factor that I forget, but
it's easily computed from the gain of a signal at Fs/4.

The three-tap case is interesting. It is a (not terribly good)
differentiator with 90 degree phase shift.

> I use hilbert transformers all the time to make detectors, since SQRT(I^2
> + Q^2) is the magnitude. In many cases, I skip the SQRT since a
> comparision to a known value might be all that is important (MS vs RMS)


Jerry
--
Engineering is the art of making what you want from things you can get.
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Reply With Quote