5G-LENA nr-v3.1-69-g2dd513a7
The 5G/NR module for the ns-3 simulator
|
The IdealBeamformingHelper class. More...
#include "ideal-beamforming-helper.h"
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. | |
Time | GetPeriodicity () const |
GetIdealBeamformingPeriodicity. | |
virtual void | Run () const |
Run beamforming task. | |
void | SetBeamformingMethod (const TypeId &beamformingMethod) override |
SetBeamformingMethod. | |
void | SetPeriodicity (const Time &v) |
SetIdealBeamformingPeriodicity. | |
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. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the Type ID. | |
Static Public Member Functions inherited from ns3::BeamformingHelperBase | |
static TypeId | GetTypeId () |
Get the Type ID. | |
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. | |
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. | |
Protected Attributes | |
Ptr< IdealBeamformingAlgorithm > | m_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 |
The IdealBeamformingHelper class.
Definition at line 25 of file ideal-beamforming-helper.h.
ns3::IdealBeamformingHelper::IdealBeamformingHelper | ( | ) |
Definition at line 23 of file ideal-beamforming-helper.cc.
|
override |
~IdealBeamformingHelper
Definition at line 28 of file ideal-beamforming-helper.cc.
References m_beamformingAlgorithm.
|
overridevirtual |
Specify among which devices the beamforming algorithm should be performed.
gNbDev | gNB device |
ueDev | UE device |
Implements ns3::BeamformingHelperBase.
Definition at line 67 of file ideal-beamforming-helper.cc.
References ns3::BeamformingHelperBase::m_algorithmFactory, m_beamformingAlgorithm, m_spectrumPhyPair, and ns3::BeamformingHelperBase::RunTask().
|
overrideprotected |
Definition at line 35 of file ideal-beamforming-helper.cc.
|
protectedvirtual |
The beamforming timer has expired; at the next slot, perform beamforming.
Definition at line 117 of file ideal-beamforming-helper.cc.
References ExpireBeamformingTimer(), m_beamformingPeriodicity, m_beamformingTimer, and Run().
Referenced by ExpireBeamformingTimer().
|
overrideprotectedvirtual |
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 |
Implements ns3::BeamformingHelperBase.
Definition at line 101 of file ideal-beamforming-helper.cc.
References m_beamformingAlgorithm.
Time ns3::IdealBeamformingHelper::GetPeriodicity | ( | ) | const |
GetIdealBeamformingPeriodicity.
Definition at line 138 of file ideal-beamforming-helper.cc.
References m_beamformingPeriodicity.
Referenced by GetTypeId().
|
static |
Get the Type ID.
Definition at line 44 of file ideal-beamforming-helper.cc.
References GetPeriodicity(), ns3::CellScanBeamforming::GetTypeId(), SetBeamformingMethod(), and SetPeriodicity().
|
virtual |
Run beamforming task.
Definition at line 88 of file ideal-beamforming-helper.cc.
References m_spectrumPhyPair, and ns3::BeamformingHelperBase::RunTask().
Referenced by ExpireBeamformingTimer().
|
overridevirtual |
SetBeamformingMethod.
beamformingMethod |
Implements ns3::BeamformingHelperBase.
Definition at line 109 of file ideal-beamforming-helper.cc.
References ns3::IdealBeamformingAlgorithm::GetTypeId(), and ns3::BeamformingHelperBase::m_algorithmFactory.
Referenced by GetTypeId().
void ns3::IdealBeamformingHelper::SetPeriodicity | ( | const Time & | v | ) |
SetIdealBeamformingPeriodicity.
v |
Definition at line 130 of file ideal-beamforming-helper.cc.
References m_beamformingPeriodicity.
Referenced by GetTypeId().
|
protected |
The beamforming algorithm that will be used.
Definition at line 93 of file ideal-beamforming-helper.h.
Referenced by ~IdealBeamformingHelper(), AddBeamformingTask(), and GetBeamformingVectors().
|
protected |
The beamforming periodicity or how frequently beamforming tasks will be executed
Definition at line 88 of file ideal-beamforming-helper.h.
Referenced by ExpireBeamformingTimer(), GetPeriodicity(), and SetPeriodicity().
|
protected |
Beamforming timer that is used to schedule periodical beamforming vector updates
Definition at line 90 of file ideal-beamforming-helper.h.
Referenced by ExpireBeamformingTimer().
|
protected |
The list of beamforming tasks to be executed.
Definition at line 95 of file ideal-beamforming-helper.h.
Referenced by AddBeamformingTask(), and Run().