Beamforming with partial channel knowledge
View Patent ↗A method in a transmitter for selecting steering vectors for simultaneously transmitting a plurality of streams (N S ) between the transmitter and a receiver, where the receiver has N R receive antennas, where the transmitter knows respective channels associated with M receive antennas of the receiver, and where M is less than N R , includes constructing a partial channel matrix that describes a multiple input, multiple output (MIMO) channel between the transmitter and the M receive antennas, generating L independent vectors using the partial channel matrix, wherein L is a rank of the partial channel matrix, selecting a respective steering vector for each of the plurality of streams to be transmitted to the receiver, including, if N S is less than or equal to L, selecting N S of the L independent vectors as the steering vectors, and, if N S is greater than L, (i) selecting the L independent vectors as steering vectors to steer L of the plurality of streams; and (ii) selecting N S −L orthogonal vectors in a null space of the L independent vectors.
1. A method in a transmitter for selecting steering vectors for simultaneously transmitting a plurality of streams (N S ) between the transmitter and a receiver, wherein the receiver has N R receive antennas, wherein the transmitter knows respective channels associated with M receive antennas of the receiver, and wherein M is less than N R , the method comprising:
constructing a partial channel matrix that describes a multiple input, multiple output (MIMO) channel between the transmitter and the M receive antennas;
generating L independent vectors using the partial channel matrix, wherein L is a rank of the partial channel matrix; and
selecting a respective steering vector for each of the plurality of streams to be transmitted to the receiver, including:
if N S is less than or equal to L, selecting N S of the L independent vectors as the steering vectors;
if N S is greater than L, (i) selecting the L independent vectors as steering vectors to steer L of the plurality of streams; and (ii) selecting N S −L orthogonal vectors in a null space of the L independent vectors.
2. The method of claim 1 , wherein:
the transmitter has N T transmit antennas, and
a dimensionality of the null space is N T −L.
3. The method of claim 2 , further comprising, if N S is greater than L and N T is greater than N S , varying the N S −L orthogonal vectors over time.
4. The method of claim 2 , further comprising, if N S is greater than L and N T is greater than N S , varying the N S −L orthogonal vectors over frequency.
5. The method of claim 2 , further comprising, if N S is greater than L and N T is equal to N S , varying the N S −L orthogonal vectors over time.
6. The method of claim 2 , further comprising, if N S is greater than L and N T is equal to N S , varying the N S −L orthogonal vectors over frequency.
7. The method of claim 1 , wherein generating L independent vectors using the partial channel matrix includes performing singular value decomposition (SVD) of the partial channel matrix.
8. The method of claim 1 , wherein the number of spatial streams N S to be transmitted to the receiver is less than or equal to a minimum of N R and a number N T of the transmit antennas of the transmitter.
9. A beamformer for use with a beamformee having N R receive antennas, wherein the beamformer knows respective channels associated with M receive antennas of the beamformee, wherein M is less than N R , and wherein a partial channel matrix describes a multiple input, multiple output (MIMO) channel between the beamformer and the M receive antennas, the beamformer comprising:
multiple (N T ) beamformer antennas;
respective radio interfaces coupled to the multiple beamformer antennas;
a controller coupled to the respective radio interfaces; and
a driver executed by the controller to select steering vectors for simultaneously transmitting a plurality of streams (N S ) to the beamformee, the driver configured to:
construct a partial channel matrix that describes the MIMO channel;
generate L independent vectors using the partial channel matrix, wherein L is a rank of the partial channel matrix;
select a respective steering vector for each of the plurality of streams to be transmitted to the beamformee, including:
if N S is less than or equal to L, select N S of the L independent vectors as the steering vectors;
if N S is greater than L, (i) select the L independent vectors as steering vectors to steer L of the plurality of streams; and (ii) select N S −L orthogonal vectors in a null space of the L independent vectors.
10. The beamformer of claim 9 , wherein the driver is further configured to vary the N S −L orthogonal vectors over at least one time and frequency if N S is greater than L and N T is greater than N S .
11. The beamformer of claim 9 , wherein the driver is further configured to vary the N S −L orthogonal vectors over at least one time and frequency if N S is greater than L and N T is equal to N S .
12. The beamformer of claim 9 , wherein the driver is further configured to generate the L independent vectors using singular value decomposition (SVD) of the partial channel matrix.
13. A communication system comprising:
a beamformee having N R receive antennas;
a beamformer, wherein the beamformer knows respective channels associated with M receive antennas of the beamformee, wherein M is less than N R , and wherein a partial channel matrix describes a multiple input, multiple output (MIMO) channel between the beamformer and the M receive antennas, the beamformer including:
multiple (N T ) beamformer antennas,
respective radio interfaces coupled to the multiple beamformer antennas,
a controller coupled to the respective radio interfaces, and
a driver executed by the controller, the driver configured to
steer one or more of streams toward the M receive antennas of the beamformee using the partial channel matrix, wherein the beamformer has N S streams to transmit to the beamformee, and
if N S is greater than a rank of the partial channel matrix between the beamformer and the beamformee, use the partial channel matrix to steer remaining streams through a null space of the partial channel matrix,
wherein the N S streams are steered simultaneously.
14. The communication system of claim 13 , wherein the driver of the beamformer is further configured to vary the N S −L orthogonal vectors over at least one of time and frequency.
15. The communication system of claim 13 , wherein the driver of the beamformer is further configured to vary the N S −L orthogonal vectors over at least one of time and frequency.
16. The communication system of claim 13 , wherein the driver of the beamformer further stacks known forward channel row vectors corresponding to the M receive antennas of the beamformee to construct the partial channel matrix.
17. The communication system of claim 13 , wherein the driver assigns each remaining stream to each orthogonal dimension of the null space.
18. The communication system of claim 13 , wherein the null space of the partial channel matrix has a plurality of dimensions; wherein
to steer a remaining stream through the null space of the partial channel matrix, the driver randomizes a steering vector for the remaining stream within the subspace of the null space of the partial channel matrix.
19. The communication system of claim 18 , wherein the dimensionality of the null space is N T −L.
20. The communication system of claim 13 , wherein the number of spatial streams N S to be transmitted to the beamformee is less than or equal to a minimum of N R and a number N T of the transmit antennas of the beamformer.