This class regroups static methods needed to generate a pulse-level representation of an IEEE 802.15.4A UWB PHY frame using the mandatory mode (high PRF). More...
#include <IEEE802154A.h>
Classes | |
struct | config |
currently unused More... | |
Public Types | |
enum | UWBPRF { PRF_OFF, NOMINAL_4_M, NOMINAL_16_M, NOMINAL_64_M } |
enum | Ranging { NON_RANGING, ALL_RANGING, PHY_HEADER_ONLY } |
enum | UWBPreambleSymbolRepetitions { PSR_SHORT = 16, PSR_DEFAULT = 64, PSR_MEDIUM = 1024, PSR_LONG = 4096 } |
enum | DataRate { DATA_RATE_0, DATA_RATE_1, DATA_RATE_2, DATA_RATE_3, DATA_RATE_4 } |
typedef std::pair< Signal *, vector< bool > * > | signalAndData |
Static Public Member Functions | |
static void | setConfig (config newCfg) |
static config | getConfig () |
static void | setPSDULength (int _psduLength) |
static signalAndData | generateIEEE802154AUWBSignal (simtime_t signalStart, bool allZeros=false) |
static simtime_t | getMaxFrameDuration () |
static simtime_t | getPhyMaxFrameDuration () |
static simtime_t | getThdr () |
static int | getHoppingPos (int sym) |
Static Public Attributes | |
static const int | mandatory_bitrate = 850000 |
bit rate (850 kbps) | |
static const_simtime_t | mandatory_symbol = 0.00000102364 |
mandatory data symbol length (1025 ns) | |
static const_simtime_t | mandatory_timeShift = 0.00000051282 |
0.5 * mandatory_symbol (0.5 ms) | |
static const_simtime_t | mandatory_pulse = 0.000000002003203125 |
mandatory pulse duration ( = 1 / bandwidth = 2 ns) | |
static const_simtime_t | mandatory_burst = 0.00000003205 |
burst duration | |
static const int | mandatory_pulses_per_burst = 16 |
number of consecutive pulses forming a burst | |
static const double | mandatory_centerFreq = 4498 |
Center frequency of band 3 in UWB lower band (500 MHz wide channel). | |
static const_simtime_t | mandatory_preambleLength = 0.0000715 |
default sync preamble length | |
static const double | maxPulse = 1 |
Total triangular pulse peak energy in mW (0 dBm / 50 MHz over 500 MHz). | |
static const short | C31 [8][31] |
static const short | Ci = 5 |
static const short | shortSFD [8] = { 0, 1, 0, -1, 1, 0, 0, -1 } |
static const_simtime_t | MaxFrameDuration |
static const int | maxS = 20000 |
static short | s_array [maxS] |
static int | last_s = 15 |
static double | signalStart = 0 |
static const int | NSync = 64 |
Number of Repetitions of the sync symbol in the SYNC preamble. | |
static const short | CLength = 31 |
Length of the preamble code. | |
static const short | spreadingdL = 16 |
sync preamble spreading factor L | |
static const_simtime_t | Tpsym = 0.001 * 0.001 * 0.001 * 993.6 |
duration of a synchronization preamble symbol | |
static const short | RSSymbolLength = 6 |
bit length of a Reed-Solomon symbol | |
static const short | RSMaxSymbolErrors = 4 |
Maximum number of erroneous symbols that the Reed-Solomon code RS_6(63,55) can correct in ieee802.15.4a. | |
static const int | MaxPSDULength = 128 |
Maximum size of message that is accepted by the Phy layer (in bytes). | |
static const_simtime_t | tFirstSyncPulseMax = IEEE802154A::mandatory_pulse/2 |
Position of the first pulse max in the frame. | |
static const int | Nhdr = 16 |
static int | psduLength = 0 |
static config | cfg = IEEE802154A::cfg_mandatory_16M |
static const config | cfg_mandatory_16M |
static const config | cfg_mandatory_4M |
Static Protected Member Functions | |
static void | generateSyncPreamble (Mapping *mapping, Argument *arg) |
static void | generateSFD (Mapping *mapping, Argument *arg) |
static void | generatePhyHeader (Mapping *mapping, Argument *arg) |
static void | generateBurst (Mapping *mapping, Argument *arg, simtime_t burstStart, short polarity) |
static void | generatePulse (Mapping *mapping, Argument *arg, short polarity, double peak=IEEE802154A::maxPulse, simtime_t chip=IEEE802154A::mandatory_pulse) |
static void | setBitRate (Signal *s) |
static int | s (int n) |
This class regroups static methods needed to generate a pulse-level representation of an IEEE 802.15.4A UWB PHY frame using the mandatory mode (high PRF).
The main function of interest is static signalAndData generateIEEE802154AUWBSignal(simtime_t signalStart, bool allZeros=false).
Definition at line 44 of file IEEE802154A.h.
const short IEEE802154A::C31 [static] |
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { -1, 0, +1, -1, 0, 0, +1, +1, +1, -1, +1, 0, 0, 0, -1, +1, 0, +1, +1, +1, 0, -1, 0, +1, 0, 0, 0, 0, -1, 0, 0 }, { +1, +1, 0, 0, +1, 0, 0, -1, -1, -1, +1, -1, 0, +1, +1, -1, 0, 0, 0, +1, 0, +1, 0, -1, +1, 0, +1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, }
Definition at line 65 of file IEEE802154A.h.
const IEEE802154A::config IEEE802154A::cfg_mandatory_16M [static] |
{ 3, NOMINAL_16_M, NON_RANGING, PSR_DEFAULT, 31, 16, 16, 850000, 16, 993.6E-9, 1023.64E-9, 512.82E-9, 2.003E-9, 32.05E-9, 71.5E-6, 4498 }
Definition at line 202 of file IEEE802154A.h.
const IEEE802154A::config IEEE802154A::cfg_mandatory_4M [static] |
{ 3, NOMINAL_4_M, NON_RANGING, PSR_DEFAULT, 31, 64, 4, 850000, 4, 3974.36E-9, 1023.64E-9, 512.82E-9, 2.003E-9, 8.01E-9, 286.2E-6, 4498 }
Definition at line 202 of file IEEE802154A.h.
short IEEE802154A::s_array [static] |
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }
Definition at line 76 of file IEEE802154A.h.