Modify Beamforming Matrix

Hello Everyone

I’m currently trying to find the beamforming matrix that is used in my simulation. Also I would like to be able to calculate the BF matrix myself.

According to the documentation, the analog precoder performs the beamforming calculations.
When I looked at the code of /+simulation/ChunkSimulation.m, I discovered that the Simulation Loop calls obj.calculateAnalogPrecoder;, which then calls obj.antennaList(iAnt).precoderAnalog.calculatePrecoder(obj.antennaList(iAnt));.
From there on I my IDE was unable to point me to the respective code

It would be great if someone could point me to the relevant calculations.
Thanks in advance,

1 Like

I found the function calculatePrecoder at +precoders/+analog/MIMO.m but as far as I understand it, this only calculates the antenna characteristics. Could you tell me where the actual BF matrix is calculated?

Also, is it possible to modify the antenna parameters nH, nV, nPH, nPV etc. for the user? I use AntennaArray.m for the BS and would like to do the same for a user.PredefinedPositions() with UserMovementType.Predefined.

Hello Luca,
the analog precoding matrix is calculated in the function you mention. The digital precoding matrix is calculated with the respective precoder you chose. You can find all digital precoders in the +precoders package. Which precoder is chosen is decided in the feedback package and the precoder for the transmission is set in the scheduler.

It is not possible to modify the antenna parameters for the users, all users are assumed to have a simple omnidirectional antenna, if you want to consider directional antenna patterns at the user, you would have to implement it.

Best regards,

1 Like