[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Question on fir filter implementation(gr_fir_ccf_gene
From: |
isulsz |
Subject: |
[Discuss-gnuradio] Question on fir filter implementation(gr_fir_ccf_generic) |
Date: |
Tue, 2 Jun 2009 14:49:58 -0700 (PDT) |
I have two questions regarding to the FIR filter implementation.
I understand that the output of a FIR filter is the sum of the
multiplications of filter taps and previous (and current) inputs, or simply
speaking, a convolution, y[n] = \sum_{k from 0 to L-1} h[k] * x[n-k].
Take gr_fir_ccf_generic for example, the code introduce a parameter
N_UNROLL(= 2 or 4) and seems to break the summation into N_UNROLL parts:
acc0,acc1,acc2,acc3 (if U_UNROLL == 4). and then sum them together. What is
the reason for doing this?
Another confusion is that, the summation is like this:
acc0 += d_taps[i+0] * input[i+0];
acc1 += d_taps[i+1] * input[i+1];
acc2 += d_taps[i+2] * input[i+2];
acc3 += d_taps[i+3] * input[i+3];
Why here is input[i PLUS SOMETHING]? I think these are FUTURE(but not
PREVIOUS) values of the current input (the current input is input[0] if I
understand the code correctly).
Thank you very much!
--
View this message in context:
http://www.nabble.com/Question-on-fir-filter-implementation%28gr_fir_ccf_generic%29-tp23841646p23841646.html
Sent from the GnuRadio mailing list archive at Nabble.com.
- [Discuss-gnuradio] Question on fir filter implementation(gr_fir_ccf_generic),
isulsz <=