A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
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
16
namespace
ns3
17
{
18
19
/// AWGN error table for BCC with reference size of 32 bytes
20
const
SnrPerTable
AwgnErrorTableBcc32
[
ERROR_TABLE_BCC_MAX_NUM_MCS
] = {
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
209
const
SnrPerTable
AwgnErrorTableBcc1458
[
ERROR_TABLE_BCC_MAX_NUM_MCS
] = {
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
357
const
SnrPerTable
AwgnErrorTableLdpc1458
[
ERROR_TABLE_LDPC_MAX_NUM_MCS
] = {
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
error-rate-tables.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::AwgnErrorTableLdpc1458
const SnrPerTable AwgnErrorTableLdpc1458[ERROR_TABLE_LDPC_MAX_NUM_MCS]
AWGN error table for LDPC with reference size of 1458 bytes.
Definition
error-rate-tables.cc:357
ns3::AwgnErrorTableBcc1458
const SnrPerTable AwgnErrorTableBcc1458[ERROR_TABLE_BCC_MAX_NUM_MCS]
AWGN error table for BCC with reference size of 1458 bytes.
Definition
error-rate-tables.cc:209
ns3::ERROR_TABLE_BCC_MAX_NUM_MCS
const uint8_t ERROR_TABLE_BCC_MAX_NUM_MCS
maximum number of MCSs for BCC
Definition
error-rate-tables.h:30
ns3::SnrPerTable
std::vector< std::pair< dB_u, double > > SnrPerTable
Table of SNR and PER pairs.
Definition
error-rate-tables.h:34
ns3::ERROR_TABLE_LDPC_MAX_NUM_MCS
const uint8_t ERROR_TABLE_LDPC_MAX_NUM_MCS
maximum number of MCSs for LDPC
Definition
error-rate-tables.h:31
ns3::AwgnErrorTableBcc32
const SnrPerTable AwgnErrorTableBcc32[ERROR_TABLE_BCC_MAX_NUM_MCS]
AWGN error table for BCC with reference size of 32 bytes.
Definition
error-rate-tables.cc:20
src
wifi
model
reference
error-rate-tables.cc
Generated on Sun Dec 1 2024 18:20:49 for ns-3 by
1.11.0