So, as seen, by adjusting delays between equidistant linear antenna elements,
receptions can be made favorable to certain angles or directions.
More the number of antenna elements, thinner will be the beam lobes.
If you notice, the concept is reciprocal.
Instead of adjusting receiver antenna element delays, we can adjust transmitting antenna element delays to achieve the same result !
Below is a plot of amplitude Vs θ in circular graph with the adjustments for 0 degree and 45 degrees.
Fig "Beam lobes (circular graph)"
This is the basic principle behind beamforming used by 5G NR.
For more precise and detailed treatment of the basic concept, please refer [2] and [3] .
Precoding for Beamforming
If we apply Beamforming on transmitting antenna elements, equation for each antenna element will look like
(input l is same for all antenna elements),
t1 = l
t2 = ej.π.sinθ. l
t3 = ej.2.π.sinθ. l
...
tk = ej.(k-1).π.sinθ. l
This can be put in matrix format as,
[T] = v . [L]
So, v is our Precoding matrix for Beamforming as below (superscript T is a notation for transpose of matrix),
v = [1 ej.π.sinθej.2.π.sinθ ... ej.(k-1).π.sinθ ]T