1. A method for selecting a codebook, comprising: receiving, by a beamformee, channel state information and a sounding spatial mapping matrix set to a codebook from a beamformer, the codebook used to assign a steering matrix for transmit beamforming; constructing, using at least one controller, an estimated channel matrix based on the sounding spatial mapping matrix set to the codebook received from the beamformer, the sounding spatial mapping matrix being stored in a memory; selecting, using the at least one controller, a channel submatrix from the estimated channel matrix; calculating, using the at least one controller, a selection matrix from the channel submatrix; and assigning, using the at least one controller, a steering matrix based on the selection matrix.