A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
error-rate-tables.cc
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 University of Washington
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Authors: Rohan Patidar <rpatidar@uw.edu>
7 * Sébastien Deronne <sebastien.deronne@gmail.com>
8 * Sian Jin <sianjin@uw.edu>
9 */
10
11// This file contains table data for the TableBasedErrorRateModel. For more
12// information on the source of this data, see wifi module documentation.
13
14#include "error-rate-tables.h"
15
16namespace ns3
17{
18
19/// AWGN error table for BCC with reference size of 32 bytes
21 // MCS-0
22 {
23 {-3.50000, 1.00000},
24 {-3.00000, 0.99500},
25 {-2.50000, 0.94080},
26 {-2.00000, 0.82590},
27 {-1.50000, 0.58950},
28 {-1.00000, 0.30830},
29 {-0.50000, 0.12540},
30 {0.00000, 0.03440},
31 {0.50000, 0.00850},
32 {1.00000, 0.00150},
33 {1.50000, 0.00024},
34 {2.00000, 0.00009},
35 {2.50000, 0.00000},
36 },
37 // MCS-1
38 {
39 {-0.50000, 1.00000},
40 {0.00000, 0.99210},
41 {0.50000, 0.96710},
42 {1.00000, 0.83490},
43 {1.50000, 0.58740},
44 {2.00000, 0.31690},
45 {2.50000, 0.11820},
46 {3.00000, 0.03640},
47 {3.50000, 0.00850},
48 {4.00000, 0.00160},
49 {4.50000, 0.00026},
50 {5.00000, 0.00003},
51 {5.50000, 0.00000},
52 },
53 // MCS-2
54 {
55 {2.00000, 1.00000},
56 {2.50000, 0.99400},
57 {3.00000, 0.95880},
58 {3.50000, 0.85120},
59 {4.00000, 0.59900},
60 {4.50000, 0.31250},
61 {5.00000, 0.11710},
62 {5.50000, 0.03390},
63 {6.00000, 0.00780},
64 {6.50000, 0.00160},
65 {7.00000, 0.00028},
66 {7.50000, 0.00008},
67 {8.00000, 0.00000},
68 },
69 // MCS-3
70 {
71 {4.00000, 1.00000},
72 {4.50000, 0.99900},
73 {5.00000, 0.99800},
74 {5.50000, 0.96900},
75 {6.00000, 0.88430},
76 {6.50000, 0.74090},
77 {7.00000, 0.46510},
78 {7.50000, 0.25710},
79 {8.00000, 0.10800},
80 {8.50000, 0.03810},
81 {9.00000, 0.01190},
82 {9.50000, 0.00320},
83 {10.00000, 0.00076},
84 {10.50000, 0.00017},
85 {11.00000, 0.00003},
86 {11.50000, 0.00000},
87 },
88 // MCS-4
89 {
90 {8.00000, 1.00000},
91 {8.50000, 0.99900},
92 {9.00000, 0.94790},
93 {9.50000, 0.79890},
94 {10.00000, 0.59230},
95 {10.50000, 0.33700},
96 {11.00000, 0.15720},
97 {11.50000, 0.05420},
98 {12.00000, 0.01580},
99 {12.50000, 0.00400},
100 {13.00000, 0.00110},
101 {13.50000, 0.00027},
102 {14.00000, 0.00009},
103 {14.50000, 0.00000},
104 },
105 // MCS-5
106 {
107 {11.50000, 1.00000},
108 {12.00000, 0.99800},
109 {12.50000, 0.96530},
110 {13.00000, 0.89700},
111 {13.50000, 0.73010},
112 {14.00000, 0.52570},
113 {14.50000, 0.30580},
114 {15.00000, 0.15750},
115 {15.50000, 0.06460},
116 {16.00000, 0.02410},
117 {16.50000, 0.00790},
118 {17.00000, 0.00230},
119 {17.50000, 0.00069},
120 {18.00000, 0.00018},
121 {18.50000, 0.00004},
122 {19.00000, 0.00002},
123 {19.50000, 0.00000},
124 },
125 // MCS-6
126 {
127 {13.00000, 1.00000},
128 {13.50000, 0.99010},
129 {14.00000, 0.96250},
130 {14.50000, 0.83980},
131 {15.00000, 0.68660},
132 {15.50000, 0.46340},
133 {16.00000, 0.25200},
134 {16.50000, 0.11450},
135 {17.00000, 0.04610},
136 {17.50000, 0.01580},
137 {18.00000, 0.00490},
138 {18.50000, 0.00160},
139 {19.00000, 0.00039},
140 {19.50000, 0.00011},
141 {20.00000, 0.00002},
142 {20.50000, 0.00000},
143 },
144 // MCS-7
145 {
146 {14.00000, 1.00000},
147 {14.50000, 0.99700},
148 {15.00000, 0.98330},
149 {15.50000, 0.94260},
150 {16.00000, 0.84830},
151 {16.50000, 0.63470},
152 {17.00000, 0.43770},
153 {17.50000, 0.22260},
154 {18.00000, 0.11110},
155 {18.50000, 0.04400},
156 {19.00000, 0.01730},
157 {19.50000, 0.00530},
158 {20.00000, 0.00190},
159 {20.50000, 0.00052},
160 {21.00000, 0.00016},
161 {21.50000, 0.00004},
162 {22.00000, 0.00000},
163 },
164 // MCS-8
165 {
166 {17.50000, 1.00000},
167 {18.00000, 0.99600},
168 {18.50000, 0.98040},
169 {19.00000, 0.92860},
170 {19.50000, 0.82250},
171 {20.00000, 0.67500},
172 {20.50000, 0.44140},
173 {21.00000, 0.26660},
174 {21.50000, 0.13380},
175 {22.00000, 0.05950},
176 {22.50000, 0.02450},
177 {23.00000, 0.00910},
178 {23.50000, 0.00320},
179 {24.00000, 0.00098},
180 {24.50000, 0.00033},
181 {25.00000, 0.00014},
182 {25.50000, 0.00004},
183 {26.00000, 0.00000},
184 },
185 // MCS-9
186 {
187 {19.00000, 1.00000},
188 {19.50000, 0.99800},
189 {20.00000, 0.98910},
190 {20.50000, 0.95970},
191 {21.00000, 0.87500},
192 {21.50000, 0.73170},
193 {22.00000, 0.51540},
194 {22.50000, 0.30380},
195 {23.00000, 0.15240},
196 {23.50000, 0.06340},
197 {24.00000, 0.02470},
198 {24.50000, 0.00850},
199 {25.00000, 0.00290},
200 {25.50000, 0.00100},
201 {26.00000, 0.00017},
202 {26.50000, 0.00014},
203 {27.00000, 0.00002},
204 {27.50000, 0.00000},
205 },
206};
207
208/// AWGN error table for BCC with reference size of 1458 bytes
210 // MCS-0
211 {
212 {-1.00000, 1.00000},
213 {-0.50000, 0.99400},
214 {0.00000, 0.81850},
215 {0.50000, 0.29080},
216 {1.00000, 0.06630},
217 {1.50000, 0.01120},
218 {2.00000, 0.00150},
219 {2.50000, 0.00015},
220 {3.00000, 0.00001},
221 {3.50000, 0.00000},
222 },
223 // MCS-1
224 {
225 {2.00000, 1.00000},
226 {2.50000, 0.99700},
227 {3.00000, 0.79440},
228 {3.50000, 0.30080},
229 {4.00000, 0.07280},
230 {4.50000, 0.01200},
231 {5.00000, 0.00150},
232 {5.50000, 0.00023},
233 {6.00000, 0.00000},
234 },
235 // MCS-2
236 {
237 {4.50000, 1.00000},
238 {5.00000, 0.99800},
239 {5.50000, 0.75780},
240 {6.00000, 0.30100},
241 {6.50000, 0.06760},
242 {7.00000, 0.01220},
243 {7.50000, 0.00230},
244 {8.00000, 0.00035},
245 {8.50000, 0.00004},
246 {9.00000, 0.00000},
247 },
248 // MCS-3
249 {
250 {7.50000, 1.00000},
251 {8.00000, 0.99400},
252 {8.50000, 0.84050},
253 {9.00000, 0.43410},
254 {9.50000, 0.14190},
255 {10.00000, 0.03740},
256 {10.50000, 0.00860},
257 {11.00000, 0.00190},
258 {11.50000, 0.00036},
259 {12.00000, 0.00005},
260 {12.50000, 0.00000},
261 },
262 // MCS-4
263 {
264 {11.00000, 1.00000},
265 {11.50000, 0.92690},
266 {12.00000, 0.51390},
267 {12.50000, 0.18260},
268 {13.00000, 0.04650},
269 {13.50000, 0.01100},
270 {14.00000, 0.00260},
271 {14.50000, 0.00041},
272 {15.00000, 0.00010},
273 {15.50000, 0.00000},
274 },
275 // MCS-5
276 {
277 {14.50000, 1.00000},
278 {15.00000, 0.99900},
279 {15.50000, 0.94790},
280 {16.00000, 0.66250},
281 {16.50000, 0.29780},
282 {17.00000, 0.10580},
283 {17.50000, 0.03340},
284 {18.00000, 0.00910},
285 {18.50000, 0.00230},
286 {19.00000, 0.00064},
287 {19.50000, 0.00017},
288 {20.00000, 0.00002},
289 {20.50000, 0.00000},
290 },
291 // MCS-6
292 {
293 {16.00000, 1.00000},
294 {16.50000, 0.99500},
295 {17.00000, 0.87960},
296 {17.50000, 0.51390},
297 {18.00000, 0.20910},
298 {18.50000, 0.06390},
299 {19.00000, 0.01860},
300 {19.50000, 0.00460},
301 {20.00000, 0.00130},
302 {20.50000, 0.00023},
303 {21.00000, 0.00002},
304 {21.50000, 0.00000},
305 },
306 // MCS-7
307 {
308 {17.50000, 1.00000},
309 {18.00000, 0.97850},
310 {18.50000, 0.73930},
311 {19.00000, 0.33750},
312 {19.50000, 0.12340},
313 {20.00000, 0.03550},
314 {20.50000, 0.01000},
315 {21.00000, 0.00270},
316 {21.50000, 0.00050},
317 {22.00000, 0.00009},
318 {22.50000, 0.00001},
319 {23.00000, 0.00000},
320 },
321 // MCS-8
322 {
323 {21.00000, 1.00000},
324 {21.50000, 0.99800},
325 {22.00000, 0.93990},
326 {22.50000, 0.67090},
327 {23.00000, 0.35250},
328 {23.50000, 0.13760},
329 {24.00000, 0.04750},
330 {24.50000, 0.01540},
331 {25.00000, 0.00520},
332 {25.50000, 0.00150},
333 {26.00000, 0.00036},
334 {26.50000, 0.00007},
335 {27.00000, 0.00000},
336 },
337 // MCS-9
338 {
339 {22.50000, 1.00000},
340 {23.00000, 0.99900},
341 {23.50000, 0.95060},
342 {24.00000, 0.68470},
343 {24.50000, 0.32610},
344 {25.00000, 0.12480},
345 {25.50000, 0.04090},
346 {26.00000, 0.01300},
347 {26.50000, 0.00360},
348 {27.00000, 0.00082},
349 {27.50000, 0.00010},
350 {28.00000, 0.00002},
351 {28.50000, 0.00001},
352 {29.00000, 0.00000},
353 },
354};
355
356/// AWGN error table for LDPC with reference size of 1458 bytes
358 // MCS-0
359 {
360 {-1.50000, 1.00000},
361 {-1.25000, 0.97950},
362 {-1.00000, 0.60480},
363 {-0.75000, 0.17050},
364 {-0.50000, 0.03320},
365 {-0.25000, 0.00530},
366 {0.00000, 0.00085},
367 {0.25000, 0.00022},
368 {0.50000, 0.00004},
369 {0.75000, 0.00000},
370 },
371 // MCS-1
372 {
373 {1.50000, 1.00000},
374 {1.75000, 0.97470},
375 {2.00000, 0.62330},
376 {2.25000, 0.18590},
377 {2.50000, 0.03400},
378 {2.75000, 0.00550},
379 {3.00000, 0.00083},
380 {3.25000, 0.00015},
381 {3.50000, 0.00003},
382 {3.75000, 0.00000},
383 },
384 // MCS-2
385 {
386 {4.00000, 1.00000},
387 {4.25000, 0.98720},
388 {4.50000, 0.62560},
389 {4.75000, 0.15800},
390 {5.00000, 0.02090},
391 {5.25000, 0.00250},
392 {5.50000, 0.00034},
393 {5.75000, 0.00003},
394 {6.00000, 0.00000},
395 },
396 // MCS-3
397 {
398 {6.75000, 1.00000},
399 {7.00000, 0.99800},
400 {7.25000, 0.94340},
401 {7.50000, 0.57890},
402 {7.75000, 0.20640},
403 {8.00000, 0.04840},
404 {8.25000, 0.00930},
405 {8.50000, 0.00180},
406 {8.75000, 0.00040},
407 {9.00000, 0.00011},
408 {9.25000, 0.00002},
409 {9.50000, 0.00000},
410 },
411 // MCS-4
412 {{10.00000, 1.00000},
413 {10.25000, 0.99310},
414 {10.50000, 0.70890},
415 {10.75000, 0.24720},
416 {11.00000, 0.04700},
417 {11.25000, 0.00590},
418 {11.50000, 0.00091},
419 {11.75000, 0.00016},
420 {12.00000, 0.00003},
421 {12.25000, 0.00000}},
422 // MCS-5
423 {
424 {14.00000, 1.00000},
425 {14.25000, 0.99700},
426 {14.50000, 0.91830},
427 {14.75000, 0.53790},
428 {15.00000, 0.16610},
429 {15.25000, 0.03690},
430 {15.50000, 0.00650},
431 {15.75000, 0.00100},
432 {16.00000, 0.00031},
433 {16.25000, 0.00005},
434 {16.50000, 0.00000},
435 },
436 // MCS-6
437 {
438 {15.50000, 1.00000},
439 {15.75000, 0.98140},
440 {16.00000, 0.73930},
441 {16.25000, 0.33110},
442 {16.50000, 0.08150},
443 {16.75000, 0.01620},
444 {17.00000, 0.00270},
445 {17.25000, 0.00052},
446 {17.50000, 0.00005},
447 {17.75000, 0.00003},
448 {18.00000, 0.00000},
449 },
450 // MCS-7
451 {
452 {17.00000, 1.00000},
453 {17.25000, 0.97750},
454 {17.50000, 0.73980},
455 {17.75000, 0.33190},
456 {18.00000, 0.09640},
457 {18.25000, 0.02180},
458 {18.50000, 0.00470},
459 {18.75000, 0.00087},
460 {19.00000, 0.00018},
461 {19.25000, 0.00003},
462 {19.50000, 0.00000},
463 },
464 // MCS-8
465 {
466 {20.50000, 1.00000},
467 {20.75000, 0.99500},
468 {21.00000, 0.89700},
469 {21.25000, 0.56270},
470 {21.50000, 0.20920},
471 {21.75000, 0.05600},
472 {22.00000, 0.01170},
473 {22.25000, 0.00250},
474 {22.50000, 0.00038},
475 {22.75000, 0.00013},
476 {23.00000, 0.00004},
477 {23.25000, 0.00001},
478 {23.50000, 0.00000},
479 },
480 // MCS-9
481 {
482 {22.25000, 1.00000},
483 {22.50000, 0.99900},
484 {22.75000, 0.94080},
485 {23.00000, 0.63600},
486 {23.25000, 0.27190},
487 {23.50000, 0.08700},
488 {23.75000, 0.02210},
489 {24.00000, 0.00500},
490 {24.25000, 0.00110},
491 {24.50000, 0.00032},
492 {24.75000, 0.00004},
493 {25.00000, 0.00000},
494 },
495 // MCS-10
496 {
497 {25.75000, 1.00000},
498 {26.00000, 0.94970},
499 {26.25000, 0.68660},
500 {26.50000, 0.32940},
501 {26.75000, 0.11620},
502 {27.00000, 0.03440},
503 {27.25000, 0.00880},
504 {27.50000, 0.00210},
505 {27.75000, 0.00054},
506 {28.00000, 0.00009},
507 {28.25000, 0.00002},
508 {28.50000, 0.00000},
509 },
510 // MCS-11
511 {
512 {27.75000, 1.00000},
513 {28.00000, 0.94880},
514 {28.25000, 0.75260},
515 {28.50000, 0.40230},
516 {28.75000, 0.16210},
517 {29.00000, 0.05150},
518 {29.25000, 0.01310},
519 {29.50000, 0.00360},
520 {29.75000, 0.00100},
521 {30.00000, 0.00022},
522 {30.25000, 0.00006},
523 {30.50000, 0.00000},
524 },
525};
526
527} // namespace ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
const SnrPerTable AwgnErrorTableLdpc1458[ERROR_TABLE_LDPC_MAX_NUM_MCS]
AWGN error table for LDPC with reference size of 1458 bytes.
const SnrPerTable AwgnErrorTableBcc1458[ERROR_TABLE_BCC_MAX_NUM_MCS]
AWGN error table for BCC with reference size of 1458 bytes.
const uint8_t ERROR_TABLE_BCC_MAX_NUM_MCS
maximum number of MCSs for BCC
std::vector< std::pair< dB_u, double > > SnrPerTable
Table of SNR and PER pairs.
const uint8_t ERROR_TABLE_LDPC_MAX_NUM_MCS
maximum number of MCSs for LDPC
const SnrPerTable AwgnErrorTableBcc32[ERROR_TABLE_BCC_MAX_NUM_MCS]
AWGN error table for BCC with reference size of 32 bytes.