5G-LENA  nr-v3.0-25-g90be5d1
The 5G/NR module for the ns-3 simulator
ns3::IdealBeamformingHelper Class Reference

The IdealBeamformingHelper class. More...

#include "ideal-beamforming-helper.h"

+ Inheritance diagram for ns3::IdealBeamformingHelper:
+ Collaboration diagram for ns3::IdealBeamformingHelper:

Public Member Functions

 IdealBeamformingHelper ()
 IdealBeamformingHelper.
 
 ~IdealBeamformingHelper () override
 ~IdealBeamformingHelper
 
void AddBeamformingTask (const Ptr< NrGnbNetDevice > &gNbDev, const Ptr< NrUeNetDevice > &ueDev) override
 Specify among which devices the beamforming algorithm should be performed. More...
 
Time GetPeriodicity () const
 GetIdealBeamformingPeriodicity. More...
 
virtual void Run () const
 Run beamforming task.
 
void SetBeamformingMethod (const TypeId &beamformingMethod) override
 SetBeamformingMethod. More...
 
void SetPeriodicity (const Time &v)
 SetIdealBeamformingPeriodicity. More...
 
- Public Member Functions inherited from ns3::BeamformingHelperBase
 BeamformingHelperBase ()
 BeamformingHelperBase constructor.
 
 ~BeamformingHelperBase () override
 ~BeamformingHelperBase destructor
 
void SetBeamformingAlgorithmAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the beafmorming algorithm that will be created. More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the Type ID. More...
 
- Static Public Member Functions inherited from ns3::BeamformingHelperBase
static TypeId GetTypeId ()
 Get the Type ID. More...
 

Protected Member Functions

void DoInitialize () override
 
virtual void ExpireBeamformingTimer ()
 The beamforming timer has expired; at the next slot, perform beamforming.
 
BeamformingVectorPair GetBeamformingVectors (const Ptr< NrSpectrumPhy > &gnbSpectrumPhy, const Ptr< NrSpectrumPhy > &ueSpectrumPhy) const override
 Function that will call the configured algorithm for the specified devices and obtain the beamforming vectors for each of them. More...
 
- Protected Member Functions inherited from ns3::BeamformingHelperBase
virtual void RunTask (const Ptr< NrSpectrumPhy > &gnbSpectrumPhy, const Ptr< NrSpectrumPhy > &ueSpectrumPhy) const
 This function runs the beamforming algorithm among the provided gNB and UE device, and for a specified bwp index. More...
 

Protected Attributes

Ptr< IdealBeamformingAlgorithmm_beamformingAlgorithm
 The beamforming algorithm that will be used.
 
Time m_beamformingPeriodicity
 
EventId m_beamformingTimer
 
std::list< SpectrumPhyPair > m_spectrumPhyPair
 The list of beamforming tasks to be executed.
 
- Protected Attributes inherited from ns3::BeamformingHelperBase
ObjectFactory m_algorithmFactory
 Object factory that will be used to create beamforming algorithms.
 

Additional Inherited Members

- Protected Types inherited from ns3::BeamformingHelperBase
typedef std::pair< Ptr< NrSpectrumPhy >, Ptr< NrSpectrumPhy > > SpectrumPhyPair
 

Detailed Description

The IdealBeamformingHelper class.

Definition at line 27 of file ideal-beamforming-helper.h.

Member Function Documentation

◆ AddBeamformingTask()

void ns3::IdealBeamformingHelper::AddBeamformingTask ( const Ptr< NrGnbNetDevice > &  gNbDev,
const Ptr< NrUeNetDevice > &  ueDev 
)
overridevirtual

Specify among which devices the beamforming algorithm should be performed.

Parameters
gNbDevgNB device
ueDevUE device

Implements ns3::BeamformingHelperBase.

Definition at line 69 of file ideal-beamforming-helper.cc.

References ns3::BeamformingHelperBase::m_algorithmFactory, m_beamformingAlgorithm, m_spectrumPhyPair, and ns3::BeamformingHelperBase::RunTask().

+ Here is the call graph for this function:

◆ GetBeamformingVectors()

BeamformingVectorPair ns3::IdealBeamformingHelper::GetBeamformingVectors ( const Ptr< NrSpectrumPhy > &  gnbSpectrumPhy,
const Ptr< NrSpectrumPhy > &  ueSpectrumPhy 
) const
overrideprotectedvirtual

Function that will call the configured algorithm for the specified devices and obtain the beamforming vectors for each of them.

Parameters
gnbSpectrumPhya pointer to SpectrumPhy of gNb device
ueSpectrumPhya pointer to SpectrumPhy of UE device
Returns
the pair of beamforming vectors, one corresponding to the gNB device, and one corresponding to the UE device

Implements ns3::BeamformingHelperBase.

Definition at line 103 of file ideal-beamforming-helper.cc.

References m_beamformingAlgorithm.

◆ GetPeriodicity()

Time ns3::IdealBeamformingHelper::GetPeriodicity ( ) const

GetIdealBeamformingPeriodicity.

Returns

Definition at line 140 of file ideal-beamforming-helper.cc.

References m_beamformingPeriodicity.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::IdealBeamformingHelper::GetTypeId ( )
static

Get the Type ID.

Returns
the TypeId of the instance

Definition at line 46 of file ideal-beamforming-helper.cc.

References GetPeriodicity(), ns3::CellScanBeamforming::GetTypeId(), SetBeamformingMethod(), and SetPeriodicity().

+ Here is the call graph for this function:

◆ SetBeamformingMethod()

void ns3::IdealBeamformingHelper::SetBeamformingMethod ( const TypeId &  beamformingMethod)
overridevirtual

SetBeamformingMethod.

Parameters
beamformingMethod

Implements ns3::BeamformingHelperBase.

Definition at line 111 of file ideal-beamforming-helper.cc.

References ns3::IdealBeamformingAlgorithm::GetTypeId(), and ns3::BeamformingHelperBase::m_algorithmFactory.

Referenced by GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetPeriodicity()

void ns3::IdealBeamformingHelper::SetPeriodicity ( const Time &  v)

SetIdealBeamformingPeriodicity.

Parameters
v

Definition at line 132 of file ideal-beamforming-helper.cc.

References m_beamformingPeriodicity.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_beamformingPeriodicity

Time ns3::IdealBeamformingHelper::m_beamformingPeriodicity
protected

The beamforming periodicity or how frequently beamforming tasks will be executed

Definition at line 90 of file ideal-beamforming-helper.h.

Referenced by ExpireBeamformingTimer(), GetPeriodicity(), and SetPeriodicity().

◆ m_beamformingTimer

EventId ns3::IdealBeamformingHelper::m_beamformingTimer
protected

Beamforming timer that is used to schedule periodical beamforming vector updates

Definition at line 92 of file ideal-beamforming-helper.h.

Referenced by ExpireBeamformingTimer().


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