Classes | Public Types | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions

IEEE802154A Class Reference
[IEEE 802.15.4A - Classes that implement the IEEE 802.15.4A UWB PHY.]

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>

Collaboration diagram for IEEE802154A:
Collaboration graph
[legend]

List of all members.

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)

Detailed Description

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.


Member Data Documentation

const short IEEE802154A::C31 [static]
Initial value:
 {

    { 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]
Initial value:
 {
    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]
Initial value:
 {
    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]
Initial value:
 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    0, 0, 0 }

Definition at line 76 of file IEEE802154A.h.


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