discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Question on fir filter implementation(gr_fir_ccf_


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Question on fir filter implementation(gr_fir_ccf_generic)
Date: Sat, 6 Jun 2009 21:52:38 -0700
User-agent: Mutt/1.5.18 (2008-05-17)

On Thu, Jun 04, 2009 at 10:07:32PM -0500, Shizheng Li wrote:
> Thanks! But sorry, I am not completely sure I understand it. According to my
> understanding, when input[0] ... input[ntaps()-1] is put into the filter
> function, the filter output is the output when input[ntaps()-1] just go into
> the filter. input[0] should multiply with the tap gain corresponding to the
> most delayed tap ( z^{-ntaps()-1} , the last one in the delay line). And
> this is the reason why in the set_tap() function and the constructor, you
> need a gr_reverse(taps).  More specifically, the filter taps given to the
> filter is in an order where the first one is the tap gain for no delay, the
> second one is the tap gain for one delay z^{-1}, ..., we need to reverse the
> order because we hope input[ntaps-1()] multiply with the tap gain of no
> delay.
> 
> Am I correct?
> Thanks!

One more bit of information that may help you understand:

The input is "prestuffed" with ntaps - 1 zeros before the real samples.
This is handled by the "history" method of the calling GNU Raduio
block.

You are correct that we reverse the taps so that we can process both
the taps and the input in the same order.  That is, as a straight dot product.

Looking at the QA code (e.g., qa_float_dotprod*.cc) might help you understand 
what's going on.

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]