Creation and configuration of LTE entities. More...
#include <lte-helper.h>
Public Types | |
enum | LteEpsBearerToRlcMapping_t { RLC_SM_ALWAYS = 1, RLC_UM_ALWAYS = 2, RLC_AM_ALWAYS = 3, PER_BASED = 4 } |
Public Member Functions | |
LteHelper (void) | |
virtual | ~LteHelper (void) |
void | ActivateDataRadioBearer (NetDeviceContainer ueDevices, EpsBearer bearer) |
Call ActivateDataRadioBearer (ueDevice, bearer) for each UE device in a given set. More... | |
void | ActivateDataRadioBearer (Ptr< NetDevice > ueDevice, EpsBearer bearer) |
Activate a Data Radio Bearer for a simplified LTE-only simulation without EPC. More... | |
void | ActivateDedicatedEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr< EpcTft > tft) |
Activate a dedicated EPS bearer on a given set of UE devices. More... | |
void | ActivateDedicatedEpsBearer (Ptr< NetDevice > ueDevice, EpsBearer bearer, Ptr< EpcTft > tft) |
Activate a dedicated EPS bearer on a given UE device. More... | |
void | AddX2Interface (NodeContainer enbNodes) |
Create an X2 interface between all the eNBs in a given set. More... | |
void | AddX2Interface (Ptr< Node > enbNode1, Ptr< Node > enbNode2) |
Create an X2 interface between two eNBs. More... | |
int64_t | AssignStreams (NetDeviceContainer c, int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
void | Attach (NetDeviceContainer ueDevices) |
Enables automatic attachment of a set of UE devices to a suitable cell using Idle mode initial cell selection procedure. More... | |
void | Attach (Ptr< NetDevice > ueDevice) |
Enables automatic attachment of a UE device to a suitable cell using Idle mode initial cell selection procedure. More... | |
void | Attach (NetDeviceContainer ueDevices, Ptr< NetDevice > enbDevice) |
Manual attachment of a set of UE devices to the network via a given eNodeB. More... | |
void | Attach (Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice) |
Manual attachment of a UE device to the network via a given eNodeB. More... | |
void | AttachToClosestEnb (NetDeviceContainer ueDevices, NetDeviceContainer enbDevices) |
Manual attachment of a set of UE devices to the network via the closest eNodeB (with respect to distance) among those in the set. More... | |
void | AttachToClosestEnb (Ptr< NetDevice > ueDevice, NetDeviceContainer enbDevices) |
Manual attachment of a UE device to the network via the closest eNodeB (with respect to distance) among those in the set. More... | |
virtual void | DoDispose (void) |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
void | EnableDlMacTraces (void) |
Enable trace sinks for DL MAC layer. More... | |
void | EnableDlPhyTraces (void) |
Enable trace sinks for DL PHY layer. More... | |
void | EnableDlRxPhyTraces (void) |
Enable trace sinks for DL reception PHY layer. More... | |
void | EnableDlTxPhyTraces (void) |
Enable trace sinks for DL transmission PHY layer. More... | |
void | EnableLogComponents (void) |
Enables logging for all components of the LENA architecture. More... | |
void | EnableMacTraces (void) |
Enable trace sinks for MAC layer. More... | |
void | EnablePdcpTraces (void) |
Enable trace sinks for PDCP layer. More... | |
void | EnablePhyTraces (void) |
Enable trace sinks for PHY layer. More... | |
void | EnableRlcTraces (void) |
Enable trace sinks for RLC layer. More... | |
void | EnableTraces (void) |
Enables trace sinks for PHY, MAC, RLC and PDCP. More... | |
void | EnableUlMacTraces (void) |
Enable trace sinks for UL MAC layer. More... | |
void | EnableUlPhyTraces (void) |
Enable trace sinks for UL PHY layer. More... | |
void | EnableUlRxPhyTraces (void) |
Enable trace sinks for UL reception PHY layer. More... | |
void | EnableUlTxPhyTraces (void) |
Enable trace sinks for UL transmission PHY layer. More... | |
std::string | GetHandoverAlgorithmType () const |
Ptr< RadioBearerStatsCalculator > | GetPdcpStats (void) |
Ptr< RadioBearerStatsCalculator > | GetRlcStats (void) |
std::string | GetSchedulerType () const |
void | HandoverRequest (Time hoTime, Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceEnbDev, Ptr< NetDevice > targetEnbDev) |
Manually trigger an X2-based handover of a UE between two eNBs at a specific simulation time. More... | |
NetDeviceContainer | InstallEnbDevice (NodeContainer c) |
create a set of eNB devices More... | |
NetDeviceContainer | InstallUeDevice (NodeContainer c) |
create a set of UE devices More... | |
void | SetEnbAntennaModelAttribute (std::string n, const AttributeValue &v) |
set an attribute for the AntennaModel to be used for the eNBs More... | |
void | SetEnbAntennaModelType (std::string type) |
void | SetEnbDeviceAttribute (std::string n, const AttributeValue &v) |
set an attribute for the LteEnbNetDevice to be created More... | |
void | SetEpcHelper (Ptr< EpcHelper > h) |
Set the EpcHelper to be used to setup the EPC network in conjunction with the setup of the LTE radio access network. More... | |
void | SetFadingModel (std::string model) |
void | SetFadingModelAttribute (std::string n, const AttributeValue &v) |
set an attribute of the fading model More... | |
void | SetHandoverAlgorithmAttribute (std::string n, const AttributeValue &v) |
set an attribute for the handover algorithm to be created More... | |
void | SetHandoverAlgorithmType (std::string type) |
void | SetPathlossModelAttribute (std::string n, const AttributeValue &v) |
set an attribute for the pathloss model to be created More... | |
void | SetPathlossModelType (std::string type) |
void | SetSchedulerAttribute (std::string n, const AttributeValue &v) |
set an attribute for the scheduler to be created More... | |
void | SetSchedulerType (std::string type) |
void | SetSpectrumChannelAttribute (std::string n, const AttributeValue &v) |
set an attribute for the SpectrumChannel to be used for the UEs More... | |
void | SetSpectrumChannelType (std::string type) |
void | SetUeAntennaModelAttribute (std::string n, const AttributeValue &v) |
set an attribute for the AntennaModel to be used for the UEs More... | |
void | SetUeAntennaModelType (std::string type) |
void | SetUeDeviceAttribute (std::string n, const AttributeValue &v) |
set an attribute for the LteUeNetDevice to be created More... | |
Public Member Functions inherited from ns3::Object | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Noop. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
virtual void | DoInitialize (void) |
This method is called only once by Object::Initialize. More... | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
Private Member Functions | |
void | DoHandoverRequest (Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceEnbDev, Ptr< NetDevice > targetEnbDev) |
The actual function to trigger a manual handover. More... | |
Ptr< NetDevice > | InstallSingleEnbDevice (Ptr< Node > n) |
Create an eNodeB device (LteEnbNetDevice) on the given node. More... | |
Ptr< NetDevice > | InstallSingleUeDevice (Ptr< Node > n) |
Create a UE device (LteUeNetDevice) on the given node. More... | |
Creation and configuration of LTE entities.
Doxygen introspection did not find any typical Config paths.
No TraceSources are defined for this type.
Definition at line 55 of file lte-helper.h.
Enumerator | |
---|---|
RLC_SM_ALWAYS | |
RLC_UM_ALWAYS | |
RLC_AM_ALWAYS | |
PER_BASED |
Definition at line 482 of file lte-helper.h.
ns3::LteHelper::LteHelper | ( | void | ) |
Definition at line 71 of file lte-helper.cc.
References ns3::IsotropicAntennaModel::GetTypeId(), ns3::LteUeNetDevice::GetTypeId(), ns3::LteEnbNetDevice::GetTypeId(), ns3::MultiModelSpectrumChannel::GetTypeId(), m_channelFactory, m_enbAntennaModelFactory, m_enbNetDeviceFactory, m_ueAntennaModelFactory, m_ueNetDeviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
|
virtual |
Definition at line 135 of file lte-helper.cc.
References NS_LOG_FUNCTION.
void ns3::LteHelper::ActivateDataRadioBearer | ( | NetDeviceContainer | ueDevices, |
EpsBearer | bearer | ||
) |
Call ActivateDataRadioBearer (ueDevice, bearer) for each UE device in a given set.
ueDevices | the set of UE devices |
bearer |
Definition at line 901 of file lte-helper.cc.
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), and main().
Activate a Data Radio Bearer for a simplified LTE-only simulation without EPC.
This method will schedule the actual activation of the bearer so that it happens after the UE got connected.
ueDevice | the device of the UE for which the radio bearer is to be activated |
bearer | the characteristics of the bearer to be activated |
Definition at line 831 of file lte-helper.cc.
References ns3::DrbActivator::ActivateCallback(), ns3::Config::Connect(), m_epcHelper, ns3::MakeBoundCallback(), NS_ASSERT_MSG, and NS_LOG_FUNCTION.
void ns3::LteHelper::ActivateDedicatedEpsBearer | ( | NetDeviceContainer | ueDevices, |
EpsBearer | bearer, | ||
Ptr< EpcTft > | tft | ||
) |
Activate a dedicated EPS bearer on a given set of UE devices.
ueDevices | the set of UE devices |
bearer | the characteristics of the bearer to be activated |
tft | the Traffic Flow Template that identifies the traffic to go on this bearer |
Definition at line 755 of file lte-helper.cc.
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
Referenced by main().
void ns3::LteHelper::ActivateDedicatedEpsBearer | ( | Ptr< NetDevice > | ueDevice, |
EpsBearer | bearer, | ||
Ptr< EpcTft > | tft | ||
) |
Activate a dedicated EPS bearer on a given UE device.
ueDevice | the UE device |
bearer | the characteristics of the bearer to be activated |
tft | the Traffic Flow Template that identifies the traffic to go on this bearer |
Definition at line 766 of file lte-helper.cc.
References m_epcHelper, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
void ns3::LteHelper::AddX2Interface | ( | NodeContainer | enbNodes | ) |
Create an X2 interface between all the eNBs in a given set.
enbNodes | the set of eNB nodes |
Definition at line 853 of file lte-helper.cc.
References ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), m_epcHelper, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by main().
Create an X2 interface between two eNBs.
enbNode1 | one eNB of the X2 interface |
enbNode2 | the other eNB of the X2 interface |
Definition at line 869 of file lte-helper.cc.
References m_epcHelper, NS_LOG_FUNCTION, and NS_LOG_INFO.
int64_t ns3::LteHelper::AssignStreams | ( | NetDeviceContainer | c, |
int64_t | stream | ||
) |
Assign a fixed random variable stream number to the random variables used by this model.
Return the number of streams (possibly zero) that have been assigned. The Install() method should have previously been called by the user.
c | NetDeviceContainer of the set of net devices for which the LteNetDevice should be modified to use a fixed stream |
stream | first stream index to use |
Definition at line 965 of file lte-helper.cc.
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), m_fadingModule, and m_fadingStreamsAssigned.
void ns3::LteHelper::Attach | ( | NetDeviceContainer | ueDevices | ) |
Enables automatic attachment of a set of UE devices to a suitable cell using Idle mode initial cell selection procedure.
ueDevices | the set of UE devices to be attached |
By calling this, the UE will start the initial cell selection procedure at the beginning of simulation. In addition, the function also instructs each UE to immediately enter CONNECTED mode and activates the default EPS bearer.
If this function is called when the UE is in a situation where entering CONNECTED mode is not possible (e.g. before the simulation begin), then the UE will attempt to connect at the earliest possible time (e.g. after it camps to a suitable cell).
Note that this function can only be used in EPC-enabled simulation.
Definition at line 647 of file lte-helper.cc.
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
Referenced by Attach(), AttachToClosestEnb(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), and main().
Enables automatic attachment of a UE device to a suitable cell using Idle mode initial cell selection procedure.
ueDevice | the UE device to be attached |
By calling this, the UE will start the initial cell selection procedure at the beginning of simulation. In addition, the function also instructs the UE to immediately enter CONNECTED mode and activates the default EPS bearer.
If this function is called when the UE is in a situation where entering CONNECTED mode is not possible (e.g. before the simulation begin), then the UE will attempt to connect at the earliest possible time (e.g. after it camps to a suitable cell).
Note that this function can only be used in EPC-enabled simulation.
Definition at line 657 of file lte-helper.cc.
References ns3::EpcTft::Default(), m_epcHelper, ns3::EpsBearer::NGBR_VIDEO_TCP_DEFAULT, NS_ASSERT, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
void ns3::LteHelper::Attach | ( | NetDeviceContainer | ueDevices, |
Ptr< NetDevice > | enbDevice | ||
) |
Manual attachment of a set of UE devices to the network via a given eNodeB.
ueDevices | the set of UE devices to be attached |
enbDevice | the destination eNodeB device |
In addition, the function also instructs each UE to immediately enter CONNECTED mode and activates the default EPS bearer.
The function can be used in both LTE-only and EPC-enabled simulations. Note that this function will disable Idle mode initial cell selection procedure.
Definition at line 688 of file lte-helper.cc.
References Attach(), ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
Manual attachment of a UE device to the network via a given eNodeB.
ueDevice | the UE device to be attached |
enbDevice | the destination eNodeB device |
In addition, the function also instructs the UE to immediately enter CONNECTED mode and activates the default EPS bearer.
The function can be used in both LTE-only and EPC-enabled simulations. Note that this function will disable Idle mode initial cell selection procedure.
Definition at line 698 of file lte-helper.cc.
References ns3::EpcTft::Default(), m_epcHelper, ns3::EpsBearer::NGBR_VIDEO_TCP_DEFAULT, and NS_LOG_FUNCTION.
void ns3::LteHelper::AttachToClosestEnb | ( | NetDeviceContainer | ueDevices, |
NetDeviceContainer | enbDevices | ||
) |
Manual attachment of a set of UE devices to the network via the closest eNodeB (with respect to distance) among those in the set.
ueDevices | the set of UE devices to be attached |
enbDevices | the set of eNodeB devices to be considered |
This function finds among the eNodeB set the closest eNodeB for each UE, and then invokes manual attachment between the pair.
Users are encouraged to use automatic attachment (Idle mode cell selection) instead of this function.
Definition at line 723 of file lte-helper.cc.
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
Referenced by main().
void ns3::LteHelper::AttachToClosestEnb | ( | Ptr< NetDevice > | ueDevice, |
NetDeviceContainer | enbDevices | ||
) |
Manual attachment of a UE device to the network via the closest eNodeB (with respect to distance) among those in the set.
ueDevice | the UE device to be attached |
enbDevices | the set of eNodeB devices to be considered |
This function finds among the eNodeB set the closest eNodeB for the UE, and then invokes manual attachment between the pair.
Users are encouraged to use automatic attachment (Idle mode cell selection) instead of this function.
Definition at line 733 of file lte-helper.cc.
References Attach(), ns3::NetDeviceContainer::Begin(), ns3::CalculateDistance(), ns3::NetDeviceContainer::End(), ns3::NetDeviceContainer::GetN(), GetPosition(), NS_ASSERT, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
Definition at line 194 of file lte-helper.cc.
References ns3::Object::DoDispose(), m_downlinkChannel, m_uplinkChannel, and NS_LOG_FUNCTION.
|
private |
The actual function to trigger a manual handover.
ueDev | the UE that hands off, must be of the type LteUeNetDevice |
sourceEnbDev | source eNB, must be of the type LteEnbNetDevice (originally the UE is attached to this eNB) |
targetEnbDev | target eNB, must be of the type LteEnbNetDevice (the UE is finally connected to this eNB) |
This method is normally scheduled by HandoverRequest() to run at a specific time where a manual handover is desired by the simulation user.
Definition at line 886 of file lte-helper.cc.
References NS_LOG_FUNCTION.
Referenced by HandoverRequest().
|
protectedvirtual |
This method is called only once by Object::Initialize.
If the user calls Object::Initialize multiple times, DoInitialize is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.
Reimplemented from ns3::Object.
Definition at line 85 of file lte-helper.cc.
References ns3::SpectrumChannel::AddPropagationLossModel(), ns3::SpectrumChannel::AddSpectrumPropagationLossModel(), ns3::ObjectFactory::Create(), ns3::Object::DoInitialize(), ns3::Object::GetObject(), m_channelFactory, m_dlPathlossModelFactory, m_downlinkChannel, m_downlinkPathlossModel, m_fadingModelFactory, m_fadingModelType, m_fadingModule, m_macStats, m_phyRxStats, m_phyStats, m_phyTxStats, m_ulPathlossModelFactory, m_uplinkChannel, m_uplinkPathlossModel, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
void ns3::LteHelper::EnableDlMacTraces | ( | void | ) |
Enable trace sinks for DL MAC layer.
Definition at line 1053 of file lte-helper.cc.
References ns3::Config::Connect(), ns3::MacStatsCalculator::DlSchedulingCallback(), m_macStats, ns3::MakeBoundCallback(), and NS_LOG_FUNCTION_NOARGS.
Referenced by EnableMacTraces().
void ns3::LteHelper::EnableDlPhyTraces | ( | void | ) |
Enable trace sinks for DL PHY layer.
Definition at line 1069 of file lte-helper.cc.
References ns3::Config::Connect(), m_phyStats, ns3::MakeBoundCallback(), NS_LOG_FUNCTION_NOARGS, and ns3::PhyStatsCalculator::ReportCurrentCellRsrpSinrCallback().
Referenced by EnablePhyTraces().
void ns3::LteHelper::EnableDlRxPhyTraces | ( | void | ) |
Enable trace sinks for DL reception PHY layer.
Definition at line 1030 of file lte-helper.cc.
References ns3::Config::Connect(), ns3::PhyRxStatsCalculator::DlPhyReceptionCallback(), m_phyRxStats, and ns3::MakeBoundCallback().
Referenced by EnablePhyTraces().
void ns3::LteHelper::EnableDlTxPhyTraces | ( | void | ) |
Enable trace sinks for DL transmission PHY layer.
Definition at line 1016 of file lte-helper.cc.
References ns3::Config::Connect(), ns3::PhyTxStatsCalculator::DlPhyTransmissionCallback(), m_phyTxStats, and ns3::MakeBoundCallback().
Referenced by EnablePhyTraces().
void ns3::LteHelper::EnableLogComponents | ( | void | ) |
Enables logging for all components of the LENA architecture.
Definition at line 911 of file lte-helper.cc.
References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), ns3::LOG_LEVEL_ALL, ns3::LogComponentEnable(), and m_dlPathlossModelFactory.
void ns3::LteHelper::EnableMacTraces | ( | void | ) |
Enable trace sinks for MAC layer.
Definition at line 1045 of file lte-helper.cc.
References EnableDlMacTraces(), and EnableUlMacTraces().
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), EnableTraces(), and main().
void ns3::LteHelper::EnablePdcpTraces | ( | void | ) |
Enable trace sinks for PDCP layer.
Definition at line 1094 of file lte-helper.cc.
References ns3::RadioBearerStatsConnector::EnablePdcpStats(), m_pdcpStats, m_radioBearerStatsConnector, and NS_ASSERT_MSG.
Referenced by EnableTraces(), and main().
void ns3::LteHelper::EnablePhyTraces | ( | void | ) |
Enable trace sinks for PHY layer.
Definition at line 1005 of file lte-helper.cc.
References EnableDlPhyTraces(), EnableDlRxPhyTraces(), EnableDlTxPhyTraces(), EnableUlPhyTraces(), EnableUlRxPhyTraces(), and EnableUlTxPhyTraces().
Referenced by EnableTraces(), and main().
void ns3::LteHelper::EnableRlcTraces | ( | void | ) |
Enable trace sinks for RLC layer.
Definition at line 957 of file lte-helper.cc.
References ns3::RadioBearerStatsConnector::EnableRlcStats(), m_radioBearerStatsConnector, m_rlcStats, and NS_ASSERT_MSG.
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), EnableTraces(), and main().
void ns3::LteHelper::EnableTraces | ( | void | ) |
Enables trace sinks for PHY, MAC, RLC and PDCP.
To make sure all nodes are traced, traces should be enabled once all UEs and eNodeBs are in place and connected, just before starting the simulation.
Definition at line 948 of file lte-helper.cc.
References EnableMacTraces(), EnablePdcpTraces(), EnablePhyTraces(), and EnableRlcTraces().
Referenced by main().
void ns3::LteHelper::EnableUlMacTraces | ( | void | ) |
Enable trace sinks for UL MAC layer.
Definition at line 1061 of file lte-helper.cc.
References ns3::Config::Connect(), m_macStats, ns3::MakeBoundCallback(), NS_LOG_FUNCTION_NOARGS, and ns3::MacStatsCalculator::UlSchedulingCallback().
Referenced by EnableMacTraces().
void ns3::LteHelper::EnableUlPhyTraces | ( | void | ) |
Enable trace sinks for UL PHY layer.
Definition at line 1077 of file lte-helper.cc.
References ns3::Config::Connect(), m_phyStats, ns3::MakeBoundCallback(), NS_LOG_FUNCTION_NOARGS, ns3::PhyStatsCalculator::ReportInterference(), and ns3::PhyStatsCalculator::ReportUeSinr().
Referenced by EnablePhyTraces().
void ns3::LteHelper::EnableUlRxPhyTraces | ( | void | ) |
Enable trace sinks for UL reception PHY layer.
Definition at line 1037 of file lte-helper.cc.
References ns3::Config::Connect(), m_phyRxStats, ns3::MakeBoundCallback(), and ns3::PhyRxStatsCalculator::UlPhyReceptionCallback().
Referenced by EnablePhyTraces().
void ns3::LteHelper::EnableUlTxPhyTraces | ( | void | ) |
Enable trace sinks for UL transmission PHY layer.
Definition at line 1023 of file lte-helper.cc.
References ns3::Config::Connect(), m_phyTxStats, ns3::MakeBoundCallback(), and ns3::PhyTxStatsCalculator::UlPhyTransmissionCallback().
Referenced by EnablePhyTraces().
std::string ns3::LteHelper::GetHandoverAlgorithmType | ( | ) | const |
Definition at line 232 of file lte-helper.cc.
References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), and m_handoverAlgorithmFactory.
Referenced by GetTypeId().
Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetPdcpStats | ( | void | ) |
Definition at line 1102 of file lte-helper.cc.
References m_pdcpStats.
Referenced by main().
Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetRlcStats | ( | void | ) |
Definition at line 1088 of file lte-helper.cc.
References m_rlcStats.
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), and main().
std::string ns3::LteHelper::GetSchedulerType | ( | ) | const |
Definition at line 219 of file lte-helper.cc.
References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), and m_schedulerFactory.
Referenced by GetTypeId().
|
static |
Definition at line 140 of file lte-helper.cc.
References GetHandoverAlgorithmType(), GetSchedulerType(), m_isAnrEnabled, m_useIdealRrc, SetFadingModel(), SetHandoverAlgorithmType(), ns3::TypeId::SetParent(), SetPathlossModelType(), and SetSchedulerType().
void ns3::LteHelper::HandoverRequest | ( | Time | hoTime, |
Ptr< NetDevice > | ueDev, | ||
Ptr< NetDevice > | sourceEnbDev, | ||
Ptr< NetDevice > | targetEnbDev | ||
) |
Manually trigger an X2-based handover of a UE between two eNBs at a specific simulation time.
hoTime | when the Handover is initiated |
ueDev | the UE that hands off, must be of the type LteUeNetDevice |
sourceEnbDev | source eNB, must be of the type LteEnbNetDevice (originally the UE is attached to this eNB) |
targetEnbDev | target eNB, must be of the type LteEnbNetDevice (the UE is finally connected to this eNB) |
Definition at line 878 of file lte-helper.cc.
References DoHandoverRequest(), m_epcHelper, NS_ASSERT_MSG, NS_LOG_FUNCTION, and ns3::Simulator::Schedule().
Referenced by main().
NetDeviceContainer ns3::LteHelper::InstallEnbDevice | ( | NodeContainer | c | ) |
create a set of eNB devices
c | the node container where the devices are to be installed |
Definition at line 347 of file lte-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), first::devices, ns3::NodeContainer::End(), ns3::Object::Initialize(), InstallSingleEnbDevice(), and NS_LOG_FUNCTION.
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), and main().
Create an eNodeB device (LteEnbNetDevice) on the given node.
n | the node where the device is to be installed |
Definition at line 377 of file lte-helper.cc.
References ns3::Node::AddDevice(), ns3::ObjectFactory::Create(), ns3::EnumValue::Get(), ns3::Node::GetApplication(), ns3::LteSpectrumValueHelper::GetCarrierFrequency(), ns3::Object::GetObject(), m_cellIdCounter, m_downlinkChannel, m_downlinkPathlossModel, m_enbAntennaModelFactory, m_enbNetDeviceFactory, m_epcHelper, m_handoverAlgorithmFactory, m_isAnrEnabled, m_schedulerFactory, m_uplinkChannel, m_uplinkPathlossModel, m_useIdealRrc, ns3::MakeCallback(), NS_ABORT_MSG_IF, NS_ASSERT_MSG, NS_LOG_INFO, NS_LOG_LOGIC, NS_LOG_WARN, ns3::LteEnbPhy::PhyPduReceived(), ns3::LteNetDevice::Receive(), ns3::LteEnbPhy::ReceiveLteControlMessageList(), ns3::LteEnbPhy::ReceiveLteUlHarqFeedback(), ns3::LteEnbRrc::RLC_SM_ALWAYS, ns3::LteEnbRrc::RLC_UM_ALWAYS, and ns3::ObjectBase::SetAttributeFailSafe().
Referenced by InstallEnbDevice().
Create a UE device (LteUeNetDevice) on the given node.
n | the node where the device is to be installed |
Definition at line 535 of file lte-helper.cc.
References ns3::Node::AddDevice(), ns3::ObjectFactory::Create(), ns3::Object::GetObject(), m_downlinkChannel, m_epcHelper, m_imsiCounter, m_ueAntennaModelFactory, m_ueNetDeviceFactory, m_uplinkChannel, m_useIdealRrc, ns3::MakeCallback(), NS_ABORT_MSG_IF, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::LteUePhy::PhyPduReceived(), ns3::LteNetDevice::Receive(), ns3::LteUePhy::ReceiveLteControlMessageList(), ns3::LteUePhy::ReceiveLteDlHarqFeedback(), and ns3::LteUePhy::ReceivePss().
Referenced by InstallUeDevice().
NetDeviceContainer ns3::LteHelper::InstallUeDevice | ( | NodeContainer | c | ) |
create a set of UE devices
c | the node container where the devices are to be installed |
Definition at line 362 of file lte-helper.cc.
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), first::devices, ns3::NodeContainer::End(), InstallSingleUeDevice(), and NS_LOG_FUNCTION.
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), and main().
void ns3::LteHelper::SetEnbAntennaModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the AntennaModel to be used for the eNBs
n | the name of the attribute |
v | the value of the attribute |
Definition at line 287 of file lte-helper.cc.
References m_enbAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by main().
void ns3::LteHelper::SetEnbAntennaModelType | ( | std::string | type | ) |
type | the type of AntennaModel to be used for the eNBs |
Definition at line 280 of file lte-helper.cc.
References m_enbAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
Referenced by main().
void ns3::LteHelper::SetEnbDeviceAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the LteEnbNetDevice to be created
n | the name of the attribute |
v | the value of the attribute |
Definition at line 272 of file lte-helper.cc.
References m_enbNetDeviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by main().
Set the EpcHelper to be used to setup the EPC network in conjunction with the setup of the LTE radio access network.
h | a pointer to the EpcHelper to be used |
Definition at line 204 of file lte-helper.cc.
References m_epcHelper, and NS_LOG_FUNCTION.
Referenced by main().
void ns3::LteHelper::SetFadingModel | ( | std::string | model | ) |
model | the fading model to be used |
Definition at line 315 of file lte-helper.cc.
References m_fadingModelFactory, m_fadingModelType, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().
Referenced by GetTypeId().
void ns3::LteHelper::SetFadingModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute of the fading model
n | the name of the attribute |
v | the value of the attribute |
Definition at line 327 of file lte-helper.cc.
References m_fadingModelFactory, and ns3::ObjectFactory::Set().
Referenced by main().
void ns3::LteHelper::SetHandoverAlgorithmAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the handover algorithm to be created
n | the name of the attribute |
v | the value of the attribute |
Definition at line 246 of file lte-helper.cc.
References m_handoverAlgorithmFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by main().
void ns3::LteHelper::SetHandoverAlgorithmType | ( | std::string | type | ) |
type | the type of handover algorithm to be used for the eNBs |
Definition at line 238 of file lte-helper.cc.
References m_handoverAlgorithmFactory, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().
Referenced by GetTypeId(), and main().
void ns3::LteHelper::SetPathlossModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the pathloss model to be created
n | the name of the attribute |
v | the value of the attribute |
Definition at line 264 of file lte-helper.cc.
References m_dlPathlossModelFactory, m_ulPathlossModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by main().
void ns3::LteHelper::SetPathlossModelType | ( | std::string | type | ) |
type | the type of pathloss model to be used for the eNBs |
Definition at line 254 of file lte-helper.cc.
References m_dlPathlossModelFactory, m_ulPathlossModelFactory, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().
Referenced by GetTypeId().
void ns3::LteHelper::SetSchedulerAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the scheduler to be created
n | the name of the attribute |
v | the value of the attribute |
Definition at line 225 of file lte-helper.cc.
References m_schedulerFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by main().
void ns3::LteHelper::SetSchedulerType | ( | std::string | type | ) |
type | the type of scheduler to be used for the eNBs |
Definition at line 211 of file lte-helper.cc.
References m_schedulerFactory, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().
Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), GetTypeId(), and main().
void ns3::LteHelper::SetSpectrumChannelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the SpectrumChannel to be used for the UEs
n | the name of the attribute |
v | the value of the attribute |
Definition at line 340 of file lte-helper.cc.
References m_channelFactory, and ns3::ObjectFactory::Set().
void ns3::LteHelper::SetSpectrumChannelType | ( | std::string | type | ) |
type | the type of SpectrumChannel to be used for the UEs |
Definition at line 333 of file lte-helper.cc.
References m_channelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
Referenced by main().
void ns3::LteHelper::SetUeAntennaModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the AntennaModel to be used for the UEs
n | the name of the attribute |
v | the value of the attribute |
Definition at line 308 of file lte-helper.cc.
References m_ueAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
void ns3::LteHelper::SetUeAntennaModelType | ( | std::string | type | ) |
type | the type of AntennaModel to be used for the UEs |
Definition at line 301 of file lte-helper.cc.
References m_ueAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
void ns3::LteHelper::SetUeDeviceAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the LteUeNetDevice to be created
n | the name of the attribute |
v | the value of the attribute |
Definition at line 294 of file lte-helper.cc.
References m_ueNetDeviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by main().
|
private |
Definition at line 569 of file lte-helper.h.
Referenced by InstallSingleEnbDevice().
|
private |
Definition at line 551 of file lte-helper.h.
Referenced by DoInitialize(), LteHelper(), SetSpectrumChannelAttribute(), and SetSpectrumChannelType().
|
private |
Definition at line 548 of file lte-helper.h.
Referenced by DoInitialize(), EnableLogComponents(), SetPathlossModelAttribute(), and SetPathlossModelType().
|
private |
Definition at line 534 of file lte-helper.h.
Referenced by DoDispose(), DoInitialize(), InstallSingleEnbDevice(), and InstallSingleUeDevice().
Definition at line 537 of file lte-helper.h.
Referenced by DoInitialize(), and InstallSingleEnbDevice().
|
private |
Definition at line 544 of file lte-helper.h.
Referenced by InstallSingleEnbDevice(), LteHelper(), SetEnbAntennaModelAttribute(), and SetEnbAntennaModelType().
|
private |
Definition at line 543 of file lte-helper.h.
Referenced by InstallSingleEnbDevice(), LteHelper(), and SetEnbDeviceAttribute().
Definition at line 566 of file lte-helper.h.
Referenced by ActivateDataRadioBearer(), ActivateDedicatedEpsBearer(), AddX2Interface(), Attach(), HandoverRequest(), InstallSingleEnbDevice(), InstallSingleUeDevice(), and SetEpcHelper().
|
private |
Definition at line 554 of file lte-helper.h.
Referenced by DoInitialize(), SetFadingModel(), and SetFadingModelAttribute().
|
private |
Definition at line 553 of file lte-helper.h.
Referenced by DoInitialize(), and SetFadingModel().
|
private |
Definition at line 555 of file lte-helper.h.
Referenced by AssignStreams(), and DoInitialize().
|
private |
Definition at line 556 of file lte-helper.h.
Referenced by AssignStreams().
|
private |
Definition at line 541 of file lte-helper.h.
Referenced by GetHandoverAlgorithmType(), InstallSingleEnbDevice(), SetHandoverAlgorithmAttribute(), and SetHandoverAlgorithmType().
|
private |
Definition at line 568 of file lte-helper.h.
Referenced by InstallSingleUeDevice().
|
private |
Definition at line 572 of file lte-helper.h.
Referenced by GetTypeId(), and InstallSingleEnbDevice().
|
private |
Definition at line 561 of file lte-helper.h.
Referenced by DoInitialize(), EnableDlMacTraces(), and EnableUlMacTraces().
|
private |
Definition at line 563 of file lte-helper.h.
Referenced by EnablePdcpTraces(), and GetPdcpStats().
|
private |
Definition at line 560 of file lte-helper.h.
Referenced by DoInitialize(), EnableDlRxPhyTraces(), and EnableUlRxPhyTraces().
|
private |
Definition at line 558 of file lte-helper.h.
Referenced by DoInitialize(), EnableDlPhyTraces(), and EnableUlPhyTraces().
|
private |
Definition at line 559 of file lte-helper.h.
Referenced by DoInitialize(), EnableDlTxPhyTraces(), and EnableUlTxPhyTraces().
|
private |
Definition at line 542 of file lte-helper.h.
|
private |
Definition at line 564 of file lte-helper.h.
Referenced by EnablePdcpTraces(), and EnableRlcTraces().
|
private |
Definition at line 562 of file lte-helper.h.
Referenced by EnableRlcTraces(), and GetRlcStats().
|
private |
Definition at line 540 of file lte-helper.h.
Referenced by GetSchedulerType(), InstallSingleEnbDevice(), SetSchedulerAttribute(), and SetSchedulerType().
|
private |
Definition at line 546 of file lte-helper.h.
Referenced by InstallSingleUeDevice(), LteHelper(), SetUeAntennaModelAttribute(), and SetUeAntennaModelType().
|
private |
Definition at line 545 of file lte-helper.h.
Referenced by InstallSingleUeDevice(), LteHelper(), and SetUeDeviceAttribute().
|
private |
Definition at line 549 of file lte-helper.h.
Referenced by DoInitialize(), SetPathlossModelAttribute(), and SetPathlossModelType().
|
private |
Definition at line 535 of file lte-helper.h.
Referenced by DoDispose(), DoInitialize(), InstallSingleEnbDevice(), and InstallSingleUeDevice().
Definition at line 538 of file lte-helper.h.
Referenced by DoInitialize(), and InstallSingleEnbDevice().
|
private |
Definition at line 571 of file lte-helper.h.
Referenced by GetTypeId(), InstallSingleEnbDevice(), and InstallSingleUeDevice().