A method of antenna training for communicating in parallel multiple data streams using multi-beamforming between multiple-input multiple-output source and destination stations comprising: estimating essentially optimal multi-beamforming vectors by multiple stages, with each stage including: (a) obtaining, by a source station, a first transmit beamforming vector that is orthogonal to all, if any, prior transmit beamforming vectors from earlier stages; (b) transmitting, by the source station, a training sequence modulated by the first transmit beamforming vector in the spatial domain to a destination station; (c) receiving, by the source station, a first receive beamforming vector which is obtained, by the destination station, from the training sequence modulated by the first transmit beamforming vector, such that the first receive beamforming vector is orthogonal to all, if any, prior receive beamforming vectors; (d) transmitting, by the source station, a training sequence modulated by different transmit beamforming vectors to the destination station; (e) receiving, by the source station, from the destination station a second transmit beamforming vector estimated from the training sequence modulated by different transmit beamforming vectors, whereby the source station decodes/transforms back the second transmit beamforming vector, wherein the second transmit beamforming vector is orthogonal to all, if any, prior transmit beamforming vectors in earlier stages. estimating essentially optimal multi-beamforming vectors by multiple stages, with each stage including: (a) obtaining, by a source station, a first transmit beamforming vector that is orthogonal to all, if any, prior transmit beamforming vectors from earlier stages; (b) transmitting, by the source station, a training sequence modulated by the first transmit beamforming vector in the spatial domain to a destination station; (c) receiving, by the source station, a first receive beamforming vector which is obtained, by the destination station, from the training sequence modulated by the first transmit beamforming vector, such that the first receive beamforming vector is orthogonal to all, if any, prior receive beamforming vectors; (d) transmitting, by the source station, a training sequence modulated by different transmit beamforming vectors to the destination station; (e) receiving, by the source station, from the destination station a second transmit beamforming vector estimated from the training sequence modulated by different transmit beamforming vectors, whereby the source station decodes/transforms back the second transmit beamforming vector, wherein the second transmit beamforming vector is orthogonal to all, if any, prior transmit beamforming vectors in earlier stages. (a) obtaining, by a source station, a first transmit beamforming vector that is orthogonal to all, if any, prior transmit beamforming vectors from earlier stages; (b) transmitting, by the source station, a training sequence modulated by the first transmit beamforming vector in the spatial domain to a destination station; (c) receiving, by the source station, a first receive beamforming vector which is obtained, by the destination station, from the training sequence modulated by the first transmit beamforming vector, such that the first receive beamforming vector is orthogonal to all, if any, prior receive beamforming vectors; (d) transmitting, by the source station, a training sequence modulated by different transmit beamforming vectors to the destination station; (e) receiving, by the source station, from the destination station a second transmit beamforming vector estimated from the training sequence modulated by different transmit beamforming vectors, whereby the source station decodes/transforms back the second transmit beamforming vector, wherein the second transmit beamforming vector is orthogonal to all, if any, prior transmit beamforming vectors in earlier stages.