Logarithmic algebra for FIR calculation?

I was Googling around on constant modulus stuff and came across the
following paper:

http://www.ee.ucl.ac.uk/lcs/papers2002/LCS133.pdf

But it wasn’t the CMA stuff that caught my attention, it was the
description of converting a transversal FIR filter from a MAC function
to an adder by going into the logarithmic domain, delay/adding the
(log)weights, then exponentiating. This appeared to be done with fixed
point integers. The log operation was approximated.

I’m not all that familiar with optimized floating point (it just works)
so I don’t know how long SSE, etc. multiplies take, but I am interested
in knowing whether there is merit to this transform in time and MIPS for
a float based signal stream on a x86 processor such as we use in GNU
Radio.

I also wonder how long through a flow graph one could stay in the
logarithmic domain.

-Johnathan, posting from sunny, 109F Phoenix “but it’s a dry heat” AZ
:frowning:

On Tue, Jun 20, 2006 at 09:32:48AM -0700, Johnathan C. wrote:

I was Googling around on constant modulus stuff and came across the
following paper:

http://www.ee.ucl.ac.uk/lcs/papers2002/LCS133.pdf

Thanks for the pointer.

But it wasn’t the CMA stuff that caught my attention, it was the
description of converting a transversal FIR filter from a MAC function
to an adder by going into the logarithmic domain, delay/adding the
(log)weights, then exponentiating. This appeared to be done with fixed
point integers. The log operation was approximated.

I’m not all that familiar with optimized floating point (it just works)
so I don’t know how long SSE, etc. multiplies take, but I am interested
in knowing whether there is merit to this transform in time and MIPS for
a float based signal stream on a x86 processor such as we use in GNU Radio.

Floating point is very fast. We can do pretty close to 1 MAC / clock
cycle
on Pentium 3/4/M, Athlon and AMD-64.

-Johnathan, posting from sunny, 109F Phoenix “but it’s a dry heat” AZ :frowning:

Eric