1. A method for beamforming in a communication system, the method comprising: generating a plurality of different antenna weight vectors, wherein each of the plurality of antenna weight vectors is a respective base vector of a unitary matrix; transmitting, a plurality of times, at least one training signal via a plurality of antennas, wherein a respective antenna weight vector from the plurality of different antenna weight vectors is applied each time the at least one training signal is transmitted; receiving feedback signals corresponding to the at least one training signal transmitted the plurality of times and received at a receiver; and generating a transmitter antenna weight vector based on a mathematical combination of at least (i) the at least one training signal and (ii) the feedback signals.