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