From: Tom Rondeau Date: Wed, 28 Apr 2010 02:17:44 +0000 (-0400) Subject: Fixing ordering so that the input channels line up in the output signal properly. X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=0c6abf713755e4c7f705bad2e9f982d431b4286d;p=debian%2Fgnuradio Fixing ordering so that the input channels line up in the output signal properly. --- 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 f8b0eae2..15ba1ae2 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));