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