NetSim Source Code Help v14.4
All 13 Components
 
Loading...
Searching...
No Matches
IEEE802_11_HEPhy.c
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* This source code is licensed per the NetSim license agreement. *
12* *
13* No portion of this source code may be used as the basis for a derivative work, *
14* or used, for any purpose other than its intended use per the NetSim license *
15* agreement. *
16* *
17* This source code and the algorithms contained within it are confidential trade *
18* secrets of TETCOS and may not be used as the basis for any other software, *
19* hardware, product or service. *
20* *
21* Author: HESUOFDM@IITM *
22* *
23* ----------------------------------------------------------------------------------*/
24
25#include "main.h"
26#include "IEEE802_11.h"
27#include "IEEE802_11_Phy.h"
28#include "ErrorModel.h"
29
30/// Data structure for physical layer parameters
32{
33 int nIndex;
34 int MCS;
35 double dRxSensitivity;
36 PHY_MODULATION nModulation;
37 double dCodingRate;
38 int nNBPSC;
39 int nNSD;
40 int NSP;
41 int nNCBPS;
42 int nNDBPS;
43 int NES;
44 double dGI;
45 double dDataRate;
46
47};
48
49static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_1NSS[36] =
50{
51 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,234,117.0,1,800,8.6},
52 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,468,234.0,1,800,17.2},
53 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,468,351.0,1,800,25.8},
54 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,936,468.0,1,800,34.4},
55 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,936,702.0,1,800,51.6},
56 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,1404,936.0,1,800,68.8},
57 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,1404,1053.0,1,800,77.4},
58 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,1404,1170.0,1,800,86.0},
59 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,1872,1404.0,1,800,103.2},
60 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,1872,1560.0,1,800,114.7},
61 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,2340,1755.0,1,800,129.0},
62 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,2340,1950.0,1,800,143.4},
63 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,234,117.0,1,1600,8.1},
64 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,468,234.0,1,1600,16.2},
65 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,468,351.0,1,1600,24.4},
66 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,936,468.0,1,1600,32.5},
67 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,936,702.0,1,1600,48.8},
68 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,1404,936.0,1,1600,65.0},
69 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,1404,1053.0,1,1600,73.1},
70 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,1404,1170.0,1,1600,81.2},
71 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,1872,1404.0,1,1600,97.5},
72 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,1872,1560.0,1,1600,108.3},
73 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,2340,1755.0,1,1600,121.9},
74 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,2340,1950.0,1,1600,135.4},
75 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,234,117.0,1,3200,7.3},
76 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,468,234.0,1,3200,14.6},
77 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,468,351.0,1,3200,21.9},
78 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,936,468.0,1,3200,29.2},
79 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,936,702.0,1,3200,43.9},
80 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,1404,936.0,1,3200,58.5},
81 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,1404,1053.0,1,3200,65.8},
82 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,1404,1170.0,1,3200,73.1},
83 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,1872,1404.0,1,3200,87.8},
84 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,1872,1560.0,1,3200,97.5},
85 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,2340,1755.0,1,3200,109.7},
86 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,2340,1950.0,1,3200,121.9},
87};
88
89static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_2NSS[36] =
90{
91 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,468,234.0,2,800,17.2},
92 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,936,468.0,2,800,34.4},
93 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,936,702.0,2,800,51.6},
94 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,1872,936.0,2,800,68.8},
95 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,1872,1404.0,2,800,103.2},
96 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,2808,1872.0,2,800,137.6},
97 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,2808,2106.0,2,800,154.9},
98 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,2808,2340.0,2,800,172.1},
99 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,3744,2808.0,2,800,206.5},
100 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,3744,3120.0,2,800,229.4},
101 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,4680,3510.0,2,800,258.1},
102 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,4680,3900.0,2,800,286.8},
103 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,468,234.0,2,1600,16.2},
104 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,936,468.0,2,1600,32.5},
105 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,936,702.0,2,1600,48.8},
106 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,1872,936.0,2,1600,65.0},
107 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,1872,1404.0,2,1600,97.5},
108 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,2808,1872.0,2,1600,130.0},
109 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,2808,2106.0,2,1600,146.2},
110 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,2808,2340.0,2,1600,162.5},
111 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,3744,2808.0,2,1600,195.0},
112 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,3744,3120.0,2,1600,216.7},
113 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,4680,3510.0,2,1600,243.8},
114 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,4680,3900.0,2,1600,270.8},
115 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,468,234.0,2,3200,14.6},
116 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,936,468.0,2,3200,29.2},
117 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,936,702.0,2,3200,43.9},
118 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,1872,936.0,2,3200,58.5},
119 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,1872,1404.0,2,3200,87.8},
120 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,2808,1872.0,2,3200,117.0},
121 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,2808,2106.0,2,3200,131.6},
122 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,2808,2340.0,2,3200,146.2},
123 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,3744,2808.0,2,3200,175.5},
124 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,3744,3120.0,2,3200,195.0},
125 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,4680,3510.0,2,3200,219.4},
126 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,4680,3900.0,2,3200,243.8},
127};
128
129static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_3NSS[36] =
130{
131 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,702,351.0,3,800,25.8},
132 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,1404,702.0,3,800,51.6},
133 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,1404,1053.0,3,800,77.4},
134 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,2808,1404.0,3,800,103.2},
135 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,2808,2106.0,3,800,154.9},
136 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,4212,2808.0,3,800,206.5},
137 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,4212,3159.0,3,800,232.3},
138 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,4212,3510.0,3,800,258.1},
139 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,5616,4212.0,3,800,309.7},
140 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,5616,4680.0,3,800,344.1},
141 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,7020,5265.0,3,800,387.1},
142 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,7020,5850.0,3,800,430.1},
143 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,702,351.0,3,1600,24.4},
144 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,1404,702.0,3,1600,48.8},
145 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,1404,1053.0,3,1600,73.1},
146 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,2808,1404.0,3,1600,97.5},
147 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,2808,2106.0,3,1600,146.2},
148 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,4212,2808.0,3,1600,195.0},
149 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,4212,3159.0,3,1600,219.4},
150 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,4212,3510.0,3,1600,243.8},
151 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,5616,4212.0,3,1600,292.5},
152 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,5616,4680.0,3,1600,325.0},
153 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,7020,5265.0,3,1600,365.6},
154 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,7020,5850.0,3,1600,406.2},
155 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,702,351.0,3,3200,21.9},
156 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,1404,702.0,3,3200,43.9},
157 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,1404,1053.0,3,3200,65.8},
158 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,2808,1404.0,3,3200,87.8},
159 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,2808,2106.0,3,3200,131.6},
160 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,4212,2808.0,3,3200,175.5},
161 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,4212,3159.0,3,3200,197.4},
162 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,4212,3510.0,3,3200,219.4},
163 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,5616,4212.0,3,3200,263.2},
164 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,5616,4680.0,3,3200,292.5},
165 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,7020,5265.0,3,3200,329.1},
166 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,7020,5850.0,3,3200,365.6},
167};
168
169static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_4NSS[36] =
170{
171 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,936,468.0,4,800,34.4},
172 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,1872,936.0,4,800,68.8},
173 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,1872,1404.0,4,800,103.2},
174 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,3744,1872.0,4,800,137.6},
175 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,3744,2808.0,4,800,206.5},
176 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,5616,3744.0,4,800,275.3},
177 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,5616,4212.0,4,800,309.7},
178 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,5616,4680.0,4,800,344.1},
179 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,7488,5616.0,4,800,412.9},
180 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,7488,6240.0,4,800,458.8},
181 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,9360,7020.0,4,800,516.2},
182 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,9360,7800.0,4,800,573.5},
183 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,936,468.0,4,1600,32.5},
184 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,1872,936.0,4,1600,65.0},
185 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,1872,1404.0,4,1600,97.5},
186 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,3744,1872.0,4,1600,130.0},
187 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,3744,2808.0,4,1600,195.0},
188 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,5616,3744.0,4,1600,260.0},
189 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,5616,4212.0,4,1600,292.5},
190 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,5616,4680.0,4,1600,325.0},
191 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,7488,5616.0,4,1600,390.0},
192 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,7488,6240.0,4,1600,433.3},
193 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,9360,7020.0,4,1600,487.5},
194 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,9360,7800.0,4,1600,541.7},
195 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,936,468.0,4,3200,29.2},
196 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,1872,936.0,4,3200,58.5},
197 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,1872,1404.0,4,3200,87.8},
198 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,3744,1872.0,4,3200,117.0},
199 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,3744,2808.0,4,3200,175.5},
200 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,5616,3744.0,4,3200,234.0},
201 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,5616,4212.0,4,3200,263.2},
202 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,5616,4680.0,4,3200,292.5},
203 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,7488,5616.0,4,3200,351.0},
204 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,7488,6240.0,4,3200,390.0},
205 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,9360,7020.0,4,3200,438.8},
206 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,9360,7800.0,4,3200,487.5},
207};
208
209static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_5NSS[36] =
210{
211 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1170,585.0,5,800,43.0},
212 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,2340,1170.0,5,800,86.0},
213 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,2340,1755.0,5,800,129.0},
214 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,4680,2340.0,5,800,172.1},
215 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,4680,3510.0,5,800,258.1},
216 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,7020,4680.0,5,800,344.1},
217 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,7020,5265.0,5,800,387.1},
218 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,7020,5850.0,5,800,430.1},
219 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,9360,7020.0,5,800,516.2},
220 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,9360,7800.0,5,800,573.5},
221 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,11700,8775.0,5,800,645.2},
222 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,11700,9750.0,5,800,716.9},
223 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1170,585.0,5,1600,40.6},
224 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,2340,1170.0,5,1600,81.2},
225 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,2340,1755.0,5,1600,121.9},
226 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,4680,2340.0,5,1600,162.5},
227 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,4680,3510.0,5,1600,243.8},
228 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,7020,4680.0,5,1600,325.0},
229 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,7020,5265.0,5,1600,365.6},
230 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,7020,5850.0,5,1600,406.2},
231 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,9360,7020.0,5,1600,487.5},
232 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,9360,7800.0,5,1600,541.7},
233 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,11700,8775.0,5,1600,609.4},
234 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,11700,9750.0,5,1600,677.1},
235 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1170,585.0,5,3200,36.6},
236 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,2340,1170.0,5,3200,73.1},
237 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,2340,1755.0,5,3200,109.7},
238 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,4680,2340.0,5,3200,146.2},
239 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,4680,3510.0,5,3200,219.4},
240 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,7020,4680.0,5,3200,292.5},
241 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,7020,5265.0,5,3200,329.1},
242 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,7020,5850.0,5,3200,365.6},
243 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,9360,7020.0,5,3200,438.8},
244 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,9360,7800.0,5,3200,487.5},
245 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,11700,8775.0,5,3200,548.4},
246 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,11700,9750.0,5,3200,609.4},
247};
248
249static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_6NSS[36] =
250{
251 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1404,702.0,6,800,51.6},
252 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,2808,1404.0,6,800,103.2},
253 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,2808,2106.0,6,800,154.9},
254 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,5616,2808.0,6,800,206.5},
255 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,5616,4212.0,6,800,309.7},
256 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,8424,5616.0,6,800,412.9},
257 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,8424,6318.0,6,800,464.6},
258 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,8424,7020.0,6,800,516.2},
259 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,11232,8424.0,6,800,619.4},
260 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,11232,9360.0,6,800,688.2},
261 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,14040,10530.0,6,800,774.3},
262 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,14040,11700.0,6,800,860.3},
263 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1404,702.0,6,1600,48.8},
264 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,2808,1404.0,6,1600,97.5},
265 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,2808,2106.0,6,1600,146.2},
266 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,5616,2808.0,6,1600,195.0},
267 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,5616,4212.0,6,1600,292.5},
268 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,8424,5616.0,6,1600,390.0},
269 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,8424,6318.0,6,1600,438.8},
270 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,8424,7020.0,6,1600,487.5},
271 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,11232,8424.0,6,1600,585.0},
272 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,11232,9360.0,6,1600,650.0},
273 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,14040,10530.0,6,1600,731.2},
274 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,14040,11700.0,6,1600,812.5},
275 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1404,702.0,6,3200,43.9},
276 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,2808,1404.0,6,3200,87.8},
277 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,2808,2106.0,6,3200,131.6},
278 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,5616,2808.0,6,3200,175.5},
279 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,5616,4212.0,6,3200,263.2},
280 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,8424,5616.0,6,3200,351.0},
281 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,8424,6318.0,6,3200,394.9},
282 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,8424,7020.0,6,3200,438.8},
283 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,11232,8424.0,6,3200,526.5},
284 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,11232,9360.0,6,3200,585.0},
285 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,14040,10530.0,6,3200,658.1},
286 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,14040,11700.0,6,3200,731.2},
287};
288
289static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_7NSS[36] =
290{
291 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1638,819.0,7,800,60.2},
292 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,3276,1638.0,7,800,120.4},
293 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,3276,2457.0,7,800,180.7},
294 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,6552,3276.0,7,800,240.9},
295 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,6552,4914.0,7,800,361.3},
296 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,9828,6552.0,7,800,481.8},
297 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,9828,7371.0,7,800,542.0},
298 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,9828,8190.0,7,800,602.2},
299 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,13104,9828.0,7,800,722.6},
300 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,13104,10920.0,7,800,802.9},
301 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,16380,12285.0,7,800,903.3},
302 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,16380,13650.0,7,800,1003.7},
303 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1638,819.0,7,1600,56.9},
304 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,3276,1638.0,7,1600,113.8},
305 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,3276,2457.0,7,1600,170.6},
306 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,6552,3276.0,7,1600,227.5},
307 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,6552,4914.0,7,1600,341.2},
308 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,9828,6552.0,7,1600,455.0},
309 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,9828,7371.0,7,1600,511.9},
310 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,9828,8190.0,7,1600,568.8},
311 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,13104,9828.0,7,1600,682.5},
312 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,13104,10920.0,7,1600,758.3},
313 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,16380,12285.0,7,1600,853.1},
314 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,16380,13650.0,7,1600,947.9},
315 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1638,819.0,7,3200,51.2},
316 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,3276,1638.0,7,3200,102.4},
317 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,3276,2457.0,7,3200,153.6},
318 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,6552,3276.0,7,3200,204.8},
319 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,6552,4914.0,7,3200,307.1},
320 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,9828,6552.0,7,3200,409.5},
321 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,9828,7371.0,7,3200,460.7},
322 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,9828,8190.0,7,3200,511.9},
323 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,13104,9828.0,7,3200,614.2},
324 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,13104,10920.0,7,3200,682.5},
325 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,16380,12285.0,7,3200,767.8},
326 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,16380,13650.0,7,3200,853.1},
327};
328
329static struct stru_802_11_Phy_Parameters_HE struPhyParameters_20MHz_8NSS[36] =
330{
331 {1,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1872,936.0,8,800,68.8},
332 {2,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,3744,1872.0,8,800,137.6},
333 {3,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,3744,2808.0,8,800,206.5},
334 {4,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,7488,3744.0,8,800,275.3},
335 {5,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,7488,5616.0,8,800,412.9},
336 {6,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,11232,7488.0,8,800,550.6},
337 {7,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,11232,8424.0,8,800,619.4},
338 {8,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,11232,9360.0,8,800,688.2},
339 {9,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,14976,11232.0,8,800,825.9},
340 {10,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,14976,12480.0,8,800,917.6},
341 {11,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,18720,14040.0,8,800,1032.4},
342 {12,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,18720,15600.0,8,800,1147.1},
343 {13,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1872,936.0,8,1600,65.0},
344 {14,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,3744,1872.0,8,1600,130.0},
345 {15,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,3744,2808.0,8,1600,195.0},
346 {16,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,7488,3744.0,8,1600,260.0},
347 {17,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,7488,5616.0,8,1600,390.0},
348 {18,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,11232,7488.0,8,1600,520.0},
349 {19,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,11232,8424.0,8,1600,585.0},
350 {20,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,11232,9360.0,8,1600,650.0},
351 {21,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,14976,11232.0,8,1600,780.0},
352 {22,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,14976,12480.0,8,1600,866.7},
353 {23,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,18720,14040.0,8,1600,975.0},
354 {24,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,18720,15600.0,8,1600,1083.3},
355 {25,0,-82,Modulation_BPSK,1.0/2.0,1,234,8,1872,936.0,8,3200,58.5},
356 {26,1,-79,Modulation_QPSK,1.0/2.0,2,234,8,3744,1872.0,8,3200,117.0},
357 {27,2,-77,Modulation_QPSK,3.0/4.0,2,234,8,3744,2808.0,8,3200,175.5},
358 {28,3,-74,Modulation_16_QAM,1.0/2.0,4,234,8,7488,3744.0,8,3200,234.0},
359 {29,4,-70,Modulation_16_QAM,3.0/4.0,4,234,8,7488,5616.0,8,3200,351.0},
360 {30,5,-66,Modulation_64_QAM,2.0/3.0,6,234,8,11232,7488.0,8,3200,468.0},
361 {31,6,-65,Modulation_64_QAM,3.0/4.0,6,234,8,11232,8424.0,8,3200,526.5},
362 {32,7,-64,Modulation_64_QAM,5.0/6.0,6,234,8,11232,9360.0,8,3200,585.0},
363 {33,8,-59,Modulation_256_QAM,3.0/4.0,8,234,8,14976,11232.0,8,3200,702.0},
364 {34,9,-57,Modulation_256_QAM,5.0/6.0,8,234,8,14976,12480.0,8,3200,780.0},
365 {35,10,-54,Modulation_1024_QAM,3.0/4.0,10,234,8,18720,14040.0,8,3200,877.5},
366 {36,11,-52,Modulation_1024_QAM,5.0/6.0,10,234,8,18720,15600.0,8,3200,975.0},
367};
368
369static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_1NSS[36] =
370{
371 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,468,234.0,1,800,17.2},
372 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,936,468.0,1,800,34.4},
373 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,936,702.0,1,800,51.6},
374 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,1872,936.0,1,800,68.8},
375 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,1872,1404.0,1,800,103.2},
376 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,2808,1872.0,1,800,137.6},
377 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,2808,2106.0,1,800,154.9},
378 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,2808,2340.0,1,800,172.1},
379 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,3744,2808.0,1,800,206.5},
380 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,3744,3120.0,1,800,229.4},
381 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,4680,3510.0,1,800,258.1},
382 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,4680,3900.0,1,800,286.8},
383 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,468,234.0,1,1600,16.2},
384 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,936,468.0,1,1600,32.5},
385 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,936,702.0,1,1600,48.8},
386 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,1872,936.0,1,1600,65.0},
387 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,1872,1404.0,1,1600,97.5},
388 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,2808,1872.0,1,1600,130.0},
389 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,2808,2106.0,1,1600,146.2},
390 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,2808,2340.0,1,1600,162.5},
391 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,3744,2808.0,1,1600,195.0},
392 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,3744,3120.0,1,1600,216.7},
393 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,4680,3510.0,1,1600,243.8},
394 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,4680,3900.0,1,1600,270.8},
395 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,468,234.0,1,3200,14.6},
396 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,936,468.0,1,3200,29.2},
397 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,936,702.0,1,3200,43.9},
398 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,1872,936.0,1,3200,58.5},
399 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,1872,1404.0,1,3200,87.8},
400 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,2808,1872.0,1,3200,117.0},
401 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,2808,2106.0,1,3200,131.6},
402 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,2808,2340.0,1,3200,146.2},
403 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,3744,2808.0,1,3200,175.5},
404 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,3744,3120.0,1,3200,195.0},
405 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,4680,3510.0,1,3200,219.4},
406 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,4680,3900.0,1,3200,243.8},
407};
408
409static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_2NSS[36] =
410{
411 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,936,468.0,2,800,34.4},
412 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,1872,936.0,2,800,68.8},
413 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,1872,1404.0,2,800,103.2},
414 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,3744,1872.0,2,800,137.6},
415 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,3744,2808.0,2,800,206.5},
416 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,5616,3744.0,2,800,275.3},
417 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,5616,4212.0,2,800,309.7},
418 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,5616,4680.0,2,800,344.1},
419 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,7488,5616.0,2,800,412.9},
420 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,7488,6240.0,2,800,458.8},
421 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,9360,7020.0,2,800,516.2},
422 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,9360,7800.0,2,800,573.5},
423 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,936,468.0,2,1600,32.5},
424 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,1872,936.0,2,1600,65.0},
425 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,1872,1404.0,2,1600,97.5},
426 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,3744,1872.0,2,1600,130.0},
427 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,3744,2808.0,2,1600,195.0},
428 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,5616,3744.0,2,1600,260.0},
429 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,5616,4212.0,2,1600,292.5},
430 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,5616,4680.0,2,1600,325.0},
431 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,7488,5616.0,2,1600,390.0},
432 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,7488,6240.0,2,1600,433.3},
433 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,9360,7020.0,2,1600,487.5},
434 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,9360,7800.0,2,1600,541.7},
435 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,936,468.0,2,3200,29.2},
436 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,1872,936.0,2,3200,58.5},
437 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,1872,1404.0,2,3200,87.8},
438 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,3744,1872.0,2,3200,117.0},
439 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,3744,2808.0,2,3200,175.5},
440 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,5616,3744.0,2,3200,234.0},
441 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,5616,4212.0,2,3200,263.2},
442 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,5616,4680.0,2,3200,292.5},
443 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,7488,5616.0,2,3200,351.0},
444 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,7488,6240.0,2,3200,390.0},
445 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,9360,7020.0,2,3200,438.8},
446 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,9360,7800.0,2,3200,487.5},
447};
448
449static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_3NSS[36] =
450{
451 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,1404,702.0,3,800,51.6},
452 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,2808,1404.0,3,800,103.2},
453 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,2808,2106.0,3,800,154.9},
454 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,5616,2808.0,3,800,206.5},
455 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,5616,4212.0,3,800,309.7},
456 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,8424,5616.0,3,800,412.9},
457 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,8424,6318.0,3,800,464.6},
458 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,8424,7020.0,3,800,516.2},
459 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,11232,8424.0,3,800,619.4},
460 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,11232,9360.0,3,800,688.2},
461 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,14040,10530.0,3,800,774.3},
462 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,14040,11700.0,3,800,860.3},
463 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,1404,702.0,3,1600,48.8},
464 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,2808,1404.0,3,1600,97.5},
465 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,2808,2106.0,3,1600,146.2},
466 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,5616,2808.0,3,1600,195.0},
467 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,5616,4212.0,3,1600,292.5},
468 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,8424,5616.0,3,1600,390.0},
469 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,8424,6318.0,3,1600,438.8},
470 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,8424,7020.0,3,1600,487.5},
471 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,11232,8424.0,3,1600,585.0},
472 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,11232,9360.0,3,1600,650.0},
473 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,14040,10530.0,3,1600,731.2},
474 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,14040,11700.0,3,1600,812.5},
475 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,1404,702.0,3,3200,43.9},
476 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,2808,1404.0,3,3200,87.8},
477 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,2808,2106.0,3,3200,131.6},
478 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,5616,2808.0,3,3200,175.5},
479 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,5616,4212.0,3,3200,263.2},
480 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,8424,5616.0,3,3200,351.0},
481 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,8424,6318.0,3,3200,394.9},
482 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,8424,7020.0,3,3200,438.8},
483 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,11232,8424.0,3,3200,526.5},
484 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,11232,9360.0,3,3200,585.0},
485 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,14040,10530.0,3,3200,658.1},
486 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,14040,11700.0,3,3200,731.2},
487};
488
489static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_4NSS[36] =
490{
491 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,1872,936.0,4,800,68.8},
492 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,3744,1872.0,4,800,137.6},
493 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,3744,2808.0,4,800,206.5},
494 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,7488,3744.0,4,800,275.3},
495 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,7488,5616.0,4,800,412.9},
496 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,11232,7488.0,4,800,550.6},
497 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,11232,8424.0,4,800,619.4},
498 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,11232,9360.0,4,800,688.2},
499 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,14976,11232.0,4,800,825.9},
500 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,14976,12480.0,4,800,917.6},
501 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,18720,14040.0,4,800,1032.4},
502 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,18720,15600.0,4,800,1147.1},
503 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,1872,936.0,4,1600,65.0},
504 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,3744,1872.0,4,1600,130.0},
505 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,3744,2808.0,4,1600,195.0},
506 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,7488,3744.0,4,1600,260.0},
507 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,7488,5616.0,4,1600,390.0},
508 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,11232,7488.0,4,1600,520.0},
509 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,11232,8424.0,4,1600,585.0},
510 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,11232,9360.0,4,1600,650.0},
511 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,14976,11232.0,4,1600,780.0},
512 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,14976,12480.0,4,1600,866.7},
513 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,18720,14040.0,4,1600,975.0},
514 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,18720,15600.0,4,1600,1083.3},
515 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,1872,936.0,4,3200,58.5},
516 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,3744,1872.0,4,3200,117.0},
517 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,3744,2808.0,4,3200,175.5},
518 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,7488,3744.0,4,3200,234.0},
519 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,7488,5616.0,4,3200,351.0},
520 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,11232,7488.0,4,3200,468.0},
521 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,11232,8424.0,4,3200,526.5},
522 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,11232,9360.0,4,3200,585.0},
523 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,14976,11232.0,4,3200,702.0},
524 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,14976,12480.0,4,3200,780.0},
525 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,18720,14040.0,4,3200,877.5},
526 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,18720,15600.0,4,3200,975.0},
527};
528
529static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_5NSS[36] =
530{
531 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,2340,1170.0,5,800,86.0},
532 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,4680,2340.0,5,800,172.1},
533 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,4680,3510.0,5,800,258.1},
534 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,9360,4680.0,5,800,344.1},
535 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,9360,7020.0,5,800,516.2},
536 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,14040,9360.0,5,800,688.2},
537 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,14040,10530.0,5,800,774.3},
538 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,14040,11700.0,5,800,860.3},
539 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,18720,14040.0,5,800,1032.4},
540 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,18720,15600.0,5,800,1147.1},
541 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,23400,17550.0,5,800,1290.4},
542 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,23400,19500.0,5,800,1433.8},
543 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,2340,1170.0,5,1600,81.2},
544 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,4680,2340.0,5,1600,162.5},
545 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,4680,3510.0,5,1600,243.8},
546 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,9360,4680.0,5,1600,325.0},
547 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,9360,7020.0,5,1600,487.5},
548 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,14040,9360.0,5,1600,650.0},
549 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,14040,10530.0,5,1600,731.2},
550 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,14040,11700.0,5,1600,812.5},
551 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,18720,14040.0,5,1600,975.0},
552 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,18720,15600.0,5,1600,1083.3},
553 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,23400,17550.0,5,1600,1218.8},
554 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,23400,19500.0,5,1600,1354.2},
555 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,2340,1170.0,5,3200,73.1},
556 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,4680,2340.0,5,3200,146.2},
557 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,4680,3510.0,5,3200,219.4},
558 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,9360,4680.0,5,3200,292.5},
559 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,9360,7020.0,5,3200,438.8},
560 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,14040,9360.0,5,3200,585.0},
561 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,14040,10530.0,5,3200,658.1},
562 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,14040,11700.0,5,3200,731.2},
563 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,18720,14040.0,5,3200,877.5},
564 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,18720,15600.0,5,3200,975.0},
565 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,23400,17550.0,5,3200,1096.9},
566 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,23400,19500.0,5,3200,1218.8},
567};
568
569static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_6NSS[36] =
570{
571 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,2808,1404.0,6,800,103.2},
572 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,5616,2808.0,6,800,206.5},
573 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,5616,4212.0,6,800,309.7},
574 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,11232,5616.0,6,800,412.9},
575 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,11232,8424.0,6,800,619.4},
576 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,16848,11232.0,6,800,825.9},
577 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,16848,12636.0,6,800,929.1},
578 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,16848,14040.0,6,800,1032.4},
579 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,22464,16848.0,6,800,1238.8},
580 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,22464,18720.0,6,800,1376.5},
581 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,28080,21060.0,6,800,1548.5},
582 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,28080,23400.0,6,800,1720.6},
583 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,2808,1404.0,6,1600,97.5},
584 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,5616,2808.0,6,1600,195.0},
585 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,5616,4212.0,6,1600,292.5},
586 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,11232,5616.0,6,1600,390.0},
587 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,11232,8424.0,6,1600,585.0},
588 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,16848,11232.0,6,1600,780.0},
589 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,16848,12636.0,6,1600,877.5},
590 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,16848,14040.0,6,1600,975.0},
591 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,22464,16848.0,6,1600,1170.0},
592 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,22464,18720.0,6,1600,1300.0},
593 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,28080,21060.0,6,1600,1462.5},
594 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,28080,23400.0,6,1600,1625.0},
595 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,2808,1404.0,6,3200,87.8},
596 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,5616,2808.0,6,3200,175.5},
597 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,5616,4212.0,6,3200,263.2},
598 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,11232,5616.0,6,3200,351.0},
599 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,11232,8424.0,6,3200,526.5},
600 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,16848,11232.0,6,3200,702.0},
601 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,16848,12636.0,6,3200,789.8},
602 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,16848,14040.0,6,3200,877.5},
603 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,22464,16848.0,6,3200,1053.0},
604 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,22464,18720.0,6,3200,1170.0},
605 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,28080,21060.0,6,3200,1316.2},
606 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,28080,23400.0,6,3200,1462.5},
607};
608
609static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_7NSS[36] =
610{
611 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,3276,1638.0,7,800,120.4},
612 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,6552,3276.0,7,800,240.9},
613 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,6552,4914.0,7,800,361.3},
614 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,13104,6552.0,7,800,481.8},
615 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,13104,9828.0,7,800,722.6},
616 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,19656,13104.0,7,800,963.5},
617 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,19656,14742.0,7,800,1084.0},
618 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,19656,16380.0,7,800,1204.4},
619 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,26208,19656.0,7,800,1445.3},
620 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,26208,21840.0,7,800,1605.9},
621 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,32760,24570.0,7,800,1806.6},
622 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,32760,27300.0,7,800,2007.4},
623 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,3276,1638.0,7,1600,113.8},
624 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,6552,3276.0,7,1600,227.5},
625 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,6552,4914.0,7,1600,341.2},
626 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,13104,6552.0,7,1600,455.0},
627 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,13104,9828.0,7,1600,682.5},
628 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,19656,13104.0,7,1600,910.0},
629 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,19656,14742.0,7,1600,1023.8},
630 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,19656,16380.0,7,1600,1137.5},
631 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,26208,19656.0,7,1600,1365.0},
632 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,26208,21840.0,7,1600,1516.7},
633 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,32760,24570.0,7,1600,1706.2},
634 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,32760,27300.0,7,1600,1895.8},
635 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,3276,1638.0,7,3200,102.4},
636 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,6552,3276.0,7,3200,204.8},
637 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,6552,4914.0,7,3200,307.1},
638 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,13104,6552.0,7,3200,409.5},
639 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,13104,9828.0,7,3200,614.2},
640 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,19656,13104.0,7,3200,819.0},
641 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,19656,14742.0,7,3200,921.4},
642 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,19656,16380.0,7,3200,1023.8},
643 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,26208,19656.0,7,3200,1228.5},
644 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,26208,21840.0,7,3200,1365.0},
645 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,32760,24570.0,7,3200,1535.6},
646 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,32760,27300.0,7,3200,1706.2},
647};
648
649static struct stru_802_11_Phy_Parameters_HE struPhyParameters_40MHz_8NSS[36] =
650{
651 {1,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,3744,1872.0,8,800,137.6},
652 {2,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,7488,3744.0,8,800,275.3},
653 {3,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,7488,5616.0,8,800,412.9},
654 {4,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,14976,7488.0,8,800,550.6},
655 {5,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,14976,11232.0,8,800,825.9},
656 {6,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,22464,14976.0,8,800,1101.2},
657 {7,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,22464,16848.0,8,800,1238.8},
658 {8,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,22464,18720.0,8,800,1376.5},
659 {9,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,29952,22464.0,8,800,1651.8},
660 {10,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,29952,24960.0,8,800,1835.3},
661 {11,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,37440,28080.0,8,800,2064.7},
662 {12,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,37440,31200.0,8,800,2294.1},
663 {13,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,3744,1872.0,8,1600,130.0},
664 {14,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,7488,3744.0,8,1600,260.0},
665 {15,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,7488,5616.0,8,1600,390.0},
666 {16,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,14976,7488.0,8,1600,520.0},
667 {17,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,14976,11232.0,8,1600,780.0},
668 {18,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,22464,14976.0,8,1600,1040.0},
669 {19,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,22464,16848.0,8,1600,1170.0},
670 {20,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,22464,18720.0,8,1600,1300.0},
671 {21,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,29952,22464.0,8,1600,1560.0},
672 {22,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,29952,24960.0,8,1600,1733.3},
673 {23,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,37440,28080.0,8,1600,1950.0},
674 {24,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,37440,31200.0,8,1600,2166.7},
675 {25,0,-79,Modulation_BPSK,1.0/2.0,1,468,16,3744,1872.0,8,3200,117.0},
676 {26,1,-76,Modulation_QPSK,1.0/2.0,2,468,16,7488,3744.0,8,3200,234.0},
677 {27,2,-74,Modulation_QPSK,3.0/4.0,2,468,16,7488,5616.0,8,3200,351.0},
678 {28,3,-71,Modulation_16_QAM,1.0/2.0,4,468,16,14976,7488.0,8,3200,468.0},
679 {29,4,-67,Modulation_16_QAM,3.0/4.0,4,468,16,14976,11232.0,8,3200,702.0},
680 {30,5,-63,Modulation_64_QAM,2.0/3.0,6,468,16,22464,14976.0,8,3200,936.0},
681 {31,6,-62,Modulation_64_QAM,3.0/4.0,6,468,16,22464,16848.0,8,3200,1053.0},
682 {32,7,-61,Modulation_64_QAM,5.0/6.0,6,468,16,22464,18720.0,8,3200,1170.0},
683 {33,8,-56,Modulation_256_QAM,3.0/4.0,8,468,16,29952,22464.0,8,3200,1404.0},
684 {34,9,-54,Modulation_256_QAM,5.0/6.0,8,468,16,29952,24960.0,8,3200,1560.0},
685 {35,10,-51,Modulation_1024_QAM,3.0/4.0,10,468,16,37440,28080.0,8,3200,1755.0},
686 {36,11,-49,Modulation_1024_QAM,5.0/6.0,10,468,16,37440,31200.0,8,3200,1950.0},
687};
688
689static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_1NSS[36] =
690{
691 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,980,490.0,1,800,36.0},
692 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,1960,980.0,1,800,72.1},
693 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,1960,1470.0,1,800,108.1},
694 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,3920,1960.0,1,800,144.1},
695 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,3920,2940.0,1,800,216.2},
696 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,5880,3920.0,1,800,288.2},
697 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,5880,4410.0,1,800,324.3},
698 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,5880,4900.0,1,800,360.3},
699 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,7840,5880.0,1,800,432.4},
700 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,7840,6533.3,1,800,480.4},
701 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,9800,7350.0,1,800,540.4},
702 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,9800,8166.7,1,800,600.5},
703 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,980,490.0,1,1600,34.0},
704 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,1960,980.0,1,1600,68.1},
705 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,1960,1470.0,1,1600,102.1},
706 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,3920,1960.0,1,1600,136.1},
707 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,3920,2940.0,1,1600,204.2},
708 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,5880,3920.0,1,1600,272.2},
709 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,5880,4410.0,1,1600,306.2},
710 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,5880,4900.0,1,1600,340.3},
711 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,7840,5880.0,1,1600,408.3},
712 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,7840,6533.3,1,1600,453.7},
713 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,9800,7350.0,1,1600,510.4},
714 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,9800,8166.7,1,1600,567.1},
715 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,980,490.0,1,3200,30.6},
716 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,1960,980.0,1,3200,61.2},
717 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,1960,1470.0,1,3200,91.9},
718 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,3920,1960.0,1,3200,122.5},
719 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,3920,2940.0,1,3200,183.8},
720 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,5880,3920.0,1,3200,245.0},
721 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,5880,4410.0,1,3200,275.6},
722 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,5880,4900.0,1,3200,306.2},
723 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,7840,5880.0,1,3200,367.5},
724 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,7840,6533.3,1,3200,408.3},
725 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,9800,7350.0,1,3200,459.4},
726 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,9800,8166.7,1,3200,510.4},
727};
728
729static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_2NSS[36] =
730{
731 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,1960,980.0,2,800,72.1},
732 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,3920,1960.0,2,800,144.1},
733 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,3920,2940.0,2,800,216.2},
734 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,7840,3920.0,2,800,288.2},
735 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,7840,5880.0,2,800,432.4},
736 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,11760,7840.0,2,800,576.5},
737 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,11760,8820.0,2,800,648.5},
738 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,11760,9800.0,2,800,720.6},
739 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,15680,11760.0,2,800,864.7},
740 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,15680,13066.7,2,800,960.8},
741 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,19600,14700.0,2,800,1080.9},
742 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,19600,16333.3,2,800,1201.0},
743 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,1960,980.0,2,1600,68.1},
744 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,3920,1960.0,2,1600,136.1},
745 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,3920,2940.0,2,1600,204.2},
746 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,7840,3920.0,2,1600,272.2},
747 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,7840,5880.0,2,1600,408.3},
748 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,11760,7840.0,2,1600,544.4},
749 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,11760,8820.0,2,1600,612.5},
750 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,11760,9800.0,2,1600,680.6},
751 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,15680,11760.0,2,1600,816.7},
752 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,15680,13066.7,2,1600,907.4},
753 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,19600,14700.0,2,1600,1020.8},
754 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,19600,16333.3,2,1600,1134.3},
755 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,1960,980.0,2,3200,61.2},
756 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,3920,1960.0,2,3200,122.5},
757 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,3920,2940.0,2,3200,183.8},
758 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,7840,3920.0,2,3200,245.0},
759 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,7840,5880.0,2,3200,367.5},
760 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,11760,7840.0,2,3200,490.0},
761 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,11760,8820.0,2,3200,551.2},
762 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,11760,9800.0,2,3200,612.5},
763 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,15680,11760.0,2,3200,735.0},
764 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,15680,13066.7,2,3200,816.7},
765 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,19600,14700.0,2,3200,918.8},
766 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,19600,16333.3,2,3200,1020.8},
767};
768
769static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_3NSS[36] =
770{
771 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,2940,1470.0,3,800,108.1},
772 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,5880,2940.0,3,800,216.2},
773 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,5880,4410.0,3,800,324.3},
774 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,11760,5880.0,3,800,432.4},
775 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,11760,8820.0,3,800,648.5},
776 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,17640,11760.0,3,800,864.7},
777 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,17640,13230.0,3,800,972.8},
778 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,17640,14700.0,3,800,1080.9},
779 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,23520,17640.0,3,800,1297.1},
780 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,23520,19600.0,3,800,1441.2},
781 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,29400,22050.0,3,800,1621.3},
782 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,29400,24500.0,3,800,1801.5},
783 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,2940,1470.0,3,1600,102.1},
784 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,5880,2940.0,3,1600,204.2},
785 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,5880,4410.0,3,1600,306.2},
786 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,11760,5880.0,3,1600,408.3},
787 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,11760,8820.0,3,1600,612.5},
788 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,17640,11760.0,3,1600,816.7},
789 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,17640,13230.0,3,1600,918.8},
790 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,17640,14700.0,3,1600,1020.8},
791 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,23520,17640.0,3,1600,1225.0},
792 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,23520,19600.0,3,1600,1361.1},
793 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,29400,22050.0,3,1600,1531.2},
794 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,29400,24500.0,3,1600,1701.4},
795 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,2940,1470.0,3,3200,91.9},
796 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,5880,2940.0,3,3200,183.8},
797 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,5880,4410.0,3,3200,275.6},
798 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,11760,5880.0,3,3200,367.5},
799 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,11760,8820.0,3,3200,551.2},
800 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,17640,11760.0,3,3200,735.0},
801 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,17640,13230.0,3,3200,826.9},
802 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,17640,14700.0,3,3200,918.8},
803 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,23520,17640.0,3,3200,1102.5},
804 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,23520,19600.0,3,3200,1225.0},
805 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,29400,22050.0,3,3200,1378.1},
806 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,29400,24500.0,3,3200,1531.2},
807};
808
809static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_4NSS[36] =
810{
811 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,3920,1960.0,4,800,144.1},
812 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,7840,3920.0,4,800,288.2},
813 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,7840,5880.0,4,800,432.4},
814 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,15680,7840.0,4,800,576.5},
815 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,15680,11760.0,4,800,864.7},
816 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,23520,15680.0,4,800,1152.9},
817 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,23520,17640.0,4,800,1297.1},
818 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,23520,19600.0,4,800,1441.2},
819 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,31360,23520.0,4,800,1729.4},
820 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,31360,26133.3,4,800,1921.6},
821 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,39200,29400.0,4,800,2161.8},
822 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,39200,32666.7,4,800,2402.0},
823 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,3920,1960.0,4,1600,136.1},
824 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,7840,3920.0,4,1600,272.2},
825 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,7840,5880.0,4,1600,408.3},
826 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,15680,7840.0,4,1600,544.4},
827 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,15680,11760.0,4,1600,816.7},
828 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,23520,15680.0,4,1600,1088.9},
829 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,23520,17640.0,4,1600,1225.0},
830 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,23520,19600.0,4,1600,1361.1},
831 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,31360,23520.0,4,1600,1633.3},
832 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,31360,26133.3,4,1600,1814.8},
833 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,39200,29400.0,4,1600,2041.7},
834 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,39200,32666.7,4,1600,2268.5},
835 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,3920,1960.0,4,3200,122.5},
836 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,7840,3920.0,4,3200,245.0},
837 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,7840,5880.0,4,3200,367.5},
838 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,15680,7840.0,4,3200,490.0},
839 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,15680,11760.0,4,3200,735.0},
840 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,23520,15680.0,4,3200,980.0},
841 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,23520,17640.0,4,3200,1102.5},
842 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,23520,19600.0,4,3200,1225.0},
843 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,31360,23520.0,4,3200,1470.0},
844 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,31360,26133.3,4,3200,1633.3},
845 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,39200,29400.0,4,3200,1837.5},
846 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,39200,32666.7,4,3200,2041.7},
847};
848
849static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_5NSS[36] =
850{
851 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,4900,2450.0,5,800,180.1},
852 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,9800,4900.0,5,800,360.3},
853 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,9800,7350.0,5,800,540.4},
854 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,19600,9800.0,5,800,720.6},
855 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,19600,14700.0,5,800,1080.9},
856 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,29400,19600.0,5,800,1441.2},
857 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,29400,22050.0,5,800,1621.3},
858 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,29400,24500.0,5,800,1801.5},
859 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,39200,29400.0,5,800,2161.8},
860 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,39200,32666.7,5,800,2402.0},
861 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,49000,36750.0,5,800,2702.2},
862 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,49000,40833.3,5,800,3002.5},
863 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,4900,2450.0,5,1600,170.1},
864 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,9800,4900.0,5,1600,340.3},
865 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,9800,7350.0,5,1600,510.4},
866 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,19600,9800.0,5,1600,680.6},
867 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,19600,14700.0,5,1600,1020.8},
868 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,29400,19600.0,5,1600,1361.1},
869 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,29400,22050.0,5,1600,1531.2},
870 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,29400,24500.0,5,1600,1701.4},
871 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,39200,29400.0,5,1600,2041.7},
872 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,39200,32666.7,5,1600,2268.5},
873 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,49000,36750.0,5,1600,2552.1},
874 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,49000,40833.3,5,1600,2835.6},
875 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,4900,2450.0,5,3200,153.1},
876 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,9800,4900.0,5,3200,306.2},
877 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,9800,7350.0,5,3200,459.4},
878 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,19600,9800.0,5,3200,612.5},
879 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,19600,14700.0,5,3200,918.8},
880 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,29400,19600.0,5,3200,1225.0},
881 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,29400,22050.0,5,3200,1378.1},
882 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,29400,24500.0,5,3200,1531.2},
883 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,39200,29400.0,5,3200,1837.5},
884 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,39200,32666.7,5,3200,2041.7},
885 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,49000,36750.0,5,3200,2296.9},
886 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,49000,40833.3,5,3200,2552.1},
887};
888
889static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_6NSS[36] =
890{
891 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,5880,2940.0,6,800,216.2},
892 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,11760,5880.0,6,800,432.4},
893 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,11760,8820.0,6,800,648.5},
894 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,23520,11760.0,6,800,864.7},
895 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,23520,17640.0,6,800,1297.1},
896 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,35280,23520.0,6,800,1729.4},
897 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,35280,26460.0,6,800,1945.6},
898 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,35280,29400.0,6,800,2161.8},
899 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,47040,35280.0,6,800,2594.1},
900 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,47040,39200.0,6,800,2882.4},
901 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,58800,44100.0,6,800,3242.6},
902 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,58800,49000.0,6,800,3602.9},
903 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,5880,2940.0,6,1600,204.2},
904 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,11760,5880.0,6,1600,408.3},
905 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,11760,8820.0,6,1600,612.5},
906 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,23520,11760.0,6,1600,816.7},
907 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,23520,17640.0,6,1600,1225.0},
908 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,35280,23520.0,6,1600,1633.3},
909 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,35280,26460.0,6,1600,1837.5},
910 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,35280,29400.0,6,1600,2041.7},
911 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,47040,35280.0,6,1600,2450.0},
912 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,47040,39200.0,6,1600,2722.2},
913 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,58800,44100.0,6,1600,3062.5},
914 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,58800,49000.0,6,1600,3402.8},
915 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,5880,2940.0,6,3200,183.8},
916 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,11760,5880.0,6,3200,367.5},
917 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,11760,8820.0,6,3200,551.2},
918 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,23520,11760.0,6,3200,735.0},
919 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,23520,17640.0,6,3200,1102.5},
920 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,35280,23520.0,6,3200,1470.0},
921 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,35280,26460.0,6,3200,1653.8},
922 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,35280,29400.0,6,3200,1837.5},
923 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,47040,35280.0,6,3200,2205.0},
924 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,47040,39200.0,6,3200,2450.0},
925 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,58800,44100.0,6,3200,2756.2},
926 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,58800,49000.0,6,3200,3062.5},
927};
928
929static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_7NSS[36] =
930{
931 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,6860,3430.0,7,800,252.2},
932 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,13720,6860.0,7,800,504.4},
933 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,13720,10290.0,7,800,756.6},
934 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,27440,13720.0,7,800,1008.8},
935 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,27440,20580.0,7,800,1513.2},
936 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,41160,27440.0,7,800,2017.6},
937 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,41160,30870.0,7,800,2269.9},
938 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,41160,34300.0,7,800,2522.1},
939 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,54880,41160.0,7,800,3026.5},
940 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,54880,45733.3,7,800,3362.7},
941 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,68600,51450.0,7,800,3783.1},
942 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,68600,57166.7,7,800,4203.4},
943 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,6860,3430.0,7,1600,238.2},
944 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,13720,6860.0,7,1600,476.4},
945 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,13720,10290.0,7,1600,714.6},
946 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,27440,13720.0,7,1600,952.8},
947 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,27440,20580.0,7,1600,1429.2},
948 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,41160,27440.0,7,1600,1905.6},
949 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,41160,30870.0,7,1600,2143.8},
950 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,41160,34300.0,7,1600,2381.9},
951 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,54880,41160.0,7,1600,2858.3},
952 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,54880,45733.3,7,1600,3175.9},
953 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,68600,51450.0,7,1600,3572.9},
954 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,68600,57166.7,7,1600,3969.9},
955 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,6860,3430.0,7,3200,214.4},
956 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,13720,6860.0,7,3200,428.8},
957 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,13720,10290.0,7,3200,643.1},
958 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,27440,13720.0,7,3200,857.5},
959 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,27440,20580.0,7,3200,1286.2},
960 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,41160,27440.0,7,3200,1715.0},
961 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,41160,30870.0,7,3200,1929.4},
962 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,41160,34300.0,7,3200,2143.8},
963 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,54880,41160.0,7,3200,2572.5},
964 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,54880,45733.3,7,3200,2858.3},
965 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,68600,51450.0,7,3200,3215.6},
966 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,68600,57166.7,7,3200,3572.9},
967};
968
969static struct stru_802_11_Phy_Parameters_HE struPhyParameters_80MHz_8NSS[36] =
970{
971 {1,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,7840,3920.0,8,800,288.2},
972 {2,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,15680,7840.0,8,800,576.5},
973 {3,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,15680,11760.0,8,800,864.7},
974 {4,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,31360,15680.0,8,800,1152.9},
975 {5,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,31360,23520.0,8,800,1729.4},
976 {6,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,47040,31360.0,8,800,2305.9},
977 {7,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,47040,35280.0,8,800,2594.1},
978 {8,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,47040,39200.0,8,800,2882.4},
979 {9,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,62720,47040.0,8,800,3458.8},
980 {10,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,62720,52266.7,8,800,3843.1},
981 {11,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,78400,58800.0,8,800,4323.5},
982 {12,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,78400,65333.3,8,800,4803.9},
983 {13,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,7840,3920.0,8,1600,272.2},
984 {14,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,15680,7840.0,8,1600,544.4},
985 {15,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,15680,11760.0,8,1600,816.7},
986 {16,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,31360,15680.0,8,1600,1088.9},
987 {17,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,31360,23520.0,8,1600,1633.3},
988 {18,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,47040,31360.0,8,1600,2177.8},
989 {19,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,47040,35280.0,8,1600,2450.0},
990 {20,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,47040,39200.0,8,1600,2722.2},
991 {21,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,62720,47040.0,8,1600,3266.7},
992 {22,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,62720,52266.7,8,1600,3629.6},
993 {23,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,78400,58800.0,8,1600,4083.3},
994 {24,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,78400,65333.3,8,1600,4537.0},
995 {25,0,-76,Modulation_BPSK,1.0/2.0,1,980,16,7840,3920.0,8,3200,245.0},
996 {26,1,-73,Modulation_QPSK,1.0/2.0,2,980,16,15680,7840.0,8,3200,490.0},
997 {27,2,-71,Modulation_QPSK,3.0/4.0,2,980,16,15680,11760.0,8,3200,735.0},
998 {28,3,-68,Modulation_16_QAM,1.0/2.0,4,980,16,31360,15680.0,8,3200,980.0},
999 {29,4,-64,Modulation_16_QAM,3.0/4.0,4,980,16,31360,23520.0,8,3200,1470.0},
1000 {30,5,-60,Modulation_64_QAM,2.0/3.0,6,980,16,47040,31360.0,8,3200,1960.0},
1001 {31,6,-59,Modulation_64_QAM,3.0/4.0,6,980,16,47040,35280.0,8,3200,2205.0},
1002 {32,7,-58,Modulation_64_QAM,5.0/6.0,6,980,16,47040,39200.0,8,3200,2450.0},
1003 {33,8,-53,Modulation_256_QAM,3.0/4.0,8,980,16,62720,47040.0,8,3200,2940.0},
1004 {34,9,-51,Modulation_256_QAM,5.0/6.0,8,980,16,62720,52266.7,8,3200,3266.7},
1005 {35,10,-48,Modulation_1024_QAM,3.0/4.0,10,980,16,78400,58800.0,8,3200,3675.0},
1006 {36,11,-46,Modulation_1024_QAM,5.0/6.0,10,980,16,78400,65333.3,8,3200,4083.3},
1007};
1008
1009static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_1NSS[36] =
1010{
1011 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,1960,980.0,1,800,72.1},
1012 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,3920,1960.0,1,800,144.1},
1013 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,3920,2940.0,1,800,216.2},
1014 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,7840,3920.0,1,800,288.2},
1015 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,7840,5880.0,1,800,432.4},
1016 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,11760,7840.0,1,800,576.5},
1017 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,11760,8820.0,1,800,648.5},
1018 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,11760,9800.0,1,800,720.6},
1019 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,15680,11760.0,1,800,864.7},
1020 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,15680,13066.7,1,800,960.8},
1021 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,19600,14700.0,1,800,1080.9},
1022 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,19600,16333.3,1,800,1201.0},
1023 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,1960,980.0,1,1600,68.1},
1024 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,3920,1960.0,1,1600,136.1},
1025 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,3920,2940.0,1,1600,204.2},
1026 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,7840,3920.0,1,1600,272.2},
1027 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,7840,5880.0,1,1600,408.3},
1028 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,11760,7840.0,1,1600,544.4},
1029 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,11760,8820.0,1,1600,612.5},
1030 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,11760,9800.0,1,1600,680.6},
1031 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,15680,11760.0,1,1600,816.7},
1032 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,15680,13066.7,1,1600,907.4},
1033 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,19600,14700.0,1,1600,1020.8},
1034 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,19600,16333.3,1,1600,1134.3},
1035 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,1960,980.0,1,3200,61.2},
1036 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,3920,1960.0,1,3200,122.5},
1037 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,3920,2940.0,1,3200,183.8},
1038 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,7840,3920.0,1,3200,245.0},
1039 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,7840,5880.0,1,3200,367.5},
1040 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,11760,7840.0,1,3200,490.0},
1041 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,11760,8820.0,1,3200,551.2},
1042 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,11760,9800.0,1,3200,612.5},
1043 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,15680,11760.0,1,3200,735.0},
1044 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,15680,13066.7,1,3200,816.7},
1045 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,19600,14700.0,1,3200,918.8},
1046 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,19600,16333.3,1,3200,1020.8},
1047};
1048
1049static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_2NSS[36] =
1050{
1051 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,3920,1960.0,2,800,144.1},
1052 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,7840,3920.0,2,800,288.2},
1053 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,7840,5880.0,2,800,432.4},
1054 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,15680,7840.0,2,800,576.5},
1055 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,15680,11760.0,2,800,864.7},
1056 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,23520,15680.0,2,800,1152.9},
1057 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,23520,17640.0,2,800,1297.1},
1058 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,23520,19600.0,2,800,1441.2},
1059 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,31360,23520.0,2,800,1729.4},
1060 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,31360,26133.3,2,800,1921.6},
1061 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,39200,29400.0,2,800,2161.8},
1062 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,39200,32666.7,2,800,2402.0},
1063 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,3920,1960.0,2,1600,136.1},
1064 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,7840,3920.0,2,1600,272.2},
1065 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,7840,5880.0,2,1600,408.3},
1066 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,15680,7840.0,2,1600,544.4},
1067 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,15680,11760.0,2,1600,816.7},
1068 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,23520,15680.0,2,1600,1088.9},
1069 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,23520,17640.0,2,1600,1225.0},
1070 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,23520,19600.0,2,1600,1361.1},
1071 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,31360,23520.0,2,1600,1633.3},
1072 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,31360,26133.3,2,1600,1814.8},
1073 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,39200,29400.0,2,1600,2041.7},
1074 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,39200,32666.7,2,1600,2268.5},
1075 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,3920,1960.0,2,3200,122.5},
1076 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,7840,3920.0,2,3200,245.0},
1077 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,7840,5880.0,2,3200,367.5},
1078 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,15680,7840.0,2,3200,490.0},
1079 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,15680,11760.0,2,3200,735.0},
1080 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,23520,15680.0,2,3200,980.0},
1081 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,23520,17640.0,2,3200,1102.5},
1082 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,23520,19600.0,2,3200,1225.0},
1083 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,31360,23520.0,2,3200,1470.0},
1084 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,31360,26133.3,2,3200,1633.3},
1085 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,39200,29400.0,2,3200,1837.5},
1086 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,39200,32666.7,2,3200,2041.7},
1087};
1088
1089static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_3NSS[36] =
1090{
1091 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,5880,2940.0,3,800,216.2},
1092 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,11760,5880.0,3,800,432.4},
1093 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,11760,8820.0,3,800,648.5},
1094 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,23520,11760.0,3,800,864.7},
1095 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,23520,17640.0,3,800,1297.1},
1096 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,35280,23520.0,3,800,1729.4},
1097 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,35280,26460.0,3,800,1945.6},
1098 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,35280,29400.0,3,800,2161.8},
1099 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,47040,35280.0,3,800,2594.1},
1100 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,47040,39200.0,3,800,2882.4},
1101 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,58800,44100.0,3,800,3242.6},
1102 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,58800,49000.0,3,800,3602.9},
1103 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,5880,2940.0,3,1600,204.2},
1104 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,11760,5880.0,3,1600,408.3},
1105 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,11760,8820.0,3,1600,612.5},
1106 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,23520,11760.0,3,1600,816.7},
1107 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,23520,17640.0,3,1600,1225.0},
1108 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,35280,23520.0,3,1600,1633.3},
1109 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,35280,26460.0,3,1600,1837.5},
1110 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,35280,29400.0,3,1600,2041.7},
1111 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,47040,35280.0,3,1600,2450.0},
1112 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,47040,39200.0,3,1600,2722.2},
1113 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,58800,44100.0,3,1600,3062.5},
1114 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,58800,49000.0,3,1600,3402.8},
1115 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,5880,2940.0,3,3200,183.8},
1116 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,11760,5880.0,3,3200,367.5},
1117 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,11760,8820.0,3,3200,551.2},
1118 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,23520,11760.0,3,3200,735.0},
1119 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,23520,17640.0,3,3200,1102.5},
1120 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,35280,23520.0,3,3200,1470.0},
1121 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,35280,26460.0,3,3200,1653.8},
1122 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,35280,29400.0,3,3200,1837.5},
1123 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,47040,35280.0,3,3200,2205.0},
1124 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,47040,39200.0,3,3200,2450.0},
1125 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,58800,44100.0,3,3200,2756.2},
1126 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,58800,49000.0,3,3200,3062.5},
1127};
1128
1129static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_4NSS[36] =
1130{
1131 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,7840,3920.0,4,800,288.2},
1132 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,15680,7840.0,4,800,576.5},
1133 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,15680,11760.0,4,800,864.7},
1134 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,31360,15680.0,4,800,1152.9},
1135 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,31360,23520.0,4,800,1729.4},
1136 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,47040,31360.0,4,800,2305.9},
1137 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,47040,35280.0,4,800,2594.1},
1138 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,47040,39200.0,4,800,2882.4},
1139 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,62720,47040.0,4,800,3458.8},
1140 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,62720,52266.7,4,800,3843.1},
1141 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,78400,58800.0,4,800,4323.5},
1142 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,78400,65333.3,4,800,4803.9},
1143 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,7840,3920.0,4,1600,272.2},
1144 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,15680,7840.0,4,1600,544.4},
1145 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,15680,11760.0,4,1600,816.7},
1146 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,31360,15680.0,4,1600,1088.9},
1147 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,31360,23520.0,4,1600,1633.3},
1148 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,47040,31360.0,4,1600,2177.8},
1149 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,47040,35280.0,4,1600,2450.0},
1150 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,47040,39200.0,4,1600,2722.2},
1151 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,62720,47040.0,4,1600,3266.7},
1152 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,62720,52266.7,4,1600,3629.6},
1153 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,78400,58800.0,4,1600,4083.3},
1154 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,78400,65333.3,4,1600,4537.0},
1155 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,7840,3920.0,4,3200,245.0},
1156 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,15680,7840.0,4,3200,490.0},
1157 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,15680,11760.0,4,3200,735.0},
1158 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,31360,15680.0,4,3200,980.0},
1159 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,31360,23520.0,4,3200,1470.0},
1160 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,47040,31360.0,4,3200,1960.0},
1161 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,47040,35280.0,4,3200,2205.0},
1162 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,47040,39200.0,4,3200,2450.0},
1163 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,62720,47040.0,4,3200,2940.0},
1164 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,62720,52266.7,4,3200,3266.7},
1165 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,78400,58800.0,4,3200,3675.0},
1166 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,78400,65333.3,4,3200,4083.3},
1167};
1168
1169static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_5NSS[36] =
1170{
1171 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,9800,4900.0,5,800,360.3},
1172 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,19600,9800.0,5,800,720.6},
1173 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,19600,14700.0,5,800,1080.9},
1174 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,39200,19600.0,5,800,1441.2},
1175 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,39200,29400.0,5,800,2161.8},
1176 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,58800,39200.0,5,800,2882.4},
1177 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,58800,44100.0,5,800,3242.6},
1178 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,58800,49000.0,5,800,3602.9},
1179 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,78400,58800.0,5,800,4323.5},
1180 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,78400,65333.3,5,800,4803.9},
1181 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,98000,73500.0,5,800,5404.4},
1182 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,98000,81666.7,5,800,6004.9},
1183 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,9800,4900.0,5,1600,340.3},
1184 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,19600,9800.0,5,1600,680.6},
1185 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,19600,14700.0,5,1600,1020.8},
1186 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,39200,19600.0,5,1600,1361.1},
1187 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,39200,29400.0,5,1600,2041.7},
1188 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,58800,39200.0,5,1600,2722.2},
1189 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,58800,44100.0,5,1600,3062.5},
1190 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,58800,49000.0,5,1600,3402.8},
1191 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,78400,58800.0,5,1600,4083.3},
1192 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,78400,65333.3,5,1600,4537.0},
1193 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,98000,73500.0,5,1600,5104.2},
1194 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,98000,81666.7,5,1600,5671.3},
1195 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,9800,4900.0,5,3200,306.2},
1196 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,19600,9800.0,5,3200,612.5},
1197 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,19600,14700.0,5,3200,918.8},
1198 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,39200,19600.0,5,3200,1225.0},
1199 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,39200,29400.0,5,3200,1837.5},
1200 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,58800,39200.0,5,3200,2450.0},
1201 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,58800,44100.0,5,3200,2756.2},
1202 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,58800,49000.0,5,3200,3062.5},
1203 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,78400,58800.0,5,3200,3675.0},
1204 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,78400,65333.3,5,3200,4083.3},
1205 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,98000,73500.0,5,3200,4593.8},
1206 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,98000,81666.7,5,3200,5104.2},
1207};
1208
1209static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_6NSS[36] =
1210{
1211 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,11760,5880.0,6,800,432.4},
1212 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,23520,11760.0,6,800,864.7},
1213 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,23520,17640.0,6,800,1297.1},
1214 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,47040,23520.0,6,800,1729.4},
1215 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,47040,35280.0,6,800,2594.1},
1216 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,70560,47040.0,6,800,3458.8},
1217 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,70560,52920.0,6,800,3891.2},
1218 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,70560,58800.0,6,800,4323.5},
1219 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,94080,70560.0,6,800,5188.2},
1220 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,94080,78400.0,6,800,5764.7},
1221 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,117600,88200.0,6,800,6485.3},
1222 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,117600,98000.0,6,800,7205.9},
1223 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,11760,5880.0,6,1600,408.3},
1224 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,23520,11760.0,6,1600,816.7},
1225 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,23520,17640.0,6,1600,1225.0},
1226 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,47040,23520.0,6,1600,1633.3},
1227 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,47040,35280.0,6,1600,2450.0},
1228 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,70560,47040.0,6,1600,3266.7},
1229 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,70560,52920.0,6,1600,3675.0},
1230 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,70560,58800.0,6,1600,4083.3},
1231 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,94080,70560.0,6,1600,4900.0},
1232 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,94080,78400.0,6,1600,5444.4},
1233 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,117600,88200.0,6,1600,6125.0},
1234 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,117600,98000.0,6,1600,6805.6},
1235 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,11760,5880.0,6,3200,367.5},
1236 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,23520,11760.0,6,3200,735.0},
1237 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,23520,17640.0,6,3200,1102.5},
1238 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,47040,23520.0,6,3200,1470.0},
1239 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,47040,35280.0,6,3200,2205.0},
1240 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,70560,47040.0,6,3200,2940.0},
1241 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,70560,52920.0,6,3200,3307.5},
1242 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,70560,58800.0,6,3200,3675.0},
1243 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,94080,70560.0,6,3200,4410.0},
1244 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,94080,78400.0,6,3200,4900.0},
1245 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,117600,88200.0,6,3200,5512.5},
1246 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,117600,98000.0,6,3200,6125.0},
1247};
1248
1249static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_7NSS[36] =
1250{
1251 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,13720,6860.0,7,800,504.4},
1252 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,27440,13720.0,7,800,1008.8},
1253 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,27440,20580.0,7,800,1513.2},
1254 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,54880,27440.0,7,800,2017.6},
1255 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,54880,41160.0,7,800,3026.5},
1256 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,82320,54880.0,7,800,4035.3},
1257 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,82320,61740.0,7,800,4539.7},
1258 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,82320,68600.0,7,800,5044.1},
1259 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,109760,82320.0,7,800,6052.9},
1260 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,109760,91466.7,7,800,6725.5},
1261 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,137200,102900.0,7,800,7566.2},
1262 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,137200,114333.3,7,800,8406.9},
1263 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,13720,6860.0,7,1600,476.4},
1264 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,27440,13720.0,7,1600,952.8},
1265 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,27440,20580.0,7,1600,1429.2},
1266 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,54880,27440.0,7,1600,1905.6},
1267 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,54880,41160.0,7,1600,2858.3},
1268 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,82320,54880.0,7,1600,3811.1},
1269 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,82320,61740.0,7,1600,4287.5},
1270 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,82320,68600.0,7,1600,4763.9},
1271 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,109760,82320.0,7,1600,5716.7},
1272 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,109760,91466.7,7,1600,6351.9},
1273 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,137200,102900.0,7,1600,7145.8},
1274 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,137200,114333.3,7,1600,7939.8},
1275 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,13720,6860.0,7,3200,428.8},
1276 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,27440,13720.0,7,3200,857.5},
1277 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,27440,20580.0,7,3200,1286.2},
1278 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,54880,27440.0,7,3200,1715.0},
1279 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,54880,41160.0,7,3200,2572.5},
1280 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,82320,54880.0,7,3200,3430.0},
1281 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,82320,61740.0,7,3200,3858.8},
1282 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,82320,68600.0,7,3200,4287.5},
1283 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,109760,82320.0,7,3200,5145.0},
1284 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,109760,91466.7,7,3200,5716.7},
1285 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,137200,102900.0,7,3200,6431.2},
1286 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,137200,114333.3,7,3200,7145.8},
1287};
1288
1289static struct stru_802_11_Phy_Parameters_HE struPhyParameters_160MHz_8NSS[36] =
1290{
1291 {1,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,15680,7840.0,8,800,576.5},
1292 {2,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,31360,15680.0,8,800,1152.9},
1293 {3,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,31360,23520.0,8,800,1729.4},
1294 {4,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,62720,31360.0,8,800,2305.9},
1295 {5,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,62720,47040.0,8,800,3458.8},
1296 {6,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,94080,62720.0,8,800,4611.8},
1297 {7,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,94080,70560.0,8,800,5188.2},
1298 {8,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,94080,78400.0,8,800,5764.7},
1299 {9,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,125440,94080.0,8,800,6917.6},
1300 {10,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,125440,104533.3,8,800,7686.3},
1301 {11,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,156800,117600.0,8,800,8647.1},
1302 {12,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,156800,130666.7,8,800,9607.8},
1303 {13,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,15680,7840.0,8,1600,544.4},
1304 {14,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,31360,15680.0,8,1600,1088.9},
1305 {15,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,31360,23520.0,8,1600,1633.3},
1306 {16,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,62720,31360.0,8,1600,2177.8},
1307 {17,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,62720,47040.0,8,1600,3266.7},
1308 {18,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,94080,62720.0,8,1600,4355.6},
1309 {19,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,94080,70560.0,8,1600,4900.0},
1310 {20,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,94080,78400.0,8,1600,5444.4},
1311 {21,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,125440,94080.0,8,1600,6533.3},
1312 {22,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,125440,104533.3,8,1600,7259.3},
1313 {23,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,156800,117600.0,8,1600,8166.7},
1314 {24,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,156800,130666.7,8,1600,9074.1},
1315 {25,0,-73,Modulation_BPSK,1.0/2.0,1,1960,32,15680,7840.0,8,3200,490.0},
1316 {26,1,-70,Modulation_QPSK,1.0/2.0,2,1960,32,31360,15680.0,8,3200,980.0},
1317 {27,2,-68,Modulation_QPSK,3.0/4.0,2,1960,32,31360,23520.0,8,3200,1470.0},
1318 {28,3,-65,Modulation_16_QAM,1.0/2.0,4,1960,32,62720,31360.0,8,3200,1960.0},
1319 {29,4,-61,Modulation_16_QAM,3.0/4.0,4,1960,32,62720,47040.0,8,3200,2940.0},
1320 {30,5,-57,Modulation_64_QAM,2.0/3.0,6,1960,32,94080,62720.0,8,3200,3920.0},
1321 {31,6,-56,Modulation_64_QAM,3.0/4.0,6,1960,32,94080,70560.0,8,3200,4410.0},
1322 {32,7,-55,Modulation_64_QAM,5.0/6.0,6,1960,32,94080,78400.0,8,3200,4900.0},
1323 {33,8,-50,Modulation_256_QAM,3.0/4.0,8,1960,32,125440,94080.0,8,3200,5880.0},
1324 {34,9,-48,Modulation_256_QAM,5.0/6.0,8,1960,32,125440,104533.3,8,3200,6533.3},
1325 {35,10,-45,Modulation_1024_QAM,3.0/4.0,10,1960,32,156800,117600.0,8,3200,7350.0},
1326 {36,11,-43,Modulation_1024_QAM,5.0/6.0,10,1960,32,156800,130666.7,8,3200,8166.7},
1327};
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357// Done till here .....................
1358
1359#define MAX_RATE_INDEX_11ax_800 11
1360#define MAX_RATE_INDEX_11ax_1600 23
1361#define MAX_RATE_INDEX_11ax_3200 35
1362#define MIN_RATE_INDEX_11ax_800 0
1363#define MIN_RATE_INDEX_11ax_1600 12
1364#define MIN_RATE_INDEX_11ax_3200 24
1365
1366
1367
1368
1369// ── HE (802.11ax) max-index getter ──
1370#define get_max_index_ax(phy) \
1371 ( (phy)->nGuardInterval == 800 ? MAX_RATE_INDEX_11ax_800 : \
1372 (phy)->nGuardInterval == 1600 ? MAX_RATE_INDEX_11ax_1600 : \
1373 (phy)->nGuardInterval == 3200 ? MAX_RATE_INDEX_11ax_3200 : \
1374 (fnNetSimError("Unknown HE GI %u in %s.", \
1375 (phy)->nGuardInterval, __FUNCTION__), 0) )
1376
1377
1378
1379
1380/*
138120.3.21.1 Receiver minimum input sensitivity
1382The packet error ratio (PER) shall be less than 10% for a PSDU length of 4096 octets
1383*/
1384#define TARGET_PEP 0.1
1385#define REF_PACKET_SIZE 4096 //Bytes
1386
1387unsigned int get_he_phy_max_index(IEEE802_11_PROTOCOL protocol,UINT dGI)
1388{
1389 switch(protocol)
1390 {
1391 case IEEE_802_11ax:
1392 if(dGI==800)
1393 return MAX_RATE_INDEX_11ax_800;
1394 else if(dGI==1600)
1395 return MAX_RATE_INDEX_11ax_1600;
1396 else if(dGI==3200)
1397 return MAX_RATE_INDEX_11ax_3200;
1398 else
1399 fnNetSimError("Unknown Guard Interval %d in %s.",dGI,__FUNCTION__);
1400 return 0;
1401
1402 default:
1403 fnNetSimError("Unknown phy protocol %d in %s.",protocol,__FUNCTION__);
1404 return 0;
1405 }
1406}
1407
1408
1409
1410unsigned int get_he_phy_min_index(IEEE802_11_PROTOCOL protocol,UINT dGI)
1411{
1412 switch(protocol)
1413 {
1414 case IEEE_802_11ax:
1415 if(dGI==800)
1416 return MIN_RATE_INDEX_11ax_800;
1417 else if(dGI==1600)
1418 return MIN_RATE_INDEX_11ax_1600;
1419 else if(dGI==3200)
1420 return MIN_RATE_INDEX_11ax_3200;
1421 else
1422 fnNetSimError("Unknown Guard Interval %d in %s.",dGI,__FUNCTION__);
1423 return 0;
1424
1425 default:
1426 fnNetSimError("Unknown phy protocol %d in %s.",protocol,__FUNCTION__);
1427 return 0;
1428 }
1429}
1430
1431
1432
1433
1434
1435struct stru_802_11_Phy_Parameters_HE* get_phy_parameter_HE(double dChannelBandwidth,UINT NSS)
1436{
1437 switch((int)dChannelBandwidth)
1438 {
1439 case 20:
1440 switch(NSS)
1441 {
1442 case 1:
1443 return struPhyParameters_20MHz_1NSS;
1444 case 2:
1445 return struPhyParameters_20MHz_2NSS;
1446 case 3:
1447 return struPhyParameters_20MHz_3NSS;
1448 case 4:
1449 return struPhyParameters_20MHz_4NSS;
1450 case 5:
1451 return struPhyParameters_20MHz_5NSS;
1452 case 6:
1453 return struPhyParameters_20MHz_6NSS;
1454 case 7:
1455 return struPhyParameters_20MHz_7NSS;
1456 case 8:
1457 return struPhyParameters_20MHz_8NSS;
1458 default:
1459 fnNetSimError("Unknown No: of spatial streams %d in %s\n",NSS,__FUNCTION__);
1460 return NULL;
1461
1462 }
1463
1464 case 40:
1465 switch(NSS)
1466 {
1467 case 1:
1468 return struPhyParameters_40MHz_1NSS;
1469 case 2:
1470 return struPhyParameters_40MHz_2NSS;
1471 case 3:
1472 return struPhyParameters_40MHz_3NSS;
1473 case 4:
1474 return struPhyParameters_40MHz_4NSS;
1475 case 5:
1476 return struPhyParameters_40MHz_5NSS;
1477 case 6:
1478 return struPhyParameters_40MHz_6NSS;
1479 case 7:
1480 return struPhyParameters_40MHz_7NSS;
1481 case 8:
1482 return struPhyParameters_40MHz_8NSS;
1483 default:
1484 fnNetSimError("Unknown No: of spatial streams %d in %s\n",NSS,__FUNCTION__);
1485 return NULL;
1486
1487 }
1488 case 80:
1489 switch(NSS)
1490 {
1491 case 1:
1492 return struPhyParameters_80MHz_1NSS;
1493 case 2:
1494 return struPhyParameters_80MHz_2NSS;
1495 case 3:
1496 return struPhyParameters_80MHz_3NSS;
1497 case 4:
1498 return struPhyParameters_80MHz_4NSS;
1499 case 5:
1500 return struPhyParameters_80MHz_5NSS;
1501 case 6:
1502 return struPhyParameters_80MHz_6NSS;
1503 case 7:
1504 return struPhyParameters_80MHz_7NSS;
1505 case 8:
1506 return struPhyParameters_80MHz_8NSS;
1507 default:
1508 fnNetSimError("Unknown No: of spatial streams %d in %s\n",NSS,__FUNCTION__);
1509 return NULL;
1510
1511 }
1512 case 160:
1513 switch(NSS)
1514 {
1515 case 1:
1516 return struPhyParameters_160MHz_1NSS;
1517 case 2:
1518 return struPhyParameters_160MHz_2NSS;
1519 case 3:
1520 return struPhyParameters_160MHz_3NSS;
1521 case 4:
1522 return struPhyParameters_160MHz_4NSS;
1523 case 5:
1524 return struPhyParameters_160MHz_5NSS;
1525 case 6:
1526 return struPhyParameters_160MHz_6NSS;
1527 case 7:
1528 return struPhyParameters_160MHz_7NSS;
1529 case 8:
1530 return struPhyParameters_160MHz_8NSS;
1531 default:
1532 fnNetSimError("Unknown No: of spatial streams %d in %s\n",NSS,__FUNCTION__);
1533 return NULL;
1534
1535 }
1536 default:
1537 fnNetSimError("Unknown channel bandwidth %lf in %s\n",dChannelBandwidth,__FUNCTION__);
1538 return NULL;
1539 }
1540}
1541
1542
1543
1544
1545
1546#define CALCULATE_PARALLEL
1547#ifdef CALCULATE_PARALLEL
1548#include <omp.h>
1549#endif
1550int fn_NetSim_IEEE802_11_HEPhy_UpdateParameter()
1551{
1552#ifdef _RECALCULATE_RX_SENSITIVITY_BASED_ON_PEP_
1553 UINT64 t1, t2;
1554
1555 t1 = GetTickCount64();
1556 fprintf(stderr, "Calculating Bandwidth, NSS, Modulation, Coding Rate, Phy Datarate \n"
1557 "and Receiver sensitivity and populating BER Table for 802.11 HT Phy..\n"
1558 "Please wait as this may take some time..... usually 30s to 1 min\n");
1559
1560 char s[BUFSIZ];
1561 sprintf(s, "%s\\%s", pszIOLogPath, "rx_sensitivity_wlan_HEPhy.csv");
1562 FILE* fp = fopen(s, "w");
1563 fprintf(fp,"Bandwidth,NSS,Modulation,codingRate,Datarate,receiversensitivity\n");
1564
1565#ifdef CALCULATE_PARALLEL
1566 int loop;
1567#pragma omp parallel for num_threads(4)
1568 for (loop = 0; loop < 4; loop++)
1569 {
1570 int b;
1571 int n;
1572 int i;
1573 b = (int)(20 * pow(2, loop));
1574#else
1575 int b;
1576 int n;
1577 int i;
1578 for (b = 20; b <= 160; b*=2)
1579 {
1580#endif
1581 for (n = 1; n <= 8; n++)
1582 {
1583 struct stru_802_11_Phy_Parameters_HE* pht = get_phy_parameter_HE((double)b, n);
1584 for (i = 0; i < 36; i++)
1585 {
1586 if (pht[i].dDataRate > 0)
1587 {
1588 pht[i].dRxSensitivity = calculate_rxpower_by_per(TARGET_PEP, REF_PACKET_SIZE,
1589 pht[i].nModulation,
1590 pht[i].dDataRate/n,
1591 (double)b);
1592#ifdef CALCULATE_PARALLEL
1593 #pragma omp critical
1594#endif
1595 {
1596 fprintf(fp, "%d,%d,%s,%lf,%lf,%lf\n",
1597 b, n,
1598 strPHY_MODULATION[pht[i].nModulation],
1599 pht[i].dCodingRate, pht[i].dDataRate, pht[i].dRxSensitivity);
1600 fflush(fp);
1601 }
1602 }
1603 }
1604
1605 }
1606 }
1607 fclose(fp);
1608 t2 = GetTickCount64();
1609 fprintf(stderr, "Time taken = %lld ms\n", t2 - t1);
1610#endif //_RECALCULATE_RX_SENSITIVITY_BASED_ON_PEP_
1611 return 0;
1612}
1613
1614void fn_NetSim_IEEE802_11_HEPhy_SetEDThreshold(PIEEE802_11_PHY_VAR phy)
1615{
1616 struct stru_802_11_Phy_Parameters_HE *struPhyParameters = get_phy_parameter_HE(phy->dChannelBandwidth, phy->NSS);
1617 int MIN_RATE_INDEX =
1618 (phy->nGuardInterval == 800) ? MIN_RATE_INDEX_11ax_800 :
1619 (phy->nGuardInterval == 1600) ? MIN_RATE_INDEX_11ax_1600 :
1620 (phy->nGuardInterval == 3200) ? MIN_RATE_INDEX_11ax_3200 :
1621 (fnNetSimError("Unknown HE GI %u in %s.",
1622 phy->nGuardInterval, __FUNCTION__), 0);
1623 phy->dEDThreshold = struPhyParameters[MIN_RATE_INDEX].dRxSensitivity + CSRANGEDIFF;
1624}
1625
1626/**
1627~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1628The function is inspired from the corresponding
1629implementation in IEEE802_11_HTPhy.c and must be updated.
1630~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1631*/
1632int fn_NetSim_IEEE802_11_HEPhy_DataRate(NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID nReceiverId,NetSim_PACKET* packet,double time)
1633{
1634 int mcs=0;
1635 PIEEE802_11_MAC_VAR mac = IEEE802_11_MAC(nDeviceId,nInterfaceId);
1636 PIEEE802_11_PHY_VAR pstruPhy = IEEE802_11_PHY(nDeviceId,nInterfaceId);
1637 struct stru_802_11_Phy_Parameters_HE *struPhyParameters = get_phy_parameter_HE(pstruPhy->dChannelBandwidth,pstruPhy->NSS);
1638 int MIN_RATE_INDEX =
1639 (pstruPhy->nGuardInterval == 800) ? MIN_RATE_INDEX_11ax_800 :
1640 (pstruPhy->nGuardInterval == 1600) ? MIN_RATE_INDEX_11ax_1600 :
1641 (pstruPhy->nGuardInterval == 3200) ? MIN_RATE_INDEX_11ax_3200 :
1642 (fnNetSimError("Unknown HE GI %u in %s.",
1643 pstruPhy->nGuardInterval, __FUNCTION__), 0);
1644
1645
1646 if(mac->rate_adaptationAlgo== RATEADAPTATION_GENERIC)
1647 {
1648 unsigned int index = get_rate_index(nDeviceId,nInterfaceId,nReceiverId);
1649 if(isIEEE802_11_CtrlPacket(packet))
1650 goto CONTROL_RATE;
1651 if(struPhyParameters[index].dDataRate<=0)
1652 index--;
1653 if(nReceiverId)
1654 {
1655 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dDataRate = struPhyParameters[index].dDataRate;
1656 pstruPhy->dCurrentRxSensitivity_dbm = struPhyParameters[index].dRxSensitivity;
1657 pstruPhy->PHY_TYPE.ofdmPhy_11ax.modulation = struPhyParameters[index].nModulation;
1658 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dCodingRate = struPhyParameters[index].dCodingRate;
1659 pstruPhy->PHY_TYPE.ofdmPhy_11ax.nNBPSC = struPhyParameters[index].nNBPSC;
1660 mcs = struPhyParameters[index].MCS;
1661 pstruPhy->MCS = struPhyParameters[index].MCS;
1662 }
1663 else // Broadcast packets
1664 {
1665 goto BROADCAST_RATE;
1666 }
1667 }
1668 else if(mac->rate_adaptationAlgo== RATEADAPTATION_MINSTREL)
1669 {
1670 struct stru_802_11_Phy_Parameters_HE struPhyParametersi = He_getTxRate(nDeviceId,nInterfaceId,nReceiverId);
1671 if(isIEEE802_11_CtrlPacket(packet))
1672 goto CONTROL_RATE;
1673 if(struPhyParametersi.dDataRate<=0)
1674 fnNetSimError("Data rate <= 0 in Minstrel.\n");
1675 if(nReceiverId)
1676 {
1677 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dDataRate = struPhyParametersi.dDataRate;
1678 pstruPhy->dCurrentRxSensitivity_dbm = struPhyParametersi.dRxSensitivity;
1679 pstruPhy->PHY_TYPE.ofdmPhy_11ax.modulation = struPhyParametersi.nModulation;
1680 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dCodingRate = struPhyParametersi.dCodingRate;
1681 pstruPhy->PHY_TYPE.ofdmPhy_11ax.nNBPSC = struPhyParametersi.nNBPSC;
1682 mcs = struPhyParametersi.MCS;
1683 pstruPhy->dControlFrameDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1684 pstruPhy->MCS = struPhyParametersi.MCS;
1685 }
1686 else // Broadcast packets
1687 {
1688 goto BROADCAST_RATE;
1689 }
1690 }
1691
1692
1693
1694 else
1695 {
1696 if(nReceiverId)
1697 {
1698 if(isIEEE802_11_CtrlPacket(packet))
1699 {
1700CONTROL_RATE:
1701 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1702 pstruPhy->dCurrentRxSensitivity_dbm = struPhyParameters[MIN_RATE_INDEX].dRxSensitivity;
1703 pstruPhy->PHY_TYPE.ofdmPhy_11ax.modulation = struPhyParameters[MIN_RATE_INDEX].nModulation;
1704 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dCodingRate = struPhyParameters[MIN_RATE_INDEX].dCodingRate;
1705 pstruPhy->PHY_TYPE.ofdmPhy_11ax.nNBPSC = struPhyParameters[MIN_RATE_INDEX].nNBPSC;
1706 pstruPhy->MCS = struPhyParameters[MIN_RATE_INDEX].MCS;
1707 pstruPhy->dControlFrameDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1708 }
1709 else
1710 {
1711 NETSIM_ID in = fn_NetSim_Stack_GetConnectedInterface(nDeviceId, nInterfaceId, nReceiverId);
1712
1713 double power = GET_RX_POWER_dbm(nDeviceId, nInterfaceId, nReceiverId, in, time);
1714 int i;
1715 for(i=get_max_index_ax(pstruPhy);i>=MIN_RATE_INDEX;i--)
1716 {
1717 if(struPhyParameters[i].dDataRate<=0)
1718 continue; //Invalid
1719 if(power >= struPhyParameters[i].dRxSensitivity || i==MIN_RATE_INDEX)
1720 {
1721 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dDataRate = struPhyParameters[i].dDataRate;
1722 pstruPhy->dCurrentRxSensitivity_dbm = struPhyParameters[i].dRxSensitivity;
1723 pstruPhy->PHY_TYPE.ofdmPhy_11ax.modulation = struPhyParameters[i].nModulation;
1724 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dCodingRate = struPhyParameters[i].dCodingRate;
1725 pstruPhy->PHY_TYPE.ofdmPhy_11ax.nNBPSC = struPhyParameters[i].nNBPSC;
1726 pstruPhy->MCS = struPhyParameters[i].MCS;
1727 pstruPhy->dControlFrameDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1728 break;
1729 }
1730 }
1731 //FIXED_MCS_DATA_RATE
1732 if (pstruPhy->Fixed_MCS)
1733 {
1734 if (struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].dDataRate <= 0)
1735 fnNetSimError("\nInvalid MCS %u detected.\n", struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].MCS);
1736
1737 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dDataRate = struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].dDataRate;
1738 pstruPhy->dCurrentRxSensitivity_dbm = struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].dRxSensitivity;
1739 pstruPhy->PHY_TYPE.ofdmPhy_11ax.modulation = struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].nModulation;
1740 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dCodingRate = struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].dCodingRate;
1741 pstruPhy->PHY_TYPE.ofdmPhy_11ax.nNBPSC = struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].nNBPSC;
1742 pstruPhy->MCS = struPhyParameters[MIN_RATE_INDEX + pstruPhy->Fixed_Data_Rate_MCS].MCS;
1743 pstruPhy->dControlFrameDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1744 }
1745 }
1746 }
1747 else // Broadcast packets
1748 {
1749BROADCAST_RATE:
1750 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1751 pstruPhy->dCurrentRxSensitivity_dbm = struPhyParameters[MIN_RATE_INDEX].dRxSensitivity;
1752 pstruPhy->PHY_TYPE.ofdmPhy_11ax.modulation = struPhyParameters[MIN_RATE_INDEX].nModulation;
1753 pstruPhy->PHY_TYPE.ofdmPhy_11ax.dCodingRate = struPhyParameters[MIN_RATE_INDEX].dCodingRate;
1754 pstruPhy->PHY_TYPE.ofdmPhy_11ax.nNBPSC = struPhyParameters[MIN_RATE_INDEX].nNBPSC;
1755 mcs = struPhyParameters[MIN_RATE_INDEX].MCS;
1756 pstruPhy->dControlFrameDataRate = struPhyParameters[MIN_RATE_INDEX].dDataRate;
1757 }
1758 }
1759 return 0;
1760}
1761
1762double fn_NetSim_IEEE802_11_HEPhy_getCtrlFrameDataRate(PIEEE802_11_PHY_VAR pstruPhy)
1763{
1764 struct stru_802_11_Phy_Parameters_HE *struPhyParameters = get_phy_parameter_HE(pstruPhy->dChannelBandwidth,pstruPhy->NSS);
1765
1766
1767 int MIN_RATE_INDEX =
1768 (pstruPhy->nGuardInterval == 800) ? MIN_RATE_INDEX_11ax_800 :
1769 (pstruPhy->nGuardInterval == 1600) ? MIN_RATE_INDEX_11ax_1600 :
1770 (pstruPhy->nGuardInterval == 3200) ? MIN_RATE_INDEX_11ax_3200 :
1771 (fnNetSimError("Unknown HE GI %u in %s.",
1772 pstruPhy->nGuardInterval, __FUNCTION__), 0);
1773
1774
1775 return struPhyParameters[MIN_RATE_INDEX].dDataRate;
1776}
1777
1778double HEPhy_get_min_rxSensitivity(double bandwidth, UINT NSS)
1779{
1780 struct stru_802_11_Phy_Parameters_HE* struPhyParameters = get_phy_parameter_HE(bandwidth, NSS);
1781 return struPhyParameters[0].dRxSensitivity;
1782}
Data structure for physical layer parameters.