A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::LteHelper Class Reference

Creation and configuration of LTE entities. More...

#include <lte-helper.h>

+ Inheritance diagram for ns3::LteHelper:
+ Collaboration diagram for ns3::LteHelper:

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< RadioBearerStatsCalculatorGetPdcpStats (void)
 
Ptr< RadioBearerStatsCalculatorGetRlcStats (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...
 
SimpleRefCountoperator= (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< NetDeviceInstallSingleEnbDevice (Ptr< Node > n)
 Create an eNodeB device (LteEnbNetDevice) on the given node. More...
 
Ptr< NetDeviceInstallSingleUeDevice (Ptr< Node > n)
 Create a UE device (LteUeNetDevice) on the given node. More...
 

Private Attributes

uint16_t m_cellIdCounter
 
ObjectFactory m_channelFactory
 
ObjectFactory m_dlPathlossModelFactory
 
Ptr< SpectrumChannelm_downlinkChannel
 
Ptr< Objectm_downlinkPathlossModel
 
ObjectFactory m_enbAntennaModelFactory
 
ObjectFactory m_enbNetDeviceFactory
 
Ptr< EpcHelperm_epcHelper
 
ObjectFactory m_fadingModelFactory
 
std::string m_fadingModelType
 
Ptr< SpectrumPropagationLossModelm_fadingModule
 
bool m_fadingStreamsAssigned
 
ObjectFactory m_handoverAlgorithmFactory
 
uint64_t m_imsiCounter
 
bool m_isAnrEnabled
 
Ptr< MacStatsCalculatorm_macStats
 
Ptr< RadioBearerStatsCalculatorm_pdcpStats
 
Ptr< PhyRxStatsCalculatorm_phyRxStats
 
Ptr< PhyStatsCalculatorm_phyStats
 
Ptr< PhyTxStatsCalculatorm_phyTxStats
 
ObjectFactory m_propagationModelFactory
 
RadioBearerStatsConnector m_radioBearerStatsConnector
 
Ptr< RadioBearerStatsCalculatorm_rlcStats
 
ObjectFactory m_schedulerFactory
 
ObjectFactory m_ueAntennaModelFactory
 
ObjectFactory m_ueNetDeviceFactory
 
ObjectFactory m_ulPathlossModelFactory
 
Ptr< SpectrumChannelm_uplinkChannel
 
Ptr< Objectm_uplinkPathlossModel
 
bool m_useIdealRrc
 

Detailed Description

Creation and configuration of LTE entities.

Doxygen introspection did not find any typical Config paths.


Attributes

  • Scheduler: The type of scheduler to be used for eNBs. The allowed values for this attributes are the type names of any class inheriting from ns3::FfMacScheduler.
  • HandoverAlgorithm: The type of handover algorithm to be used for eNBs. The allowed values for this attributes are the type names of any class inheriting from ns3::HandoverAlgorithm.
  • PathlossModel: The type of pathloss model to be used. The allowed values for this attributes are the type names of any class inheriting from ns3::PropagationLossModel.
  • FadingModel: The type of fading model to be used.The allowed values for this attributes are the type names of any class inheriting from ns3::SpectrumPropagationLossModel.If the type is set to an empty string, no fading model is used.
    • Set with class: StringValue
    • Underlying type:
    • Initial value:
    • Flags: construct write
  • UseIdealRrc: If true, LteRrcProtocolIdeal will be used for RRC signaling. If false, LteRrcProtocolReal will be used.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • AnrEnabled: Activate or deactivate Automatic Neighbour Relation function
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read

No TraceSources are defined for this type.

Definition at line 55 of file lte-helper.h.

Member Enumeration Documentation

Enumerator
RLC_SM_ALWAYS 
RLC_UM_ALWAYS 
RLC_AM_ALWAYS 
PER_BASED 

Definition at line 482 of file lte-helper.h.

Constructor & Destructor Documentation

ns3::LteHelper::~LteHelper ( void  )
virtual

Definition at line 134 of file lte-helper.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::LteHelper::ActivateDataRadioBearer ( Ptr< NetDevice ueDevice,
EpsBearer  bearer 
)

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.

Parameters
ueDevicethe device of the UE for which the radio bearer is to be activated
bearerthe characteristics of the bearer to be activated

Definition at line 830 of file lte-helper.cc.

References ns3::DrbActivator::ActivateCallback(), ns3::Config::Connect(), ns3::Node::GetId(), ns3::LteNetDevice::GetIfIndex(), ns3::LteNetDevice::GetNode(), m_epcHelper, ns3::MakeBoundCallback(), NS_ASSERT_MSG, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteHelper::ActivateDedicatedEpsBearer ( NetDeviceContainer  ueDevices,
EpsBearer  bearer,
Ptr< EpcTft tft 
)

Activate a dedicated EPS bearer on a given set of UE devices.

Parameters
ueDevicesthe set of UE devices
bearerthe characteristics of the bearer to be activated
tftthe Traffic Flow Template that identifies the traffic to go on this bearer

Definition at line 754 of file lte-helper.cc.

References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.

Referenced by LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LteX2HandoverTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::ActivateDedicatedEpsBearer ( Ptr< NetDevice ueDevice,
EpsBearer  bearer,
Ptr< EpcTft tft 
)

Activate a dedicated EPS bearer on a given UE device.

Parameters
ueDevicethe UE device
bearerthe characteristics of the bearer to be activated
tftthe Traffic Flow Template that identifies the traffic to go on this bearer

Definition at line 765 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.

Parameters
enbNodesthe set of eNB nodes

Definition at line 852 of file lte-helper.cc.

References ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), m_epcHelper, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by LteX2HandoverTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::AddX2Interface ( Ptr< Node enbNode1,
Ptr< Node enbNode2 
)

Create an X2 interface between two eNBs.

Parameters
enbNode1one eNB of the X2 interface
enbNode2the other eNB of the X2 interface

Definition at line 868 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.

Parameters
cNetDeviceContainer of the set of net devices for which the LteNetDevice should be modified to use a fixed stream
streamfirst stream index to use
Returns
the number of stream indices assigned by this helper

Definition at line 964 of file lte-helper.cc.

References ns3::TraceFadingLossModel::AssignStreams(), ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), ns3::LteEnbNetDevice::GetPhy(), m_fadingModule, and m_fadingStreamsAssigned.

Referenced by LenaDataPhyErrorModelTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), and LteCellSelectionTestCase::DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Parameters
ueDevicesthe 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 646 of file lte-helper.cc.

References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.

Referenced by Attach(), AttachToClosestEnb(), LteRrcConnectionEstablishmentTestCase::Connect(), LenaMimoTestCase::DoRun(), LenaHarqTestCase::DoRun(), LenaRrFfMacSchedulerTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LenaPfFfMacSchedulerTestCase1::DoRun(), LenaFdBetFfMacSchedulerTestCase1::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaTdBetFfMacSchedulerTestCase1::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LteLinkAdaptationTestCase::DoRun(), LteInterferenceTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), LenaPfFfMacSchedulerTestCase2::DoRun(), LenaFdBetFfMacSchedulerTestCase2::DoRun(), LenaTdBetFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LteUeMeasurementsTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), LteFadingTestSuite::LteFadingTestSuite(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::Attach ( Ptr< NetDevice ueDevice)

Enables automatic attachment of a UE device to a suitable cell using Idle mode initial cell selection procedure.

Parameters
ueDevicethe 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 656 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.

+ Here is the call graph for this 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.

Parameters
ueDevicesthe set of UE devices to be attached
enbDevicethe 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 687 of file lte-helper.cc.

References Attach(), ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteHelper::Attach ( Ptr< NetDevice ueDevice,
Ptr< NetDevice enbDevice 
)

Manual attachment of a UE device to the network via a given eNodeB.

Parameters
ueDevicethe UE device to be attached
enbDevicethe 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 697 of file lte-helper.cc.

References ns3::EpcTft::Default(), m_epcHelper, ns3::EpsBearer::NGBR_VIDEO_TCP_DEFAULT, and NS_LOG_FUNCTION.

+ Here is the call graph for this 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.

Parameters
ueDevicesthe set of UE devices to be attached
enbDevicesthe 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.

See also
LteHelper::Attach(NetDeviceContainer ueDevices);

Definition at line 722 of file lte-helper.cc.

References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Parameters
ueDevicethe UE device to be attached
enbDevicesthe 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.

See also
LteHelper::Attach(Ptr<NetDevice> ueDevice);

Definition at line 732 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.

+ Here is the call graph for this function:

void ns3::LteHelper::DoDispose ( void  )
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 193 of file lte-helper.cc.

References ns3::Object::DoDispose(), m_downlinkChannel, m_uplinkChannel, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteHelper::DoHandoverRequest ( Ptr< NetDevice ueDev,
Ptr< NetDevice sourceEnbDev,
Ptr< NetDevice targetEnbDev 
)
private

The actual function to trigger a manual handover.

Parameters
ueDevthe UE that hands off, must be of the type LteUeNetDevice
sourceEnbDevsource eNB, must be of the type LteEnbNetDevice (originally the UE is attached to this eNB)
targetEnbDevtarget 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 885 of file lte-helper.cc.

References NS_LOG_FUNCTION.

Referenced by HandoverRequest().

+ Here is the caller graph for this function:

void ns3::LteHelper::DoInitialize ( void  )
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 84 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.

+ Here is the call graph for this function:

void ns3::LteHelper::EnableDlMacTraces ( void  )

Enable trace sinks for DL MAC layer.

Definition at line 1052 of file lte-helper.cc.

References ns3::Config::Connect(), ns3::MacStatsCalculator::DlSchedulingCallback(), m_macStats, ns3::MakeBoundCallback(), and NS_LOG_FUNCTION_NOARGS.

Referenced by EnableMacTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableDlPhyTraces ( void  )

Enable trace sinks for DL PHY layer.

Definition at line 1068 of file lte-helper.cc.

References ns3::Config::Connect(), m_phyStats, ns3::MakeBoundCallback(), NS_LOG_FUNCTION_NOARGS, and ns3::PhyStatsCalculator::ReportCurrentCellRsrpSinrCallback().

Referenced by EnablePhyTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableDlRxPhyTraces ( void  )

Enable trace sinks for DL reception PHY layer.

Definition at line 1029 of file lte-helper.cc.

References ns3::Config::Connect(), ns3::PhyRxStatsCalculator::DlPhyReceptionCallback(), m_phyRxStats, and ns3::MakeBoundCallback().

Referenced by EnablePhyTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableDlTxPhyTraces ( void  )

Enable trace sinks for DL transmission PHY layer.

Definition at line 1015 of file lte-helper.cc.

References ns3::Config::Connect(), ns3::PhyTxStatsCalculator::DlPhyTransmissionCallback(), m_phyTxStats, and ns3::MakeBoundCallback().

Referenced by EnablePhyTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableLogComponents ( void  )

Enables logging for all components of the LENA architecture.

Definition at line 910 of file lte-helper.cc.

References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), ns3::LOG_LEVEL_ALL, ns3::LogComponentEnable(), and m_dlPathlossModelFactory.

+ Here is the call graph for this function:

void ns3::LteHelper::EnablePdcpTraces ( void  )

Enable trace sinks for PDCP layer.

Definition at line 1093 of file lte-helper.cc.

References ns3::RadioBearerStatsConnector::EnablePdcpStats(), m_pdcpStats, m_radioBearerStatsConnector, and NS_ASSERT_MSG.

Referenced by LteEpcE2eDataTestCase::DoRun(), EnableTraces(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnablePhyTraces ( void  )

Enable trace sinks for PHY layer.

Definition at line 1004 of file lte-helper.cc.

References EnableDlPhyTraces(), EnableDlRxPhyTraces(), EnableDlTxPhyTraces(), EnableUlPhyTraces(), EnableUlRxPhyTraces(), and EnableUlTxPhyTraces().

Referenced by EnableTraces(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 947 of file lte-helper.cc.

References EnableMacTraces(), EnablePdcpTraces(), EnablePhyTraces(), and EnableRlcTraces().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableUlMacTraces ( void  )

Enable trace sinks for UL MAC layer.

Definition at line 1060 of file lte-helper.cc.

References ns3::Config::Connect(), m_macStats, ns3::MakeBoundCallback(), NS_LOG_FUNCTION_NOARGS, and ns3::MacStatsCalculator::UlSchedulingCallback().

Referenced by EnableMacTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableUlPhyTraces ( void  )

Enable trace sinks for UL PHY layer.

Definition at line 1076 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableUlRxPhyTraces ( void  )

Enable trace sinks for UL reception PHY layer.

Definition at line 1036 of file lte-helper.cc.

References ns3::Config::Connect(), m_phyRxStats, ns3::MakeBoundCallback(), and ns3::PhyRxStatsCalculator::UlPhyReceptionCallback().

Referenced by EnablePhyTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::EnableUlTxPhyTraces ( void  )

Enable trace sinks for UL transmission PHY layer.

Definition at line 1022 of file lte-helper.cc.

References ns3::Config::Connect(), m_phyTxStats, ns3::MakeBoundCallback(), and ns3::PhyTxStatsCalculator::UlPhyTransmissionCallback().

Referenced by EnablePhyTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string ns3::LteHelper::GetHandoverAlgorithmType ( ) const
Returns
the handover algorithm type

Definition at line 231 of file lte-helper.cc.

References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), and m_handoverAlgorithmFactory.

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetPdcpStats ( void  )
Returns
the PDCP stats calculator object

Definition at line 1101 of file lte-helper.cc.

References m_pdcpStats.

Referenced by LteEpcE2eDataTestCase::DoRun(), and main().

+ Here is the caller graph for this function:

std::string ns3::LteHelper::GetSchedulerType ( ) const
Returns
the scheduler type

Definition at line 218 of file lte-helper.cc.

References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), and m_schedulerFactory.

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TypeId ns3::LteHelper::GetTypeId ( void  )
static
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.

Parameters
hoTimewhen the Handover is initiated
ueDevthe UE that hands off, must be of the type LteUeNetDevice
sourceEnbDevsource eNB, must be of the type LteEnbNetDevice (originally the UE is attached to this eNB)
targetEnbDevtarget eNB, must be of the type LteEnbNetDevice (the UE is finally connected to this eNB)
Warning
Requires the use of EPC mode. See SetEpcHelper() method.

Definition at line 877 of file lte-helper.cc.

References DoHandoverRequest(), m_epcHelper, NS_ASSERT_MSG, NS_LOG_FUNCTION, and ns3::Simulator::Schedule().

Referenced by LteX2HandoverTestCase::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

NetDeviceContainer ns3::LteHelper::InstallEnbDevice ( NodeContainer  c)

create a set of eNB devices

Parameters
cthe node container where the devices are to be installed
Returns
the NetDeviceContainer with the newly created devices

Definition at line 346 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 LenaMimoTestCase::DoRun(), LenaHarqTestCase::DoRun(), LenaRrFfMacSchedulerTestCase::DoRun(), LteRrcConnectionEstablishmentTestCase::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaPfFfMacSchedulerTestCase1::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaFdBetFfMacSchedulerTestCase1::DoRun(), LenaTdBetFfMacSchedulerTestCase1::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LteLinkAdaptationTestCase::DoRun(), LteInterferenceTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), LenaPfFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaFdBetFfMacSchedulerTestCase2::DoRun(), LenaTdBetFfMacSchedulerTestCase2::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LteUeMeasurementsTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), LteFadingTestSuite::LteFadingTestSuite(), main(), and ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< NetDevice > ns3::LteHelper::InstallSingleUeDevice ( Ptr< Node n)
private

Create a UE device (LteUeNetDevice) on the given node.

Parameters
nthe node where the device is to be installed
Returns
pointer to the created device

Definition at line 534 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

NetDeviceContainer ns3::LteHelper::InstallUeDevice ( NodeContainer  c)

create a set of UE devices

Parameters
cthe node container where the devices are to be installed
Returns
the NetDeviceContainer with the newly created devices

Definition at line 361 of file lte-helper.cc.

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), first::devices, ns3::NodeContainer::End(), InstallSingleUeDevice(), and NS_LOG_FUNCTION.

Referenced by LenaMimoTestCase::DoRun(), LenaHarqTestCase::DoRun(), LenaRrFfMacSchedulerTestCase::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LteRrcConnectionEstablishmentTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaPfFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTdBetFfMacSchedulerTestCase1::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaFdBetFfMacSchedulerTestCase1::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LteLinkAdaptationTestCase::DoRun(), LteInterferenceTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), LenaPfFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaFdBetFfMacSchedulerTestCase2::DoRun(), LenaTdBetFfMacSchedulerTestCase2::DoRun(), LteUeMeasurementsTestCase::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), LteFadingTestSuite::LteFadingTestSuite(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetEnbAntennaModelAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the AntennaModel to be used for the eNBs

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 286 of file lte-helper.cc.

References m_enbAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by LteEnbAntennaTestCase::DoRun(), main(), and ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetEnbAntennaModelType ( std::string  type)
Parameters
typethe type of AntennaModel to be used for the eNBs

Definition at line 279 of file lte-helper.cc.

References m_enbAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().

Referenced by LteEnbAntennaTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetEnbDeviceAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the LteEnbNetDevice to be created

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 271 of file lte-helper.cc.

References m_enbNetDeviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by LtePathlossModelSystemTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::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.

Note
if no EpcHelper is ever set, then LteHelper will default to creating an LTE-only simulation with no EPC, using LteRlcSm as the RLC model, and without supporting any IP networking. In other words, it will be a radio-level simulation involving only LTE PHY and MAC and the FF Scheduler, with a saturation traffic model for the RLC.
Parameters
ha pointer to the EpcHelper to be used

Definition at line 203 of file lte-helper.cc.

References m_epcHelper, and NS_LOG_FUNCTION.

Referenced by LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LteX2HandoverTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), and main().

+ Here is the caller graph for this function:

void ns3::LteHelper::SetFadingModel ( std::string  model)
Parameters
modelthe fading model to be used

Definition at line 314 of file lte-helper.cc.

References m_fadingModelFactory, m_fadingModelType, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetFadingModelAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute of the fading model

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 326 of file lte-helper.cc.

References m_fadingModelFactory, and ns3::ObjectFactory::Set().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetHandoverAlgorithmAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the handover algorithm to be created

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 245 of file lte-helper.cc.

References m_handoverAlgorithmFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by LteX2HandoverMeasuresTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetHandoverAlgorithmType ( std::string  type)
Parameters
typethe type of handover algorithm to be used for the eNBs

Definition at line 237 of file lte-helper.cc.

References m_handoverAlgorithmFactory, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().

Referenced by LteX2HandoverTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), GetTypeId(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetPathlossModelAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the pathloss model to be created

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 263 of file lte-helper.cc.

References m_dlPathlossModelFactory, m_ulPathlossModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by LenaMimoTestCase::DoRun(), LenaHarqTestCase::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LteLinkAdaptationTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetPathlossModelType ( std::string  type)
Parameters
typethe type of pathloss model to be used for the eNBs

Definition at line 253 of file lte-helper.cc.

References m_dlPathlossModelFactory, m_ulPathlossModelFactory, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetSchedulerAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the scheduler to be created

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 224 of file lte-helper.cc.

References m_schedulerFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by LenaHarqTestCase::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LteInterferenceTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LteUeMeasurementsTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetSchedulerType ( std::string  type)
Parameters
typethe type of scheduler to be used for the eNBs

Definition at line 210 of file lte-helper.cc.

References m_schedulerFactory, NS_LOG_FUNCTION, ns3::Object::ObjectFactory, and ns3::ObjectFactory::SetTypeId().

Referenced by LenaMimoTestCase::DoRun(), LenaHarqTestCase::DoRun(), LenaRrFfMacSchedulerTestCase::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaPfFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaFdBetFfMacSchedulerTestCase1::DoRun(), LenaTdBetFfMacSchedulerTestCase1::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LteLinkAdaptationTestCase::DoRun(), LteInterferenceTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), LenaPfFfMacSchedulerTestCase2::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LenaTdBetFfMacSchedulerTestCase2::DoRun(), LenaFdBetFfMacSchedulerTestCase2::DoRun(), LteUeMeasurementsTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), GetTypeId(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetSpectrumChannelAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the SpectrumChannel to be used for the UEs

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 339 of file lte-helper.cc.

References m_channelFactory, and ns3::ObjectFactory::Set().

+ Here is the call graph for this function:

void ns3::LteHelper::SetSpectrumChannelType ( std::string  type)
Parameters
typethe type of SpectrumChannel to be used for the UEs

Definition at line 332 of file lte-helper.cc.

References m_channelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteHelper::SetUeAntennaModelAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the AntennaModel to be used for the UEs

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 307 of file lte-helper.cc.

References m_ueAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

+ Here is the call graph for this function:

void ns3::LteHelper::SetUeAntennaModelType ( std::string  type)
Parameters
typethe type of AntennaModel to be used for the UEs

Definition at line 300 of file lte-helper.cc.

References m_ueAntennaModelFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().

+ Here is the call graph for this function:

void ns3::LteHelper::SetUeDeviceAttribute ( std::string  n,
const AttributeValue v 
)

set an attribute for the LteUeNetDevice to be created

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 293 of file lte-helper.cc.

References m_ueNetDeviceFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().

Referenced by LtePathlossModelSystemTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

uint16_t ns3::LteHelper::m_cellIdCounter
private

Definition at line 569 of file lte-helper.h.

Referenced by InstallSingleEnbDevice().

ObjectFactory ns3::LteHelper::m_channelFactory
private
ObjectFactory ns3::LteHelper::m_dlPathlossModelFactory
private
Ptr<SpectrumChannel> ns3::LteHelper::m_downlinkChannel
private
Ptr<Object> ns3::LteHelper::m_downlinkPathlossModel
private

Definition at line 537 of file lte-helper.h.

Referenced by DoInitialize(), and InstallSingleEnbDevice().

ObjectFactory ns3::LteHelper::m_enbAntennaModelFactory
private
ObjectFactory ns3::LteHelper::m_enbNetDeviceFactory
private

Definition at line 543 of file lte-helper.h.

Referenced by InstallSingleEnbDevice(), LteHelper(), and SetEnbDeviceAttribute().

ObjectFactory ns3::LteHelper::m_fadingModelFactory
private

Definition at line 554 of file lte-helper.h.

Referenced by DoInitialize(), SetFadingModel(), and SetFadingModelAttribute().

std::string ns3::LteHelper::m_fadingModelType
private

Definition at line 553 of file lte-helper.h.

Referenced by DoInitialize(), and SetFadingModel().

Ptr<SpectrumPropagationLossModel> ns3::LteHelper::m_fadingModule
private

Definition at line 555 of file lte-helper.h.

Referenced by AssignStreams(), and DoInitialize().

bool ns3::LteHelper::m_fadingStreamsAssigned
private

Definition at line 556 of file lte-helper.h.

Referenced by AssignStreams().

ObjectFactory ns3::LteHelper::m_handoverAlgorithmFactory
private
uint64_t ns3::LteHelper::m_imsiCounter
private

Definition at line 568 of file lte-helper.h.

Referenced by InstallSingleUeDevice().

bool ns3::LteHelper::m_isAnrEnabled
private

Definition at line 572 of file lte-helper.h.

Referenced by GetTypeId(), and InstallSingleEnbDevice().

Ptr<MacStatsCalculator> ns3::LteHelper::m_macStats
private

Definition at line 561 of file lte-helper.h.

Referenced by DoInitialize(), EnableDlMacTraces(), and EnableUlMacTraces().

Ptr<RadioBearerStatsCalculator> ns3::LteHelper::m_pdcpStats
private

Definition at line 563 of file lte-helper.h.

Referenced by EnablePdcpTraces(), and GetPdcpStats().

Ptr<PhyRxStatsCalculator> ns3::LteHelper::m_phyRxStats
private

Definition at line 560 of file lte-helper.h.

Referenced by DoInitialize(), EnableDlRxPhyTraces(), and EnableUlRxPhyTraces().

Ptr<PhyStatsCalculator> ns3::LteHelper::m_phyStats
private

Definition at line 558 of file lte-helper.h.

Referenced by DoInitialize(), EnableDlPhyTraces(), and EnableUlPhyTraces().

Ptr<PhyTxStatsCalculator> ns3::LteHelper::m_phyTxStats
private

Definition at line 559 of file lte-helper.h.

Referenced by DoInitialize(), EnableDlTxPhyTraces(), and EnableUlTxPhyTraces().

ObjectFactory ns3::LteHelper::m_propagationModelFactory
private

Definition at line 542 of file lte-helper.h.

RadioBearerStatsConnector ns3::LteHelper::m_radioBearerStatsConnector
private

Definition at line 564 of file lte-helper.h.

Referenced by EnablePdcpTraces(), and EnableRlcTraces().

Ptr<RadioBearerStatsCalculator> ns3::LteHelper::m_rlcStats
private

Definition at line 562 of file lte-helper.h.

Referenced by EnableRlcTraces(), and GetRlcStats().

ObjectFactory ns3::LteHelper::m_schedulerFactory
private
ObjectFactory ns3::LteHelper::m_ueAntennaModelFactory
private
ObjectFactory ns3::LteHelper::m_ueNetDeviceFactory
private

Definition at line 545 of file lte-helper.h.

Referenced by InstallSingleUeDevice(), LteHelper(), and SetUeDeviceAttribute().

ObjectFactory ns3::LteHelper::m_ulPathlossModelFactory
private

Definition at line 549 of file lte-helper.h.

Referenced by DoInitialize(), SetPathlossModelAttribute(), and SetPathlossModelType().

Ptr<SpectrumChannel> ns3::LteHelper::m_uplinkChannel
private
Ptr<Object> ns3::LteHelper::m_uplinkPathlossModel
private

Definition at line 538 of file lte-helper.h.

Referenced by DoInitialize(), and InstallSingleEnbDevice().

bool ns3::LteHelper::m_useIdealRrc
private

Definition at line 571 of file lte-helper.h.

Referenced by GetTypeId(), InstallSingleEnbDevice(), and InstallSingleUeDevice().


The documentation for this class was generated from the following files: