38 unsigned int d_samples_consumed;
39 bool d_rx_time_received;
42 float d_c0_signal_dbm;
47 bool d_process_uplink;
48 const int d_chan_imp_length;
50 std::vector<int> d_tseq_nums;
51 std::vector<int> d_cell_allocation;
70 bool d_freq_offset_tag_in_fcch;
71 unsigned d_fcch_start_pos;
72 float d_freq_offset_setting;
74 std::list<double> d_freq_offset_vals;
85 fcch_search, sch_search,
96 unsigned d_failed_sch;
105 bool find_fcch_burst(
const gr_complex *input,
const int nitems,
double & computed_freq_offset);
115 double compute_freq_offset(
const gr_complex * input,
unsigned first_sample,
unsigned last_sample);
122 inline float compute_phase_diff(gr_complex val1, gr_complex val2);
129 bool reach_sch_burst(
const int nitems);
137 int get_sch_chan_imp_resp(
const gr_complex *input, gr_complex * chan_imp_resp);
147 void detect_burst(
const gr_complex * input, gr_complex * chan_imp_resp,
int burst_start,
unsigned char * output_binary);
156 void gmsk_mapper(
const unsigned char * input,
int nitems, gr_complex * gmsk_output, gr_complex start_point);
165 gr_complex correlate_sequence(
const gr_complex * sequence,
int length,
const gr_complex * input);
173 inline void autocorrelation(
const gr_complex * input, gr_complex * out,
int nitems);
183 inline void mafi(
const gr_complex * input,
int nitems, gr_complex * filter,
int filter_length, gr_complex * output);
193 int get_norm_chan_imp_resp(
const gr_complex *input, gr_complex * chan_imp_resp,
float *corr_max,
int bcc);
202 void send_burst(
burst_counter burst_nr,
const unsigned char * burst_binary, uint8_t
burst_type,
size_t input_nr,
unsigned int burst_start=-1);
207 void configure_receiver();
210 void fcch_search_handler(gr_complex *input,
int noutput_items);
211 void sch_search_handler(gr_complex *input,
int noutput_items);
212 void synchronized_handler(gr_complex *input,
213 gr_vector_const_void_star &input_items,
int noutput_items);
216 receiver_impl(
int osr,
const std::vector<int> &cell_allocation,
const std::vector<int> &tseq_nums,
bool process_uplink);
219 int work(
int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);