From 9b2c992cf1055afb35780e1eba799243d8be2dae Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Mon, 22 Jun 2009 17:22:07 +0200 Subject: added first step towards correction of USRP's clock offset --- src/lib/gsm.i | 4 ++-- src/lib/gsm_receiver_cf.cc | 6 +++--- src/lib/gsm_receiver_cf.h | 9 ++++----- src/python/gsm_receive.py | 29 +++++++++++++++++++---------- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/lib/gsm.i b/src/lib/gsm.i index 8c4d79a..b5a33f2 100644 --- a/src/lib/gsm.i +++ b/src/lib/gsm.i @@ -38,12 +38,12 @@ GR_SWIG_BLOCK_MAGIC(gsm,receiver_cf); -gsm_receiver_cf_sptr gsm_make_receiver_cf ( gr_feval_dd *tuner, int osr); +gsm_receiver_cf_sptr gsm_make_receiver_cf ( gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr); class gsm_receiver_cf : public gr_block { private: - gsm_receiver_cf ( gr_feval_dd *tuner, int osr); + gsm_receiver_cf ( gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr); }; // ---------------------------------------------------------------- diff --git a/src/lib/gsm_receiver_cf.cc b/src/lib/gsm_receiver_cf.cc index c9ef010..e314381 100644 --- a/src/lib/gsm_receiver_cf.cc +++ b/src/lib/gsm_receiver_cf.cc @@ -72,9 +72,9 @@ typedef std::vector vector_float; typedef boost::circular_buffer circular_buffer_float; gsm_receiver_cf_sptr -gsm_make_receiver_cf(gr_feval_dd *tuner, int osr) +gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr) { - return gsm_receiver_cf_sptr(new gsm_receiver_cf(tuner, osr)); + return gsm_receiver_cf_sptr(new gsm_receiver_cf(tuner, synchronizer, osr)); } static const int MIN_IN = 1; // mininum number of input streams @@ -85,7 +85,7 @@ static const int MAX_OUT = 1; // maximum number of output streams /* * The private constructor */ -gsm_receiver_cf::gsm_receiver_cf(gr_feval_dd *tuner, int osr) +gsm_receiver_cf::gsm_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr) : gr_block("gsm_receiver", gr_make_io_signature(MIN_IN, MAX_IN, sizeof(gr_complex)), gr_make_io_signature(MIN_OUT, MAX_OUT, 142 * sizeof(float))), diff --git a/src/lib/gsm_receiver_cf.h b/src/lib/gsm_receiver_cf.h index 070f9cf..9454997 100644 --- a/src/lib/gsm_receiver_cf.h +++ b/src/lib/gsm_receiver_cf.h @@ -37,7 +37,7 @@ class gsm_receiver_cf; typedef boost::shared_ptr gsm_receiver_cf_sptr; typedef std::vector vector_complex; -gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, int osr); +gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr); /** GSM Receiver GNU Radio block * @@ -61,6 +61,7 @@ class gsm_receiver_cf : public gr_block gr_complex d_norm_training_seq[TRAIN_SEQ_NUM][N_TRAIN_BITS]; ///