summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-digital/lib/pfb_clock_sync_ccf_impl.cc9
-rw-r--r--gr-digital/lib/pfb_clock_sync_ccf_impl.h2
-rw-r--r--gr-digital/lib/pfb_clock_sync_fff_impl.cc15
-rwxr-xr-xgr-digital/python/digital/qa_pfb_clock_sync.py6
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__':