5#ifndef SRC_NR_MODEL_IDEAL_BEAMFORMING_ALGORITHM_H_
6#define SRC_NR_MODEL_IDEAL_BEAMFORMING_ALGORITHM_H_
9#include "beamforming-vector.h"
11#include "ns3/object.h"
47 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
48 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const = 0;
82 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
83 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
86 uint8_t m_oversamplingFactor;
129 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
130 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
133 double m_beamSearchAngleStep{30};
157 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
158 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
183 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
184 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
210 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
211 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
239 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
240 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
314 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
315 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
318 std::vector<double> m_colRxBeamAngles{0, 90};
319 std::vector<double> m_colTxBeamAngles{0, 90};
320 std::vector<double> m_rowRxBeamAngles{0, 90};
321 std::vector<double> m_rowTxBeamAngles{0, 90};
375 const Ptr<NrSpectrumPhy>& gnbSpectrumPhy,
376 const Ptr<NrSpectrumPhy>& ueSpectrumPhy)
const override;
379 std::vector<double> m_colBeamAngles{0, 90};
380 std::vector<double> m_rowBeamAngles{0, 90};