diff options
-rw-r--r-- | gr-digital/lib/clock_recovery_mm_cc_impl.cc | 16 | ||||
-rw-r--r-- | gr-digital/lib/clock_recovery_mm_cc_impl.h | 2 | ||||
-rw-r--r-- | gr-digital/lib/clock_recovery_mm_ff_impl.cc | 15 | ||||
-rw-r--r-- | gr-digital/lib/clock_recovery_mm_ff_impl.h | 2 |
4 files changed, 16 insertions, 19 deletions
diff --git a/gr-digital/lib/clock_recovery_mm_cc_impl.cc b/gr-digital/lib/clock_recovery_mm_cc_impl.cc index be97143367..f63885796d 100644 --- a/gr-digital/lib/clock_recovery_mm_cc_impl.cc +++ b/gr-digital/lib/clock_recovery_mm_cc_impl.cc @@ -43,7 +43,6 @@ clock_recovery_mm_cc_impl::clock_recovery_mm_cc_impl( d_omega_relative_limit(omega_relative_limit), d_gain_mu(gain_mu), d_last_sample(0), - d_interp(new filter::mmse_fir_interpolator_cc()), d_verbose(prefs::singleton()->get_bool("clock_recovery_mm_cc", "verbose", false)), d_p_2T(0), d_p_1T(0), @@ -63,7 +62,7 @@ clock_recovery_mm_cc_impl::clock_recovery_mm_cc_impl( enable_update_rate(true); // fixes tag propagation through variable rate block } -clock_recovery_mm_cc_impl::~clock_recovery_mm_cc_impl() { delete d_interp; } +clock_recovery_mm_cc_impl::~clock_recovery_mm_cc_impl() {} void clock_recovery_mm_cc_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) @@ -71,7 +70,7 @@ void clock_recovery_mm_cc_impl::forecast(int noutput_items, unsigned ninputs = ninput_items_required.size(); for (unsigned i = 0; i < ninputs; i++) ninput_items_required[i] = - (int)ceil((noutput_items * d_omega) + d_interp->ntaps()) + FUDGE; + (int)ceil((noutput_items * d_omega) + d_interp.ntaps()) + FUDGE; } void clock_recovery_mm_cc_impl::set_omega(float omega) @@ -91,10 +90,9 @@ int clock_recovery_mm_cc_impl::general_work(int noutput_items, bool write_foptr = output_items.size() >= 2; - int ii = 0; // input index - int oo = 0; // output index - int ni = - ninput_items[0] - d_interp->ntaps() - FUDGE; // don't use more input than this + int ii = 0; // input index + int oo = 0; // output index + int ni = ninput_items[0] - d_interp.ntaps() - FUDGE; // don't use more input than this assert(d_mu >= 0.0); assert(d_mu <= 1.0); @@ -108,7 +106,7 @@ int clock_recovery_mm_cc_impl::general_work(int noutput_items, while (oo < noutput_items && ii < ni) { d_p_2T = d_p_1T; d_p_1T = d_p_0T; - d_p_0T = d_interp->interpolate(&in[ii], d_mu); + d_p_0T = d_interp.interpolate(&in[ii], d_mu); d_c_2T = d_c_1T; d_c_1T = d_c_0T; @@ -142,7 +140,7 @@ int clock_recovery_mm_cc_impl::general_work(int noutput_items, while (oo < noutput_items && ii < ni) { d_p_2T = d_p_1T; d_p_1T = d_p_0T; - d_p_0T = d_interp->interpolate(&in[ii], d_mu); + d_p_0T = d_interp.interpolate(&in[ii], d_mu); d_c_2T = d_c_1T; d_c_1T = d_c_0T; diff --git a/gr-digital/lib/clock_recovery_mm_cc_impl.h b/gr-digital/lib/clock_recovery_mm_cc_impl.h index 79402f5896..5d2f3d50c0 100644 --- a/gr-digital/lib/clock_recovery_mm_cc_impl.h +++ b/gr-digital/lib/clock_recovery_mm_cc_impl.h @@ -54,7 +54,7 @@ private: float d_gain_mu; // gain for adjusting mu gr_complex d_last_sample; - filter::mmse_fir_interpolator_cc* d_interp; + filter::mmse_fir_interpolator_cc d_interp; bool d_verbose; diff --git a/gr-digital/lib/clock_recovery_mm_ff_impl.cc b/gr-digital/lib/clock_recovery_mm_ff_impl.cc index 652a1fcfa2..d6a0958932 100644 --- a/gr-digital/lib/clock_recovery_mm_ff_impl.cc +++ b/gr-digital/lib/clock_recovery_mm_ff_impl.cc @@ -36,8 +36,7 @@ clock_recovery_mm_ff_impl::clock_recovery_mm_ff_impl( d_gain_mu(gain_mu), d_gain_omega(gain_omega), d_omega_relative_limit(omega_relative_limit), - d_last_sample(0), - d_interp(new filter::mmse_fir_interpolator_ff()) + d_last_sample(0) { if (omega < 1) throw std::out_of_range("clock rate must be > 0"); @@ -49,7 +48,7 @@ clock_recovery_mm_ff_impl::clock_recovery_mm_ff_impl( enable_update_rate(true); // fixes tag propagation through variable rate block } -clock_recovery_mm_ff_impl::~clock_recovery_mm_ff_impl() { delete d_interp; } +clock_recovery_mm_ff_impl::~clock_recovery_mm_ff_impl() {} void clock_recovery_mm_ff_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required) @@ -57,7 +56,7 @@ void clock_recovery_mm_ff_impl::forecast(int noutput_items, unsigned ninputs = ninput_items_required.size(); for (unsigned i = 0; i < ninputs; i++) ninput_items_required[i] = - (int)ceil((noutput_items * d_omega) + d_interp->ntaps()); + (int)ceil((noutput_items * d_omega) + d_interp.ntaps()); } void clock_recovery_mm_ff_impl::set_omega(float omega) @@ -75,14 +74,14 @@ int clock_recovery_mm_ff_impl::general_work(int noutput_items, const float* in = (const float*)input_items[0]; float* out = (float*)output_items[0]; - int ii = 0; // input index - int oo = 0; // output index - int ni = ninput_items[0] - d_interp->ntaps(); // don't use more input than this + int ii = 0; // input index + int oo = 0; // output index + int ni = ninput_items[0] - d_interp.ntaps(); // don't use more input than this float mm_val; while (oo < noutput_items && ii < ni) { // produce output sample - out[oo] = d_interp->interpolate(&in[ii], d_mu); + out[oo] = d_interp.interpolate(&in[ii], d_mu); mm_val = slice(d_last_sample) * out[oo] - slice(out[oo]) * d_last_sample; d_last_sample = out[oo]; diff --git a/gr-digital/lib/clock_recovery_mm_ff_impl.h b/gr-digital/lib/clock_recovery_mm_ff_impl.h index f0361a8074..73ba74784e 100644 --- a/gr-digital/lib/clock_recovery_mm_ff_impl.h +++ b/gr-digital/lib/clock_recovery_mm_ff_impl.h @@ -54,7 +54,7 @@ private: float d_omega_lim; // actual omega clipping limit float d_last_sample; - filter::mmse_fir_interpolator_ff* d_interp; + filter::mmse_fir_interpolator_ff d_interp; bool d_verbose; |