GB2427106A - Sphere decoder for MIMO applications with reduced computational complexity decomposition of the channel estimate matrix - Google Patents

Sphere decoder for MIMO applications with reduced computational complexity decomposition of the channel estimate matrix Download PDF

Info

Publication number
GB2427106A
GB2427106A GB0511601A GB0511601A GB2427106A GB 2427106 A GB2427106 A GB 2427106A GB 0511601 A GB0511601 A GB 0511601A GB 0511601 A GB0511601 A GB 0511601A GB 2427106 A GB2427106 A GB 2427106A
Authority
GB
United Kingdom
Prior art keywords
matrix
channel
candidate
symbols
string
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
GB0511601A
Other versions
GB2427106B (en
GB0511601D0 (en
Inventor
Sebastien Nicolas Scarwell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Europe Ltd
Original Assignee
Toshiba Research Europe Ltd
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 Toshiba Research Europe Ltd filed Critical Toshiba Research Europe Ltd
Priority to GB0511601A priority Critical patent/GB2427106B/en
Publication of GB0511601D0 publication Critical patent/GB0511601D0/en
Publication of GB2427106A publication Critical patent/GB2427106A/en
Application granted granted Critical
Publication of GB2427106B publication Critical patent/GB2427106B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding
    • 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
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0631Receiver arrangements
    • 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
    • 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/0202Channel estimation
    • H04L25/0204Channel estimation of multiple channels

Abstract

In sphere decoding applications, such as MIMO, STBC etc., the channel estimate matrix H may be subjected to QR decomposition HE=QR where E is a permutation matrix, Q is a unitary matrix and R is an upper triangular matrix. However this decomposition involves a number of square root and division operations that are difficult to implement in processors. The invention proposes an alternative decomposition HE = DWC where C is an upper triangular matrix with diagonal elements all equal to 1, W is a diagonal matrix and D satisfies determinant ( D ) = determinant (H)<-1> and D <H> D = W <-1>. This matrix transformation can be realised with less processor complexity and implemented with smaller/cheaper/slower FPGA's, ASIC's or DSP's for the same performance as the QR decomposition.

Description

Sphere Decoding Systems This invention relates to methods, apparatus, and
processor control code for improved sphere decoding systems.
Sphere decoders are a particularly advantageous form of decoder for estimating a string of transmitted symbols from a received signal. A string of symbols may be distributed in space, for example across multiple transmit antennas, time, for example with a space- time block or trellis coder, and/or frequency, for example where multiple frequency channels or carriers are employed. Here we will refer particularly to a MIMO (Multiple Input-Multiple Output) arrangement in which the multiple transmit antennas and one or more receive antennas may form part of a single user system (for increased data rate) or a multi- user system.
Embodiments of the techniques described herein are applicableto all the above types of system.
One approach to decoding a string of received signals to determine the most likely transmitted symbols would be to take each symbol in turn, but a better approach is to consider the received string of symbols as a whole. However the search space then becomes very large. The sphere decoding procedure provides an efficient way to search such a space. Broadly speaking candidates for the transmitted signal, modified by the channel response (and space-time encoder) are represented by a lattice in which points correspond to possible (noiseless) received signals. The sphere decoding procedure aims to find one or a few lattice points nearest the actually received signal by searching a tree in which intermediate levels (or nodes) correspond to partial symbol strings and in which leaf nodes correspond to complete candidate symbol strings, branches at a level representing possible next candidate symbols. The procedure performs a search in a multi-dimensional spherical region centred on the actually received signal and provides a technique for identifying which lattice points are within the required search radius (which may be adjusted according to the noise level and/or channel conditions).
Generally the search is performed depth first, although the possibility of a breadth-first search has also been mentioned (see, for example, J. Luo, K; R. Pattipati, Peter Willett, G. M. Levchuk, "Fast Optimal and Suboptimal Any-Time Algorithms for CDMA Multiuser Detection Based on Branch and Bound", IEEE Trans. On Comms. Vol. 53, Iss. 2, Feb 2004).
Figure la shows a basic MIMO configuration, figure lb an example of transmitted and received lattices, and figure Ic a typical MIMO data communications system in which, for example, the space-time decoder 100 (which has the task of removing the effect of the encoder and MIMO channel) may be implemented by a sphere decoder. The encoder typically implements space-time and/or frequency encoding, in the latter case optionally modulating separate frequency channels onto OFDM (Orthogonal Frequency Division Multiplexed) carriers, and is normally followed by a modulator (not shown) to provide coded symbols from a constellation of symbols, for transmission.
It is helpful, at this point, to provide an outline review of the operation of the sphere decoding procedure. For a string of N transmitted symbols an N-dimensional lattice is searched, beginning with the Nth dimensional layer (corresponding to the first symbol of the string). A symbol is selected for this layer from the constellation employed and the incremental distance of the generated lattice point from the received signal is determined. The procedure continues with each successive symbol in tarn, and if all are within a sphere radius it eventually converges on a lattice point in one dimension. If a symbol is outside the chosen radius then the procedure moves back up a layer (dimension) and chooses the next possible symbol in that layer (dimension) for checking. In this way the procedure builds a tree in which the lowest nodes correspond to complete strings of symbols and in which the number of nodes at the nth level of the tree corresponds to the number of lattice points inside the relevant nth dimensional sphere.
When a complete candidate string of symbols is found the distance of the lattice point, generated from the string of symbols, from the received signal is found and the initial radius is reduced to this distance so that as the tree builds only closer strings to the maximum-likelihood solution are identified. When the tree has been completed the decoder can be used to provide a hard output, i.e. the maximum likelihood solution, by choosing the nearest lattice point to the received signal. Alternatively a soft output can be provided using a selection of the closest lattice points to the received signal, for example using the distance of each of these from the received signal as an associated likelihood value.
Background prior art relating to sphere decoding can be found in: E. Agrell, T. Eriksson, A. Vardy and K. Zeger, "Closest Point Search in Lattices", IEEE Trans. on Information Theory, vol. 48, no. 8, Aug 2002; E. Viterbo and J. Boutros, "A universal lattice code decoder for fading channels", IEEE Trans. Inform. Theory, vol. 45, no. 5, pp. 1639-1642, Jul. 1999; 0. Damen, A. Chkeif and J. C. Belfiore, "Lattice code decoder for space-time codes, "IEEE Comms. Letter, vol. 4. no. 5, pp. 161-163, May 2000; B. M. Hochwald and S. T. Brink, "Achieving near capacity on a multiple- antenna channel," http://mars.bell-labs.comlcm/ms/whatipapers/listsphere/, December 2002; H. Vikalo and B. Hassibi, "Low-complexity iterative detection and decoding of multi-antenna systems employing channel and space-time codes", Conference Record of the Thirty-Sixth Asilomar Conference on Signals and Systems and Computers, vol. 1, Nov 3-6, 2002, pp. 294-298; A. Wiesel, X. Mestre, A. Pages and J. R. Fonollosa, "Efficient Implementation of' Sphere Demodulation", Proceedings of IV IEEE Signal Processing Advances in Wireless Communications, pp. 535, Rome, June 15-18, 2003; L. Brunel, J. J. Boutros, "Lattice decoding for joint detection in direct-sequence CDMA systenis",IEEE Transactions on Information Theory, Volume: 49 Issue: 4, April 2003, pp. 1030 -1037; US patent application US20030076890, filed on July 26, 2002, to B. M. Hochwald, S. Ten Brink, "Method and apparatus for detection and decoding of signals received from a linear propagation channel", Lucent Technologies, mc; us patent application US200201 14410, filed on August 22, 2002, to L. Brunel, "Multiuser detection method and device in DS-CDMA mode", Mitsubishi Denki Kabushiki Kaisha; H. Vikalo, "Sphere Decoding Algorithms for Digital Communications", PhD Thesis, Standford University, 2003; and B. Hassibi and H. Vikalo, "Maximum-Likelihood Decoding and Integer Least-Squares: The Expected Complexity," in Muiriantenna Channels: Capacity, Coding and Signal Processing. (editors J. Foschini and S. Verdu).
Generally publications so far have focussed on algorithms for sphere decoding rather than on practical implementation of a sphere decoder. Conventionally a sphere decoder projects the zero-forcing solution alongside a basis to compute the distance in the receive space. Since the channel matrix is not an appropriate basis for the projections (because the sphere decoder needs a triangular matrix) the channel matrix is preprocessed using a QR decomposition. The matrix R, inverted, is used as a basis for projections; the Q matrix can be omitted as it simply rotates any vector and does not affect the distance that the sphere decoder aims to compute. The pre-processing performed involves the computation of a QR decomposition and inverse of the channel matrix; the QR decomposition itself includes some square root operations. This is computationally intensive and also not well-adapted to a hardware implementation.
There is therefore a need for improved sphere decoding systems in particular to reduce the number of operations during the pre-processing. We describe how this need can be addressed by providing a different basis for the sphere decoder projections.
According to a first aspect of the invention there is therefore provided a method of sphere decoding to decode a received signal comprising a string of transmitted symbols sent over a channel by searching a multidimensional lattice determined by a response of said channel for one or more candidate strings of transmitted symbols, a candidate string of symbols comprising a string of candidate symbols, said searching comprising identifying a said candidate string by accumulating said candidate symbols into a said candidate string and evaluating an accumulated distance metric for said accumulated candidate symbols, said accumulated distance metric comprising an accumulation of distance metrics representing distances between a signal value represented by a said candidate symbol and a corresponding signal value estimated from said received signal and said channel response; the method comprising: preprocessing a channel response matrix (H) representing said channel response to determine at least a substantially diagonal matrix () such that HE = where E is a permutation matrix and 1' is a substantially triangular matrix with diagonal elements all of substantially the same value; and determining said distance metrics to accumulate using said diagonal matrix (is).
In preferred embodiments the channel response matrix pre-processing determines the three matrices b, , and P, at least and P being used for determining the accumulated distance metric and for progressively refining the estimated signal value starting from an initial linear (zero- forcing) estimate. The symbols are selected from a constellation and the signal value represented by a candidate symbol comprises a quantisation (signal) level of the symbol constellation and the estimate an estimated value of this signal level based upon the zero-forcing or further refined estimate modified by the channel response, more particularly in preferred embodiments modified by a function dependent upon the substantially triangular matrix P. The permutation matrix E may be the identity matrix I, that is the permutation is optional (in embodiments this in effect reorders the branches of the sphere decoder search tree, to make searching faster).
Preferably P is upper triangular and all its diagonal elements are substantially equal to I (it is easier to find this matrix). Matrix t is substantially diagonal and matrix CI) satisfies the following constraints: det (cI)) l/[det(H)] where H denotes a Hermitian conjugate or transpose operation (equivalent to a Hennitian conjugate for a real matrix), L denotes the inverse of matrix t, and det(CI) denotes the determinate of cD.
Preferably the searching comprises searching a tree representing the multidimensional lattice, each level of the tree corresponding to a symbol of the string of transmitted symbols and having a plurality of branches each representing a next possible candidate symbol selected from the symbol constellation. Then the estimated signal value at a level, L, of the tree may be determined using: = + (zp - aL). ( ej where zpL denotes the initial zero-forcing estimate, aL denotes the constellation signal value of the candidate symbol being considered at level L of the tree, and wherein eL is a unit coordinate vector of which the Lth component is equal to unity, the other components being zero. The accumulated distance metric, DM, may then be determined using: DiAl DM = 4L1,1 -aL)2 where &L denotes the Lth diagonal component of z, DIM being the dimension of the (square) channel response matrix H. The channel may comprise a singleuser MIMO channel (the transmitted symbols all originating from a common transmitter with a plurality of transmit antennas), or a multi-user channel, the symbols originating from a plurality of different transmitters each with one or more transmit antennas.
Preferably real and imaginary components of the received signal and channel matrix are separated and searched separately so that the signal values used to determine the distance metrics are computed separately for real and imaginary components of the received signal. A single tree search can be conducted for the real signal component and for the imaginary component, but instead of the tree having, say, M levels and Q possible points to search per level the tree has 2M levels and sqrt(Q) possible points at each level. For example, for 16 QAM with 4 transmit antennas (M = 4) splitting L'Q leads to a tree with 8 levels of 4 points each rather than a tree with 4 levels of 16 points.
In general separating I and Q results in a tree shape or structure better suited to sphere decoding.
In a related aspect the invention provides a sphere decoder to decode a received signal comprising a string of transmitted symbols sent over a channel by searching a multidimensional lattice determined by a response of said channel for one or more candidate strings of transmitted symbols, a candidate string of symbols comprising a string of candidate symbols, said searching comprising identifying a said candidate string by accumulating said candidate symbols into a said candidate string and evaluating an accumulated distance metric for said accumulated candidate symbols, said accumulated distance metric comprising an accumulation of distance metrics representing distances between a signal value represented by a said candidate symbol and a corresponding signal value estimated from said received signal and said channel response; the sphere decoder comprising: means for pre-processing a channel response matrix (H) representing said channel response to determine at least a substantially diagonal matrix (A) such that HE = A where E is a permutation matrix and is a substantially triangular matrix with diagonal elements all of substantially the same value; and means for determining said distance metrics to accumulate using said diagonal matrix (A).
The invention further provides a sphere decoder comprising: a channel matrix input for data representing a channel response matrix (H); a received signal input for received signal data from a transmitted signal comprising a plurality of transmitted signals; a channel matrix preprocessing system coupled to said channel matrix input and having an output, to determine a decomposition of said channel matrix into a product of first (D), second (A) and third (F) matrices, wherein said third matrix (1') is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix () substantially satisfies 1)H = A and det(c1) = 1/[det(H)] where H denotes a Hermitian conjugate or transpose operation; a symbol estimation system coupled to said received signal input and to said channel matrix pre-processing system output and having as output to provide a linear estimate of said transmitted signal; and a symbol processing system coupled to said channel matrix processing system output and to said symbol estimation system output and having an output to provide and estimate of transmitted data for said plurality of transmitted symbols.
The data provided by the symbol processing system may comprise hard or soft data for one or more candidate strings of transmitted symbols or hard or soft bit data such as bit log likelihood ratio (LLR) data. This latter data may be derived, for example, from a maximum likelihood siring of transmitted symbols by comparing a distance metric of this string with a distance metric for the string with a bit inverted from its ML value to determine LLR data for the relevant bit.
The invention further provides a method of sphere decoding a received signal to determine one or more candidate strings of transmitted symbols which, when transmitted over a channel having a response characterised by a channel matrix (H), approximate said received signal, the method comprising determining a decomposition of said channel matrix into a product of first ((b), second () and third (t11) matrices, wherein said third matrix (F) is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix () substantially satisfies cJ CI) = i and det(cI)) = l/[det(H)] where denotes a Hermitian conjugate or transpose operation; and using a result of said decomposition for said sphere decoding.
Preferably the columns of I' are then used as a projection axis for determining distance metrics for determining one or more strings of transmitted symbols closest to the actually received signal (in the received signal domain).
The invention further provides sphere decoder hardware comprising means, such as a matrix decomposition system and a symbol processing system, to implement the above described methods.
Thus we also describe a sphere decoder for determining one or more candidate strings of transmitted symbols which, when transmitted over a channel having a response characterised by a channel matrix, approximate said received signal, the sphere decoder comprising: a matrix decomposition system to determine a decomposition of said channel matrix into a product of first (I)), second (z) and third (F) matrices, wherein said third matrix (F) is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, arid wherein said first matrix () substantially satisfies cb' (1) = and det(4) = 1/[det(H)} where H denotes a Hermitian conjugate or transpose operation; and a symbol processing system, coupled to said matrix decomposition system, and configured to use an output of said decomposition system to determine said one or more candidate strings of transmitted symbols.
In a related aspect the invention provides a method of estimating a transmitted signal from a received signal vector (r) and a MIMO channel matrix (H), the method comprising: determining a decomposition of said channel matrix into a product of first ((1'), second () and third (1') matrices, wherein said third matrix (1') is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix ((1)) substantially satisfies (1)H, = E and det(cI)) = 1/[det(H)} where H denotes a Hermitian conjugate or transpose operation; and estimating said transmitted signal from said decomposition of said channel matrix (H) and said received signal vector (r).
In some embodiments of the method the estimated transmitted signal may comprise a linear, in particular zero-forcing estimate.
The invention further provides a decoder for estimating a transmitted signal which, when transmitted over a channel having a response characterised by a channel matrix (H), approximates said received signal, the decoder comprising: a received signal input; a matrix decomposition system to determine a decomposition of said channel matrix into a product of first ((1)), second () and third (P) matrices, wherein said third matrix ("I') is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix (t) substantially satisfies cJ and det(V) = I/[det(H)] where H denotes a Hermitian conjugate or transpose operation, and to output matrix decomposition data; and a signal estimation system coupled to said matrix decomposition system and configured to use data derived from said received signal input and said matrix decomposition data to estimate said transmitted signal.
The invention further provides a receiver incorporating a decoder as described above.
The skilled person will recognise that the above-described decoders and methods may be implemented using and/or embodied in processor control code. Thus in a further aspect the invention provides such code, for example on a carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read-only memory (Firmware) or on a data carrier such as an optical or electrical signal carrier. Embodiments of the invention may be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code, or micro-code, or, for example, code for setting up or controlling an ASIC or FPGA. In some embodiments the code may comprise code for a hardware description language such as Verlag (Trade Mark), VHDL (Very high speed integrated circuit Hardware Description Language), or SystemC. As the skilled person will appreciate, processor control code for embodiments of the invention may be distributed between a plurality of coupled components in communication with one another.
It will be appreciated that embodiments of the above described aspects of the invention may be employed in MIMO and multi-user systems, for block or other code decoding (including iterative or turbo decoding) and/or for channel decoding, block equalisation, for example for frequency selective fading. The channel matrix may be for an effective channel, in a CDMA system, say, representing combined spreading and channel effects for a plurality of users derived from one or more uses of the "true" channel; or in a block equaliser for frequency selective fading the channel model H may be modified to take into account the channel memory.
These and other aspects of the invention will now be flrther described, by way of example only, with reference to the accompanying figures, in which: Figures 1 a to Ic show, respectively, a basic MIMO configuration, an example of a lattice for signals transmitted and received over a MIMO channel, and a typical example MIMO communications system;
II
Figures 2a to 2d show, respectively, an example of received signal space represented by a tree and distances in a sphere decoding procedure, an example of a sphere decoder tree search in three dimensions, a diagrammatic illustration of rotation of the coordinate system, and diagrammatic illustration of QR decomposition of the channel matrix; Figure 3 shows a I6QAM constellation; Figure 4 shows an example of a sphere decoding procedure; and Figures Sa and 5b show, respectively, a receiver including a sphere decoder system, and a sphere decoder system embodying an aspect of the present invention.
To help in understanding the invention a sphere decoding procedure will first be described. Consider a wireless communication system which has M transmit antennas and N receive antennas. The received signal r may be written as a vector of complex elements: r = Ifs + v where H is an NxM matrix of complex coefficients, s is a vector of complex elements representing the transmitted symbol and v is a vector of complex elements representing additive white Gaussian noise.
Using real elements, the complex matrix equation can be rewritten as: [Re(r)1 IRe(H) - Im(H)lrRe(s)] + [Re(n) [lm(r)J - [lm(H) Re(H) JLIm(s)J [Im(n) or (using a different typeface to indicate corresponding arrays of real elements): rJls+v Optimal detection of the transmitted symbol comprises finding the most likely (ML) symbol s (in fact a string of symbols, one from each transmit antenna) such that = arg minlir - fish2 To provide soft information a plurality of most likely (strings of) symbols s may be identified, with corresponding distance metrics (from the received signal). It is often useful to have some measure of the confidence in deciding each bit in the vector. In this case, the super-constellation is divided into two equal sets: one with a particular bit x equal to zero and the other with x equal to one. The log-likelihood ratio (LLR) for the bit in question is then approximated by: L(x) mm l(Ha-rr IflIfl hIHa-r112 aE(x1) a(x=O) In a particularly advantageous form of this type of decoder one of the sets comprises the ML symbol string (found, for example, by the sphere decoder) and a plurality of other sets are employed, one for each bit, in each of which the relevant bit is inverted with respect to its value in the ML symbol string, to provide LLRs for the bits. Such a "maxlog-MAP decoder" is described in our earlier UK patent applications no. 0323211.3 filed 3 Oct 2003 and no. 0416820.9 filed 28 July 2004, hereby incorporated by reference in their entirety.
We can define a zero-forcing estimate ezE such that r HeZF or, alternatively, ezF = H r where fi# HH)IHH An upper triangular matrix R can be found (for example, from QR decomposition of H) such that: RTR = HTH and then = argminH(eZF -s)11 for all s in the transmitted constellation, which can be re-written as: = arg minhI(R(ep - s)112 Referring now to Figure 2a, broadly speaking in a sphere decoding process the hierarchy of dimensions in the signal space is represented by a tree. For example, in a MIMO system with four transmit antennae using I 6QAM modulation the tree can be structured to divide 16 ways at each node (16 constellation points per transmitter) and has four layers (one per transmitter) ending in 1 6 (>65 000) terminal nodes representing the "super-constellation". Alternatively, as shown in Figure 2a, if the I and Q components at each transmitter are separated, the tree can be restructured with four branches (four distinct 1 or Q values for each transmitter constellation point) at each of eight layers (two layers per transmitter).
Given a received vector in a multidimensional space, it is relatively easy to compute the "perpendicular" distance d to the nearest planes (or, in general, hyperplanes). Having relocated the received vector to the closest point on a plane the perpendicular distance to the next plane in a lower dimension can be calculated and the overall distance from the starting point can be accumulated. A sphere decoder algorithm is generally a recursive, * depth-first search of the tree representing the hierarchy of hyperplanes. Once the distance to a point in the constellation has been established by descending to the terminal layer, an exhaustive search of the tree is avoided because the descent along other branches can be abandoned whenever the accumulated distance exceeds the current best (the sphere radius). Each successful descent to the terminal layer results in a candidate for closest constellation point and a corresponding reduction in the sphere radius (IC).
Figure 2b shows an example of a tree search in three dimensions. The tree illustrates a search of a regular three dimensional lattice of points in which the layers are separated by 10, 9 and 8 units. The branches are ordered with the closest layer in each dimension in the left-most branch. For example, in the full lattice, the most widely spaced layers are 10 units apart so, unless it lies well outside the lattice, the received point cannot be more than 5 units from any layer. In this illustration the diagram shows the closest layer at a distance of 4 units. The figures inside the boxes show the order in which nodes are visited and the figures on the branches show the partial distances to the nearest planes with a lower dimension. The accumulated squared distance is indicated at the end of each branch for which a calculation has been made. The shortened branches indicate where no calculation of distance or estimate needs to be made because the current sphere radius has already been exceeded in a "closer" branch.
The distance calculations in the tree search are considerably simplified by a coordinate transformation of the channel matrix H as the aim is to measure the perpendicular distance from a point in the received signal space to the nearest hyperplane. A rotation can be applied to the channel matrix H so that it takes an upper triangular form R with the most widely spaced planes perpendicular to a principal axis. This is illustrated diagrammatically in Figures 2c and 2d. The distance can then be calculated directly using an element from the principal diagonal of R. Conventionally the rotation is achieved by a sorted QR decomposition of the channel matrix using a modified form of the Gram-Schmidt algorithm (see, for example, G.H.
Golub and C.F. van Loan, Matrix Computations, John Hopkins University Press, 1983 and Wubben et al, "Efficient algorithm for decoding layered space-time codes", Electronic Letters, Vol 37, No 22, pp 1348-1350, Oct2001). The MIMO channel estimate H can be obtained, for example using a training sequence transmitted from each transmit antenna in turn, each time listening on all the receive antennas.
The set of lattice points (tree branches) is searched is preferably ordered according to an increasing distance from an estimated constellation symbol (the Schnorr-Euchner strategy described in C P Schnorr and M Euchner, "Lattice basis reduction: Improved practical algorithms and solving subset sum problems", Math. Programming, vol 66, pp. 18 1-191, 1994 and Agrell et al., ibid).
As previously mentioned, in the real-valued representation each symbol a in the transmitted constellation can be represented as a vector with dimension 2M. Each component in this vector takes a value q corresponding to one of the quantisation levels in either the in-phase (I) or quadrature (Q) components of the constellation. So, for example, in a I 6QAM constellation (Figure 3) each component of s is assigned one of four possible q values. A transmitted symbol can therefore be represented as a terminal node of a tree in which the branching at each level represents a real component of the transmitted symbol. Thus, for a system with four transmit antennas (M=4) the tree has eight levels and in a 16QAM symbol constellation, for example, the tree branches four ways at each node.
Computation of the distance metric D = Il(R(e - s)112 can be performed recursively as: k=2*M 1 D[k}=O e[k] - zero-forcing estimate e[kJ = e[k][k] - s[k][i] where s[k}[i] is the ith closest quantisation level in the symbol constellation selected as the kth component of s e[k-l] = e[k} 8e[k]*Fn[:][k] where F is the inverse of R and F[:][k] is a vector formed by column k of the normalised matrix in which F[i][j] = F[i]j]/F[jJ[j] D[k-1] = D[k] + (R[k][k] * 8e[k])2 In the above procedure, beginning with the initial, zero-forcing estimate, for example e[7] in the above notation with, say, M = 4, this estimate is progressively refined as symbols of the string are selected (components of s are quantised), descending through the tree, giving new estimates e[61, e[5] and so forth. At each stage of the descent (at level k), the kth component of the kth estimate (e[k][k]) is compared with the constellation values and one of them is selected. All symbol comparisons are made in the transmitted symbol domain as comparisons in the received symbol domain would be complicated because the constellation itself is transformed by the channel. Distance calculations and comparisons, on the other hand, are made in the received signal domain (hence the use of matrix elements to scale the "delta e" distance before it is accumulated into D).
The overall distance metric D is accumulated at each stage in the descent of the tree as a sum of partial distance metrics. A "sphere radius" can be specified as a constraint so that, in a depth-first traversal of the tree, the search is abandoned if the accumulated value of D exceeds C (the square of the sphere radius). A minimum overall distance metric can be arrived at most readily by preferentially selecting for computation the branches with the smallest partial distance metric. Apart from the constraint on the sphere radius, as previously mentioned the search can be limited to members of the constellation in which a particular bit has a known value, in particular for implementing a max-log-MAP procedure. In terms of the tree representation, this comprises limiting the branching at a particular level in the tree to half the full range, for example in a I6QAM constellation to two branches rather than four.
Preferably branch searching is ordered according to proximity to a current estimate of the relevant component (the Schnorr-Euchner strategy, ibid). For example with the 16QAM constellation of Figure 3, which is Gray-coded so that only a single bit changes at a time (for example, along the real axis values -3, -1, +1, +3 are represented by 00, 10, Il, 01) an input value of +0.5 would result in a branch ordering conesponding to the signal levels [+1,-I, +3, -3].
Figure 4 shows an example of a sphere decoding procedure which performs a depth-first tree search with k defining the level in the tree and D as the accumulated distance. The notation is that used above; Q defines the number of quantisation levels of a symbol in the I or Q direction (for example Q =4, that is 4 levels, for I 6QAM), the "branch" variable defines a branch to be searched (for example, from an ordered lookup table).
We next describe details of our improved sphere decoder pre-processing.
Here we will adopt a slightly different notation, in which the zeroforcing estimate is denoted zp and in which constellation symbols are denoted by components of a.
As previously mentioned, a sphere decoder normally pre-processes the channel matrix H by performing a standard reordered QR decomposition: H*E=Q*R with: Q a unitary matrix DIM x DIM R an upper triangular matrix DIM x DIM E a permutation matrix DIM x DIM and it then inverts the matrix R. The colunms of W1 are then used as the projection axis.
In our alternative decomposition we decompose H as: H*E= **9J with: a matrix DIM x DIM with det()det(H)' L a diagonal matrix DIM x DIM with T' = * P an upper triangular matrix DIM x DIM with diagonal elements all equal to I E a permutation matrix DIM x DIM The columns of tIJ are then used as the projection axis. This pre-processing does not involve any square root or mairix inversion, which makes it more suitable for a hardware implementation.
The first two properties (of l and) make the decomposition unique (assuming H has linearly independent columns); P could be lower triangular with modification to the algorithm description (below) and although it is easier to find the matrix that has its diagonal elements equal to 1 another value could be employed (introducing additional shift or multiply operations in the algorithm description). The permutation or re- ordering E is optional. In embodiments only real matrices are manipulated and then the Hermitian conjugate operation is simplified to a transpose operation.
To assist in understanding the invention we first give an example algorithm for a conventional QR decomposition: Input: * Matrix H of dimension DIM x DIM Output: * Q a unitary matrix DIM x DIM * R an upper triangular matrix DIM x DIM * E a permutation matrix DIM x DIM Verifying H*E = Q*R
START_ALGORITHM Q:=H
R: null matrix DIM x DIM P:1...DIM FOR i: 1 to DIM !! The following optional block performs a reordering
START_BLOCK k
DIM umin:
FOR p: i+1 to DIM
DIM u:
IFumin>u k: p umin: u,
ENDIF
ENDFOR
Swap the th and kth columns of matrix Q Swap the first i-I elements of the ith and kth columns of matrix R Swap the ith and kth elements of vector p
END_BLOCK DiM
R1, :=/Q mv: 1 / R1, FOR r: I to DIM Qri: mv * Q.
ENDFOR
FOR p: i+1 to DIM DIAl := >2QFI Q,7, FOR r: I to DIM := R, Qri
ENDFOR
ENDFOR
ENDFOR
!! Transform the permutation vector in a permutation matrix E = null matrix DIM x DIM FOR r: I to DIM Ei.r:=I
ENDFOR
END_ALGORITHM
We now provide an example algorithm for the improved channel matrix decomposition pre-processing described above: Input: * Matrix H of dimension DIM x DIM Output: * amatrixDIMxDIM * E a diagonal matrix DIM x DIM * P an upper triangular matrix DIM x DIM with the diagonal elements all equal to I * E a permutation matrix DIM x DIM Verifying H*E = () * * P and (DI* cJ:) = -
START_ALGORITHM
P:= identity matrix DIM x DIM cI:= null matrix DIM x DIM null matrix DIM x DIM P:1...DIM FOR i: I to DIM The following optional block performs a reordering
START_BLOCK k: i DIAl umin:
FORp:i+1 toDl]\4 DiM u: IF umin> u, k p umin u,
ENDIF
ENDFOR
Swap the ii" and kth columns of matrix H Swap the i-i first elements of the jth and kth columns of matrix q Swap the ith and kth elements of vector p
END BLOCK DiM :=
mv: I /L FOR r: 1 to DIM ri: mv * H
ENDFOR
FOR p i+1 to DIM
DIM
:= ECI)rj *H,,, FOR r: I to DIM Hrp
ENDFOR
ENDFOR
ENDFOR
!! Transform the permutation vector in a permutation matrix E = null matrix DIM x DIM FOR r: I to DIM Ep;r:= 1
ENDFOR
END_ALGORITHM
Preferably the zero forcing solution is used to start the projection. The permuted zero- forcing solution zp = ET*z satisfies, by definition: H * E * zp = r Conventionally this equation is solved as: zp = * * r However the inversion of R requires divisions, and normally these cannot be implemented as efficiently as multiplications.
With our alternative channel matrix pre-processing, z, is preferably found as the solution of: p * zp = T * r This equation can readily be solved by a number of conventional techniques, well known to those skilled in the art, including for example, by backward substitution or by inverting P (in any case, no division is needed as the elements on the diagonal of P are all 1.0 and P is triangular).
We next describe how the improved matrix decomposition described above may be employed in a sphere decoder.
To assist in understanding the invention we first describe an example of sphere decoding using a conventional channel matrix decomposition: The matrices R and R are used as input for the projection. The projection starts from zMzp and is performed as: _(L-l) - - (..(L) P. (p-I - \&L CL) L/J eL and the distance metric DM for a given constellation point with the vector a as coordinates is: DIAl DM = (z - a, )j where: the unit coordinate vector e is the vector of length DIM whose components are 0 except for the ith component which is 1; z is a vector of length DIM which is the result of the projection at level L; and aL is the L component of the constellation point being considered (from which the distance metric is being calculated).
We next describe an example of sphere decoding using the improved matrix decomposition described above: The matrix P is used as input for the projection. The projection starts from z(M)=zp and is performed as: =z --(zp -aL).(P.e,) and distance metric DM for a given constellation point with the vector a as coordinates is:
DIM DM=
where, additionally, zp is the zero forcing solution calculated before the projection.
Figures Sa shows an example of a receiver 500 including a sphere decoder embodying an aspect of the present invention. In the arrangement of Figure 5a a hardware accelerator is used to perform some of the symbol processing (as described in our co- pending UK patent application no. 0510127.4 filed on 18 May 2005, incorporated by reference), although in other arrangements this may be performed in software.
Receiver 500 comprises one or more receive antennas 502a, b (of which two are shown in the illustrated embodiment) each coupled to a respective rf front end 504a,b, and thence to a respective analogue-to-digital converter 506a,b and to digital signal processor (DSP) 508. DSP 508 includes non-volatile program memory 508a storing processor control code to perform control and data handling functions, in particular to implement channel matrix decomposition as described above. DSP 508 also provides an interface to sphere decoder hardware accelerator 522, via a bi-directional data bus 512.
A sphere decoder system 514, as shown in Figure 5b, is provided by a combination of functions performed by DSP 508 and hardware accelerator 522. The sphere decoder system comprises a symbol pre-processing block 516 to calculate an initial zero-forcing estimate, a channel matrix preprocessing block 518 to perform channel matrix decomposition as described above, and a bit LLR computation block 520 to perform bit LLR computations. All these functions may be implemented on DSP 508, for example by code in program memory 508a, or in alternative embodiments some or all of these functions may be partially or completely implemented in hardware, for example an ASIC or FPGA. Likewise in other arrangements the symbol processing functions of module 522 may be implemented in processor control code stored in memory 508a, to run,say, on processor 508.
Hardware symbol processing module 522 receives as inputs (in the illustrated embodiment) matrices ji and, initial zero-forcing estimate ezF, sphere radius information C, and (optionally) mode selection information in, to define whether a * constrained or unconstrained search is required. Module 522 performs symbol * processing as described above, and provides (in the illustrated embodiment) data comprising distance data (specif'ing a distance of an evaluated tree node/string of symbols from the received signal) and optionally data speci'ing, for example a ML symbol string. This is used by bit LLR computation block 520 to perform bit LLR computations as outlined above, although in alternative arrangements this may be omitted. Symbol processing unit 522 preferably comprises a branch selection unit including one or more magnitude comparators (to determine a branch search order as described above), and a lookup table to order the selection of symbol components at each stage in the evaluation of the distance metric (see UK patent application no. 0510127.4, ibid).
We have described a channel matrix decomposition which creates an alternative matrix or projection basis with similar properties to the normal transformation to a triangular matrix and that can be computed with fewer fixed-point operations. This simplified fixed-point implementation provides an improved, reduced complexity sphere decoder allowing to a reduction in resources needed (for example an FPGA with fewer gates).
Embodiments of the invention thus allow a sphere decoder to be implemented with smaller andlor slower and/or cheaper ASICs and/or FPOAs and/or DSPs. Embodiments of the system can also provide a better fixed- point precision input to a sphere decoder, this more precise data leading to fewer errors, which for some systems leads to a reduction in transmission power required and/or fewer frames in error (and hence fewer frames retransmitted) and thus, potentially, an increased data rate.
The above described matrix decomposition has been described with specific reference to applications in sphere decoders but the technique also has applications in related lattice/tree search systems, and more generally in other systems/algorithms using triangular matrix decompositions.
The skilled person will appreciate that the above described techniques may be employed for example in base stations, access points, for example for wireless computer networks, and/or mobile terminals, for example for mobile phone systems. Broadly speaking embodiments of the invention facilitate cheaper receivers without a loss of performance, or equivalently increased data rates without correspondingly increased complexity and cost. Embodiments of the invention may also potentially find application in non-radio systems, for example a disk drive with multiple read heads and multiple data recording layers in effect acting as multiple transmitters.
No doubt many other effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.

Claims (12)

  1. CLAIMS: 1. A method of sphere decoding to decode a received signal
    comprising a string of transmitted symbols sent over a channel by searching a multidimensional lattice determined by a response of said channel for one or more candidate strings of transmitted symbols, a candidate string of symbols comprising a string of candidate symbols, said searching comprising identifying a said candidate string by accumulating said candidate symbols into a said candidate string and evaluating an accumulated distance metric for said accumulated candidate symbols, said accumulated distance metric comprising an accumulation of distance metrics representing distances between a signal value represented by a said candidate symbol and a corresponding signal value estimated from said received signal and said channel response; the method comprising: pre-processing a channel response matrix (H) representing said channel response to determine at least a substantially diagonal matrix () such that HE = cI P where E is a permutation matrix and P is a substantially triangular matrix with diagonal elements all of substantially the same value; and determining said distance metrics to accumulate using said diagonal matrix (s).
  2. 2. A method as claimed in claim I wherein 1 substantially satisfies I = and det(D)1/[det(H)1 where H denotes a Hermitian conjugate or transpose operation.
  3. 3. A method as claimed in claim 1 or 2 wherein P is substantially upper triangular with diagonal elements substantially equal to 1.
  4. 4. A method as claimed in claim 1, 2 or 3 wherein said permutation matrix comprises the identity matrix.
  5. 5. A method as claimed in claim 1, 2, 3 or 4 wherein said pre-processing further comprises determining F, and using P to determine a said estimated signal value.
  6. 6. A method as claimed in any preceding claim wherein said searching comprises searching a tree representing multidimensional lattice, each level of said tree corresponding to a symbol of said string of transmitted symbols and having a plurality of branches each representing a next possible said candidate symbol selected from a symbol constellation, wherein said signal value represented candidate symbol comprises a constellation signal value, and wherein said corresponding estimated signal value comprises an initial linear estimate of said string of transmitted symbols modified responsive to a value of said substantially triangular matrix P.
  7. 7. A method as claimed in claim 6 wherein said estimated signal value Z(L) at a level, (L), of said tree is determined using: = *(L) + (zp - aL) (P eL) where ZPL comprises an LIh component of an initial, zero-facing estimate of said string of transmitted symbols, aL comprises said constellation signal value for said candidate symbol of said candidate string of symbols at said Lth level of said tree, and wherein comprises eL comprises a unit vector for level L.
  8. 8. A method as claimed in claim 7 wherein said accumulated distance metric, DM, is determined using:
    DIM
    DM=A11.(4-aj where ZL denotes an Lth component of z for level L of said tree, ALL denotes the Lth diagonal component of A, and wherein DIM denotes the dimension square channel response, matrix H.
  9. 9. A method as claimed in any one of claims Ito 8 wherein said channel comprises a single-user MIMO channel and wherein said string of transmitted symbols comprises symbols from a plurality of transmit antennas of a common transmitter.
  10. 10. A method as claimed in any one of claims I to 8 wherein said channel comprises a multi-user channel and wherein said string of transmitted symbols comprises symbols from a plurality of transmit antennas of a plurality of transmitters.
  11. 11. A carrier carrying processor control code to implement the method of any preceding claim.
  12. 12. A receiver including the sphere decoder of claim 11.
    12. A sphere decoder to decode a received signal comprising a string of transmitted symbols sent over a channel by searching a multidimensional lattice determined by a response of said channel for one or more candidate strings of transmitted symbols, a candidate string of symbols comprising a string of candidate symbols, said searching comprising identifying a said candidate string by accumulating said candidate symbols into a said candidate string and evaluating an accumulated distance metric for said accumulated candidate symbols, said accumulated distance metric comprising an accumulation of distance metrics representing distances between a signal value represented by a said candidate symbol and a corresponding signal value estimated from said received signal and said channel response; the sphere decoder comprising: means for pre-processing a channel response matrix (F!) representing said channel response to determine at least a substantially diagonal matrix () such that HE = CD where E is a permutation matrix and P is a substantially triangular matrix with diagonal elements all of substantially the same value; and means for determining said distance metrics to accumulate using said diagonal matrix (c).
    13. A receiver including the sphere decoder of claim 12.
    14. A sphere decoder comprising: a channel matrix input for data representing a channel response matrix (1-1); a received signal input for received signal data from a transmitted signal comprising a plurality of transmitted signals; a channel matrix pre-processing system coupled to said channel matrix input and having an output, to determine a decomposition of said channel matrix into a product of first (CD), second () and third (F) matrices, wherein said third matrix (F) is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix (CD) substantially satisfies = LV1 and det(cD) = 1/[det(H)} where H denotes a Hermitian conjugate or transpose operation; a symbol estimation system coupled to said received signal input and to said channel matrix pre-processing system output and having as output to provide a linear estimate of said transmitted signal; and a symbol processing system coupled to said channel matrix processing system output and to said symbol estimation system output and having an output to provide and estimate of transmitted data for said plurality of transmitted symbols.
    15. A method of sphere decoding a received signal to determine one or more candidate strings of transmitted symbols which, when transmitted over a channel having a response characterised by a channel matrix (H), approximate said received signal, the method comprising determining a decomposition of said channel matrix into a product of first (), second () and third (4J) matrices, wherein said third matrix (I') is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix () substantially satisfies 4 D = and det(D) = 1/[det(H)] where H denotes a Hermitian conjugate or transpose operation; and using a result of said decomposition for said sphere decoding.
    16. A method as claimed in claim 15 wherein said using comprises using a result of said decomposition for determining a distance metric of said received signal from a said candidate string of symbols modified by said channel response.
    17. A method as claimed in claim 15 or 16 wherein said using comprises estimating a transmitted symbol of a said candidate string for determining a part of a multidimensional lattice representing possible transmitted strings of symbols to search.
    18. A method of estimating a transmitted signal from a received signal vector (r) and a MIMO channel matrix (H), the method comprising: determining a decomposition of said channel matrix into a product of first (1), second () and third (I') matrices, wherein said third matrix (1') is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix () substantially satisfies H = V' and det(cI) = I /[det(H)] where H denotes a Hermitian conjugate or transpose operation; and estimating said transmitted signal from said decomposition of said channel matrix (H) and said received signal vector (r).
    19. A carrier carrying processor control code to implement the method of any one of claims 15 to 19.
    20. A decoder for estimating a transmitted signal which, when transmitted over a channel having a response characterised by a channel matrix (H), approximates said received signal, the decoder comprising: a received signal input; a matrix decomposition system to determine a decomposition of said channel matrix into a product of first (c1), second () and third (P) matrices, wherein said third matrix (F) is triangular and has diagonal elements substantially equal to one another, wherein said second matrix is substantially diagonal, and wherein said first matrix (CT)) substantially satisfies & T) = iV' and det(CT) = 1I[det(H')] where H denotes a Hermitian corjugate or transpose operation, and to output matrix decomposition data; and a signal estimation system coupled to said matrix decomposition system and configured to use data derived from said received signal input and said matrix decomposition data to estimate said transmitted signal.
    CLAIMS: 1. A method of sphere decoding to decode a received signal comprising a string of transmitted symbols sent over a channel by searching a multidimensional lattice determined by a response of said channel for one or more candidate strings of transmitted symbols, a candidate string of symbols comprising a string of candidate symbols, said searching comprising identifying a said candidate string by accumulating said candidate symbols into a said candidate string and evaluating an accumulated distance metric for said accumulated candidate symbols, said accumulated distance metric comprising an accumulation of distance metrics representing distances between a signal value represented by a said candidate symbol and a corresponding signal value estimated from said received signal and said channel response; the method comprising: * pre-processing a channel response matrix (H) representing said channel response * .: *. to determine at least a substantially diagonal matrix (A) such that *IIe HEcIA'1' * :* where E is a permutation matrix, P is a substantially triangular matrix with diagonal elements substantially equal to 1, and determining said distance metrics to accumulate using said diagonal matrix (A). * * * e a a **
    * * 2. A method as claimed in claim 1 wherein D substantially satisfies (I) (I)A' and det(c1)=l/[det(H)] where H denotes a Hermitian conjugate or transpose operation.
    3. A method as claimed in claim 1 or 2 wherein said permutation matrix comprises the identity matrix.
    4. A method as claimed in claim 1, 2 or 3 wherein said pre-processing further comprises determining F, and using P to determine a said estimated signal value.
    5. A method as claimed in any preceding claim wherein said searching comprises searching a tree representing multidimensional lattice, each level of said tree corresponding to a symbol of said string of transmitted symbols and having a plurality of branches each representing a next possible said candidate symbol selected from a symbol constellation, wherein said signal value represented candidate symbol comprises a constellation signal value, and wherein said corresponding estimated signal value comprises an initial linear estimate of said string of transmitted symbols modified responsive to a value of said substantially triangular matrix P. 6. A method as claimed in claim 5 wherein said estimated signal value Z(L) at a level, (L), of said tree is determined using: + (ZPL - aL). (P eL) where ZPL comprises an Lth component of an initial, zero-forcing estimate of said string of transmitted symbols, aL comprises said constellation signal value for said candidate symbol of said candidate string of symbols at said Lt level of said tree, and wherein comprises eL comprises a unit vector for level L. * a.
    a 7. A method as claimed in claim 6 wherein said accumulated distance metric, DM, is determined using: S. * * as **
    DIM
    DM=>.(z_aL)2 where ZL denotes an Lth component of z for level L of said tree, LLL denotes the Lth diagonal component of, and wherein DIM denotes the dimension square channel response, matrix H. 8. A method as claimed in any one of claims 1 to 7 wherein said channel comprises a single-user MIMO channel and wherein said string of transmitted symbols comprises symbols from a plurality of transmit antennas of a common transmitter.
    9. A method as claimed in any one of claims 1 to 7 wherein said channel comprises a multi-user channel and wherein said string of transmitted symbols comprises symbols from a plurality of transmit antennas of a plurality of transmitters.
    10. A carrier carrying processor control code to implement the method of any preceding claim.
    11. A sphere decoder to decode a received signal comprising a string of transmitted symbols sent over a channel by searching a multidimensional lattice determined by a response of said channel for one or more candidate strings of transmitted symbols, a candidate string of symbols comprising a string of candidate symbols, said searching comprising identifying a said candidate string by accumulating said candidate symbols into a said candidate string and evaluating an accumulated distance metric for said accumulated candidate symbols, said accumulated distance metric comprising an accumulation of distance metrics representing distances between a signal value represented by a said candidate symbol and a corresponding signal value estimated from said received signal and said channel response; the sphere decoder comprising: means for pre-processing a channel response matrix (H) representing said : channel response to determine at least a substantially diagonal matrix (A) such that sa. HE=cbAP *dSS I.. where B is a permutation matrix and P is a substantially triangular matrix with * diagonal elements substantially equal to; and means for determining said distance metrics to accumulate using said diagonal matrix (A). * * * a * * a. S. *
GB0511601A 2005-06-08 2005-06-08 Sphere decoding systems Expired - Fee Related GB2427106B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0511601A GB2427106B (en) 2005-06-08 2005-06-08 Sphere decoding systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0511601A GB2427106B (en) 2005-06-08 2005-06-08 Sphere decoding systems

Publications (3)

Publication Number Publication Date
GB0511601D0 GB0511601D0 (en) 2005-07-13
GB2427106A true GB2427106A (en) 2006-12-13
GB2427106B GB2427106B (en) 2007-07-11

Family

ID=34835272

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0511601A Expired - Fee Related GB2427106B (en) 2005-06-08 2005-06-08 Sphere decoding systems

Country Status (1)

Country Link
GB (1) GB2427106B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1976209A2 (en) 2007-03-26 2008-10-01 Metalink Ltd Reducing computational complexity in maximum likelihood MIMO OFDM decoders
WO2010147682A1 (en) * 2009-06-19 2010-12-23 Xilinx, Inc. Sphere detector performing depth-first search until terminated

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1460813A1 (en) * 2003-03-15 2004-09-22 Lucent Technologies Inc. Spherical decoder for wireless communications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1460813A1 (en) * 2003-03-15 2004-09-22 Lucent Technologies Inc. Spherical decoder for wireless communications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"WCNC 2003. 2003 IEEE Wireless Communications and Networking Conference Record", 16-20 March 2003, IEEE, pp 326 331, Volume 1, Davis L M, "Scaled and decoupled Cholesky and QR decompositions with application to spherical MIMO detection", see in particular section IV. *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1976209A2 (en) 2007-03-26 2008-10-01 Metalink Ltd Reducing computational complexity in maximum likelihood MIMO OFDM decoders
US7912140B2 (en) 2007-03-26 2011-03-22 Lantiq Israel Ltd. Reducing computational complexity in maximum likelihood MIMO OFDM decoder
WO2010147682A1 (en) * 2009-06-19 2010-12-23 Xilinx, Inc. Sphere detector performing depth-first search until terminated
US20100322352A1 (en) * 2009-06-19 2010-12-23 Xilinx, Inc. Sphere detector performing depth-first search until terminated
CN102461105A (en) * 2009-06-19 2012-05-16 吉林克斯公司 Sphere detector performing depth-first search until terminated
US8311161B2 (en) 2009-06-19 2012-11-13 Xilinx, Inc. Sphere detector performing depth-first search until terminated
CN102461105B (en) * 2009-06-19 2014-09-10 吉林克斯公司 Sphere detector performing depth-first search until terminated

Also Published As

Publication number Publication date
GB2427106B (en) 2007-07-11
GB0511601D0 (en) 2005-07-13

Similar Documents

Publication Publication Date Title
JP4435162B2 (en) Signal decoding method and apparatus
EP1521375A2 (en) Signal decoding methods and apparatus
JP5243411B2 (en) Method, system and computer program for determining signal vectors
EP1545082A2 (en) Signal decoding methods and apparatus
Jaldén et al. Parallel implementation of a soft output sphere decoder
US20070121753A1 (en) Wireless communications apparatus
US8229013B2 (en) Methods and systems for maximum-likelihood detection using post-squaring compensation
EP1912371A2 (en) Wireless communications apparatus
WO2008007802A2 (en) Lattice-reduction-aided detection applying a modified lenstra-lenstra-lovasz (lll) algorithm
WO2010045033A2 (en) Methods and systems using norm approximation for maximum likelihood mimo decoding
EP1912396A2 (en) Wireless communications apparatus
GB2406760A (en) Max-log MAP decoder used with maximum likelihood decoders and determining bit likelihoods
GB2427106A (en) Sphere decoder for MIMO applications with reduced computational complexity decomposition of the channel estimate matrix
GB2406761A (en) Sphere decoding in a space-time diversity (e.g. MIMO) communication system and other multi-user systems e.g. CDMA.
GB2409386A (en) Sphere decoding system, particularly for MIMO applications, which has a different set of candidate points for each symbol of a received string
Ling et al. Multiple-antenna differential lattice decoding
Wen et al. Closed-form word error rate analysis for successive interference cancellation decoders
GB2426419A (en) A hardware accelerator for a signal decoder
Gan et al. Novel joint sorting and reduction technique for delay-constrained LLL-aided MIMO detection
Xu et al. Joint ML channel estimation and data detection for STBC via novel sphere decoding algorithms
Milliner et al. A framework for fixed complexity breadth-first MIMO detection
Zhang et al. Full diversity blind signal designs for unique identification of frequency selective channels
Kim et al. SNR measurement free adaptive K-Best algorithm for MIMO systems
Bharath et al. Minimum Pearson distance based detection for MIMO systems
An et al. Decoding with expected length and threshold approximated (DELTA): A near-ML scheme for multiple-input–multiple-output systems

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20140608