1. A method, in a transmitter, for selecting steering vectors for transmitting one or more streams between the transmitter and a receiver, wherein the transmitter has a plurality of transmit antennas, the receiver has a plurality of receive antennas, the number of receive antennas in the plurality of receive antennas is N R , and the number of streams in the one or more steams is N S , the method comprising: constructing a partial channel matrix that describes a multiple input, multiple output (MIMO) channel between the plurality of transmit antennas and a set of one or more of the receive antennas, wherein the number of receive antennas in the set of one or more of the receive antennas is M, and M is less than N R ; generating one or more independent vectors using the partial channel matrix, wherein the number of independent vectors in the one or more independent vectors is L, and L is a rank of the partial channel matrix; and when N S is greater than L, (i) selecting the one or more independent vectors as one or more first steering vectors to steer a first set of one or more streams in the one or more streams, wherein the number of streams in the first set of one or more streams is L; (ii) selecting one or more orthogonal vectors in a null space of the one or more independent vectors as one or more second steering vectors to steer a second set of one or more streams in the one or more streams, wherein the number of orthogonal vectors in the one or more orthogonal vectors is N S −L, wherein the number of streams in the second set of one or more streams is N S −L, and the N S −L streams in the second set of one or more streams are not in the first set of one or more streams; (iii) utilizing the one or more first steering vectors for transmitting the first set of one or more streams; and (iv) utilizing the one or more second steering vectors for transmitting the second set of one or more streams.