GNU Radio 3.5.3.2 C++ API
digital_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 <digital_ofdm_frame_sink.h>

Inheritance diagram for digital_ofdm_frame_sink:

List of all members.

Public Member Functions

 ~digital_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

 digital_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

DIGITAL_API
digital_ofdm_frame_sink_sptr 
digital_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

digital_ofdm_frame_sink::digital_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]
digital_ofdm_frame_sink::~digital_ofdm_frame_sink ( )

Member Function Documentation

unsigned int digital_ofdm_frame_sink::demapper ( const gr_complex in,
unsigned char *  out 
) [protected]
void digital_ofdm_frame_sink::enter_have_header ( ) [protected]
void digital_ofdm_frame_sink::enter_have_sync ( ) [protected]
void digital_ofdm_frame_sink::enter_search ( ) [protected]
bool digital_ofdm_frame_sink::header_ok ( ) [inline, protected]
bool digital_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 digital_ofdm_frame_sink::slicer ( const gr_complex  x) [protected]
int digital_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

DIGITAL_API digital_ofdm_frame_sink_sptr digital_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: