Re: Odd length Hilbert FIR Implementation



Al Clark wrote:
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.

What I'm saying is that there are two ways to make a windowed H with 2n-1 coefficients (including any zeros). Both use a window with 2n+1 points (including the zeros at the ends). One starts with 2n-1 points, the other with 2n+1 points. They are clearly not the same. Just as clearly, the same applies to even numbers of taps. A Kaiser window of n+2 points produces a filter of n points whether the unwindowed filter has n points or n+2.

I lost track of the question. :-)

Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
.



Relevant Pages

  • Re: FIR design with zeroes
    ... the taps being zero. ... into generating a design with lots of zero-valued coefficients. ... If an even-length filter is designed with the desired gain of 0.5 at f=0 ...
    (comp.dsp)
  • Re: Odd length Hilbert FIR Implementation
    ... >> coefficients for each tap of the filter. ... >> be 2i nonzero coefficients and 2i-1 zero coefficients. ... >> Window. ...
    (comp.dsp)
  • Re: FIR design with zeroes
    ... A symmetrical FIR filter is by far the easiest to deal with - so the zeros ... if you arbitrarily center a FIR filter at zero time then a symmetrical ... FIR filter's frequency response is made up entirely of cosines in frequency ... pairs of coefficients equally distanced above and below zero that are equal. ...
    (comp.dsp)
  • Re: FIR design with zeroes
    ... the taps being zero. ... A symmetrical FIR filter is by far the easiest to deal with - so the zeros ... symmetrical FIR filter's frequency response is made up entirely of cosines ... because there are pairs of coefficients equally distanced above and below ...
    (comp.dsp)
  • 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)