ns-3
ns3::LteHelper Class Reference

#include <lte-helper.h>

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

List of all members.

Public Types

enum  LteEpsBearerToRlcMapping_t { RLC_SM_ALWAYS = 1, RLC_UM_ALWAYS = 2, RLC_AM_ALWAYS = 3, PER_BASED = 4 }

Public Member Functions

virtual void DoDispose (void)
void SetEpcHelper (Ptr< EpcHelper > h)
void SetPathlossModelType (std::string type)
void SetPathlossModelAttribute (std::string n, const AttributeValue &v)
void SetSchedulerType (std::string type)
void SetSchedulerAttribute (std::string n, const AttributeValue &v)
void SetEnbDeviceAttribute (std::string n, const AttributeValue &v)
void SetEnbAntennaModelType (std::string type)
void SetEnbAntennaModelAttribute (std::string n, const AttributeValue &v)
void SetUeAntennaModelType (std::string type)
void SetUeAntennaModelAttribute (std::string n, const AttributeValue &v)
void SetSpectrumChannelType (std::string type)
void SetSpectrumChannelAttribute (std::string n, const AttributeValue &v)
NetDeviceContainer InstallEnbDevice (NodeContainer c)
NetDeviceContainer InstallUeDevice (NodeContainer c)
void Attach (NetDeviceContainer ueDevices, Ptr< NetDevice > enbDevice)
void Attach (Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice)
void AttachToClosestEnb (NetDeviceContainer ueDevices, NetDeviceContainer enbDevices)
void AttachToClosestEnb (Ptr< NetDevice > ueDevice, NetDeviceContainer enbDevices)
void ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr< EpcTft > tft)
void ActivateEpsBearer (Ptr< NetDevice > ueDevice, EpsBearer bearer, Ptr< EpcTft > tft)
TypeId GetRlcType (EpsBearer bearer)
void SetFadingModel (std::string model)
void SetFadingModelAttribute (std::string n, const AttributeValue &v)
void EnableLogComponents (void)
void EnableTraces (void)
void EnableMacTraces (void)
void EnableDlMacTraces (void)
void EnableUlMacTraces (void)
void EnableRlcTraces (void)
void EnableDlRlcTraces (void)
void EnableUlRlcTraces (void)
Ptr< RadioBearerStatsCalculatorGetRlcStats (void)
void EnablePdcpTraces (void)
void EnableDlPdcpTraces (void)
void EnableUlPdcpTraces (void)
Ptr< RadioBearerStatsCalculatorGetPdcpStats (void)
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
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)
 This method returns the TypeId associated to ns3::LteHelper.

Protected Member Functions

virtual void DoStart (void)
- Protected Member Functions inherited from ns3::Object
virtual void NotifyNewAggregate (void)
 Object (const Object &o)

Detailed Description

Creation and configuration of LTE entities


Member Function Documentation

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

Activate an 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

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

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

Activate an EPS bearer on a given UE device

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

References ns3::EpcHelper::ActivateEpsBearer(), ns3::Object::GetObject(), GetRlcType(), ns3::LteUeRrc::GetRnti(), NS_LOG_FUNCTION, NS_LOG_INFO, ns3::LteUeRrc::SetupRadioBearer(), and ns3::LteEnbRrc::SetupRadioBearer().

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

Attach a set of UE devices to a single eNB device

Parameters:
ueDevices
enbDevice

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

Referenced by AttachToClosestEnb().

void ns3::LteHelper::AttachToClosestEnb ( NetDeviceContainer  ueDevices,
NetDeviceContainer  enbDevices 
)

Attach each UE in a set to the closest (w.r.t. distance) eNB among those in a set

Parameters:
ueDevicesthe set of UEs
enbDevicesthe set of eNBs

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

void ns3::LteHelper::AttachToClosestEnb ( Ptr< NetDevice ueDevice,
NetDeviceContainer  enbDevices 
)

Attach an UE ito the closest (w.r.t. distance) eNB among those in a set

Parameters:
ueDevicethe UE
enbDevicesthe set of eNBs

References Attach(), ns3::NetDeviceContainer::Begin(), ns3::CalculateDistance(), ns3::NetDeviceContainer::End(), ns3::NetDeviceContainer::GetN(), ns3::NetDevice::GetNode(), ns3::Object::GetObject(), NS_ASSERT, NS_ASSERT_MSG, and NS_LOG_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.

References NS_LOG_FUNCTION.

void ns3::LteHelper::DoStart ( void  )
protectedvirtual

This method is called only once by Object::Start. If the user calls Object::Start multiple times, DoStart 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.

References ns3::SpectrumChannel::AddPropagationLossModel(), ns3::SpectrumChannel::AddSpectrumPropagationLossModel(), ns3::ObjectFactory::Create(), ns3::Object::GetObject(), NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

void ns3::LteHelper::EnableDlMacTraces ( void  )

Enable trace sinks for DL MAC layer

References ns3::Config::Connect().

Referenced by EnableMacTraces().

void ns3::LteHelper::EnableDlPdcpTraces ( void  )

Enable trace sinks for DL PDCP layer

References ns3::Config::Connect(), and NS_LOG_FUNCTION_NOARGS.

Referenced by EnablePdcpTraces().

void ns3::LteHelper::EnableDlRlcTraces ( void  )

Enable trace sinks for DL RLC layer

References ns3::Config::Connect(), and NS_LOG_FUNCTION_NOARGS.

Referenced by EnableRlcTraces().

void ns3::LteHelper::EnableLogComponents ( void  )

Enables logging for all components of the LENA architecture

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

void ns3::LteHelper::EnableMacTraces ( void  )

Enable trace sinks for MAC layer

References EnableDlMacTraces(), and EnableUlMacTraces().

Referenced by EnableTraces().

void ns3::LteHelper::EnablePdcpTraces ( void  )

Enable trace sinks for PDCP layer

References EnableDlPdcpTraces(), and EnableUlPdcpTraces().

Referenced by EnableTraces().

void ns3::LteHelper::EnableRlcTraces ( void  )

Enable trace sinks for RLC layer

References EnableDlRlcTraces(), and EnableUlRlcTraces().

Referenced by EnableTraces().

void ns3::LteHelper::EnableTraces ( void  )

Enables trace sinks for MAC, RLC and PDCP

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

void ns3::LteHelper::EnableUlMacTraces ( void  )

Enable trace sinks for UL MAC layer

References ns3::Config::Connect().

Referenced by EnableMacTraces().

void ns3::LteHelper::EnableUlPdcpTraces ( void  )

Enable trace sinks for UL MAC layer

References ns3::Config::Connect().

Referenced by EnablePdcpTraces().

void ns3::LteHelper::EnableUlRlcTraces ( void  )

Enable trace sinks for UL MAC layer

References ns3::Config::Connect().

Referenced by EnableRlcTraces().

Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetPdcpStats ( void  )
Returns:
the PDCP stats calculator object
Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetRlcStats ( void  )
Returns:
the RLC stats calculator object
TypeId ns3::LteHelper::GetRlcType ( EpsBearer  bearer)
Parameters:
bearerthe specification of an EPS bearer
Returns:
the type of RLC that is to be created for the given EPS bearer

References ns3::EpsBearer::GetPacketErrorLossRate(), and GetTypeId().

Referenced by ActivateEpsBearer().

TypeId ns3::LteHelper::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::LteHelper.

Attributes defined for this type:

  • Scheduler: The type of scheduler to be used for eNBs
  • PathlossModel: The type of pathloss model to be used
  • FadingModel: The type of fading model to be used
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value:
    • Flags: construct write
  • EpsBearerToRlcMapping: Specify which type of RLC will be used for each type of EPS bearer.
    • Set with class: ns3::EnumValue
    • Underlying type: RlcSmAlways|RlcUmAlways|RlcAmAlways|PacketErrorRateBased
    • Initial value: RlcSmAlways
    • Flags: construct write read

No TraceSources defined for this type.

Reimplemented from ns3::Object.

References SetFadingModel(), ns3::TypeId::SetParent(), SetPathlossModelType(), and SetSchedulerType().

Referenced by GetRlcType().

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

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), NS_LOG_FUNCTION, and ns3::Object::Start().

Referenced by ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice().

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

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), and NS_LOG_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

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

Referenced by ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice().

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

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

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

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

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

References NS_LOG_FUNCTION.

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

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

Referenced by GetTypeId().

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

set an attribute of the fading model

References ns3::ObjectFactory::Set().

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

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

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

References NS_LOG_FUNCTION, 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

Parameters:
nthe name of the attribute
vthe value of the attribute

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

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

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

Referenced by GetTypeId().

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

References ns3::ObjectFactory::Set().

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

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

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

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

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

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


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