Re: Odd length Hilbert FIR Implementation



Jerry Avins <jya@xxxxxxxx> wrote in
news:BOOdnfXlxoWte57ZnZ2dnUVZ_sadnZ2d@xxxxxxx:

I sent this earlier, but I don't see it, so here's a repeat.

Al Clark wrote:

As many of you know, Hilbert pairs are often constructed by using an
odd- length FIR filter with antisymmetrical coefficients. The I part
is
taken from the middle of the delay line and the Q from the output of
the filter.

If you use a Parks/McClellan method for the filter, you will have
coefficients for each tap of the filter.
If you use a window approach instead, The coefficients are 0 for
every other value, so in principle, you need about 1/2 the MACs since
half the MACs are 0.

Assuming a Window approach:

If the length of the filter is 4i-1, that is 3,7,11,..... there will
be 2i nonzero coefficients and 2i-1 zero coefficients. The sequence is
w0,0,w2,0,......w(4i-2)

If the length of the filter is 4i+1, that is 5,9,13,..... there will
be 2i nonzero coefficients and 2i+1 zero coefficients. The sequence is
0, w1, 0, w3,....0

There is the same number of non zero coefficients for 4i-1 and 4i+1
length filters.

I calculated both N=11 and N=13 hilbert filters using a Kaiser
Window. The N=13 had a flatter passband even though the number of non
zero coefficients are the same. Since the end points of the N=13
coefficents are 0, I could truncate the filter to make it smaller. In
essense, I now have a N=11 filter.
I guess this doesn't make too much sense to me. The coefficients are
different, but I am surprised that the filter actually looks much
better.

What am I missing?


Filters using windows without a pedestal (Hann, as opposed to Hamming,
e.g.) have zero coefficients at the ends even if all the unwindowed
coefficients are non zero, because the window value is zero there. For
such filters, compute the window for n + 2, where n is the number of
taps. The longer window gives better results. Computing the entire
filter for n + 2 and relying on the window of n + 2 elements to
shorten the result to n may be better yet; I haven't tried it.

Jerry

Since the 7,11,15,set have non zero values at the endpoints, I assume
that this must have been done for all the filters. I used a Kaiser window
using QED1000.

--
Al Clark
Danville Signal Processing, Inc.
--------------------------------------------------------------------
Purveyors of Fine DSP Hardware and other Cool Stuff
Available at http://www.danvillesignal.com
.



Relevant Pages

  • Re: Odd length Hilbert FIR Implementation
    ... coefficients for each tap of the filter. ... be 2i nonzero coefficients and 2i-1 zero coefficients. ... because the window value is zero there. ...
    (comp.dsp)
  • Re: filter coefficient normalization
    ... I have a question about the filter coefficient normalization. ... normalize the filter coefficients to 1 and indicated to fix-point. ... You don't need to normalize filter coefficients to 1 under fixed point. ... the maximum tap gain to 1. ...
    (comp.dsp)
  • Re: suggestions for FIR hardware implementation?
    ... does anyone have suggestions on efficient ways to implement an FIR filter ... My filter will need to be 256 taps, and run at 27 Mhz (so I ... Round off the coefficients to sums of powers of two and implement ... Using the quantization level you decided on, ...
    (comp.dsp)
  • Re: change filter freq. w/o glitches
    ... The permanent modification of the IIR filter coefficients by ... slewing won't be large. ... stable for the whole duration of the glide. ... ALWAYS stable if the beginning and end coefficients were stable and all ...
    (comp.dsp)
  • Re: Odd length Hilbert FIR Implementation
    ... The I part is taken from the middle of the delay line and the Q from the output of the filter. ... If you use a Parks/McClellan method for the filter, you will have coefficients for each tap of the filter. ... If you use a window approach instead, The coefficients are 0 for every other value, so in principle, you need about 1/2 the MACs since half the MACs are 0. ... 2i nonzero coefficients and 2i-1 zero coefficients. ...
    (comp.dsp)