diff options
author | Tom Rondeau | 2010-04-27 22:17:44 -0400 |
---|---|---|
committer | Tom Rondeau | 2010-04-27 22:17:44 -0400 |
commit | 0c6abf713755e4c7f705bad2e9f982d431b4286d (patch) | |
tree | 18d3528502b6ebc49d02a7ece800f0e20784d878 | |
parent | 06f92ca4200bbebd2ecb77f88b4524711f9292c4 (diff) | |
download | gnuradio-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.cc | 4 |
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)); |