GNU Radio 3.4.0 C++ API
gr_ofdm_frame_sink Class Reference

Takes an OFDM symbol in, demaps it into bits of 0's and 1's, packs them into packets, and sends to to a message queue sink.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>

Inheritance diagram for gr_ofdm_frame_sink:

List of all members.

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)

Detailed Description

Takes an OFDM symbol in, demaps it into bits of 0's and 1's, packs them into packets, and sends to to a message queue sink.

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.


Constructor & Destructor Documentation

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 ( )

Member Function Documentation

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.


Friends And Related Function Documentation

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]

The documentation for this class was generated from the following file: