[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] gr.fir_filter_xxx()
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] gr.fir_filter_xxx() |
Date: |
Sat, 27 Aug 2005 11:13:44 -0700 |
User-agent: |
Mutt/1.5.6i |
On Sat, Aug 27, 2005 at 06:08:34AM +0100, kelvin loi wrote:
> Hi all,
> Has anybody out there dive into the C++ code for the
> gr.fir_filter_xxx() block??? Because i just wondering
> why GNU radio can actually do decimation before the
> polyphase FIR filter? That actually is not allowed in
> signal processing theory isn't it? Because it will
> cause aliasing. Please give me some guidance. Thanks.
>
> Cheers,
> kelvin
gr.fir_filter_xxx does not use a polyphase implementation.
It's a normal "dot product" implementation with O(n*m) runtime where n
is the number of taps and m is the number of input samples. However,
the constant is *very* small, typically 1 on x86 machines. We ought
to be able to get to 0.5 on AMD64 (2 FADDs and 2 FMULTs / cycle).
For filters with more than about 16 taps, gr.fft_filter_xxx is faster,
though it depends on the decimation factor. YMMV.
Eric