A method for receiving signals and aligning signal and interference at a rank d receiver (3, 4, 5, 7, 8, 9) having K receive antennas from first and second transmitters each having M transmit antennas, comprising: assembling at the receiver (3, 4, 5, 7, 8, 9) a first channel matrix (H 1) and a second channel matrix (H 2) for a first transmitter and a second transmitter, respectively; determining a first rank d 1 of a first signal received from the first transmitter; determining a second rank d 2 of a second signal received from the second transmitter; computing a first combining matrix, r 1 = (v l ref) H H 2 + for l = 1,..., d 1, from a pseudo inverse of the second channel matrix and d 1 predetermined vectors selected from a plurality of predetermined vectors having size M, wherein ( v l ref) H is a Hermitian of the vectors selected from the plurality of predetermined vectors; computing a second combining matrix, r 2 = (v l ref) H H 1 + for l = 1,..., d 2, from a pseudo inverse of the first channel matrix and d 2 predetermined vectors selected from the plurality of predetermined vectors having size M; applying the first combining matrix to decode rank d 1 data signals received at the receiver (3, 4, 5, 7, 8, 9) from the first transmitter, where the first combining matrix projects all cross channels from the second transmitter to the d 1 predetermined vectors to reduce or eliminate interference from the second transmitter; and applying the second combining matrix to decode rank d 2 data signals received at the receiver (3, 4, 5, 7, 8, 9) from the second transmitter, where the second combining matrix projects all cross channels from the first transmitter to the d 2 predetermined vectors to reduce or eliminate interference from the first transmitter. assembling at the receiver (3, 4, 5, 7, 8, 9) a first channel matrix (H 1) and a second channel matrix (H 2) for a first transmitter and a second transmitter, respectively; determining a first rank d 1 of a first signal received from the first transmitter; determining a second rank d 2 of a second signal received from the second transmitter; computing a first combining matrix, r 1 = (v l ref) H H 2 + for l = 1,..., d 1, from a pseudo inverse of the second channel matrix and d 1 predetermined vectors selected from a plurality of predetermined vectors having size M, wherein ( v l ref) H is a Hermitian of the vectors selected from the plurality of predetermined vectors; computing a second combining matrix, r 2 = (v l ref) H H 1 + for l = 1,..., d 2, from a pseudo inverse of the first channel matrix and d 2 predetermined vectors selected from the plurality of predetermined vectors having size M; applying the first combining matrix to decode rank d 1 data signals received at the receiver (3, 4, 5, 7, 8, 9) from the first transmitter, where the first combining matrix projects all cross channels from the second transmitter to the d 1 predetermined vectors to reduce or eliminate interference from the second transmitter; and applying the second combining matrix to decode rank d 2 data signals received at the receiver (3, 4, 5, 7, 8, 9) from the second transmitter, where the second combining matrix projects all cross channels from the first transmitter to the d 2 predetermined vectors to reduce or eliminate interference from the first transmitter.