diff options
-rw-r--r-- | gr-digital/lib/pfb_clock_sync_ccf_impl.cc | 9 | ||||
-rw-r--r-- | gr-digital/lib/pfb_clock_sync_ccf_impl.h | 2 | ||||
-rw-r--r-- | gr-digital/lib/pfb_clock_sync_fff_impl.cc | 15 | ||||
-rwxr-xr-x | gr-digital/python/digital/qa_pfb_clock_sync.py | 6 |
4 files changed, 10 insertions, 22 deletions
diff --git a/gr-digital/lib/pfb_clock_sync_ccf_impl.cc b/gr-digital/lib/pfb_clock_sync_ccf_impl.cc index 62c72ce7d3..995b1cd1b5 100644 --- a/gr-digital/lib/pfb_clock_sync_ccf_impl.cc +++ b/gr-digital/lib/pfb_clock_sync_ccf_impl.cc @@ -89,9 +89,6 @@ namespace gr { d_rate_f = d_rate - (float)d_rate_i; d_filtnum = (int)floor(d_k); - //GR_LOG_DEBUG(d_logger, boost::format("rate: %1% irate: %2% frate: %3%") \ - // % d_rate % d_rate_i % d_rate_f); - d_filters = std::vector<kernel::fir_filter_ccf*>(d_nfilters); d_diff_filters = std::vector<kernel::fir_filter_ccf*>(d_nfilters); @@ -109,8 +106,6 @@ namespace gr { set_taps(dtaps, d_dtaps, d_diff_filters); set_relative_rate((float)d_osps/(float)d_sps); - - d_diff_count = 0; } pfb_clock_sync_ccf_impl::~pfb_clock_sync_ccf_impl() @@ -241,10 +236,6 @@ namespace gr { float denom = (1.0 + 2.0*d_damping*d_loop_bw + d_loop_bw*d_loop_bw); d_alpha = (4*d_damping*d_loop_bw) / denom; d_beta = (4*d_loop_bw*d_loop_bw) / denom; - //GR_LOG_DEBUG(d_logger, boost::format("loop bw: %1%") % d_loop_bw); - //GR_LOG_DEBUG(d_logger, boost::format("damping: %1%") % d_damping); - //GR_LOG_DEBUG(d_logger, boost::format("alpha: %1%") % d_alpha); - //GR_LOG_DEBUG(d_logger, boost::format("beta: %1%") % d_beta); } void diff --git a/gr-digital/lib/pfb_clock_sync_ccf_impl.h b/gr-digital/lib/pfb_clock_sync_ccf_impl.h index 69abc56e18..015e037275 100644 --- a/gr-digital/lib/pfb_clock_sync_ccf_impl.h +++ b/gr-digital/lib/pfb_clock_sync_ccf_impl.h @@ -58,8 +58,6 @@ namespace gr { float d_error; int d_out_idx; - int d_diff_count; - void create_diff_taps(const std::vector<float> &newtaps, std::vector<float> &difftaps); diff --git a/gr-digital/lib/pfb_clock_sync_fff_impl.cc b/gr-digital/lib/pfb_clock_sync_fff_impl.cc index f0e232bf51..c5a8b6eec5 100644 --- a/gr-digital/lib/pfb_clock_sync_fff_impl.cc +++ b/gr-digital/lib/pfb_clock_sync_fff_impl.cc @@ -90,7 +90,7 @@ namespace gr { d_diff_filters = std::vector<kernel::fir_filter_fff*>(d_nfilters); // Create an FIR filter for each channel and zero out the taps - std::vector<float> vtaps(0, d_nfilters); + std::vector<float> vtaps(1,0); for(int i = 0; i < d_nfilters; i++) { d_filters[i] = new kernel::fir_filter_fff(1, vtaps); d_diff_filters[i] = new kernel::fir_filter_fff(1, vtaps); @@ -128,7 +128,6 @@ namespace gr { ninput_items_required[i] = (noutput_items + history()) * (d_sps/d_osps); } - /******************************************************************* SET FUNCTIONS *******************************************************************/ @@ -137,7 +136,7 @@ namespace gr { pfb_clock_sync_fff_impl::set_loop_bandwidth(float bw) { if(bw < 0) { - throw std::out_of_range("pfb_clock_sync_fff_impl: invalid bandwidth. Must be >= 0."); + throw std::out_of_range("pfb_clock_sync_fff: invalid bandwidth. Must be >= 0."); } d_loop_bw = bw; @@ -148,7 +147,7 @@ namespace gr { pfb_clock_sync_fff_impl::set_damping_factor(float df) { if(df < 0 || df > 1.0) { - throw std::out_of_range("pfb_clock_sync_fff_impl: invalid damping factor. Must be in [0,1]."); + throw std::out_of_range("pfb_clock_sync_fff: invalid damping factor. Must be in [0,1]."); } d_damping = df; @@ -159,7 +158,7 @@ namespace gr { pfb_clock_sync_fff_impl::set_alpha(float alpha) { if(alpha < 0 || alpha > 1.0) { - throw std::out_of_range("pfb_clock_sync_fff_impl: invalid alpha. Must be in [0,1]."); + throw std::out_of_range("pfb_clock_sync_fff: invalid alpha. Must be in [0,1]."); } d_alpha = alpha; } @@ -168,7 +167,7 @@ namespace gr { pfb_clock_sync_fff_impl::set_beta(float beta) { if(beta < 0 || beta > 1.0) { - throw std::out_of_range("pfb_clock_sync_fff_impl: invalid beta. Must be in [0,1]."); + throw std::out_of_range("pfb_clock_sync_fff: invalid beta. Must be in [0,1]."); } d_beta = beta; } @@ -252,7 +251,7 @@ namespace gr { } // Set the history to ensure enough input items for each filter - set_history(d_taps_per_filter + d_sps); + set_history(d_taps_per_filter + d_sps + d_sps); // Make sure there is enough output space for d_osps outputs/input. set_output_multiple(d_osps); @@ -392,7 +391,7 @@ namespace gr { // Keep the current filter number in [0, d_nfilters] // If we've run beyond the last filter, wrap around and go to next sample - // If we've go below 0, wrap around and go to previous sample + // If we've gone below 0, wrap around and go to previous sample while(d_filtnum >= d_nfilters) { d_k -= d_nfilters; d_filtnum -= d_nfilters; diff --git a/gr-digital/python/digital/qa_pfb_clock_sync.py b/gr-digital/python/digital/qa_pfb_clock_sync.py index efa9879d6a..3c8074b154 100755 --- a/gr-digital/python/digital/qa_pfb_clock_sync.py +++ b/gr-digital/python/digital/qa_pfb_clock_sync.py @@ -41,7 +41,7 @@ class test_pfb_clock_sync(gr_unittest.TestCase): loop_bw = cmath.pi/100.0 nfilts = 32 init_phase = nfilts/2 - max_rate_deviation = 1.5 + max_rate_deviation = 0.5 osps = 1 ntaps = 11 * int(sps*nfilts) @@ -94,7 +94,7 @@ class test_pfb_clock_sync(gr_unittest.TestCase): loop_bw = cmath.pi/100.0 nfilts = 32 init_phase = nfilts/2 - max_rate_deviation = 1.5 + max_rate_deviation = 0.5 osps = 1 ntaps = 11 * int(sps*nfilts) @@ -136,7 +136,7 @@ class test_pfb_clock_sync(gr_unittest.TestCase): #for e,d in zip(expected_result, dst_data): # print e, d - self.assertComplexTuplesAlmostEqual(expected_result, dst_data, 1) + self.assertFloatTuplesAlmostEqual(expected_result, dst_data, 1) if __name__ == '__main__': |