|
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) |
Additional Inherited Members | |
Public Member Functions inherited from gr::tagged_stream_block | |
| void | forecast (int noutput_items, gr_vector_int &ninput_items_required) |
| Don't override this. More... | |
| int | general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) |
| virtual int | work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)=0 |
| Just like gr::block::general_work, but makes sure the input is valid. More... | |
Protected Types inherited from gr::basic_block | |
| enum | vcolor { WHITE, GREY, BLACK } |
Protected Member Functions inherited from gr::tagged_stream_block | |
| tagged_stream_block (void) | |
| tagged_stream_block (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature, const std::string &length_tag_key) | |
| virtual void | parse_length_tags (const std::vector< std::vector< tag_t > > &tags, gr_vector_int &n_input_items_reqd) |
| Parse all tags on the first sample of a PDU, return the number of items per input and prune the length tags. More... | |
| virtual int | calculate_output_stream_length (const gr_vector_int &ninput_items) |
| Calculate the number of output items. More... | |
| virtual void | update_length_tags (int n_produced, int n_ports) |
| Set the new length tags on the output stream. More... | |
Protected Attributes inherited from gr::tagged_stream_block | |
| std::string | d_length_tag_key_str |
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 |
| 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 |
| 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 |