--
You received this message because you are subscribed to the Google Groups "5G-LENA-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 5g-lena-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/5g-lena-users/395bfad8-f7a8-4fba-93ef-b708fdba242dn%40googlegroups.com.
DynamicCast<NrGnbNetDevice>(gnbNetDev.Get(0))->GetPhy(0)->GetBeamManager ()->SetSector (sector, theta);
I am using it to reproduce the beam radiated by an 1X3 (1 row 3 columns) ULA array placed at the gNodeB side. Both vertical and horizontal spacing are 0.5 m by default. In other words I am using the REM script with the BEAM_SHAPE option.
Transmissions are performed within a UMa scenario (hBS = 25 m and hUt = 1.5 m ). The UE is single antenna and and the CreateQuasiOmniBfv is used. Then its coefficient is always 1.
I looked the implementation of SetSector method and it is my understanding that theta is the vertical angle with its unit vector normal to z-axis. Then my question is why sector has been defined as integer? . In particular, the implementation of SetSector defines the following steering vector phases:
double phase = -2 * M_PI * (sin (vAngle_radian) * cos (hAngle_radian) * loc.x
+ sin (vAngle_radian) * sin (hAngle_radian) * loc.y
+ cos (vAngle_radian) * loc.z);
tempVector.push_back (exp (std::complex<double> (0, phase)) * power);
This for my results in :
- sin (vAngle_radian) * cos (hAngle_radian) * loc.x always zero due to the convention on the local coordinates for the antennas
- sin (vAngle_radian) * sin (hAngle_radian) * loc.y which represent the phase difference between the elements along y-axis
- cos (vAngle_radian) * loc.z represents the phase difference of users along z axis. Then in my case is always zero as well
Then, in order to steer the beam generated by my array in the x-y plane I should keep v_angle=90° and change h_angle. However, according with its definition:
double hAngle_radian = M_PI * (static_cast<double> (sector) / static_cast<double> (uintValueNumRows.Get ())) - 0.5 * M_PI;
I always obtain the same attached figure independently from the value of sector (I excluded both fast and slow fading).
I would really appreciate if someone have some insights on this. Maybe I am considering the coordinate system not correctly?
Best regards,
Antonino