[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] FIR filter 'filterN' method
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] FIR filter 'filterN' method |
Date: |
Mon, 3 Jul 2006 20:51:04 -0700 |
User-agent: |
Mutt/1.5.9i |
On Mon, Jul 03, 2006 at 09:55:39PM -0400, Robert McGwier wrote:
> I suggest a block adaptive approach. Why won't this work?
That would work if that's what he wanted.
My understanding was that he wanted to adapt on every sample.
> Bob
>
>
> Johnathan Corgan wrote:
> >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