Re: Odd length Hilbert FIR Implementation
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?
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
--
Engineering is the art of making what you want from things you can get.
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
|