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);
231 lteHelper->SetAttribute(
"PathlossModel",
StringValue(
"ns3::FriisSpectrumPropagationLossModel"));
241 mobility.SetMobilityModel(
"ns3::ConstantPositionMobilityModel");
242 mobility.Install(enbNodes);
243 mobility.SetMobilityModel(
"ns3::ConstantPositionMobilityModel");
244 mobility.Install(ueNodes);
249 lteHelper->SetSchedulerType(
"ns3::RrFfMacScheduler");
251 enbDevs = lteHelper->InstallEnbDevice(enbNodes);
252 ueDevs = lteHelper->InstallUeDevice(ueNodes);
255 lteHelper->Attach(ueDevs, enbDevs.
Get(0));
260 lteHelper->ActivateDataRadioBearer(ueDevs, bearer);
264 enbPhy->SetAttribute(
"TxPower",
DoubleValue(30.0));
265 enbPhy->SetAttribute(
"NoiseFigure",
DoubleValue(5.0));
268 for (
int i = 0; i <
m_nUser; i++)
272 mm->SetPosition(Vector(
m_dist, 0.0, 0.0));
276 uePhy->SetAttribute(
"NoiseFigure",
DoubleValue(9.0));
279 double statsStartTime = 0.300;
280 double statsDuration = 0.4;
281 double tolerance = 0.1;
284 lteHelper->EnableRlcTraces();
295 std::vector<uint64_t> dlDataRxed;
300 for (
int i = 0; i <
m_nUser; i++)
305 dlDataRxed.push_back(rlcStats->GetDlRxData(imsi, lcId));
306 NS_LOG_INFO(
"\tUser " << i <<
" imsi " << imsi <<
" lcid " << (uint16_t)lcId
307 <<
" bytes rxed " << (
double)dlDataRxed.at(i) <<
" thr "
308 << (
double)dlDataRxed.at(i) / statsDuration <<
" ref " <<
m_thrRefDl);
312 " Unfair Throughput!");
316 std::vector<uint64_t> ulDataRxed;
321 for (
int i = 0; i <
m_nUser; i++)
327 ulDataRxed.push_back(rlcStats->GetUlRxData(imsi, lcId));
328 NS_LOG_INFO(
"\tUser " << i <<
" imsi " << imsi <<
" lcid " << (uint16_t)lcId
329 <<
" bytes rxed " << (
double)ulDataRxed.at(i) <<
" thr "
330 << (
double)ulDataRxed.at(i) / statsDuration <<
" ref " <<
m_thrRefUl
331 <<
" txed " << rlcStats->GetUlTxData(imsi, lcId) / statsDuration);
335 " Unfair Throughput!");