summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau2010-04-27 22:17:44 -0400
committerTom Rondeau2010-04-27 22:17:44 -0400
commit0c6abf713755e4c7f705bad2e9f982d431b4286d (patch)
tree18d3528502b6ebc49d02a7ece800f0e20784d878
parent06f92ca4200bbebd2ecb77f88b4524711f9292c4 (diff)
downloadgnuradio-0c6abf713755e4c7f705bad2e9f982d431b4286d.tar.gz
gnuradio-0c6abf713755e4c7f705bad2e9f982d431b4286d.tar.bz2
gnuradio-0c6abf713755e4c7f705bad2e9f982d431b4286d.zip
Fixing ordering so that the input channels line up in the output signal properly.
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
index f8b0eae26..15ba1ae2e 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
@@ -150,11 +150,13 @@ gr_pfb_synthesis_filterbank_ccf::work (int noutput_items,
for(i = 0; i < d_numchans; i++) {
d_buffer[i][n+d_taps_per_filter-1] = d_fft->get_outbuf()[i];
- out[i] = d_filters[i]->filter(&d_buffer[i][n]);
+ out[d_numchans-i-1] = d_filters[d_numchans-i-1]->filter(&d_buffer[i][n]);
}
out += d_numchans;
}
+ // Move the last chunk of memory to the front for the next entry
+ // this make sure that the first taps_per_filter values are correct
for(i = 0; i < d_numchans; i++) {
memcpy(d_buffer[i], &d_buffer[i][n],
(d_taps_per_filter)*sizeof(gr_complex));