21 #ifndef THREE_GPP_ANTENNA_ARRAY_MODEL_H_ 22 #define THREE_GPP_ANTENNA_ARRAY_MODEL_H_ 24 #include <ns3/antenna-model.h> virtual uint64_t GetNumberOfElements(void) const
Returns the number of antenna elements.
std::vector< std::complex< double > > ComplexVector
type definition for complex vectors
double m_disH
antenna spacing in the horizontal direction in multiples of wave length
bool m_isOmniTx
true if the antenna is configured for omni transmissions
ThreeGppAntennaArrayModel(void)
Constructor.
virtual Vector GetElementLocation(uint64_t index) const
Returns the location of the antenna element with the specified index assuming the left bottom corner ...
uint32_t m_numRows
number of rows
uint32_t m_numColumns
number of columns
double m_disV
antenna spacing in the vertical direction in multiples of wave length
virtual ~ThreeGppAntennaArrayModel(void)
Destructor.
double m_alpha
the bearing angle in radians
void SetBeamformingVector(const ComplexVector &beamformingVector)
Sets the beamforming vector to be used.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
double m_gE
directional gain of a single antenna element (dBi)
ComplexVector m_beamformingVector
the beamforming vector in use
const ComplexVector & GetBeamformingVector(void) const
Returns the beamforming vector that is currently being used.
static TypeId GetTypeId(void)
double m_beta
the downtilt angle in radians
bool IsOmniTx(void) const
Returns true if the antenna is configured for omnidirectional transmissions.
double GetRadiationPattern(double vAngleRadian, double hAngleRadian) const
Returns the radiation power pattern of a single antenna element in dB, generated according to Table 7...
bool m_isIsotropic
if true, antenna elements are isotropic
void ChangeToOmniTx(void)
Change the antenna model to omnidirectional (ignoring the beams)
struct holding the azimuth and inclination angles of spherical coordinates.
A base class which provides memory management and object aggregation.
Class implementing the antenna model defined in 3GPP TR 38.901 V15.0.0.
a unique identifier for an interface.
std::pair< double, double > GetElementFieldPattern(Angles a) const
Returns the horizontal and vertical components of the antenna element field pattern at the specified ...