24 #include <ns3/config.h>
25 #include <ns3/simulator.h>
26 #include <ns3/names.h>
27 #include <ns3/net-device.h>
28 #include <ns3/net-device-container.h>
30 #include <ns3/node-container.h>
31 #include <ns3/eps-bearer.h>
32 #include <ns3/phy-stats-calculator.h>
33 #include <ns3/phy-tx-stats-calculator.h>
34 #include <ns3/phy-rx-stats-calculator.h>
35 #include <ns3/mac-stats-calculator.h>
36 #include <ns3/radio-bearer-stats-calculator.h>
37 #include <ns3/radio-bearer-stats-connector.h>
38 #include <ns3/epc-tft.h>
39 #include <ns3/mobility-model.h>
46 class SpectrumChannel;
48 class PropagationLossModel;
49 class SpectrumPropagationLossModel;
580 #endif // LTE_HELPER_H
Ptr< Object > m_uplinkPathlossModel
keep track of time values and allow control of global simulation resolution
void SetPathlossModelAttribute(std::string n, const AttributeValue &v)
set an attribute for the pathloss model to be created
void EnableDlRxPhyTraces(void)
Enable trace sinks for DL reception PHY layer.
smart pointer class similar to boost::intrusive_ptr
RadioBearerStatsConnector m_radioBearerStatsConnector
Ptr< NetDevice > InstallSingleEnbDevice(Ptr< Node > n)
Create an eNodeB device (LteEnbNetDevice) on the given node.
static TypeId GetTypeId(void)
NetDeviceContainer InstallEnbDevice(NodeContainer c)
create a set of eNB devices
void EnableLogComponents(void)
Enables logging for all components of the LENA architecture.
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...
bool m_fadingStreamsAssigned
ObjectFactory m_fadingModelFactory
Hold a value for an Attribute.
void EnableDlPhyTraces(void)
Enable trace sinks for DL PHY layer.
void SetUeAntennaModelAttribute(std::string n, const AttributeValue &v)
set an attribute for the AntennaModel to be used for the UEs
void SetFadingModel(std::string model)
void Attach(NetDeviceContainer ueDevices)
Enables automatic attachment of a set of UE devices to a suitable cell using Idle mode initial cell s...
void EnableRlcTraces(void)
Enable trace sinks for RLC layer.
Ptr< PhyStatsCalculator > m_phyStats
Ptr< PhyRxStatsCalculator > m_phyRxStats
std::string m_fadingModelType
void SetUeDeviceAttribute(std::string n, const AttributeValue &v)
set an attribute for the LteUeNetDevice to be created
void SetUeAntennaModelType(std::string type)
ObjectFactory m_propagationModelFactory
Ptr< MacStatsCalculator > m_macStats
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
ObjectFactory m_ulPathlossModelFactory
void ActivateDataRadioBearer(NetDeviceContainer ueDevices, EpsBearer bearer)
Call ActivateDataRadioBearer (ueDevice, bearer) for each UE device in a given set.
ObjectFactory m_channelFactory
void SetHandoverAlgorithmType(std::string type)
void EnableUlRxPhyTraces(void)
Enable trace sinks for UL reception PHY layer.
void SetSchedulerType(std::string type)
Ptr< RadioBearerStatsCalculator > m_rlcStats
std::string GetHandoverAlgorithmType() const
void EnablePdcpTraces(void)
Enable trace sinks for PDCP layer.
void AttachToClosestEnb(NetDeviceContainer ueDevices, NetDeviceContainer enbDevices)
Manual attachment of a set of UE devices to the network via the closest eNodeB (with respect to dista...
Ptr< Object > m_downlinkPathlossModel
Creation and configuration of LTE entities.
This class contains the specification of EPS Bearers.
void SetHandoverAlgorithmAttribute(std::string n, const AttributeValue &v)
set an attribute for the handover algorithm to be created
LteEpsBearerToRlcMapping_t
void DoHandoverRequest(Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceEnbDev, Ptr< NetDevice > targetEnbDev)
The actual function to trigger a manual handover.
void EnableTraces(void)
Enables trace sinks for PHY, MAC, RLC and PDCP.
void SetSchedulerAttribute(std::string n, const AttributeValue &v)
set an attribute for the scheduler to be created
Ptr< NetDevice > InstallSingleUeDevice(Ptr< Node > n)
Create a UE device (LteUeNetDevice) on the given node.
ObjectFactory m_enbAntennaModelFactory
holds a vector of ns3::NetDevice pointers
void EnablePhyTraces(void)
Enable trace sinks for PHY layer.
ObjectFactory m_handoverAlgorithmFactory
void SetEnbAntennaModelType(std::string type)
ObjectFactory m_dlPathlossModelFactory
void SetSpectrumChannelType(std::string type)
void SetFadingModelAttribute(std::string n, const AttributeValue &v)
set an attribute of the fading model
void EnableDlMacTraces(void)
Enable trace sinks for DL MAC layer.
void ActivateDedicatedEpsBearer(NetDeviceContainer ueDevices, EpsBearer bearer, Ptr< EpcTft > tft)
Activate a dedicated EPS bearer on a given set of UE devices.
keep track of a set of node pointers.
void EnableUlTxPhyTraces(void)
Enable trace sinks for UL transmission PHY layer.
Ptr< SpectrumChannel > m_uplinkChannel
void AddX2Interface(NodeContainer enbNodes)
Create an X2 interface between all the eNBs in a given set.
ObjectFactory m_schedulerFactory
void EnableUlPhyTraces(void)
Enable trace sinks for UL PHY layer.
void EnableDlTxPhyTraces(void)
Enable trace sinks for DL transmission PHY layer.
Ptr< SpectrumPropagationLossModel > m_fadingModule
void EnableUlMacTraces(void)
Enable trace sinks for UL MAC layer.
Ptr< EpcHelper > m_epcHelper
Ptr< RadioBearerStatsCalculator > GetRlcStats(void)
NetDeviceContainer InstallUeDevice(NodeContainer c)
create a set of UE devices
Ptr< PhyTxStatsCalculator > m_phyTxStats
Ptr< RadioBearerStatsCalculator > GetPdcpStats(void)
virtual void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
instantiate subclasses of ns3::Object.
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 ...
void SetPathlossModelType(std::string type)
void SetEnbAntennaModelAttribute(std::string n, const AttributeValue &v)
set an attribute for the AntennaModel to be used for the eNBs
ObjectFactory m_ueNetDeviceFactory
void SetSpectrumChannelAttribute(std::string n, const AttributeValue &v)
set an attribute for the SpectrumChannel to be used for the UEs
virtual void DoInitialize(void)
This method is called only once by Object::Initialize.
void EnableMacTraces(void)
Enable trace sinks for MAC layer.
a base class which provides memory management and object aggregation
Ptr< RadioBearerStatsCalculator > m_pdcpStats
ObjectFactory m_ueAntennaModelFactory
a unique identifier for an interface.
ObjectFactory m_enbNetDeviceFactory
Ptr< SpectrumChannel > m_downlinkChannel
std::string GetSchedulerType() const
void SetEnbDeviceAttribute(std::string n, const AttributeValue &v)
set an attribute for the LteEnbNetDevice to be created