#include <ns3/core-module.h>
#include <ns3/network-module.h>
#include <ns3/mobility-module.h>
#include <ns3/internet-module.h>
#include <ns3/lte-module.h>
#include <ns3/config-store-module.h>
#include <ns3/buildings-module.h>
#include <ns3/point-to-point-helper.h>
#include <ns3/applications-module.h>
#include <ns3/log.h>
#include <iomanip>
#include <string>
#include <vector>
Go to the source code of this file.
Classes | |
class | FemtocellBlockAllocator |
Functions | |
bool | AreOverlapping (Box a, Box b) |
int | main (int argc, char *argv[]) |
NS_LOG_COMPONENT_DEFINE ("LenaDualStripe") | |
void | PrintGnuplottableBuildingListToFile (std::string filename) |
void | PrintGnuplottableEnbListToFile (std::string filename) |
void | PrintGnuplottableUeListToFile (std::string filename) |
Variables | |
static ns3::GlobalValue | g_areaMarginFactor ("areaMarginFactor","how much the UE area extends outside the macrocell grid, ""expressed as fraction of the interSiteDistance", ns3::DoubleValue(0.5), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_epc ("epc","if true, will setup the EPC to simulate an end-to-end topology;""if false, only the LTE radio access will be simulated.", ns3::BooleanValue(false), ns3::MakeBooleanChecker()) |
static ns3::GlobalValue | g_epcDl ("epcDl","if true, will activate data flows in the downlink when EPC is being used. ""If false, downlink flows won't be activated. ""If EPC is not used, this parameter will be ignored.", ns3::BooleanValue(true), ns3::MakeBooleanChecker()) |
static ns3::GlobalValue | g_epcUl ("epcUl","if true, will activate data flows in the uplink when EPC is being used. ""If false, uplink flows won't be activated. ""If EPC is not used, this parameter will be ignored.", ns3::BooleanValue(true), ns3::MakeBooleanChecker()) |
static ns3::GlobalValue | g_fadingTrace ("fadingTrace","The path of the fading trace (by default no fading trace ""is loaded, i.e., fading is not considered)", ns3::StringValue(""), ns3::MakeStringChecker()) |
static ns3::GlobalValue | g_generateRem ("generateRem","if true, will generate a REM and then abort the simulation;""if false, will run the simulation normally (without generating any REM)", ns3::BooleanValue(false), ns3::MakeBooleanChecker()) |
static ns3::GlobalValue | g_homeEnbActivationRatio ("homeEnbActivationRatio","The HeNB activation ratio as per 3GPP R4-092042", ns3::DoubleValue(0.5), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_homeEnbBandwidth ("homeEnbBandwidth","bandwidth [num RBs] used by HeNBs", ns3::UintegerValue(25), ns3::MakeUintegerChecker< uint16_t >()) |
static ns3::GlobalValue | g_homeEnbDeploymentRatio ("homeEnbDeploymentRatio","The HeNB deployment ratio as per 3GPP R4-092042", ns3::DoubleValue(0.2), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_homeEnbDlEarfcn ("homeEnbDlEarfcn","DL EARFCN used by HeNBs", ns3::UintegerValue(100), ns3::MakeUintegerChecker< uint16_t >()) |
static ns3::GlobalValue | g_homeEnbTxPowerDbm ("homeEnbTxPowerDbm","TX power [dBm] used by HeNBs", ns3::DoubleValue(20.0), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_homeUesHomeEnbRatio ("homeUesHomeEnbRatio","How many (on average) home UEs per HeNB there are in the simulation", ns3::DoubleValue(1.0), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_interSiteDistance ("interSiteDistance","min distance between two nearby macro cell sites", ns3::DoubleValue(500), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_macroEnbBandwidth ("macroEnbBandwidth","bandwidth [num RBs] used by macro eNBs", ns3::UintegerValue(25), ns3::MakeUintegerChecker< uint16_t >()) |
static ns3::GlobalValue | g_macroEnbDlEarfcn ("macroEnbDlEarfcn","DL EARFCN used by macro eNBs", ns3::UintegerValue(100), ns3::MakeUintegerChecker< uint16_t >()) |
static ns3::GlobalValue | g_macroEnbTxPowerDbm ("macroEnbTxPowerDbm","TX power [dBm] used by macro eNBs", ns3::DoubleValue(46.0), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_macroUeDensity ("macroUeDensity","How many macrocell UEs there are per square meter", ns3::DoubleValue(0.0001), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_nApartmentsX ("nApartmentsX","Number of apartments along the X axis in a femtocell block", ns3::UintegerValue(10), ns3::MakeUintegerChecker< uint32_t >()) |
static ns3::GlobalValue | g_nBlocks ("nBlocks","Number of femtocell blocks", ns3::UintegerValue(10), ns3::MakeUintegerChecker< uint32_t >()) |
static ns3::GlobalValue | g_nFloors ("nFloors","Number of floors", ns3::UintegerValue(1), ns3::MakeUintegerChecker< uint32_t >()) |
static ns3::GlobalValue | g_nMacroEnbSites ("nMacroEnbSites","How many macro sites there are", ns3::UintegerValue(3), ns3::MakeUintegerChecker< uint32_t >()) |
static ns3::GlobalValue | g_nMacroEnbSitesX ("nMacroEnbSitesX","(minimum) number of sites along the X-axis of the hex grid", ns3::UintegerValue(1), ns3::MakeUintegerChecker< uint32_t >()) |
static ns3::GlobalValue | g_simTime ("simTime","Total duration of the simulation [s]", ns3::DoubleValue(0.25), ns3::MakeDoubleChecker< double >()) |
static ns3::GlobalValue | g_useUdp ("useUdp","if true, the UdpClient application will be used. ""Otherwise, the BulkSend application will be used over a TCP connection. ""If EPC is not used, this parameter will be ignored.", ns3::BooleanValue(true), ns3::MakeBooleanChecker()) |
Definition at line 46 of file lena-dual-stripe.cc.
References ns3::Box::xMax, ns3::Box::xMin, ns3::Box::yMax, and ns3::Box::yMin.
Referenced by FemtocellBlockAllocator::OverlapsWithAnyPrevious().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 331 of file lena-dual-stripe.cc.
References ns3::LteHelper::ActivateEpsBearer(), ns3::ApplicationContainer::Add(), ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Add(), ns3::Ipv4StaticRouting::AddNetworkRouteTo(), ns3::Ipv4AddressHelper::Assign(), ns3::EpcHelper::AssignUeIpv4Address(), ns3::LteHelper::Attach(), ns3::LteHelper::AttachToClosestEnb(), ns3::NetDeviceContainer::Begin(), ns3::ConfigStore::ConfigureDefaults(), FemtocellBlockAllocator::Create(), ns3::NodeContainer::Create(), ns3::LteHelper::EnableMacTraces(), ns3::LteHelper::EnablePdcpTraces(), ns3::LteHelper::EnableRlcTraces(), ns3::NetDeviceContainer::End(), ns3::StringValue::Get(), ns3::DoubleValue::Get(), ns3::BooleanValue::Get(), ns3::UintegerValue::Get(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::NodeContainer::GetN(), ns3::Object::GetObject(), ns3::EpcHelper::GetPgwNode(), ns3::Ipv4StaticRoutingHelper::GetStaticRouting(), ns3::EpcHelper::GetUeDefaultGatewayAddress(), ns3::PacketSinkHelper::Install(), ns3::RadioEnvironmentMapHelper::Install(), ns3::BulkSendHelper::Install(), ns3::PointToPointHelper::Install(), ns3::InternetStackHelper::Install(), ns3::UdpClientHelper::Install(), ns3::MobilityHelper::Install(), ns3::LteHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), ns3::MilliSeconds(), NS_LOG_LOGIC, ns3::CommandLine::Parse(), PrintGnuplottableBuildingListToFile(), PrintGnuplottableEnbListToFile(), PrintGnuplottableUeListToFile(), ns3::Seconds(), ns3::BulkSendHelper::SetAttribute(), ns3::ObjectBase::SetAttribute(), ns3::Ipv4AddressHelper::SetBase(), ns3::PointToPointHelper::SetChannelAttribute(), ns3::Config::SetDefault(), ns3::Ipv4StaticRouting::SetDefaultRoute(), ns3::PointToPointHelper::SetDeviceAttribute(), ns3::LteHelper::SetEnbAntennaModelAttribute(), ns3::LteHelper::SetEnbAntennaModelType(), ns3::LteHelper::SetEnbDeviceAttribute(), ns3::LteHelper::SetEpcHelper(), ns3::LteHelper::SetFadingModelAttribute(), ns3::LteHexGridEnbTopologyHelper::SetLteHelper(), ns3::MobilityHelper::SetMobilityModel(), ns3::LteHelper::SetPathlossModelAttribute(), ns3::MobilityHelper::SetPositionAllocator(), ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice(), ns3::LteHelper::SetSpectrumChannelType(), ns3::ApplicationContainer::Start(), ns3::Box::xMax, ns3::Box::xMin, ns3::Box::yMax, ns3::Box::yMin, ns3::Box::zMax, and ns3::Box::zMin.
NS_LOG_COMPONENT_DEFINE | ( | "LenaDualStripe" | ) |
void PrintGnuplottableBuildingListToFile | ( | std::string | filename | ) |
Definition at line 143 of file lena-dual-stripe.cc.
References NS_LOG_ERROR, ns3::Box::xMax, ns3::Box::xMin, ns3::Box::yMax, and ns3::Box::yMin.
Referenced by main().
void PrintGnuplottableEnbListToFile | ( | std::string | filename | ) |
Definition at line 194 of file lena-dual-stripe.cc.
References ns3::LteEnbNetDevice::GetCellId(), ns3::Node::GetDevice(), ns3::Node::GetNDevices(), ns3::Object::GetObject(), GetPosition(), NS_LOG_ERROR, ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by main().
void PrintGnuplottableUeListToFile | ( | std::string | filename | ) |
Definition at line 166 of file lena-dual-stripe.cc.
References ns3::Node::GetDevice(), ns3::LteUeNetDevice::GetImsi(), ns3::Node::GetNDevices(), ns3::Object::GetObject(), GetPosition(), NS_LOG_ERROR, ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by main().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |