GNU Radio 3.7.1 C++ API
gr::digital::ofdm_serializer_vcc Class Reference

Serializes complex modulations symbols from OFDM sub-carriers. More...

#include <ofdm_serializer_vcc.h>

Inheritance diagram for gr::digital::ofdm_serializer_vcc:

List of all members.

Public Types

typedef boost::shared_ptr
< ofdm_serializer_vcc
sptr

Static Public Member Functions

static sptr make (int fft_len, const std::vector< std::vector< int > > &occupied_carriers, const std::string &len_tag_key="frame_len", const std::string &packet_len_tag_key="", int symbols_skipped=0, const std::string &carr_offset_key="", bool input_is_shifted=true)
static sptr make (const gr::digital::ofdm_carrier_allocator_cvc::sptr &allocator, const std::string &packet_len_tag_key="", int symbols_skipped=0, const std::string &carr_offset_key="", bool input_is_shifted=true)

Detailed Description

Serializes complex modulations symbols from OFDM sub-carriers.

This is the inverse block to the carrier_allocator_cvc. It outputs the complex data symbols as a tagged stream, discarding the pilot symbols.

If given, two different tags are parsed: The first key (len_tag_key) specifies the number of OFDM symbols in the frame at the input. The second key (packet_len_tag_key) specifies the number of complex symbols that are coded into this frame. If given, this second key is then used at the output, otherwise, len_tag_key is used. If both are given, the packet length specifies the maximum number of output items, and the frame length specifies the exact number of consumed input items.

It is possible to correct a carrier offset in this function by passing another tag with said offset.

Input: Complex vectors of length fft_len Output: Complex scalars, in the same order as specified in occupied_carriers.


Member Typedef Documentation


Member Function Documentation

static sptr gr::digital::ofdm_serializer_vcc::make ( int  fft_len,
const std::vector< std::vector< int > > &  occupied_carriers,
const std::string &  len_tag_key = "frame_len",
const std::string &  packet_len_tag_key = "",
int  symbols_skipped = 0,
const std::string &  carr_offset_key = "",
bool  input_is_shifted = true 
) [static]
Parameters:
fft_lenFFT length
occupied_carriersSee ofdm_carrier_allocator_cvc.
len_tag_keyThe key of the tag identifying the length of the input frame in OFDM symbols.
packet_len_tag_keyThe key of the tag identifying the number of complex symbols in this packet.
symbols_skippedIf the first symbol is not allocated as in occupied_carriers[0], set this
carr_offset_keyWhen this block should correct a carrier offset, specify the tag key of the offset here (not necessary if following an ofdm_frame_equalizer_vcvc)
input_is_shiftedIf the input has the DC carrier on index 0 (i.e. it is not FFT shifted), set this to false
static sptr gr::digital::ofdm_serializer_vcc::make ( const gr::digital::ofdm_carrier_allocator_cvc::sptr allocator,
const std::string &  packet_len_tag_key = "",
int  symbols_skipped = 0,
const std::string &  carr_offset_key = "",
bool  input_is_shifted = true 
) [static]
Parameters:
allocatorThe carrier allocator block of which this shall be the inverse
packet_len_tag_keyThe key of the tag identifying the number of complex symbols in this packet.
symbols_skippedIf the first symbol is not allocated as in occupied_carriers[0], set this
carr_offset_keyWhen this block should correct a carrier offset, specify the tag key of the offset here (not necessary if following an ofdm_frame_equalizer_vcvc)
input_is_shiftedIf the input has the DC carrier on index 0 (i.e. it is not FFT shifted), set this to false

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