NOTE: The mod input parameter simply chooses a pre-defined demapper/slicer. Eventually, we want to be able to pass in a reference to an object to do the demapping and slicing for a given modulation type. More...
#include <gr_ofdm_frame_sink.h>
Public Member Functions | |
~gr_ofdm_frame_sink () | |
int | work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) |
just like gr_block::general_work, only this arranges to call consume_each for you | |
Protected Member Functions | |
gr_ofdm_frame_sink (const std::vector< gr_complex > &sym_position, const std::vector< unsigned char > &sym_value_out, gr_msg_queue_sptr target_queue, unsigned int occupied_tones, float phase_gain, float freq_gain) | |
void | enter_search () |
void | enter_have_sync () |
void | enter_have_header () |
bool | header_ok () |
unsigned char | slicer (const gr_complex x) |
unsigned int | demapper (const gr_complex *in, unsigned char *out) |
bool | set_sym_value_out (const std::vector< gr_complex > &sym_position, const std::vector< unsigned char > &sym_value_out) |
Friends | |
gr_ofdm_frame_sink_sptr | gr_make_ofdm_frame_sink (const std::vector< gr_complex > &sym_position, const std::vector< unsigned char > &sym_value_out, gr_msg_queue_sptr target_queue, unsigned int occupied_tones, float phase_gain, float freq_gain) |
NOTE: The mod input parameter simply chooses a pre-defined demapper/slicer. Eventually, we want to be able to pass in a reference to an object to do the demapping and slicing for a given modulation type.
gr_ofdm_frame_sink::gr_ofdm_frame_sink | ( | const std::vector< gr_complex > & | sym_position, | |
const std::vector< unsigned char > & | sym_value_out, | |||
gr_msg_queue_sptr | target_queue, | |||
unsigned int | occupied_tones, | |||
float | phase_gain, | |||
float | freq_gain | |||
) | [protected] |
gr_ofdm_frame_sink::~gr_ofdm_frame_sink | ( | ) |
unsigned int gr_ofdm_frame_sink::demapper | ( | const gr_complex * | in, | |
unsigned char * | out | |||
) | [protected] |
void gr_ofdm_frame_sink::enter_have_header | ( | ) | [protected] |
void gr_ofdm_frame_sink::enter_have_sync | ( | ) | [protected] |
void gr_ofdm_frame_sink::enter_search | ( | ) | [protected] |
bool gr_ofdm_frame_sink::header_ok | ( | ) | [inline, protected] |
bool gr_ofdm_frame_sink::set_sym_value_out | ( | const std::vector< gr_complex > & | sym_position, | |
const std::vector< unsigned char > & | sym_value_out | |||
) | [protected] |
unsigned char gr_ofdm_frame_sink::slicer | ( | const gr_complex | x | ) | [protected] |
int gr_ofdm_frame_sink::work | ( | int | noutput_items, | |
gr_vector_const_void_star & | input_items, | |||
gr_vector_void_star & | output_items | |||
) | [virtual] |
just like gr_block::general_work, only this arranges to call consume_each for you
The user must override work to define the signal processing code
Implements gr_sync_block.
gr_ofdm_frame_sink_sptr gr_make_ofdm_frame_sink | ( | const std::vector< gr_complex > & | sym_position, | |
const std::vector< unsigned char > & | sym_value_out, | |||
gr_msg_queue_sptr | target_queue, | |||
unsigned int | occupied_tones, | |||
float | phase_gain, | |||
float | freq_gain | |||
) | [friend] |