[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] FIR filter 'filterN' method
From: |
Johnathan Corgan |
Subject: |
Re: [Discuss-gnuradio] FIR filter 'filterN' method |
Date: |
Mon, 03 Jul 2006 18:42:24 -0700 |
User-agent: |
Thunderbird 1.5.0.4 (X11/20060615) |
Eric Blossom wrote:
> A bigger issue however, is that setting/adjusting the taps on the SIMD
> versions is fairly expensive. If your filter is always adapting,
> you'll probably want to reimplement it in terms of the generic FIR
> code, bypassing the SIMD speedups.
I realize now that changing the FIR taps each output sample will pretty
much wipe out the performance gains of the SIMD optimizations, at which
point it doesn't make sense to go with any of the gr_fir_xxx functions.
Per our offline discussion, I'm going to implement my own FIR
calculation using regular multiplies and hope the compiler can optimize
things somewhat. I'll be able to combine the FIR calculation, the error
calculation and weight updates in a nested loop, while they're all still
(hopefully) hanging out in registers.
It does mean that I can't do a generic "adaptive_fir" class that can be
subclassed and specialized into classes like cma_equalizer,
noise_reduction, etc. Instead each one will end up being unique. I
guess that's the price you pay for speed.
-Johnathan, AE6HO