gr::digital::packet_header_ofdm
gr::digital::packet_header_default
gnuradio/digital/packet_header_ofdm.h
std::shared_ptr< packet_header_ofdm > typedef std::shared_ptr<packet_header_ofdm> gr::digital::packet_header_ofdm::sptr sptr gr::digital::packet_header_ofdm::sptr
pmt::pmt_t pmt::pmt_t gr::digital::packet_header_ofdm::d_frame_len_tag_key d_frame_len_tag_key gr::digital::packet_header_ofdm::d_frame_len_tag_key

Tag key of the additional frame length tag.

const std::vector< std::vector< int > > const std::vector<std::vector<int> > gr::digital::packet_header_ofdm::d_occupied_carriers d_occupied_carriers gr::digital::packet_header_ofdm::d_occupied_carriers

Which carriers/symbols carry data.

int int gr::digital::packet_header_ofdm::d_bits_per_payload_sym d_bits_per_payload_sym gr::digital::packet_header_ofdm::d_bits_per_payload_sym
std::vector< unsigned char > std::vector<unsigned char> gr::digital::packet_header_ofdm::d_scramble_mask d_scramble_mask gr::digital::packet_header_ofdm::d_scramble_mask

Bits are xor'd with this before tx'ing.

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 scramble_header)
packet_header_ofdm
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 scramble_header
gr::digital::packet_header_default::len_tag_key
gr::digital::packet_header_ofdm::~packet_header_ofdm
() override
~packet_header_ofdm
gr::digital::packet_header_ofdm::~packet_header_ofdm
bool bool gr::digital::packet_header_ofdm::header_formatter (long packet_len, unsigned char *out, const std::vector< tag_t > &tags) override header_formatter gr::digital::packet_header_ofdm::header_formatter header_formatter long packet_len unsigned char * out const std::vector< tag_t > & tags

Header formatter.

Does the same as packet_header_default::header_formatter(), but optionally scrambles the bits (this is more important for OFDM to avoid PAPR spikes).

bool bool gr::digital::packet_header_ofdm::header_parser (const unsigned char *header, std::vector< tag_t > &tags) override header_parser gr::digital::packet_header_ofdm::header_parser header_parser const unsigned char * header std::vector< tag_t > & tags

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.

sptr 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, bool scramble_header=false) make 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 bool scramble_header false

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.

scramble_header

Set this to true to scramble the bits. This is highly recommended, as it reduces PAPR spikes.

gr::digital::packet_header_default::len_tag_key

Header utility for OFDM signals.

gr::digital::packet_header_default
gr::digital::packet_header_ofdm
std::enable_shared_from_this< gr::digital::packet_header_default >
gr::digital::crc
gr::digital::packet_header_default
d_len_tag_key
d_num_tag_key
d_crc_impl
gr::digital::packet_header_ofdm
d_frame_len_tag_key
d_occupied_carriers
d_scramble_mask
std::enable_shared_from_this< gr::digital::packet_header_default >
std::shared_ptr< pmt_base >
std::vector< int >
std::vector< std::vector< int > >
elements
p
std::vector< unsigned char >
- gr::digital::packet_header_ofdm
  base
- gr::digital::packet_header_ofdm
  d_bits_per_byte
- gr::digital::packet_header_ofdm
  d_bits_per_payload_sym
- gr::digital::packet_header_ofdm
  d_crc_impl
- gr::digital::packet_header_ofdm
  d_frame_len_tag_key
- gr::digital::packet_header_ofdm
  d_header_len
- gr::digital::packet_header_ofdm
  d_header_number
- gr::digital::packet_header_ofdm
  d_len_tag_key
- gr::digital::packet_header_ofdm
  d_mask
- gr::digital::packet_header_ofdm
  d_num_tag_key
- gr::digital::packet_header_ofdm
  d_occupied_carriers
- gr::digital::packet_header_ofdm
  d_scramble_mask
- gr::digital::packet_header_ofdm
  formatter
- gr::digital::packet_header_ofdm
  header_formatter
- gr::digital::packet_header_ofdm
  header_len
- gr::digital::packet_header_ofdm
  header_parser
- gr::digital::packet_header_ofdm
  len_tag_key
- gr::digital::packet_header_ofdm
  make
- gr::digital::packet_header_ofdm
  make
- gr::digital::packet_header_ofdm
  packet_header_default
- gr::digital::packet_header_ofdm
  packet_header_ofdm
- gr::digital::packet_header_ofdm
  set_header_num
- gr::digital::packet_header_ofdm
  sptr
- gr::digital::packet_header_ofdm
  ~packet_header_default
- gr::digital::packet_header_ofdm
  ~packet_header_ofdm