5#include "realistic-bf-manager.h"
8#include <ns3/uinteger.h>
13NS_LOG_COMPONENT_DEFINE(
"RealisticBfManager");
14NS_OBJECT_ENSURE_REGISTERED(RealisticBfManager);
29 TypeId(
"ns3::RealisticBfManager")
31 .AddConstructor<RealisticBfManager>()
32 .AddAttribute(
"TriggerEvent",
33 "Defines a beamforming trigger event",
34 EnumValue(RealisticBfManager::SRS_COUNT),
35 MakeEnumAccessor<RealisticBfManager::TriggerEvent>(
38 MakeEnumChecker(RealisticBfManager::SRS_COUNT,
40 RealisticBfManager::DELAYED_UPDATE,
42 .AddAttribute(
"UpdatePeriodicity",
43 "Interval between consecutive beamforming update method executions "
45 "number of SRS periodicities to wait before triggering the next "
46 "beamforming update.",
50 MakeUintegerChecker<uint16_t>())
53 "Delay between SRS SINR report and the beamforming vectors update. Should be lower "
54 "then SRS periodicity in slots, otherwise the SRS SINR being used will be the "
57 TimeValue(MilliSeconds(10)),
67 m_triggerEvent = triggerEvent;
70RealisticBfManager::TriggerEvent
73 return m_triggerEvent;
79 m_updatePeriodicity = periodicity;
85 return m_updatePeriodicity;
91 m_updateDelay = delay;
Antenna array management.
RealisticBfManager()
RealisticBfManager constructor.
Time GetUpdateDelay() const
void SetUpdatePeriodicity(uint16_t periodicity)
Sets the periodicity of the beamforming update in the number of the SRS SINR reports.
uint16_t GetUpdatePeriodicity() const
RealisticBfManager::TriggerEvent GetTriggerEvent() const
~RealisticBfManager() override
~RealisticBfManager
static TypeId GetTypeId()
GetTypeId.
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.