Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEMS AND METHODS FOR DETECTING DATA IN A RECEIVED MULTIPLE- INPUT-MULTIPLE-OUTPUT (MIMO) SIGNAL
Document Type and Number:
WIPO Patent Application WO/2017/068405
Kind Code:
A1
Abstract:
Systems and methods for detecting data in a received multiple-input-multiple-output signal are provided. N signals are received from N antennas, with M being greater than or equal to three. The N signals form a vector y and are associated with M sets of data values, where the M sets of data values form a vector x. A channel matrix (H) is estimated, and a QR decomposition of the channel matrix is performed, such that H = QR. The vector y is transformed into a vector z according to z = QHy. The R matrix and the rotated signal vector z are transformed such that one or more elements of the R matrix having complex number values are set equal to zero. Distance values are calculated using the transformed vector z and the vector x. Log likelihood ratio (LLR) values are calculated, based on the distance values.

Inventors:
RAM B HARI (IN)
SATRASALA LOKESH SUNDARAMURTHY (IN)
ROTELLA SRI VARSHA (IN)
Application Number:
PCT/IB2016/001289
Publication Date:
April 27, 2017
Filing Date:
August 30, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MARVELL WORLD TRADE LTD (BB)
International Classes:
G06F5/01; G06F17/16; H04B1/02; H04B7/02; H04L5/12; H04L27/06
Foreign References:
US20090190683A12009-07-30
US20070032206A12007-02-08
US8903025B12014-12-02
US20110264721A12011-10-27
US20100293210A12010-11-18
Other References:
PERSSON: "Lecture 6 Householder Reflectors and Givens Rotations.", 26 September 2006 (2006-09-26), pages 1 - 13, XP055376646, Retrieved from the Internet
Attorney, Agent or Firm:
SAUER, Joseph, M. et al. (US)
Download PDF:
Claims:
It is claimed:

1. A me hod of detecting data jm a received muttiplj^in «t-m¾lti i!M)«¾p«t (ΜΪΜΟ) signal, the method comprising;

receiving, via a transmission channel, a first signal (yl)s a second signal (y:2)5 and a third signal (y3) from first second, and third antennas, respectively, wherein the received signals are associated with first data values (x t 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 dat 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 - QHy;

transforming the R matrix and the rotated signal vector z such that one or more elements of the R matr x 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 (LL ) values based on the distance values,

2, The method of claim 1, wherein the R matrix and the rotated signal vector z are transformed such that an m element of the R matrix is se equal to zero. The ethod of claim- 2, wherein

prior to the trans-fo iing of the R ma trix and the rotated signal vec tor i, ilie R matrix is and the rotated signal, vector z is [zl, z2, z3], and

after the transforming of the R matrix and the rotated signal vector z, the transformed

R matrix is I © and the transformed vector z is [ζΓ, z2f z3-j.

The method of claim 3, wherein the method farther comprises:

calculating a first product to determine zV according to calculating a second product to determine -r^ according to

calculating a third product to determine according to

5, The method of claim 4, wherein the calculating of the first, second, and third p o uc s includes performing one or more coordinate rotattonal digital computer (CQRDIC) computations.

6. The method of cl wherein one or more of the distance values are calculated according to

Tl - 2 - Γ3 - fzf — — %ss:3f2 -I- lz2 ~~ rt x2— ¾x3f 2 4- ¾3— r¾3.x3|2.

7. The method of claim.6. further comprising:

determining an l value that minimizes the Tl term based on

where -τ is a constellation-specific scaling factor.

8. A method of detecting data in a received mulliple~inpin muitipl.e~output (MIMO) signal the method comprising;

receiving, via a transmission cbannel, N signals from M respective spatial streams, the received si gnals being associated with M sets of data values, and M being greater than- or equal to three;

formins the N sisnals into a received sianai vector v:

forming the M sets of dat values into a vector x;

estimating a channel matrix (B) representing effects of the transmission channel on the f sets of 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 a upper triangular matrix;

transforming the received signal vector y into a rotated signal vector z according to z - QHy; tmnsfomirag the R matrix and the rotated signal vector z such that one or more elements of the R m trix having com ex 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 o the distance values.

9, The method of claim 8, wherein the R matrix and the rotated signal vector z are transformed such that one or more non-diagonal elements i¾.; of the matrix are set equal to zero.

10, The method of claim % wherein the setting of the one or more non-diagonal elements %.ί>ί of the R matrix equal, to zero comprises:

calculating, for a row i of the R matrix, a product

11.. The method of claim 10, wherein the calculating of the prodoct includes performing one or more CORDIC computations.

} 2, A method of detecting data in a received rauitiple-input-muitiple-output (MtMO) signal, the method comprising: receiving, via a -transmission channel, a first signal (yl)5 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 (xl), second data values (x2), and third data values (x3);

estimating a channel matrix H representing effects of the transmission cliannei on the first data values, the second data values, and the third data values;

performing a QR decomposition of the channel matrix;

after performing the QR. decomposition, calculating first log likelihood ratio (LLR) values using a first algorithm;

after performing the QR decomposition, calculating second LLR values using a second algorithm; and

combining the first and second LLR values,

13. The method of claim 12, wherein

the calculating of the first LLR values comprises:

performmg a QR. decomposition of the channel matrix [hi ¾2 h3] using a first upper triangular matrix, and

computing the first LLR values based on an expression

yl 5 ::: 'J Q jT* J -f t where n I * represents a first noise, y I * represents a variant of y L and

I if . *" I comprises a portion of the first upper triangular matrix; and the calculating of the second LLR values comprises:

performing a QR decomposition of [h2 hi h3| using a second upper triangular matrix, and calculating the second LLR values based on an expression where n represents a second noise, y2* represents a variant of 2.. and ortion of the second upper triangular matrix.

14. Th e method of da ira 13 f where in

in the performing of the QR decomposition 'of the channel matrix [hi h21x3], the first upper tnangular matrix is 2 % ¾I, where nV

is a variant of »l: and

in the performing of the QR decomposition of [h2 h i 3], a second upper triangular matrix is

i 5. The method of claim 14, wherein the combining of the first and second LLR values utilizes weights for the respective first and second LLR valo.es. 6, A method of detecting data in a received muitiple-input-muitiple-oiitput (MIMO) signal, the method comprising;

receiving, via a. transmission channel, N signals from N antennas, respectively, wherein the received signals are associated with ata values;

forming the V signals into a received signal vector y;

forming the M sets of data values into a vector x estimating a channel matrix H representing effects of the transmission channel on the M data values;

performing a QR decomposition of the channel matrix;

calculating L log likelihood ratio (LLR) values- using I algorithms; and

combining; the L LLR values.

17. The method of claim 16, wherein the combining of the I. LLR values utilizes weights for the respective £ LLR values,

18, A method of detecting data in a received multi^! ^tn mt~miilti &>oti-t ttt (MIMO) signal, the method comprising:

receiving, via a transmission channel, a first signal (yl) and a second signal (y:2) from first and second antennas, wherein the received signals are associated with first data values (xl) and second data values (x2);

forming the first signal and the second signal into a received signal vector y;

forming the first data values and the second data values into a vector x;

estimating a channel matrix (H) representin effects of the transmission channel o the first data values and the second data values;

performing a QR decomposition of the channel matrix, such that H :::: QR, wherein Q matrix is a first 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 = QHy; calculating distance values using the rotated signal vector z and the vector x according to a distance metric, the distance metric including at least first and second terms, wherein a variable in the fust term is permitted to have a different value than the same variable in the second terra; and

calculating one or more log likelihood ratio (LLR) values based on the distance values.

19. The method of claim 18, wherein the R matrix includes' one or more complex number values and one or more real number values, the method further comprising:

transfomting the matrix and the rotated signal vector z with a second unitary matrix such that (i) a dement of the R matrix having a complex number value prior to the transforming has a. real number value after the transforming, and (ii) aft element of the R matrix having a real number value prior to the transforming has a complex number value after the transforming.

20, The method of claim 19. wherein

prior to the transforming of the R matrix j " ^ **' j , n s and rn are real number values and m is a complex number value; the second unitary matrix ; and

after the transforming of the R matrix, m and m are real number v alues and rn is a complex number value.

21. The method of claim 20, wherein th calculating of the distance val ues is according to an expression v 1*2 it A iji **^ί¾Λ. ί' t2 2M I ) where terms ¾R, ¾¾ SR represent real number■'value's and terms Jin, ¾n> X2i represent imaginary number values.

22, The method of claim 21 , wherein

t - .. (is, * - ¾ , I* -Hz* jt - re{r, , , }. - the variable xl m the first .ferns " "

permitted to have a different value than the same variable l in the second term

ί !™ — t" 5~ -4- : im {r xx ) ~ Ti 2x2s<\z)

Description:
SYSTEMS AND METHODS FOR DETECTING ' DATA IN A RECEIVED MULTIPLE-

I PDT-MTJLTiPLE-OUTPUT ( IM0) SIGNAL

CROSS-REFERENCE TO RELATED APPLICATIONS

[0081] Thts disclosure claims priority to U.S. Provisional Patent Application No. 62/244,313, filed on October 21 , 2015, the entirety of which is incorporated herein by reference.

TECHNICAL FIELD

[0002] The technology described in this document relates generally to signal receivers and mor particularly to reduced-complexity computation techniques used for detecting data in received maitiple-input-rnultiple-output. (MiMO) signals.

BACKGROUND

0O03 ' | In. the field of wireless communications, MIMO^-OFDM (Multiple-Input and Multiple- Output, Orthogonal Frequency-Division Multiplexing) technology has been used to achieve increased data throughput and link range without requiring additional bandwidth or increased transmission power, MIMO-OFDM technology utilizes multiple transmission antennas at a transmitter and multiple receiving antennas at. a receiver to enable a multipath rich environment with multiple orthogonal channels existing between the transmitter and the receiver. Data signals are transmitted in parallel over these channels, and as a result, both data throughput and link range are increased. Due to these advantages, MIMO-OFDM has been adopted in various wireless communication standards, such as IEEE 802.H.n/l !ac, 4G„ 3GPF Long Term Evolution (LI E), WiMAX, and HSPA+. SUMMARY

£0004] The present disclosure is directed to systems and methods for detecting data in a received maiiiple-kiput-maldple-output (MIMO) signal in an example method for detecting data in a recei ved MiMO signal, a first sigoal (y.l) f a second signal (y2), and a third signal (y3) are received via a transmission channel from first, second, a d third antennas, respectively. The received signals are associated with first data values (x1), second data values (x2), and third data values (x3). The first signal, the second signal, and the third signal are formed into a received signal vector y. The first data values, the second data values, and the third data values are formed into a vector x. A channel matrix (H) representing effects of the transmission channel on the first data values, the second data values, and the third data values is estimated. A QE decomposition of the channel matrix is performed, such that B ■■■ QE., where Q matrix is a unitary matrix and R matri is an upper triangular matrix. The received sigoal vector y is transformed into a rotated signal vector z according to z = Q H y. The E matrix and the rotated signal vector z are transformed such that one or more elements of the E matrix having comple number values are set equal to zero. Distance values are calculated using the transformed vector z and the vector x. One or more log likelihood ratio (LLR) values are calculated based on the distance values.

0005] An example system for detecting dat in a received MIMO signal comprises one or more antennas configured to receive, via a transmission channel, a first signal (yl), a second signal (y2), and a third signal (y3). The received signals are associated wit first data values ( l), second data values (x2). and third data values (x3). The first signal, the second signal, and the third signal form a. received signal vector y. The first data values, the second data values, and the third data values form a vector x. The system further ' comprise a Q decomposer configured to transform a channel matrix (H) representing effects of the transmission channel on the first data values, the second data values, and the third data values. The channel matrix is transformed via a QR decomposition such that H ~ QR, where Q matrix is unitary matrix and R matrix is an upper triangular matrix. A matrix transformer is configured, to transform the received signal vector y into a rotated signal vector z according to z - Q H y- The matrix transformer further transforms the R matrix, and the rotated signal vector z mch that one or more elements of the R. matrix having comple number values are set equal to zero. The system further includes a distance value determiner configured to determine distance values using the transformed vector z and the vector x, and one or more log likelihood ratio (LLR) values are calculated based on the distance values * In em odimeiits, a memory is programmed to store the transformed matrix , and the distance value determiner utilizes elements of the transformed R matrix in calculating the distance values.

|O006| In another example method for detecting data in a received MIMO signal, N signals are received from N antennas, where the received signals are associated with M sets of data values, M being greater than or equal to three. The N signals are formed into a received signal vector y, and the .M sets of data values into a vector x. A channel matrix (H) representing effects of the transmission channel on the M sets of data values is estimated. A QR decomposition of the channel matrix Is performed, suc ' that H ~ QR, where Q matrix is a unitary matrix and R matrix is an uppe -triangular matrix. The received signal vector y is transformed into a rotated signal vector z according to z ~ Q H y. The R matrix and the rotated signal vector z are transformed such that one or more elements of the R matrix having complex number values are set equal to zero. Distance values are calculated using the transformed vector z and the vector x, and one or more log likelihood ratio (LLR) values are calculated based on the distance values. | ' 0O07| Another example system for detecting data in a received MIMO signal comprises one or more antennas configured to receive, via a transmission channel. A' signals from N antennas. The received signals are associated with M sets of data values. The N signals form a received signal vector y. The M sets of data value ' s form a vector x. The system further comprises a QR decomposer configured to transform a channel matrix (H) representing effects of the transmission channel on the M sets of data values-. The channel matrix is ' transformed - via a QR decomposition such that H QR, where Q matrix is a unitary matrix and R matrix is an upper triangular matrix. A matrix transformer is configured to transform the received signal vector y into a rotated signal vector z according to z - Q H y- The matrix transformer further transforms 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. The system ' further includes a distance value determiner configured to determine distance values using the. transformed vector -z and the vector x, and one or more log likelihood ratio (LLR) values are calculated based on the distance values. In embodiments, a memory is programmed to store the transformed matrix, with the distance value determiner utilizing elements of the transformed R matrix in calculating the distance values.

|Θ008} In another example method for detecting data in a received MIMO signal, a first signal (yl), a second signal (y2), and a third signal (y3) are received, via a transmission channel, from first, second, and third antennas. The received signals are associated with first data values fx l ), second data values (x2), and third data values (x3). A channel matrix B representing effects of the transmission channel on the first data values, the second data values, and the third data values is estimated, A QR decomposition of the channel matrix H is performed to obtain an upper triangular- ma i . First log likelihood -ratio (LLR ) values are calculated after the performing of the QR decomposition using a first algorithm. Second LLR values are calculated after the performing of the QR decomposition usiftg-a second algorithm. The first and second IXR values are combined.

£00091 Another example system tor detecting- data in a received MJ O signal comprises one or more ' antennas configured to receive, -via a transmission channel, a first signal (yl), a second- signal (y2), and a -third signal. (y3) from first, second, and third antennas. The received signals are associated with, first data values ' {χ.1), second data values (x2} 5 and third data values (x3). The first signal, the second signal, and the third signal form a received signal vector y. The first data values, the second data values, and the third data values form a vector x. The system further comprise a QR decomposer configured to transform a channel -matrix- H representing, effects of the transmission channel on the first data values, the second dat values, and the third data values. The system also includes an LLR calculator configured to calculate (i) first log likelihood ratio (LLR) values based on a first algorithm, and (ii) second LLR values based o a second algorithm. The first and second LLR values are combined, in embodiments, a memory is programmed to store the channel .matrix E, with the LLR calculator utilizing elements of the channel matrix B in calculating the LLR val ues.

jOOl Of In another example method for detecting data in a received MIMG signal, N signals are received i n) .antennas, where the received signals are associated with M sets of data values. A channel matrix H representing effects of the transmissio channel on the M data values is estimated. A QR decomposition of the channel matrix B is performed to obtain an upper triangular matrix. L log likelihood ratio (LLR) values are calculated after the performing of the QR decomposition using L algorithms. The L LLR values are combined. { Wi ll Another example system for detecting data in a received M! O signal comprises one or more ntenn s configured to receive, via a traasmissiori ' channel, A' signals from N antennas. The received signals are associated, with set of data values. The N signals form a received signal vector y. The M sets of data values toon a vector x. ' The system further comprises a QR decomposer configured to transform a channel matrix H representing effects of the transmission channel on. the M dat values. Th system also includes- an LLR. calculator configured to calculate L log likelihood ratio (LL ) values based on L algorithms. The L LLR values are combined. In embodiments, a memory is programmed to store the channel matrix H, with the LL calculator utilizing elements of the channel matrix H in calculating the LLR values,

f 0012 J hi another example method for detecting data In a received MiMO signal, a first signal (yl ) and a second signal (y2) are received via .a transmission, channel from first and second antenna. The received signals are associated wit first data values (si) and second data values (x2). The first signal and the second signal are formed into a received signal vector y, and the first data values and the second data values are formed into a vector x. A channel matrix (H) representing effects of the transmission channel on the first data values and the second data values is estimated. A QR decomposition of the channel matrix is performed, such that H - QR, where Q matrix is a miliary matrix and R matrix is an upper triangular matrix, The received, signal vector y i transformed into a rotated signal vector z according to z - Q H y- Distance values are calculated using the rotated signal vector z and the vector x according to a distance metric, where the distance metric includes at least first and second tenuis, and a variable in the first term is permitted t have a different value than the same variable in the second term. One or more log likelihood ratio (LLR) values are calculated based on the distance values. {00131 Another example system for detecting data in a received MIMO signal coiBprises one or more antennas configured to receive, via a transmission channel, a first signal (yl) and a second -signal (y2). The received signals ate associated with first data values (xl) and second data values (x2). The first -signal and the second signal form received signal vector y, and the first data values and the second data values form a vector x. The system further comprises a QR decomposer configured to tt¾»sforra. a channel matrix (H) representing effects of the transmission channel on the first and second data values. The channel matrix is transformed via a QR decomposition such that H ~ QR, where Q matrix is a unitary matrix and R matrix is an upper triangular matrix. A matrix transformer is configured to transform the received signal vector y into rotated signal vector z according to z -~ Q H y. The system further includes distance value determiner configured to calculate distance values using the rotated signal vector z and the vector x according to distance metric. The distance metric includes at. least first and second terms, where a variable in the first term is permitted to have a different value than the same variable in the second term. On or more log likelihood ratio (LLR) values are calculated based on the distance values, in embodiments, a memory is programmed to store the channel matrix H, and the distance value determiner utilizes elements of the channel matrix H in calculating the distance values.

BRIEF DESCRIPTION OF THE FIGURES

j0014J Fig. 1 is a block diagram of an example maltiple-inpiH-jnuitiple-output (MIMO) communication system including a MIMO transmitter, IMO receiver, and channel.

j lSJ Fig. 2A is a block diagram illustrating internal components of an example matrix decoder for use in a receiver, where the example matrix decoder implements a zero-forcing. maximum-likelihood (ZF-ML) algorithm for detemiining log-likelihood ratio ("LLR") vaia.es for three spatial streams.

{0016J Fig. 2B illustrates example coordinate rotational digital comparer (COR.D1C) operations utilized in transforming an matrix and a z vector, according to aa embodiment of the present disclosure.

{0017] Fig, 2C illustrates example outputs of the CO DIC operations of Fig. 2B according to an embodiment of the present disclosure.

jOOlSj Fig. 3 is a block diagram illustrating an example implementation of a zero-forcing, aximum-likel ood (ZF-ML) algorithm for computing LLR values for the bits in a transmitted signal χ ',

{001.9] Fig. 4 is a flowchart illustrating an example method for detecting data in a received ttuiltiple-inpiit-miiltiple-ootpat (MIMO) signal .using the ZF-ML algorithm discussed above with reference to Figs. 1 - 3.

{0020] Fig, 5 is another flowchart illustrating m example method for detecting data in a. received M IMO signal using the ZF-ML algorithm discussed above with reference to Figs. 1 ~ 3, where a number of streams M is greater tha or equal to three.

{06211 Fig. is a. flowchart illustrating an example method for detecting data in a received MIMO signal using a relaxed distance metric, according to an embodiment of the present disclosure.

{0022} Fig. 7 depicts an example device illustrating implementation of the present disclosure. DETAILED DESCRIPTION

10023] Fig. 1 is a block diagram 100 of an example tjiu ttple-mpiit-multipie-ootp- t (MIMO) communication system including a MIMO transmitter 102, MIMO receiver 110, and channel 106. The MIMO communicatio system allows more than one spatial stream to be transmitted, and in the example of Fig. I. three spatial streams are used. It is noted that the systems and methods described herein, are not limited to scenarios ' where three spatial streams are used. For instance, in embod me ts, the systems a d methods described herein are used in. systems with two spatial streams and-'or a number of spatiai streams that is greater than or equal to three. In the MMO transmitter 102, dat to be transmitted is provided as a stream of I 's and 0's to an encoder. The encoder encodes the data io be transmitted with, for example, an error correcting code. The output of the encoder is provided to a spatial strea splitter and divided into spatial streams (e.g-, three spatial streams in the example of Fig. 1). These spatial streams are then propagated to a frequency modulator and frequenc modulated into symbols, which may be represented as a sequence of complex numbers. The frequency modulated signals are then sent through three antennas 104 and transmitted through the transmission channel 106. The transmission channel 106 may include, for example, air. In other examples, fewer than three antennas are used, or more than three antennas are used.

O02 ] hi the example illustrated i Fig. 1, using three antennas 108, the MIMO receiver 1 10 receives the three signals from the transmission channel 106. hi the MIMO receiver 110, the received signals are processed by front end and time domain processing blocks 1 12 (e.g., analog- to-digital conversion blocks, digital to analog-conversion blocks, etc.). The output of the front end and time domain processing blocks 1 12 is provided to a fast Fourier Transform (TFT) module 1 14 and converted from a time domain representation to a frequenc domain representation. The converted signals are then propagated to. a MIMO equalizer 136. The MIMO equalizer 1 16 ihm calculates log-likelihood ratio (LLR) values 1.18 for each of the received spatial streams. The MIMO .equalizer 1 16 operates in the frequency domain and is configured to remove tlie ehannei effects on the received spatial streams. The calculated LLR values 1 18 are combined by a LLR combiner and provided to a decoder 120. Hie decoder 120 may -be, for example, low-density parity-check (LDPC) decoder or convolutions! decoder. The decoder .120 decodes the received spatial streams using the LLR values provided by the combiner and generates informational bits output data 122.

(00251 The MIMO equalizer 116 utilizes a matrix decoder 126 to perform distance and LLR calculations. As described below, in some- embodiments, the matrix decoder 126 implements "zero- forcing, m xim am-llkelihood'' (ZF-ML) algorithm to perform distance and LLR calculations with a lower complexity -as. compared to maximum likelihood (ML) techniques. The ZF-ML algorithm utilized by the matrix decoder 126 offers a high degree of accuracy while having a lower complexity as compared to the ML techniques, potentially offering higher throughput and large savings in required hardware, power consumed, and computation time. The ZF-ML algorithm and other algorithms described below (e.g., an LLR. combining algorithm, a relaxed distance metric two-stream maximum-likelihood algorithm, etc.) enable a lower power consumption, as compared to ML techniques hut have a better performance than algorithms such as the conventional zero-forcing algorithm. The algorithms used by the matrix decoder 1 6 of the present disclosure thus balance complexity and performance.

j0 26{ The matrix decoder 126 receives, via the three antennas 108, a first signal, a second signal, and a third signal transmitted through the channel 106. The matrix decoder 126 utilizes one or more lo w complexity algorithms (as described below) and computes LLR values based on the received signals. Specifically, the received first, second, and third signals may be represented by the equation y -· Hx + n y where y represents the received signals at the MIMO receiver I JO, x represents the data values of the symbols in the spatial streams transmitted by the ΜΪΜΌ transmitter 102, H is a .. channel matrix representing combined effects ' of the transmission channel 106 and spatial mapping of the MIMO transmitter 102 on the transmitted signal, and a represents noise,- In the three spatial stream ease, y is a 3 x I vector ( yi, \% ys] 1 ), -x is a 3 x J vector ( i, xj. xj] 1 }, H is a 3 x 3 vector , and n is a 3 x 1 vector ([iii, m, mj l ).

Thus, a 3 x 3 MIMO system with the three spatial streams may be described by the following equation:

Assuming m additive white Gaussian noise (AWGN) model and. perfect channel estimation, the equalizer 124 seeks optimal estimates of symbols j, s > nd x;¾ so as to minimize a Euclidian distance:

|Θ02?| An exact solution corresponds to the triplet of symbols (xs, xa, xs) that minimizes the Euclidean distance above by performing a exhaustive, brute-force search of the 3-dimensional space. For higher-order constellations, such as 64-QAM or 25 ~QAM, this involves a. search over 64 -> or 256 s symbols in parallel for each tone. This leads to prohibitive complexity, as there could be as many as 256 tones (or OFDM subearriers) for 802·. J.I ac thai need to be processed

I I simultaneously. As noted above, the. MIMO equalizer 1 16 of Fig. 1 includes- the matrix decoder 126 that is configured to perform distance an LLR calculations using aigoridurts and procedures the ZF-ML algorithm,. LLR combining algorithm, relaxed distance metric two- stream maxim rail- likelihood algorithm, etc) that balance complexity and performance. The algorithms and procedures described herein offer a high degree of accuracy while having a lower complexity.

[0028 j Fig. 2 A is a block diagram 160 illustrating internal components of an. example matrix decoder 162 for use in a receiver, where the example matrix decoder implements a zero-forcing, maximimi-likelihood (ZF-ML) algorithm for detemiinrag log-likelihood ratio ("LLR") values for three spatial streams. Although the example of Fig, 2A uses the ZF-ML algorithm in the context of a system utilizing three spatial streams, the ZF-ML algorithm is not limited to this coiitexl. As described below, in embodiments, the ZF-ML algorithm is used in. systems with M spatial streams, where M is greater than or equal to three. Prior to receiving data signals over the one or more antennas 163, matri calculations are done with respect to the estimated channel matrix H 164. As illustrated at 166, a QR decomposition of the H matrix 164 may be performed such that H ~ QR. The Q matrix is a unitary matrix, and the R matrix is an. upper triangular matrix represented as R A similar QR decomposition procedure is performed at 170,

196 using a permutaied channel matrix, as described in greater detail below. At. 1 8 and 194., the channel matrix H 164 is multiplied by a permutation matrix, in the current example including three spatial streams, the permutation matrices used at 168 and 194 may be, for example, such thai the columns of the channel matrix H are swapped

when multiplied by the permutation matrix. In a modified version of the block diagram 160 of Fig, 2 A, rathe than swapping columns of the H matrix 164, columns of the R matrix may be swapped.

[0029] The matrix decoder 162 executes over three paths 172, 174, 192 that ma operate In series or in parallel. The first path 172 calculates LLR values 176 for data values associated with third stream, the second path 174 calculates LLR values 178 for. data values associated with a second stream, and the third path 192 calculates LLR values 204 for data values associated with a first stream. These LLR values 1 76, 178, 204 may be combined and decoded as described above with reference t Fig. 1.

[0050] The first path 1 72 begins at a matrix transformer 1.80. I» the three spatial stream ease, the matrix transformer 180 receives the first, second, and third signals as a 3 x I vector ([y t, % ys] 5 }. The matrix, transformer 180 transforms the y vector according to the relationship z - Q H y, resulting in a 3 ·χ 1 z vector ([¾, ¾ ¾?] f ). Specifically, in. the matrix transformer ISO, the relationship y :::: Hx + n may be multiplied by Q H to obtain z— Q i5 y ::: Rx + Q%, which is expanded to

In the three spatial stream system, each data symbol transmitted, i (where i - 1 corresponds to data transmitted on a first spatial stream, i - 2 corresponds to data transmitted on a second spatial stream, and i :::: 3 corresponds to data transmitted on third spatial stream.) maps to n hits {br w , k l . . . , W 1 }. ~ 2 ® is the alphabet size of the underlying modulation, such as binary phase shift keying (BPS ¾ quadrature amplitude modulation (QAM), etc.

j 031j In ML approaches, after performing the QR. decomposition at 1 6 and after transforming tlte received signal vector y into a rotated signal vector z at ISO, a minimiiro distance value is calculated for each of the possible values of x3. In a system usin n = 6 bits, the alphabet size K. is equal to 64, In the ML approaches, the minimum distance is calculated according to a formula:

(Equation 1}

tor each possible xs value. Specifically, xi and ¾ ' values that minimize the distance / ' · - ¾ ÷ Tx are determined for each possible x:> value. However, the complexity of computing the Ί term is high, and the computation may require a sliced value x¾ thus increasing the complexity of the calculation.

[0032] in the ZF- L algorithm of the present disclosure, a complexity of the distance calculation is reduced by 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. Specifically, in the ZF-ML. algorithm of the present disclosure, to decrease the computational complexit and to avoid having to wait for the sliced value of x¾ the R matrix and tire rotated signal vector z are transformed such that an m element of the R matrix is set equal to zero (i.e., r\2 - 0). Prior to the transformation, the m element is a comple number value, which results in increased complexity in calculating the T term in Equation 1. Thus, by transforming the R matrix, and the rotated signal vector z in a manner that eliminates the complex number value m term from the distance calculation, as described below, complexity of the distance · calculation is reduced. j 00331 The transfomirag of the R matrix and the vector z are shown in a block 181 of Fig. 2A. In embodiments, " to achieve /¾ -· · 0, multiplication operations are performed. Specifically, as noted above, prior to the transforming of the R. matrix and the rotated signal vector z, the

R matrix Is .'V: , and the rotated signal vector z is [zs, ¾, zsj. 1» embodiments, after

0 0 r the transforming of the R matrix and the rotated sianal vector /, the transformed R matri is and the transformed vector z is z¾ zs]. As can be seen hi the transformed mairix, r\% is set equal to zero as a result of the t ans rm ng. To achieve this, multiplication

|0 34| hi embodiments . , the above multiplication operations are performed using; one or more coordinate rotational digital computer (CORDIC) computations. To- illustrate the use of such CORDIC computations, reference is made to Figs. 2B and 2C. From the above discussion, it can be seen that the operation to mak m ~ 0 is (Equation 2)

Now, Equation 2

. Sow. «~ f c©^ ' #> km ~$m(B¾- Rtm ) t . „ , . ,.

is s \ - ·· Ϊ — *· where- ψ Accordingly, m. embodiments two angles are extracted and applied as per Equation 2 on the other elements.

|003SJ h embodiments, the extraction of the two angles sad the application of the two angles on other elements is performed using CORDIC computations, as shown in Figs. 2B and 2C. Specifically, in Fig. 2B, in a first step, the a gles ^ ~— and S ¾ = — are -extracted from and Γ22 using CORDIC computation. Subsequently, in a second step, the extracted angles are applied on the other elements of row 1 and row 2 using CORDIC computation, as shown in Fig. 2B. in performing the first and second steps, a total number of 9 CORDIC operations are performed, in embodiments. An output of the CORDIC operations is shown in Fig. 2C.

|0β3β| With reference again to Fig. 2A, using the transformed R and

the transformed vector z at 182 for each of

the possible values of xn. The minimum distance calculated at 182 is computed according to the following formula, where R' represents the transformed R matrix and z' represents the transformed vector z:

; x ·* i · s.. - 4

-r is-,— «.χ:-· , (Equation 3) for each possible s value. As seen above, the complexity of calculating the Ί ' term is decreased due to the .elimination of the complex number value rn ( e., the / term, is n t dependent on ¾}.

0037| It is noted that in the distance , .metric calculated according to Equation 3 above, the Ti* and z terms have the same complexity, and in. embodiments where the terms of the distance metric are divided by m ' as illustrated in. Fig, 3 ami discussed below with reference to that figure), the complexity of the 7> * term is reduced further. Using the distance metric calculated according to Equation 3 assumes that noise is independent across Z2, and which is not necessarily true (e.g., z\ and zi are correlated in embodiments). Accordingly, the use of this distance metric results ' in. some loss in accuracy, it is thus noted that the us of the ZF-ML algorithm, as described above with reference to Figs. 2A-2C, provides a balance between performance (e.g. , accuracy) and complexity-. More specifically; the use of the ZF-M L algorithm offers a high degree of accuracy while having a lower complexity as compared to the ML techniques, potentially offering higher throughput and large savings in required hardware, power consumed, and computation time. The ZF-ML algorithm provides these technical advantages because the performed operation is equivalent to using a zero-forcing (ZF) estimate of s from Γ? directly (le. f without slicing) in Ti. Since ZF is a linear operation, the operation is simplified in the systems and methods described herein.

j 038| When distance values for all possible values of j are calculated, LLR values are calculated at 184 for the data associated with the third spatial stream, xj. The calculated LLR values are output as shown at 176. The LLR value for a bit bk (,) given a received vector y and a known channel matri H may be represented as:

where xtt is the set of ai! possible x. vectors with bk (ii ~ 1, and x ij is the set of ail possible x vectors with ¾ w ~-0. The following siiBpliftcation, called tiie Max-Log . Approximation, may also be utilized to calculate the LLR value for a bit b 0 :

[0039j A similar process is followed along the second aad first paths 174, 192 to calculate LLR values for data associated with the second spatial stream (xi) and the first spatial stream (x.i), respectively. At 168, the channel matrix H. 164 is permotated to swap the second and third columns of the channel matrix 164 prior to QR decomposition. Swapping the columns of H in this manner causes the value X2 to be pushed down to the bottom of the x vector ( xt X2 X3] 1 ). Similarly, at 1 4, the channel matrix H 164 is perinirtated to swap the first and third columns of the channel matrix H 164 prior to QR decomposition. Swappin the columns of B in this manner causes the value xi to be pushed down to the bottom of the x vector {T¾ 2 xsj 1 }.

Following permutation of the channel matrix H 164 at 168 and 194, Q decompositions are performed at 170 and 1 6 on the permutated channel matrices. Note that similar permutations can also be performed on the columns of R matrix from the QR at 170 or 196 and then perform QR of this permuted R matrix to obtain die LLR values of dat associated with second and first spatial streams

" 04Ο| T e second path 174 begins at a second matrix transformer 186. In the three spatial stream case, the matrix transformer 186 receives the first second, and third spatial stream signals as a 3 X .1 vector ([yi, y¾ >¾]'). The second matrix transformer 186 transforms the received y vector according to the relationship z ~ Q H y s resulting in a 3 x 1 z vector ([z\, zt, ¾] '). Following the z transformation, at 187, the matrix nd z vector are transformed in a similar manner as was described above with reference to step 181. Following these transformations, a minimum distance value is calculated, at 188 for each of the K possible valoes of xj in a similar manner as was described with respect to xj at 182. The mininiiini distance value calculated at 188 is calculated according to the formula:

When distance values for all possible values of ¾ are calculated, LLR values are calculated at 1 0 for the data associated with the second spatial stream. x>. The calculated LLR values are output as shown at 178.

[00411 The third path 192 begins at a third matrix transformer 1 8. in the three spatial stream case, the matrix transformer 198 receives the first, second, and third spatial stream signals as a 3 x 1 vector (jy >¾ .ysj '). The third .matrix transformer 198 tramforms the received y vector according to the relationship z ~ Q f 'y. resulting in a 3 x 1 z vector (jzi, 22, 3] 1 ). Following the 2 transformation, at 199, tbe R matrix and z vector are transformed in a similar manner as was described above with reference to steps 181 and 187. Following these transformations, a minimum distance value is calculated at 200 for each of the K possible values of xi in a similar manner as was described with respect to s and i. The mmiimtrn distance value calculated at 200 is calculated according to the formula: When distance values for all possible values of xi are calculated, LLR valoes are calculated at 202 for the data associated with the first spatial stream, xi. The calculated LLR values are output as shown at 204. The. calculated LLR values 1.76, 178, 204 for the xs, 2„ and i spatial, streams are passed to decoder as soft, information, in some embodiments.

[00421 Although the ZF-ML algorithm is described above in terms of an example using three spatial steams, this algorithm's applicable to systems- ha ving a number of spatial streams that is greater than or equal to three. To illustrate this, consider an example utilizing spatial streams, where M is greater than or equal to three, in this example, a received signal model is as follows:

To obtain LLR for . a QR decomposition is applied on [&j& 2 , resulting; in

j0043| According to the ZF-ML algorithm, of the present disclosure* to reduce the complexity of the computation, any of the non-diagonal element ny j are set equal to zero. The ry. i can be set equal to zero using an operation which can be implemented using CORDIC computations ' siraiiar to those described above with ' reference to Figs. 2B arid 2C. It is noted that only j¾ >j cm be set equal to zero without affecting the tipper triangle structure. Thus, ¾ cannot be set equal to zero by maintaining the upper triangle structure.

[00441 Fig. 3 is a block diagram illustrating an example implementation of die ZF-ML algorithm for- computing LUt values for the bits In the transmitted signal In Fig. 3, block 1 includes the received signal y represented as where the valu r results from the .relationship z

- Q H y and r'u is a value from the transformed matrix

decomposition of a channel matrix H is performed according to the relationship H - QR. The r value is a constellation-specific scaling factor. The received signal y of block 1 is received at a block 2 that is used to determine a Is value equal to ' ^—- ' ψ·^■ In embodiments, in determining the T* value in block 2, the x,¾ value is fixed. For example, the ,¾ value is initially fixed to a first possible value of ¾ ; and using the fixed first possible value of > a and t values that minimize the Fj and TV terms, respectively, are determined.

10045! Continuing in Fig. 3, for the fixed x* value, a term H? — - of block 3 is used to determine the a value that minimizes the .7 ? term. The a value is stored in. block 4. For the fixed xj value, a term

ST * f

' — ψ% * of block 5 is used to determine the xi value that minimizes the ΊΥ term. The Χί value is stored in block 6. As ca be seen in the figure, the term ^ — · ^ % of block 5 does not include the-m term. As described above, using the ZF-ML algorithm described herein, the m term is eliminated, from the distance calculation, thus resulting in reduced complexity. To achieve the m ■■■ 0, a pre-processing block 302 is utilized in some embodiments. The R matrix aftd-lhe z. vector may be considered inputs to the system of Fig, 3 » and the pre-processing block 302 is used to modify these inputs as described above to achieve - 0. Thus-, for instance, the CORDIC computations and other operations described above are implemented in die pre-processing block 302, in embodiments.

[00 61 It is noted that according to the ZF-ML algorithm described herein, the output of block 4 (ie., the value) is not required for block 5, Thus the ZF-ML algorithm relaxes a time constraint because blocks 3 and 4, a»d blocks 5 and 6 can be computed in parallel along wit block 2, Thus, block 7 receives xj, and xs at a same time (or approximately the same time), n some embodiments.

j0047| in block 7, a distance value equal to ΊΥ + T% + T is calculated based on the x X2, and xi values. The 7Y + ft + 1 distance value may be calculated according to Equation 3, above, for example, in embodiments, the steps described above are repeated in blocks 1 - 7 for all possible values of s to generate . distance values. The K. .distance values may be received at a block 8 5 where the K distance values are further compare and selected to obtain LLRs for the bits corresponding to xs,

[0048| Although computation of LLRs corresponding to bits in 3 is illustrated in Fig. 3 and described above, similar block diagram configurations may be used to compute LLRs corresponding to bits in a and xi. In a hardware im lementation, three identical modules may be used to comput LLRs corresponding to bits in x¾, 2, and xi (e.g. , one processing module for each spatial stream). The three identical modules may be configured, to operate in parallel, or the modules ma be configured to operat in a different configuration (e g- -, in series). Each of the modules- may include blocks similar to blocks 1 - 8 of Fig. 3. In. other examples, certain of blocks 1 -- 8 may be re-used among the three modules. For example, in example implementations, block 1 may be re-used among all three mod ales.

[0049J Th ZF-ML algorithm described a ve with reference to Figs, 2A-3 is used, in embodiments, to perform distance and LLR calculations in a manner that balances complexity and performance, as described above. An LL combining algorithm described below provides additional other embodiments for performing such calculations in a manner that balances complexity and performance. Specifically, in the LLR combining algorithm, multiple detection schemes are used in calculating LLR values, and the LLR values Obtained via the different defection schemes-are combined. The detection schemes ' that may be.- used, include (i) the ZF-ML detection scheme described herein, and (ii) the 2 ML and 3ML detection schemes (and variants thereof) described in U.S. Patent No. 8,903,025, the entirety of which is incorporated herein by reference.

jOOSOJ As an example of th LLR combining technique, two LLR values obtained via the 2ML detection scheme may b combined with different orderings for three stream detection, for instance. Other combinations of detection schemes can be used under the LLR combining technique (e.g., combinations of 3ML 2ML and or other detection schemes like ZF-ML, etc.). The combining of LLR values obtained via different detection schemes may enable better performance as compared to using only one detection scheme (e.g., as compared to only using the ZF-ML detection scheme, as compared to only using the 2ML detection scheme, etc.). Further, when multiple detection schemes having a relatively low complexity (e.g., the ZF-ML detection: scheme- described herein, the 2ML ' detection scheme described in U.S. Patent No. 8,903,025, etc) are combined, the complexity may be less than that of a relatively high complexity detection scheme, while still offering better performance as compared to using only a single Sow-complexity detection scheme,

[00511 lit embodiments, the LLR -combining technique uses weighted combining. For instance, in embodiments, depending on a detection scheme used, a weight can be assigned to each of the LLR values when combining. The weights can be determined in various ways. For instance, in some embodiments, the weight is fixed across different signai-to-noise (SNR) or sigaal-to-interference-plus-noise ratio (SINR) values or dynamically determined based on bit error rate (BER) or mutual information (MX) bounds ibr the detection used at that particular. SNR/SINR value. Further, in some embodiments, the LLR combining technique can be a linear combining with equal weights for all detection schemes.

|0052| In an embodiment of the LLR combining technique, the technique utilizes 2ML in a three stream detection scenario. In this embodiment, a received signal, model is

To obtain LLR for a QR decom osition technique is applied -on [hi ha fes], resulting i According to this embodim ent of the LLR combining technique, the 2ML algorithm described in U.S. Patent. No. 8,903,025 is used for yV = f * 23 1 P¾ - nl*. A first set of LLR values for 3 are calculated, based . on this expression for yi '.

0O53| The Q decomposition technique is further applied on [hs hi hi] (Le., interchanged first and second columns), resulting in yi : IM.1 1 ·** i¾2.

According to this embodiment of the LLR combining technique, the 2 ML algorithm is. used for

Y2 6 * , -f- «2 * . A second set of LLR values for ¾ are calculated based on. this

I, J expression for yj * . The first and second sets of LLR values are combined (e.g., summed) to obtain final LLR values for j. Weights may or may not be used in the combining of the first and second sets of LLR values. LLR values tor xi are obtained i a similar manner with the channel matrix for the first, set being f¾ ί¾ hi] and the channel matrix for the second set being [h.v h.2 hi], LLR values for xs are obtained in a similar manner with the channel, matrix for the fi st set being [hi ha ha] and the channel .matrix for the second set being [ * hi ha].

[0054} A relaxed-metric two-stream maximum-likelihood (ML) algorithm described below provides additional other embodiments for performing distance and LLR calculaiions in a marmer- that balances complexity and performance. Specifically, the reiaxed-metrie two-stream. ML algorithm is applicable in systems with two spatial streams, where a received signal model is In the relaxed -metric two-stream ML algorithm, a QR decomposition is applied on [hi ha], resulting in

A distance metric used in this embodiment is as follows: in the R matrix above, r\\ and Γ22 are real number values, and m is a complex number vaiue. The T) term of the above distance metric includes the m complex eomber value and thus has a relativel high complexity.

{0055} Using the relaxed-metric two~streara ML algorithm, a complexity of the T term is reduced by changing the m term from the complex number value to a real number value, hi embodiments, this is achieved by transforming the R matrix and the -z vector with a unitary matrix. For instance, a unitary matrix A is used in embodiments to transform the vector z and the matrix according to

Since A is a unitary matrix, the distance metric remains the same. The transtormmg of the vector and the R matrix in this manner results in m and being real number values and ru feeing a complex number value. Accordingly, it. can be seen that with this transforming, (i) an element of the R matrix ha ving a complex number value prior to the transforming . (e-. i~n) has real number value after the transforming, and (ii) an element of the R matrix having a real number value prior to the transforming ' (. , ' ) has a complex number value after the transforming.

[0056J Continuing the relaxed-meftic two-stream ML algorithm, in the following, the notations z >: and R * are replaced by z and R, respectively:

D ~ |z - R.x I " ~ - f i x t Γ

~(lz Z - ϊ-, ·;· | ? ; ~ r 2 ^r 2 )

4- (]z 5 E ~ ~ im {r iA x t }™ r 2 2 )

where terms ¾a 5 ¾R, ¾R represent real number values and terms -zn t , x represent imaginary number values. In the above, even though the first term has only the and the second, tenn has only the ¾L the terms cannot be separated because of the common n xi. In the reiaxed- metric two-stream ML algorithm, the xs variable is relaxed, such that xs in the first term and the second term are permitted to he different:

D (|* ~ *1.2 x l * t + fctM ~ *"* t.l* } ~ r i .2

- (t ,. ? ™ r, 2 x 2 f |z s/ ~ im {i s .v * }™ t i

Thus, the following: is true: s 2 s , - arg m !&?AM m m x ^g^ Qz ■■■■ , Λ χ ι1 ÷ - im {r i x * ' } ) - r, , ¾ ; ) j[0057] As- is evident from the above discussion, in th relaxed-metric two-stream ML algorithm,, each distance metric is a sum of only two terms. This is- in contrast to ML approaches having distance metrics comprising sums of a greater number of terms (e.g., each distance metric being a sum of four terms, etc.}- Further, in the relaxed-metric two-stream ML algorithm, the set of values for refru-x' and imfnjx'i}- is the- same. This set of values is computed once and used in the comparing and selecting block o find re{rf j ' f } and im {rt x '' i } . In embodiments, the relaxed-metric two-stream ML algorithm is not interested i χΊ, and instead is interested in

and {n,ix'i} - hi embodiments, all possible combinations of does not exist, hut t!ie algorithm achieves a similar result considering all combinations.

[00S J Fig. 4 is a flowchart illustrating an example- method for detecting data in a received multiple-input-multipSe-output (MIMO) signal using the ZF-ML algorithm disclosed above with reference to Figs. 1 - 3, At 402, a first signal (yl ), a second signal (y2), and a third signal (y3) are received via a .transmission channel .from first, second, and third antennas respectively. The received signals are associated with first dat values (xl), second data values (x2), and third data values (x3). The first signal, the second signal, and the third signal are formed into a received signal vector y. The first data values, the second data values, and the third data values are formed into a vector x. At 404, a channel matrix (E representing effects of tie transmission channel on the first data values, the second dat vakies, and the third data values is estimated. At 406, a QR decomposition of the channel matrix is performed, such that H - QR, where Q matrix is a imitary matrix and R matrix is an upper triangular matrix. At 408, the received signal vector is transformed into a rotated signal vector z according to z - Q H y- At 410, the R matrix and tlie rotated signal vector z are transforme such that one or more elements of the R matrix having complex number values are set equal to zero. At 412, distance values are calculate using the transformed vector z and the vector x. At 414, one or more lo likelihood ratio (LLR) values are calculated based on th distance values,

0059| Fig. 5 is another flowchart illustrating an example method for detecting data in a received MIMO signal using the ZF-ML algorithm disclosed above with reference to Figs. 1 - - 3, where a number of streams is greater than or equal to three. At 502, N signals are received on iV antennas, where the received signals are associated with M sets of data values, M being greater than or equal to three. The .¥ signals are formed into a received signal vector y, and the sets of data values into a vector x. At 504, a channel matrix (H) representing effects of the nansmission channel on the sets of data values is estimated. At 506, a QR decomposition of the channel matrix is performed, suc that H ~ QR, where Q matrix is a unitary matrix and R matrix is an upper triangular matrix. At 508, the rece ved signal vector y is transformed into a rotated signal vector 2 according to z ~ Q H y. At 510, the R matrix and the rotated signal vector ?. are transformed such that one or more elements of the R matrix having complex number values are set equal to zero. At 512, distance values are calculated using the transformed vector z and the vector x. At 514, one or more log likelihood ratio (LLR) values are calculated based on the distance values.

[0060J Fig. 6 is a flowchart illustrating an example method for detecting data in a received MIMO signal using a relaxed distance metric, as described herein. At 602, a first signal (yl) and a second signal (y2) are received via a transmission channel from first and second antennas. The received signals are associated with first data values (xl) and second dat values (x.2). The first signal and the second signal are fooned into a received signal vector y, and the first data values and the second data values ar formed Into a vector x . At 604, a channel, matrix (H) representing effects of the transmission channel on the first data values and the second data values is es timated. At 606, a QR decomposition of the channel matrix is per formed , s uch that H - QR, where Q matrix is a first unitary matrix and R matrix- is m upper triangular matrix. At 608, the received signal vector y is transformed into a rotated signal vector z according to z ::: Q ¾1 y. At 610, distance values are calculated using the rotated signal vector z and the vector x according to a relaxed distance metric, where the relaxed distance metric includes at least first and second terms, and a variable in the first term is permitted to have different value man the same variable in the second term. At 6.12, one or more log likelihood ratio (LLR) values are calculated based on the distance values.

|0 61| Fig. 7 depicts an example device 480 illustrating an implementation of the present disclosure. The device 480 can be any device capable of wireless communication, e.g., a cellular phone, set top box, smart phone, computer system, and the like. The techniques of the present disclosure may implement signal processing or control circuits 484, a WLAN interface 496, or mass data storage 490 of the device 480. Signal processing- or control circuits 484 or other circuits (not shown) of the device 480 may process data, perform coding or encryption, perform calculations, format data, or perform any other function as required by an application for the device 480.

[0062J The device 480 may communicate with mass data storage 490 that stores data in a nonvolatile manner. Mass data storage 490 may include optical or magnetic storage devices, for example hard disk drives ODD or DVD drives, The device 480 may be connected to. memory 494 such as RAM, ROM, low latency nonvolatile memory such as flash memory, or other suitable electronic data storage. The device 480 may also support connections with a WLAN via the WLAN network interface 496,

{0063) This written description uses examples to disclose the invention, including the best mode, and also to -enable a person skilled in the art to make and use the invention. It should be noted that the systems and methods described ' herein may be equally applicable to other frequency modulation encoding schemes. The patentable scope of the invention may include other examples.

[006 1 & should be understood that as used in the description herein and throughout the claims that follow,, the meaning of "a," "an," and "the" includes plural -reference unless the context clearl dictates otherwise. Also, as used in the description herein and throughou the claims that follow, the meaning of 'in" includes "in" and "on" unless the context clearly dictates otherwise. Further, as used in the description herein and throughout the claims that follow, the meaning of "each" does not require "each and every" unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of "and" and "or" include both the conjunctive and disjunctive and ma be used interchangeabl unless the context expressly dictates otherwise; the phrase "exclusive of 5 may be used to indicate situations where only the disjunctive meaning may apply.