Patent ID: 8442162

Claim:
A method for QR-maximum likelihood detection (QR-MLD) demodulation, including the steps of: (a) determining a transmission reception mode as being one of single input—single output (SISO), single input—multiple output (SIMO), multiple input—multiple output (MIMO) or space frequency block codes (SFBC); (b) receiving symbols simultaneously via multiple streams, the simultaneously received symbols being represented by a received symbol vector y; (c) generating a channel matrix H; (d) performing QR decomposition on the channel matrix H to compute a Q matrix and an R matrix such that H=QR, the Q matrix being a unitary matrix and the R matrix being an upper triangular matrix; (e) processing the received symbol vector y by multiplying the received symbol vector y by the Hermitian Q H of the Q matrix such that z=Q H y where z is the processed received symbol vector; (f) determining, for a SFBC mode determined at step (a), whether a conjugate calculation will be required and setting a conjugate flag having either a true or false value; (g) computing a first distance metric d 1,j by using the processed received symbol vector z and the R matrix of the QR decomposition and performing a conjugate first distance metric calculation if the conjugate flag is true, else performing a non-conjugate first distance metric calculation if the conjugate flag is false; (h) computing an estimated symbol {circumflex over (x)} j by performing a conjugate estimated symbol calculation if the conjugate flag is true, else performing a non-conjugate estimated symbol calculation if the conjugate flag is false; (i) mapping the estimated symbol to a constellation as {circumflex over (x)} map,j ; (j) computing a second distance metric d 2,j by performing a conjugate second distance metric calculation if the conjugate flag is true; else performing a non-conjugate second distance metric calculation if the conjugate flag is false; (k) computing a total distance metric d totalj by summing the first and second distance metrics in steps (g) and (j); and (l) calculating the soft bits.