diff options
author | Matt Ettus | 2009-10-06 17:56:38 -0700 |
---|---|---|
committer | Matt Ettus | 2009-10-06 17:56:38 -0700 |
commit | 1661deaf5732118c6cb8d0c91cdcaf4f12b80932 (patch) | |
tree | 3ebfe099fc50c2ce4be58f8294dc7f48d4f95e7a | |
parent | d3c44ab5ea730c973588e5a590543df01372109c (diff) | |
parent | 10a573eb24a2c78c090a7a62614a8610f4ee17e1 (diff) | |
download | gnuradio-1661deaf5732118c6cb8d0c91cdcaf4f12b80932.tar.gz gnuradio-1661deaf5732118c6cb8d0c91cdcaf4f12b80932.tar.bz2 gnuradio-1661deaf5732118c6cb8d0c91cdcaf4f12b80932.zip |
Merge branch 'sync' of http://gnuradio.org/git/trondeau into sync
-rw-r--r-- | gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc index b67efc52d..79779c91c 100644 --- a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc +++ b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc @@ -209,9 +209,12 @@ gr_pfb_clock_sync_ccf::general_work (int noutput_items, gr_complex *in = (gr_complex *) input_items[0]; gr_complex *out = (gr_complex *) output_items[0]; - float *err; - if(ninput_items.size() == 2) + float *err, *outrate, *outk; + if(output_items.size() > 2) { err = (float *) output_items[1]; + outrate = (float*)output_items[2]; + outk = (float*)output_items[3]; + } if (d_updated) { d_updated = false; @@ -230,9 +233,6 @@ gr_pfb_clock_sync_ccf::general_work (int noutput_items, out[i] = d_filters[filtnum]->filter(&in[count]); error = (out[i] * d_diff_filters[filtnum]->filter(&in[count])).real(); - if(ninput_items.size() == 2) - err[i] = error; - d_k = d_k + d_alpha*error + d_rate; d_rate = d_rate + d_beta*error; while(d_k >= d_nfilters) { @@ -247,8 +247,14 @@ gr_pfb_clock_sync_ccf::general_work (int noutput_items, i++; count += d_sps; - printf("error: %f k: %f rate: %f\n", - error, d_k, d_rate); + if(output_items.size() > 2) { + err[i] = error; + outrate[i] = d_rate; + outk[i] = d_k; + } + + //printf("error: %f k: %f rate: %f\n", + // error, d_k, d_rate); } // Set the start index at the next entrance to the work function |