LEFT | RIGHT |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2017 Orange Labs | 3 * Copyright (c) 2017 Orange Labs |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 NS_ASSERT (maskRefsLeft.size () % 2 == 0 && maskRefsRight.size () % 2 == 0); /
/start/stop pairs expected | 97 NS_ASSERT (maskRefsLeft.size () % 2 == 0 && maskRefsRight.size () % 2 == 0); /
/start/stop pairs expected |
98 uint16_t freq = 5170 + (bw / 2); // so as to have 5180/5190/5210/5250 for 20/4
0/80/160 | 98 uint16_t freq = 5170 + (bw / 2); // so as to have 5180/5190/5210/5250 for 20/4
0/80/160 |
99 double refTxPowerW = 1; // have to work in dBr when comparing though | 99 double refTxPowerW = 1; // have to work in dBr when comparing though |
100 m_tolerance = tol; // in dB | 100 m_tolerance = tol; // in dB |
101 | 101 |
102 switch (standard) | 102 switch (standard) |
103 { | 103 { |
104 case WIFI_PHY_STANDARD_80211_5MHZ: | 104 case WIFI_PHY_STANDARD_80211_5MHZ: |
105 NS_ASSERT (bw == 5); | 105 NS_ASSERT (bw == 5); |
106 freq = 5860; | 106 freq = 5860; |
107 m_actualSpectrum = WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensi
ty (freq, bw, refTxPowerW, bw); | 107 m_actualSpectrum = WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensi
ty (freq, bw, refTxPowerW, 5); |
108 break; | 108 break; |
109 case WIFI_PHY_STANDARD_80211_10MHZ: | 109 case WIFI_PHY_STANDARD_80211_10MHZ: |
110 NS_ASSERT (bw == 10); | 110 NS_ASSERT (bw == 10); |
111 freq = 5860; | 111 freq = 5860; |
112 m_actualSpectrum = WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensi
ty (freq, bw, refTxPowerW, bw); | 112 m_actualSpectrum = WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensi
ty (freq, bw, refTxPowerW, 10); |
113 break; | 113 break; |
114 | 114 |
115 // 11g and 11a | 115 // 11g and 11a |
116 case WIFI_PHY_STANDARD_80211g: | 116 case WIFI_PHY_STANDARD_80211g: |
117 freq = 2412; | 117 freq = 2412; |
118 // no break on purpose | 118 // no break on purpose |
119 case WIFI_PHY_STANDARD_80211a: | 119 case WIFI_PHY_STANDARD_80211a: |
120 case WIFI_PHY_STANDARD_holland: | 120 case WIFI_PHY_STANDARD_holland: |
121 NS_ASSERT (bw == 20); | 121 NS_ASSERT (bw == 20); |
122 m_actualSpectrum = WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensi
ty (freq, bw, refTxPowerW, bw); | 122 m_actualSpectrum = WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensi
ty (freq, bw, refTxPowerW, 20); |
123 break; | 123 break; |
124 | 124 |
125 // 11n | 125 // 11n |
126 case WIFI_PHY_STANDARD_80211n_2_4GHZ: | 126 case WIFI_PHY_STANDARD_80211n_2_4GHZ: |
127 freq = 2402 + (bw / 2); //so as to have 2412/2422 for 20/40 | 127 freq = 2402 + (bw / 2); //so as to have 2412/2422 for 20/40 |
128 // no break on purpose | 128 // no break on purpose |
129 case WIFI_PHY_STANDARD_80211n_5GHZ: | 129 case WIFI_PHY_STANDARD_80211n_5GHZ: |
130 NS_ASSERT (bw == 20 || bw == 40); | 130 NS_ASSERT (bw == 20 || bw == 40); |
131 m_actualSpectrum = WifiSpectrumValueHelper::CreateHtOfdmTxPowerSpectralDen
sity (freq, bw, refTxPowerW, bw); | 131 m_actualSpectrum = WifiSpectrumValueHelper::CreateHtOfdmTxPowerSpectralDen
sity (freq, bw, refTxPowerW, 20); |
132 break; | 132 break; |
133 | 133 |
134 // 11ac | 134 // 11ac |
135 case WIFI_PHY_STANDARD_80211ac: | 135 case WIFI_PHY_STANDARD_80211ac: |
136 NS_ASSERT (bw == 20 || bw == 40 || bw == 80 || bw == 160); | 136 NS_ASSERT (bw == 20 || bw == 40 || bw == 80 || bw == 160); |
137 m_actualSpectrum = WifiSpectrumValueHelper::CreateHtOfdmTxPowerSpectralDen
sity (freq, bw, refTxPowerW, bw); | 137 m_actualSpectrum = WifiSpectrumValueHelper::CreateHtOfdmTxPowerSpectralDen
sity (freq, bw, refTxPowerW, 20); |
138 break; | 138 break; |
139 | 139 |
140 // 11ax | 140 // 11ax |
141 case WIFI_PHY_STANDARD_80211ax_2_4GHZ: | 141 case WIFI_PHY_STANDARD_80211ax_2_4GHZ: |
142 NS_ASSERT (bw != 160); // not enough space in 2.4 GHz bands | 142 NS_ASSERT (bw != 160); // not enough space in 2.4 GHz bands |
143 freq = 2402 + (bw / 2); //so as to have 2412/2422 for 20/40 | 143 freq = 2402 + (bw / 2); //so as to have 2412/2422 for 20/40 |
144 // no break on purpose | 144 // no break on purpose |
145 case WIFI_PHY_STANDARD_80211ax_5GHZ: | 145 case WIFI_PHY_STANDARD_80211ax_5GHZ: |
146 NS_ASSERT (bw == 20 || bw == 40 || bw == 80 || bw == 160); | 146 NS_ASSERT (bw == 20 || bw == 40 || bw == 80 || bw == 160); |
147 m_actualSpectrum = WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDen
sity (freq, bw, refTxPowerW, bw); | 147 m_actualSpectrum = WifiSpectrumValueHelper::CreateHeOfdmTxPowerSpectralDen
sity (freq, bw, refTxPowerW, 20); |
148 break; | 148 break; |
149 | 149 |
150 // other | 150 // other |
151 default: | 151 default: |
152 NS_FATAL_ERROR ("Standard unknown or non-OFDM"); | 152 NS_FATAL_ERROR ("Standard unknown or non-OFDM"); |
153 break; | 153 break; |
154 } | 154 } |
155 | 155 |
156 NS_LOG_INFO ("Build expected left PSD"); | 156 NS_LOG_INFO ("Build expected left PSD"); |
157 for (uint32_t i = 0; i < maskRefsLeft.size (); i = i + 2) | 157 for (uint32_t i = 0; i < maskRefsLeft.size (); i = i + 2) |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 maskSlopesRight.push_back (std::make_pair (161, -28.375)); // Outer band right
(start) | 391 maskSlopesRight.push_back (std::make_pair (161, -28.375)); // Outer band right
(start) |
392 maskSlopesRight.push_back (std::make_pair (192, -40.0)); // Outer band right (
stop) | 392 maskSlopesRight.push_back (std::make_pair (192, -40.0)); // Outer band right (
stop) |
393 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11n_5GHz 20MHz", WIFI_PHY_STANDA
RD_80211n_5GHZ, 20, | 393 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11n_5GHz 20MHz", WIFI_PHY_STANDA
RD_80211n_5GHZ, 20, |
394 maskSlopesLeft, maskSlopesRight,
tol), | 394 maskSlopesLeft, maskSlopesRight,
tol), |
395 TestCase::QUICK); | 395 TestCase::QUICK); |
396 | 396 |
397 // 11n 40MHz @ 2.4GHz | 397 // 11n 40MHz @ 2.4GHz |
398 NS_LOG_FUNCTION ("Check slopes for 11n 40MHz @ 2.4GHz "); | 398 NS_LOG_FUNCTION ("Check slopes for 11n 40MHz @ 2.4GHz "); |
399 maskSlopesLeft.clear (); | 399 maskSlopesLeft.clear (); |
400 maskSlopesRight.clear (); | 400 maskSlopesRight.clear (); |
401 maskSlopesLeft.push_back (std::make_pair (0, -45.000)); // Outer band left (st
art) | 401 // Outer band left+right is out of considered truncated mask |
402 maskSlopesLeft.push_back (std::make_pair (63, -28.266)); // Outer band left (s
top) | 402 maskSlopesLeft.push_back (std::make_pair (0, -28.000)); // Middle band left (s
tart) |
403 maskSlopesLeft.push_back (std::make_pair (64, -28.000)); // Middle band left (
start) | 403 maskSlopesLeft.push_back (std::make_pair (60, -20.131)); // Middle band left (
stop) |
404 maskSlopesLeft.push_back (std::make_pair (124, -20.131)); // Middle band left
(stop) | 404 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (start) |
405 maskSlopesLeft.push_back (std::make_pair (125, -20.0)); // Flat junction band
left (start) | 405 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (stop) |
406 maskSlopesLeft.push_back (std::make_pair (125, -20.0)); // Flat junction band
left (stop) | 406 maskSlopesLeft.push_back (std::make_pair (62, -20.0)); // Inner band left (sta
rt) |
407 maskSlopesLeft.push_back (std::make_pair (126, -20.0)); // Inner band left (st
art) | 407 maskSlopesLeft.push_back (std::make_pair (67, -3.333)); // Inner band left (st
op) |
408 maskSlopesLeft.push_back (std::make_pair (131, -3.333)); // Inner band left (s
top) | 408 maskSlopesRight.push_back (std::make_pair (189, -3.333)); // Inner band right
(start) |
409 maskSlopesRight.push_back (std::make_pair (253, -3.333)); // Inner band right
(start) | 409 maskSlopesRight.push_back (std::make_pair (194, -20.0)); // Inner band right (
stop) |
410 maskSlopesRight.push_back (std::make_pair (258, -20.0)); // Inner band right (
stop) | 410 maskSlopesRight.push_back (std::make_pair (195, -20.0)); // Flat junction band
right (start) |
411 maskSlopesRight.push_back (std::make_pair (259, -20.0)); // Flat junction band
right (start) | 411 maskSlopesRight.push_back (std::make_pair (195, -20.0)); // Flat junction band
right (stop) |
412 maskSlopesRight.push_back (std::make_pair (259, -20.0)); // Flat junction band
right (stop) | 412 maskSlopesRight.push_back (std::make_pair (196, -20.131)); // Middle band righ
t (start) |
413 maskSlopesRight.push_back (std::make_pair (260, -20.131)); // Middle band righ
t (start) | 413 maskSlopesRight.push_back (std::make_pair (256, -28.000)); // Middle band righ
t (stop) |
414 maskSlopesRight.push_back (std::make_pair (320, -28.000)); // Middle band righ
t (stop) | |
415 maskSlopesRight.push_back (std::make_pair (321, -28.266)); // Outer band right
(start) | |
416 maskSlopesRight.push_back (std::make_pair (384, -45.000)); // Outer band right
(stop) | |
417 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11n_2.4GHz 40MHz", WIFI_PHY_STAN
DARD_80211n_2_4GHZ, 40, | 414 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11n_2.4GHz 40MHz", WIFI_PHY_STAN
DARD_80211n_2_4GHZ, 40, |
418 maskSlopesLeft, maskSlopesRight,
tol), | 415 maskSlopesLeft, maskSlopesRight,
tol), |
419 TestCase::QUICK); | 416 TestCase::QUICK); |
420 | 417 |
421 // 11n 20MHz @ 5GHz | 418 // 11n 20MHz @ 5GHz |
422 NS_LOG_FUNCTION ("Check slopes for 11n 40MHz @ 5GHz"); | 419 NS_LOG_FUNCTION ("Check slopes for 11n 40MHz @ 5GHz"); |
423 maskSlopesLeft.clear (); | 420 maskSlopesLeft.clear (); |
424 maskSlopesRight.clear (); | 421 maskSlopesRight.clear (); |
425 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 422 // Outer band left+right is out of considered truncated mask |
426 maskSlopesLeft.push_back (std::make_pair (63, -28.188)); // Outer band left (s
top) | 423 maskSlopesLeft.push_back (std::make_pair (0, -28.000)); // Middle band left (s
tart) |
427 maskSlopesLeft.push_back (std::make_pair (64, -28.000)); // Middle band left (
start) | 424 maskSlopesLeft.push_back (std::make_pair (60, -20.131)); // Middle band left (
stop) |
428 maskSlopesLeft.push_back (std::make_pair (124, -20.131)); // Middle band left
(stop) | 425 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (start) |
429 maskSlopesLeft.push_back (std::make_pair (125, -20.0)); // Flat junction band
left (start) | 426 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (stop) |
430 maskSlopesLeft.push_back (std::make_pair (125, -20.0)); // Flat junction band
left (stop) | 427 maskSlopesLeft.push_back (std::make_pair (62, -20.0)); // Inner band left (sta
rt) |
431 maskSlopesLeft.push_back (std::make_pair (126, -20.0)); // Inner band left (st
art) | 428 maskSlopesLeft.push_back (std::make_pair (67, -3.333)); // Inner band left (st
op) |
432 maskSlopesLeft.push_back (std::make_pair (131, -3.333)); // Inner band left (s
top) | 429 maskSlopesRight.push_back (std::make_pair (189, -3.333)); // Inner band right
(start) |
433 maskSlopesRight.push_back (std::make_pair (253, -3.333)); // Inner band right
(start) | 430 maskSlopesRight.push_back (std::make_pair (194, -20.0)); // Inner band right (
stop) |
434 maskSlopesRight.push_back (std::make_pair (258, -20.0)); // Inner band right (
stop) | 431 maskSlopesRight.push_back (std::make_pair (195, -20.0)); // Flat junction band
right (start) |
435 maskSlopesRight.push_back (std::make_pair (259, -20.0)); // Flat junction band
right (start) | 432 maskSlopesRight.push_back (std::make_pair (195, -20.0)); // Flat junction band
right (stop) |
436 maskSlopesRight.push_back (std::make_pair (259, -20.0)); // Flat junction band
right (stop) | 433 maskSlopesRight.push_back (std::make_pair (196, -20.131)); // Middle band righ
t (start) |
437 maskSlopesRight.push_back (std::make_pair (260, -20.131)); // Middle band righ
t (start) | 434 maskSlopesRight.push_back (std::make_pair (256, -28.000)); // Middle band righ
t (stop) |
438 maskSlopesRight.push_back (std::make_pair (320, -28.000)); // Middle band righ
t (stop) | |
439 maskSlopesRight.push_back (std::make_pair (321, -28.188)); // Outer band right
(start) | |
440 maskSlopesRight.push_back (std::make_pair (384, -40.0)); // Outer band right (
stop) | |
441 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11n_5GHz 40MHz", WIFI_PHY_STANDA
RD_80211n_5GHZ, 40, | 435 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11n_5GHz 40MHz", WIFI_PHY_STANDA
RD_80211n_5GHZ, 40, |
442 maskSlopesLeft, maskSlopesRight,
tol), | 436 maskSlopesLeft, maskSlopesRight,
tol), |
443 TestCase::QUICK); | 437 TestCase::QUICK); |
444 | 438 |
445 | 439 |
446 // ===========================================================================
================= | 440 // ===========================================================================
================= |
447 // 11ac 20MHz | 441 // 11ac 20MHz |
448 NS_LOG_FUNCTION ("Check slopes for 11ac 20MHz"); | 442 NS_LOG_FUNCTION ("Check slopes for 11ac 20MHz"); |
449 maskSlopesLeft.clear (); | 443 maskSlopesLeft.clear (); |
450 maskSlopesRight.clear (); | 444 maskSlopesRight.clear (); |
(...skipping 14 matching lines...) Expand all Loading... |
465 maskSlopesRight.push_back (std::make_pair (161, -28.375)); // Outer band right
(start) | 459 maskSlopesRight.push_back (std::make_pair (161, -28.375)); // Outer band right
(start) |
466 maskSlopesRight.push_back (std::make_pair (192, -40.0)); // Outer band right (
stop) | 460 maskSlopesRight.push_back (std::make_pair (192, -40.0)); // Outer band right (
stop) |
467 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 20MHz", WIFI_PHY_STANDARD_8
0211ac, 20, | 461 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 20MHz", WIFI_PHY_STANDARD_8
0211ac, 20, |
468 maskSlopesLeft, maskSlopesRight,
tol), | 462 maskSlopesLeft, maskSlopesRight,
tol), |
469 TestCase::QUICK); | 463 TestCase::QUICK); |
470 | 464 |
471 // 11ac 20MHz | 465 // 11ac 20MHz |
472 NS_LOG_FUNCTION ("Check slopes for 11ac 40MHz"); | 466 NS_LOG_FUNCTION ("Check slopes for 11ac 40MHz"); |
473 maskSlopesLeft.clear (); | 467 maskSlopesLeft.clear (); |
474 maskSlopesRight.clear (); | 468 maskSlopesRight.clear (); |
475 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 469 // Outer band left+right is out of considered truncated mask |
476 maskSlopesLeft.push_back (std::make_pair (63, -28.188)); // Outer band left (s
top) | 470 maskSlopesLeft.push_back (std::make_pair (0, -28.000)); // Middle band left (s
tart) |
477 maskSlopesLeft.push_back (std::make_pair (64, -28.000)); // Middle band left (
start) | 471 maskSlopesLeft.push_back (std::make_pair (60, -20.131)); // Middle band left (
stop) |
478 maskSlopesLeft.push_back (std::make_pair (124, -20.131)); // Middle band left
(stop) | 472 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (start) |
479 maskSlopesLeft.push_back (std::make_pair (125, -20.0)); // Flat junction band
left (start) | 473 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (stop) |
480 maskSlopesLeft.push_back (std::make_pair (125, -20.0)); // Flat junction band
left (stop) | 474 maskSlopesLeft.push_back (std::make_pair (62, -20.0)); // Inner band left (sta
rt) |
481 maskSlopesLeft.push_back (std::make_pair (126, -20.0)); // Inner band left (st
art) | 475 maskSlopesLeft.push_back (std::make_pair (67, -3.333)); // Inner band left (st
op) |
482 maskSlopesLeft.push_back (std::make_pair (131, -3.333)); // Inner band left (s
top) | 476 maskSlopesRight.push_back (std::make_pair (189, -3.333)); // Inner band right
(start) |
483 maskSlopesRight.push_back (std::make_pair (253, -3.333)); // Inner band right
(start) | 477 maskSlopesRight.push_back (std::make_pair (194, -20.0)); // Inner band right (
stop) |
484 maskSlopesRight.push_back (std::make_pair (258, -20.0)); // Inner band right (
stop) | 478 maskSlopesRight.push_back (std::make_pair (195, -20.0)); // Flat junction band
right (start) |
485 maskSlopesRight.push_back (std::make_pair (259, -20.0)); // Flat junction band
right (start) | 479 maskSlopesRight.push_back (std::make_pair (195, -20.0)); // Flat junction band
right (stop) |
486 maskSlopesRight.push_back (std::make_pair (259, -20.0)); // Flat junction band
right (stop) | 480 maskSlopesRight.push_back (std::make_pair (196, -20.131)); // Middle band righ
t (start) |
487 maskSlopesRight.push_back (std::make_pair (260, -20.131)); // Middle band righ
t (start) | 481 maskSlopesRight.push_back (std::make_pair (256, -28.000)); // Middle band righ
t (stop) |
488 maskSlopesRight.push_back (std::make_pair (320, -28.000)); // Middle band righ
t (stop) | |
489 maskSlopesRight.push_back (std::make_pair (321, -28.188)); // Outer band right
(start) | |
490 maskSlopesRight.push_back (std::make_pair (384, -40.0)); // Outer band right (
stop) | |
491 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 40MHz", WIFI_PHY_STANDARD_8
0211ac, 40, | 482 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 40MHz", WIFI_PHY_STANDARD_8
0211ac, 40, |
492 maskSlopesLeft, maskSlopesRight,
tol), | 483 maskSlopesLeft, maskSlopesRight,
tol), |
493 TestCase::QUICK); | 484 TestCase::QUICK); |
494 | 485 |
495 // 11ac 80MHz | 486 // 11ac 80MHz |
496 NS_LOG_FUNCTION ("Check slopes for 11ac 80MHz"); | 487 NS_LOG_FUNCTION ("Check slopes for 11ac 80MHz"); |
497 maskSlopesLeft.clear (); | 488 maskSlopesLeft.clear (); |
498 maskSlopesRight.clear (); | 489 maskSlopesRight.clear (); |
499 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 490 // Outer band left+right is out of considered truncated mask |
500 maskSlopesLeft.push_back (std::make_pair (127, -28.094)); // Outer band left (
stop) | 491 maskSlopesLeft.push_back (std::make_pair (0, -23.904)); // Middle band left (s
tart) -> truncated |
501 maskSlopesLeft.push_back (std::make_pair (128, -28.000)); // Middle band left
(start) | 492 maskSlopesLeft.push_back (std::make_pair (60, -20.064)); // Middle band left (
stop) |
502 maskSlopesLeft.push_back (std::make_pair (252, -20.064)); // Middle band left
(stop) | 493 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (start) |
503 maskSlopesLeft.push_back (std::make_pair (253, -20.0)); // Flat junction band
left (start) | 494 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (stop) |
504 maskSlopesLeft.push_back (std::make_pair (253, -20.0)); // Flat junction band
left (stop) | 495 maskSlopesLeft.push_back (std::make_pair (62, -20.0)); // Inner band left (sta
rt) |
505 maskSlopesLeft.push_back (std::make_pair (254, -20.0)); // Inner band left (st
art) | 496 maskSlopesLeft.push_back (std::make_pair (67, -3.333)); // Inner band left (st
op) |
506 maskSlopesLeft.push_back (std::make_pair (259, -3.333)); // Inner band left (s
top) | 497 maskSlopesRight.push_back (std::make_pair (317, -3.333)); // Inner band right
(start) |
507 maskSlopesRight.push_back (std::make_pair (509, -3.333)); // Inner band right
(start) | 498 maskSlopesRight.push_back (std::make_pair (322, -20.0)); // Inner band right (
stop) |
508 maskSlopesRight.push_back (std::make_pair (514, -20.0)); // Inner band right (
stop) | 499 maskSlopesRight.push_back (std::make_pair (323, -20.0)); // Flat junction band
right (start) |
509 maskSlopesRight.push_back (std::make_pair (515, -20.0)); // Flat junction band
right (start) | 500 maskSlopesRight.push_back (std::make_pair (323, -20.0)); // Flat junction band
right (stop) |
510 maskSlopesRight.push_back (std::make_pair (515, -20.0)); // Flat junction band
right (stop) | 501 maskSlopesRight.push_back (std::make_pair (324, -20.064)); // Middle band righ
t (start) |
511 maskSlopesRight.push_back (std::make_pair (516, -20.064)); // Middle band righ
t (start) | 502 maskSlopesRight.push_back (std::make_pair (384, -23.904)); // Middle band righ
t (stop) -> truncated |
512 maskSlopesRight.push_back (std::make_pair (640, -28.000)); // Middle band righ
t (stop) | |
513 maskSlopesRight.push_back (std::make_pair (641, -28.094)); // Outer band right
(start) | |
514 maskSlopesRight.push_back (std::make_pair (768, -40.0)); // Outer band right (
stop) | |
515 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 80MHz", WIFI_PHY_STANDARD_8
0211ac, 80, | 503 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 80MHz", WIFI_PHY_STANDARD_8
0211ac, 80, |
516 maskSlopesLeft, maskSlopesRight,
tol), | 504 maskSlopesLeft, maskSlopesRight,
tol), |
517 TestCase::QUICK); | 505 TestCase::QUICK); |
518 | 506 |
519 // 11ac 20MHz | 507 // 11ac 20MHz |
520 NS_LOG_FUNCTION ("Check slopes for 11ac 160MHz"); | 508 NS_LOG_FUNCTION ("Check slopes for 11ac 160MHz"); |
521 maskSlopesLeft.clear (); | 509 maskSlopesLeft.clear (); |
522 maskSlopesRight.clear (); | 510 maskSlopesRight.clear (); |
523 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 511 // Outer band left+right is out of considered truncated mask |
524 maskSlopesLeft.push_back (std::make_pair (255, -28.047)); // Outer band left (
stop) | 512 maskSlopesLeft.push_back (std::make_pair (0, -21.929)); // Middle band left (s
tart) -> truncated |
525 maskSlopesLeft.push_back (std::make_pair (256, -28.000)); // Middle band left
(start) | 513 maskSlopesLeft.push_back (std::make_pair (60, -20.032)); // Middle band left (
stop) |
526 maskSlopesLeft.push_back (std::make_pair (508, -20.032)); // Middle band left
(stop) | 514 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (start) |
527 maskSlopesLeft.push_back (std::make_pair (509, -20.0)); // Flat junction band
left (start) | 515 maskSlopesLeft.push_back (std::make_pair (61, -20.0)); // Flat junction band l
eft (stop) |
528 maskSlopesLeft.push_back (std::make_pair (509, -20.0)); // Flat junction band
left (stop) | 516 maskSlopesLeft.push_back (std::make_pair (62, -20.0)); // Inner band left (sta
rt) |
529 maskSlopesLeft.push_back (std::make_pair (510, -20.0)); // Inner band left (st
art) | 517 maskSlopesLeft.push_back (std::make_pair (67, -3.333)); // Inner band left (st
op) |
530 maskSlopesLeft.push_back (std::make_pair (515, -3.333)); // Inner band left (s
top) | 518 maskSlopesRight.push_back (std::make_pair (573, -3.333)); // Inner band right
(start) |
531 maskSlopesRight.push_back (std::make_pair (1021, -3.333)); // Inner band right
(start) | 519 maskSlopesRight.push_back (std::make_pair (578, -20.0)); // Inner band right (
stop) |
532 maskSlopesRight.push_back (std::make_pair (1026, -20.0)); // Inner band right
(stop) | 520 maskSlopesRight.push_back (std::make_pair (579, -20.0)); // Flat junction band
right (start) |
533 maskSlopesRight.push_back (std::make_pair (1027, -20.0)); // Flat junction ban
d right (start) | 521 maskSlopesRight.push_back (std::make_pair (579, -20.0)); // Flat junction band
right (stop) |
534 maskSlopesRight.push_back (std::make_pair (1027, -20.0)); // Flat junction ban
d right (stop) | 522 maskSlopesRight.push_back (std::make_pair (580, -20.032)); // Middle band righ
t (start) |
535 maskSlopesRight.push_back (std::make_pair (1028, -20.032)); // Middle band rig
ht (start) | 523 maskSlopesRight.push_back (std::make_pair (640, -21.929)); // Middle band righ
t (stop) -> truncated |
536 maskSlopesRight.push_back (std::make_pair (1280, -28.000)); // Middle band rig
ht (stop) | |
537 maskSlopesRight.push_back (std::make_pair (1281, -28.047)); // Outer band righ
t (start) | |
538 maskSlopesRight.push_back (std::make_pair (1536, -40.0)); // Outer band right
(stop) | |
539 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 160MHz", WIFI_PHY_STANDARD_
80211ac, 160, | 524 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ac 160MHz", WIFI_PHY_STANDARD_
80211ac, 160, |
540 maskSlopesLeft, maskSlopesRight,
tol), | 525 maskSlopesLeft, maskSlopesRight,
tol), |
541 TestCase::QUICK); | 526 TestCase::QUICK); |
542 | 527 |
543 | 528 |
544 // ===========================================================================
================= | 529 // ===========================================================================
================= |
545 // 11ax 20MHz @ 2.4GHz | 530 // 11ax 20MHz @ 2.4GHz |
546 NS_LOG_FUNCTION ("Check slopes for 11ax 20MHz @ 2.4GHz "); | 531 NS_LOG_FUNCTION ("Check slopes for 11ax 20MHz @ 2.4GHz "); |
547 maskSlopesLeft.clear (); | 532 maskSlopesLeft.clear (); |
548 maskSlopesRight.clear (); | 533 maskSlopesRight.clear (); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 maskSlopesRight.push_back (std::make_pair (641, -28.094)); // Outer band right
(start) | 572 maskSlopesRight.push_back (std::make_pair (641, -28.094)); // Outer band right
(start) |
588 maskSlopesRight.push_back (std::make_pair (768, -40.0)); // Outer band right (
stop) | 573 maskSlopesRight.push_back (std::make_pair (768, -40.0)); // Outer band right (
stop) |
589 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 20MHz", WIFI_PHY_STAND
ARD_80211ax_5GHZ, 20, | 574 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 20MHz", WIFI_PHY_STAND
ARD_80211ax_5GHZ, 20, |
590 maskSlopesLeft, maskSlopesRight,
tol), | 575 maskSlopesLeft, maskSlopesRight,
tol), |
591 TestCase::QUICK); | 576 TestCase::QUICK); |
592 | 577 |
593 // 11ax 40MHz @ 2.4GHz | 578 // 11ax 40MHz @ 2.4GHz |
594 NS_LOG_FUNCTION ("Check slopes for 11ax 40MHz @ 2.4GHz "); | 579 NS_LOG_FUNCTION ("Check slopes for 11ax 40MHz @ 2.4GHz "); |
595 maskSlopesLeft.clear (); | 580 maskSlopesLeft.clear (); |
596 maskSlopesRight.clear (); | 581 maskSlopesRight.clear (); |
597 maskSlopesLeft.push_back (std::make_pair (0, -45.000)); // Outer band left (st
art) | 582 // Outer band left+right is out of considered truncated mask |
598 maskSlopesLeft.push_back (std::make_pair (255, -28.066)); // Outer band left (
stop) | 583 maskSlopesLeft.push_back (std::make_pair (0, -28.000)); // Middle band left (s
tart) |
599 maskSlopesLeft.push_back (std::make_pair (256, -28.000)); // Middle band left
(start) | 584 maskSlopesLeft.push_back (std::make_pair (249, -20.032)); // Middle band left
(stop) |
600 maskSlopesLeft.push_back (std::make_pair (505, -20.032)); // Middle band left
(stop) | 585 maskSlopesLeft.push_back (std::make_pair (250, -20.0)); // Flat junction band
left (start) |
601 maskSlopesLeft.push_back (std::make_pair (506, -20.0)); // Flat junction band
left (start) | 586 maskSlopesLeft.push_back (std::make_pair (254, -20.0)); // Flat junction band
left (stop) |
602 maskSlopesLeft.push_back (std::make_pair (510, -20.0)); // Flat junction band
left (stop) | 587 maskSlopesLeft.push_back (std::make_pair (255, -20.0)); // Inner band left (st
art) |
603 maskSlopesLeft.push_back (std::make_pair (511, -20.0)); // Inner band left (st
art) | 588 maskSlopesLeft.push_back (std::make_pair (267, -1.538)); // Inner band left (s
top) |
604 maskSlopesLeft.push_back (std::make_pair (523, -1.538)); // Inner band left (s
top) | 589 maskSlopesRight.push_back (std::make_pair (757, -1.538)); // Inner band right
(start) |
605 maskSlopesRight.push_back (std::make_pair (1013, -1.538)); // Inner band right
(start) | 590 maskSlopesRight.push_back (std::make_pair (769, -20.0)); // Inner band right (
stop) |
606 maskSlopesRight.push_back (std::make_pair (1025, -20.0)); // Inner band right
(stop) | 591 maskSlopesRight.push_back (std::make_pair (770, -20.0)); // Flat junction band
right (start) |
607 maskSlopesRight.push_back (std::make_pair (1026, -20.0)); // Flat junction ban
d right (start) | 592 maskSlopesRight.push_back (std::make_pair (774, -20.0)); // Flat junction band
right (stop) |
608 maskSlopesRight.push_back (std::make_pair (1030, -20.0)); // Flat junction ban
d right (stop) | 593 maskSlopesRight.push_back (std::make_pair (775, -20.032)); // Middle band righ
t (start) |
609 maskSlopesRight.push_back (std::make_pair (1031, -20.032)); // Middle band rig
ht (start) | 594 maskSlopesRight.push_back (std::make_pair (1024, -28.000)); // Middle band rig
ht (stop) |
610 maskSlopesRight.push_back (std::make_pair (1280, -28.000)); // Middle band rig
ht (stop) | |
611 maskSlopesRight.push_back (std::make_pair (1281, -28.066)); // Outer band righ
t (start) | |
612 maskSlopesRight.push_back (std::make_pair (1536, -45.000)); // Outer band righ
t (stop) | |
613 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_2.4GHz 40MHz", WIFI_PHY_STA
NDARD_80211ax_2_4GHZ, 40, | 595 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_2.4GHz 40MHz", WIFI_PHY_STA
NDARD_80211ax_2_4GHZ, 40, |
614 maskSlopesLeft, maskSlopesRight,
tol), | 596 maskSlopesLeft, maskSlopesRight,
tol), |
615 TestCase::QUICK); | 597 TestCase::QUICK); |
616 | 598 |
617 // 11ax 40MHz @ 5GHz | 599 // 11ax 40MHz @ 5GHz |
618 NS_LOG_FUNCTION ("Check slopes for 11ax 40MHz @ 5GHz"); | 600 NS_LOG_FUNCTION ("Check slopes for 11ax 40MHz @ 5GHz"); |
619 maskSlopesLeft.clear (); | 601 maskSlopesLeft.clear (); |
620 maskSlopesRight.clear (); | 602 maskSlopesRight.clear (); |
621 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 603 // Outer band left+right is out of considered truncated mask |
622 maskSlopesLeft.push_back (std::make_pair (255, -28.047)); // Outer band left (
stop) | 604 maskSlopesLeft.push_back (std::make_pair (0, -28.000)); // Middle band left (s
tart) |
623 maskSlopesLeft.push_back (std::make_pair (256, -28.000)); // Middle band left
(start) | 605 maskSlopesLeft.push_back (std::make_pair (249, -20.032)); // Middle band left
(stop) |
624 maskSlopesLeft.push_back (std::make_pair (505, -20.032)); // Middle band left
(stop) | 606 maskSlopesLeft.push_back (std::make_pair (250, -20.0)); // Flat junction band
left (start) |
625 maskSlopesLeft.push_back (std::make_pair (506, -20.0)); // Flat junction band
left (start) | 607 maskSlopesLeft.push_back (std::make_pair (254, -20.0)); // Flat junction band
left (stop) |
626 maskSlopesLeft.push_back (std::make_pair (510, -20.0)); // Flat junction band
left (stop) | 608 maskSlopesLeft.push_back (std::make_pair (255, -20.0)); // Inner band left (st
art) |
627 maskSlopesLeft.push_back (std::make_pair (511, -20.0)); // Inner band left (st
art) | 609 maskSlopesLeft.push_back (std::make_pair (267, -1.538)); // Inner band left (s
top) |
628 maskSlopesLeft.push_back (std::make_pair (523, -1.538)); // Inner band left (s
top) | 610 maskSlopesRight.push_back (std::make_pair (757, -1.538)); // Inner band right
(start) |
629 maskSlopesRight.push_back (std::make_pair (1013, -1.538)); // Inner band right
(start) | 611 maskSlopesRight.push_back (std::make_pair (769, -20.0)); // Inner band right (
stop) |
630 maskSlopesRight.push_back (std::make_pair (1025, -20.0)); // Inner band right
(stop) | 612 maskSlopesRight.push_back (std::make_pair (770, -20.0)); // Flat junction band
right (start) |
631 maskSlopesRight.push_back (std::make_pair (1026, -20.0)); // Flat junction ban
d right (start) | 613 maskSlopesRight.push_back (std::make_pair (774, -20.0)); // Flat junction band
right (stop) |
632 maskSlopesRight.push_back (std::make_pair (1030, -20.0)); // Flat junction ban
d right (stop) | 614 maskSlopesRight.push_back (std::make_pair (775, -20.032)); // Middle band righ
t (start) |
633 maskSlopesRight.push_back (std::make_pair (1031, -20.032)); // Middle band rig
ht (start) | 615 maskSlopesRight.push_back (std::make_pair (1024, -28.000)); // Middle band rig
ht (stop) |
634 maskSlopesRight.push_back (std::make_pair (1280, -28.000)); // Middle band rig
ht (stop) | |
635 maskSlopesRight.push_back (std::make_pair (1281, -28.047)); // Outer band righ
t (start) | |
636 maskSlopesRight.push_back (std::make_pair (1536, -40.0)); // Outer band right
(stop) | |
637 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 40MHz", WIFI_PHY_STAND
ARD_80211ax_5GHZ, 40, | 616 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 40MHz", WIFI_PHY_STAND
ARD_80211ax_5GHZ, 40, |
638 maskSlopesLeft, maskSlopesRight,
tol), | 617 maskSlopesLeft, maskSlopesRight,
tol), |
639 TestCase::QUICK); | 618 TestCase::QUICK); |
640 | 619 |
641 // 11ax 80MHz @ 2.4GHz | 620 // 11ax 80MHz @ 2.4GHz |
642 NS_LOG_FUNCTION ("Check slopes for 11ax 80MHz @ 2.4GHz "); | 621 NS_LOG_FUNCTION ("Check slopes for 11ax 80MHz @ 2.4GHz "); |
643 maskSlopesLeft.clear (); | 622 maskSlopesLeft.clear (); |
644 maskSlopesRight.clear (); | 623 maskSlopesRight.clear (); |
645 maskSlopesLeft.push_back (std::make_pair (0, -45.000)); // Outer band left (st
art) | 624 // Outer band left+right is out of considered truncated mask |
646 maskSlopesLeft.push_back (std::make_pair (511, -28.033)); // Outer band left (
stop) | 625 maskSlopesLeft.push_back (std::make_pair (0, -23.953)); // Middle band left (s
tart) -> truncated |
647 maskSlopesLeft.push_back (std::make_pair (512, -28.000)); // Middle band left
(start) | 626 maskSlopesLeft.push_back (std::make_pair (249, -20.016)); // Middle band left
(stop) |
648 maskSlopesLeft.push_back (std::make_pair (1017, -20.016)); // Middle band left
(stop) | 627 maskSlopesLeft.push_back (std::make_pair (250, -20.0)); // Flat junction band
left (start) |
649 maskSlopesLeft.push_back (std::make_pair (1018, -20.0)); // Flat junction band
left (start) | 628 maskSlopesLeft.push_back (std::make_pair (254, -20.0)); // Flat junction band
left (stop) |
650 maskSlopesLeft.push_back (std::make_pair (1022, -20.0)); // Flat junction band
left (stop) | 629 maskSlopesLeft.push_back (std::make_pair (255, -20.0)); // Inner band left (st
art) |
651 maskSlopesLeft.push_back (std::make_pair (1023, -20.0)); // Inner band left (s
tart) | 630 maskSlopesLeft.push_back (std::make_pair (267, -1.538)); // Inner band left (s
top) |
652 maskSlopesLeft.push_back (std::make_pair (1035, -1.538)); // Inner band left (
stop) | 631 maskSlopesRight.push_back (std::make_pair (1269, -1.538)); // Inner band right
(start) |
653 maskSlopesRight.push_back (std::make_pair (2037, -1.538)); // Inner band right
(start) | 632 maskSlopesRight.push_back (std::make_pair (1281, -20.0)); // Inner band right
(stop) |
654 maskSlopesRight.push_back (std::make_pair (2049, -20.0)); // Inner band right
(stop) | 633 maskSlopesRight.push_back (std::make_pair (1282, -20.0)); // Flat junction ban
d right (start) |
655 maskSlopesRight.push_back (std::make_pair (2050, -20.0)); // Flat junction ban
d right (start) | 634 maskSlopesRight.push_back (std::make_pair (1286, -20.0)); // Flat junction ban
d right (stop) |
656 maskSlopesRight.push_back (std::make_pair (2054, -20.0)); // Flat junction ban
d right (stop) | 635 maskSlopesRight.push_back (std::make_pair (1287, -20.016)); // Middle band rig
ht (start) |
657 maskSlopesRight.push_back (std::make_pair (2055, -20.016)); // Middle band rig
ht (start) | 636 maskSlopesRight.push_back (std::make_pair (1536, -23.953)); // Middle band rig
ht (stop) -> truncated |
658 maskSlopesRight.push_back (std::make_pair (2560, -28.000)); // Middle band rig
ht (stop) | |
659 maskSlopesRight.push_back (std::make_pair (2561, -28.033)); // Outer band righ
t (start) | |
660 maskSlopesRight.push_back (std::make_pair (3072, -45.000)); // Outer band righ
t (stop) | |
661 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_2.4GHz 80MHz", WIFI_PHY_STA
NDARD_80211ax_2_4GHZ, 80, | 637 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_2.4GHz 80MHz", WIFI_PHY_STA
NDARD_80211ax_2_4GHZ, 80, |
662 maskSlopesLeft, maskSlopesRight,
tol), | 638 maskSlopesLeft, maskSlopesRight,
tol), |
663 TestCase::QUICK); | 639 TestCase::QUICK); |
664 | 640 |
665 // 11ax 80MHz @ 5GHz | 641 // 11ax 80MHz @ 5GHz |
666 NS_LOG_FUNCTION ("Check slopes for 11ax 80MHz @ 5GHz"); | 642 NS_LOG_FUNCTION ("Check slopes for 11ax 80MHz @ 5GHz"); |
667 maskSlopesLeft.clear (); | 643 maskSlopesLeft.clear (); |
668 maskSlopesRight.clear (); | 644 maskSlopesRight.clear (); |
669 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 645 // Outer band left+right is out of considered truncated mask |
670 maskSlopesLeft.push_back (std::make_pair (511, -28.023)); // Outer band left (
stop) | 646 maskSlopesLeft.push_back (std::make_pair (0, -23.953)); // Middle band left (s
tart) -> truncated |
671 maskSlopesLeft.push_back (std::make_pair (512, -28.000)); // Middle band left
(start) | 647 maskSlopesLeft.push_back (std::make_pair (249, -20.016)); // Middle band left
(stop) |
672 maskSlopesLeft.push_back (std::make_pair (1017, -20.016)); // Middle band left
(stop) | 648 maskSlopesLeft.push_back (std::make_pair (250, -20.0)); // Flat junction band
left (start) |
673 maskSlopesLeft.push_back (std::make_pair (1018, -20.0)); // Flat junction band
left (start) | 649 maskSlopesLeft.push_back (std::make_pair (254, -20.0)); // Flat junction band
left (stop) |
674 maskSlopesLeft.push_back (std::make_pair (1022, -20.0)); // Flat junction band
left (stop) | 650 maskSlopesLeft.push_back (std::make_pair (255, -20.0)); // Inner band left (st
art) |
675 maskSlopesLeft.push_back (std::make_pair (1023, -20.0)); // Inner band left (s
tart) | 651 maskSlopesLeft.push_back (std::make_pair (267, -1.538)); // Inner band left (s
top) |
676 maskSlopesLeft.push_back (std::make_pair (1035, -1.538)); // Inner band left (
stop) | 652 maskSlopesRight.push_back (std::make_pair (1269, -1.538)); // Inner band right
(start) |
677 maskSlopesRight.push_back (std::make_pair (2037, -1.538)); // Inner band right
(start) | 653 maskSlopesRight.push_back (std::make_pair (1281, -20.0)); // Inner band right
(stop) |
678 maskSlopesRight.push_back (std::make_pair (2049, -20.0)); // Inner band right
(stop) | 654 maskSlopesRight.push_back (std::make_pair (1282, -20.0)); // Flat junction ban
d right (start) |
679 maskSlopesRight.push_back (std::make_pair (2050, -20.0)); // Flat junction ban
d right (start) | 655 maskSlopesRight.push_back (std::make_pair (1286, -20.0)); // Flat junction ban
d right (stop) |
680 maskSlopesRight.push_back (std::make_pair (2054, -20.0)); // Flat junction ban
d right (stop) | 656 maskSlopesRight.push_back (std::make_pair (1287, -20.016)); // Middle band rig
ht (start) |
681 maskSlopesRight.push_back (std::make_pair (2055, -20.016)); // Middle band rig
ht (start) | 657 maskSlopesRight.push_back (std::make_pair (1536, -23.953)); // Middle band rig
ht (stop) -> truncated |
682 maskSlopesRight.push_back (std::make_pair (2560, -28.000)); // Middle band rig
ht (stop) | |
683 maskSlopesRight.push_back (std::make_pair (2561, -28.023)); // Outer band righ
t (start) | |
684 maskSlopesRight.push_back (std::make_pair (3072, -40.0)); // Outer band right
(stop) | |
685 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 80MHz", WIFI_PHY_STAND
ARD_80211ax_5GHZ, 80, | 658 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 80MHz", WIFI_PHY_STAND
ARD_80211ax_5GHZ, 80, |
686 maskSlopesLeft, maskSlopesRight,
tol), | 659 maskSlopesLeft, maskSlopesRight,
tol), |
687 TestCase::QUICK); | 660 TestCase::QUICK); |
688 | 661 |
689 // 11ax 160MHz @ 2.4GHz -> not enough space so skip | 662 // 11ax 160MHz @ 2.4GHz -> not enough space so skip |
690 | 663 |
691 // 11ax 160MHz @ 5GHz | 664 // 11ax 160MHz @ 5GHz |
692 NS_LOG_FUNCTION ("Check slopes for 11ax 160MHz @ 5GHz"); | 665 NS_LOG_FUNCTION ("Check slopes for 11ax 160MHz @ 5GHz"); |
693 maskSlopesLeft.clear (); | 666 maskSlopesLeft.clear (); |
694 maskSlopesRight.clear (); | 667 maskSlopesRight.clear (); |
695 maskSlopesLeft.push_back (std::make_pair (0, -40.0)); // Outer band left (star
t) | 668 // Outer band left+right is out of considered truncated mask |
696 maskSlopesLeft.push_back (std::make_pair (1023, -28.012)); // Outer band left
(stop) | 669 maskSlopesLeft.push_back (std::make_pair (0, -21.965)); // Middle band left (s
tart) -> truncated |
697 maskSlopesLeft.push_back (std::make_pair (1024, -28.000)); // Middle band left
(start) | 670 maskSlopesLeft.push_back (std::make_pair (249, -20.008)); // Middle band left
(stop) |
698 maskSlopesLeft.push_back (std::make_pair (2041, -20.008)); // Middle band left
(stop) | 671 maskSlopesLeft.push_back (std::make_pair (250, -20.0)); // Flat junction band
left (start) |
699 maskSlopesLeft.push_back (std::make_pair (2042, -20.0)); // Flat junction band
left (start) | 672 maskSlopesLeft.push_back (std::make_pair (254, -20.0)); // Flat junction band
left (stop) |
700 maskSlopesLeft.push_back (std::make_pair (2046, -20.0)); // Flat junction band
left (stop) | 673 maskSlopesLeft.push_back (std::make_pair (255, -20.0)); // Inner band left (st
art) |
701 maskSlopesLeft.push_back (std::make_pair (2047, -20.0)); // Inner band left (s
tart) | 674 maskSlopesLeft.push_back (std::make_pair (267, -1.538)); // Inner band left (s
top) |
702 maskSlopesLeft.push_back (std::make_pair (2059, -1.538)); // Inner band left (
stop) | 675 maskSlopesRight.push_back (std::make_pair (2293, -1.538)); // Inner band right
(start) |
703 maskSlopesRight.push_back (std::make_pair (4085, -1.538)); // Inner band right
(start) | 676 maskSlopesRight.push_back (std::make_pair (2305, -20.0)); // Inner band right
(stop) |
704 maskSlopesRight.push_back (std::make_pair (4097, -20.0)); // Inner band right
(stop) | 677 maskSlopesRight.push_back (std::make_pair (2306, -20.0)); // Flat junction ban
d right (start) |
705 maskSlopesRight.push_back (std::make_pair (4098, -20.0)); // Flat junction ban
d right (start) | 678 maskSlopesRight.push_back (std::make_pair (2310, -20.0)); // Flat junction ban
d right (stop) |
706 maskSlopesRight.push_back (std::make_pair (4102, -20.0)); // Flat junction ban
d right (stop) | 679 maskSlopesRight.push_back (std::make_pair (2311, -20.008)); // Middle band rig
ht (start) |
707 maskSlopesRight.push_back (std::make_pair (4103, -20.008)); // Middle band rig
ht (start) | 680 maskSlopesRight.push_back (std::make_pair (2560, -21.965)); // Middle band rig
ht (stop) -> truncated |
708 maskSlopesRight.push_back (std::make_pair (5120, -28.000)); // Middle band rig
ht (stop) | |
709 maskSlopesRight.push_back (std::make_pair (5121, -28.012)); // Outer band righ
t (start) | |
710 maskSlopesRight.push_back (std::make_pair (6144, -40.0)); // Outer band right
(stop) | |
711 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 160MHz", WIFI_PHY_STAN
DARD_80211ax_5GHZ, 160, | 681 AddTestCase (new WifiOfdmMaskSlopesTestCase ("11ax_5GHz 160MHz", WIFI_PHY_STAN
DARD_80211ax_5GHZ, 160, |
712 maskSlopesLeft, maskSlopesRight,
tol), | 682 maskSlopesLeft, maskSlopesRight,
tol), |
713 TestCase::QUICK); | 683 TestCase::QUICK); |
714 | 684 |
715 } | 685 } |
LEFT | RIGHT |