21 #include "ns3/core-module.h"
22 #include "ns3/network-module.h"
23 #include "ns3/internet-module.h"
24 #include "ns3/mobility-module.h"
25 #include "ns3/lte-module.h"
26 #include "ns3/applications-module.h"
27 #include "ns3/point-to-point-module.h"
28 #include "ns3/config-store-module.h"
45 main (
int argc,
char *argv[])
60 uint16_t numberOfUes = 1;
61 uint16_t numberOfEnbs = 2;
62 uint16_t numBearersPerUe = 0;
63 double distance = 1000.0;
64 double yForUe = 1000.0;
66 double simTime = 3.0 * distance / speed;
67 double enbTxPowerDbm = 20.0;
78 cmd.
AddValue(
"simTime",
"Total duration of the simulation (in seconds)", simTime);
79 cmd.
AddValue(
"speed",
"Speed of the UE (default = 20 m/s)", speed);
80 cmd.
AddValue(
"enbTxPowerDbm",
"TX power [dBm] used by HeNBs (defalut = 20.0)", enbTxPowerDbm);
82 cmd.
Parse(argc, argv);
94 remoteHostContainer.
Create (1);
97 internet.
Install (remoteHostContainer);
106 ipv4h.
SetBase (
"1.0.0.0",
"255.0.0.0");
119 enbNodes.
Create (numberOfEnbs);
120 ueNodes.
Create (numberOfUes);
124 for (uint16_t i = 0; i < numberOfEnbs; i++)
126 Vector enbPosition (distance * (i + 1), distance, 0);
127 enbPositionAlloc->
Add (enbPosition);
151 for (uint32_t u = 0; u < ueNodes.
GetN (); ++u)
156 ueStaticRouting->
SetDefaultRoute (epcHelper->GetUeDefaultGatewayAddress (), 1);
161 for (uint16_t i = 0; i < numberOfUes; i++)
163 lteHelper->
Attach (ueLteDevs.
Get(i), enbLteDevs.
Get(0));
170 uint16_t dlPort = 10000;
171 uint16_t ulPort = 20000;
180 for (uint32_t u = 0; u < numberOfUes; ++u)
185 ueStaticRouting->
SetDefaultRoute (epcHelper->GetUeDefaultGatewayAddress (), 1);
187 for (uint32_t b = 0; b < numBearersPerUe; ++b)
197 clientApps.
Add (dlClientHelper.Install (remoteHost));
200 serverApps.
Add (dlPacketSinkHelper.
Install (ue));
207 serverApps.
Add (ulPacketSinkHelper.
Install (remoteHost));
212 dlpf.localPortEnd = dlPort;
222 serverApps.
Start (startTime);
223 clientApps.
Start (startTime);