I am trying to understand how beamforming has been implemented in the simulator, and I have some questions:
1) What exactly is beamforming_vec? I can see it is an array of complex values, but I can’t see how these are used to actually do beamforming?
2) Beamforming in real life is done using an antenna array, yet in the simulator is possible to use beamforming with only 1 antenna (nTx=1), and significant throughput improvement. How is this possible>
1) In our implementation for LTE transmission mode 7- single layer beamforming, we calculate the precoders based on Signal-to-Leakage-and-Noise Ratio Maximization (SLNR-Max). So beamforming_vec denote the precoders/beamformers that are calculated based on SLNR-Max, meaning that the radiated power into the direction of the intended user is maximized, while the radiated power into the direction of the interfering users from the neighboring eNodeB is minimized.
2) Beamforming can be done in analog and digital domain. In analog beamforming analog phase shifters are used to steer the emitted signal in a certain direction by the antenna array. In digital beamforming, different signals can be designed for each antenna in the baseband, one way to do that is as explained in 1).
Please check documentation for more details about our implementation of transmission mode 7 and further references for SLNR-Max algorithm.