diff options
-rw-r--r-- | gnuradio-core/src/lib/filter/gri_iir.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gnuradio-core/src/lib/filter/gri_iir.h b/gnuradio-core/src/lib/filter/gri_iir.h index 61d3be44d..5bc67df53 100644 --- a/gnuradio-core/src/lib/filter/gri_iir.h +++ b/gnuradio-core/src/lib/filter/gri_iir.h @@ -143,19 +143,18 @@ gri_iir<i_type, o_type, tap_type>::filter (const i_type input) for (i = 1; i < m; i ++) acc += (d_fbtaps[i] * d_prev_output[latest_m + i]); - latest_n--; - latest_m--; - if (latest_n < 0) - latest_n += n; - if (latest_m < 0) - latest_m += m; - // store the values twice to avoid having to handle wrap-around in the loop d_prev_output[latest_m] = acc; d_prev_output[latest_m+m] = acc; d_prev_input[latest_n] = input; d_prev_input[latest_n+n] = input; + latest_n--; + latest_m--; + if (latest_n < 0) + latest_n += n; + if (latest_m < 0) + latest_m += m; d_latest_m = latest_m; d_latest_n = latest_n; |