Revision 05c117f3 gr-filter/lib/adaptive_fir_ccc_impl.cc
| b/gr-filter/lib/adaptive_fir_ccc_impl.cc | ||
|---|---|---|
| 43 | 43 |
gr_make_io_signature(1, 1, sizeof(gr_complex)), |
| 44 | 44 |
gr_make_io_signature(1, 1, sizeof(gr_complex)), |
| 45 | 45 |
decimation), |
| 46 |
kernel::adaptive_fir_ccc(decimation, taps),
|
|
| 46 |
kernel::fir_filter_ccc(decimation, taps),
|
|
| 47 | 47 |
d_updated(false) |
| 48 | 48 |
{
|
| 49 | 49 |
set_history(d_ntaps); |
| ... | ... | |
| 56 | 56 |
d_updated = true; |
| 57 | 57 |
} |
| 58 | 58 |
|
| 59 |
std::vector<gr_complex> |
|
| 60 |
adaptive_fir_ccc_impl::taps() const |
|
| 61 |
{
|
|
| 62 |
return kernel::fir_filter_ccc::taps(); |
|
| 63 |
} |
|
| 64 |
|
|
| 59 | 65 |
gr_complex |
| 60 | 66 |
adaptive_fir_ccc_impl::error(const gr_complex &out) |
| 61 | 67 |
{
|
| ... | ... | |
| 77 | 83 |
gr_complex *out = (gr_complex *)output_items[0]; |
| 78 | 84 |
|
| 79 | 85 |
if (d_updated) {
|
| 80 |
kernel::adaptive_fir_ccc::set_taps(d_new_taps);
|
|
| 86 |
kernel::fir_filter_ccc::set_taps(d_new_taps);
|
|
| 81 | 87 |
set_history(d_ntaps); |
| 82 | 88 |
d_updated = false; |
| 83 | 89 |
return 0; // history requirements may have changed. |
| ... | ... | |
| 85 | 91 |
|
| 86 | 92 |
// Call base class filtering function that uses |
| 87 | 93 |
// overloaded error and update_tap functions. |
| 88 |
filterN(out, in, noutput_items); |
|
| 94 |
if (decimation() == 1) {
|
|
| 95 |
filterN(out, in, noutput_items); |
|
| 96 |
} |
|
| 97 |
else {
|
|
| 98 |
filterNdec(out, in, noutput_items, |
|
| 99 |
decimation()); |
|
| 100 |
} |
|
| 89 | 101 |
|
| 90 | 102 |
return noutput_items; |
| 91 | 103 |
} |
Also available in: Unified diff