author | Peter D. Barnes, Jr. <barnes26@llnl.gov> |
Fri, 26 Sep 2014 15:51:00 -0700 | |
changeset 10968 | 2d29fee2b7b8 |
parent 10680 | ace43d9baa17 |
child 10983 | 087597a150da |
permissions | -rw-r--r-- |
7385
10beb0e53130
standardize emacs c++ mode comments
Vedran Miletić <rivanvx@gmail.com>
parents:
6852
diff
changeset
|
1 |
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
6705 | 2 |
/* |
3 |
* Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari |
|
4 |
* |
|
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 |
|
7 |
* published by the Free Software Foundation; |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
15 |
* along with this program; if not, write to the Free Software |
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
17 |
* |
|
7886 | 18 |
* Original Author: Giuseppe Piro <g.piro@poliba.it> |
19 |
* Modified by: Marco Miozzo <mmiozzo@cttc.es> |
|
20 |
* Nicola Baldo <nbaldo@cttc.es> |
|
6705 | 21 |
*/ |
22 |
||
23 |
||
8515
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
24 |
#include <ns3/lte-amc.h> |
6705 | 25 |
#include <ns3/log.h> |
7886 | 26 |
#include <ns3/assert.h> |
9063
32755d0516f4
Bug 1237 - code cleanups related to includes
Vedran Miletić <rivanvx@gmail.com>
parents:
8781
diff
changeset
|
27 |
#include <ns3/math.h> |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
28 |
#include <vector> |
7886 | 29 |
#include <ns3/spectrum-value.h> |
8515
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
30 |
#include <ns3/double.h> |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
31 |
#include "ns3/enum.h" |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
32 |
#include <ns3/lte-mi-error-model.h> |
6705 | 33 |
|
7485
9bec9af5e3c8
make ns-3 compile on FreeBSD-8.2
Colin Perkins <csp@csperkins.org>
parents:
7385
diff
changeset
|
34 |
|
10968
2d29fee2b7b8
[Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10680
diff
changeset
|
35 |
namespace ns3 { |
6705 | 36 |
|
10968
2d29fee2b7b8
[Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10680
diff
changeset
|
37 |
NS_LOG_COMPONENT_DEFINE ("LteAmc"); |
6705 | 38 |
|
10652
dc18deba4502
[doxygen] Revert r10410, r10411, r10412
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
10410
diff
changeset
|
39 |
NS_OBJECT_ENSURE_REGISTERED (LteAmc); |
6705 | 40 |
|
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
41 |
// from 3GPP R1-081483 "Conveying MCS and TB size via PDCCH" |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
42 |
// file TBS_support.xls |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
43 |
// tab "MCS table" (rounded to 2 decimal digits) |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
44 |
// the index in the vector (0-15) identifies the CQI value |
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
45 |
static const double SpectralEfficiencyForCqi[16] = { |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
46 |
0.0, // out of range |
6705 | 47 |
0.15, 0.23, 0.38, 0.6, 0.88, 1.18, |
48 |
1.48, 1.91, 2.41, |
|
49 |
2.73, 3.32, 3.9, 4.52, 5.12, 5.55 |
|
50 |
}; |
|
51 |
||
52 |
||
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
53 |
#if 0 // currently unused |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
54 |
// Table 7.1.7.1-1 of 3GPP TS 36.213 v8.8.0 |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
55 |
// the index in the vector (range 0-31; valid values 0-28) identifies the MCS index |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
56 |
// note that this is similar to the one in R1-081483 but: |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
57 |
// 1) a few values are different |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
58 |
// 2) in R1-081483, a valid MCS index is in the range 1-30 (not 0-28) |
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
59 |
static const int ModulationSchemeForMcs[32] = { |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
60 |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
6705 | 61 |
4, 4, 4, 4, 4, 4, 4, |
7886 | 62 |
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
63 |
2, // reserved |
|
64 |
4, // reserved |
|
65 |
6, // reserved |
|
6705 | 66 |
}; |
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
67 |
#endif |
6705 | 68 |
|
7886 | 69 |
|
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
70 |
// from 3GPP R1-081483 "Conveying MCS and TB size via PDCCH" |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
71 |
// file TBS_support.xls |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
72 |
// tab "MCS table" (rounded to 2 decimal digits) |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
73 |
// the index in the table corresponds to the MCS index according to the convention in TS 36.213 |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
74 |
// (i.e., the MCS index reported in R1-081483 minus one) |
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
75 |
static const double SpectralEfficiencyForMcs[32] = { |
6705 | 76 |
0.15, 0.19, 0.23, 0.31, 0.38, 0.49, 0.6, 0.74, 0.88, 1.03, 1.18, |
77 |
1.33, 1.48, 1.7, 1.91, 2.16, 2.41, 2.57, |
|
78 |
2.73, 3.03, 3.32, 3.61, 3.9, 4.21, 4.52, 4.82, 5.12, 5.33, 5.55, |
|
7886 | 79 |
0, 0, 0 |
6705 | 80 |
}; |
81 |
||
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
82 |
// Table 7.1.7.1-1 of 3GPP TS 36.213 v8.8.0 |
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
83 |
static const int McsToItbs[29] = { |
7886 | 84 |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 15, 16, 17, 18, |
85 |
19, 20, 21, 22, 23, 24, 25, 26 |
|
86 |
}; |
|
6705 | 87 |
|
88 |
||
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
8120
diff
changeset
|
89 |
// 3GPP TS 36.213 v8.8.0 Table 7.1.7.2.1-1: Transport block size table (dimension 27×110) |
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
8120
diff
changeset
|
90 |
// for NPRB = 1 and Itbs = 6 the stadard returns 328, but it not consisent with the |
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
8120
diff
changeset
|
91 |
// other values, therefore we used 88 obtained following the sequence of NPRB = 1 values |
10680
ace43d9baa17
make various implementation-specific tables static const.
Andrey Mazo <ahippo@yandex.com>
parents:
10652
diff
changeset
|
92 |
static const int TransportBlockSizeTable [110][27] = { |
6705 | 93 |
|
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
8120
diff
changeset
|
94 |
/* NPRB 001*/ |
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
8120
diff
changeset
|
95 |
{ 16, 24, 32, 40, 56, 72, 88, 104, 120, 136, 144, 176, 208, 224, 256, 280, 328, 336, 376, 408, 440, 488, 520, 552, 584, 616, 712}, |
7886 | 96 |
/* NPRB 002*/ { 32, 56, 72, 104, 120, 144, 176, 224, 256, 296, 328, 376, 440, 488, 552, 600, 632, 696, 776, 840, 904, 1000, 1064, 1128, 1192, 1256, 1480}, |
97 |
/* NPRB 003*/ { 56, 88, 144, 176, 208, 224, 256, 328, 392, 456, 504, 584, 680, 744, 840, 904, 968, 1064, 1160, 1288, 1384, 1480, 1608, 1736, 1800, 1864, 2216}, |
|
98 |
/* NPRB 004*/ { 88, 144, 176, 208, 256, 328, 392, 472, 536, 616, 680, 776, 904, 1000, 1128, 1224, 1288, 1416, 1544, 1736, 1864, 1992, 2152, 2280, 2408, 2536, 2984}, |
|
99 |
/* NPRB 005*/ { 120, 176, 208, 256, 328, 424, 504, 584, 680, 776, 872, 1000, 1128, 1256, 1416, 1544, 1608, 1800, 1992, 2152, 2344, 2472, 2664, 2856, 2984, 3112, 3752}, |
|
100 |
/* NPRB 006*/ { 152, 208, 256, 328, 408, 504, 600, 712, 808, 936, 1032, 1192, 1352, 1544, 1736, 1800, 1928, 2152, 2344, 2600, 2792, 2984, 3240, 3496, 3624, 3752, 4392}, |
|
101 |
/* NPRB 007*/ { 176, 224, 296, 392, 488, 600, 712, 840, 968, 1096, 1224, 1384, 1608, 1800, 1992, 2152, 2280, 2536, 2792, 2984, 3240, 3496, 3752, 4008, 4264, 4392, 5160}, |
|
102 |
/* NPRB 008*/ { 208, 256, 328, 440, 552, 680, 808, 968, 1096, 1256, 1384, 1608, 1800, 2024, 2280, 2472, 2600, 2856, 3112, 3496, 3752, 4008, 4264, 4584, 4968, 5160, 5992}, |
|
103 |
/* NPRB 009*/ { 224, 328, 376, 504, 632, 776, 936, 1096, 1256, 1416, 1544, 1800, 2024, 2280, 2600, 2728, 2984, 3240, 3624, 3880, 4136, 4584, 4776, 5160, 5544, 5736, 6712}, |
|
104 |
/* NPRB 010*/ { 256, 344, 424, 568, 696, 872, 1032, 1224, 1384, 1544, 1736, 2024, 2280, 2536, 2856, 3112, 3240, 3624, 4008, 4264, 4584, 4968, 5352, 5736, 5992, 6200, 7480}, |
|
105 |
/* NPRB 011*/ { 288, 376, 472, 616, 776, 968, 1128, 1320, 1544, 1736, 1928, 2216, 2472, 2856, 3112, 3368, 3624, 4008, 4392, 4776, 5160, 5544, 5992, 6200, 6712, 6968, 8248}, |
|
106 |
/* NPRB 012*/ { 328, 424, 520, 680, 840, 1032, 1224, 1480, 1672, 1864, 2088, 2408, 2728, 3112, 3496, 3624, 3880, 4392, 4776, 5160, 5544, 5992, 6456, 6968, 7224, 7480, 8760}, |
|
107 |
/* NPRB 013*/ { 344, 456, 568, 744, 904, 1128, 1352, 1608, 1800, 2024, 2280, 2600, 2984, 3368, 3752, 4008, 4264, 4776, 5160, 5544, 5992, 6456, 6968, 7480, 7992, 8248, 9528}, |
|
108 |
/* NPRB 014*/ { 376, 488, 616, 808, 1000, 1224, 1480, 1672, 1928, 2216, 2472, 2792, 3240, 3624, 4008, 4264, 4584, 5160, 5544, 5992, 6456, 6968, 7480, 7992, 8504, 8760, 10296}, |
|
109 |
/* NPRB 015*/ { 392, 520, 648, 872, 1064, 1320, 1544, 1800, 2088, 2344, 2664, 2984, 3368, 3880, 4264, 4584, 4968, 5352, 5992, 6456, 6968, 7480, 7992, 8504, 9144, 9528, 11064}, |
|
110 |
/* NPRB 016*/ { 424, 568, 696, 904, 1128, 1384, 1672, 1928, 2216, 2536, 2792, 3240, 3624, 4136, 4584, 4968, 5160, 5736, 6200, 6968, 7480, 7992, 8504, 9144, 9912, 10296, 11832}, |
|
111 |
/* NPRB 017*/ { 456, 600, 744, 968, 1192, 1480, 1736, 2088, 2344, 2664, 2984, 3496, 3880, 4392, 4968, 5160, 5544, 6200, 6712, 7224, 7992, 8504, 9144, 9912, 10296, 10680, 12576}, |
|
112 |
/* NPRB 018*/ { 488, 632, 776, 1032, 1288, 1544, 1864, 2216, 2536, 2856, 3112, 3624, 4136, 4584, 5160, 5544, 5992, 6456, 7224, 7736, 8248, 9144, 9528, 10296, 11064, 11448, 13536}, |
|
113 |
/* NPRB 019*/ { 504, 680, 840, 1096, 1352, 1672, 1992, 2344, 2664, 2984, 3368, 3880, 4392, 4968, 5544, 5736, 6200, 6712, 7480, 8248, 8760, 9528, 10296, 11064, 11448, 12216, 14112}, |
|
114 |
/* NPRB 020*/ { 536, 712, 872, 1160, 1416, 1736, 2088, 2472, 2792, 3112, 3496, 4008, 4584, 5160, 5736, 6200, 6456, 7224, 7992, 8504, 9144, 9912, 10680, 11448, 12216, 12576, 14688}, |
|
115 |
/* NPRB 021*/ { 568, 744, 936, 1224, 1480, 1864, 2216, 2536, 2984, 3368, 3752, 4264, 4776, 5352, 5992, 6456, 6712, 7480, 8248, 9144, 9912, 10680, 11448, 12216, 12960, 13536, 15264}, |
|
116 |
/* NPRB 022*/ { 600, 776, 968, 1256, 1544, 1928, 2280, 2664, 3112, 3496, 3880, 4392, 4968, 5736, 6200, 6712, 7224, 7992, 8760, 9528, 10296, 11064, 11832, 12576, 13536, 14112, 16416}, |
|
117 |
/* NPRB 023*/ { 616, 808, 1000, 1320, 1608, 2024, 2408, 2792, 3240, 3624, 4008, 4584, 5352, 5992, 6456, 6968, 7480, 8248, 9144, 9912, 10680, 11448, 12576, 12960, 14112, 14688, 16992}, |
|
118 |
/* NPRB 024*/ { 648, 872, 1064, 1384, 1736, 2088, 2472, 2984, 3368, 3752, 4264, 4776, 5544, 6200, 6968, 7224, 7736, 8760, 9528, 10296, 11064, 12216, 12960, 13536, 14688, 15264, 17568}, |
|
119 |
/* NPRB 025*/ { 680, 904, 1096, 1416, 1800, 2216, 2600, 3112, 3496, 4008, 4392, 4968, 5736, 6456, 7224, 7736, 7992, 9144, 9912, 10680, 11448, 12576, 13536, 14112, 15264, 15840, 18336}, |
|
120 |
/* NPRB 026*/ { 712, 936, 1160, 1480, 1864, 2280, 2728, 3240, 3624, 4136, 4584, 5352, 5992, 6712, 7480, 7992, 8504, 9528, 10296, 11064, 12216, 12960, 14112, 14688, 15840, 16416, 19080}, |
|
121 |
/* NPRB 027*/ { 744, 968, 1192, 1544, 1928, 2344, 2792, 3368, 3752, 4264, 4776, 5544, 6200, 6968, 7736, 8248, 8760, 9912, 10680, 11448, 12576, 13536, 14688, 15264, 16416, 16992, 19848}, |
|
122 |
/* NPRB 028*/ { 776, 1000, 1256, 1608, 1992, 2472, 2984, 3368, 3880, 4392, 4968, 5736, 6456, 7224, 7992, 8504, 9144, 10296, 11064, 12216, 12960, 14112, 15264, 15840, 16992, 17568, 20616}, |
|
123 |
/* NPRB 029*/ { 776, 1032, 1288, 1672, 2088, 2536, 2984, 3496, 4008, 4584, 5160, 5992, 6712, 7480, 8248, 8760, 9528, 10296, 11448, 12576, 13536, 14688, 15840, 16416, 17568, 18336, 21384}, |
|
124 |
/* NPRB 030*/ { 808, 1064, 1320, 1736, 2152, 2664, 3112, 3624, 4264, 4776, 5352, 5992, 6712, 7736, 8504, 9144, 9912, 10680, 11832, 12960, 14112, 15264, 16416, 16992, 18336, 19080, 22152}, |
|
125 |
/* NPRB 031*/ { 840, 1128, 1384, 1800, 2216, 2728, 3240, 3752, 4392, 4968, 5544, 6200, 6968, 7992, 8760, 9528, 9912, 11064, 12216, 13536, 14688, 15840, 16992, 17568, 19080, 19848, 22920}, |
|
126 |
/* NPRB 032*/ { 872, 1160, 1416, 1864, 2280, 2792, 3368, 3880, 4584, 5160, 5736, 6456, 7224, 8248, 9144, 9912, 10296, 11448, 12576, 13536, 14688, 15840, 16992, 18336, 19848, 20616, 23688}, |
|
127 |
/* NPRB 033*/ { 904, 1192, 1480, 1928, 2344, 2856, 3496, 4008, 4584, 5160, 5736, 6712, 7480, 8504, 9528, 10296, 10680, 11832, 12960, 14112, 15264, 16416, 17568, 19080, 19848, 20616, 24496}, |
|
128 |
/* NPRB 034*/ { 936, 1224, 1544, 1992, 2408, 2984, 3496, 4136, 4776, 5352, 5992, 6968, 7736, 8760, 9912, 10296, 11064, 12216, 13536, 14688, 15840, 16992, 18336, 19848, 20616, 21384, 25456}, |
|
129 |
/* NPRB 035*/ { 968, 1256, 1544, 2024, 2472, 3112, 3624, 4264, 4968, 5544, 6200, 6968, 7992, 9144, 9912, 10680, 11448, 12576, 14112, 15264, 16416, 17568, 19080, 19848, 21384, 22152, 25456}, |
|
130 |
/* NPRB 036*/ { 1000, 1288, 1608, 2088, 2600, 3112, 3752, 4392, 4968, 5736, 6200, 7224, 8248, 9144, 10296, 11064, 11832, 12960, 14112, 15264, 16992, 18336, 19080, 20616, 22152, 22920, 26416}, |
|
131 |
/* NPRB 037*/ { 1032, 1352, 1672, 2152, 2664, 3240, 3880, 4584, 5160, 5736, 6456, 7480, 8504, 9528, 10680, 11448, 12216, 13536, 14688, 15840, 16992, 18336, 19848, 21384, 22920, 23688, 27376}, |
|
132 |
/* NPRB 038*/ { 1032, 1384, 1672, 2216, 2728, 3368, 4008, 4584, 5352, 5992, 6712, 7736, 8760, 9912, 11064, 11832, 12216, 13536, 15264, 16416, 17568, 19080, 20616, 22152, 22920, 24496, 28336}, |
|
133 |
/* NPRB 039*/ { 1064, 1416, 1736, 2280, 2792, 3496, 4136, 4776, 5544, 6200, 6712, 7736, 8760, 9912, 11064, 11832, 12576, 14112, 15264, 16992, 18336, 19848, 21384, 22152, 23688, 24496, 29296}, |
|
134 |
/* NPRB 040*/ { 1096, 1416, 1800, 2344, 2856, 3496, 4136, 4968, 5544, 6200, 6968, 7992, 9144, 10296, 11448, 12216, 12960, 14688, 15840, 16992, 18336, 19848, 21384, 22920, 24496, 25456, 29296}, |
|
135 |
/* NPRB 041*/ { 1128, 1480, 1800, 2408, 2984, 3624, 4264, 4968, 5736, 6456, 7224, 8248, 9528, 10680, 11832, 12576, 13536, 14688, 16416, 17568, 19080, 20616, 22152, 23688, 25456, 26416, 30576}, |
|
136 |
/* NPRB 042*/ { 1160, 1544, 1864, 2472, 2984, 3752, 4392, 5160, 5992, 6712, 7480, 8504, 9528, 10680, 12216, 12960, 13536, 15264, 16416, 18336, 19848, 21384, 22920, 24496, 25456, 26416, 30576}, |
|
137 |
/* NPRB 043*/ { 1192, 1544, 1928, 2536, 3112, 3752, 4584, 5352, 5992, 6712, 7480, 8760, 9912, 11064, 12216, 12960, 14112, 15264, 16992, 18336, 19848, 21384, 22920, 24496, 26416, 27376, 31704}, |
|
138 |
/* NPRB 044*/ { 1224, 1608, 1992, 2536, 3112, 3880, 4584, 5352, 6200, 6968, 7736, 8760, 9912, 11448, 12576, 13536, 14112, 15840, 17568, 19080, 20616, 22152, 23688, 25456, 26416, 28336, 32856}, |
|
139 |
/* NPRB 045*/ { 1256, 1608, 2024, 2600, 3240, 4008, 4776, 5544, 6200, 6968, 7992, 9144, 10296, 11448, 12960, 13536, 14688, 16416, 17568, 19080, 20616, 22920, 24496, 25456, 27376, 28336, 32856}, |
|
140 |
/* NPRB 046*/ { 1256, 1672, 2088, 2664, 3240, 4008, 4776, 5736, 6456, 7224, 7992, 9144, 10680, 11832, 12960, 14112, 14688, 16416, 18336, 19848, 21384, 22920, 24496, 26416, 28336, 29296, 34008}, |
|
141 |
/* NPRB 047*/ { 1288, 1736, 2088, 2728, 3368, 4136, 4968, 5736, 6456, 7480, 8248, 9528, 10680, 12216, 13536, 14688, 15264, 16992, 18336, 20616, 22152, 23688, 25456, 27376, 28336, 29296, 35160}, |
|
142 |
/* NPRB 048*/ { 1320, 1736, 2152, 2792, 3496, 4264, 4968, 5992, 6712, 7480, 8504, 9528, 11064, 12216, 13536, 14688, 15840, 17568, 19080, 20616, 22152, 24496, 25456, 27376, 29296, 30576, 35160}, |
|
143 |
/* NPRB 049*/ { 1352, 1800, 2216, 2856, 3496, 4392, 5160, 5992, 6968, 7736, 8504, 9912, 11064, 12576, 14112, 15264, 15840, 17568, 19080, 21384, 22920, 24496, 26416, 28336, 29296, 31704, 36696}, |
|
144 |
/* NPRB 050*/ { 1384, 1800, 2216, 2856, 3624, 4392, 5160, 6200, 6968, 7992, 8760, 9912, 11448, 12960, 14112, 15264, 16416, 18336, 19848, 21384, 22920, 25456, 27376, 28336, 30576, 31704, 36696}, |
|
145 |
/* NPRB 051*/ { 1416, 1864, 2280, 2984, 3624, 4584, 5352, 6200, 7224, 7992, 9144, 10296, 11832, 12960, 14688, 15840, 16416, 18336, 19848, 22152, 23688, 25456, 27376, 29296, 31704, 32856, 37888}, |
|
146 |
/* NPRB 052*/ { 1416, 1864, 2344, 2984, 3752, 4584, 5352, 6456, 7224, 8248, 9144, 10680, 11832, 13536, 14688, 15840, 16992, 19080, 20616, 22152, 24496, 26416, 28336, 29296, 31704, 32856, 37888}, |
|
147 |
/* NPRB 053*/ { 1480, 1928, 2344, 3112, 3752, 4776, 5544, 6456, 7480, 8248, 9144, 10680, 12216, 13536, 15264, 16416, 16992, 19080, 21384, 22920, 24496, 26416, 28336, 30576, 32856, 34008, 39232}, |
|
148 |
/* NPRB 054*/ { 1480, 1992, 2408, 3112, 3880, 4776, 5736, 6712, 7480, 8504, 9528, 11064, 12216, 14112, 15264, 16416, 17568, 19848, 21384, 22920, 25456, 27376, 29296, 30576, 32856, 34008, 40576}, |
|
149 |
/* NPRB 055*/ { 1544, 1992, 2472, 3240, 4008, 4776, 5736, 6712, 7736, 8760, 9528, 11064, 12576, 14112, 15840, 16992, 17568, 19848, 22152, 23688, 25456, 27376, 29296, 31704, 34008, 35160, 40576}, |
|
150 |
/* NPRB 056*/ { 1544, 2024, 2536, 3240, 4008, 4968, 5992, 6712, 7736, 8760, 9912, 11448, 12576, 14688, 15840, 16992, 18336, 20616, 22152, 24496, 26416, 28336, 30576, 31704, 34008, 35160, 40576}, |
|
151 |
/* NPRB 057*/ { 1608, 2088, 2536, 3368, 4136, 4968, 5992, 6968, 7992, 9144, 9912, 11448, 12960, 14688, 16416, 17568, 18336, 20616, 22920, 24496, 26416, 28336, 30576, 32856, 35160, 36696, 42368}, |
|
152 |
/* NPRB 058*/ { 1608, 2088, 2600, 3368, 4136, 5160, 5992, 6968, 7992, 9144, 10296, 11832, 12960, 14688, 16416, 17568, 19080, 20616, 22920, 25456, 27376, 29296, 31704, 32856, 35160, 36696, 42368}, |
|
153 |
/* NPRB 059*/ { 1608, 2152, 2664, 3496, 4264, 5160, 6200, 7224, 8248, 9144, 10296, 11832, 13536, 15264, 16992, 18336, 19080, 21384, 23688, 25456, 27376, 29296, 31704, 34008, 36696, 37888, 43816}, |
|
154 |
/* NPRB 060*/ { 1672, 2152, 2664, 3496, 4264, 5352, 6200, 7224, 8504, 9528, 10680, 12216, 13536, 15264, 16992, 18336, 19848, 21384, 23688, 25456, 28336, 30576, 32856, 34008, 36696, 37888, 43816}, |
|
155 |
/* NPRB 061*/ { 1672, 2216, 2728, 3624, 4392, 5352, 6456, 7480, 8504, 9528, 10680, 12216, 14112, 15840, 17568, 18336, 19848, 22152, 24496, 26416, 28336, 30576, 32856, 35160, 36696, 39232, 45352}, |
|
156 |
/* NPRB 062*/ { 1736, 2280, 2792, 3624, 4392, 5544, 6456, 7480, 8760, 9912, 11064, 12576, 14112, 15840, 17568, 19080, 19848, 22152, 24496, 26416, 29296, 31704, 34008, 35160, 37888, 39232, 45352}, |
|
157 |
/* NPRB 063*/ { 1736, 2280, 2856, 3624, 4584, 5544, 6456, 7736, 8760, 9912, 11064, 12576, 14112, 16416, 18336, 19080, 20616, 22920, 24496, 27376, 29296, 31704, 34008, 36696, 37888, 40576, 46888}, |
|
158 |
/* NPRB 064*/ { 1800, 2344, 2856, 3752, 4584, 5736, 6712, 7736, 9144, 10296, 11448, 12960, 14688, 16416, 18336, 19848, 20616, 22920, 25456, 27376, 29296, 31704, 34008, 36696, 39232, 40576, 46888}, |
|
159 |
/* NPRB 065*/ { 1800, 2344, 2856, 3752, 4584, 5736, 6712, 7992, 9144, 10296, 11448, 12960, 14688, 16992, 18336, 19848, 21384, 23688, 25456, 28336, 30576, 32856, 35160, 37888, 39232, 40576, 48936}, |
|
160 |
/* NPRB 066*/ { 1800, 2408, 2984, 3880, 4776, 5736, 6968, 7992, 9144, 10296, 11448, 13536, 15264, 16992, 19080, 20616, 21384, 23688, 26416, 28336, 30576, 32856, 35160, 37888, 40576, 42368, 48936}, |
|
161 |
/* NPRB 067*/ { 1864, 2472, 2984, 3880, 4776, 5992, 6968, 8248, 9528, 10680, 11832, 13536, 15264, 16992, 19080, 20616, 22152, 24496, 26416, 29296, 31704, 34008, 36696, 37888, 40576, 42368, 48936}, |
|
162 |
/* NPRB 068*/ { 1864, 2472, 3112, 4008, 4968, 5992, 6968, 8248, 9528, 10680, 11832, 13536, 15264, 17568, 19848, 20616, 22152, 24496, 27376, 29296, 31704, 34008, 36696, 39232, 42368, 43816, 51024}, |
|
163 |
/* NPRB 069*/ { 1928, 2536, 3112, 4008, 4968, 5992, 7224, 8504, 9528, 11064, 12216, 14112, 15840, 17568, 19848, 21384, 22152, 24496, 27376, 29296, 31704, 35160, 36696, 39232, 42368, 43816, 51024}, |
|
164 |
/* NPRB 070*/ { 1928, 2536, 3112, 4136, 4968, 6200, 7224, 8504, 9912, 11064, 12216, 14112, 15840, 18336, 19848, 21384, 22920, 25456, 27376, 30576, 32856, 35160, 37888, 40576, 42368, 43816, 52752}, |
|
165 |
/* NPRB 071*/ { 1992, 2600, 3240, 4136, 5160, 6200, 7480, 8760, 9912, 11064, 12576, 14112, 16416, 18336, 20616, 22152, 22920, 25456, 28336, 30576, 32856, 35160, 37888, 40576, 43816, 45352, 52752}, |
|
166 |
/* NPRB 072*/ { 1992, 2600, 3240, 4264, 5160, 6200, 7480, 8760, 9912, 11448, 12576, 14688, 16416, 18336, 20616, 22152, 23688, 26416, 28336, 30576, 34008, 36696, 39232, 40576, 43816, 45352, 52752}, |
|
167 |
/* NPRB 073*/ { 2024, 2664, 3240, 4264, 5160, 6456, 7736, 8760, 10296, 11448, 12960, 14688, 16416, 19080, 20616, 22152, 23688, 26416, 29296, 31704, 34008, 36696, 39232, 42368, 45352, 46888, 55056}, |
|
168 |
/* NPRB 074*/ { 2088, 2728, 3368, 4392, 5352, 6456, 7736, 9144, 10296, 11832, 12960, 14688, 16992, 19080, 21384, 22920, 24496, 26416, 29296, 31704, 34008, 36696, 40576, 42368, 45352, 46888, 55056}, |
|
169 |
/* NPRB 075*/ { 2088, 2728, 3368, 4392, 5352, 6712, 7736, 9144, 10680, 11832, 12960, 15264, 16992, 19080, 21384, 22920, 24496, 27376, 29296, 32856, 35160, 37888, 40576, 43816, 45352, 46888, 55056}, |
|
170 |
/* NPRB 076*/ { 2088, 2792, 3368, 4392, 5544, 6712, 7992, 9144, 10680, 11832, 13536, 15264, 17568, 19848, 22152, 23688, 24496, 27376, 30576, 32856, 35160, 37888, 40576, 43816, 46888, 48936, 55056}, |
|
171 |
/* NPRB 077*/ { 2152, 2792, 3496, 4584, 5544, 6712, 7992, 9528, 10680, 12216, 13536, 15840, 17568, 19848, 22152, 23688, 25456, 27376, 30576, 32856, 35160, 39232, 42368, 43816, 46888, 48936, 57336}, |
|
172 |
/* NPRB 078*/ { 2152, 2856, 3496, 4584, 5544, 6968, 8248, 9528, 11064, 12216, 13536, 15840, 17568, 19848, 22152, 23688, 25456, 28336, 30576, 34008, 36696, 39232, 42368, 45352, 46888, 48936, 57336}, |
|
173 |
/* NPRB 079*/ { 2216, 2856, 3496, 4584, 5736, 6968, 8248, 9528, 11064, 12576, 14112, 15840, 18336, 20616, 22920, 24496, 25456, 28336, 31704, 34008, 36696, 39232, 42368, 45352, 48936, 51024, 57336}, |
|
174 |
/* NPRB 080*/ { 2216, 2856, 3624, 4776, 5736, 6968, 8248, 9912, 11064, 12576, 14112, 16416, 18336, 20616, 22920, 24496, 26416, 29296, 31704, 34008, 36696, 40576, 43816, 45352, 48936, 51024, 59256}, |
|
175 |
/* NPRB 081*/ { 2280, 2984, 3624, 4776, 5736, 7224, 8504, 9912, 11448, 12960, 14112, 16416, 18336, 20616, 22920, 24496, 26416, 29296, 31704, 35160, 37888, 40576, 43816, 46888, 48936, 51024, 59256}, |
|
176 |
/* NPRB 082*/ { 2280, 2984, 3624, 4776, 5992, 7224, 8504, 9912, 11448, 12960, 14688, 16416, 19080, 21384, 23688, 25456, 26416, 29296, 32856, 35160, 37888, 40576, 43816, 46888, 51024, 52752, 59256}, |
|
177 |
/* NPRB 083*/ { 2280, 2984, 3752, 4776, 5992, 7224, 8760, 10296, 11448, 12960, 14688, 16992, 19080, 21384, 23688, 25456, 27376, 30576, 32856, 35160, 39232, 42368, 45352, 46888, 51024, 52752, 61664}, |
|
178 |
/* NPRB 084*/ { 2344, 3112, 3752, 4968, 5992, 7480, 8760, 10296, 11832, 13536, 14688, 16992, 19080, 21384, 24496, 25456, 27376, 30576, 32856, 36696, 39232, 42368, 45352, 48936, 51024, 52752, 61664}, |
|
179 |
/* NPRB 085*/ { 2344, 3112, 3880, 4968, 5992, 7480, 8760, 10296, 11832, 13536, 14688, 16992, 19080, 22152, 24496, 26416, 27376, 30576, 34008, 36696, 39232, 42368, 45352, 48936, 52752, 55056, 61664}, |
|
180 |
/* NPRB 086*/ { 2408, 3112, 3880, 4968, 6200, 7480, 9144, 10680, 12216, 13536, 15264, 17568, 19848, 22152, 24496, 26416, 28336, 30576, 34008, 36696, 40576, 43816, 46888, 48936, 52752, 55056, 63776}, |
|
181 |
/* NPRB 087*/ { 2408, 3240, 3880, 5160, 6200, 7736, 9144, 10680, 12216, 13536, 15264, 17568, 19848, 22152, 25456, 26416, 28336, 31704, 34008, 37888, 40576, 43816, 46888, 51024, 52752, 55056, 63776}, |
|
182 |
/* NPRB 088*/ { 2472, 3240, 4008, 5160, 6200, 7736, 9144, 10680, 12216, 14112, 15264, 17568, 19848, 22920, 25456, 27376, 28336, 31704, 35160, 37888, 40576, 43816, 46888, 51024, 52752, 55056, 63776}, |
|
183 |
/* NPRB 089*/ { 2472, 3240, 4008, 5160, 6456, 7736, 9144, 11064, 12576, 14112, 15840, 18336, 20616, 22920, 25456, 27376, 29296, 31704, 35160, 37888, 42368, 45352, 48936, 51024, 55056, 57336, 66592}, |
|
184 |
/* NPRB 090*/ { 2536, 3240, 4008, 5352, 6456, 7992, 9528, 11064, 12576, 14112, 15840, 18336, 20616, 22920, 25456, 27376, 29296, 32856, 35160, 39232, 42368, 45352, 48936, 51024, 55056, 57336, 66592}, |
|
185 |
/* NPRB 091*/ { 2536, 3368, 4136, 5352, 6456, 7992, 9528, 11064, 12576, 14112, 15840, 18336, 20616, 23688, 26416, 28336, 29296, 32856, 36696, 39232, 42368, 45352, 48936, 52752, 55056, 57336, 66592}, |
|
186 |
/* NPRB 092*/ { 2536, 3368, 4136, 5352, 6456, 7992, 9528, 11448, 12960, 14688, 16416, 18336, 21384, 23688, 26416, 28336, 30576, 32856, 36696, 39232, 42368, 46888, 48936, 52752, 57336, 59256, 68808}, |
|
187 |
/* NPRB 093*/ { 2600, 3368, 4136, 5352, 6712, 8248, 9528, 11448, 12960, 14688, 16416, 19080, 21384, 23688, 26416, 28336, 30576, 34008, 36696, 40576, 43816, 46888, 51024, 52752, 57336, 59256, 68808}, |
|
188 |
/* NPRB 094*/ { 2600, 3496, 4264, 5544, 6712, 8248, 9912, 11448, 12960, 14688, 16416, 19080, 21384, 24496, 27376, 29296, 30576, 34008, 37888, 40576, 43816, 46888, 51024, 55056, 57336, 59256, 68808}, |
|
189 |
/* NPRB 095*/ { 2664, 3496, 4264, 5544, 6712, 8248, 9912, 11448, 13536, 15264, 16992, 19080, 21384, 24496, 27376, 29296, 30576, 34008, 37888, 40576, 43816, 46888, 51024, 55056, 57336, 61664, 71112}, |
|
190 |
/* NPRB 096*/ { 2664, 3496, 4264, 5544, 6968, 8504, 9912, 11832, 13536, 15264, 16992, 19080, 22152, 24496, 27376, 29296, 31704, 35160, 37888, 40576, 45352, 48936, 51024, 55056, 59256, 61664, 71112}, |
|
191 |
/* NPRB 097*/ { 2728, 3496, 4392, 5736, 6968, 8504, 10296, 11832, 13536, 15264, 16992, 19848, 22152, 25456, 28336, 29296, 31704, 35160, 37888, 42368, 45352, 48936, 52752, 55056, 59256, 61664, 71112}, |
|
192 |
/* NPRB 098*/ { 2728, 3624, 4392, 5736, 6968, 8760, 10296, 11832, 13536, 15264, 16992, 19848, 22152, 25456, 28336, 30576, 31704, 35160, 39232, 42368, 45352, 48936, 52752, 57336, 59256, 61664, 73712}, |
|
193 |
/* NPRB 099*/ { 2728, 3624, 4392, 5736, 6968, 8760, 10296, 12216, 14112, 15840, 17568, 19848, 22920, 25456, 28336, 30576, 31704, 35160, 39232, 42368, 46888, 48936, 52752, 57336, 61664, 63776, 73712}, |
|
194 |
/* NPRB 100*/ { 2792, 3624, 4584, 5736, 7224, 8760, 10296, 12216, 14112, 15840, 17568, 19848, 22920, 25456, 28336, 30576, 32856, 36696, 39232, 43816, 46888, 51024, 55056, 57336, 61664, 63776, 75376}, |
|
195 |
/* NPRB 101*/ { 2792, 3752, 4584, 5992, 7224, 8760, 10680, 12216, 14112, 15840, 17568, 20616, 22920, 26416, 29296, 30576, 32856, 36696, 40576, 43816, 46888, 51024, 55056, 57336, 61664, 63776, 75376}, |
|
196 |
/* NPRB 102*/ { 2856, 3752, 4584, 5992, 7224, 9144, 10680, 12576, 14112, 16416, 18336, 20616, 23688, 26416, 29296, 31704, 32856, 36696, 40576, 43816, 46888, 51024, 55056, 59256, 61664, 63776, 75376}, |
|
197 |
/* NPRB 103*/ { 2856, 3752, 4584, 5992, 7480, 9144, 10680, 12576, 14688, 16416, 18336, 20616, 23688, 26416, 29296, 31704, 34008, 36696, 40576, 43816, 48936, 51024, 55056, 59256, 63776, 66592, 75376}, |
|
198 |
/* NPRB 104*/ { 2856, 3752, 4584, 5992, 7480, 9144, 10680, 12576, 14688, 16416, 18336, 21384, 23688, 26416, 29296, 31704, 34008, 37888, 40576, 45352, 48936, 52752, 57336, 59256, 63776, 66592, 75376}, |
|
199 |
/* NPRB 105*/ { 2984, 3880, 4776, 6200, 7480, 9144, 11064, 12960, 14688, 16416, 18336, 21384, 23688, 27376, 30576, 31704, 34008, 37888, 42368, 45352, 48936, 52752, 57336, 59256, 63776, 66592, 75376}, |
|
200 |
/* NPRB 106*/ { 2984, 3880, 4776, 6200, 7480, 9528, 11064, 12960, 14688, 16992, 18336, 21384, 24496, 27376, 30576, 32856, 34008, 37888, 42368, 45352, 48936, 52752, 57336, 61664, 63776, 66592, 75376}, |
|
201 |
/* NPRB 107*/ { 2984, 3880, 4776, 6200, 7736, 9528, 11064, 12960, 15264, 16992, 19080, 21384, 24496, 27376, 30576, 32856, 35160, 39232, 42368, 46888, 48936, 52752, 57336, 61664, 66592, 68808, 75376}, |
|
202 |
/* NPRB 108*/ { 2984, 4008, 4776, 6200, 7736, 9528, 11448, 12960, 15264, 16992, 19080, 22152, 24496, 27376, 30576, 32856, 35160, 39232, 42368, 46888, 51024, 55056, 59256, 61664, 66592, 68808, 75376}, |
|
203 |
/* NPRB 109*/ { 2984, 4008, 4968, 6456, 7736, 9528, 11448, 13536, 15264, 16992, 19080, 22152, 24496, 28336, 31704, 34008, 35160, 39232, 43816, 46888, 51024, 55056, 59256, 61664, 66592, 68808, 75376}, |
|
204 |
/* NPRB 110*/ { 3112, 4008, 4968, 6456, 7992, 9528, 11448, 13536, 15264, 17568, 19080, 22152, 25456, 28336, 31704, 34008, 35160, 39232, 43816, 46888, 51024, 55056, 59256, 63776, 66592, 71112, 75376} |
|
6705 | 205 |
|
7886 | 206 |
}; |
207 |
||
6705 | 208 |
|
8515
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
209 |
LteAmc::LteAmc () |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
210 |
{ |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
211 |
} |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
212 |
|
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
213 |
|
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
214 |
LteAmc::~LteAmc () |
8526
3530c874134f
Update tests for error model
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8520
diff
changeset
|
215 |
{ |
8515
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
216 |
} |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
217 |
|
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
218 |
TypeId |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
219 |
LteAmc::GetTypeId (void) |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
220 |
{ |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
221 |
static TypeId tid = TypeId ("ns3::LteAmc") |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
222 |
.SetParent<Object> () |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
223 |
.AddConstructor<LteAmc> () |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
224 |
.AddAttribute ("Ber", |
8518
39dd7d4a0161
Fix BER in LteAmc::CreateCqiFeedbacks
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8515
diff
changeset
|
225 |
"The requested BER in assigning MCS (default is 0.00005).", |
8648
b73a8905c1eb
Remove LteAmc::Ber parameter from LteAmc::MiErrorModel for avoiding misunderstanding
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8646
diff
changeset
|
226 |
DoubleValue (0.00005), |
8515
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
227 |
MakeDoubleAccessor (&LteAmc::m_ber), |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
228 |
MakeDoubleChecker<double> ()) |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
229 |
.AddAttribute ("AmcModel", |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
230 |
"AMC model used to assign CQI", |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
231 |
EnumValue (LteAmc::MiErrorModel), |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
232 |
MakeEnumAccessor (&LteAmc::m_amcModel), |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
233 |
MakeEnumChecker (LteAmc::MiErrorModel, "Vienna", |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
234 |
LteAmc::PiroEW2010, "PiroEW2010")); |
8515
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
235 |
return tid; |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
236 |
} |
245c032fb764
Convert LteAmc to Object and add BER parameter
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8253
diff
changeset
|
237 |
|
6705 | 238 |
|
239 |
int |
|
7887 | 240 |
LteAmc::GetCqiFromSpectralEfficiency (double s) |
6705 | 241 |
{ |
7886 | 242 |
NS_LOG_FUNCTION (s); |
8148
09e2d03022a2
run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents:
8120
diff
changeset
|
243 |
NS_ASSERT_MSG (s >= 0.0, "negative spectral efficiency = " << s); |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
244 |
int cqi = 0; |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
245 |
while ((cqi < 15) && (SpectralEfficiencyForCqi[cqi + 1] < s)) |
6705 | 246 |
{ |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
247 |
++cqi; |
6705 | 248 |
} |
8599
9e63da130464
proper use of log macros in lte-amc.cc
Nicola Baldo <nbaldo@cttc.es>
parents:
8587
diff
changeset
|
249 |
NS_LOG_LOGIC ("cqi = " << cqi); |
6705 | 250 |
return cqi; |
251 |
} |
|
252 |
||
253 |
||
254 |
int |
|
7887 | 255 |
LteAmc::GetMcsFromCqi (int cqi) |
6705 | 256 |
{ |
7886 | 257 |
NS_LOG_FUNCTION (cqi); |
8587
27e83197af97
Add lack assert tests on vectors in LteAmc
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8526
diff
changeset
|
258 |
NS_ASSERT_MSG (cqi >= 0 && cqi <= 15, "CQI must be in [0..15] = " << cqi); |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
259 |
double spectralEfficiency = SpectralEfficiencyForCqi[cqi]; |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
260 |
int mcs = 0; |
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
261 |
while ((mcs < 28) && (SpectralEfficiencyForMcs[mcs + 1] <= spectralEfficiency)) |
6705 | 262 |
{ |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
263 |
++mcs; |
6705 | 264 |
} |
8599
9e63da130464
proper use of log macros in lte-amc.cc
Nicola Baldo <nbaldo@cttc.es>
parents:
8587
diff
changeset
|
265 |
NS_LOG_LOGIC ("mcs = " << mcs); |
6705 | 266 |
return mcs; |
267 |
} |
|
268 |
||
7886 | 269 |
int |
7887 | 270 |
LteAmc::GetTbSizeFromMcs (int mcs, int nprb) |
7886 | 271 |
{ |
272 |
NS_LOG_FUNCTION (mcs); |
|
273 |
||
274 |
NS_ASSERT_MSG (mcs < 29, "MCS=" << mcs); |
|
275 |
NS_ASSERT_MSG (nprb < 111, "NPRB=" << nprb); |
|
276 |
||
277 |
int itbs = McsToItbs[mcs]; |
|
278 |
return (TransportBlockSizeTable[nprb - 1][itbs]); |
|
279 |
} |
|
280 |
||
6705 | 281 |
|
282 |
double |
|
7887 | 283 |
LteAmc::GetSpectralEfficiencyFromCqi (int cqi) |
6705 | 284 |
{ |
8599
9e63da130464
proper use of log macros in lte-amc.cc
Nicola Baldo <nbaldo@cttc.es>
parents:
8587
diff
changeset
|
285 |
NS_LOG_FUNCTION (cqi); |
8587
27e83197af97
Add lack assert tests on vectors in LteAmc
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8526
diff
changeset
|
286 |
NS_ASSERT_MSG (cqi >= 0 && cqi <= 15, "CQI must be in [0..15] = " << cqi); |
8599
9e63da130464
proper use of log macros in lte-amc.cc
Nicola Baldo <nbaldo@cttc.es>
parents:
8587
diff
changeset
|
287 |
NS_LOG_LOGIC ("Spectral efficiency = " << SpectralEfficiencyForCqi[cqi]); |
8052
42434ab74056
fixed some bugs in AMC module
Nicola Baldo <nbaldo@cttc.es>
parents:
8018
diff
changeset
|
288 |
return SpectralEfficiencyForCqi[cqi]; |
6705 | 289 |
} |
290 |
||
291 |
||
292 |
std::vector<int> |
|
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
293 |
LteAmc::CreateCqiFeedbacks (const SpectrumValue& sinr, uint8_t rbgSize) |
6705 | 294 |
{ |
8599
9e63da130464
proper use of log macros in lte-amc.cc
Nicola Baldo <nbaldo@cttc.es>
parents:
8587
diff
changeset
|
295 |
NS_LOG_FUNCTION (this); |
6705 | 296 |
|
297 |
std::vector<int> cqi; |
|
7886 | 298 |
Values::const_iterator it; |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
299 |
|
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
300 |
if (m_amcModel == PiroEW2010) |
6705 | 301 |
{ |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
302 |
|
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
303 |
for (it = sinr.ConstValuesBegin (); it != sinr.ConstValuesEnd (); it++) |
8018
165fd3c6c977
LENA-93 DL CQI averaged over active RBs only from AMC module
Marco Miozzo <marco.miozzo@cttc.es>
parents:
7887
diff
changeset
|
304 |
{ |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
305 |
double sinr_ = (*it); |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
306 |
if (sinr_ == 0.0) |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
307 |
{ |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
308 |
cqi.push_back (-1); // SINR == 0 (linear units) means no signal in this RB |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
309 |
} |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
310 |
else |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
311 |
{ |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
312 |
/* |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
313 |
* Compute the spectral efficiency from the SINR |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
314 |
* SINR |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
315 |
* spectralEfficiency = log2 (1 + -------------------- ) |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
316 |
* -ln(5*BER)/1.5 |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
317 |
* NB: SINR must be expressed in linear units |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
318 |
*/ |
6705 | 319 |
|
9063
32755d0516f4
Bug 1237 - code cleanups related to includes
Vedran Miletić <rivanvx@gmail.com>
parents:
8781
diff
changeset
|
320 |
double s = log2 ( 1 + ( sinr_ / ( (-std::log (5.0 * m_ber )) / 1.5) )); |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
321 |
|
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
322 |
int cqi_ = GetCqiFromSpectralEfficiency (s); |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
323 |
|
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
324 |
NS_LOG_LOGIC (" PRB =" << cqi.size () |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
325 |
<< ", sinr = " << sinr_ |
9063
32755d0516f4
Bug 1237 - code cleanups related to includes
Vedran Miletić <rivanvx@gmail.com>
parents:
8781
diff
changeset
|
326 |
<< " (=" << 10 * std::log10 (sinr_) << " dB)" |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
327 |
<< ", spectral efficiency =" << s |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
328 |
<< ", CQI = " << cqi_ << ", BER = " << m_ber); |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
329 |
|
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
330 |
cqi.push_back (cqi_); |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
331 |
} |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
332 |
} |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
333 |
} |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
334 |
else if (m_amcModel == MiErrorModel) |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
335 |
{ |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
336 |
NS_LOG_DEBUG (this << " AMC-VIENNA RBG size " << (uint16_t)rbgSize); |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
337 |
NS_ASSERT_MSG (rbgSize > 0, " LteAmc-Vienna: RBG size must be greater than 0"); |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
338 |
std::vector <int> rbgMap; |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
339 |
int rbId = 0; |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
340 |
for (it = sinr.ConstValuesBegin (); it != sinr.ConstValuesEnd (); it++) |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
341 |
{ |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
342 |
rbgMap.push_back (rbId++); |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
343 |
if ((rbId % rbgSize == 0)||((it+1)==sinr.ConstValuesEnd ())) |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
344 |
{ |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
345 |
uint8_t mcs = 0; |
9353
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
346 |
TbStats_t tbStats; |
9638
50fa71b511ed
Bug-fix in LteAmc::CreateCqiFeedbacks Vienna model and correspondent update of the RR and PF scheduler tests
Marco Miozzo <marco.miozzo@cttc.es>
parents:
9353
diff
changeset
|
347 |
while (mcs <= 28) |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
348 |
{ |
9353
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
349 |
HarqProcessInfoList_t harqInfoList; |
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
350 |
tbStats = LteMiErrorModel::GetTbDecodificationStats (sinr, rbgMap, (uint16_t)GetTbSizeFromMcs (mcs, rbgSize) / 8, mcs, harqInfoList); |
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
351 |
if (tbStats.tbler > 0.1) |
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
352 |
{ |
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
353 |
break; |
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
354 |
} |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
355 |
mcs++; |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
356 |
|
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
357 |
} |
9638
50fa71b511ed
Bug-fix in LteAmc::CreateCqiFeedbacks Vienna model and correspondent update of the RR and PF scheduler tests
Marco Miozzo <marco.miozzo@cttc.es>
parents:
9353
diff
changeset
|
358 |
if (mcs > 0) |
50fa71b511ed
Bug-fix in LteAmc::CreateCqiFeedbacks Vienna model and correspondent update of the RR and PF scheduler tests
Marco Miozzo <marco.miozzo@cttc.es>
parents:
9353
diff
changeset
|
359 |
{ |
50fa71b511ed
Bug-fix in LteAmc::CreateCqiFeedbacks Vienna model and correspondent update of the RR and PF scheduler tests
Marco Miozzo <marco.miozzo@cttc.es>
parents:
9353
diff
changeset
|
360 |
mcs--; |
50fa71b511ed
Bug-fix in LteAmc::CreateCqiFeedbacks Vienna model and correspondent update of the RR and PF scheduler tests
Marco Miozzo <marco.miozzo@cttc.es>
parents:
9353
diff
changeset
|
361 |
} |
9353
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
362 |
NS_LOG_DEBUG (this << "\t RBG " << rbId << " MCS " << (uint16_t)mcs << " TBLER " << tbStats.tbler); |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
363 |
int rbgCqi = 0; |
9353
41d2e7b4ff68
Update LteMiErrorModel with BLER curves for HARQ retx ( MCS0 rv2 and rv3 still lacks)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8781
diff
changeset
|
364 |
if ((tbStats.tbler > 0.1)&&(mcs==0)) |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
365 |
{ |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
366 |
rbgCqi = 0; // any MCS can guarantee the 10 % of BER |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
367 |
} |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
368 |
else if (mcs == 28) |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
369 |
{ |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
370 |
rbgCqi = 15; // all MCSs can guarantee the 10 % of BER |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
371 |
} |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
372 |
else |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
373 |
{ |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
374 |
double s = SpectralEfficiencyForMcs[mcs]; |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
375 |
rbgCqi = 0; |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
376 |
while ((rbgCqi < 15) && (SpectralEfficiencyForCqi[rbgCqi + 1] < s)) |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
377 |
{ |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
378 |
++rbgCqi; |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
379 |
} |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
380 |
} |
9638
50fa71b511ed
Bug-fix in LteAmc::CreateCqiFeedbacks Vienna model and correspondent update of the RR and PF scheduler tests
Marco Miozzo <marco.miozzo@cttc.es>
parents:
9353
diff
changeset
|
381 |
NS_LOG_DEBUG (this << "\t MCS " << (uint16_t)mcs << "-> CQI " << rbgCqi); |
8646
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
382 |
// fill the cqi vector (per RB basis) |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
383 |
for (uint8_t j = 0; j < rbgSize; j++) |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
384 |
{ |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
385 |
cqi.push_back (rbgCqi); |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
386 |
} |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
387 |
rbgMap.clear (); |
4b341d8f2f61
Add new UE CQI Measurement and AMC module based on LteMiErrorModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8645
diff
changeset
|
388 |
} |
8644
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
389 |
|
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
390 |
} |
83faaf37b22c
Add missing files of Hybrid and Simple BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8599
diff
changeset
|
391 |
|
6705 | 392 |
} |
393 |
||
394 |
return cqi; |
|
395 |
} |
|
396 |
||
397 |
} // namespace ns3 |