32 size_t d_max_burst_size;
36 gr_complex* d_burst_after_pll;
37 gr_complex* d_decimated_burst;
38 int* d_demodulated_burst;
39 int d_symbol_mapping[4];
40 uint64_t d_n_handled_bursts;
41 uint64_t d_n_access_ok_bursts;
42 uint64_t d_n_access_ok_sub_bursts;
44 std::vector<uint8_t> d_bits;
45 std::vector<uint64_t> d_channel_id;
47 void handler(
int channel, pmt::pmt_t msg);
48 void update_buffer_sizes(
size_t burst_size);
49 int decimate(
const gr_complex* in,
int size,
int sps, gr_complex* out);
50 float qpskFirstOrderPLL(
const gr_complex* x,
int size,
float alpha, gr_complex* y);
51 size_t demod_qpsk(
const gr_complex*
burst,
56 bool check_sync_word(
int* d_demodulated_burst,
59 void decode_deqpsk(
int* demodulated_burst,
size_t n_symbols);
60 void map_symbols_to_bits(
const int* demodulated_burst,
62 std::vector<uint8_t>& bits);
72 int work(
int noutput_items,
73 gr_vector_const_void_star& input_items,
74 gr_vector_void_star& output_items);