47 NS_LOG_INFO(
"creating LenaRrFfMacSchedulerTestCase");
49 bool errorModel =
true;
67 TestCase::Duration::EXTENSIVE);
69 TestCase::Duration::QUICK);
71 TestCase::Duration::EXTENSIVE);
73 TestCase::Duration::EXTENSIVE);
75 TestCase::Duration::EXTENSIVE);
77 TestCase::Duration::EXTENSIVE);
95 TestCase::Duration::EXTENSIVE);
97 TestCase::Duration::EXTENSIVE);
99 TestCase::Duration::EXTENSIVE);
101 TestCase::Duration::EXTENSIVE);
103 TestCase::Duration::EXTENSIVE);
105 TestCase::Duration::EXTENSIVE);
122 TestCase::Duration::EXTENSIVE);
124 TestCase::Duration::EXTENSIVE);
126 TestCase::Duration::EXTENSIVE);
128 TestCase::Duration::EXTENSIVE);
130 TestCase::Duration::EXTENSIVE);
132 TestCase::Duration::EXTENSIVE);
150 TestCase::Duration::EXTENSIVE);
152 TestCase::Duration::EXTENSIVE);
154 TestCase::Duration::EXTENSIVE);
156 TestCase::Duration::EXTENSIVE);
158 TestCase::Duration::EXTENSIVE);
160 TestCase::Duration::EXTENSIVE);
165 TestCase::Duration::QUICK);
232 lteHelper->SetAttribute(
"PathlossModel",
StringValue(
"ns3::FriisSpectrumPropagationLossModel"));
242 mobility.SetMobilityModel(
"ns3::ConstantPositionMobilityModel");
243 mobility.Install(enbNodes);
244 mobility.SetMobilityModel(
"ns3::ConstantPositionMobilityModel");
245 mobility.Install(ueNodes);
250 lteHelper->SetSchedulerType(
"ns3::RrFfMacScheduler");
252 enbDevs = lteHelper->InstallEnbDevice(enbNodes);
253 ueDevs = lteHelper->InstallUeDevice(ueNodes);
256 lteHelper->Attach(ueDevs, enbDevs.
Get(0));
261 lteHelper->ActivateDataRadioBearer(ueDevs, bearer);
265 enbPhy->SetAttribute(
"TxPower",
DoubleValue(30.0));
266 enbPhy->SetAttribute(
"NoiseFigure",
DoubleValue(5.0));
269 for (
int i = 0; i <
m_nUser; i++)
273 mm->SetPosition(Vector(
m_dist, 0.0, 0.0));
277 uePhy->SetAttribute(
"NoiseFigure",
DoubleValue(9.0));
280 double statsStartTime = 0.300;
281 double statsDuration = 0.4;
282 double tolerance = 0.1;
285 lteHelper->EnableRlcTraces();
296 std::vector<uint64_t> dlDataRxed;
301 for (
int i = 0; i <
m_nUser; i++)
306 dlDataRxed.push_back(rlcStats->GetDlRxData(imsi, lcId));
307 NS_LOG_INFO(
"\tUser " << i <<
" imsi " << imsi <<
" lcid " << (uint16_t)lcId
308 <<
" bytes rxed " << (
double)dlDataRxed.at(i) <<
" thr "
309 << (
double)dlDataRxed.at(i) / statsDuration <<
" ref " <<
m_thrRefDl);
313 " Unfair Throughput!");
317 std::vector<uint64_t> ulDataRxed;
322 for (
int i = 0; i <
m_nUser; i++)
328 ulDataRxed.push_back(rlcStats->GetUlRxData(imsi, lcId));
329 NS_LOG_INFO(
"\tUser " << i <<
" imsi " << imsi <<
" lcid " << (uint16_t)lcId
330 <<
" bytes rxed " << (
double)ulDataRxed.at(i) <<
" thr "
331 << (
double)ulDataRxed.at(i) / statsDuration <<
" ref " <<
m_thrRefUl
332 <<
" txed " << rlcStats->GetUlTxData(imsi, lcId) / statsDuration);
336 " Unfair Throughput!");