5G-LENA nr-v3.1-69-g2dd513a7
The 5G/NR module for the ns-3 simulator
|
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"
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. | |
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.
|
protected |
Definition at line 93 of file beamforming-helper-base.h.
ns3::BeamformingHelperBase::BeamformingHelperBase | ( | ) |
BeamformingHelperBase constructor.
Definition at line 22 of file beamforming-helper-base.cc.
|
override |
~BeamformingHelperBase destructor
Definition at line 28 of file beamforming-helper-base.cc.
|
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.
gNbDev | gNb device |
ueDev | UE device |
Implemented in ns3::IdealBeamformingHelper, and ns3::RealisticBeamformingHelper.
|
protectedpure virtual |
Function that will call the configured algorithm for the specified devices and obtain the beamforming vectors for each of them.
gnbSpectrumPhy | a pointer to SpectrumPhy of gNb device |
ueSpectrumPhy | a pointer to SpectrumPhy of UE device |
Implemented in ns3::IdealBeamformingHelper.
Referenced by RunTask().
|
static |
Get the Type ID.
Definition at line 35 of file beamforming-helper-base.cc.
|
protectedvirtual |
This function runs the beamforming algorithm among the provided gNB and UE device, and for a specified bwp index.
gNbSpectrumPhy | a pointer to SpectrumPhy of gNb device |
ueSpectrumPhy | a 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().
void ns3::BeamformingHelperBase::SetBeamformingAlgorithmAttribute | ( | const std::string & | n, |
const AttributeValue & | v | ||
) |
Set an attribute for the beafmorming algorithm that will be created.
n | the name of the attribute |
v | the value of the attribute |
Definition at line 60 of file beamforming-helper-base.cc.
References m_algorithmFactory.
|
pure virtual |
Set the beamforming method that will be executed each time when is necessary to update the beamforming algorithms.
beamformingMethod | the beamforming method to be set |
Implemented in ns3::IdealBeamformingHelper, and ns3::RealisticBeamformingHelper.
|
protected |
Object factory that will be used to create beamforming algorithms.
Definition at line 96 of file beamforming-helper-base.h.
Referenced by ns3::IdealBeamformingHelper::AddBeamformingTask(), ns3::RealisticBeamformingHelper::AddBeamformingTask(), SetBeamformingAlgorithmAttribute(), ns3::IdealBeamformingHelper::SetBeamformingMethod(), and ns3::RealisticBeamformingHelper::SetBeamformingMethod().