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

Header utility for OFDM signals. More...

#include <packet_header_ofdm.h>

Inheritance diagram for gr::digital::packet_header_ofdm:

List of all members.

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

Detailed Description

Header utility for OFDM signals.


Member Typedef Documentation


Constructor & Destructor Documentation

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 
)

Member Function Documentation

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]
Parameters:
occupied_carriersSee carrier allocator
n_symsThe number of OFDM symbols the header should be (usually 1)
len_tag_keyThe tag key used for the packet length (number of bytes)
frame_len_tag_keyThe tag key used for the frame length (number of OFDM symbols, this is the tag key required for the frame equalizer etc.)
num_tag_keyThe tag key used for packet numbering.
bits_per_header_symBits 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_symBits 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.

Member Data Documentation

const std::vector<std::vector<int> > gr::digital::packet_header_ofdm::d_occupied_carriers [protected]

Which carriers/symbols carry data.

Helper variable: Total number of elements in d_occupied_carriers.


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