WO2008012807A2 - Multi input multi output wireless communication reception method and apparatus - Google Patents

Multi input multi output wireless communication reception method and apparatus Download PDF

Info

Publication number
WO2008012807A2
WO2008012807A2 PCT/IL2007/000919 IL2007000919W WO2008012807A2 WO 2008012807 A2 WO2008012807 A2 WO 2008012807A2 IL 2007000919 W IL2007000919 W IL 2007000919W WO 2008012807 A2 WO2008012807 A2 WO 2008012807A2
Authority
WO
WIPO (PCT)
Prior art keywords
reception lattice
reception
lattice point
signal vector
point
Prior art date
Application number
PCT/IL2007/000919
Other languages
French (fr)
Other versions
WO2008012807A3 (en
Original Assignee
Mimopro Ltd.
Nissani (Nissensohn), Daniel, Nathan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimopro Ltd., Nissani (Nissensohn), Daniel, Nathan filed Critical Mimopro Ltd.
Publication of WO2008012807A2 publication Critical patent/WO2008012807A2/en
Publication of WO2008012807A3 publication Critical patent/WO2008012807A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03203Trellis search techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03203Trellis search techniques
    • H04L25/03242Methods involving sphere decoding

Definitions

  • This invention relates in general to Multi Input Multi Output (MIMO) 2-way Wireless Communication Systems.
  • MIMO schemes were proposed for Wireless Communication Systems whereby the system communication devices include Multiple Antenna Arrays (MAA) and associated transmission, reception and processing circuitry.
  • MAA Multiple Antenna Arrays
  • MIMO systems when operated in richly scattering channels (such as typical urban and indoor channels in conjunction with properly designed MAAs) may exhibit space diversity gain (and thus Extended Range), as well as the ability to effectively multiply the overall data rate transferred thru the channel by means of splitting the data stream into several sub-streams, all transmitted simultaneously (and thus achieving Extended Rate).
  • Extended Capacity could be used instead of both Extended Range/ Rate (since in Wireless Communication Systems range can be usually traded off by rate and vice- versa) we prefer the latter distinction to distinguish between the 'conventional' diversity gain on one hand, and the ability to transmit several data sub-streams in parallel, which may be achieved only when the 2 communicating sides include an MAA, on the other.
  • MIMO schemes may be broadly classified into 2 classes: those that require Channel State Information (CSI) to be available at the Transmitting side (e.g. [4], [12], [17], [18]) prior to data sub-streams burst transmission and those that do not necessarily require that any CSI be available at the Transmitting side (e.g. [1], [2], [3]).
  • CSI Channel State Information
  • This proposed invention deals with and is applicable to both fore-mentioned classes, whereby it is shown in the sequel that said first fore-mentioned class can be treated as a special case of said second fore-mentioned class.
  • H c H c Xc + n c (1)
  • H c denotes the propagation complex Channel Matrix (the 'c' subscript denoting here and elsewhere the complex nature of these entities) of R 0 x L c elements, with R 0 and L c the number of antenna elements at the (receiving) Right and (transmitting) Left sides respectively, where x c is the transmitted complex base-band vector, y c is the received complex base-band vector distorted by the channel H c and interfered by the receiver additive noise n c .
  • H cn H c
  • Hen denotes the estimated Channel Matrix and that during the duration of a transmission burst the Channel Matrix H c undergoes no or small changes.
  • the transmitted vector x c is estimated by application of the Inverse Channel matrix (or, as is in some cases more appropriate, the pseudo-inverse matrix), followed by a slicing (or decision, or rounding) operation.
  • ZF Zero Forcing
  • LSE Least Square Estimate
  • SER Symbol Error Rate
  • Xe ZF r ⁇ Und((H cn ' H cn ) - 1 He n ' Vc) (2)
  • X CZ F denotes the estimator of the transmitted sub-streams vector x c
  • roundQ denotes the rounding (to nearest integer) operator.
  • MMSE Minimum Mean Square Estimate
  • the vector processing complexity of this ZF scheme can be easily shown to be quadratic with the dimension of the transmitted vector x c and independent of the constellation order (QPSK, 16-QAM, etc.)
  • Another proposed solution (e.g. [I]) to (1) above is based on an Interference Cancellation scheme whereby sub-streams are usually ordered (according to some quality criterion) and then individually estimated, sliced and cancelled out from the sub-sequent sub-streams.
  • This Interference Cancellation method yields better performance than (2) above, at a significant complexity penalty.
  • Still other proposed solution e.g. [2] to (1) above consists of estimating each sub-stream quality (e.g. by monitoring its SER), sending quality feedback from Receiver side to Transmitter side, and individually adapting the Transmitter sub-streams parameters (such as constellation type, channel code, etc.) so as to maximize the system throughput.
  • XCMLD arg min
  • This scheme is known to be optimal in the sense of SER vs. SNR performance, and thus serves as a lower bound reference in literature (as well as herein).
  • Still other proposed solution to (1) above consists of simplifications to (3) above whereby the candidates search set is reduced to a smaller region, typically a 'sphere' of fixed or adaptive radius around the Received Vector y c .
  • the main objective of the present invention is to propose a comprehensive Method and corresponding Apparatus by means of which a MIMO Receiver device can achieve quasi optimal link performance at a vector processing computational complexity growing only quadratically at most with the number of sub-streams (the problem dimension) and practically independent of the constellation order.
  • a major advantage of the proposed invention is its ability to achieve quasi- optimal SER vs. SNR link performance.
  • Still other major advantage of the present invention is the low computational complexity, the quadratic scalability and the complexity insensitivity to constellation type, all implied in the realization of the Receiver device.
  • Still another major advantage of the present invention is its relevance and direct applicability to both MIMO systems whereby CSI is not necessarily available at the Transmitter side as well as to MIMO systems whereby CSI is made available also to the Transmitter side.
  • Still another advantage of this current invention is its relevance to both MIMO systems whereby the channel matrix is time invariant during burst transmission as well as systems whereby the channel matrix undergoes changes during said burst transmission.
  • Still another advantage of this proposed invention is its seamless capability to generate both 'hard-decision' results as well as 'soft-decision' results, said 'soft-decision' results carrying an output reliability measure which enable the application of suitable 'soft-decision' channel decoders to further improve link SER vs. SNR performance or, equivalently, Bit Error Rate (BER) vs. mean Bit Energy to Noise Power Density (Eb/No) performance.
  • BER Bit Error Rate
  • Still another advantage of this invention is its ability to conduct concurrent Space- Time Block Code (STBC, e.g. [13]) decoding, seamlessly integrated within the MMO detection process.
  • STBC Space- Time Block Code
  • Still another feature of this proposed invention is its ability to operate with other norms than the Euclidean / 2 -norm, such as the less computationally complex but sub- optimal Z 1 -norm or /°° -norm thus trading performance for still lesser complexity.
  • the proposed invention consists of a MIMO detection Method and its corresponding Apparatus, namely a MIMO Receiver device comprising MIMO processing elements.
  • a MIMO Receiver device acquires during an implicit stage, out of the scope of the present invention, and prior to the data sub-streams burst reception process, Channel Matrix information, Symbol Timing, Signal Power Level, Carrier Frequency and any other information typically required by such wireless communication receivers. This information is acquired, or estimated, by means of methods well known to anyone reasonably skilled in the art of communication reception techniques.
  • the MEVIO Receiver device further acquires during or prior to said sub-streams burst reception process, information regarding the number of simultaneously transmitted complex sub-streams M c and the type of constellation (such as QPSK, 16/64-QAM, etc.) associated with said sub-streams.
  • the type of constellation such as QPSK, 16/64-QAM, etc.
  • the transmitted vector x c of (1) above is treated as a point which belongs to a Transmission Lattice Bounded Region (e.g. [8]), said Lattice informally defined as a countable infinite set of regularly spaced points in a multi-dimensional space, and said Lattice Bounded Region informally defined as a closed continuous region in this space (in typical constellations usually of hyper-cubic shape).
  • a Transmission Lattice Bounded Region e.g. [8]
  • said Lattice informally defined as a countable infinite set of regularly spaced points in a multi-dimensional space
  • said Lattice Bounded Region informally defined as a closed continuous region in this space (in typical constellations usually of hyper-cubic shape).
  • any noiseless received point H c Xc of (1) above is perceived as belonging to a Reception Lattice Bounded Region, said Reception Lattice readily calculable from said Transmission Lattice by application of the Channel Matrix H c as will be clarified in the sequel.
  • the MIMO reception process incurs the attempt of calculation of the MLD solution point X CM L D of (3) above, that is a point which belongs to the Reception Lattice, which resides closest (in a Euclidean distance or other suitable sense) to the Received Vector y c of (1) and which is confined to the appropriate Lattice Bounded Region.
  • a vector reception process includes: the calculation of a Reception Lattice Initial Point; an iterative Lattice Descent Stage during which, starting from said Reception Lattice Initial Point a possible descent is executed to sub-sequent Reception Lattice Points each calculated to reside at a smaller distance from the Received Vector y c than its previous one, said Descent Stage terminated at a Reception Lattice Point for which no closer Reception Lattice Point to the Received Vector y c is found (i.e.
  • Figure 1 describes a deployment of a MIMO Transmitter device and a MIMO Receiver device.
  • Figure 2 provides some characterizations of Transmission and Reception Lattices and Lattice related entities relevant to the proposed invention.
  • Figure 3 shows a Reception Lattice and the associated entities, essential for the exposition of the fore mentioned Lattice Descent Stage and to the fore-mentioned Lattice Outlier Stage.
  • Figure 4 depicts a simplified Flowchart of the Lattice Descent Stage processing.
  • Figure 5 presents Reception Lattice views related to the calculation of a Reception Lattice Initial Point.
  • Figure 6 presents base-band equivalent Block Diagrams of a Transmitter device and of a Receiver device of a MIMO Wireless Communication System in accordance with a particular embodiment of the present invention.
  • Figure 7 shows simulated link performance results of a particular embodiment of the present invention.
  • Figure 8 shows simulated complexity results of a particular embodiment of the present invention.
  • FIG. 1 A typical instance of a Wireless MIMO Communication System is shown in Figure 1.
  • Such a System should include at least 2 communication devices, such as 11 and 12, at least one of which should include a MAA such as those figuratively represented by 13a and 13b.
  • a propagation Channel H c such as 14, characterizing the propagation effects during signal transmission from 11 to 12 as shown in Figure 1, may be defined.
  • the wireless Channel 14 between the specified devices 11 and 12 of Figure 1, in indoor and urban MIMO Systems deployments, may typically be described by a complex random R 0 x L c matrix H c , where R 0 denotes the number of antennas in the Right, say the Receiving, side, MAA device 12, L c denotes the number of antennas in the Left, say the Transmitting, side, MAA device 11, and each element hy in row i and column j of H c defines the (complex base-band) response between reception antenna i of 12 and transmission antenna j of 11.
  • the elements of the channel matrix H c will typically be mutually uncorrelated or weakly correlated random variables, provided that the MAA elements are properly spaced and designed.
  • FIG. 2 presents Lattice related entities essential to the exposition of the present invention.
  • M > 2 sub-streams and to more common complex constellations such as QPSK, 16-QAM, 64-QAM, etc., is straightforward and could be easily devised by anyone reasonably skilled in the art.
  • Such Transmission Lattices are essentially a countable infinite set of regularly spaced points in a multi-dimensional space.
  • the Reception Lattice 21 of Figure 2 is affected by the scaling and rotation effects caused by the random Channel Matrix H (the unitary matrix Q causes an immaterial coordinates rotation) on the Transmission Lattice 20 of same Figure.
  • the R M space containing the Reception Lattice 21 can be separated into disjoint decision regions (commonly called Voronoi regions), each decision region including all the (real) points that are closer (in a Euclidean distance sense) to a specified Lattice Point than to any other Lattice Point, one of such Voronoi regions indicated by 219. It is the main function of an optimal (MLD) MIMO receiver to associate any real and noisy Received Vector y such as 220 of 21 to the closest Reception Lattice Point, that is to the Lattice Point at the 'center' of the Voronoi region to which said Received Vector 220 belongs to.
  • MLD optimal
  • the scaled-rotated Reception Lattice 21 can be easily 'de- rotated' by means of application of the fore-mentioned Inverse Channel transformation of (2) above.
  • this 'de-rotation' correlates the (originally i.i.d.) elements of the additive noise vector n, distorting the de-rotated Lattice MLD detection metrics; while in the Reception Lattice 21 the MLD detection metrics is the plain geometric Euclidean metrics the de-rotated Lattice MLD detector metrics is a non-Euclidean, so called Mahalanobis, distance (e.g. [9]). Both representations are equivalent and the use of one or the other is not of essence to the proposed invention.
  • the 'rotated' Reception Lattice 21 (with its associated Euclidean metrics) will be used in the course of this invention exposition.
  • the distance between said Initial Lattice Point 301 and the Received Vector 220 is calculated.
  • candidate Lattice Points each such candidate derived from the previous (Initial in the first step) Lattice Point by incrementing (or decrementing) the value of a single coordinate kj of the fore mentioned descriptive vector k by a single unit in each of both (positive and negative) directions of the (Reduced) Basis Vectors ci and C 2 , are calculated.
  • Examples of such candidate Lattice Points, 'adjacent' to the Initial Lattice Point 301 in the described way, are 308, 309, and 302 of 30.
  • the number of candidate Lattice Points at each iteration step is 2M.
  • 2M the number of candidate Lattice Points at each iteration step
  • the distances between each of these 2M candidates (of which 308, 309, and 302 are marked in 30) and the Received Vector 220 are calculated, and a candidate Lattice Point is selected, 302 in this example, with the smallest distance (of all considered candidates) from the Received Vector 220.
  • the Lattice Point 302 becomes effectively a new hypothetical result of the Lattice Descent Stage and the process is repeated, sequentially selecting, in our example, Lattice Points 303 and 304 corresponding to the unit direction vectors 306 and 307 of 30.
  • the Lattice Descent Stage is then terminated, since, following arrival to 304 no unit direction vector yields a candidate Lattice Point with smaller distance to 220 than 304 itself, indicating the arrival to a Lattice Descent Minimal Point.
  • Said Lattice Descent Minimal Point 304 can be a true Minimum Point, i.e. a point such that no other Lattice Point is closer to the Received Vector y than said Minimum Point, or it may turn out to be a false Minimum Point, that is a point that, because of the properties of the direction vectors utilized during said Descent Stage (for example the relatively non-orthogonal original Basis Vectors bi and b 2 ), results in termination of said Descent Stage in some Lattice Point other than the true Minimum Point.
  • a true Minimum Point i.e. a point such that no other Lattice Point is closer to the Received Vector y than said Minimum Point, or it may turn out to be a false Minimum Point, that is a point that, because of the properties of the direction vectors utilized during said Descent Stage (for example the relatively non-orthogonal original Basis Vectors bi and b 2 ), results in termination of said Descent Stage in some Lattice Point other than the true Minimum Point.
  • said specific set of selected direction-vectors is a Reduced Basis Vector set such as ci 217 and C 2 218 of 30 as defined above, i.e. a minimal set of relatively short and orthogonal vectors which span the Reception Lattice, thus reducing the probability of false Minimum Points as described.
  • the original (non-reduced) Basis Vectors bi and b2 constituent of the Reception Lattice Generator Matrix B can be used.
  • said specific set of selected direction- vectors is a Basis Vector set generated by application of any convenient unimodular matrix transformation to any other basis such as B or C.
  • Lattice Descent Stage is implemented in a constrained form, namely whereby a new candidate Lattice Point is selected if its distance from the Received Vector y is smaller than that of all other candidates as described in the paragraphs above, but with the additional constraint that it resides within the Bounded Region 215 (in accordance with (9) above), said method variant dubbed Lattice Constrained Descent. It should be noted that such Lattice Constrained Descent is also proposed later in the sequel in the context of embodiments of the Outlier Stage.
  • This is again shown in 403 and 406 of Figure 4.
  • the calculation complexity of (16) above, also carried out once for each new candidate is then merely linear with M. Moreover, its calculation consists of addition (ADD) operations significantly simpler to implement in hardware or software than multiplication-accumulation (MAC) operations.
  • new Lattice Point candidates pt as defined by (16) are calculated at each iteration for each of the 2M (as directed by 409 and 410 of Figure 4) possible vector-directions ej, and the next Lattice Descent Stage hypothetical result p d is selected, as shown in 404, 405, 407 and 408, such that its corresponding distance d(p d , y) as calculated by (15) above is the smallest of all candidates and smaller than the distance d(p, y) associated with our present point p.
  • the Descent Stage ends then, once no new hypothetical result pa satisfies d(p d , y) ⁇ d(p, y) as is shown in 411 and 412 of Figure 4, this being indicative of the arrival to a minimum distance Lattice Point such as 304 of 30.
  • next hypothetical result pa is selected provided that d(pd, y) is smaller than d(p, y) but not necessarily the smallest of all candidates distances as described above.
  • Other similar embodiments are also possible, the common feature of them all being that a next adjacent point P d is selected provided that its distance (from y) is smaller than that to the present point p.
  • ), or the /°° -norm (the /°° -norm for a given vector z (Z 1 z 2 ...
  • the complexity of the proposed MIMO detection method depends also on the number of said Descent Stage iterations which in turn depends on the proper selection of an Initial Lattice Point 301 of 30.
  • the 'closer' (in a certain sense) this Initial Lattice Point is selected to the MLD optimal solution, the less iteration steps are required in order for the previously described Lattice Descent Stage to converge to that solution.
  • the Initial Lattice Point is the Rounded Parallelepiped Projection of the Received Vector y on each of the Lattice Basis Vectors as described below.
  • Figure 5 depicts a zoomed-in view of the Reception Lattice 50 in the context of the selection of an Initial Lattice Point in a preferred embodiment of this invention.
  • the Reduced Basis Vectors Ci 217 and C 2 218, i.e. the column vectors of the Reception Lattice Generator Matrix C, are repeated in this drawing in the context of the Rounded Parallelepiped Projection concept introduced herein.
  • We assume the reception of a vector y 501. Since this vector 501 belongs to the Voronoi region 505 the optimal MLD detector will decide that the transmitted vector is the Lattice Point 502 which can be easily seen to be described by k (1 2)' .
  • the Initial Lattice Point is the result of the Rounded Parallelepiped Projection computation (17) and (18) as described above.
  • said Initial Lattice Point can be the rounded Inverse Channel or ZF solution (2) as described above.
  • the similarity of (17) and (18) above to the ZF solution (2) is apparent by inspection.
  • said Initial Lattice Point can be the rounded result of some other estimator such as the MMSE solution as mentioned above.
  • said Initial Lattice Point can be the rounded orthogonal projection of the Received Vector 501 onto each of the direction-vectors.
  • said Initial Lattice Point can be a fixed Lattice Point, such as the Lattice origin.
  • the result of the Lattice Descent Stage may be a Lattice Point residing out of the Reception Lattice Bounded Region 215.
  • Such an example of an 'Outlying' Lattice Point 310 is shown in 30 of Figure 3.
  • this erroneous Descent Lattice Point decision may happen occasionally, but still with non-negligible probability, depending on the specific Reception Lattice (i.e. on the Channel Matrix H), on the selected Constellation type (e.g. QPSK, 16-QAM, etc.) and on the mean Reception SNR. Detection of such a point as 310 as the hypothetically transmitted Lattice Point is obviously incorrect since transmitted Lattice Points are confined to the Bounded Region 215 by virtue of the inequality constraint (9) above.
  • a processing similar to the Lattice Descent Stage as described above is executed, namely, a distance from the Received Vector y to a selected Initial Lattice Point is calculated by means of (15) as above, said Initial Lattice Point selected so that it resides inside said Lattice Bounded Region 215; then subsequent candidate Lattice Points are calculated by means of (16) above; then their distances from said Received Vector y are evaluated by means of (15) above and compared with that of the current 'best' Lattice Point, and a new Lattice Point is selected if its distance from the Received Vector y is smaller than that of the current Lattice Point and if it resides inside the Lattice Bounded Region 215.
  • this Outlier Stage method by Lattice Constrained Descent.
  • the Flowchart for this Outlier Stage embodiment is very similar to the depicted in Figure 4 and omitted herein for the sake of
  • d(p, R) max Cl 1 (p, R) (19c) with d j (p, R) defined by (19a) above.
  • a Lattice Outlier Stage is initiated.
  • different possible directions are generated by single coordinate increments (or decrements) of Lattice vectors (in a similar fashion to the Lattice Descent Stage method as described above); for each such resulting new candidate Lattice Point the metrics function (as per (19b) or (19c) above) is evaluated and a Lattice Point is selected based on the largest decrease (or the smallest increase) in d(p,R) .
  • the resulting Lattice Point is our Outlier Stage result and our final Vector-Symbol Decision p a .
  • the resulting Lattice Point becomes the Initial Point for a subsequent Constrained Descent process as described above; in such an embodiment the result of said Constrained Descent is the final Vector- Symbol Decision p a .
  • the Lattice Outlier event is resolved by solving the Integer Quadratic Programming (IQP) problem min (B m + bo - y)' (B m + b o - y) (20a) subject to m m , n ⁇ m, ⁇ m ' max (20b) or, similarly min (C k + bo - y)' ( C k + bo - y) (20c) subject to m mi ⁇ (W k), ⁇ m max (2Od) where the minimization is executed over m (or equivalently, k), and where the functional (20a) (or (2Oc)) above defines the Euclidean distance between a general Lattice Point and the Received Point y.
  • IQP constrained optimization problems are well known and can be solved by a variety of methods such as (but not limited to) the so called Branch and Bound method by those reasonably skilled in the art (e.g.[10]
  • Outlier Stage of this present invention a combination of two or more Outlier Stage methods as described above can be applied at each (infrequent) Outlier event, each such method possibly generating a different result, and the Lattice Point result residing inside the Bounded Region and at the smallest distance from the Received Vector y being selected as the final Outlier Stage result.
  • 'soft- decision' output indicating the level of reliability or 'likelihood' that can be assumed for the current decision.
  • Such 'soft decision' output has proved to be very effective in improving link performance (i.e. SER vs. SNR or, equivalently, BER vs. Eb/No) in conjunction with channel coding schemes, such as convolutional codes or turbo codes.
  • channel coding schemes such as convolutional codes or turbo codes.
  • the leftmost term of (22) above is simply the result of the Descent Stage; the calculation of the rightmost term of (22) can be conducted concurrently to the fore-mentioned Descent Stage (nominally used for the calculation of p ⁇ as described above) this time selecting the closest Lattice Point that satisfies A .
  • STBC Space Time Block Codes
  • Y H X + N (23) where Y and N are now (respectively received and noise) matrices of dimension R x T with T denoting the 'temporal' dimension, and where H is an R x L all-real channel matrix as defined above.
  • H I ® H (25)
  • I is the T x T identity matrix, where ' ⁇ S> ' denotes the matrix Kronecker (or direct) product, where H is a block diagonal RT x LT matrix, where x is an LT-dimensional vector created by concatenating X columns, and where y and n are similarly created RT- dimensional vectors respectively corresponding to Y and N above.
  • MIMO schemes can be broadly classified into 2 classes: those that require Channel State Information (CSI) to be available at the Transmitter side prior to burst transmission and those that do not necessarily require that any CSI be available at the Transmitter side.
  • CSI Channel State Information
  • This proposed invention has been described so far in the context of MIMO schemes which belong to said second class.
  • MTMO schemes belonging to first said class may be considered to be a special case of said second class, and that, as such, they can be advantageously solved by application of same means and methods as those described so far.
  • Singular Value Decomposition Singular Value Decomposition
  • the detection problem for MIMO schemes for which CSI is made available at the Transmitter side is solved by the application of the means and methods as described in this sequel resulting in a quasi- optimal and low complexity solution.
  • Figure 6 depicts a base-band equivalent Block Diagram of a MIMO Wireless Communication System comprising a Transmitter device consisting of a bits-to-symbols • Mapper 67, an Operator (gAQ) 60 and its associated MAA 13a, a Propagation Channel 14, and a Receiver device consisting of an Initial Point Processor 61, a Descent Stage Processor 62, an Outlier Stage Processor 63, an optional LLR Processor 64, a Channel Estimator 65, a Channel Processor 66 and the Reception device associated MAA 13b.
  • a Transmitter device consisting of a bits-to-symbols • Mapper 67, an Operator (gAQ) 60 and its associated MAA 13a, a Propagation Channel 14, and a Receiver device consisting of an Initial Point Processor 61, a Descent Stage Processor 62, an Outlier Stage Processor 63, an optional LLR Processor 64, a Channel Estimator 65, a Channel Processor 66 and the Reception device associated MA
  • Transmitter and Receiver devices usually include additional physical elements and circuits such as radiating elements (Antennas), Radio Frequency (RF) Amplifiers, Frequency Translators, Analog to Digital Converters (ADCs) and Digital to Analog Converters (DACs), etc., all essential to the operation and feasibility of such devices but immaterial to the subject and ideas of this proposed invention, and therefore have been omitted from this detailed description.
  • radiating elements Antennas
  • RF Radio Frequency Amplifiers
  • Frequency Translators Frequency Translators
  • ADCs Analog to Digital Converters
  • DACs Digital to Analog Converters
  • the Receiver device Channel Estimator 65 estimates the propagation Channel H 14, resulting in a Channel Estimate H n ; said Channel estimation conducted by an implicit estimation method, such as LSE, MMSE or other, methods well known to those reasonably skilled in the art.
  • the Channel Estimator 65 optionally further estimates the receiver noise power ⁇ 2 to be used by the optional LLR Processor 64 as described in the sequel. It is further implicitly assumed that said Channel Estimator 65 acquires an additional set of necessary information such as average Signal Power Level, Signal Carrier Frequency and Symbol Timing, not shown in Figure 6.
  • Said Channel Processor 66 of Figure 6 following said estimation of Channel information and other mentioned required entities (by means of Channel Estimator 65), and in accordance with a preferred embodiment of the proposed invention, proceeds to calculate some of this invention related entities including: B, the distorted Lattice Generation Matrix; bo, the distorted Lattice translation vector; C, the Reduced Basis Generator Matrix; C '1 , its inverse (or equivalently, a suitable decomposition of C); and the integer matrices W and V, the fore-mentioned transforming matrix from k coordinates to m coordinates and vice versa. Said calculations are carried out with the auxiliary implicit participation of some additional information, assumed w.l.o.g.
  • the Receiver and Transmitter devices such as: the Constellation Generator Matrix A, the (optional) unitary dimension matching matrix Q, the Constellation order, i.e. m m j n and m max , etc.
  • the Channel Matrix 14 is time invariant or varies only negligibly during the transmission of a data burst; in such cases the Channel Estimator 65 estimates H n only at the beginning of said data burst (by means of e.g. training sequences as mentioned above) and delivers its result to the Channel Processor 66 as depicted in Figure 6. In such cases no further channel estimates (sometimes called channel 'tracking' updates) are executed during the transmission of said data burst. [Ol 15] In some other possible cases it is assumed that the Channel Matrix 14 is not time invariant but varies (typically slightly but still significantly) during data burst transmission.
  • the Channel Estimator 65 would estimate, in addition to the initial Channel Matrix H n also, after each vector or after a (typically preset) N number of vectors, a Channel Matrix differential dH n as shown in 65 of Figure 6.
  • a Channel Matrix differential dH n can be estimated by several means, such as application of Decision Feedback techniques (utilizing decision variables such as k a or m a as shown in 65) or other techniques, well known to those skilled in the art, and out of the scope of the present invention.
  • the Channel Processor 66 would still calculate the fore-mentioned bo, B, C, C "1 , W and V entities at the beginning of a data burst as described above, hi said time-variant implementations, said Channel Processor 66 will re-calculate said entities at the arrival of a new vector by means of one of several possible methods as depicted in the following paragraphs.
  • the Channel Processor 66 will calculate, at the arrival of a new vector, an updated channel estimate (H n + dH n /N), and then fully re-calculate all said entities bo, B, C, C "1 , W and V.
  • the main disadvantage of such a method would be its relatively high complexity since said calculations are now repeated at each vector and since some of said calculations are not just quadratic in M.
  • the Channel Processor 66 will calculate, at the arrival of each new vector, an interpolated update of fore-mentioned entities, namely (b 0 + db o /N), (B + dB/N) and (C + dC/N), all said calculations of quadratic complexity at most.
  • the Channel Processor 66 will not update the inverse C "1 (or an equivalent suitable decomposition) which will then remain fixed in time during burst transmission, slightly affecting the calculation precision of our Lattice Initial point as per (17) and (18) above.
  • the Initial Point Processor 61 of Figure 6 calculates the coordinates ko of the Initial Lattice Point by means of the Rounded Parallelepiped Projection of the Received Vector y, in accordance with (17) and (18) as described above. Prior to this the Initial Point Processor 61 also may execute the simple mappings required to transform complex representations into all- real representations (as depicted by (4) and (5) above), the optional mappings required to transform STBC 'block' representations into all-vector representations as described by (23) to (25) above, and/or the optional equalization by U n ' required for reception in Wireless Communication Systems where CSI is available at the Transmitter side as described by (26) above.
  • the Descent Stage Processor 62 of the Receiver device accepts said Initial Point coordinates ko, said Received Vector y, and said Channel Processor 66 results C and bo, and proceeds to calculate the distance between said Received Vector y and said Initial Lattice Point as per (15) above and then iteratively calculate subsequent Lattice Points according to (16) above until arrival to a Lattice Descent Minimal Point with coordinates kd as described above.
  • the fore-mentioned 'soft- decision' scheme is desirable or required as mentioned above.
  • the Descent Processor 62 (or Outlier Processor 63 if applicable) generate, in addition to their 'hard' decision k a (or m a ) also the closest Lattice Point which does not satisfy the Bit (or Symbol, or Vector) 'hard' result; this Lattice Point (or set of Lattice Points) is denoted by ⁇ k a (or ⁇ m a ) in Figure 6; in said optional implementations an LLR Processor 64 is incorporated.
  • This LLR Processor 64 calculates for each Received Vector y the corresponding Bit-LLRs, denoted as 'd-soft' in Figure 6 (or Symbol-LLRs or Vector- LLRs, not shown in Figure 6) as described in (21a,b,c) and (22) above.
  • Figure 7 presents uncoded and coded comparative plots of the simulated link performance of a particular embodiment of a MIMO detector, implemented in accordance with the principles and methods of this proposed invention as described in the sequel.
  • the implementation complexity analysis of a MBVIO Receiver device made in accordance with a particular embodiment of our proposed invention can be sub-divided into the complexity analysis of the Channel Processing stage which usually takes place at the beginning of each transmission burst in the Channel Processor 66 of Figure 6, and that of the Vector Processing stage, implemented by means of the Initial Point Processor 61, Descent Stage Processor 62, Outlier Stage Processor 63 and optional LLR Processor 64, all of Figure 6.
  • the Vector Processing complexity is of major significance to the overall Receiver device complexity, hi accordance with a preferred embodiment of the current invention the calculation of the Initial Lattice Point implemented in the Initial Point Processor 61 involves a matrix- vector multiplication (as per (17) above) that scales quadratically with M, and a vector rounding operation (as per (18) above) that scales linearly with M; both are independent of the constellation order.
  • the calculation of the Lattice Descent Minimal Point incurs the one-time calculation of the distance between the Received Vector y and the Initial Lattice Point as per (15) above, said calculation being of quadratic complexity with M and independent of the constellation order; this is followed by the iterative calculation of 2M adjacent Lattice Points (at each iteration) and their associated distances following (16) and (15) above, said calculation scaling up quadratically with M (total, for all 2M 'adjacent' Lattice Points), as can be easily verified by inspection of (16) and (15), and again independent of the constellation order. Simulation results show that the average number of iterations involved is very close to 1, in particular when the Initial Lattice Point is calculated in accordance with our preferred embodiment method (i.e. Rounded Parallelepiped Projection) as mentioned above.
  • our preferred embodiment method i.e. Rounded Parallelepiped Projection

Abstract

A Multi Input Multi Output (MIMO) Wireless Communication Reception Method and Apparatus are proposed whereby in a 2-way wireless communication system with scattering propagation channels, and where several data sub-streams are simultaneously transmitted from a transmitting side to a receiving side, quasi optimal link performance is achieved, at a complexity scaling practically quadratically with the number of transmitted sub-streams and independent of the constellation order.

Description

MULTI INPUT MULTI OUTPUT WIRELESS COMMUNICATION RECEPTION METHOD AND APPARATUS
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This Application claims the benefit of the following US PTO Non-Provisional Applications: a. Nissani (Nissensohn), D.N., 'Multi Input Multi Output Wireless Communication Reception Method and Apparatus', US PTO 11/052377, filed February 2005. b. Nissani (Nissensohn), D.N., 'Multi Input Multi Output Wireless Communication Reception Method and Apparatus', US PTO 11/491097, filed July 2006.
STATEMENTREGARDINGFEDERALLY SPONSORED RESEARCH OR
DEVELOPMENT [0002] Not Applicable
CITED REFERENCES
[0003] The following references are cited within this invention description:
[1] Foschini, J.G., 'Wireless communications system having a layered space-time architecture employing multi-element antennas', US Patent 6,097,771 [2] Paulraj, AJ., et al. 'Method and wireless systems using multiple antennas and adaptive control for maximizing a communication parameter', US Patent 6,351,499 [3] Gesbert, D., Shafi, M. et al., 'From Theory to Practice: An Overview of MIMO Space-Time Coded Wireless Systems', BEEE Journal on Selected Areas in Communications, April 2003
[4] Nissani (Nissensohn), D.N, 'Multi Input Multi Output Wireless Communication Method and Apparatus providing Extended Range and Extended Rate across Imperfectly Estimated Channels', US PTO 10/423447, April 28, 2003 [5] Proakis, J.G., 'Digital Communications', McGraw-Hill, 1995 [6] Van Trees, H., 'Detection, Estimation and Modulation Theory', Wiley, 1968 [7] Lenstra, A.K., Lenstra, H.W., Lovasz, L., 'Factoring Polynomials with Rational Coefficients', Math. Annalen, vol. 261, 1982
[8] Agrell, E., Eriksson, T., et al., 'Closest Point Search in Lattices', IEEE Transactions on Information Theory, August 2002
[9] Duda, R.O., Hart, P.E., 'Pattern Classification and Scene Analysis', Wiley & Sons, 1973
[10] Van Thoai, N. 'Global Optimization Techniques for Solving the General Quadratic Integer Programming Problem', Computational Optimization and Applications, May 1998
[11] Hooke, R., Jeeves, T.A., 'Direct Search solution of numerical and statistical problems', Journal of the Association for Computing Machinery, (8), 1961 [12] Andersen, J.B., 'Array gain and capacity for known random channels with multiple element arrays at both ends', Selected Areas in Communications, IEEE Journal on, Volume: 18 Issue: 11, Nov 2000, Page(s): 2172 -2178 [13] Alamouti, S.M., 'A Simple Transmit Diversity Technique for Wireless Communication', IEEE Journal on Select Areas in Communication, October 1998 [14] Burg, A. et al., 'VLSI Implementation of MIMO Detection Using the Sphere Decoding Algorithm', IEEE Journal of Solid State Circuits, July 2005 [15] Hochwald, B. M., ten Brink, S., 'Achieving Near Capacity on a Multiple Antenna Channel', IEEE Trans. On Communications, March 2003
[16] ElGamal, H., Caire, G, Damen, M.O., 'Lattice Coding and Decoding Achieve the Optimal Diversity-Multiplexing Tradeoff of MIMO Channel', IEEE Transactions on Information Theory, June 2004 [17] Nissani (Nissensohn), D.N., 'About SVD Based MIMO, Imperfect Channel Estimates, and Cross-Talk Interference', IEEE VTC2006 Fall, September 2006 [18] Telatar, E. L, 'Capacity of Multi-antenna Gaussian Channels', Technical Memorandum, Bell Laboratories, October 1995
BACKGROUND OF THE INVENTION
[0004] This invention relates in general to Multi Input Multi Output (MIMO) 2-way Wireless Communication Systems. During recent years MIMO schemes were proposed for Wireless Communication Systems whereby the system communication devices include Multiple Antenna Arrays (MAA) and associated transmission, reception and processing circuitry.
[0005] MIMO systems, when operated in richly scattering channels (such as typical urban and indoor channels in conjunction with properly designed MAAs) may exhibit space diversity gain (and thus Extended Range), as well as the ability to effectively multiply the overall data rate transferred thru the channel by means of splitting the data stream into several sub-streams, all transmitted simultaneously (and thus achieving Extended Rate). Note that while the term Extended Capacity could be used instead of both Extended Range/ Rate (since in Wireless Communication Systems range can be usually traded off by rate and vice- versa) we prefer the latter distinction to distinguish between the 'conventional' diversity gain on one hand, and the ability to transmit several data sub-streams in parallel, which may be achieved only when the 2 communicating sides include an MAA, on the other.
[0006] These MIMO schemes may be broadly classified into 2 classes: those that require Channel State Information (CSI) to be available at the Transmitting side (e.g. [4], [12], [17], [18]) prior to data sub-streams burst transmission and those that do not necessarily require that any CSI be available at the Transmitting side (e.g. [1], [2], [3]). This proposed invention deals with and is applicable to both fore-mentioned classes, whereby it is shown in the sequel that said first fore-mentioned class can be treated as a special case of said second fore-mentioned class.
[0007] The governing equation of said second class of MIMO schemes is yc = Hc Xc + nc (1) where, in complex base-band representation, Hc denotes the propagation complex Channel Matrix (the 'c' subscript denoting here and elsewhere the complex nature of these entities) of R0 x Lc elements, with R0 and Lc the number of antenna elements at the (receiving) Right and (transmitting) Left sides respectively, where xc is the transmitted complex base-band vector, yc is the received complex base-band vector distorted by the channel Hc and interfered by the receiver additive noise nc.
[0008] It is assumed in the sequel for purpose of simplicity and without loss of generalization (w.l.o.g.) that the Channel Matrix elements are complex Gaussian random variables with zero mean and unit variance (E [hjj] = 0; E[ |hjj|2] = 1); that the number of simultaneous complex sub-streams Mc satisfies Mc ≤ min{Lc, R0); that the transmission vector elements xCi are uniformly distributed, derived (as will be shown in the sequel) from a 'typical' constellation (such as QPSK, 16-QAM, 64-QAM, etc.); that the transmission power is constrained to unity (E [ xc' xc] = 1, where ( . )' denotes the conjugate transpose operation), and that the receiver additive noise nc is a complex Gaussian random variable with zero mean, i.i.d. elements and variance inversely proportional to the Receiver mean Signal to Noise Ratio (SNR) to Noise Power Density ([e.g. [5]), i.e. E [nc] = 0, E [ nci' ^1] = σ2 = 1/SNR
[0009] It is further assumed in the sequel that the Channel Matrix Hc is estimated prior to data sub-streams reception by some implicit Channel training stage, i.e. Hcn = Hc where Hen denotes the estimated Channel Matrix and that during the duration of a transmission burst the Channel Matrix Hc undergoes no or small changes. [0010] Several solutions have been proposed to the MIMO equation (1) above. In one such proposed solution the transmitted vector xc is estimated by application of the Inverse Channel matrix (or, as is in some cases more appropriate, the pseudo-inverse matrix), followed by a slicing (or decision, or rounding) operation. This proposed method is also known as the Zero Forcing (ZF) method, is equivalent to the Least Square Estimate (LSE) method, and is considered 'naϊve' (due to its relatively poor Symbol Error Rate (SER) vs SNR performance), but is widely used in literature (as well as herein) as a performance reference scheme. In formal notation
XeZF = rθUnd((Hcn' Hcn) -1 Hen' Vc) (2) where XCZF denotes the estimator of the transmitted sub-streams vector xc and where roundQ denotes the rounding (to nearest integer) operator. A variant of this ZF method, Minimum Mean Square Estimate (MMSE) with somewhat better performance and higher complexity is used sometimes, and omitted herein for the sake of brevity. The vector processing complexity of this ZF scheme can be easily shown to be quadratic with the dimension of the transmitted vector xc and independent of the constellation order (QPSK, 16-QAM, etc.)
[0011] Another proposed solution (e.g. [I]) to (1) above is based on an Interference Cancellation scheme whereby sub-streams are usually ordered (according to some quality criterion) and then individually estimated, sliced and cancelled out from the sub-sequent sub-streams. This Interference Cancellation method yields better performance than (2) above, at a significant complexity penalty.
[0012] Still other proposed solution (e.g. [2]) to (1) above consists of estimating each sub-stream quality (e.g. by monitoring its SER), sending quality feedback from Receiver side to Transmitter side, and individually adapting the Transmitter sub-streams parameters (such as constellation type, channel code, etc.) so as to maximize the system throughput.
[0013] Still other proposed solution (e.g. [3]) to (1) above, of special relevance to our proposed invention, is the so called Maximum Likelihood Detection (MLD) scheme whereby the estimated transmitted vector XCMLD is the vector which minimizes the (Euclidean) distance between the Received Vector yc and the Channel transformed vector (Hcn xc), namely:
XCMLD = arg min || yc - Hcn Xd || 2 (3) where the minimization process takes place upon all the candidate vectors xCi (not to be confused with the transmission vector elements xc;). This scheme is known to be optimal in the sense of SER vs. SNR performance, and thus serves as a lower bound reference in literature (as well as herein). However the MLD scheme is also known (again, [3]) to be of prohibitive complexity, the number of candidate vectors xCi exponentially growing with both the dimension of xc and the order of the symbol constellation; for example, the detection of a transmitted vector with Mc = 4 sub-streams (i.e. a MIMO system comprising 4 radiating MAA elements on each side) drawn out of 64-QAM constellation, would require 26x4 or approximately 16000000 operations/ vector, clearly prohibitive with present art computation devices technology.
[0014] Still other proposed solution to (1) above consists of simplifications to (3) above whereby the candidates search set is reduced to a smaller region, typically a 'sphere' of fixed or adaptive radius around the Received Vector yc. This class of methods is sometimes appropriately named Sphere Decoding (SD for shorthand, e.g. [14]). While providing a lower complexity solution than exhaustive search as per (3) above, their complexity is still prohibitive for many cases of practical interest. In fact no paper seems to have been published describing SD implementations for such relevant configurations as 64-QAM, Mc = 4.
OBJECTIVES AND ADVANTAGES OF THE INVENTION
[0015] The main objective of the present invention is to propose a comprehensive Method and corresponding Apparatus by means of which a MIMO Receiver device can achieve quasi optimal link performance at a vector processing computational complexity growing only quadratically at most with the number of sub-streams (the problem dimension) and practically independent of the constellation order.
[0016] A major advantage of the proposed invention is its ability to achieve quasi- optimal SER vs. SNR link performance.
[0017] Still other major advantage of the present invention is the low computational complexity, the quadratic scalability and the complexity insensitivity to constellation type, all implied in the realization of the Receiver device.
[0018] Still another major advantage of the present invention is its relevance and direct applicability to both MIMO systems whereby CSI is not necessarily available at the Transmitter side as well as to MIMO systems whereby CSI is made available also to the Transmitter side.
[0019] Still another advantage of this current invention is its relevance to both MIMO systems whereby the channel matrix is time invariant during burst transmission as well as systems whereby the channel matrix undergoes changes during said burst transmission.
[0020] Still another advantage of this proposed invention is its seamless capability to generate both 'hard-decision' results as well as 'soft-decision' results, said 'soft-decision' results carrying an output reliability measure which enable the application of suitable 'soft-decision' channel decoders to further improve link SER vs. SNR performance or, equivalently, Bit Error Rate (BER) vs. mean Bit Energy to Noise Power Density (Eb/No) performance.
[0021] Still another advantage of this invention is its ability to conduct concurrent Space- Time Block Code (STBC, e.g. [13]) decoding, seamlessly integrated within the MMO detection process. [0022] Still another feature of this proposed invention is its ability to operate with other norms than the Euclidean /2-norm, such as the less computationally complex but sub- optimal Z1 -norm or /°° -norm thus trading performance for still lesser complexity.
SUMMARY OF THE INVENTION
[0023] The proposed invention consists of a MIMO detection Method and its corresponding Apparatus, namely a MIMO Receiver device comprising MIMO processing elements.
[0024] In accordance with the principles of this invention a MIMO Receiver device acquires during an implicit stage, out of the scope of the present invention, and prior to the data sub-streams burst reception process, Channel Matrix information, Symbol Timing, Signal Power Level, Carrier Frequency and any other information typically required by such wireless communication receivers. This information is acquired, or estimated, by means of methods well known to anyone reasonably skilled in the art of communication reception techniques.
[0025] In further accordance with the proposed invention the MEVIO Receiver device further acquires during or prior to said sub-streams burst reception process, information regarding the number of simultaneously transmitted complex sub-streams Mc and the type of constellation (such as QPSK, 16/64-QAM, etc.) associated with said sub-streams.
[0026] Still in accordance with the proposed invention the transmitted vector xc of (1) above is treated as a point which belongs to a Transmission Lattice Bounded Region (e.g. [8]), said Lattice informally defined as a countable infinite set of regularly spaced points in a multi-dimensional space, and said Lattice Bounded Region informally defined as a closed continuous region in this space (in typical constellations usually of hyper-cubic shape). [0027] Still in additional accordance with the present invention any noiseless received point Hc Xc of (1) above is perceived as belonging to a Reception Lattice Bounded Region, said Reception Lattice readily calculable from said Transmission Lattice by application of the Channel Matrix Hc as will be clarified in the sequel.
[0028] Still in accordance with this invention, the MIMO reception process incurs the attempt of calculation of the MLD solution point XCMLD of (3) above, that is a point which belongs to the Reception Lattice, which resides closest (in a Euclidean distance or other suitable sense) to the Received Vector yc of (1) and which is confined to the appropriate Lattice Bounded Region.
[0029] In further accordance with the proposed invention a vector reception process includes: the calculation of a Reception Lattice Initial Point; an iterative Lattice Descent Stage during which, starting from said Reception Lattice Initial Point a possible descent is executed to sub-sequent Reception Lattice Points each calculated to reside at a smaller distance from the Received Vector yc than its previous one, said Descent Stage terminated at a Reception Lattice Point for which no closer Reception Lattice Point to the Received Vector yc is found (i.e. a minimal point); and an occasional and rarely applied Outlier Stage during which, in cases whereby the Reception Lattice Point achieved by said Descent Stage is found to reside out of the Reception Lattice said Bounded Region, another Reception Lattice Point is calculated by any of a variety of means to be described in the sequel, so that said resulting Reception Lattice Point is found to belong to said Lattice Bounded Region and so that its distance from said Received Vector yc is (usually) smaller than that of any other Lattice Point belonging to said Lattice Bounded Region.
BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 describes a deployment of a MIMO Transmitter device and a MIMO Receiver device.
[0031] Figure 2 provides some characterizations of Transmission and Reception Lattices and Lattice related entities relevant to the proposed invention.
[0032] Figure 3 shows a Reception Lattice and the associated entities, essential for the exposition of the fore mentioned Lattice Descent Stage and to the fore-mentioned Lattice Outlier Stage.
[0033] Figure 4 depicts a simplified Flowchart of the Lattice Descent Stage processing.
[0034] Figure 5 presents Reception Lattice views related to the calculation of a Reception Lattice Initial Point.
[0035] Figure 6 presents base-band equivalent Block Diagrams of a Transmitter device and of a Receiver device of a MIMO Wireless Communication System in accordance with a particular embodiment of the present invention.
[0036] Figure 7 shows simulated link performance results of a particular embodiment of the present invention.
[0037] Figure 8 shows simulated complexity results of a particular embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0038] A typical instance of a Wireless MIMO Communication System is shown in Figure 1. Such a System should include at least 2 communication devices, such as 11 and 12, at least one of which should include a MAA such as those figuratively represented by 13a and 13b.
[0039] Between said pair of the MIMO System devices a propagation Channel Hc, such as 14, characterizing the propagation effects during signal transmission from 11 to 12 as shown in Figure 1, may be defined.
[0040] The wireless Channel 14 between the specified devices 11 and 12 of Figure 1, in indoor and urban MIMO Systems deployments, may typically be described by a complex random R0 x Lc matrix Hc, where R0 denotes the number of antennas in the Right, say the Receiving, side, MAA device 12, Lc denotes the number of antennas in the Left, say the Transmitting, side, MAA device 11, and each element hy in row i and column j of Hc defines the (complex base-band) response between reception antenna i of 12 and transmission antenna j of 11.
[0041] In an indoor or urban wireless deployment, due to the scattering nature of the propagation Channel 14, the elements of the channel matrix Hc will typically be mutually uncorrelated or weakly correlated random variables, provided that the MAA elements are properly spaced and designed.
[0042] It will also generally be assumed along this invention description that immediately prior to the data sub-streams transmission, the processes of Signal Power Level, Carrier Frequency, Symbol Timing and Channel Matrix information estimation and extraction have been completed so that this information is known, down to reasonable accuracy, to the Receiving side communication device 12 of Figure 1. [0043] In a typical deployment of the proposed invention the Channel Matrix 14 will experience no or small variation since the time the Channel estimate Hcn is made available at the Receiving side prior to transmission burst start, and till the end of the transmission burst period.
[0044] It will be convenient (but not essential to the nature of this invention) in the sequel to adopt an all-real number representation of all complex number entities involved; this can be easily achieved by replacing any complex matrix, such as Hc by an all-real H
H = reH« " imHc
(4) imHe reHe of appropriate Rx L dimension, and any complex vector, such as xc by re(xe)
X = im(xβ) (5)
and similarly for yc and nc, so that our MIMO system governing equation (1) and our optimal (MLD) detection equation (3) will become, in equivalent all-real notation y = H x + n (6) and
XMLD = arg min || y - Hn Xi || 2 (7) respectively, where the subscript 'c' has been omitted to denote an all-real representation. The inverse transformation process, from all-real to complex representation is also readily achieved and omitted herein for the sake of brevity. It can be also readily observed that, applying this all-real notation, the number of all-real data sub-streams is M = 2MC, and, similarly L = 2LC and R = 2R0.
[0045] Figure 2 presents Lattice related entities essential to the exposition of the present invention. A Transmission Lattice suitable for the description of a simple (M=) 2 sub- streams, 4-PAM (Pulse Amplitude Modulation) constellation is depicted in 20 of Figure 2. Generalization to M > 2 sub-streams and to more common complex constellations such as QPSK, 16-QAM, 64-QAM, etc., is straightforward and could be easily devised by anyone reasonably skilled in the art. Such Transmission Lattices are essentially a countable infinite set of regularly spaced points in a multi-dimensional space. Any Lattice Point s 201 can be conveniently described by means of a linear combination of Basis column Vectors ai 202 and a2 203, namely s = a0 + mt ax + m2 a = ao + A m (8) where m = (ml m2)' is any integer vector, A = [ai a2 ] is a Lattice Generator Matrix and the Lattice Basis Vectors 202 and 203 are E1 = (2 O)' and a2 = (0 2)' , and where the inconsequential Translation Vector ao = (-1 -I)' 204 is added for convenience.
[0046] In a typical MIMO Communication System transmission constellations are confined to a Bounded Region 205 of a Transmission Lattice 20, such confinement achieved by constraining the integers vector m so that mmin < ni; < πw (9) which in our simple depicted 4-PAM example of 20 take the values mmin = -1 and mmaχ = 2. Other constellations, such as QPSK, 64-QAM, etc. result in different values for the constraint (9). A constellation vector s 206 can then be selected for transmission, subject to equation (8) and to constraint (9), and then be used to generate the transmission vector x = g Q s (10) where g is a power normalization scalar, dependent on the number of sub-streams M and on the transmission constellation, applied so that the transmitted vector x maintains unity power as mentioned above, and where Q is a unitary matrix (i.e. Q' Q = I where I is the Identity) which matches the dimension M of the transmitted vector s to the dimension L of the left hand side of the Channel thus enabling transmission of an arbitrary number M of data sub-streams subject to the constraint M ≤ min{L, R}as mentioned above (Q is not required and may be omitted when M = L).
[0047] As can be observed, the Reception Lattice 21 of Figure 2 is affected by the scaling and rotation effects caused by the random Channel Matrix H (the unitary matrix Q causes an immaterial coordinates rotation) on the Transmission Lattice 20 of same Figure. Any point p 211 of the Reception Lattice 21 is expressed by p = g (H Q a0 + H Q A m) = g (bo + B m) (11) where B = H Q A = [bi hi] is the Reception Lattice Generator Matrix composed of Reception Basis Vectors bi 212 and b2 213, and b0 = H Q a0 is the Reception rotated- scaled Translation Vector 214.
[0048] It can be further observed from 21 of Figure 2 that the Basis Vectors bi 212 and b2 213 are no more orthogonal (in contrast to ai 202 and a2 203 of 20, which are shown to be orthogonal by virtue of the use of popular constellations and proper basis choice), and that the Bounded Region 215 of the Reception Lattice 21 has been also scaled and rotated although still subject to same constraint (9) above so that mmin < m; ≤ mmaxfor the Reception Lattice Bounded Region as well.
[0049] It should be still further observed that the transmitted constellation vector 206 of 20 described by its integer vector m (aside of its Lattice Generator A) has been transformed in the (noiseless, at this point of the invention exposition) received constellation vector 216 of 21, residing inside the Reception Lattice Bounded Region and preserving the same integer descriptive vector m.
[0050] The RM space containing the Reception Lattice 21 can be separated into disjoint decision regions (commonly called Voronoi regions), each decision region including all the (real) points that are closer (in a Euclidean distance sense) to a specified Lattice Point than to any other Lattice Point, one of such Voronoi regions indicated by 219. It is the main function of an optimal (MLD) MIMO receiver to associate any real and noisy Received Vector y such as 220 of 21 to the closest Reception Lattice Point, that is to the Lattice Point at the 'center' of the Voronoi region to which said Received Vector 220 belongs to.
[0051] It should be noted that the scaled-rotated Reception Lattice 21 can be easily 'de- rotated' by means of application of the fore-mentioned Inverse Channel transformation of (2) above. However, this 'de-rotation' correlates the (originally i.i.d.) elements of the additive noise vector n, distorting the de-rotated Lattice MLD detection metrics; while in the Reception Lattice 21 the MLD detection metrics is the plain geometric Euclidean metrics the de-rotated Lattice MLD detector metrics is a non-Euclidean, so called Mahalanobis, distance (e.g. [9]). Both representations are equivalent and the use of one or the other is not of essence to the proposed invention. The 'rotated' Reception Lattice 21 (with its associated Euclidean metrics) will be used in the course of this invention exposition.
[0052] hi the context of a preferred embodiment of the proposed invention it will be convenient to describe the Reception Lattice 21 by means of column Basis Vectors Ci 217 and C2218 which are more mutually orthogonal to each other than the original Reception Lattice Basis Vectors bi 212 and b2 213 as described by the Reception Lattice Generator Matrix B as defined above. Such Basis Vectors usually exist, and are commonly called Reduced Basis Vectors; computationally efficient algorithms for the calculation of such Reduced Basis Vectors have been developed, including the so called LLL Lattice Basis Reduction Algorithm (e.g. [7]). Since said Reduced Basis Vectors depend only on the Channel Matrix H (and not on the transmitted vector x) they can be calculated only once (per data burst transmission) at a Channel Processing stage.
[0053] Since both the original Reception Lattice Generator Matrix B and the Reduced
Reception Lattice Generator Matrix C = [ci C2] describe the same Lattice, then any
Lattice Point p 211 can be equivalently expressed by p = g (bo + B m) = = g (bo + C k) (12) where k is an integer column vector, and from which the following significant transformations are immediately derived: m = (B4C) k = W k (13) and k = (C4 B) m = V m (14) where W = (6"1C) and V = (C'1 B) can be shown to be unimodular matrices.
[0054] It is a main idea of this proposed invention to solve the MIMO detection problem by means of the solution of an integer (Lattice) Direct Search (e.g. [H]) optimization problem. This solution incurs the selection of an Initial Lattice Point, followed by a Lattice Descent Stage whereby subsequent 'adjacent' Lattice Points are selected if their (Euclidean) distance from the Received Vector y is smaller than the distance of the previous Lattice Point from said Received Vector, and whereby said Descent Stage is terminated whenever the attempt to identify a closer Lattice Point fails, thereby indicating the probable achievement of a minimum distance Lattice Point.
[0055] It is a second main idea of the present invention to solve the MDVIO detection problem by means of execution of an Outlier Stage during the occasional (but nevertheless non-negligible) cases whereby said Lattice Descent Minimal Point, the said result of said Lattice Descent Stage, is found to reside out of the Reception Lattice Bounded Region 215, such as 211, both of 21. During said Outlier Stage a Lattice Point residing inside the Bounded Region 215 of 21 is subsequently calculated so that its distance from the Received Vector y is the smallest of all other Lattice Points belonging to said Bounded Region 215. As mentioned above this Outlier Stage is activated infrequently, and can be implemented by a variety of computationally efficient techniques as will be further described below.
[0056] hi 30 of Figure 3 the Reception Lattice entities, essential for the exposition of the fore mentioned Lattice Descent Stage, one of said main ideas of the proposed invention, are depicted. Several entities, introduced in 21 of Figure 2 are repeated herein, for the sake of clarity, including the Reduced Basis Vectors ci 217 and C2 218 (associated with a preferred embodiment of the present invention), the Reception Lattice Bounded Region 215, a Received Vector y (as per (6) above) 220, and its associated Voronoi region 219. The MLD result after reception of said point y 220 is the Reception Lattice Point 304, at the 'center' of the Voronoi region 219.
[0057] hi accordance with a possible embodiment of the proposed invention, it is assumed that an arbitrary Initial Lattice Point, such as po 301 of 30 has been selected at the initiation of the Descent Stage. This Initial Lattice Point p0 301 is the current hypothetical result of the Lattice Descent Stage. It may be implicitly expressed in terms of its coordinates integer vector ko (or, equivalently, mo) as defined by (12) above.
[0058] In further accordance with a possible embodiment of this invention the distance between said Initial Lattice Point 301 and the Received Vector 220 is calculated. Following said calculation, candidate Lattice Points, each such candidate derived from the previous (Initial in the first step) Lattice Point by incrementing (or decrementing) the value of a single coordinate kj of the fore mentioned descriptive vector k by a single unit in each of both (positive and negative) directions of the (Reduced) Basis Vectors ci and C2, are calculated. Examples of such candidate Lattice Points, 'adjacent' to the Initial Lattice Point 301 in the described way, are 308, 309, and 302 of 30. In general, according to a preferred embodiment of this proposed invention, the number of candidate Lattice Points at each iteration step is 2M. For example, in the depicted simple case of a (real, M = 2) M-dimensional Lattice, carrying M (real) data sub-streams and spanned by M (Reduced) Basis Vectors, 2M (= 4 in this case) such candidates exist.
[0059] hi a possible embodiment of this invention the distances between each of these 2M candidates (of which 308, 309, and 302 are marked in 30) and the Received Vector 220 are calculated, and a candidate Lattice Point is selected, 302 in this example, with the smallest distance (of all considered candidates) from the Received Vector 220.
[0060] The Lattice Point 302 becomes effectively a new hypothetical result of the Lattice Descent Stage and the process is repeated, sequentially selecting, in our example, Lattice Points 303 and 304 corresponding to the unit direction vectors 306 and 307 of 30. The Lattice Descent Stage is then terminated, since, following arrival to 304 no unit direction vector yields a candidate Lattice Point with smaller distance to 220 than 304 itself, indicating the arrival to a Lattice Descent Minimal Point.
[0061] For the sake of clear and intuitive exposition this Lattice Descent process, key concept in the proposed invention, is figuratively and self-explanatorily described again in 31 of Figure 3; detailed description is omitted for the sake of brevity. It should be now clear and apparent to the reader that, as opposed to prior art search methods, such as fore- mentioned SD, where the search for the minimum distance point takes the form of exhaustive (hyper-) volume search, or tree search, the arrival to the minimal point in our proposed invention is simply a progressive 'linear' process whereby we 'descend' across the Reception Lattice Points till a (prospective) minimal distance point is achieved.
[0062] Said Lattice Descent Minimal Point 304 can be a true Minimum Point, i.e. a point such that no other Lattice Point is closer to the Received Vector y than said Minimum Point, or it may turn out to be a false Minimum Point, that is a point that, because of the properties of the direction vectors utilized during said Descent Stage (for example the relatively non-orthogonal original Basis Vectors bi and b2), results in termination of said Descent Stage in some Lattice Point other than the true Minimum Point.
[0063] hi a preferred embodiment of the present invention said specific set of selected direction-vectors is a Reduced Basis Vector set such as ci 217 and C2 218 of 30 as defined above, i.e. a minimal set of relatively short and orthogonal vectors which span the Reception Lattice, thus reducing the probability of false Minimum Points as described.
[0064] hi still other embodiments of the proposed invention, the original (non-reduced) Basis Vectors bi and b2 constituent of the Reception Lattice Generator Matrix B can be used.
[0065] hi still other embodiments of the proposed invention said specific set of selected direction- vectors is a Basis Vector set generated by application of any convenient unimodular matrix transformation to any other basis such as B or C.
[0066] hi still other embodiments of this invention other sets of vectors, which span the Lattice but do not necessarily constitute a basis (i.e. are not necessarily a minimal set of vectors) can be used. For example the union set of B and C basis vectors could be employed. [0067] In still other embodiments of this proposed invention the fore-mentioned Lattice Descent Stage is implemented in a constrained form, namely whereby a new candidate Lattice Point is selected if its distance from the Received Vector y is smaller than that of all other candidates as described in the paragraphs above, but with the additional constraint that it resides within the Bounded Region 215 (in accordance with (9) above), said method variant dubbed Lattice Constrained Descent. It should be noted that such Lattice Constrained Descent is also proposed later in the sequel in the context of embodiments of the Outlier Stage.
[0068] While it is possible, according to some embodiments of the proposed invention, to conduct explicit candidate Lattice Points calculation at each step (with its associated quadratic complexity) as depicted above, a more computationally efficient calculation and selection of new candidate Lattice Points which requires only linear complexity with M will be described in the next paragraphs, in the context of a simplified Flowchart of the Lattice Descent Stage processing as depicted in Figure 4. hi such a preferred embodiment of the proposed invention the overall Lattice Descent Stage complexity is merely quadratic in M and independent of the constellation order.
[0069] The explicit expression of an Initial Lattice Point po such as 301 of Figure 3, as per (12) above, neglecting for simplicity hereon the scaling factor g, is po = bo + C ko, the calculation of which can be readily seen to be of quadratic complexity with M; this explicit calculation is carried out only once (per processed input vector) at the entry point to the fore-mentioned Lattice Descent Stage as is shown in 401 of Figure 4. This Initial Lattice Point po serves as the first Lattice Point hypothetical result of said Lattice Descent Stage so that p<j = po as shown in 401 of Figure 4. This hypothetical result pa is assigned to the present point p (and associated k, m, d) as shown in 402 of Figure 4.
[0070] The Euclidean (squared) distance d(p, y) between a Received Vector y (such as 220 of 30) and our present Lattice Point p = b0 + C k (such as 301 of 30) is readily expressed as d(P, y) = (y - P)' (y - p) (15) the calculation complexity of which is linear with M; this distance calculation is carried out once at the entry point of the Lattice Descent Stage, as shown in 401 of Figure 4 and also once for each new candidate Lattice Point pt during said Lattice Descent Stage iterations as shown in 403 and 406 of Figure 4, the number of candidates at each iteration being 2 M as explained above.
[0071] A unit column vector βj is next defined so that it contains zeroes in all its elements except the 'i' element which is valued +1, i.e. ei = (0 0 ...+1 0...0)'. Two adjacent candidate Lattice Points pt ('adjacent' to our present point p) are then Pt = bo + C (k +/- ei ) = p +/- C ej = p +/- d (16) which is simply the sum (or subtraction) of p and the 'i'-th column of C (denoted by Q ). This is again shown in 403 and 406 of Figure 4. The calculation complexity of (16) above, also carried out once for each new candidate is then merely linear with M. Moreover, its calculation consists of addition (ADD) operations significantly simpler to implement in hardware or software than multiplication-accumulation (MAC) operations.
[0072] In a preferred embodiment of this invention, new Lattice Point candidates pt as defined by (16) are calculated at each iteration for each of the 2M (as directed by 409 and 410 of Figure 4) possible vector-directions ej, and the next Lattice Descent Stage hypothetical result pd is selected, as shown in 404, 405, 407 and 408, such that its corresponding distance d(pd, y) as calculated by (15) above is the smallest of all candidates and smaller than the distance d(p, y) associated with our present point p. The Descent Stage ends then, once no new hypothetical result pa satisfies d(pd, y) < d(p, y) as is shown in 411 and 412 of Figure 4, this being indicative of the arrival to a minimum distance Lattice Point such as 304 of 30.
[0073] In other possible embodiments of the present invention the next hypothetical result pa is selected provided that d(pd, y) is smaller than d(p, y) but not necessarily the smallest of all candidates distances as described above. Other similar embodiments are also possible, the common feature of them all being that a next adjacent point Pd is selected provided that its distance (from y) is smaller than that to the present point p. [0074] In still other possible embodiments of the proposed invention the Euclidean metrics as described by (15) above, suggested herein for the implementation of the fore- mentioned Lattice Descent Stage as well as for some of the proposed implementations of the Outlier Stage (as will be described below) can be replaced by other metrics based on well known norms such as the /'-norm (the /'-norm for a given vector z = (z\ Z2 ... Zn)' is n defined as HzH1 = ^|zi|), or the /°° -norm (the /°° -norm for a given vector z = (Z1 z2 ...
1
Zn)' is defined as ||z|| = max |z;|), which are known to yield sub-optimal detection results i
(e.g. [14]) but which are of lower complexity than the (optimal) metrics based on the Euclidean /2-norm (the squared Euclidean /2-norm for a given vector z = (Z1 Z2 ... Zn)' is
defined as ||z||2 2 = ∑|zi|2).
[0075] It should be evident by now from the previous description that the complexity of the proposed MIMO detection method depends also on the number of said Descent Stage iterations which in turn depends on the proper selection of an Initial Lattice Point 301 of 30. The 'closer' (in a certain sense) this Initial Lattice Point is selected to the MLD optimal solution, the less iteration steps are required in order for the previously described Lattice Descent Stage to converge to that solution. In the context of a preferred embodiment of this proposed invention the Initial Lattice Point is the Rounded Parallelepiped Projection of the Received Vector y on each of the Lattice Basis Vectors as described below.
[0076] Figure 5 depicts a zoomed-in view of the Reception Lattice 50 in the context of the selection of an Initial Lattice Point in a preferred embodiment of this invention. The Reduced Basis Vectors Ci 217 and C2 218, i.e. the column vectors of the Reception Lattice Generator Matrix C, are repeated in this drawing in the context of the Rounded Parallelepiped Projection concept introduced herein. We assume the reception of a vector y 501. Since this vector 501 belongs to the Voronoi region 505 the optimal MLD detector will decide that the transmitted vector is the Lattice Point 502 which can be easily seen to be described by k = (1 2)' .
[0077] In order to calculate the Rounded Parallelepiped Projection of Received Vector 501 a dimension, say Ci, is first selected and a hyper-plane spanned by all the other dimensions (only C2 in our simple example), and passing through the Received Vector 501 is expressed by ( y + h2 C2) where h2 is a (not necessarily integer) scalar parameter.
[0078] We now proceed to calculate the intersection of said hyper-plane and the selected dimension- vector 217 Ci. All points in this direction are expressed by (bo + hi ci) where hi is, again a (not necessarily integer) scalar parameter. Hence the intersection between said hyper-plane and said dimension-vector is expressed by (y + h2 C2) = (bo + hi Ci) which is readily solved for h = (-hi h2)' to yield h = C1 G)0 - V) (17)
This process is repeated for the other dimensions (only c2 218 in our simple case) to find each of the other intersection points. It should be noted that, in practice, (17) needs to be resolved only once, and the required parameter is extracted by negating the corresponding scalar parameter h;.
[0079] The Rounded Parallelepiped Projection of our Received Vector y 501, i.e. the
Initial Lattice Point ko is then ko = - round (h) (18)
[0080] By inspection of the geometry of 50 of Figure 5 it can be seen that the Rounded Parallelepiped Projection process yields in this specific case the Lattice Point ko = (1 2)' identical to the MLD detected Lattice Point 502. Although this is the (happy) case in the great majority of instances, there are cases (not shown in Figure 5) whereby the resulting Rounded Parallelepiped Projection ko, differs from the MLD solution (but is usually very close to it). The fore-mentioned Lattice Descent Stage attempts (usually successfully) to finally converge to said MLD solution in these cases. [0081] In a preferred embodiment of our proposed invention the Initial Lattice Point is the result of the Rounded Parallelepiped Projection computation (17) and (18) as described above.
[0082] In other embodiment of the present invention said Initial Lattice Point can be the rounded Inverse Channel or ZF solution (2) as described above. The similarity of (17) and (18) above to the ZF solution (2) is apparent by inspection. The ZF solution is in fact a parallelepiped projection with the basis B (= H A) used instead of C. This solution is called (in Lattice terminology) the Babai point (e.g. [3]).
[0083] hi still other embodiment of the proposed invention said Initial Lattice Point can be the rounded result of some other estimator such as the MMSE solution as mentioned above.
[0084] hi still other embodiment of the proposed invention said Initial Lattice Point can be the rounded orthogonal projection of the Received Vector 501 onto each of the direction-vectors.
[0085] hi still other embodiment of the proposed invention said Initial Lattice Point can be a fixed Lattice Point, such as the Lattice origin.
[0086] We refer again to 30 of Figure 3 in order to describe aspects and embodiments of the fore-mentioned Outlier Stage of this proposed invention. As mentioned above the result of the Lattice Descent Stage may be a Lattice Point residing out of the Reception Lattice Bounded Region 215. Such an example of an 'Outlying' Lattice Point 310 is shown in 30 of Figure 3. As it turns out this erroneous Descent Lattice Point decision may happen occasionally, but still with non-negligible probability, depending on the specific Reception Lattice (i.e. on the Channel Matrix H), on the selected Constellation type (e.g. QPSK, 16-QAM, etc.) and on the mean Reception SNR. Detection of such a point as 310 as the hypothetically transmitted Lattice Point is obviously incorrect since transmitted Lattice Points are confined to the Bounded Region 215 by virtue of the inequality constraint (9) above.
[0087] The correct Maximum Likelihood Decision in such cases would be a Lattice Point closest to the Received Vector y but residing within the Bounded Region 215. Such a point, in our example, would be 304. Several Lattice Outlier methods can be applied, with varying degrees of SER performance and complexity as will be presently described.
[0088] It should be noted herein that in the context of the present invention, due to the typically low frequency of occurrence of these Outlying Lattice Points, complexity of the Outlier Stage has relatively small impact on the average complexity (i.e. average number of operations per vector) of a MIMO Receiver device.
[0089] hi a preferred embodiment of the Lattice Outlier Stage of this proposed invention a processing similar to the Lattice Descent Stage as described above is executed, namely, a distance from the Received Vector y to a selected Initial Lattice Point is calculated by means of (15) as above, said Initial Lattice Point selected so that it resides inside said Lattice Bounded Region 215; then subsequent candidate Lattice Points are calculated by means of (16) above; then their distances from said Received Vector y are evaluated by means of (15) above and compared with that of the current 'best' Lattice Point, and a new Lattice Point is selected if its distance from the Received Vector y is smaller than that of the current Lattice Point and if it resides inside the Lattice Bounded Region 215. We denote this Outlier Stage method by Lattice Constrained Descent. The Flowchart for this Outlier Stage embodiment is very similar to the depicted in Figure 4 and omitted herein for the sake of brevity.
[0090] In the context of a possible embodiment of the Lattice Outlier Stage of the present invention convenient metrics functions describing the distance between an Outlying Lattice Point, such as 310, and the Lattice Bounded Region 215 (denoted by R below) can be defined. For any Lattice Point p = g (bo + B m) = = g (b0 + C k) as defined by (12) above one possible simple metrics function d(p, R) could be
Figure imgf000026_0001
and
Figure imgf000026_0002
Another possible convenient metrics function could be d(p, R) = max Cl1 (p, R) (19c) with dj (p, R) defined by (19a) above.
Other convenient metrics functions suitable to describe the distance between a Lattice
Point and an associated Bounded Region R can be devised.
[0091] In a possible embodiment of the proposed invention, for resulting Lattice Descent Stage points such as 310 found to reside outside the Bounded Region 215, a Lattice Outlier Stage is initiated. In further accordance with a possible embodiment of the present invention, starting from said point 310, different possible directions are generated by single coordinate increments (or decrements) of Lattice vectors (in a similar fashion to the Lattice Descent Stage method as described above); for each such resulting new candidate Lattice Point the metrics function (as per (19b) or (19c) above) is evaluated and a Lattice Point is selected based on the largest decrease (or the smallest increase) in d(p,R) . The resulting Lattice Point is the starting point for a new iteration whereby each vector coordinate is incremented (decremented) and its metrics function is evaluated. This iterative process is terminated once a Lattice Point is generated for which d(p,R) =0. The process may be also aborted if, after a predetermined number of iterations, no Lattice Point for which d(p,R) = 0 is found.
[0092] In a possible embodiment of the proposed invention the resulting Lattice Point is our Outlier Stage result and our final Vector-Symbol Decision pa. [0093] In still other possible embodiment of this invention the resulting Lattice Point becomes the Initial Point for a subsequent Constrained Descent process as described above; in such an embodiment the result of said Constrained Descent is the final Vector- Symbol Decision pa.
[0094] hi accordance to another possible embodiment of the proposed invention the Lattice Outlier event is resolved by solving the Integer Quadratic Programming (IQP) problem min (B m + bo - y)' (B m + bo - y) (20a) subject to mm,n < m, ≤ m ' max (20b) or, similarly min (C k + bo - y)' ( C k + bo - y) (20c) subject to mmi^ (W k), < mmax (2Od) where the minimization is executed over m (or equivalently, k), and where the functional (20a) (or (2Oc)) above defines the Euclidean distance between a general Lattice Point and the Received Point y. IQP constrained optimization problems are well known and can be solved by a variety of methods such as (but not limited to) the so called Branch and Bound method by those reasonably skilled in the art (e.g.[10]).
[0095] hi another preferred embodiment of the Outlier Stage of this present invention a combination of two or more Outlier Stage methods as described above can be applied at each (infrequent) Outlier event, each such method possibly generating a different result, and the Lattice Point result residing inside the Bounded Region and at the smallest distance from the Received Vector y being selected as the final Outlier Stage result.
[0096] hi some cases it could be desirable or required to provide a so-called 'soft- decision' output indicating the level of reliability or 'likelihood' that can be assumed for the current decision. Such 'soft decision' output has proved to be very effective in improving link performance (i.e. SER vs. SNR or, equivalently, BER vs. Eb/No) in conjunction with channel coding schemes, such as convolutional codes or turbo codes. Depending on the class of channel coding used, said soft decision information can be referred to the detected Vector (i.e. to our final Lattice Point decision pa = b0 + C ka); or to the detected Symbol (i.e. to pai = (b0 + C ka );, = (b0 + B ma ),, i = 1 ,2, ...M; or to the detected Bit bk(pai ) where bk is calculated from pa; by means of a Symbol to Bits (De- )Mapper. Details of said 'soft decision' possible embodiments will be described in the next paragraphs.
[0097] For each Received Vector y we define the log-likelihood ratio (usually denoted
LLR) for an event A to occur, given the reception of y, as
L(A) = In [ (Pv{A\y) / Pr{ ! |y) ] (21) where 'In' denotes the natural logarithm, where Pr{. | .} denotes (conditional) probability, where the event A denotes the event 'not-A ' and where the event A is
A = {Vector pa has been transmitted} (21a) where pa is our final Lattice Point decision, if we are interested in Vector-LLR; or
A = {Symbol pai has been transmitted} (21b) where pai is the 'i'-th coordinate of our final Lattice Point decision, if we are interested in
Symbol-LLR; or
A = {Bit Symbol bk(pa) has been transmitted} (21c) where bk(pa) is the binary value of the 'k'-th bit of our final Lattice Point decision, if we are interested in Bit-LLR.
[0098] Following common practice and other authors (e.g. [15]) we opt to apply to (21) above the well known max-log approximation
L(A) s [(-Up. - y||2) - max (-||p - y||2)] . (2/σ2) (22) p ≡ A where the leftmost term simply defines the Euclidean (squared) distance from the Received Point y to our decision Lattice Point pa , where the rightmost term defines the smallest distance of a Lattice Point p which satisfies A i.e. which its corresponding vector (or symbol, or bit) is different than that of pa itself, and where (2/σ2) is a noise power related normalization factor.
[0099] In accordance with a preferred embodiment of this proposed invention the leftmost term of (22) above is simply the result of the Descent Stage; the calculation of the rightmost term of (22) can be conducted concurrently to the fore-mentioned Descent Stage (nominally used for the calculation of pα as described above) this time selecting the closest Lattice Point that satisfies A . For example, in the case of Bit-LLR calculation, if bit bk carried by our decided Lattice Point pa is valued +1, then the closest Lattice Point that satisfies A would be that with smallest distance to y for which bk= - 1. If no such Lattice Point is found after completing all (or an appropriate subset) of the 2M candidates belonging to last Descent Stage iteration, we may assign to said rightmost term of (22) an appropriate function of the calculated candidate Lattice Points pe A . The complexity of said rightmost term calculation can be readily verified to be quadratic in M for similar considerations as stated above in the context of the Descent Stage Processor.
[0100] hi still other cases it may be desirable or required to encode the information, prior to its modulation and transmission, by means of so-called Space Time Block Codes (STBC, e.g. [13], [16]); in such schemes an all-real information spatial sub-streams vector s (derived from its complex counterpart sc) is linearly mapped into a (transmitted) 'block' or matrix X of dimension L x T so that the all-real governing equation (6) above becomes
Y = H X + N (23) where Y and N are now (respectively received and noise) matrices of dimension R x T with T denoting the 'temporal' dimension, and where H is an R x L all-real channel matrix as defined above.
[0101] Li the context of a preferred embodiment of our proposed invention it can be easily shown (e.g. [16]) that the 'block' representation (23) above is fully equivalent to the all-real, all-vector representation y = H x + n (24) as in (6) above if we set
H = I ® H (25) where I is the T x T identity matrix, where ' <S> ' denotes the matrix Kronecker (or direct) product, where H is a block diagonal RT x LT matrix, where x is an LT-dimensional vector created by concatenating X columns, and where y and n are similarly created RT- dimensional vectors respectively corresponding to Y and N above. It is observed that by applying this notation the MIMO-STBC integrated scheme is reduced to our well known governing equation (6), so that (24) can be solved by means of the set of methods described in the sequel resulting in a quasi-optimal and low complexity solution.
[0102] It has been mentioned in the sequel that MIMO schemes can be broadly classified into 2 classes: those that require Channel State Information (CSI) to be available at the Transmitter side prior to burst transmission and those that do not necessarily require that any CSI be available at the Transmitter side. This proposed invention has been described so far in the context of MIMO schemes which belong to said second class. We will presently show that MTMO schemes belonging to first said class may be considered to be a special case of said second class, and that, as such, they can be advantageously solved by application of same means and methods as those described so far.
[0103] For systems that belong to said first class a Channel Matrix estimate Hn is available at both the Transmitter and Receiver sides. Such systems have the potential advantage (over systems belonging to second said class) to provide an additional beam- forming (or array) gain. This is commonly accomplished (e.g. [12]) by means of calculating the Singular Value Decomposition (SVD) of Hn = Un Dn Vn' (at both link sides) and by means of pre-coding by Vn prior to actual transmission (at the Transmitter side) and equalizing by Un' prior to detection (at the Receiver side). It can be easily verified by inspection that the Reception Lattice Equation (11) of such systems then becomes p = g (Un' H Vn a0 + Un 5 H Vn A m) = g (bo + Un 5 U D V Vn A m) (26) where we have omitted for simplicity and w.l.o.g. the re-dimensioning matrix Q and where bo is, as in prior notation, an immaterial Lattice translation vector.
[0104] In the ideal (but non-realistic) case where perfect Channel Matrix estimation is achieved then Hn = H = U D V and, since both U and V are unitary (i.e. U' U = I, etc) then (26) simply becomes p = g (bo + D A m) (27)
Hence in such a case, since both the Singular Values matrix D and the Transmission Lattice Generator matrix A are diagonal, then the Reception Lattice Point p is just a scaled, and still orthogonal, version of the transmitted Lattice Point. Optimal (MLD) detection can thus be computationally simply achieved by slicing each of the noisy (p + n) ordinates (e.g. [12]).
[0105] In realistic applications, due to Channel training transmission power and duration limitations it is not possible to achieve perfect Channel estimates. In such cases (Un' U) and (Vn' V) do not equal I anymore. It has been shown ([4], [17]) that as result of this, attempting to conduct detection by simple slicing (as described above in the context of perfect Channel estimates) leads in general to very poor (practically catastrophic) link performance.
[0106] In still some other cases it may be desirable or required to conduct MIMO reception at systems where CSI is made available at both the Transmitter and Receiver sides. In such embodiments it is readily apparent that (26) above can be formulated as p = g (bo + B m) (28) where we have substituted B = (Un' U D V Vn A). By inspection of (28) and (11) it is clear that MIMO schemes for which CSI is available also at the Transmitter side can be represented by the same Lattice model as schemes for which CSI is available only at the Receiver side.
[0107] In a preferred embodiment of this proposed invention, the detection problem for MIMO schemes for which CSI is made available at the Transmitter side is solved by the application of the means and methods as described in this sequel resulting in a quasi- optimal and low complexity solution.
[0108] Figure 6 depicts a base-band equivalent Block Diagram of a MIMO Wireless Communication System comprising a Transmitter device consisting of a bits-to-symbols • Mapper 67, an Operator (gAQ) 60 and its associated MAA 13a, a Propagation Channel 14, and a Receiver device consisting of an Initial Point Processor 61, a Descent Stage Processor 62, an Outlier Stage Processor 63, an optional LLR Processor 64, a Channel Estimator 65, a Channel Processor 66 and the Reception device associated MAA 13b. Across the Block Diagram of Figure 6 entities are notated in their corresponding all-real representation in accordance with (4) and (5) as described above.
[0109] All processing elements to be described in the context of Figure 6 can be efficiently implemented by means of Digital Signal Processing hardware or software using well known techniques by those skilled in the art. Transmitter and Receiver devices usually include additional physical elements and circuits such as radiating elements (Antennas), Radio Frequency (RF) Amplifiers, Frequency Translators, Analog to Digital Converters (ADCs) and Digital to Analog Converters (DACs), etc., all essential to the operation and feasibility of such devices but immaterial to the subject and ideas of this proposed invention, and therefore have been omitted from this detailed description.
[0110] The Transmitter device of Figure 6 consists of an Operator 60 which accepts a traffic data sub-streams vector m, and generates a power normalized transmission vector x = g Q (ao + A m ) in accordance with (8) and (10) above, and optionally, of a Mapper 67 which transforms a bit-stream d into said traffic data sub-streams vector m.
[0111] The transmission vector x is radiated by means of the Transmitter device 60 associated MAA 13 a, propagated through the transmission (scattering, distorting and noisy) Channel 14, and received by the Receiver device associated MAA 13b, resulting in the Received Vector y = H x + n in accordance with (6) above. [0112] It is assumed, as is generally the case in digital Wireless Communication Systems, that data transmission is preceded by a preamble transmission during which the Receiver device Channel Estimator 65 estimates the propagation Channel H 14, resulting in a Channel Estimate Hn ; said Channel estimation conducted by an implicit estimation method, such as LSE, MMSE or other, methods well known to those reasonably skilled in the art. The Channel Estimator 65 optionally further estimates the receiver noise power σ2 to be used by the optional LLR Processor 64 as described in the sequel. It is further implicitly assumed that said Channel Estimator 65 acquires an additional set of necessary information such as average Signal Power Level, Signal Carrier Frequency and Symbol Timing, not shown in Figure 6.
[0113] Said Channel Processor 66 of Figure 6, following said estimation of Channel information and other mentioned required entities (by means of Channel Estimator 65), and in accordance with a preferred embodiment of the proposed invention, proceeds to calculate some of this invention related entities including: B, the distorted Lattice Generation Matrix; bo, the distorted Lattice translation vector; C, the Reduced Basis Generator Matrix; C'1, its inverse (or equivalently, a suitable decomposition of C); and the integer matrices W and V, the fore-mentioned transforming matrix from k coordinates to m coordinates and vice versa. Said calculations are carried out with the auxiliary implicit participation of some additional information, assumed w.l.o.g. to be available at both the Receiver and Transmitter devices such as: the Constellation Generator Matrix A, the (optional) unitary dimension matching matrix Q, the Constellation order, i.e. mmjn and mmax, etc.
[0114] hi some cases it is assumed that the Channel Matrix 14 is time invariant or varies only negligibly during the transmission of a data burst; in such cases the Channel Estimator 65 estimates Hn only at the beginning of said data burst (by means of e.g. training sequences as mentioned above) and delivers its result to the Channel Processor 66 as depicted in Figure 6. In such cases no further channel estimates (sometimes called channel 'tracking' updates) are executed during the transmission of said data burst. [Ol 15] In some other possible cases it is assumed that the Channel Matrix 14 is not time invariant but varies (typically slightly but still significantly) during data burst transmission. In such an implementation the Channel Estimator 65 would estimate, in addition to the initial Channel Matrix Hn also, after each vector or after a (typically preset) N number of vectors, a Channel Matrix differential dHn as shown in 65 of Figure 6. Such differential dHn can be estimated by several means, such as application of Decision Feedback techniques (utilizing decision variables such as ka or ma as shown in 65) or other techniques, well known to those skilled in the art, and out of the scope of the present invention.
[0116] In said time- variant implementations the Channel Processor 66 would still calculate the fore-mentioned bo, B, C, C"1, W and V entities at the beginning of a data burst as described above, hi said time-variant implementations, said Channel Processor 66 will re-calculate said entities at the arrival of a new vector by means of one of several possible methods as depicted in the following paragraphs.
[0117] In a possible embodiment of our proposed invention the Channel Processor 66 will calculate, at the arrival of a new vector, an updated channel estimate (Hn + dHn /N), and then fully re-calculate all said entities bo, B, C, C"1, W and V. The main disadvantage of such a method would be its relatively high complexity since said calculations are now repeated at each vector and since some of said calculations are not just quadratic in M.
[0118] In a preferred embodiment of the proposed invention the Channel Processor 66 will calculate, every N vectors, a set of vector or matrix differentials dbo = dHn . ao (29a) dB = dHn . A (29b) dC = dB . W (29c) the complexity of said calculation being cubic at most (for Eq. 29c) with M. Since these calculations are carried out every N vectors, by proper selection of N (e.g. N = M/2, or M, or 2M, etc) we achieve again quadratic per vector complexity as desired. [0119] Li said preferred embodiment of our proposed invention the Channel Processor 66 will calculate, at the arrival of each new vector, an interpolated update of fore-mentioned entities, namely (b0 + dbo/N), (B + dB/N) and (C + dC/N), all said calculations of quadratic complexity at most.
[[0120] m a preferred embodiment of the proposed invention the Channel Processor 66 will not update the inverse C"1 (or an equivalent suitable decomposition) which will then remain fixed in time during burst transmission, slightly affecting the calculation precision of our Lattice Initial point as per (17) and (18) above.
[0121] In still other embodiments of our proposed invention the inverse C"1 maybe recalculated at every N vectors or may be approximated at every vector by the well known approximation (C + dC/N)'1 = (C'1 - C"1 . W . dB / N) where it is implicitly assumed that dB « 0.
[0122] hi accordance with a preferred embodiment of the present invention, the Initial Point Processor 61 of Figure 6 calculates the coordinates ko of the Initial Lattice Point by means of the Rounded Parallelepiped Projection of the Received Vector y, in accordance with (17) and (18) as described above. Prior to this the Initial Point Processor 61 also may execute the simple mappings required to transform complex representations into all- real representations (as depicted by (4) and (5) above), the optional mappings required to transform STBC 'block' representations into all-vector representations as described by (23) to (25) above, and/or the optional equalization by Un' required for reception in Wireless Communication Systems where CSI is available at the Transmitter side as described by (26) above.
[0123] In further accordance with a preferred embodiment of this present invention the Descent Stage Processor 62 of the Receiver device accepts said Initial Point coordinates ko, said Received Vector y, and said Channel Processor 66 results C and bo, and proceeds to calculate the distance between said Received Vector y and said Initial Lattice Point as per (15) above and then iteratively calculate subsequent Lattice Points according to (16) above until arrival to a Lattice Descent Minimal Point with coordinates kd as described above.
[0124] In accordance with a preferred embodiment of the proposed invention following said kd calculation, the original Lattice Basis coordinates ma = W kd of said Lattice Minimum Point are calculated in the Outlier Stage Processor 63 according to (13) above, and a test regarding the residence of said Lattice Descent Minimal Point md inside the Lattice Bounded Region (215 of Figure 2) is carried out according to (9) as described above, hi the most frequent cases whereby said Lattice Descent Minimal Point rød is found to belong to the Lattice Bounded Region as defined by (9) above then further processing by the Outlier Stage Processor 63 is not necessary. The vector processing ends at this stage with the decision ma = mj (and, equivalently ka = kd) as shown in 63.
[0125] hi the occasional, but still not negligible, cases whereby said Lattice Descent Minimal Point md is found to reside outside said Lattice Bounded Region, i.e. does not satisfy (9) above for at least some elements m then an Outlier Stage is conducted whereby the Lattice Point closest to y but belonging to the Lattice Bounded Region is searched for. This search is conducted at the Outlier Stage Processor 63 by means of the application of any of the methods proposed in the corresponding paragraphs above, namely Constrained Lattice Descent, or Direct Search by iterative application of (19), or Integer Quadratic Programming following (20) above, or a combination and best- selection thereof. The Outlier Stage symbol- vector decision result, denoted ka, with its corresponding ma, is then made available to the user.
[0126] hi some implementations of the proposed invention the fore-mentioned 'soft- decision' scheme is desirable or required as mentioned above. Li such implementations the Descent Processor 62 (or Outlier Processor 63 if applicable) generate, in addition to their 'hard' decision ka (or ma) also the closest Lattice Point which does not satisfy the Bit (or Symbol, or Vector) 'hard' result; this Lattice Point (or set of Lattice Points) is denoted by ~ ka (or ~ ma) in Figure 6; in said optional implementations an LLR Processor 64 is incorporated. This LLR Processor 64 calculates for each Received Vector y the corresponding Bit-LLRs, denoted as 'd-soft' in Figure 6 (or Symbol-LLRs or Vector- LLRs, not shown in Figure 6) as described in (21a,b,c) and (22) above.
[0127] Figure 7 presents uncoded and coded comparative plots of the simulated link performance of a particular embodiment of a MIMO detector, implemented in accordance with the principles and methods of this proposed invention as described in the sequel. In 71 of Figure 7 the uncoded SER vs. SNR link performance of a MIMO configuration with Lc = R0 = Mc = 4 and a 64-QAM constellation is provided. In 72 of Figure 7 the uncoded SER vs. SNR link performance of a MIMO configuration with Lc = R0 = Mc = 6 and a 64-QAM constellation is provided. In 73 of Figure 7 the coded BER vs. Eb/ No link performance of a MIMO configuration with Lc = R0 = Mc = 4 and a 64-QAM constellation is provided.
[0128] In 710 of Figure 7 the SER performance of our proposed method is shown and compared relative to the performance 711 of a (naϊve) MMSE detector. In 720 of Figure 7 the SER performance of our proposed method is shown and compared relative to the performance 721 of a MMSE detector. The MLD curve is not shown in both 71 and 72 of Figure 7 given the enormous complexity incurred. The enormous link processing gain of our proposed method relative to the MMSE reference method can be readily noticed in both.
[0129] In 730 of Figure 7 the soft decision BER performances 730 of our proposed method is compared with the hard decision performances 731 of same proposed method. For these coded simulations a 'standard' convolution code of R=l/2, K=7 and (octal) generator G= [1 3 3; 1 7 1], and a block inter-leaver were used.
[0130] The implementation complexity analysis of a MBVIO Receiver device made in accordance with a particular embodiment of our proposed invention can be sub-divided into the complexity analysis of the Channel Processing stage which usually takes place at the beginning of each transmission burst in the Channel Processor 66 of Figure 6, and that of the Vector Processing stage, implemented by means of the Initial Point Processor 61, Descent Stage Processor 62, Outlier Stage Processor 63 and optional LLR Processor 64, all of Figure 6.
[0131] Li an embodiment of the proposed invention the only operations executed by the Channel Processor 66 which incur greater than quadratic complexity are the computation of C, the Reduced Basis Generator Matrix, and the calculation of its associated inverse C"1 (or an equivalent suitable decomposition). Said Reduced Basis calculation (computation of the matrix C) is known to be polynomial with the dimension of the problem (e.g. [7]). The calculation of said matrix inversion (or a suitable decomposition thereof) is known to be of cubic complexity. In any case, as mentioned above, the Channel Processing operations are usually executed only once at the beginning of each transmission burst and their effect on the overall complexity is small.
[0132] Due to its repetitive nature the Vector Processing complexity is of major significance to the overall Receiver device complexity, hi accordance with a preferred embodiment of the current invention the calculation of the Initial Lattice Point implemented in the Initial Point Processor 61 involves a matrix- vector multiplication (as per (17) above) that scales quadratically with M, and a vector rounding operation (as per (18) above) that scales linearly with M; both are independent of the constellation order.
[0133] In further accordance with a preferred embodiment of our proposed invention the calculation of the Lattice Descent Minimal Point, carried out in the Descent Stage Processor 62, incurs the one-time calculation of the distance between the Received Vector y and the Initial Lattice Point as per (15) above, said calculation being of quadratic complexity with M and independent of the constellation order; this is followed by the iterative calculation of 2M adjacent Lattice Points (at each iteration) and their associated distances following (16) and (15) above, said calculation scaling up quadratically with M (total, for all 2M 'adjacent' Lattice Points), as can be easily verified by inspection of (16) and (15), and again independent of the constellation order. Simulation results show that the average number of iterations involved is very close to 1, in particular when the Initial Lattice Point is calculated in accordance with our preferred embodiment method (i.e. Rounded Parallelepiped Projection) as mentioned above.
[0134] The Outlier Stage Processor 63 calculates, for every result kd of the Descent Stage Processor 62 its corresponding coordinates ma by means of (13) above and then checks for its belonging to the Lattice Bounded Region as per (9) above. This one-time calculation is quadratic in M and independent of the constellation type. An actual further activation of the Outlier Processor 63 is effected only occasionally, at those rare events whereby the resulting nid is found to not to belong to the Bounded Region 215 of Figure 2. Simulation results show again, that the probability of these events is low; for example, at a typical SER = 1E-3 operating point this probability is in the order of 1E-4 for the {64-QAM, Mc= 4} case. Hence, in general, their average complexity impact on the Vector Processing Stage is relatively mild. Notwithstanding with the above, and for purpose of example, the implementation of an Outlier Stage Processor 63 in accordance with the iterative Constrained Descent method as described above can be easily shown to be of similar complexity of that of the proposed Descent Stage Processor 62, namely quadratic with the dimension of the MIMO problem dimension M and independent of the constellation order.
[0135] It should be briefly noted herein that the iterative processes carried out as described above at the Descent Stage Processor 62 and (occasionally) at the Outlier Stage Processor 63 could be aborted or truncated, at the expense of some performance penalty, prior to their 'natural' termination, if so required by system constraints (such as maximum allowed latency).
[0136] Physical complexity of state-of-the-art signal processing apparatus is usually dominated by the number of Multiply or Multiply- Accumulate (MAC) arithmetic operations required; this is so due to the relative large integrated circuit area required for the implementation of such arithmetic operation. The average number of MAC operations required for detection of a single MBVIO vector, in accordance with a particular embodiment of this proposed invention is shown in Figure 8. In 81 of Figure 8 the average number of MACs per vector required for hard 810 and soft 811 decision generation with a 64-QAM constellation and Lc = Rc = M0 = 4 are respectively shown. In 82 of Figure 8 the average number of MACs per vector required for hard 820 and soft 821 decision generation with a 64-QAM constellation and L0 = R0 = Mc = 6 are respectively shown. The plotted data is the result of simulation runtime actual operations count.
[0137] Shown results were achieved with burst size of 50 vectors each, and they include both Channel Processor operations (as described in the context of 66 of Figure 6) and Vector Processing operations (carried out in the fore mentioned Initial Point Processor 61, Descent Stage Processor 62, Outlier Stage Processor 63 and optional LLR Processor 64). The unprecedented low complexity can be appreciated; for example at an operating point of SNR = 32 db (corresponding approximately to 1E-3 uncoded SER) a 4 x 4 64- QAM Soft Detector requires (811 of Figure 8) about 160 MACs / Vector; since each vector carries 6 x 4 = 24 bits this reflects a complexity of about 6.7 MACs / bit. We note by inspection of 821 of Figure 8 that, for same specified operating point, the average number of MACs per vector is about 335 for M0 = 6 demonstrating that the complexity of the proposed invention scales sub-quadratically (in fact - with (log(335/160)/log(6/4)) ~ 1.8 exponent) with the dimension M0 of the MIMO configuration as advertised.

Claims

What is claimed is:
1. A method for detecting a transmitted signal vector, wherein said transmitted signal vector is detected from a signal vector received over a multiple- input multiple-output (MIMO) wireless communication channel, comprising: defining a reception lattice comprising a plurality of reception lattice points, in accordance with an estimated channel matrix, a predetermined transmitted signal constellation, and a predetermined number of data sub-streams, wherein each of said reception lattice points is describable as a linear combination of spanning vectors of said reception lattice, and wherein each member of a transmitted signal constellation corresponds to a respective reception lattice point; traversing said reception lattice from an initial reception lattice point to a final reception lattice point, by iteratively selecting, for a current reception lattice point, a neighboring reception lattice point having a smaller distance from said received signal vector than a distance between said current lattice point to said received signal vector as the current reception lattice point for a subsequent iteration, wherein a neighboring reception lattice point comprises a reception lattice point in a direction of one of said spanning vectors, and terminating said iterative selecting when a current reception lattice point having a smaller distance from said received signal vector than respective distances of all of the neighboring lattice points is obtained; and detecting said transmitted signal vector as said respective member of said transmitted signal constellation corresponding to said final reception lattice point.
2. A method according to claim 1, wherein said selecting comprises: calculating a respective distance between said received signal vector to each of said neighboring reception lattice points; determining a neighboring reception lattice point having a smallest respective distance to said received signal vector; if said smallest respective calculated distance is less than said distance between said current reception lattice point to said received signal vector, selecting said respective neighboring reception lattice point as the current reception lattice point and repeating said selecting; and if said smallest respective calculated distance is not less than said distance between said current reception lattice point to said received signal vector, establishing said current reception lattice point as said final reception lattice point and terminating said traversing said reception lattice.
3. A method according to claim 1, wherein said reception lattice points corresponding to said transmission signal constellation are contained within a reception lattice bounded region, and wherein said neighboring reception lattice points are restricted to points within a reception lattice bounded region.
4. A method according to claim 1, further comprising selecting said neighboring reception lattice points by moving one unit vector from said current reception lattice point in the direction of each one of said spanning vectors.
5. A method according to claim 1, further comprising selecting said spanning vectors as a basis set of vectors of said reception lattice.
6. A method according to claim 1, wherein said spanning vectors comprise a reduced basis vector set of said reception lattice.
4-4
7. A method according to claim 1, further comprising calculating said spanning vectors by applying a unimodular transformation to a selected basis vector set of said reception lattice.
8. A method according to claim 1, wherein said spanning vectors comprise the union of at least two spanning vector sets of said reception lattice.
9. A method according to claim 1, wherein said distance comprises a Euclidean distance.
10. A method according to claim 1, wherein said distance comprises an I1- norm.
11. A method according to claim 1, wherein said distance comprises an /°° ■ norm.
12. A method according to claim 1, further comprising transforming said reception lattice by an inverse channel transformation, and wherein said distance comprises a Mahalanobis distance.
13. A method according to claim 1, further comprising selecting said initial reception lattice point as a rounded parallelepiped projection of said received signal vector on each of said spanning vectors.
14. A method according to claim 1, further comprising selecting said initial reception lattice point as a rounded Zero Force (ZF) transformation of said received signal vector.
15. A method according to claim 1, further comprising selecting said initial reception lattice point as a rounded Minimum Mean Square Estimate (MMSE) of said received signal vector.
16. A method according to claim 1, further comprising selecting an arbitrary reception lattice point as said initial reception lattice point.
17. A method according to claim 1, wherein said reception lattice points corresponding to said transmission signal constellation are contained within a reception lattice bounded region, and further comprising, if said final reception lattice point lies outside said reception lattice bounded region, traversing said reception lattice from said final selected reception lattice point to an interior reception lattice point, by: establishing said final selected reception lattice point as a current outlier reception lattice point; iteratively selecting, for said current outlier reception lattice point, a neighboring reception lattice point having a smaller distance from said reception lattice bounded region than a distance between said current outlier reception lattice point and said reception lattice bounded region as the current outlier reception lattice point for a subsequent iteration; and when a current outlier reception lattice point lies inside said reception lattice bounded region, establishing said current outlier reception lattice point as a new final selected reception lattice point and terminating said iterative selecting.
18. A method according to claim 17, further comprising: establishing said new final selected reception lattice point as a new initial reception lattice point; traversing said reception lattice from said new initial reception lattice point to a final reception lattice point, by iteratively selecting, for a current reception lattice point, a neighboring reception lattice point having a smaller distance from said received signal vector than a distance between said current lattice point to said received signal vector as the current reception lattice point for a subsequent iteration, wherein said neighboring reception lattice points are restricted to points within said reception lattice bounded region; and detecting said transmitted signal vector as said respective member of said transmitted signal constellation corresponding to said final reception lattice point.
19. A method according to claim 1, wherein said reception lattice points corresponding to said transmission signal constellation are contained within a reception lattice bounded region, and further comprising, if said final reception lattice point lies outside said reception lattice bounded region, obtaining a reception lattice point within said reception lattice bounded region by solving an Integer Quadratic Programming (IQP) formulation.
20. A method according to claim 1, further comprising providing a level of reliability of said detection.
21. A method according to claim 20, wherein said providing a level of reliability of said detection is in accordance with a set of said neighboring reception lattice points.
22. A method according to claim 20, wherein said providing a level of reliability of said detection comprises calculating a log-likelihood ratio.
23. A method according to claim 1, wherein said defining a reception lattice comprises converting a MIMO Space Time Block Coded (MIMO-STBC) reception block matrix into said reception lattice, and further comprising converting a received signal block-matrix into said received signal vector.
24. A method according to claim 23, wherein said converting a MDVIO Space Time Block Coded (MIMO-STBC) reception block matrix into said reception lattice and said converting a received signal block-matrix into said received signal vector are performed prior to said traversing.
25. A method according to claim 1, further comprising: determining if said transmitted signal vector is pre-coded at the transmission side; and if said transmitted signal vector is pre-coded at the transmission side, further comprising converting said pre-coded transmitted signal vectors into said reception lattice points.
26. A signal vector detector, for detecting a transmitted signal vector from a signal vector received over a multiple-input multiple-output (MIMO) wireless communication channel, comprising: a channel processor, configured for defining a reception lattice comprising a plurality of reception lattice points, in accordance with an estimated channel matrix a predetermined transmitted signal constellation, and a predetermined number of data sub-streams, wherein each of said reception lattice points is described as a linear combination of spanning vectors of said reception lattice and wherein each member of a transmitted signal constellation corresponds to a respective reception lattice point, and for calculating at least one reception lattice spanning vector set, in accordance with an estimated channel matrix; an initial point processor, configured for selecting an initial reception lattice point; a descent stage processor associated with said channel processor and said initial point processor, configured for traversing a reception lattice from said initial reception lattice point to a final reception lattice point, by iteratively selecting, for a current reception lattice point, a neighboring reception lattice point having a smaller distance from said received signal vector than a distance between said current lattice point to said received signal vector as the current reception lattice point for a subsequent iteration, wherein a neighboring reception lattice point comprises a reception lattice point in a direction of one of said spanning vectors, and terminating
A<o said iterative selecting when a current reception lattice point having a smaller distance from said received signal vector than respective distances of all of the neighboring lattice points is obtained; and detecting said transmitted signal vector as said respective member of said transmitted signal constellation corresponding to said final reception lattice point.
27. A signal vector detector according to claim 26, wherein said spanning vectors comprise a first basis set of said reception lattice.
28. A signal vector detector according to claim 27, wherein said channel processor is further configured for calculating at least a second basis set and at least one unimodular transformation matrix.
29. A signal vector detector according to claim 26, wherein said channel processor is further configured for periodically recalculating said reception lattice spanning vector sets in accordance with channel matrix estimate updates.
30. A signal vector detector according to claim 26, wherein said initial point processor is further configured to calculate said initial reception lattice point by a rounded parallelepiped projection of said received signal vector on each of said spanning vectors.
31. A signal vector detector according to claim 26, wherein said descent stage processor is further configured to calculate a respective distance between said received signal vector to each of said neighboring reception lattice points; determine a neighboring reception lattice point having a smallest respective distance to said received signal vector; select, if said smallest respective calculated distance is less than said distance between said current reception lattice point to said received signal vector, said respective neighboring reception lattice point as the current reception lattice point; and repeat said selection; and establish, if said smallest respective calculated distance is not less than said distance between said current reception lattice point to said received signal vector, said current reception lattice point as said final reception lattice point; and terminate said traversing said reception lattice.
32. A signal vector detector according to claim 28, wherein said descent stage processor is further configured for transforming said final reception lattice point from said first basis set into a said second basis set of vectors of said reception lattice using a said unimodular transformation matrix.
33. A signal vector detector according to claim 32, wherein a set of reception lattice points corresponding to said transmission signal constellation is contained within a reception lattice bounded region, and further comprising an outlier processor configured for determining if said final reception lattice point resides within said reception lattice bounded region using said transformed final reception lattice point.
34. A signal vector detector according to claim 26, wherein a set of reception lattice points corresponding to said transmitted signal constellation is contained within a reception lattice bounded region, and further comprising an outlier processor configured for ensuring that said final reception lattice point resides within said reception lattice bounded region.
35. A signal vector detector according to claim 34, wherein said outlier processor is configured for establishing said final selected reception lattice point as a new initial reception lattice point, for traversing said reception lattice from said new initial reception lattice point to a final reception lattice point, by iteratively selecting, for a current reception lattice point, a neighboring reception lattice point having a smaller distance from said received signal vector than the distance between said current lattice point to said received signal vector as the current reception lattice point for a subsequent iteration, wherein said neighboring reception lattice points are restricted to points within said reception lattice bounded region, and for detecting said transmitted signal vector as said respective member of said transmitted signal constellation corresponding to said final reception lattice point.
36. A signal vector detector according to claim 26, further comprising a reliability estimator configured for calculating a level of reliability of said detection.
37. A signal vector detector according to claim 26, wherein said channel processor is configured for converting a MIMO Space Time Block Coded (MIMO- STBC) reception block matrix into said reception lattice, and for converting a received signal block-matrix into said received signal vector.
A3
PCT/IL2007/000919 2006-07-24 2007-07-22 Multi input multi output wireless communication reception method and apparatus WO2008012807A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/491,097 US7583763B2 (en) 2005-02-07 2006-07-24 Multi input multi output wireless communication reception method and apparatus
US11/491,097 2006-07-24

Publications (2)

Publication Number Publication Date
WO2008012807A2 true WO2008012807A2 (en) 2008-01-31
WO2008012807A3 WO2008012807A3 (en) 2009-05-07

Family

ID=38981877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2007/000919 WO2008012807A2 (en) 2006-07-24 2007-07-22 Multi input multi output wireless communication reception method and apparatus

Country Status (2)

Country Link
US (1) US7583763B2 (en)
WO (1) WO2008012807A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2216916A1 (en) * 2008-04-30 2010-08-11 Huawei Technologies Co., Ltd. Method and equipment for signal dectection in multi-input multi-output system

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668268B2 (en) * 2006-05-22 2010-02-23 Nokia Corporation Lower complexity computation of lattice reduction
US8091006B2 (en) * 2006-06-02 2012-01-03 Nec Laboratories America, Inc. Spherical lattice codes for lattice and lattice-reduction-aided decoders
GB2441376B (en) * 2006-09-01 2009-08-05 Toshiba Res Europ Ltd Wireless communication apparatus
US7746766B2 (en) * 2006-09-21 2010-06-29 Sharp Laboratories Of America, Inc. Systems and methods for obtaining an optimum transmission format of reference signals to maximize capacity and minimize peak to average power ratio
KR100808663B1 (en) * 2006-12-06 2008-03-03 한국전자통신연구원 Detection method and apparatus for multiplexed mimo systems
US20080181128A1 (en) * 2007-01-30 2008-07-31 Texas Instruments Incorporated Efficient mean square error (mse) calculation for lattice elements
EP2118810B1 (en) * 2007-02-05 2012-08-15 Andrew Corporation System and method for optimizing location estimate of mobile unit
US20080298493A1 (en) * 2007-05-31 2008-12-04 Texas Instruments Incorporated N-candidate depth-first decoding
US7889807B2 (en) * 2007-05-31 2011-02-15 Texas Instruments Incorporated Scalable VLSI architecture for K-best breadth-first decoding
US8116411B2 (en) * 2007-08-06 2012-02-14 Indian Institute Of Science Method to detect data transmitted from multiple antennas and system thereof
US8275064B2 (en) * 2008-01-25 2012-09-25 Mint Access Fund, Llc Enhanced MIMO detection method and apparatus
US8238488B1 (en) * 2008-09-02 2012-08-07 Marvell International Ltd. Multi-stream maximum-likelihood demodulation based on bitwise constellation partitioning
US8300737B2 (en) * 2009-10-07 2012-10-30 Research In Motion Limited System and method for MIMO decoding
IL204565A0 (en) 2010-03-17 2010-11-30 Nds Ltd Data expansion using an approximate method
WO2011149221A2 (en) * 2010-05-27 2011-12-01 단국대학교 산학협력단 Decoding method and device for multiple-input multiple-output system
KR101060530B1 (en) * 2010-09-15 2011-08-30 전북대학교산학협력단 Soft decision detection method and decoding method using the same
US8718170B2 (en) 2011-09-12 2014-05-06 Daniel Nathan Nissani (Nissensohn) Lattice coded mimo transmission method and apparatus
AU2012202352A1 (en) * 2012-04-20 2013-11-07 Canon Kabushiki Kaisha Method, system and apparatus for determining a hash code representing a portion of an image
US9473332B2 (en) * 2012-04-27 2016-10-18 The Royal Institution For The Advancement Of Learning / Mcgill University Methods and devices for communications systems using multiplied rate transmission
US9590687B2 (en) * 2012-06-18 2017-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Prefiltering in MIMO receiver
US9722730B1 (en) 2015-02-12 2017-08-01 Marvell International Ltd. Multi-stream demodulation schemes with progressive optimization
US9716601B2 (en) 2015-04-24 2017-07-25 Samsung Electronics Co., Ltd Method and apparatus for soft detection of high order QAM symbols in MIMO channels
US9660845B2 (en) * 2015-10-06 2017-05-23 Huawei Technologies Co., Ltd. System and method for state reduction in trellis equalizers using bounded state enumeration
US10523480B1 (en) * 2018-11-08 2019-12-31 Nxp B.V. K-bit enumerative sphere shaping of multidimensional constellations
US10797930B1 (en) * 2019-01-30 2020-10-06 Nokia Technologies Oy Apparatus and method for detection of received signals
JP2023037446A (en) * 2021-09-03 2023-03-15 日本電気株式会社 Radio receiving device and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724843B1 (en) * 1999-10-08 2004-04-20 Lucent Technologies Inc. Method and apparatus for fast decoding in a multiple-antenna wireless communication system
US7233634B1 (en) * 2003-03-27 2007-06-19 Nortel Networks Limited Maximum likelihood decoding
US7308047B2 (en) * 2003-12-31 2007-12-11 Intel Corporation Symbol de-mapping methods in multiple-input multiple-output systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097771A (en) 1996-07-01 2000-08-01 Lucent Technologies Inc. Wireless communications system having a layered space-time architecture employing multi-element antennas
US6351499B1 (en) 1999-12-15 2002-02-26 Iospan Wireless, Inc. Method and wireless systems using multiple antennas and adaptive control for maximizing a communication parameter
EP1376921B1 (en) * 2002-06-24 2008-07-02 Mitsubishi Electric Information Technology Centre Europe B.V. MIMO telecommunication method with accelerated sphere decoding
US7260153B2 (en) 2002-09-09 2007-08-21 Mimopro Ltd. Multi input multi output wireless communication method and apparatus providing extended range and extended rate across imperfectly estimated channels

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724843B1 (en) * 1999-10-08 2004-04-20 Lucent Technologies Inc. Method and apparatus for fast decoding in a multiple-antenna wireless communication system
US7233634B1 (en) * 2003-03-27 2007-06-19 Nortel Networks Limited Maximum likelihood decoding
US7308047B2 (en) * 2003-12-31 2007-12-11 Intel Corporation Symbol de-mapping methods in multiple-input multiple-output systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AGRELL ET AL.: 'Closest Point Search in Lattices' IEEE TRANSACTIONS ON INFORMATION THEORY vol. 48, no. 8, 2002, pages 2201 - 2214 *
GESBERT ET AL.: 'From Theory to Practice: An Overview of MIMO Space-Time Coded Wireless Systems' IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS vol. 21, no. 3, 2003, pages 281 - 302 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2216916A1 (en) * 2008-04-30 2010-08-11 Huawei Technologies Co., Ltd. Method and equipment for signal dectection in multi-input multi-output system
EP2216916A4 (en) * 2008-04-30 2011-04-13 Huawei Tech Co Ltd Method and equipment for signal dectection in multi-input multi-output system
US8437418B2 (en) 2008-04-30 2013-05-07 Huawei Technologies Co., Ltd. Method and apparatus for detecting signals of multi-input multi-output system

Also Published As

Publication number Publication date
US7583763B2 (en) 2009-09-01
US20060256888A1 (en) 2006-11-16
WO2008012807A3 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
WO2008012807A2 (en) Multi input multi output wireless communication reception method and apparatus
Čirkić et al. SUMIS: Near-optimal soft-in soft-out MIMO detection with low and fixed complexity
KR100651036B1 (en) Complexity-reduced iterative decoding receiver with partial sphere decoding in spatial multiplexing system and method thereof
JP2009527174A (en) Apparatus, method and computer program for providing MIMO receiver
US20070121753A1 (en) Wireless communications apparatus
JP2009503949A (en) Apparatus and method for detecting communications from multiple sources
EP1912371A2 (en) Wireless communications apparatus
JP2004343702A (en) Mimo telecommunication system and method and apparatus for decoding transmitting symbol in the system
US11190259B2 (en) Detection method for lattice reduction-aided MIMO system receiver and iterative noise cancellation
EP1912396A2 (en) Wireless communications apparatus
Seethaler et al. Efficient vector perturbation in multi-antenna multi-user systems based on approximate integer relations
EP1609265B1 (en) Signal processing apparatus and method
EP2680520B1 (en) Method and apparatus for efficient MIMO reception with reduced complexity
Rahman et al. An iterative LR-aided MMSE extended soft MIMO decoding algorithm
Senst et al. A Rao-Blackwellized Markov chain Monte Carlo algorithm for efficient MIMO detection
Berthe et al. Low-complexity soft-output signal detector based on AI-SSOR preconditioned conjugate gradient method over massive MIMO correlated channel
Bashir et al. An application of univariate marginal distribution algorithm in MIMO communication systems
El-Banna et al. CIR-based adaptive K-Best sphere decoder for DVB-T2
CN100372277C (en) Space time separation soft inputting and outputting detecting method based on spatial domain prewhitening mergence
AU2020369979B2 (en) M-MIMO receiver
KR100973194B1 (en) Method and apparatus for decoding using complex rattice reduction in multil antenna system
Leshem et al. MIMO decoding based on stochastic reconstruction from multiple projections
US9917723B2 (en) Efficient methods and recursive/scalable circuit architectures for QAM symbol mean and variance estimations
Chtourou et al. Efficient doubly-iterative frequency domain turbo-equalization for single-carrier transmission over MIMO ISI channel
KR101452918B1 (en) Apparatus and method of increasing gain of multiple antenna usage in a multiple input multiple output communication system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07789974

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC OF 260809

122 Ep: pct application non-entry in european phase

Ref document number: 07789974

Country of ref document: EP

Kind code of ref document: A2