Setting Azimuth for AntennaArray

Hello Everybody
I’m trying to simulate a 5G Network for High Speed Train. To do so, I created one Base Station with predefined positions for 3 Antenna Elements. For the ThreeSector Antenna there is a parameter to define azimuth, which I couldn’t set for the AntennaArray. Is there a way to define, or at least determine the orientation of my array?
Thanks in advance for your help.
Best Regards, Luca

BS1                 = parameters.basestation.PredefinedPositions();
BS1.type            = parameters.setting.BaseStationType.macro;
BS1.positions       = [0 580 1160; 5 -5 5].';
BS1.antenna         = parameters.basestation.antennas.AntennaArray;
BS1.antenna.nV      = 8;
BS1.antenna.nH      = 8;
BS1.antenna.nPV     = 1;
BS1.antenna.nPH     = 1;
BS1.antenna.height  = 10;
params.baseStationParameters('BS1') = BS1;

Dear Luca,

It should be possible to specify the azimuth and elevation for an antenna array (e.g. antenna.azimuth = value).
You can find a list of configurable parameters with their default values in +scenarios\example.m (refer to the antennaArray section).

Regards,
Charmae

Dear Charmae,
Thanks for the quick reply. The Problem solved itself when I updated from 1.1 to 1.3.

However, the documentation for parameters.basestation.antennas.Parameters/azimuth
states “azimuth angle […] in degrees. [1x1] double azimuth angle in radians[…]”.
I’m guessing this means a scalar value will be interpreted as degrees, while a matrix value is read as radians.

Also I would assume that with azimuth set to 0, an AntennaAray would have its maximum gain along the x-axis.

It would be great if you could confirm these assumptions. Thanks again and sorry for the inconvenience.
Best Regards,
Luca

Dear Luca,

Sorry for the confusion. The azimuth angle (scalar) used for the antenna gain calculation is in degrees. Yes, the maximum gain would be along the x-axis when the azimuth angle is set to 0.

Regards,
Charmae

1 Like

There actually seems to be a bug, where azimuth and elevation are interpreted in degrees for the antenna gain calculation, but in radian for the analog precoder calculation. If you use both features, adapt either +precoders.analog.MIMO.calculatePrecoder or +networkElements.bs.antennas.AntennaArray.

1 Like

The implementation uses the definition from 3GPP 38.901 section 7.3.

1 Like

Hi Agnes,

I’m having trouble with the elevation angle. For testing, I simulated one static user at position [0,0,5] and one base station with a 2x1 antenna array at position [10,0] and height = 10.

According to Fig. 11 of the docs, the elevation angle is measured upwards from the beam direction to the zenith. I calculated roughly 117° and put that value in. However, when I tried out the complement 63°, SINR increased by 3-5 dB across the spectrum.

Did I miss any offset Value or could this be a bug in the implementation?
BR, Luca

Hi Luca,

there is indeed the parameter elevationOffset, which is set to -PI/4 by default. You can change it in the +networkElements.bs.Antenna class.

Best regards,
Agnes

Hi Agnes,

I have already changed that offset to 0 and still saw the aforementioned behavior.
Could you check if the implementation interprets the elevation value differently from the documented behavior?

Best Regards, Luca

Hi Luca,

I could not reproduce the behavior described by you. The elevation is used as shown in figure 10 of the user manual v1.3, where an elevation of 0 points upwards in the positive z-axis, and an elevation of 90° is parallel to the ground plane corresponding to the plane spanned by the x-axis and the y-axis.

But the behavior also depends on how you fix the bug with the unit confusion of the elevation, which is used differently in the antenna gain calculation and the analog precoder in the released version (1.3). You should also keep in mind that the antenna gain changes based on the setting of the elevation, so this could also be the source of the behavior you observe.

Sorry for the late answer and sorry for the inconvenience.

Best regards,
Agnes