1. A method, comprising: receiving a training signal; determining a channel estimate matrix based on the received training signal; partitioning the channel estimate matrix into a matrix [A B], wherein A is a block matrix having a row dimension of at least three and a column dimension less than the row dimension of block matrix A, and wherein B is a block matrix having a row dimension of at least three and a column dimension less than the row dimension of the block matrix B, and wherein at least one of the block matrices A and B contains elements corresponding to more than one receive and/or more than one transmit antenna; calculating a multiple input, multiple output (MIMO) equalizer based on a block matrix inverse or pseudo-inverse of the partitioned channel estimate matrix, wherein calculating the MIMO equalizer comprises: calculating P A ⊥ =I−A(A T A) −1 A T , calculating P B ⊥ =I−B(B T B) −1 B T , calculating P A ⊥ B, calculating P B ⊥ A, calculating (P A ⊥ B) + , and calculating (P B ⊥ A) + , wherein I is an identity matrix, and P A ⊥ and P B ⊥ are orthogonal projection matrices; and applying the MIMO equalizer to data signals.