5G-LENA nr-v3.3-161-gad18933f
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
beamforming-vector.h
1// Copyright (c) 2020 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef SRC_NR_MODEL_BEAMFORMING_VECTOR_H_
6#define SRC_NR_MODEL_BEAMFORMING_VECTOR_H_
7
8#include "beam-id.h"
9
10#include "ns3/mobility-model.h"
11#include "ns3/uniform-planar-array.h"
12
13namespace ns3
14{
15
27typedef std::pair<PhasedArrayModel::ComplexVector, BeamId> BeamformingVector;
28
29typedef std::pair<BeamformingVector, BeamformingVector> BeamformingVectorPair;
30
37PhasedArrayModel::ComplexVector CreateQuasiOmniBfv(const Ptr<const UniformPlanarArray>& antenna);
38
47PhasedArrayModel::ComplexVector CreateDirectionalBfv(const Ptr<const UniformPlanarArray>& antenna,
48 uint16_t sector,
49 double elevation);
50
59PhasedArrayModel::ComplexVector CreateDirectionalBfvAz(const Ptr<const UniformPlanarArray>& antenna,
60 double azimuth,
61 double zenith);
62
71PhasedArrayModel::ComplexVector CreateDirectPathBfv(const Ptr<MobilityModel>& a,
72 const Ptr<MobilityModel>& b,
73 const Ptr<const UniformPlanarArray>& antenna);
81PhasedArrayModel::ComplexVector CreateKroneckerBfv(const Ptr<const UniformPlanarArray>& antenna,
82 double rowAngle,
83 double colAngle);
84} // namespace ns3
85
86#endif /* SRC_NR_MODEL_BEAMFORMING_VECTOR_H_ */
std::pair< PhasedArrayModel::ComplexVector, BeamId > BeamformingVector
Physical representation of a beam.
PhasedArrayModel::ComplexVector CreateDirectionalBfvAz(const Ptr< const UniformPlanarArray > &antenna, double azimuth, double zenith)
Creates a beamforming vector for a given azimuth and zenith.
PhasedArrayModel::ComplexVector CreateQuasiOmniBfv(const Ptr< const UniformPlanarArray > &antenna)
Create a quasi omni beamforming vector.
PhasedArrayModel::ComplexVector CreateDirectionalBfv(const Ptr< const UniformPlanarArray > &antenna, uint16_t sector, double elevation)
Creates a beamforming vector for a given sector and elevation.