|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
26 #include <ns3/config.h>
27 #include <ns3/simulator.h>
28 #include <ns3/names.h>
29 #include <ns3/net-device.h>
30 #include <ns3/net-device-container.h>
32 #include <ns3/node-container.h>
33 #include <ns3/eps-bearer.h>
34 #include <ns3/phy-stats-calculator.h>
35 #include <ns3/phy-tx-stats-calculator.h>
36 #include <ns3/phy-rx-stats-calculator.h>
37 #include <ns3/mac-stats-calculator.h>
38 #include <ns3/radio-bearer-stats-calculator.h>
39 #include <ns3/radio-bearer-stats-connector.h>
40 #include <ns3/epc-tft.h>
41 #include <ns3/mobility-model.h>
42 #include <ns3/component-carrier-enb.h>
43 #include <ns3/cc-helper.h>
51 class SpectrumChannel;
53 class PropagationLossModel;
54 class SpectrumPropagationLossModel;
715 uint16_t targetCellId);
857 #endif // LTE_HELPER_H
holds a vector of ns3::NetDevice pointers
a unique identifier for an interface.
Ptr< EpcHelper > m_epcHelper
Helper which provides implementation of core network.
Ptr< RadioBearerStatsCalculator > GetRlcStats(void)
void SetFadingModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the fading model to be created (both DL and UL).
bool m_isAnrEnabled
The AnrEnabled attribute.
Ptr< PhyStatsCalculator > m_phyStats
Container of PHY layer statistics.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void EnableUlPhyTraces(void)
Enable trace sinks for UL PHY layer.
void DoComponentCarrierConfigure(uint32_t ulEarfcn, uint32_t dlEarfcn, uint16_t ulbw, uint16_t dlbw)
Configure the component carriers.
void SetEnbDeviceAttribute(std::string n, const AttributeValue &v)
Set an attribute for the eNodeB devices (LteEnbNetDevice) to be created.
Ptr< RadioBearerStatsCalculator > m_rlcStats
Container of RLC layer statistics.
void ChannelModelInitialization(void)
Function that performs a channel model initialization of all component carriers.
void SetUeAntennaModelType(std::string type)
Set the type of antenna model to be used by UE devices.
ObjectFactory m_schedulerFactory
Factory of MAC scheduler object.
NetDeviceContainer InstallEnbDevice(NodeContainer c)
Create a set of eNodeB devices.
Ptr< PhyTxStatsCalculator > m_phyTxStats
Container of PHY layer statistics related to transmission.
uint64_t m_imsiCounter
Keep track of the number of IMSI allocated.
void HandoverRequest(Time hoTime, Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceEnbDev, Ptr< NetDevice > targetEnbDev)
Manually trigger an X2-based handover.
NetDeviceContainer InstallUeDevice(NodeContainer c)
Create a set of UE devices.
Hold a value for an Attribute.
This class is very useful when user needs to collect statistics from PDCP and RLC.
void SetEnbAntennaModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the eNodeB antenna model to be created.
Ptr< Object > m_uplinkPathlossModel
The path loss model used in the uplink channel.
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< NetDevice > InstallSingleEnbDevice(Ptr< Node > n)
Create an eNodeB device (LteEnbNetDevice) on the given node.
ObjectFactory m_pathlossModelFactory
Factory of path loss model object.
void EnableUlRxPhyTraces(void)
Enable trace sinks for UL reception PHY layer.
Ptr< SpectrumChannel > GetDownlinkSpectrumChannel(void) const
void SetSpectrumChannelType(std::string type)
Set the type of spectrum channel to be used in both DL and UL.
void SetPathlossModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the path loss models to be created.
uint16_t m_noOfCcs
Number of component carriers that will be installed by default at eNodeB and UE devices.
std::string m_fadingModelType
Name of fading model type, e.g., "ns3::TraceFadingLossModel".
std::string GetEnbComponentCarrierManagerType() const
void EnableDlTxPhyTraces(void)
Enable trace sinks for DL transmission PHY layer.
ObjectFactory m_enbAntennaModelFactory
Factory of antenna object for eNodeB.
std::string GetFfrAlgorithmType() const
void SetSpectrumChannelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the spectrum channel to be created (both DL and UL).
Ptr< MacStatsCalculator > m_macStats
Container of MAC layer statistics.
void AddX2Interface(NodeContainer enbNodes)
Create an X2 interface between all the eNBs in a given set.
Smart pointer class similar to boost::intrusive_ptr.
Ptr< SpectrumChannel > GetUplinkSpectrumChannel(void) const
ObjectFactory m_fadingModelFactory
Factory of fading model object for both the downlink and uplink channels.
std::string GetSchedulerType() const
void SetPathlossModelType(TypeId type)
Set the type of path loss model to be used for both DL and UL channels.
Ptr< RadioBearerStatsCalculator > GetPdcpStats(void)
bool m_fadingStreamsAssigned
True if a random variable stream number has been assigned for the fading model.
void SetEnbAntennaModelType(std::string type)
Set the type of antenna model to be used by eNodeB devices.
A base class which provides memory management and object aggregation.
ObjectFactory m_enbComponentCarrierManagerFactory
Factory of enb component carrier manager object.
void DoDeActivateDedicatedEpsBearer(Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice, uint8_t bearerId)
The actual function to trigger a manual bearer de-activation.
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 ...
uint16_t m_cellIdCounter
Keep track of the number of cell ID allocated.
void SetFadingModel(std::string type)
Set the type of fading model to be used in both DL and UL.
bool m_useCa
The UseCa attribute.
Instantiate subclasses of ns3::Object.
ObjectFactory m_ueAntennaModelFactory
Factory of antenna object for UE.
RadioBearerStatsConnector m_radioBearerStatsConnector
Connects RLC and PDCP statistics containers to appropriate trace sources.
ObjectFactory m_handoverAlgorithmFactory
Factory of handover algorithm object.
void EnableDlPhyTraces(void)
Enable trace sinks for DL PHY layer.
void SetEnbComponentCarrierManagerType(std::string type)
Set the type of carrier component algorithm to be used by eNodeB devices.
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.
Ptr< RadioBearerStatsCalculator > m_pdcpStats
Container of PDCP layer statistics.
void EnableMacTraces(void)
Enable trace sinks for MAC layer.
Simulation virtual time values and global simulation resolution.
void SetFfrAlgorithmAttribute(std::string n, const AttributeValue &v)
Set an attribute for the FFR algorithm to be created.
void EnableLogComponents(void)
Enables full-blown logging for major components of the LENA architecture.
uint8_t ActivateDedicatedEpsBearer(NetDeviceContainer ueDevices, EpsBearer bearer, Ptr< EpcTft > tft)
Activate a dedicated EPS bearer on a given set of UE devices.
void EnableTraces(void)
Enables trace sinks for PHY, MAC, RLC and PDCP.
void EnableUlTxPhyTraces(void)
Enable trace sinks for UL transmission PHY layer.
void EnableRlcTraces(void)
Enable trace sinks for RLC layer.
void EnableDlMacTraces(void)
Enable trace sinks for DL MAC layer.
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used.
static TypeId GetTypeId(void)
Register this type.
Ptr< SpectrumChannel > m_downlinkChannel
This function create the component carrier based on provided configuration parameters.
void SetUeAntennaModelAttribute(std::string n, const AttributeValue &v)
Set an attribute for the UE antenna model to be created.
Ptr< Object > m_downlinkPathlossModel
The path loss model used in the downlink channel.
std::string GetUeComponentCarrierManagerType() const
This class contains the specification of EPS Bearers.
Ptr< PhyRxStatsCalculator > m_phyRxStats
Container of PHY layer statistics related to reception.
bool m_useIdealRrc
The UseIdealRrc attribute.
void EnableDlRxPhyTraces(void)
Enable trace sinks for DL reception PHY layer.
ObjectFactory m_enbNetDeviceFactory
Factory of LteEnbNetDevice objects.
bool m_usePdschForCqiGeneration
The UsePdschForCqiGeneration attribute.
void SetHandoverAlgorithmType(std::string type)
Set the type of handover algorithm to be used by eNodeB devices.
void SetSchedulerAttribute(std::string n, const AttributeValue &v)
Set an attribute for the scheduler to be created.
void EnablePdcpTraces(void)
Enable trace sinks for PDCP layer.
void SetFfrAlgorithmType(std::string type)
Set the type of FFR algorithm to be used by eNodeB devices.
Creation and configuration of LTE entities.
keep track of a set of node pointers.
std::map< uint8_t, ComponentCarrier > m_componentCarrierPhyParams
This contains all the information about each component carrier.
void Attach(NetDeviceContainer ueDevices)
Enables automatic attachment of a set of UE devices to a suitable cell using Idle mode initial cell s...
void DoHandoverRequest(Ptr< NetDevice > ueDev, Ptr< NetDevice > sourceEnbDev, uint16_t targetCellId)
The actual function to trigger a manual handover.
void SetUeComponentCarrierManagerAttribute(std::string n, const AttributeValue &v)
Set an attribute for the ue component carrier manager to be created.
std::string GetHandoverAlgorithmType() const
ObjectFactory m_ueNetDeviceFactory
Factory for LteUeNetDevice objects.
void SetSchedulerType(std::string type)
Set the type of scheduler to be used by eNodeB devices.
Ptr< SpectrumPropagationLossModel > m_fadingModel
The fading model used in both the downlink and uplink channels.
void SetUeComponentCarrierManagerType(std::string type)
Set the type of Component Carrier Manager to be used by Ue devices.
Ptr< NetDevice > InstallSingleUeDevice(Ptr< Node > n)
Create a UE device (LteUeNetDevice) on the given node.
void SetEnbComponentCarrierManagerAttribute(std::string n, const AttributeValue &v)
Set an attribute for the enb component carrier manager to be created.
void EnablePhyTraces(void)
Enable trace sinks for PHY layer.
ObjectFactory m_ueComponentCarrierManagerFactory
Factory of ue component carrier manager object.
virtual void DoInitialize(void)
Initialize() implementation.
Ptr< SpectrumChannel > m_uplinkChannel
The uplink LTE channel used in the simulation.
ObjectFactory m_channelFactory
Factory of both the downlink and uplink LTE channels.
void SetUeDeviceAttribute(std::string n, const AttributeValue &v)
Set an attribute for the UE devices (LteUeNetDevice) to be created.
void ActivateDataRadioBearer(NetDeviceContainer ueDevices, EpsBearer bearer)
Activate a Data Radio Bearer on a given UE devices (for LTE-only simulation).
void EnableUlMacTraces(void)
Enable trace sinks for UL MAC layer.
virtual void DoDispose(void)
Destructor implementation.