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;
742 #endif // LTE_HELPER_H
void SetFadingModel(std::string type)
Set the type of fading model to be used in both DL and UL.
Ptr< Object > m_uplinkPathlossModel
The path loss model used in the uplink channel.
Simulation virtual time values and global simulation resolution.
void SetPathlossModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the path loss models 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
Connects RLC and PDCP statistics containers to appropriate trace sources.
Ptr< NetDevice > InstallSingleEnbDevice(Ptr< Node > n)
Create an eNodeB device (LteEnbNetDevice) on the given node.
static TypeId GetTypeId(void)
Register this type.
NetDeviceContainer InstallEnbDevice(NodeContainer c)
Create a set of eNodeB devices.
void EnableLogComponents(void)
Enables full-blown logging for major components of the LENA architecture.
void HandoverRequest(Time hoTime, Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceEnbDev, Ptr< NetDevice > targetEnbDev)
Manually trigger an X2-based handover.
bool m_fadingStreamsAssigned
True if a random variable stream number has been assigned for the fading model.
ObjectFactory m_fadingModelFactory
Factory of fading model object for both the downlink and uplink channels.
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 UE antenna model to be created.
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.
bool m_usePdschForCqiGeneration
The UsePdschForCqiGeneration attribute.
Ptr< PhyStatsCalculator > m_phyStats
Container of PHY layer statistics.
Ptr< PhyRxStatsCalculator > m_phyRxStats
Container of PHY layer statistics related to reception.
std::string m_fadingModelType
Name of fading model type, e.g., "ns3::TraceFadingLossModel".
void SetUeDeviceAttribute(std::string n, const AttributeValue &v)
Set an attribute for the UE devices (LteUeNetDevice) to be created.
void SetUeAntennaModelType(std::string type)
Set the type of antenna model to be used by UE devices.
Ptr< MacStatsCalculator > m_macStats
Container of MAC layer statistics.
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used.
ObjectFactory m_ulPathlossModelFactory
Factory of path loss model object for the uplink channel.
void ActivateDataRadioBearer(NetDeviceContainer ueDevices, EpsBearer bearer)
Activate a Data Radio Bearer on a given UE devices (for LTE-only simulation).
ObjectFactory m_channelFactory
Factory of both the downlink and uplink LTE channels.
uint8_t ActivateDedicatedEpsBearer(NetDeviceContainer ueDevices, EpsBearer bearer, Ptr< EpcTft > tft)
Activate a dedicated EPS bearer on a given set of UE devices.
void SetHandoverAlgorithmType(std::string type)
Set the type of handover algorithm to be used by eNodeB devices.
void EnableUlRxPhyTraces(void)
Enable trace sinks for UL reception PHY layer.
void SetFfrAlgorithmType(std::string type)
Set the type of FFR algorithm to be used by eNodeB devices.
void SetSchedulerType(std::string type)
Set the type of scheduler to be used by eNodeB devices.
Ptr< RadioBearerStatsCalculator > m_rlcStats
Container of RLC layer statistics.
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
The path loss model used in the downlink channel.
Creation and configuration of LTE entities.
This class contains the specification of EPS Bearers.
void DeActivateDedicatedEpsBearer(Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice, uint8_t bearerId)
Manually trigger dedicated bearer de-activation at specific simulation time.
void SetHandoverAlgorithmAttribute(std::string n, const AttributeValue &v)
Set an attribute for the handover algorithm to be created.
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.
uint64_t m_imsiCounter
Keep track of the number of IMSI allocated.
ObjectFactory m_enbAntennaModelFactory
Factory of antenna object for eNodeB.
holds a vector of ns3::NetDevice pointers
uint16_t m_cellIdCounter
Keep track of the number of cell ID allocated.
void EnablePhyTraces(void)
Enable trace sinks for PHY layer.
bool m_isAnrEnabled
The AnrEnabled attribute.
ObjectFactory m_handoverAlgorithmFactory
Factory of handover algorithm object.
void SetEnbAntennaModelType(std::string type)
Set the type of antenna model to be used by eNodeB devices.
ObjectFactory m_dlPathlossModelFactory
Factory of path loss model object for the downlink channel.
void SetSpectrumChannelType(std::string type)
Set the type of spectrum channel to be used in both DL and UL.
void SetFadingModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the fading model to be created (both DL and UL).
void EnableDlMacTraces(void)
Enable trace sinks for DL MAC layer.
keep track of a set of node pointers.
void EnableUlTxPhyTraces(void)
Enable trace sinks for UL transmission PHY layer.
Ptr< SpectrumChannel > m_uplinkChannel
The uplink LTE channel used in the simulation.
void AddX2Interface(NodeContainer enbNodes)
Create an X2 interface between all the eNBs in a given set.
ObjectFactory m_schedulerFactory
Factory of MAC scheduler object.
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
The fading model used in both the downlink and uplink channels.
void EnableUlMacTraces(void)
Enable trace sinks for UL MAC layer.
Ptr< EpcHelper > m_epcHelper
Helper which provides implementation of core network.
Ptr< RadioBearerStatsCalculator > GetRlcStats(void)
NetDeviceContainer InstallUeDevice(NodeContainer c)
Create a set of UE devices.
Ptr< PhyTxStatsCalculator > m_phyTxStats
Container of PHY layer statistics related to transmission.
Ptr< RadioBearerStatsCalculator > GetPdcpStats(void)
virtual void DoDispose(void)
Destructor implementation.
Instantiate subclasses of ns3::Object.
ObjectFactory m_ffrAlgorithmFactory
Factory of FFR (frequency reuse) algorithm 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)
Set the type of path loss model to be used for both DL and UL channels.
void SetEnbAntennaModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the eNodeB antenna model to be created.
ObjectFactory m_ueNetDeviceFactory
Factory for LteUeNetDevice objects.
void SetSpectrumChannelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the spectrum channel to be created (both DL and UL).
virtual void DoInitialize(void)
Initialize() implementation.
void EnableMacTraces(void)
Enable trace sinks for MAC layer.
A base class which provides memory management and object aggregation.
void DoDeActivateDedicatedEpsBearer(Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice, uint8_t bearerId)
The actual function to trigger a manual bearer de-activation.
Ptr< RadioBearerStatsCalculator > m_pdcpStats
Container of PDCP layer statistics.
ObjectFactory m_ueAntennaModelFactory
Factory of antenna object for UE.
std::string GetFfrAlgorithmType() const
This class is very useful when user needs to collect statistics from PDCD and RLC.
a unique identifier for an interface.
void SetFfrAlgorithmAttribute(std::string n, const AttributeValue &v)
Set an attribute for the FFR algorithm to be created.
ObjectFactory m_enbNetDeviceFactory
Factory of LteEnbNetDevice objects.
Ptr< SpectrumChannel > m_downlinkChannel
The downlink LTE channel used in the simulation.
std::string GetSchedulerType() const
void SetEnbDeviceAttribute(std::string n, const AttributeValue &v)
Set an attribute for the eNodeB devices (LteEnbNetDevice) to be created.
bool m_useIdealRrc
The UseIdealRrc attribute.