5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::RealisticBfManager Class Reference

Antenna array management. More...

#include "realistic-bf-manager.h"

+ Inheritance diagram for ns3::RealisticBfManager:
+ Collaboration diagram for ns3::RealisticBfManager:

Public Types

enum  TriggerEvent { SRS_COUNT , DELAYED_UPDATE }
 
- Public Types inherited from ns3::BeamManager
typedef std::map< const Ptr< const NetDevice >, BeamformingVectorBeamformingStorage
 

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.
 
- Public Member Functions inherited from ns3::BeamManager
 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 Public Member Functions inherited from ns3::BeamManager
static TypeId GetTypeId ()
 GetTypeId.
 

Detailed Description

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.

Attributes

  • TriggerEvent: Defines a beamforming trigger event
    • Set with class: ns3::EnumValue<ns3::RealisticBfManager::TriggerEvent>
    • Underlying type: SrsCount|DelayedUpdate
    • Initial value: SrsCount
    • Flags: construct write read
  • UpdatePeriodicity: Interval between consecutive beamforming update method executions expressed in the number of SRS periodicities to wait before triggering the next beamforming update.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 1
    • Flags: construct write read
  • UpdateDelay: Delay between SRS SINR report and the beamforming vectors update. Should be lower then SRS periodicity in slots, otherwise the SRS SINR being used will be the latest received.
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+07ns
    • Flags: construct write read

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.

Member Enumeration Documentation

◆ TriggerEvent

enum ns3::RealisticBfManager::TriggerEvent

Definition at line 32 of file realistic-bf-manager.h.

Constructor & Destructor Documentation

◆ RealisticBfManager()

ns3::RealisticBfManager::RealisticBfManager ( )

RealisticBfManager constructor.

Definition at line 16 of file realistic-bf-manager.cc.

◆ ~RealisticBfManager()

ns3::RealisticBfManager::~RealisticBfManager ( )
override

~RealisticBfManager

Definition at line 20 of file realistic-bf-manager.cc.

Member Function Documentation

◆ GetTriggerEvent()

RealisticBfManager::TriggerEvent ns3::RealisticBfManager::GetTriggerEvent ( ) const
Returns
Returns the trigger event type

Definition at line 71 of file realistic-bf-manager.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::RealisticBfManager::GetTypeId ( )
static

GetTypeId.

Returns
the TypeId of this instance

Definition at line 26 of file realistic-bf-manager.cc.

References GetTriggerEvent(), GetUpdateDelay(), GetUpdatePeriodicity(), SetTriggerEvent(), SetUpdateDelay(), and SetUpdatePeriodicity().

Referenced by ns3::LenaV2Utils::SetLenaV2SimulatorParameters().

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

◆ GetUpdateDelay()

Time ns3::RealisticBfManager::GetUpdateDelay ( ) const
Returns
returns the delay after sSRS SINR report and beamforming

Definition at line 95 of file realistic-bf-manager.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetUpdatePeriodicity()

uint16_t ns3::RealisticBfManager::GetUpdatePeriodicity ( ) const
Returns
Gets the periodicity in the number of SRS SINR reports

Definition at line 83 of file realistic-bf-manager.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetTriggerEvent()

void ns3::RealisticBfManager::SetTriggerEvent ( RealisticBfManager::TriggerEvent  triggerEvent)

Sets the beamforming update trigger event, trigger event type is one for all the nodes.

Parameters
triggerEventtriggerEvent type

Definition at line 65 of file realistic-bf-manager.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetUpdateDelay()

void ns3::RealisticBfManager::SetUpdateDelay ( Time  delay)

Sets the delay after the SRS SINR report reception and triggering of the beamforming update.

Parameters
delaythe delay after reception of SRS SINR

Definition at line 89 of file realistic-bf-manager.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetUpdatePeriodicity()

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().

+ Here is the caller graph for this function:

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