GNU Radio 3.7.1 C++ API
|
Header utility for OFDM signals. More...
#include <packet_header_ofdm.h>
Public Types | |
typedef boost::shared_ptr < packet_header_ofdm > | sptr |
Public Member Functions | |
packet_header_ofdm (const std::vector< std::vector< int > > &occupied_carriers, int n_syms, const std::string &len_tag_key, const std::string &frame_len_tag_key, const std::string &num_tag_key, int bits_per_header_sym, int bits_per_payload_sym) | |
~packet_header_ofdm () | |
bool | header_parser (const unsigned char *header, std::vector< tag_t > &tags) |
Inverse function to header_formatter(). | |
Static Public Member Functions | |
static sptr | make (const std::vector< std::vector< int > > &occupied_carriers, int n_syms, const std::string &len_tag_key="packet_len", const std::string &frame_len_tag_key="frame_len", const std::string &num_tag_key="packet_num", int bits_per_header_sym=1, int bits_per_payload_sym=1) |
Protected Attributes | |
pmt::pmt_t | d_frame_len_tag_key |
const std::vector< std::vector < int > > | d_occupied_carriers |
Which carriers/symbols carry data. | |
int | d_syms_per_set |
Helper variable: Total number of elements in d_occupied_carriers. | |
int | d_bits_per_payload_sym |
Header utility for OFDM signals.
Reimplemented from gr::digital::packet_header_default.
gr::digital::packet_header_ofdm::packet_header_ofdm | ( | const std::vector< std::vector< int > > & | occupied_carriers, |
int | n_syms, | ||
const std::string & | len_tag_key, | ||
const std::string & | frame_len_tag_key, | ||
const std::string & | num_tag_key, | ||
int | bits_per_header_sym, | ||
int | bits_per_payload_sym | ||
) |
bool gr::digital::packet_header_ofdm::header_parser | ( | const unsigned char * | header, |
std::vector< tag_t > & | tags | ||
) | [virtual] |
Inverse function to header_formatter().
Does the same as packet_header_default::header_parser(), but adds another tag that stores the number of OFDM symbols in the packet. Note that there is usually no linear connection between the number of OFDM symbols and the packet length, because, a packet might finish mid-OFDM-symbol.
Reimplemented from gr::digital::packet_header_default.
static sptr gr::digital::packet_header_ofdm::make | ( | const std::vector< std::vector< int > > & | occupied_carriers, |
int | n_syms, | ||
const std::string & | len_tag_key = "packet_len" , |
||
const std::string & | frame_len_tag_key = "frame_len" , |
||
const std::string & | num_tag_key = "packet_num" , |
||
int | bits_per_header_sym = 1 , |
||
int | bits_per_payload_sym = 1 |
||
) | [static] |
occupied_carriers | See carrier allocator |
n_syms | The number of OFDM symbols the header should be (usually 1) |
len_tag_key | The tag key used for the packet length (number of bytes) |
frame_len_tag_key | The tag key used for the frame length (number of OFDM symbols, this is the tag key required for the frame equalizer etc.) |
num_tag_key | The tag key used for packet numbering. |
bits_per_header_sym | Bits per complex symbol in the header, e.g. 1 if the header is BPSK modulated, 2 if it's QPSK modulated etc. |
bits_per_payload_sym | Bits per complex symbol in the payload. This is required to figure out how many OFDM symbols are necessary to encode the given number of bytes. |
int gr::digital::packet_header_ofdm::d_bits_per_payload_sym [protected] |
const std::vector<std::vector<int> > gr::digital::packet_header_ofdm::d_occupied_carriers [protected] |
Which carriers/symbols carry data.
int gr::digital::packet_header_ofdm::d_syms_per_set [protected] |
Helper variable: Total number of elements in d_occupied_carriers.