GB2418816A - Decoder with plural maximum likelihood detectors which share distance metric information - Google Patents

Decoder with plural maximum likelihood detectors which share distance metric information Download PDF

Info

Publication number
GB2418816A
GB2418816A GB0421608A GB0421608A GB2418816A GB 2418816 A GB2418816 A GB 2418816A GB 0421608 A GB0421608 A GB 0421608A GB 0421608 A GB0421608 A GB 0421608A GB 2418816 A GB2418816 A GB 2418816A
Authority
GB
United Kingdom
Prior art keywords
decoder
bit
symbols
detectors
detector
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
GB0421608A
Other versions
GB2418816B (en
GB0421608D0 (en
Inventor
Mong Suan Yee
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 GB0421608A priority Critical patent/GB2418816B/en
Publication of GB0421608D0 publication Critical patent/GB0421608D0/en
Publication of GB2418816A publication Critical patent/GB2418816A/en
Application granted granted Critical
Publication of GB2418816B publication Critical patent/GB2418816B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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
    • 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
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • 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/45Soft decoding, i.e. using symbol reliability information
    • 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/0047Decoding adapted to other signal detection operation
    • H04L1/0048Decoding adapted to other signal detection operation in conjunction with detection of multiuser or interfering signals, e.g. iteration between CDMA or MIMO detector and FEC decoder
    • 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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Abstract

Decoder for a signal comprising a string of single or multi-bit symbols. The decoder comprises multiple maximum likelihood (ML) sphere detectors (202/204a-c). Each detector is associated with a particular value of one bit of the symbol string and determines a minimum distance metric between a received signal point and an estimated received signal point. The sphere detectors then share their distance metrics with the other detectors (208), which then use them in determining the sphere radius they will use in their next search (See Fig. 5). Where the detectors operate in series they will use the best suitable metric found thus far to set the radius, where they operate in parallel they will use the best suitable metric found by any detector in the previous iteration. The distance metrics and assumed bit values are then entered into a Max-Log-MAP decoder to determine a most likely symbol string.

Description

Signal Decoding Methods and Apparatus This invention is generally
concerned with apparatus, methods, processor control code and architectures for signal decoding, in particular decoding employing a plurality of maximum likelihood hard detectors such as sphere decoders.
This application is related to the Applicant's co-pending UK patent applications numbers 0323211.3 and 0416820.9 filed on 3 Oct 2003 and 28 July 2004 respectively, to which reference may be made.
A general problem in the field of signal processing relates to the transmission of a signal from a transmitter to a receiver over a channel, the problem being to determine the transmitted signal from the received signal. The received signal is affected by the channel impulse response or 'memory' of the channel which can cause interference between successively transmitted symbols, and the transmitted signal may also have been encoded prior to sending. A decoder or detector at the receiver has the problem of decoding or detecting the originally transmitted data and/or the original data that has been encoded at the transmitter. In this specification the terms detector and decoder are used interchangeably since they both essentially try to solve a similar problem, that is detecting the original data.
The optimum decoder is the n posterior) probability (APP) detector or decoder which performs an exhaustive search in the space of all possible transmitted symbol combinations, followed by a calculation of the corresponding joint posterior distributions. However the computational complexity of such an approach grows exponentially as 2'rL with the memory of the encoder or channel impulse response length L, and with the number of bits per symbol Ji, or possible symbols or codewords per transmission to consider. Sub-optimal approaches are therefore of teclmical and commercial interest.
One reduced complexity approximation to the APP solution is the so-called max-log approximation. Broadly speaking determining a bit likelihood value according to this approach involves determining maximum values for two tem1s, one of which corresponds to the bit having a first logic value, say +1, the other corresponding to the bit having a second logic value, say -1. It has been recognised that maximising each of these terms corresponds to minimising a related distance metric for a candidate string of transmitted symbols, preferably taking into account any a prioJ i knowledge which can act as a soft input to the procedure. In embodiments of the invention sphere decoding may be employed to searcl, for a minimum such metric.
There is a continuing need for increased data rate transmission and, equivalently, for more efficient use of available bandwidth at existing data rates. Presently WLAN (wireless local area network) standards such as Hiperlan/2 (in Europe) and EEE802.1 la (in the USA) provide data rates of up to 54 Mbit/s. The use of multiple transmit and receive antennas has the potential to dramatically increase these data rates, but decoding signals received over a MIMO channel is difficult because a single receive antenna receives signals from all the transmit antennas A similar propylene arises in multi-user systems, although symbols transmitted over the different channels and from different users with different spreading sequence are then uncorrelated. There is therefore a need for improved decoding techniques for MIMO systems. These techniques have applications in wireless LANs, potentially in fourth generation mobile phone networks, and also in many other types of communication system.
Here, to provide a context helpful for understanding the invention, some reference will be made to applications involving signals received over a MIMO (multiple-input multiple-output) channel, and to space-time decoding. However embodiments of the invention described herein may also be employed in related systems such as CDMA systems, in which signals from multiple users, differentiated by their unique spreading sequence codes, are received by the receivers (and which may also employ MIMO techniques). In a typical CDMA (code division multiple access) system multiple users share the same spectrum and are transmitted/received at the same time slot but are differentiated since they are transmitted with a unique orthogonal spreading code. At the receiver, the signals from different users are separated by 'despreading' based on their unique code. However, synchronization problems and effect of the channel can destroy the orthogonality and thus extra processing may be needed to differentiate the signal from the different users.
Figure I S]lOWS a typical MIMO data communications system 100. A data source 102 provides data (comprising information bits or symbols) to a channel encoder 104. The channel encoder typically comprises a convolutional coder such as a recursive systematic convolutional (RSC) encoder, or a stronger so-called turbo encoder (which includes an interleaved). More bits are output than are input, and typically the rate is one half or one third. The channel encoder 104 is followed by a channel interleaves 106 and, in the illustrated example, a space-time encoder 108. The space-time encoder 108 encodes an incoming symbol or symbols as a plurality of code symbols for simultaneous transmission from each of a plurality of transmit antennas 110.
Space-time encoding may be described in terms of an encoding machine, described by a coding matrix, which operates on the data to provide spatial and temporal transmit diversity; this is followed by a modulator to modulate the coded symbols for transmission. Space-frequency encoding may additionally (or alternatively) be employed. Thus, broadly speaking, the space time and/or frequency encoded symbols are distributed into a grid having space and time and/or frequency coordinates, for increased diversity. Wllere space-frequency coding is employed the separate frequency channels may be modulated onto OFDM (orthogonal frequency division multiplexed) carriers, a cyclic prefix generally being added to each transmitted symbol to mitigate the effects of channel dispersion.
The encoded transmitted signals propagate through MIMO channel 112 to receive antennas 114, which provide a plurality of inputs to a space-time (and/or frequency) decoder 116. The decoder has the task of removing the effect of the encoder 108 and the MIMO channel 1 12, and may be implemented by a sphere decoder. The output of the decoder 1 16 comprises a plurality of signal streams, one for each transmit antenna, each carrying so-called soft or likelihood data on the probability of a transmitted symbol having a particular value. This data is provided to a channel de-interleaver 118 which reverses the effect of channel interleaves 106, and then to a channel decoder 120, such as a Viterbi decoder, which decodes the convolutional code. Typically channel decoder is a SIHO (soR-in hard-out) decoder that is receiving symbol (or bit) likelihood data and providing data on which a hard decision has been made. The output of channel decoder 120 is provided to a data sink 122, for further processing of the data in any desired manner.
In some communications systems so-called turbo decoding is employed in which a SISO (soft-in soft-out) channel decoder is required and soft outpost from channel decoder 120 is provided to a channel interleaves 124, corresponding to channel interleaves I OG, which in turn provides soft (likelihood) data to decoder 116 for iterative space-time (and/or frequency) and channel decoding. (It will be appreciated that in such an arrangement chaMel decoder 120 provides soft information of the complete transmitted bits to decoder 116, that is for example including error check bits.) Here we will consider the general problem of estimating a string of transmitted symbols from a received signal. The 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). Embodiments of the techniques described herein are applicable to all these problems.
There are many known types of decoder, for example trellis-based decoders (a variant of tle maximum likelihood, ML, approach) such as the N,iterbi decoder, linear decoders such as zero-forcing and minimum mean squared error (MMSE) estimators, the vertical- 13LAST (Bell labs LAyered Space Time) decoder, the MMSE multi-user detector (MUD), and tile block decision feedback equalizer.
A sphere decoder can provide performance which approaches that of an APP decoder but at considerably reduced complexity. Broadly speaking candidates for the transmitted signal, modified by the channel response (and space-time encoder) are represented as 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. The procedure performs a search in a multi-dimensional spherical region centred on the actually received signal. The procedure 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). The choice of initial search radius can significantly affect the complexity (number of computations) involved in the procedure.
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 distance of the generated lattice point from the received signal is checked. If the lattice point is within this distance the procedure then chooses a value for the next symbol in the string and checks the distance of the generated lattice point from the received signal in N-1 dimensions. The procedure continues checking each successive symbol in turn, and if all are within the bound 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 lath level of the tree corresponds to the number of lattice points inside the relevant th 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 derived 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. Tl1eory, vol. 45, no. 5, pp. 1639-1642, Jul. 1999; O. Damen, A. Chkeif and J. C. Belfiore, "Lattice code decoder for space-time codes, " EKE 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," IEEE Trans. Commun., vol. 51, no. 3, pp.389-399, Mar. 2003, US 2003/0076890 to B. M. Hochwald and S. T. Brink; 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, vo]. 1, Nov 3-6, 2002, pp. 294298; 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 systems", 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, Inc; US patent application US20020114410, filed on August 22, 9002, 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, "MaximumLikelihood Decoding and Integer Least-Squares: The Expected Complexity," in Multia''enna Chan''els: Capacit', Codi'rg and Signal Processing, (editors J. Foschini and S. Verdu).
Other background prior art can be found in: J. Luo, K.; R. Pattipati, Peter Willett, G. M. Levchuk, "Fast Optimal and Suboptimal Any-Time Algoritluns for CDMA Multiuser Detection Based on Branch and Bound", IEEE Transactions on Communications, Volurne:52, Issue: 2, Feb.2004, Pages:336 - 336 which describes a fast optimal algorithm based on the branch-andbound (RED) method for the joint detection of
-
binary symbols of K users in a synchronous code-division multiple-access channel with Gaussian noise, as one alternative to sphere decoding; and in M. J. Juntti, T. Schlosser and J. O. Lilleberg, "Genetic algorithms for multiuser detection in synchronous CDMA", Proc. of 1997 EKE International Symposium on Information Theory, 29 June - 4 July 1997, pg.
492, which describes the application of genetic algorithms to suboptin1al multiuser detection as another alternative to sphere decoding; these are hereby incorporated by reference.
We have previously described, in UK patent applications 0323211.3 and 0416820.9 (ibid) how multiple maximum likelihood (ML) detectors or decoders may be employed to provide soft bit-likelihood output values, based upon a max- log MAP (maximum a posteiori probability) approach using multiple hard detection decisions. In this arrangement the minimum distance metric for a bit is determined for each of the two possible values of the bit and thus only two candidate possibly transmitted symbols are required for each bit of the string. The configuration of such a decoder lends itself to a parallel implementation for the plurality of maximum likelihood decoders. In preferred embodiments the maximum likelihood detectors or decoders comprise sphere decoders.
We l1ave also described how a single, common ML symbol detector may be employed in this configuration to dete:nine a (common) distance metric for each bit of a complete, maximum likelihood string of symbols, one further maximum likelihood detector then being provided for each bit of the string of symbols, for determining a minimum distance metric for the relevant bit, each of these maximum likelihood decoders determining the distance metric for a value of the bit different to its value in the maximum likelihood string of symbols. A sphere decoder determining a (minimum) distance metric for a particular bit may have its initial radius set to the value of the metric given by the maximum likelihood string of symbols with the relevant particular bit inverted or 'flipped' (that is the bit is given its alternative logic value to the logic value it has in the maximum likelihood string of symbols). The decoder which is configured to determine the maximum likelihood string of symbols is preferably initialized to a sphere radius of infinity so that at least one lattice point will always be found. The maximum likelihood string of symbols may be determined taking into w - account an a priory probability value for each bit of the string, thus facilitating a soft input for the decoder.
The above described max-log MAP approach provides near ML performance with greatly reduced overall complexity. However there is a need for systems, methods and architectures for efficient implementation of the above-described decoder. The inventor has recognized that this need can be addressed through tile use of co-operative ML detectors, where information derived during the ML detection operations is shared to assist in the evaluation of soft, bit-likelihood information for the decoded bits. The inventor has further recognised that this need can farther be addressed through the efficient exploitation of hardware resources.
According to a first aspect of the present invention there is therefore provided a decoder for decoding a received signal, said received signal being provided by one or more transmitted signals defining a string of symbols, each said symbol comprising one or more bits, said decoder comprising: a plurality of maximum likelihood (ML) detectors each configured to determine a minimum bit-dependent distance metric for a respective candidate string of symbols in which a bit has a defined value, said distance metric being dependent upon a distance of said received signal from an estimated received signal determined from said candidate string; and a bit likelihood estimator to receive a said minimum distance metric from each of said ML detectors and configured to determine a bit likelihood value for each bit of said transmitted string dependent upon said minimum distance metrics; and wherein at least one of said ML detectors is configured to share information from said minimum distance metric determination with at least one other of said ML detectors.
Sharing information between the ML detectors, in embodiments, improves the quality of the soft (bit likelihood) output obtained from the set of ML detectors that provides these values, and reduces the computational complexity, thus facilitating efficient exploitation of available computational resources. Preferably each of the ML detectors is configured to share information with the other ML detectors. The shared information may comprise one or more of a minimum distance metric, a candidate string of symbols, a set of candidate strings of symbols searched by an ML detector, a set of distance metrics for such a searched set of strings of symbols, and/or information identifying one or more candidate strings of symbols searched by an ML detector such as information identifying a node of a tree that has been searched or 'cut of id, and/or the updated a priori probability of the transmitted bits. Some or all of this information may be stored in a common buffer accessible by the ML detectors; alternatively shared information may be passed along a chain from one detector to the next for use where applicable.
Each of the ML detectors may be configured to search amongst strings of symbols in which a bit has a deemed value, and to modify this search responsive to the shared information, for example to exclude strings of symbols which have already been searched by another detector. Where the search has a defined order (for each of the detectors) the shared information may define a point within this order up to which a search has been carried out.
In embodiments the ML detectors comprise sphere decoders; the shared information may then comprise one or more searched strings of symbols and a corresponding distance metric or metrics, and the search of another ML detector may then be constrained to strings of symbols having distance metrics no greater than those previously found (for which the bit associated with the detector has the correct defined value). For example, in embodiments a pair of distance metrics is needed to compute the bit likelihood value (log-likelihood ratio) and the value of this pair of distance metrics is stored in the common buffer so that it is available to other ML detectors. The availability of these (searched) distance metrics helps to reduce the sphere radius for other detectors because only smaller distance metrics need to be found, that is a smaller search radius may be employed.
The skilled person will understand that the minimum bit-dependent distance metric found for a candidate string of symbols in which the bit has a defined value will not in general be an absolute minimum value, but merely the best minimum value which can be found within a time or other search constraint. This is because the search task is, in general, open- ended and thus the duration of a search is unpredictable. This conflicts with the desire to perform decoding at a rate which at least matches an incoming data rate. For this reason for the case of, say, a sphere decoder preferably the search of an ML detector is truncated, that is the search is halted after a permitted maximum time and/or number of operations, this helping to guarantee the desired throughput.
Information sharing as described above may be employed with a range of different decoder configurations. For example a pair of ML detectors may be provided for each bit of the transmitted string of symbols, one for each logical value of the bit. Broadly speaking the ML detectors are configured to determine a pair of bit-dependent distance metrics, one for each possible logical value of a bit, and therefore there will normally be at least one ML detector per bit of the transmitted string (although these may be implemented sequentially using shared hardware, or concurrently using parallel hardware, or sequentially and concurrently using shared hardware Title partial parallelism).
In one embodiment a maximum likelihood detector is configured to determine a common, maximum likelihood distance metric for each bit of a maximum likelihood string of symbols. In this arrangement one ML detector provides the ML (string of) symbols and a further set of ML detectors provide the ML symbols with, in each case, the value of a different respective bit of the string of symbols reversed from that of the ML symbol. In embodiments the (common) maximum likelihood distance metric for the maximum likelihood string of symbols may be used to determine an initial search radius for one or more of the other ML detectors operating on strings of symbols in which a bit is defined to be reversed from that of the ML string of symbols; or an initial search radius for a bit wise ML detector may be determined from a distance metric for the ML string of symbols with the relevant bit reversed (inverted). Further details of these approaches can be founld in the applicant's co-pending applications to which reference has already been made. Alternatively an initial search radius for the other ML detectors may be derived from distance metrics for candidates searched during the search for the maximum likelihood string of symbols.
In embodiments the distance metric may be determined dependent upon a response of a MONO channel between transmit and receive antennas, and the decoder may comprise a MIMO decoder; in other embodiments the symbols of the transmitted string may comprise symbols transmitted by different users and the decoder may comprise a multi user decoder or detector. In still other embodiments the decoder may comprise a block equaliser for frequency selective fading.
In a related aspect the invention provides a method of decoding a received signal, said received signal being provided by one or more transmitted signals defining a string of symbols, each said symbol comprising one or more bits, the method employing a plurality of detectors one allocated to each bit of said string, the method comprising: determinhlg, for each bit of said string using a detector allocated to the bit, a minimum bit-dependent distance metric for a respective candidate string of symbols in which a bit has a defined value, said distance metric being dependent upon a distance of said received signal from an estimated received signal determined from said candidate string; and determining a bit likelihood value for each bit of said transmitted string dependent upon said minimum distance metrics; and wherein the method further comprises: sharing information from said distance metric determining between at least two of said detectors.
The invention further provides a decoder configured to implement this method, and a receiver including such a decoder.
The invention further provides a soR-in soft-out decoder for decoding a received signal comprising a set of transmitted symbols, said decoder comprising a plurality of hard detectors each configured to determine a distance metric for a candidate set of said transmitted symbols according to a max-log approximation of a likelihood value of a bit of said set of transmitted symbols, said hard detectors being coupled to an output stage to provide a bit likelihood value for each bit of said set of transmitted symbols responsive to said determined distance metrics; and wherein at least one of said hard detectors is configured to share information from a said distance metric determination with at least one other of said hard detectors.
Embodiments of the above invention provide a robust, fixed complexity soft-in/soft-out detection/decoding system. Embodiments of the described decoders and methods may be implemented as, for example, a channel decoder, a space-time decoder, a multi-user detector, and an equalizer, in either an iterative or non-iterative receiver structure. Here an iterative receiver comprises a design which has concatenated components, such as a channel decoder, space-time detector or equalizer, which iteratively provide information in terms of the a priori knowledge of the transmitted data to each other to improve the decoding/detection/equalization (or other) performance (an example is a so-called turbo decoder with iterative block (code) and channel decoding).
The skilled person will recognize that tile above-described decoders and methods may be implemented using andlor 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 Verilog (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.
These and other aspects of the invention will now be further described, by way of example only, with reference to the accompanying figures in which: Figure 1 shows an example of a MIMO space-time coded communications system; Figure 2 shows a block diagram of a first embodiment of a decoder in accordance with an aspect of the present invention; Figures 3a and 3b show block diagrams of respective second and third embodiments of a decoder in accordance with an aspect of the present invention; Figure 4 shows a flow diagram of a sphere decoder for use with embodiments of the present invention; Figure 5 shows a block diagram illustrating information sharing between ML detectors in tle decoders of Figures 2 and 3; Figure 6 shows a timeline of ML detection operations for stacked bit-wise ML detectors implemented using P parallel data processors; Figure 7 illustrates an architecture implementing stacked ML detection operationsin a max-log-MAP decoder comprising multiple ML detectors; Figure 8 shows curves of bit error rate against signal-to-noise ratio (Eb/No) for list sphere decoders (LSD) and embodiments of max-log-MAP sphere decoders (MLMSD) in accordance with an aspect of the present invention; Figure 9 shows a receiver incorporating an embodiment of a decoder in accordance with an aspect of the present invention; Figures 1 Oa to 1 Ob show, respectively, an example of a parallel processor architecture for the receiver of figure 9, and flow diagrams of a task distribution system; Figure 11 shows a block diagram of a transmitter with concatenated encoders; Figure 12 shows a block diagram of a receiver with concatenated decoders for use with the transmitter of figure 11; Figure 13 shows a block diagram of a receiver with concatenated decoders and iterative decoding for use with the transmitter of figure I 1; and Figure 14 shows a block diagra n of a receiver employing iterative feedback between two equivalent decoders.
Some preferred embodiments of the invention employ sphere decoders for bitwise ML detection for determining distance metrics for bits of a string of symbols and/or for determining a distance metric for a complete ML string of symbols (although the invention is not limited to the use of sphere decoding). It is therefore helpful for understanding the invention to describe some aspects of sphere decoding in detail.
Consider a space-time transmission scheme with 'A transmitted and FIR received signals, for example in a MIMO communications system with or transmit and R receive antemas. The I x no received signal vector at each instant time k is given by: Ik SkH' + 7 Equation 1 where sk = [A stir] denotes the transmitted vector whose entries are chosen front some complex constellation C with M = impossible signal points and q is the number of bits per constellation symbol. The AWGN (Additive White Gaussian Noise) vector v' is a 1 x 'l R vector of independent, zero-mean complex Gaussian noise entries with variance of 2 per real component. The notation Hk denotes an ''r x no multiple inputlmultiple-oltput (MIMO) channel matrix assumed to be known or estimated at the receiver, with I? - row and In -column components /7n,n n = 1,' 'I IT m = 1, , /IR representing the narrowband flat fading between the n -to transmitted signal and m -th received signal. The channel fade may be assumed to be constant over a symbol period.
In a receiver a MIMO channel estimate H' can be obtained in a conventional manner using a training sequence. For example a training sequence can be transmitted from each transmit antenna in turn (to avoid interference problems), each time listening on all the receive antennas to characterize the channels from that transmit antenna to the receive antennas. (This need not constitute a significant overhead and data rates are high in between training and, for example, with slowly changing indoor channels training may only be performed every, say, 0.1 seconds). Alternatively orthogonal sequences may be tTansmiKed simultaneously from all the transmit antennas, although this increases tle complexity of the training as interference problems can then arise.
All linear space-time block coded transmission schemes can be written in the form of Equation 1. For example, BLAST (G. J. Foschini, "Layered space-time architecture for wireless communication in a fading environment when using multi-element antennas," Bell Labs Tech. J., vol. 1, no. 2, pp. 41-59, 1996) uses the transmit antennas to send a layered structure of signals, and therefore r'T represents the number of transmit antennas, r?R represents the number of receive antenulas and HI is the true MIMO channel matrix. Other examples include orthogonal designs (S. M. Alamouti, "A simple transmitter diversity scheme for wireless communications," IEEE J. Sell Area Conun., pp. 1451-1458, Oct. 1998, and V. Tarokh, H. Jafarkhani and A. R. Calderbank, "Space- time block codes from orthogonal designs," IEEE Trans. Info Theory., vol. 45, pp. 1456-1467, July 1999) and linear dispersive codes (B. Hassibi and B. Hochwald, "High- rate codes that are linear in space and time," IEEE Trans. Info. Theory., vol. 48, pp 1804-1824, Jul. 2002), where H' is an effective channel derived from one or more uses of tile true chapel.
Equation 1 may also be used to represent a CDMA system where the multiuser detector estimates the signal so transmitted from different users and matrix HI represents the combined spreading and channel effects for all users.
Ignoring the time index k for simplicity of discussion, the r' -th component of the transmitted symbol s is obtained using the symbol mapping function sn =map(x), n=1, ''!T Equation' where x = k, X'] Equation 3 is a vector with q transmitted data bits, and q is the number of bits per constellation symbol. (More generally, however, s denotes a string of symbols encoded over space and/or time and/or frequency and n runs over the length of the string). Therefore the (q nT) -length vector of bits transmitted can be denoted by x = [x' ... x"r] Equation 4 and the transmitted vector constellation is written as s = ,',ap(x) The complex matrix representation of Equation I (ignoring the time index k) can be transformed to a real matrix representation with twice the dimension of the original system as follows: r = sH + v Equation 5 where r [91{r} 3> }] Equation6 s [9{s- } As}A Equation7 H = [ mu{ }} 90 Equation 8 v = [{v} S{v}] Equation g We shall use the real- valued representation of Equation 5 to Equation 9 in the following discussion so that, for example, r and s are real vectors and H is a real matrix.
The maximum a posterior) probability (APP) bit detection, conditioned on the received signal r can be expressed in log likelihood ratio (LLR) terms as follows: LP (,r,' l r) = In $ exp(-2 2 ||r-sH||2 + 2 xJ L,l) XEXn,!=47p(X) =ln exp(- 2||r-s|| ± x L,,) n,.S=qpX) 2cr = LA (I) exp(-2 2 ||r-sHIl + 2 Xl"'}l L'l"']l) + In XXn,, 5=marX, exp(-2 2 ||r-sEI|| +2.XI,,jl.LA,In,jl) xeXn,l,s=nop(x) Cr [E (xJ? I rid l = 1/ - -,nT j = l' q Equation 10 where x is a sequence of possible transmitted bits, L is a vector of LA -values of x, s is a vector of possible transmitted symbols, i.e. s = map (x), function mapO providing the mapping from bits to symbol, x[,, jl denotes the bit-wise sub vector of x obtained by omitting its element x;, and L,, In j] denotes the vector of all L,, -values, also omitting the element corresponding to bit xjn; and where |||| denotes the Euclidean norm. As previously mentioned, j indexes a bit in a constellation symbol of q bits. For space-time detection n is a spatial index to one of nr spatially multiplexed transmissions; in a multi- user system n indexes one of a plurality (nr) of users.
The set X,j is the set of 29nr-0 bit vectors x haying xj = +1, i.e. n; = { X I X; + }
J and
Xnj =IXIXJ =-1) . The symbol s is the mapping to the possible transmitted bit vectorx. The functions Lp(), L,,() and L() denote the a posterior), a papyri and extrinsic likelihood ratio respectively.
According to Equation 10 APP detection requires an exhaustive evaluation of 2qNr distance metrics ||r -sH||2 corresponding to tle number of elements in the setX,+j and X,, j. The computational complexity of APP detection increases exponentially with the number of bits per symbol q and number of spatial-multiplexed transmitted symbols '7T However the APP LLR (log likelihood ratio) can be approximated using the max-log approximation of Equation 10 for each bit $ as follows: - max {- 2 '||r SH|| + Xr LA} L,, I 2 X6r,l,i t''ar(x) cr p XJ rJ l 2 r -- max _ ||r-sH|| +x LA 2 xe.rn, i-nop() _ max - log approximation Equation 1 1 - max {- 2 '1lr SH|| + Xln j] ' L,, IN J.] } 2 XE Y. senopx) cr E j] 1 I r -- max - ||r-sII|| +xl,,,j3 LA,in,j] 2 xe.,,,,,, max - log approximation r' = l' rrr j l' q One can then search for the candidates that provide the max{ } term for x X,, j and x e X,, j for each transmitted bit without exhaustively evaluating the term
-
- , ||r -sH|| + xJ In,' or - , ||r - sH||2 + x,, 137 ' L,, In jl for all possible s Note that since there are (q fir) transmitted bits, there (q IT) operations which evaluate Equation 1 1.
We leave previously described, in UK patent applications 0323211.3 and 0416820.9 (ibid) how hard or maximum likelihood (ML) detection for the pair of sets x Xij and x e Xn j may be employed to find the maximum metrics 2 '||r - SHII2 XT LA or - ||r - sH||- + xn jet LA i,, Hi for each set in order to derive the LLRs according to Equation 11. An embodiment of that invention used a sphere decoder search algorithm (see, for example, Viterbo and Boutros, ibid, hereby incorporated by reference) to search for the candidates s that satisfy the condition ||r sH||: a2xt.L Sp2 Equation 12 Broadly speaking, for every candidate found, the bound p2 iS reduced until one candidate is found that satisfies the minimum metric ||r-sH||2 -cr2xt L,, for a particular bit.
The sphere decoding procedure is well known to the skilled person. In outline, the procedure comprises three main processes: i) Transformation of the multiple-input-multiple-output (MIMO) channel into a lattice representation.
ii) The search procedure, which searches for the nearest lattice point to the received signal in the case of hard detection or the set of lattice points around the received signal in the case of soft detection. Where a soft input is available, providing an a priori probability of a transmitted symbol or codeword, this can be utilised to assist the search (see also, for example, 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, Systems and Computers, vol. 1, Nov. 3-6, 2002, pp. 294-298; and H. Vikalo and B. Hassibi, "Towards Closing the Capacity Gap on Multiple Antenna Chaimels", ICASSP'02, vol. 3, pp. III2385 - III-2388).
iii) Where a soft output is needed, providing the soft output based on the soft input and the set of lattice points found in the search region.
An '' -dimensional lattice can be decomposed into (n -1) dimensional layers. The search algorithm for a '' dimensional lattice can be described recursively as a finite number of (I? -1)-dimensional search algorithms. Viterbo and Boutros (ibid) described the search algorithm in terms of three different states, or cases, of the search: Case A The n-th dimensional layer is within the search bound: Tile layer is decomposed into (-I)-th dimensional layers.
Case B The search succesfully reaches the zero-dimensional layer and a lattice point in the search region is found Case C The lath dimensional layer is not within the search bound: The search moves up one step in the hierarchy of layers.
Table 1
Broadly speaking the lattice search involves selecting a candidate symbol for a string of symbols (vector s), testing an inequality to determine whether the k-th dimensional "layer" is within the search bound, and if so selecting the next symbol. After a component of a vector s that satisfies the distance metric is found its contribution is subtracted. In this way the search, in effect, constructs a tree with one or more lattice points at the end node(s) ("zero dimensional layer"). The lattice point with the smallest distance metric provides the hard decision output (for that metric).
The search procedure is simplified if the lower triangular matrix Ur, derived from QR decomposition or Cholesky factorization (sometimes referred to as taking the square root of a matrix) of the channel matrix, is used as the generator matrix. For example, if \\ QR decomposition is used (see, for example, G.H. Golub and C.F. van Loan, Matrix Computations, John Hopkins University Press, 1983), the lower triangular matrix Ur (and upper U) are defined by UTU = HrH.
In UK patent applications 0323211.3 and 0416820.9 we employed a max-logMAP (maximum a posterior probability) approach by searching for the two candidates that satisfy the max {a} term in Equation I 1. The search procedure was performed for every bit xi' to find the two candidates that satisfy the following optimisations: s+ - min {||r - sH|| - x LA} for bit. < = +1 and s - min l||r - SH||2 _ NEXT LA} for bit xj'=-l,where n=1, our and j=1,. ,q.The corresponding distance metrics were obtained for the two candidates, dn j.' and d j where d2 =||r-s+H||2 cr2x+r L+ Equation13 and d2i =||r-sH|| -T3xr.LA Equation 14 The vectors x+, x and L+A. L-A correspond to the bit sequences and a priori information of the symbols s+ and s.
Therefore, the max-log-MAP approximation of the extrinsic LLR (log likelihood ratio) value of a bit is given by: Lr(X; Ir)= 2 2 (_d21 + +d'2) Equation 15 max - log approximation The relationship between Lp and LE is given by [p = L,! LB We now describe a system in which, in order to reduce the computational complexity furtller, each maximum likelihood (ML) detector cooperates in its derivation of the metrics - . ||r - sH||- + xT L,, for a posterior) information or - ||r - sH||- + x,, jar L,, p, j, for extrinsic information. For most types of ML detector, the detector performs a set of operations iteratively in order to provide its solution. For example, a maximum likelihood splicers decoder iteratively performs its search to find tile maximum likelihood symbol candidate. Other types of maximum likelihood decoder which may be employed in embodiments of the invention include the branch and bound decoder (Lug, ibidJ, and the genetic algorithm decoder (Juntti, ibid), the linear BER decoder and the like In embodiments, a maximum likelihood decoder is able to exploit information from another decoder during its iterative processing. This sharing of information can be performed sequentially or in parallel depending upon the hardware or processor limitations Block diagrams showing example implementations of max-log MAP decoders embodying this type of information sharing are shown in Figures 2 and 3. We will also describe how cooperative ML detectors can share available hardware resources though intelligent scheduling operations.
Referring to Figure 2, this shows a block diagram of an embodiment of a max-log MAP decoder 200 configured to determine bit likelihood values in accordance with a max-log approximation, in particular the approximation of Equation 15, in which ML detectors share information. The decoder 200 comprises a plurality of hard detectors (or decoders) 202a-c, 204a-c, each configured to determine a distance metric dn j +, d2 (for,' = I to and, ford = I to q) for a possible value of a particular bit XJ, +] for detectors 202, -I for detectors 204, according to respective equations 13 and 14, based upon input values for r, H. (noise variance) and, where available, a priori infonnation L,. (x). Each of these detectors 202,204 provides a distance metric value d,2, +, d,, to an output stage 206 that determines a bit likelihood value for each bit of the transmitted string of symbols, for example according to Equation 15. The likelihood values may comprise "extrinsic" and/or a posterior' bit likelihood values (in the above notation Le(X) or Lp(x)). In the decoder 200 of Figure 2 the shared information is provided lay a common memory area or register 208 to which detectors 202,204 have read/write access, although in other embodiments other means of sharing information may be employed.
As described in more detail later the detectors 202,204 may be implemented in series, for example as repeated instances of a software process, or in parallel, or in embodiments in a combination of serial and parallel processes employing multiple instances of ML detection hardware, but not necessarily one instance per detector 202,204 so that the detection hardware is shared between multiple detectors. The sharhlg of hardware resources is facilitated by intelligent scheduling of operations, as described further below. Similar approaches may also be employed in the decoders of Figures 3a and 3b.
The noise variance may be obtained in any convenient manner, depending upon the overall system design. For example, the noise variance may be obtained during the training period where channel impulse response is estimated. During the training period, the transmitted symbol sequence is known. Together with the estimated channel impulse response, the 'noiseless' received signal is obtained. The noise variance may be estimated fronn evaluating the noise statistic of the sequence of received signal during the 'training period', knowing the sequence of 'noiseless' received signal.
A detector 202,204 need only provide a hard output, that is an output identifying a most likely candidate with a particular bit value x,. being +1 or -I and/or providing a minimum distance metric d 2 j +, or d2; . Thus the skilled person will appreciate that i the arrangement of Figure 2 may employ any maximum likelihood hard detectors/decoders that can provide the appropriate distance metrics. However in preferred embodiments, hard detectors 202,204 are implemented using one or more sphere decoders.
For the received vectors, either candidate s+ or s is the maximum likelihood estimates,,,. - that is the maximum likelihood solution provides one set of bit values x,,'/ and corresponding distance metricsd3, , . Thus maximum likelihood sphere decoding can be performed first and the bit-wise sphere decoding may then be performed to obtain the distance metrics, d2J,,,, for the bit values which do not conespond to the maximum likelihood symbol estimate.
Figure 3a shows a block diagram of a max-log decoder 300 configured to determine bit likelihood values in this way, employing sphere decoders as hard detectors, and in which ML detectors again share information.
In Figure 3a hard detection blocks 304a-c and output stage 306 correspond to a combination of detectors 202 and 204 which correspond to the set of non- maximum- Iikelihood bit sequence x Xn i.'t and to output stage 206 of Figure 2 respectively. An additional hard detector 302, preferably a sphere decoder, determines a maximum likelihood symbol string estimate I,,, (for x e X, where X - X j U Xn, ) and a demodulator (not shown in Figure 3a) converts this symbol estimate to a bitwise estimate x,,n for bitwise detectors 304 so that each may fix the bit with which it is associated to be the inverse of the corresponding bit in the ML symbol string. Hard detection sphere decoder 302 also provides a corresponding bit likelihood value d,,,' (common to all the bits of x,,n) for the max-log MAP calculation. Again the detectors may be implemented in series or parallel or in a combination of the two.
Tile bitwise detectors 304, and preferably also ML detector 302, share information via common register or memory area 308.
Figure 3b shows a block diagram of another embodiment of a two-stage maxlog-MAP infonlation-sharing sphere decoder 310, in which similar elements to those of Figure 3a are indicated by like reference numerals. In the decoder of Figure 3b the first stage comprises two maximum likelihood decoders, such as hard detection sphere decoders, each configured to determine a minimum distance metric for a predetermined bit (the first bit), one of these maximum likelihood decoders determining a distance metric for the predetermined bit (the first bit) having a first logic level, one for the bit having a second logic level (ie. for x e X,+, and for x X,, ). Here, a string of symbols corresponding to the shorter distance metric provides the maximum likelihood transmitted symbols - in other words the ML symbol string estimate s,,,z output from detectors 302 with d,,, = min { d,2, + and d,2, } is selected and converted to a bitwise estimate x. The second stage comprises further maximum likelihood detectors, provided for each other (subsequent) bit, each of these maximum likelihood decoders determining a distance metric for a value of the bit different to its value in the maximum likelihood string of symbols. Again either or both stages of the maximum likelihood detector may be implemented using serial, parallel or serial/parallel processing.
Figure 4 shows a flow diagram 400 of a sphere decoding procedure for implementing a maximum likelihood hard detector such as one of detectors 202,204 of Figure 2 or one of the detectors of Figure 3a or 3b. The procedure is a modification of a conventional sphere decoding procedure and, in particular of the distance metric calculation at step 402. In a conventional procedure (for example to implement maximum likelihood sphere decoder 302 of Figure 3a) that does not consider the available soft input, the final tern1 in the update of the distance metric performed at step 402 is missing. In the procedure of Figure 4 the function L( ) provides the a priori LLR term in the distance metric given in Equation 12 for symbol s,,, that is L(sn,LA(xn),2) = cr2xnrLAn and xn is obtained from the relationship Sn = maptxn).
Referring in more detail to Figure 4, the generator matrix of the lattice H (F = H-' where F is a triangular matrix and H is pre-processed to be a triangular matrix, for \ example using QR decomposition) is the lattice representation of the communication system and the received signal is r (pre-processed in the same way as the generator matrix for the search procedure); L,, (x) comprises the a priori LLR values and a2 is the noise variance. The outputs of the procedure are s'f' and d 'in where the sphere decoding is performed for the set of bit sequence in the set X, Xnsj, X+; orXnJ. The output I',,,' is the lattice input corresponds to the lattice point closest to the received signal r and is the maximum likelihood solution. The output d 'I, is the distance metrics corresponding to the lattice inputs s'.a. . The output d 'is refers to the sphere decoding output dn2j, for x X,+j in 202, dn2j for x e X,, j in 204, d,,,L for x X in 302 and dn: I,,,',' for x X,, i' in 304. The search region is defined by the search radius pi. For most applications the variable initial _bestdist is assigned to a large value.
The function Sorfedtist(e,,,,J provides an ordered set of lattice inputs to be searched according to an increasing distance from en a and M is the number of lattice inputs (the number of possible symbols in the constellation) to be searched through and is the length of the vectorslistn (slist is a N x M matrix, and steps counts from l to Ad). The ordering may thus be performed using a look up table storing all the possible combinations, for example, using a c x M matrix 4) where c = 2M is the number of symbol search combinations. The sorted vector slist for the zero-forcing solution sit" (where the zero-forcing solution so is given by so = (HrH) Her) is given as the i-th row of UP, slist = Phi) where i = ASK" 1 + M -l and 1 denotes rounding towards infinity. The notation slistn i refers to the ith element of the vector slistn. Broadly speaking this technique comprises a modified version of the Schnorr-Euchner strategy described in Agrell et al. (ibid). The zero-forcing solution at the n tl1 dimensional search is given by en:= rF. The number of unknowns (length of the string of symbols to be estimated) is N (bearing in mind that where I and Q components are to be estimated there are two unknowns per symbol so that the number of unknowns doubles).
The three Cases A, B and C are as described above; broadly speaking the procedure initialises n = N and examines symbols, preferably in slist order, until all have been examined (examined_all is true when all symbols in slistn have been examined at the lath dimensional search), moving up a layer (Case C) when outside the search radius p2 and finishing when back at the top of the tree (when n is equal to N).
Methods for ordering the symbols to be searched using look-up table are described in more detail in A. Wiesel, X. Mestre, A. Pages arid J. R. Fonollosa, "Efficient h1lplementation of Sphere Demodulation", Proceedings of IV IEEE Signal Processing Advances in Wireless Communications, pp. 535, Rome, June 15-18, 2003, which is hereby incorporated by reference.
We will next describe the sharing of information in the above decoders. The precise information that is shared depends upon the algoritlm(s) employed by detectors 202, 204, 302, 304 in the decoders of Figures and 3. However it is normally advantageous for an ML detector to share with other detectors information specifying the searched (slangs of) symbols and the corresponding distance metrics, so that this information can be exploited by the other detectors to reduce their search space. We will particularly describe an example of such information sharing when the ML detectors comprise sphere decoders in which, as previously described, the search radius determines the search space (amount of searching required) and hence also the computational complexity.
As an example we take the case of a spatially-multiplexed transmission system Wit]l two transmit antennas and a 4 PAM (Pulse Amplitude Modulation) symbol constellation, C = {-3,-1,1,3}, corresponding to the symbol mapping of the bits {-1-1, -1+1, +1+1, +1 -1} , that is: map({l, 1})=+3, map({1, -1})=+1, map({-l, -1})=-1, map({-l, 1})-3. \
There are two bits per symbol, ''r= 2, and thus 2 x 2 = 4 bits to jointly detect.
Now consider, say, the decoder of Figure 3a. Assume that the ML symbol detector 302 detects an ML string of symbols sale = {+3, +1} corresponding to the bit sequence xM = {+ I, +1, +1, - I}, and having distance metric d'-, . In this case the bit-wise ML detector 304a for the first bit "detects" (searches for) an ML (string of) symbols with the first bit set to the inverse of its value in x, it, that is -I ( x X,, ), to obtain d,'a. = d,2, . The other ML detectors 304 perform bit-wise sphere decoding for the sets X-2, X'', and X2 2 respectively, to obtain d''lr'.it = d, 2 d2 CALL = d and do 2 =t = d2 +; d,2,+ =d,, + =d2+ =d' =d'-,.
We assume that the set of ML detectors 304 is implemented in parallel. The bit-wise detector for the ith bit (/ = 1, ..., qnT) is constrained by the requirement that the ith bit have a fixed value, in this case the inverse of its value in the ML string of symbols saw.
Let us consider the first bit-wise ML detector 304a (i = 1) For the above example where sot = {3, +1}, x,n = {+1, +1, +1, -1}, the value of the ith bit is constrained to be -1. Let us assume that a candidate symbol string found by the first ML detector 304a is {-1, -3}, corresponding to the bit sequence {-1, -1, -1, +1} (in which it can be seen that the first bit has value -1), and having a distance metric of 3.01. Now let us assume that at the same time the bit- wise ML detector for the second bit has found a candidate symbol string of {+1, +3}, corresponding to the bit sequence {+1, -1, +1, +1} (in whicl1 it can be seen that the second bit has value -1, the inverse of its value in x,,), and having a distance metric of 5.1. It can be seen that the candidate symbol string {-I, -3} found by the first ML detector has a bit sequence {-1, -1, -1, +1} in which, coincidentally, the second bit has a value of-1, so that this is also a candidate symbol string for the second bit-wise ML detector. Moreover the distance metric of 3.01 for symbol string {-1, -3} is less than the smallest found so far by the second bit-wise ML detector (since the sphere decoder search navigates the search tree in a direction which progressively reduces the search radius). The radius of the second bitwise ML detector is therefore updated to 3.01 (instead of S.l), and this allows the search sphere to close in more rapidly to the constrained ML solution than it would otherwise. If the second bit wise ML detector is started at a later time than the first bit-wise ML detector, or after the first bit-wise ML detector has completed its task, the second bit-wise ML detector may be initialized using the shared infomlation from the first bit-wise detection task.
Figure S shows a schematic illustration of the above process, in which each bit-wise ML detector provides distance metrics and corresponding sequences of bits (for the candidate symbols found), which can then be employed to update the sphere radii for the bit-wise ML detectors where acandidate meets the required bit value constraint (reversed from the ML string of symbols) for a detector and has a smaller radius than any candidate yet found by the detector. In other words the sphere radius of the ML detector for bit i is updated when the new distance metric is smaller than that reached so far provided that the ith bit is the reverse of the ith bit in the ML symbol string. Thus in this example the shared information comprises bit sequences and corresponding distance metrics found by the bit-wise ML detectors, and this shared information is used to update the sphere radius of one or more of the bit- wise ML detectors.
Referring back to Figure 4, the sphere decoder search procedure can be updated with the new distance metric estimate by assigning the new value d,,3.,2 found by the other bit wise ML detector(s), to the radius p2 if d] I < p2, i.e. p2 = mint a'J,,,, pa). Also, with the knowledge of the sequence symbols that have been searched where the node of the branch is cut off front the tree search by other ML detectors, the list of symbols to be searched slistn is updated to exclude the eliminated node. The search is not generally continued with the symbol string corresponding to the updated distance metric because different bit-wise ML detectors perfonn searches from different subsets XnJ and if the search continued it could exclude a symbol string not part of the subset of the other bitwise detector.
Where the ML detectors are implemented by a search algorithm which involves stepping through a list of possible candidate symbols, for example where the ML detectors are implemented by sphere decoders, an ML detector can skip the candidates already searched by other ML detectors, in order to reduce computational complexity.
This is facilitated by searching the sequence of symbols in a defined order. For example the sequence of symbols can be searched in an increasing order (in the above example, -3, -1, +1, +3) and thus an ML detector can skip symbols having values less than those already searched by other ML detectors, since these nodes in the search tree will already have been examined.
In the Figure 3a and 3b arrangements, in order to further increase the speed of the bit- wise sphere decoding, the initial search radius of the bit-wise sphere decoding can be determined after obtaining the maximum likelihood distance metrics data. For example, the initial sphere radius of the bit- wise sphere decoder may be set to P.,2; uniting = Ma | ] P IBEX + dIZ?L where |LP|MX is the maximum extrinsic LLR magnitude required by an application, for example between 5 and 50. Alternatively the list of candidates {s,,s2, ,s'} searched by the maximum likelihood sphere decoder, together with their distance metrics g'2, d 22, , d p}, can be used to set or provide an additional constraint for the initial sphere radius IN jn;n' of the bit-wise sphere decoders if d2 < PrZ; ',in, i = 1 in, P. Mapping of the initial sphere radius PnJ;nn' n = I,- -,'7T j = I,..,q, to the distance metrics {d, ,d'2,---,dp) where d,2 < IN jnrn', is performed For example where maximum likelihood sphere decoding is performed, the symbol set {s,, s2, , s,O}is searched end solution for bit x'2is found to be-l The subset of the searched symbols {so, s,, s7} is found to have the bit x2 = +1 and the corresponding distance metrics are found to have the relative magnitudes d5 < P2 Ini,''' d' < d7. The initial radius for bitwise sphere decoding of bit x,2 is therefore set as P22, intent = d 5, subject to any better starting value (which may arise where, for example, another bit- wise detector has already found a better solution) In a further alternative approach the sphere radius of the bit-wise sphere decoder is set to the distance metric of the maximum likelihood bit sequence with the sign of the bit to be detected inverted or flipped ( Sn j fl'ppC) so that p,,2 j tn',int = ||r - Sn p;ppe H|| LIZ XT LO where x and LA are the bit sequence and the corresponding a priori LLR vector for Sn,j,) 7ipped We next describe arrangements for making effective use of available hardware when implementing the above described decoders.
Some types of ML detector/decoder, for example a sphere decoder, have a variable complexity- that is an ML candidate can be found after a variable number of operational iterations (further iterations then being unnecessary). However in a practical receiver the total number of available operations (for example processor operations or instruction cycles) is generally limited by the processor speed and data transmission rate. Thus the number of operations available for each ML detector is generally limited or bounded. However some of the ML detectors will need more operations than this limit to obtain the ML candidate, whereas others will require fewer operations.
One approach to this problem has previously been described in the Applicant's co- pending UK patent applications no. 0323208.9 and 0416823.3 filed on 3 Oct 2003 and 28 July 2004 respectively, the contents of which are hereby incorporated by reference.
Broadly speaking the ML detection (search) process is bounded and, in particular, candidate symbol searching in tle sphere decoding process is stopped after a (predetermined) limiting number of symbols have been examined/distance determinations have been made. This is useful in a hardware implementation such as an FPGA or VLSI implementation, and in a software implementation for example on a DSP, as it allows a designer to know that a result will be available after a particular number of operations or clock cycles (or time).
Here we describe a system for efficiently stacking bit-wise ML detectors onto hardware comprising P parallel processors each configured (or configurable) for performing an ML detection task, in particular where the number of data processors is less than a number of bit-wise ML detectors required to be implemented. In decoder embodiments nrq bit-wise ML detectors are required to obtain a soft output at one signalling instant, that is over a time duration corresponding to that of a string of symbols to be decoded.
Figure 6 shows a tinseling illustrating how these ML detection operations may be allocated to the ML detection data processors under these conditions. Each ML detection task comprises a period of parameter initialization followed by a period of search operations, and the ML detection tasks are stacked so that an ML detector that completes its search before the maximum number of operations permitted immediately begins ML detection for the next bit allocated to it (for example the (P+ i)-th bit). In embodiments this may be implemented by updating registers that store the operating parameters of the bit-wise ML detector.
Where an ML detection task is not completed before the maximum number of operations permitted it may be truncated. In some cases, some of the ML detection tasks are abandoned when the total maximum number of operations is reached for that signalling instant. The approximate LLRs for those corresponding bits where the ML detection tasks are abandoned may be obtained from the distance metrics found by the other completed ML detection tasks. The order of the bit-wise ML detection may be intelligently selected, for example in accordance with an order of required soft output reliability for the bits. For example bits requiring high reliability may be started on a processor which finishes its previous detection task before the permitted maximum number of operations (to allow extra time for detection), or the ML detection task for the bit may be started after at least some of the other ML detection tasks, so that advantage may be taken of the results of these, or a higher permitted maximum number of operations may be allocated to the ML detection task, or some other prioritization may be employed. In general the soft output reliability will depend on the assistance of the other bit-wise ML detector through the shared information and resources.
Figure 7 shows the stacking of ML detection operations in a max-log-MAP decoder as described with reference to Figures 3a and 3b, in which the decoder has two stages of operations, a first stage in which ML symbol string detection is performed, and a second stage in which bit-wise ML detection is performed (using a set of ''Tq ML detectors for Figure 3a and nTq - 1 ML detectors for Figure 3b to determine a bit-wise distance metric for each bit inverse of the ML symbol string). As can be seen from Figure 7, implementation of these two stages can overlap and, in particular, stage I detection for one signalling instant can overlap stage 2 detection for the previous signalling instant (in Figure 7 the end of the second row and the start of the third row in this figure both have stage I blocks; the second row is for k+2 and the start of row three is for k+3). For simplicity in Figure 7 the dividing lines between the first and second stages within a signalling instant are shown as straight but in practice, as can be seen in Figure 6, there need not be a sharp dividing line.
An ML detector algorithm as described above may be implemented using hardware comprising multiple pipeline stages, each pipeline stage comprising a processing element which executes the calculations corresponding to a specified step or steps of the algorithm. Here, the processing of the received signal from multiple signalling instances or different subcarriers for OFDM system may interleave, i.e. different pipeline stages may perform the calculation to process the received signal from different signalling instances or different subcarriers. lIere, one can view the processing of different ML detectors as being stacked through the pipeline stages in the concurrent processing.
In the parallel stacking arrangements of both Figures 6 and 7 the sharing of information between ML detectors facilitates efficient packing of the ML detection tasks and indirectly this mechanism improves the quality of the derived soft output when the number of operations allowed is limited.
In the above decoders shared use can also be made of the bit LLR values. In the parallel stacking arrangements of Figures 6 and 7 soft bit output (LLR) values for the different bits will in general become available at different times and thus the available soft output from tile th bit-wise ML detector may be used by another j th (i j) ML detector to update its derivation of LLR values according to Equation 11. In most cases, tile reliability of the detected bits improves at the output of the detector, i.e. |LE || > |L, || tllls, it is desirable to use a more reliable estimate of the ith transmitted bits when it is available for the j th ( i j) bit-wise ML detection.
It will be appreciated that the above described parallel implementation techniques are not limited in their application to the use of sphere decoders detectors. For example in one embodiment of the system the detector for the ML symbol string is implemented using a sphere decoder (which generally provides an output will, a high accuracy/reliability) whilst the bit-wise ML detectors are implemented using a less complex (but potentially also less accurate) algorithm, such as a genetic algorithm.
Figure 8 shows curves of bit error rate against signal-to-noise ratio (Eb/No), comparing list sphere decoders (LSD) (according to the Applicant's earlier UK patent applications no. 0323208.9 and 0416823.3 (ibid and to US2003/00768gO) and embodiments of max-log-MAP sphere decoders (MLMSD) implemented as described above The curves relate to the half-rate turbo-coded BER simulated performance of max-log-MAP sphere decoders (MLMSD) and list sphere decoders (LSD) with fixed computational complexity. The list sphere decoder here only searches for 5 candidates closest to the received signal. The simulation was performed for an uncorrelated Rayleigh fading channel and 4x4 16QAM scheme transmissions.
The Max-Log-MAP sphere decoder was implemented with two parallel ML sphere decoder (i.e. P=2) with stacked operations as shown in Figure 6. The number in the legend, it, in MLMSD'' and LSDn, signifies the number of distance metrics operations limited/bounded in one signalling instant. Thus curves 800, 802, 804 and 806 relate to MLMSDs limited to, respectively, 100, 150, 200 and 250 distance metric operations and curves 810, 812, 814, 816 and 818 relate to LSDs limited to, respectively, 100, 200, 300, 400 and 500 distance metric operations per signalling instant. An MLMSD gives the soft output zero-forcing solution if the ML detectors that provide the ML space-time symbols have not completed the bounded tree search. Curve 820 shows the non-limited max-log MAP performance. A two-parallel MLMSD100 decoder has a total of number of 200 distance metric operations, which is similar to LSD200. In Figure 8 curves with the same marker (for example 800 and 812) have a similar maximum computational complexity.
From Figure 8 it can be seen that embodiments of co-operative max-log-MAP sphere decoders as described above provide improved performance compared to a list sphere decoder, and at the same time provide the advantage of a robust implementation.
Degradation of the performance from max-log MAP detection depends on the limitation on the number of operations, which is generally limited lay the hardware. The degradation will also depend on the overall implementation of the ML detector components, that is on how the operations are stacked and the information cleared. The performance of the MLMSD improves with higher levels of parallelism.
Figure 9 shows a receiver 900 incorporating an embodiment of a decoder in accordance with the invention.
Receiver 900 comprises one or more receive antennas 902a, b (of which two are shown in the illustrated embodiment) each coupled to a respective rf front end 904a,b, and thence to a respective analogue-to-digital converter 906a,b and thence to a digital signal processing (DSP) system 908 implementing the decoder.
As illustrated the digital signal processing system 908 comprises a plurality of data processors 910a-c each coupled to respective working memory 912a-c and to permanent program memory 914a-c; a control processor 914 is also provided to control the distribution of information and/or tasks between processors 910 and, conveniently, to provide input/output and other Cleared functions. Processor 914 is coupled to an optional shared memory buffer 916 to facilitate the sharing of information between processors 910 (this may not be needed in some configurations of processors 910).
Processor 914 is also coupled to permanent program memory 918. The contents of memory 914 and/or 918 may be provided on a carrier such as an optical or electrical signal carrier or, as illustrated, on a storage medium 920. The digital signal processing system 908 has a decoded baseband data output 922, for example to a baseband data processor (not shown) configured for implementing higher level protocols.
As illustrated program memory 914a-c stores instances of bit-wise ML detection code.
Program memory 918 stores decoder code 918a comprising ML symbol string decoder code (for example sphere decoder comprising code to generate a lattice from a matrix channel estimate, and tree building/searching code), demodulator code, max-log MAP calculation code, and task distribution code, which code is loaded and implemented by control processor 914 to provide the corresponding functions as described above.
Program memory 918 also includes MIMO channel estimation code 918b to provide a MIMO channel estimate H. and, optionally, de-interleaver code 918c, interleaver code 918d, and channel decoder code 918e. Implementations of de-interleaver code, interleaves code, and channel decoder code are well known to those skilled in the art.
The receiver front-end will generally be implemented in hardware whilst the receiver processing will usually be implemented at least partially in software, although one or more ASICs and/or FPGAs may also be employed. The skilled person will recognise that all the functions of the receiver could be performed in hardware and that the exact point at which the signal is digitised in a software radio will generally depend upon a cost/complexity/power consumption trade-off.
Figure lea shows an example configuration of processors 910, 914 in the DSP system 908 of Figure 9, in which like elements to those of Figure 9 are indicated by like reference numerals. The system includes a 'farmer' processor 914 and multiple worker' processors 910a-c. Tle 'farmer' and the 'worker' processes interact through a connector 1000 that buffers the list of tasks and stores the results of the tasks. The responsible of the 'farmer' processor includes generating a set of tasks and queuing, monitoring and prioritizing the tasks for the 'worker' processors. Additionally, the fanner' collects the results and determines when the computation has finished. Each of the worker repetitively takes a task from the buffer 1000, computes the result for that task, and places the result in the buffer 1000. The farmer processor 914 implements a queuing system which controls data input and output for processors 910 assisted by monitoring and prioritising facilities to provide efficient use of processor elements 910 and of processor time. Techniques for implementing a queuing, monitoring and prioritizing system using farmer processor 914 are well known to those skilled in the art of load distribution in parallel data processing multiprocessor systems.
Figure 101, shows flow diagrams of a task distribution system for embodiments of the above described decoder. More particularly Figure lOb shows procedures for control units implementing the task distribution/processing of the farmer and worker processors. The functions out(), in(), read(), respectively, correspond to depositing a task, result or command into the task buffer, removing the task, result or command from tle task buffer and reading the task, result or command from the task buffer. Monitoring the tasks preferably involves obtaining information from the worker processor and task buffer such as the number of tasks in the queue, the priority of the task and the shared infonnation from the worker processors. The queuing function preferably involves reordering or prioritizing the tasks in the buffer or allocating tasks to a specific worker processor according to the new information obtained.
Additionally or alternatively embodiments of the above described decoder systems may be provided as a signal processing module. Such a signal processing module may implement any of a variety of functions including, but not limited to, a channel decoder, a soft-inlsoft-out space-time detector/equaliser, and a multi-user detector.
Figure 1 I shows a block diagram of a transmitter with concatenated channel encoders; the frequency selective channel can be considered to be an 'encoder'. In Figure 11 Coder 2 may comprise a conventional channel encoder and Coder I an STBC coder in combination with the channel.
Figure 12 shows a block diagram of a receiver with concatenated channel decoders or detectors, suitable for use with the transmitter of Figure I l In Figure 12 detector or Decoder I may comprise a max-log decoder as described above, and Decoder 2 a conventional channel decoder. Figure 13 shows a block diagram of a variant of the receiver of Figure 12, with concatenated decoders or detectors employing iterative or "turbo" decoding. Figure 14 shows a block diagram of a receiver comprising two instances of Decoder 1, which may comprise, for example, a space-time decoder. In Figure 14 the output of one decoder provides a priori knowledge for the other decoder.
In this way the decoder component iteratively exchanges soft information in effect with itself to improve the reliability of the detected data. The received signal is provided to both decoders, optionally (depending upon the interleaving arrangement at the transmitter) interleaved in one case.
Embodiments of the invention have applications in many types of communication system, including MIMO and multiuser systems, for example for wireless computer or phone networking. In multiuser systems, for example, the generator matrix or erquivalent channel matrix may represent a combination of spreading and channel effects for the users (see, for example, L. Brunel, "Optimum Multiuser Detection for MC-CDMA Systems Using Sphere Decoding", 1 2th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, Volume 1, 30 Sept.-3 Oct. 2001, pages A16 -A-20 vol. 1, hereby incorporated by reference).
In other applications the decoder can be applied as a block equaliser for frequency selective fading. Here, the channel model of Equation 5 may be modified to take into account the channel memory as shown below:
-
r = sH + v where H. H3 . HI H = . H, HI . He, He r = [I; hi,;+L-! ]' s = [s, s3 Sr], v=[v, v3 v+,], and where is the length of the symbol block being equalized and H., i = 1, ,L, is the i th MIMO channel tap. The procedure may then be employed to detect the transmitted block s.
Broadly speaking any type of detector may be employed in the above described systems as long as it is able to provide a maximum-likelihood solution and a corresponding distance metric - sphere decoders are merely used by way of example.
Embodiments of the invention can be applied as a channel decoder where the channel encoder can be represented by a linear generator matrix G. Examples are block channel codes (see "Digital Communications: Fundamentals and Applications", Bernard Sklar, Prentice Hall International Editions, 1999, 0-13-212713-X) such as Hamming code and Linear Density Parity Check (LDPC) coding where the codeword x is generated by the generator matrix G from the information bits s through x = sG, where the vector s contains the information bits. For LDPC code, for example, the generator matrix G is derived from the parity check matrix H to fully tle orthogonality requirement GHT _ 0 and any legitimate codeword will satisfy the conditionxHT = 0. Here, the information and codeword blocks, s and x, respectively, are comprised of binary digits, i.e. I and 0, and the matrix operations are in a binary field. In an example implementation, a splicers decoder with input r and using G as the generator matrix, detennines the distance between the received signal r and each of the possible transmitted codewords in its search. The codeword with the minimum distance is the maximum likelihood codeword. This approach employs a translation of the infomnation and codeword blocks from a binary field, {0,1} to signed values {-1, +1}, and arithmetic operations are then used.
The skilled person will appreciate that the above described techniques may be employed for example in base stations, access points, andlor mobile terminals/phones and may be embodied in a wireless chipset or signal processor. The techniques are applicable in 3G and 4G digital mobile communications systems, wireless local and personal area networks and in many other types of communication system. Broadly speaking embodiments of the invention facilitate cheaper receivers without a loss of perfommance, 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 (38)

  1. -
    CLAIMS: I. A decoder for decoding a received signal, said received signal being provided by one or more transmitted signals defining a string of symbols, each said symbol comprising one or more bits, said decoder comprising: a plurality of maximum likelihood (ML) detectors each configured to determine a minimum bit-dependent distance metric for a respective candidate string of symbols in which a bit has a defined value, said distance nitric being dependent upon a distance of said received signal from an estimated received signal determined from said candidate string; and a bit likelihood estimator to receive a said minimum distance metric from each of said ML detectors and configured to determine a bit likelihood value for each bit of said transmitted string dependent upon said minimum distance metrics; and wherein at least one of said ML detectors is configured to share information from said minimum distance metric determination with at least one other of said ML detectors.
  2. 2. A decoder as claimed in claim 1 wherein each of said ML detectors is configured to share information from a plurality of respective said minimum distance metric determinations with the other ML detectors.
  3. 3. A decoder as claimed in claim 1 or 2 wherein said shared information comprises one or more of a said minimum distance metric, a said candidate string of symbols, a set of said candidate strings of symbols searched by a said ML detector, a set of distance metrics for candidate strings of symbols searched by a said ML detector, and information identifying one or more candidate strings of symbols searched by a said ML detector.
  4. 4. A decoder as claimed in claim 1, 2 or 3 further comprising a buffer pillared between at least two of said ML detectors to store said shared information.
  5. A decoder as claimed in any one of claims I to 4 wherein said ML detectors comprise sphere decoders.
  6. 6. A decoder as claimed in any one of claims I to 5 wherein each said ML detector is configured to search amongst strings of symbols in which a bit has a defined value, and wherein a said ML detector is configured to modify a said search responsive to said shared information.
  7. 7. A decoder as claimed in claim 6 wherein a said search by a said ML detector is modified to substantially exclude strings of symbols searched by another said ML detector.
  8. 8. A decoder as claimed in claim 6 or 7 wherein said search has a defined order, and wherein said shared information defines a point within said defined order.
  9. 9. A decoder as claimed in claim 6, 7 or wherein said shared information comprises a searched string of symbols and a corresponding distance metric, and wherein a said ML detector is configured to constrain a said search substantially to strings of symbols having distance metrics no greater than said corresponding distance metric.
  10. 10. A decoder as claimed in claim 9 wherein said shared information comprises a plurality of said searched strings of symbols and corresponding distance metrics.
  11. 11. A decoder as claimed in any one of claims 6 to 10 wherein a said ML detector further comprising means to truncate a said search.
  12. 12. A decoder as claimed in any one of claims 1 to 11 further comprising a maximum likelihood detector configured to determine a common, maximum likelihood distance metric for each bit of a maximum likelihood string of symbols.
  13. 13. A decoder as claimed in any preceding claim wherein a said distance metric is determined responsive to a priori probability values for bits of said transmitted string. /
  14. 14. A decoder as claimed in any preceding claim comprising a plurality of data processors configured to implement at least some of said ML detectors in parallel.
  15. 15. A decoder as claimed in any one of claims 1 to 14 wherein said received signal comprises a signal received at a plurality of receive antennas, said string of symbols is transmitted from a plurality of transmit antennas, and wherein said distance metric is determined dependent upon a response of a MIMO channel between said transmit and said receive antennas.
  16. 16. A decoder as claimed in any one of claims 1 to 14 wherein symbols of said string of symbols are transmitted by a plurality of different users, and wherein said received signal comprises a combination of said symbols transmitted by said different users.
  17. 17. A method of decoding a received signal, said received signal being provided by one or more transmitted signals defining a string of symbols, each said symbol comprising one or more bits, the method employing a plurality of detectors one allocated to each bit of said string, the method comprising: determining, for each bit of said string using a detector allocated to the bit, a minimum bit-dependent distance metric for a respective candidate string of symbols in which a bit has a defined value, said distance metric being dependent upon a distance of said received signal from an estimated received signal determined from said candidate string; and determining a bit likelihood value for each bit of said transmitted string dependent upon said minimum distance metrics; and wherein the method further composes: sharing information from said distance metric determining between at least two of said detectors.
  18. 18. A method as claimed in claim 17 wherein said detectors comprise maximum likelihood (ML) detectors, and wherein said sharing comprises sharing infonnation between a plurality of said detectors.
  19. l9. A method as claimed in claim 17 or 18 wherein said shared information comprises one or more of a said minimum distance metric, a said candidate string of symbols, a set of said candidate strings of symbols searched by a said detector, a set of distance metrics for candidate strings of symbols searched by a said detector, and information identifying one or more candidate strings of symbols search by a said detector.
  20. 20. A Method as claimed in any one of claims 17, 18 or l 9 wherein said determining comprises searching amongst strings of symbols in which a bit has a defined value, the method further comprising modifying said searching responsive to said sharing of information.
  21. 21. A method as claimed in claim 20 wherein said searching using a said ML detector is modified to substantially exclude strings of symbols searched by another said ML detector.
  22. 22 A method as claimed in claim 20 or 21 wherein said detectors comprise sphere detectors, wherein said searching is modified to reduce a search radius for one of said sphere decoders to that of a string of symbols searched by another of said sphere decoders.
  23. 23. A method as claimed in any one of claims 17 to 22, wherein said determining includes determining a common, maximum likelihood distance metric for each bit of a maximum likelihood string of symbols.
  24. 24. A method as claimed in claim 23 wherein said detectors allocated to each said bit comprise a first type of detector, the method comprising using at least one detector of a second type, different to said first type of detector, for said common distance metric determining.
  25. 25. A method as claimed in any one of claims 17 to 24 wherein at least some of said distance metric determinations are performed in parallel. /
    -
  26. 26. Processor control code to, when running, implement the method of any one of claims 17 to 25.
  27. 27. A carrier carrying the processor control code of claim 26.
  28. 28. A receiver or decoder including the carrier of claim 27.
  29. 29. A soft-in soft-out decoder for decoding a received signal comprising a set of transmitted symbols, said decoder comprising a plurality of hard detectors each configured to determine a distance metric for a candidate set of said transmitted symbols according to a max-log approximation of a likelihood value of a bit of said set of transmitted syinbols, said hard detectors being coupled to an output stage to provide a bit likelihood value for each bit of said set of transmitted symbols responsive to said determined distance metrics, and wherein at least one of said hard detectors is configured to share information from a said distance metric determination with at least one other of said hard detectors.
  30. 30. A soft-in soft-out decoder as claimed in claim 29 wherein each of said hard detectors is configured to share information with the other said hard detectors.
  31. 31. A soft-in soft-out decoder as claimed in claim 29 or 30 wherein said shared information comprises information identifying one or more candidate sets of symbols searched by a said detector and corresponding distance metric information.
  32. 32. A soft-in soft-out decoder as claimed in claim 29, 30 or 31 wherein said hard decoders are configured to determine a said distance metric for each logic value of each bit of said set of transmitted symbols.
  33. 33. A soft-in soft-out decoder as claimed in any one of claims 29 to 32 wherein one of said hard decoders is configured to determine a set of distance metrics, one for each bit of said set of transmitted symbols.
  34. 34. A soft-in soft-out decoder as claimed in claim 33 wherein said set of distance metrics comprises a single, common distance metric.
  35. 35. A soft-in soft-out decoder as claimed in any one of claims 29 to 34 wherein at least some of said hard decoders are configured to operate in parallel.
  36. 36. A soD-in soft-out decoder as claimed in any one of claims 29 to 35 wherein a said distance metric is dependent upon a priori probability data received at a soft input of said decoder.
  37. 37. A soft-in soft-out decoder as claimed in any one of claims 29 to 36 wherein said hard decoders comprise sphere decoders.
  38. 38. A soft-in soft-out decoder as claimed in claim 37 wherein one or more of said hard decoders is configured to employ an initial sphere radius or search bound determined responsive to an output from another of said hard decoders.
GB0421608A 2004-09-29 2004-09-29 Signal decoding methods and apparatus Expired - Fee Related GB2418816B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0421608A GB2418816B (en) 2004-09-29 2004-09-29 Signal decoding methods and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0421608A GB2418816B (en) 2004-09-29 2004-09-29 Signal decoding methods and apparatus

Publications (3)

Publication Number Publication Date
GB0421608D0 GB0421608D0 (en) 2004-10-27
GB2418816A true GB2418816A (en) 2006-04-05
GB2418816B GB2418816B (en) 2006-12-13

Family

ID=33397438

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0421608A Expired - Fee Related GB2418816B (en) 2004-09-29 2004-09-29 Signal decoding methods and apparatus

Country Status (1)

Country Link
GB (1) GB2418816B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0237186A2 (en) * 1986-02-11 1987-09-16 Codex Corporation Decoding of lattices and codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0237186A2 (en) * 1986-02-11 1987-09-16 Codex Corporation Decoding of lattices and codes

Also Published As

Publication number Publication date
GB2418816B (en) 2006-12-13
GB0421608D0 (en) 2004-10-27

Similar Documents

Publication Publication Date Title
JP4435162B2 (en) Signal decoding method and apparatus
EP1521375A2 (en) Signal decoding methods and apparatus
JP2007513527A (en) Signal decoding method and apparatus
Wong et al. Efficient high-performance decoding for overloaded MIMO antenna systems
JP2006520547A (en) Improved communication apparatus and method
WO2006029546A2 (en) Method and device for decoding a signal of a multiple input/multiple output system
GB2406760A (en) Max-log MAP decoder used with maximum likelihood decoders and determining bit likelihoods
Tonello Array processing for simplified turbo decoding of interleaved space-time codes
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
Detert An efficient fixed complexity QRD-M algorithm for MIMO-OFDM using per-survivor slicing
Tomasoni et al. Hardware oriented, quasi-optimal detectors for iterative and non-iterative MIMO receivers
GB2418816A (en) Decoder with plural maximum likelihood detectors which share distance metric information
Mohammad et al. Comparing decoding algorithms for multi-layer space-time block codes
Milliner et al. A framework for fixed complexity breadth-first MIMO detection
GB2426419A (en) A hardware accelerator for a signal decoder
GB2418817A (en) Decoder with plural maximum likelihood detectors which share distance metric information assigned to parallel processors
GB2427106A (en) Sphere decoder for MIMO applications with reduced computational complexity decomposition of the channel estimate matrix
Claussen et al. High-performance MIMO receivers based on multi-stage partial parallel interference cancellation
Kavitha et al. Multilevel Coding for Multiple Input Multiple Output System
An et al. Decoding with expected length and threshold approximated (DELTA): A near-ML scheme for multiple-input–multiple-output systems
Awada et al. A sorted parallel detector for coded MIMO systems
Mysore et al. Combined turbo coding and turbo equalization in a wireless system with antenna diversity
Karjalainen et al. Iterative frequency domain joint-over-antenna receiver for multiuser MIMO
Cha et al. Efficient modified fano detection with reduced branches for DSTTD system

Legal Events

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

Effective date: 20130929