NetSim Source Code Help v14.4
All 13 Components
 
Loading...
Searching...
No Matches
IEEE802_11_HEPhy.h
1/************************************************************************************
2* Copyright (C) 2023 *
3* TETCOS, Bangalore. India *
4* *
5* Tetcos owns the intellectual property rights in the Product and its content. *
6* The copying, redistribution, reselling or publication of any or all of the *
7* Product or its content without express prior written consent of Tetcos is *
8* prohibited. Ownership and / or any other right relating to the software and all *
9* intellectual property rights therein shall remain at all times with Tetcos. *
10* *
11* Author: HESUOFDM@IITM *
12* *
13* ---------------------------------------------------------------------------------*/
14#ifndef _NETSIM_IEEE802_11AX_PHY_H_
15#define _NETSIM_IEEE802_11AX_PHY_H_
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20 typedef enum enum_802_11_HE_FORMAT
21 {
22 HE_SU,
23 ///< We are considered this method only.
24 }HE_FORMAT;
25
26
27 typedef enum enum_802_11_HE_CH_BANDWIDTH
28 {
29 HE_CBW20, ///< 20 MHz
30 HE_CBW40, ///< 40 MHz
31 HE_CBW80, ///< 80 MHz
32 HE_CBW160, ///< 160 MHz
33 }HE_CH_BANDWIDTH;
34
35
36
37 /// Guard interval is used in the transmission of the packet.
38 typedef enum enum_802_11_HE_GI_TYPE
39 {
40 HE_GI_3200NS, /// for 3200ns
41 HE_GI_1600NS, /// for 1600ns
42 HE_GI_800NS, /// for 800ns
43 }HE_GI_TYPE;
44
45
46
47 /// Table 27-13 Timing-related constants, Table 27-16 Frequently used parameters, Table 27-14 Subcarrier allocation related constants and Table 27-1 TXVECTOR and RXVECTOR parameters from IEEE Std 802.11 - 2024.pdf. Those fields that are relevant for HE SU PPDU have been included.
49 {
50 double dRxSensitivity;
51 PHY_MODULATION modulation;
52 double dCodingRate;
53 double dDataRate;
54 int nNBPSC;
55 int nNCBPS;
56 int nNDBPS;
57
58 int nChannelBandwidth; // 20MHz or 40MHz or 80Mhz or 160Mhz
59 int nFFT; ///< FFT length
60 int nNSD; ///< NSD Number of data subcarriers per frequency segment
61 int nNSP; ///< NSP Number of pilot subcarriers per frequency segement
62 int nNST; ///< NST Total number of subcarriers per frequency segment
63 int nNSR; ///< NSR Highest data subcarrier index per frequency segment
64 int nNDC; ///< Number of Null Subcarriers at DC per segment
65
66
67 double dDeltaF_PreHE; ///< dSubcarrierFrequencySpacing for Pre HE; //312.5 kHz
68 double dDeltaF; ///<dSubcarrierFrequencySpacing; // 78.125 khz
69 double dTDFT_PreHE; ///< IDFT/DFT period for pre HE 3.2
70 double dTDFT; ///< IDFT/DFT period 12.8
71 double dTGI_PreHE; ///< Guard interval duration 0.8 = Pre HE TDFT/4
72 double dTGIL_LTF; ///< Guard interval duration for Legacy LTF
73 double dTGI1; ///< Base Guard interval duration for data field 0.8 us
74 double dTGI2; ///< Double guard interval 1.6
75 double dTGI4; ///< Quadruple guard interval 3.2
76 double dTGI_HE_LTF; ///< Guard interval duration for HE LTF
77 double dTGI; ///< Guard interval duration for Data Field
78 double dTSYM1; ///< TSYM: Symbol interval 13.6 = TDFT + TGI
79 double dTSYM2; ///< TSYM: Symbol interval 14.4 = TDFT + TGI
80 double dTSYM4; ///< TSYM: Symbol interval 16 = TDFT + TGI
81 double dTSYM; ///< OFDM symbol interval for HE PPDU field
82 int nTL_STF; ///< Non-HT short training sequence duration 8 = 10*TDFT/4
83 int nTL_LTF; ///< Non-HT long training field duration 8 =2 * TDFT + TGI2
84 int nTL_SIG; ///< Non-HT SIGNAL field duration 4
85 int nTRL_SIG; ///< Repeated non HT signal field duration 4
86 int nTHE_SIGA; ///< HE SIGNAL A field duration 8 = 2 * 4
87 int nTHE_SIGB; ///< HE SIGNAL B field duration TDFT_PreHE + TGI_PreHE = 3.2 + 0.8 = 4
88 int nTHE_STF_NT; ///< HE short training field duration for HE SU PPDU 4 = 5 * 0.8
89 double nTHE_LTF_1x; ///< Duration of each 1x HE LTF OFDM without GI 3.2
90 double nTHE_LTF_2x; ///< Duration of each 2x HE LTF OFDM without GI 6.4
91 double nTHE_LTF_4x; ///< Duration of each 4x HE LTF OFDM without GI 12.8
92 double nTHE_LTF; ///< Duration of each OFDM Symbol without GI in HE LTF
93 double nTHE_LTF_SYM; ///< Duration of each OFDM Symbol with GI in HE LTF THE_LTF + TGI_HE_LTF
94 int nNSERVICE;
95 int nNTAIL;
96 int nTSYML; ///< OFDM symbol duration including GI prior to HE STF 4
97 int nTPE;
98
99
100 // Table 27-1 TXVECTOR and RXVECTOR parameters page 4139 - IEEE Std 802.11 - 2024.pdf
101 HE_FORMAT nFormat;
102 int nNonHtModulation;
103 int nL_DATARATE;
104 int nL_LENGTH;
105 int nN_TX;
106 int nEXPANSION_MAT;
107 int nCHAN_MAT;
108 int nDelta_SNR;
109 int nRCPI;
110 int nSNR;
111 int nCQI;
112 int nNO_SIG_EXTN;
113 FEC_CODING nFEC_CODING;
114 int nLDPC_EXTRA_SYMBOL;
115 int nSTBC;
116 HE_GI_TYPE nGI_TYPE;
117 int nTXPWR_LEVEL_INDEX;
118 int nRSSI;
119 int nRSSI_LEGACY;
120 int nMCS;
121 int nDCM;
122 int nREC_MCS;
123 HE_CH_BANDWIDTH nCH_BANDWIDTH;
124 int nAPEP_LENGTH;
125 int nPSDU_LENGTH;
126 int nNUM_STS;
127 int nTXOP_DURATION;
128 int nSPATIAL_REUSE;
129 int nDOPPLER;
130 int nRU_ALLOCATION;
131 int nBEAMFORMED;
132 int nHE_LTF_TYPE;
133 int nNOMINAL_PACKET_PADDING;
134 int nBEAM_CHANGE;
135 int nBSS_COLOR;
136 int nUPLINK_FLAG;
137 int nSCRAMBLER_INITIAL_VALUE;
138 int nTRIGGER_RESPONDING;
139 int nMIDAMBLE_PERIODICITY;
140 int nPOWER_BOOST_FACTOR;
141 int nTIME_OF_DEPARTURE_REQUESTED;
142 int nLTF_KEY;
143 int nLTF_IV;
144 int nLTF_REP;
145 int nRANGING_FLAG;
146 int nSECURE_LTF_FLAG;
147 int nTX_WINDOW_FLAG;
148 SMOOTHING nSMOOTHING;
149 HT_SOUNDING nSOUNDING;
150 AGGREGATION nAGGREGATION;
151 }IEEE802_11_OFDM_MIMO_HE;
152
153
154#ifdef __cplusplus
155}
156#endif
157#endif //_NETSIM_IEEE802_11AX_PHY_H_
Table 27-13 Timing-related constants, Table 27-16 Frequently used parameters, Table 27-14 Subcarrier ...
double nTHE_LTF_SYM
Duration of each OFDM Symbol with GI in HE LTF THE_LTF + TGI_HE_LTF.
double dTGI
Guard interval duration for Data Field.
double dTGI_PreHE
Guard interval duration 0.8 = Pre HE TDFT/4.
int nTRL_SIG
Repeated non HT signal field duration 4.
int nTL_STF
Non-HT short training sequence duration 8 = 10*TDFT/4.
double dTGI1
Base Guard interval duration for data field 0.8 us.
int nTHE_STF_NT
HE short training field duration for HE SU PPDU 4 = 5 * 0.8.
int nNSD
NSD Number of data subcarriers per frequency segment.
int nNSR
NSR Highest data subcarrier index per frequency segment.
double dDeltaF
dSubcarrierFrequencySpacing; // 78.125 khz
double nTHE_LTF_2x
Duration of each 2x HE LTF OFDM without GI 6.4.
double dTGI4
Quadruple guard interval 3.2.
double nTHE_LTF
Duration of each OFDM Symbol without GI in HE LTF.
int nTHE_SIGB
HE SIGNAL B field duration TDFT_PreHE + TGI_PreHE = 3.2 + 0.8 = 4.
double dTSYM1
TSYM: Symbol interval 13.6 = TDFT + TGI.
double nTHE_LTF_4x
Duration of each 4x HE LTF OFDM without GI 12.8.
int nNST
NST Total number of subcarriers per frequency segment.
int nNSP
NSP Number of pilot subcarriers per frequency segement.
int nTL_SIG
Non-HT SIGNAL field duration 4.
double dTGI_HE_LTF
Guard interval duration for HE LTF.
double dTDFT_PreHE
IDFT/DFT period for pre HE 3.2.
double dTGIL_LTF
Guard interval duration for Legacy LTF.
double dTSYM4
TSYM: Symbol interval 16 = TDFT + TGI.
int nNDC
Number of Null Subcarriers at DC per segment.
double dTSYM
OFDM symbol interval for HE PPDU field.
int nTL_LTF
Non-HT long training field duration 8 =2 * TDFT + TGI2.
double dTDFT
IDFT/DFT period 12.8.
double dDeltaF_PreHE
dSubcarrierFrequencySpacing for Pre HE; //312.5 kHz
double dTSYM2
TSYM: Symbol interval 14.4 = TDFT + TGI.
double dTGI2
Double guard interval 1.6.
int nTSYML
OFDM symbol duration including GI prior to HE STF 4.
int nTHE_SIGA
HE SIGNAL A field duration 8 = 2 * 4.
double nTHE_LTF_1x
Duration of each 1x HE LTF OFDM without GI 3.2.