1. A method of detecting data in a received multiple-input-multiple-output (MIMO) signal, the method comprising: receiving, via a transmission channel, a first signal (y1), a second signal (y2), and a third signal (y3) from first, second, and third antennas, respectively, wherein the received signals are associated with first data values (x1), second data values (x2), and third data values (x3); forming the first signal, the second signal, and the third signal into a received signal vector y; forming the first data values, the second data values, and the third data values into a vector x; estimating a channel matrix (H) representing effects of the transmission channel on the first data values, the second data values, and the third data values; performing a QR decomposition of the channel matrix, such that H=QR, wherein Q matrix is a unitary matrix and R matrix is an upper triangular matrix; transforming the received signal vector y into a rotated signal vector z according to z=Q H y; transforming the R matrix and the rotated signal vector z such that one or more elements of the R matrix having complex number values are set equal to zero; calculating distance values using the transformed vector z and the vector x; and calculating one or more log likelihood ratio (LLR) values based on the distance values.