GNU Radio 3.7.1 C++ API
|
Serializes complex modulations symbols from OFDM sub-carriers. More...
#include <ofdm_serializer_vcc.h>
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) |
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.
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] |
fft_len | FFT length |
occupied_carriers | See ofdm_carrier_allocator_cvc. |
len_tag_key | The key of the tag identifying the length of the input frame in OFDM symbols. |
packet_len_tag_key | The key of the tag identifying the number of complex symbols in this packet. |
symbols_skipped | If the first symbol is not allocated as in occupied_carriers [0], set this |
carr_offset_key | When 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_shifted | If 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] |
allocator | The carrier allocator block of which this shall be the inverse |
packet_len_tag_key | The key of the tag identifying the number of complex symbols in this packet. |
symbols_skipped | If the first symbol is not allocated as in occupied_carriers [0], set this |
carr_offset_key | When 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_shifted | If the input has the DC carrier on index 0 (i.e. it is not FFT shifted), set this to false |