![]() |
5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
|
Antenna array management. More...
#include "realistic-bf-manager.h"
Public Types | |
enum | TriggerEvent { SRS_COUNT , DELAYED_UPDATE } |
![]() | |
typedef std::map< const Ptr< const NetDevice >, BeamformingVector > | BeamformingStorage |
Public Member Functions | |
RealisticBfManager () | |
RealisticBfManager constructor. | |
~RealisticBfManager () override | |
~RealisticBfManager | |
RealisticBfManager::TriggerEvent | GetTriggerEvent () const |
Time | GetUpdateDelay () const |
uint16_t | GetUpdatePeriodicity () const |
void | SetTriggerEvent (RealisticBfManager::TriggerEvent triggerEvent) |
Sets the beamforming update trigger event, trigger event type is one for all the nodes. | |
void | SetUpdateDelay (Time delay) |
Sets the delay after the SRS SINR report reception and triggering of the beamforming update. | |
void | SetUpdatePeriodicity (uint16_t periodicity) |
Sets the periodicity of the beamforming update in the number of the SRS SINR reports. | |
![]() | |
BeamManager () | |
BeamManager constructor. | |
~BeamManager () override | |
~BeamManager | |
virtual void | ChangeBeamformingVector (const Ptr< const NetDevice > &device) |
Change the beamforming vector for tx/rx to/from specified device. | |
virtual void | ChangeToQuasiOmniBeamformingVector () |
Change current beamforming vector to quasi-omni beamforming vector. | |
void | Configure (const Ptr< UniformPlanarArray > &antennaArray) |
Configures quasi-omni beamforming vector. | |
Ptr< const UniformPlanarArray > | GetAntenna () const |
Get a pointer to the current antenna. | |
virtual PhasedArrayModel::ComplexVector | GetBeamformingVector (const Ptr< NetDevice > &device) const |
Function that returns the beamforming vector weights that is used to communicated with a specified device. | |
BeamId | GetBeamId (const BeamformingVector &v) const |
Extract the beam id from the beamforming vector specified. | |
virtual BeamId | GetBeamId (const Ptr< NetDevice > &device) const |
Function that returns the beamId of the beam that is used to communicated with a specified device. | |
virtual PhasedArrayModel::ComplexVector | GetCurrentBeamformingVector () |
Function that returns the beamforming vector that is currently being used by the antenna. | |
PhasedArrayModel::ComplexVector | GetVector (const BeamformingVector &v) const |
Get weight vector from a BeamformingVector. | |
virtual void | SaveBeamformingVector (const BeamformingVector &bfv, const Ptr< const NetDevice > &device) |
Function that saves the beamforming weights of the antenna for transmission or reception to/from a specified connected device. | |
void | SetPredefinedBeam (PhasedArrayModel::ComplexVector predefinedBeam) |
void | SetPredefinedBeam (uint16_t sector, double elevation) |
configures a predefined beam to use for directional transmissions | |
void | SetSector (uint16_t sector, double elevation) const |
Set the Sector. | |
void | SetSectorAz (double azimuth, double zenith) const |
Set the Sector. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
GetTypeId. | |
![]() | |
static TypeId | GetTypeId () |
GetTypeId. | |
Antenna array management.
BeamManager is responsible of installation and configuration of antenna array. Additionally, in the case of gNB it saves the map of beamforming vectors per device.
Introspection did not find any typical Config paths.
No TraceSources are defined for this type.
Size of this type is 288 bytes (on a 64-bit architecture).
Definition at line 29 of file realistic-bf-manager.h.
enum ns3::RealisticBfManager::TriggerEvent |
Definition at line 32 of file realistic-bf-manager.h.
ns3::RealisticBfManager::RealisticBfManager | ( | ) |
RealisticBfManager constructor.
Definition at line 16 of file realistic-bf-manager.cc.
|
override |
~RealisticBfManager
Definition at line 20 of file realistic-bf-manager.cc.
RealisticBfManager::TriggerEvent ns3::RealisticBfManager::GetTriggerEvent | ( | ) | const |
Definition at line 71 of file realistic-bf-manager.cc.
Referenced by GetTypeId().
|
static |
GetTypeId.
Definition at line 26 of file realistic-bf-manager.cc.
References GetTriggerEvent(), GetUpdateDelay(), GetUpdatePeriodicity(), SetTriggerEvent(), SetUpdateDelay(), and SetUpdatePeriodicity().
Referenced by ns3::LenaV2Utils::SetLenaV2SimulatorParameters().
Time ns3::RealisticBfManager::GetUpdateDelay | ( | ) | const |
Definition at line 95 of file realistic-bf-manager.cc.
Referenced by GetTypeId().
uint16_t ns3::RealisticBfManager::GetUpdatePeriodicity | ( | ) | const |
Definition at line 83 of file realistic-bf-manager.cc.
Referenced by GetTypeId().
void ns3::RealisticBfManager::SetTriggerEvent | ( | RealisticBfManager::TriggerEvent | triggerEvent | ) |
Sets the beamforming update trigger event, trigger event type is one for all the nodes.
triggerEvent | triggerEvent type |
Definition at line 65 of file realistic-bf-manager.cc.
Referenced by GetTypeId().
void ns3::RealisticBfManager::SetUpdateDelay | ( | Time | delay | ) |
Sets the delay after the SRS SINR report reception and triggering of the beamforming update.
delay | the delay after reception of SRS SINR |
Definition at line 89 of file realistic-bf-manager.cc.
Referenced by GetTypeId().
void ns3::RealisticBfManager::SetUpdatePeriodicity | ( | uint16_t | periodicity | ) |
Sets the periodicity of the beamforming update in the number of the SRS SINR reports.
Definition at line 77 of file realistic-bf-manager.cc.
Referenced by GetTypeId().