21 #ifndef INCLUDED_IRIDIUM_IRIDIUM_QPSK_DEMOD_CPP_IMPL_H 22 #define INCLUDED_IRIDIUM_IRIDIUM_QPSK_DEMOD_CPP_IMPL_H 32 size_t d_max_burst_size;
35 float * d_magnitude_f;
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 void qpskFirstOrderPLL(
const gr_complex* x,
int size,
float alpha, gr_complex* y);
51 size_t demod_qpsk(
const gr_complex *
burst,
size_t n_symbols,
int * out,
float * level,
int * confidence);
53 void decode_deqpsk(
int * demodulated_burst,
size_t n_symbols);
54 void map_symbols_to_bits(
const int * demodulated_burst,
size_t n_symbols, std::vector<uint8_t> &bits);
63 int work(
int noutput_items,
64 gr_vector_const_void_star &input_items,
65 gr_vector_void_star &output_items);
Definition: fft_burst_tagger_impl.h:30
direction
Definition: iridium.h:4
uint64_t get_n_access_ok_bursts()
iridium_qpsk_demod_cpp_impl(int n_channels)
uint64_t get_n_handled_bursts()
Definition: burst_downmix.h:27
Definition: iridium_qpsk_demod_cpp_impl.h:29
<+description of block+>
Definition: iridium_qpsk_demod_cpp.h:35
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
uint64_t get_n_access_ok_sub_bursts()
~iridium_qpsk_demod_cpp_impl()