Header utility for OFDM signals.
More...
#include <gnuradio/digital/packet_header_ofdm.h>
|
| 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 () override |
|
bool | header_formatter (long packet_len, unsigned char *out, const std::vector< tag_t > &tags) override |
| Header formatter. More...
|
|
bool | header_parser (const unsigned char *header, std::vector< tag_t > &tags) override |
| Inverse function to header_formatter(). More...
|
|
|
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, bool scramble_header=false) |
|
Header utility for OFDM signals.
◆ sptr
◆ 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 |
|
) |
| |
◆ ~packet_header_ofdm()
gr::digital::packet_header_ofdm::~packet_header_ofdm |
( |
| ) |
|
|
override |
◆ header_formatter()
bool gr::digital::packet_header_ofdm::header_formatter |
( |
long |
packet_len, |
|
|
unsigned char * |
out, |
|
|
const std::vector< tag_t > & |
tags |
|
) |
| |
|
overridevirtual |
◆ header_parser()
bool gr::digital::packet_header_ofdm::header_parser |
( |
const unsigned char * |
header, |
|
|
std::vector< tag_t > & |
tags |
|
) |
| |
|
overridevirtual |
◆ make()
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 |
|
) |
| |
|
static |
- Parameters
-
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. |
◆ d_bits_per_payload_sym
int gr::digital::packet_header_ofdm::d_bits_per_payload_sym |
|
protected |
◆ d_frame_len_tag_key
pmt::pmt_t gr::digital::packet_header_ofdm::d_frame_len_tag_key |
|
protected |
Tag key of the additional frame length tag.
◆ d_occupied_carriers
const std::vector<std::vector<int> > gr::digital::packet_header_ofdm::d_occupied_carriers |
|
protected |
Which carriers/symbols carry data.
◆ d_scramble_mask
std::vector<unsigned char> gr::digital::packet_header_ofdm::d_scramble_mask |
|
protected |
Bits are xor'd with this before tx'ing.
The documentation for this class was generated from the following file: