diff options
author | leo <leo@brix.(none)> | 2008-04-24 02:25:11 +0100 |
---|---|---|
committer | leo <leo@brix.(none)> | 2008-04-24 02:25:11 +0100 |
commit | fb9671bfc0f3d1e2fe81099e72ff0c09f07d9171 (patch) | |
tree | 72b815f55348b46141845b4c473638d15e17f4a8 /gsm-tvoid/src/lib/gsm_burst_sink_c.h | |
parent | b5a766ad3cf7ace8184a93912fcda3cbfb5c1279 (diff) |
initial
Diffstat (limited to 'gsm-tvoid/src/lib/gsm_burst_sink_c.h')
-rw-r--r-- | gsm-tvoid/src/lib/gsm_burst_sink_c.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gsm-tvoid/src/lib/gsm_burst_sink_c.h b/gsm-tvoid/src/lib/gsm_burst_sink_c.h new file mode 100644 index 0000000..1197a2c --- /dev/null +++ b/gsm-tvoid/src/lib/gsm_burst_sink_c.h @@ -0,0 +1,54 @@ +#ifndef INCLUDED_gsm_burst_sink_c_H +#define INCLUDED_gsm_burst_sink_c_H + +#include <gr_sync_block.h> +#include <gsm_burst.h> + +class gsm_burst_sink_c; + +typedef boost::shared_ptr<gsm_burst_sink_c> gsm_burst_sink_c_sptr; + +gsm_burst_sink_c_sptr gsm_make_burst_sink_c(gr_feval_ll *,float); + +class gri_mmse_fir_interpolator_cc; + +//class gsm_burst_sink_c : public gr_block, public gsm_burst +class gsm_burst_sink_c : public gr_sync_block, public gsm_burst +{ +private: + + friend gsm_burst_sink_c_sptr gsm_make_burst_sink_c(gr_feval_ll *,float); + gsm_burst_sink_c(gr_feval_ll *,float); + + //clocking parameters + double d_sample_interval; + double d_clock_counter; + gr_complex d_last_sample; + + float d_relative_sample_rate; //omega + float d_mu; + int d_ii; //save index between work calls for interp advance + + gri_mmse_fir_interpolator_cc *d_interp; //sub-sample interpolator from GR + + gr_complex d_complex_burst[BBUF_SIZE]; + + void shift_burst(int shift_bits); + +public: + ~gsm_burst_sink_c (); + +// void forecast (int noutput_items, gr_vector_int &ninput_items_required); + + int work(int noutput_items, + gr_vector_const_void_star &input_items, + gr_vector_void_star &output_items); + +/* int general_work ( int noutput_items, + gr_vector_int &ninput_items, + gr_vector_const_void_star &input_items, + gr_vector_void_star &output_items); +*/ +}; + +#endif /* INCLUDED_gsm_burst_sink_c_H */ |