5G-LENA nr-v3.1-69-g2dd513a7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::BeamformingHelperBase Class Referenceabstract

The BeamformingHelperBase class that is being used as the general interface for beamforming helper classes. Currently, there are two beamforming helper classes: IdealBeamformingHelper and RealisticBeamformingHelper that inherit this base beamforming helper class. More...

#include "beamforming-helper-base.h"

+ Inheritance diagram for ns3::BeamformingHelperBase:
+ Collaboration diagram for ns3::BeamformingHelperBase:

Public Member Functions

 BeamformingHelperBase ()
 BeamformingHelperBase constructor.
 
 ~BeamformingHelperBase () override
 ~BeamformingHelperBase destructor
 
virtual void AddBeamformingTask (const Ptr< NrGnbNetDevice > &gNbDev, const Ptr< NrUeNetDevice > &ueDev)=0
 Creates a new beamforming task, which means the pair of devices for which the configured algorithm for updating the beamforming vectors will be run either periodically or as specified by the algorithm.
 
void SetBeamformingAlgorithmAttribute (const std::string &n, const AttributeValue &v)
 Set an attribute for the beafmorming algorithm that will be created.
 
virtual void SetBeamformingMethod (const TypeId &beamformingMethod)=0
 Set the beamforming method that will be executed each time when is necessary to update the beamforming algorithms.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the Type ID.
 

Protected Types

typedef std::pair< Ptr< NrSpectrumPhy >, Ptr< NrSpectrumPhy > > SpectrumPhyPair
 

Protected Member Functions

virtual BeamformingVectorPair GetBeamformingVectors (const Ptr< NrSpectrumPhy > &gnbSpectrumPhy, const Ptr< NrSpectrumPhy > &ueSpectrumPhy) const =0
 Function that will call the configured algorithm for the specified devices and obtain the beamforming vectors for each of them.
 
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.
 

Protected Attributes

ObjectFactory m_algorithmFactory
 Object factory that will be used to create beamforming algorithms.
 

Detailed Description

The BeamformingHelperBase class that is being used as the general interface for beamforming helper classes. Currently, there are two beamforming helper classes: IdealBeamformingHelper and RealisticBeamformingHelper that inherit this base beamforming helper class.

Definition at line 28 of file beamforming-helper-base.h.

Member Typedef Documentation

◆ SpectrumPhyPair

typedef std::pair<Ptr<NrSpectrumPhy>, Ptr<NrSpectrumPhy> > ns3::BeamformingHelperBase::SpectrumPhyPair
protected

Definition at line 93 of file beamforming-helper-base.h.

Constructor & Destructor Documentation

◆ BeamformingHelperBase()

ns3::BeamformingHelperBase::BeamformingHelperBase ( )

BeamformingHelperBase constructor.

Definition at line 22 of file beamforming-helper-base.cc.

◆ ~BeamformingHelperBase()

ns3::BeamformingHelperBase::~BeamformingHelperBase ( )
override

~BeamformingHelperBase destructor

Definition at line 28 of file beamforming-helper-base.cc.

Member Function Documentation

◆ AddBeamformingTask()

virtual void ns3::BeamformingHelperBase::AddBeamformingTask ( const Ptr< NrGnbNetDevice > &  gNbDev,
const Ptr< NrUeNetDevice > &  ueDev 
)
pure virtual

Creates a new beamforming task, which means the pair of devices for which the configured algorithm for updating the beamforming vectors will be run either periodically or as specified by the algorithm.

Parameters
gNbDevgNb device
ueDevUE device

Implemented in ns3::IdealBeamformingHelper, and ns3::RealisticBeamformingHelper.

◆ GetBeamformingVectors()

virtual BeamformingVectorPair ns3::BeamformingHelperBase::GetBeamformingVectors ( const Ptr< NrSpectrumPhy > &  gnbSpectrumPhy,
const Ptr< NrSpectrumPhy > &  ueSpectrumPhy 
) const
protectedpure virtual

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

Implemented in ns3::IdealBeamformingHelper.

Referenced by RunTask().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::BeamformingHelperBase::GetTypeId ( )
static

Get the Type ID.

Returns
the TypeId of the instance

Definition at line 35 of file beamforming-helper-base.cc.

◆ RunTask()

void ns3::BeamformingHelperBase::RunTask ( const Ptr< NrSpectrumPhy > &  gnbSpectrumPhy,
const Ptr< NrSpectrumPhy > &  ueSpectrumPhy 
) const
protectedvirtual

This function runs the beamforming algorithm among the provided gNB and UE device, and for a specified bwp index.

Parameters
gNbSpectrumPhya pointer to SpectrumPhy of gNb device
ueSpectrumPhya pointer to SpectrumPhy of UE device

Definition at line 42 of file beamforming-helper-base.cc.

References GetBeamformingVectors().

Referenced by ns3::IdealBeamformingHelper::AddBeamformingTask(), ns3::RealisticBeamformingHelper::AddBeamformingTask(), and ns3::IdealBeamformingHelper::Run().

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

◆ SetBeamformingAlgorithmAttribute()

void ns3::BeamformingHelperBase::SetBeamformingAlgorithmAttribute ( const std::string &  n,
const AttributeValue &  v 
)

Set an attribute for the beafmorming algorithm that will be created.

Parameters
nthe name of the attribute
vthe value of the attribute

Definition at line 60 of file beamforming-helper-base.cc.

References m_algorithmFactory.

◆ SetBeamformingMethod()

virtual void ns3::BeamformingHelperBase::SetBeamformingMethod ( const TypeId &  beamformingMethod)
pure virtual

Set the beamforming method that will be executed each time when is necessary to update the beamforming algorithms.

Parameters
beamformingMethodthe beamforming method to be set

Implemented in ns3::IdealBeamformingHelper, and ns3::RealisticBeamformingHelper.

Member Data Documentation

◆ m_algorithmFactory

ObjectFactory ns3::BeamformingHelperBase::m_algorithmFactory
protected

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