GB2406760A - Max-log MAP decoder used with maximum likelihood decoders and determining bit likelihoods - Google Patents
Max-log MAP decoder used with maximum likelihood decoders and determining bit likelihoods Download PDFInfo
- Publication number
- GB2406760A GB2406760A GB0416820A GB0416820A GB2406760A GB 2406760 A GB2406760 A GB 2406760A GB 0416820 A GB0416820 A GB 0416820A GB 0416820 A GB0416820 A GB 0416820A GB 2406760 A GB2406760 A GB 2406760A
- Authority
- GB
- United Kingdom
- Prior art keywords
- bit
- decoder
- string
- symbols
- decoders
- 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
Links
- 238000007476 Maximum Likelihood Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000001419 dependent effect Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 abstract description 16
- 239000011159 matrix material Substances 0.000 description 28
- 239000013598 vector Substances 0.000 description 24
- 238000001514 detection method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000005562 fading Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 101100188552 Arabidopsis thaliana OCT3 gene Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/02—Arrangements for detecting or preventing errors in the information received by diversity reception
- H04L1/06—Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
- H04L1/0618—Space-time coding
- H04L1/0631—Receiver arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0055—MAP-decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7097—Interference-related aspects
- H04B1/7103—Interference-related aspects the interference being multiple access interference
- H04B1/7105—Joint detection techniques, e.g. linear detectors
- H04B1/71057—Joint detection techniques, e.g. linear detectors using maximum-likelihood sequence estimation [MLSE]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/0048—Decoding 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/02—Arrangements for detecting or preventing errors in the information received by diversity reception
- H04L1/06—Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
- H04L1/0618—Space-time coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
This invention is generally concerned with methods, apparatus and processor control code for a signal decoding, in particular by employing a plurality of maximum likelihood hard detectors such as sphere decoders. A decoder for decoding a received signal, said received signal being provided by a transmitted signal comprising a string of symbols sent over a channel, each said symbol comprising one or more bits, said decoder comprising: a plurality of maximum likelihood decoders each configured to determine a minimum bit-dependent distance metric for a 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 string and a response of said channel; and a bit likelihood estimator coupled to each of said maximum likelihood estimators and configured to determine a bit likelihood value for each bit of said string dependent upon said minimum distance metrics. The bit likelihood estimator comprises a max-log MAP (maximum a posteriori) decoder using LLR (log-likelihood ratio) values. Applications include space time diversity communication systems e.g. MIMO.
Description
Signal Decoding Methods and Apparatus This invention is generally
concerned with methods, apparatus and processor control code for a signal decoding, in particular by employing a plurality of maximum likelihood hard detectors such as sphere decoders.
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. The optimum decoder is the a posterior) probability (APP) decoder which performs an exhaustive search of all possible transmitted symbols (or strings of transmitted symbols, modifying each by the channel response to determine a set of all possible received signals, and then selecting one or more of these with the closest Euclidian distance to the actually received signal as the most likely transmitted and/or encoded signal(s). However the computational complexity of such an approach grows exponentially with the memory of the encoder, channel impulse response length, number of bits per symbol, and with the number of transmitted symbols (length of string) to consider. Sub-optimal approaches are therefore of technical 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 terms, 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 priori knowledge which can act as a soft input to the procedure. In embodiments of the invention sphere decoding may be employed to search 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 IEEE802. 1 1 a (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 problem arises in multi-user systems, although symbols transmitted over the different channels 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 particular 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 multi-user systems, and for other types of decoding, for example CDMA (code domain multiple access) decoding.
Figure 1 shows 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 interleaves). 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 interleaver 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 may be followed by a modulator to provide coded symbols for transmission. Space-frequency encoding may additionally (or alternatively) be employed. Thus, broadly speaking, incoming symbols are distributed into a grid having space and time andlor frequency coordinates, for increased diversity. Where spacefrequency 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 1 16. 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 116 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 interleaver 106, and then to a channel decoder 120, such as a Viterbi decoder, which decodes the convolutional code. Typically channel decoder is a SISO (soft-in soft-out) decoder, that is receiving symbol (or bit) likelihood data and providing similar likelihood data as an output rather than, say, 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 soft output from channel decoder 120 is provided to a channel interleaver 124, corresponding to channel interleaver 106, 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 channel decoder 120 provides complete transmitted symbols 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 the maximum likelihood, ML, approach) such as the Viterbi decoder, linear decoders such as zero-forcing and minimum mean squared error (MMSE) estimators, the vertical- BLAST (Bell labs LAyered Space Time) decoder, and the block decision feedback equaliser.
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 s back up a layer (dimension) and chooses the next possible symbol in that layer (dimension) for checking. In this way the procedure builds a tree in which the lowest nodes correspond to complete strings of symbols and in which the number of nodes at the nth level of the tree corresponds to the number of lattice points inside the relevant nth dimensional sphere.
When a complete candidate string of symbols is found the distance of the lattice point, generated from the string of symbols, from the received signal is found and the initial radius is reduced to this distance so that as the tree builds only closer strings to the maximum-likelihood solution are identified. When the tree has been completed the decoder can be used to provide a hard output, i.e. the maximum likelihood solution, by choosing the nearest lattice point to the received signal. Alternatively a soft output can be provided using a selection of the closest lattice points to the received signal, for example using the distance of each of these from the received signal as an associated likelihood value.
Background prior art relating to sphere decoding can be found in: E. Agrell, T. Eriksson, A. Vardy and K. Zeger, "Closest Point Search in Lattices", IEEE Trans. on Information Theory, vol. 48, no. 8, Aug 2002; E. Viterbo and J. Boutros, "A universal lattice code decoder for fading channels", IEEE Trans. Inform. Theory, vol. 45, no. 5, pp. 1639-1642, Jul. 1999; O. Damen, A. Chkeif and J. C. Belfiore, "Lattice code decoder for space-time codes, " IEEE Comms. Letter, vol. 4. no. 5, pp. 161-163, May 2000; B. M. Hochwald and S. T. Brink, "Achieving near capacity on a multiple- antenna channel," http://mars.bell-labs.com/cm/ms/what/papers/listsphere/, December 2002; H. Vikalo and B. Hassibi, "Low-complexity iterative detection and decoding of multi-antenna systems employing channel and space-time codes", Conference Record of the Thirty-Sixth Asilomar Conference on Signals and Systems and Computers, vol. 1, Nov 3-6, 2002, pp. 294-298; A. Wiesel, X. Mestre, A. Pages and J. R. Fonollosa, "Efficient Implementation of Sphere Demodulation", Proceedings of IV IEEE Signal Processing Advances in Wireless Communications, pp. 535, Rome, June 15-18, 2003; L. Brunel, J. J. Boutros, "Lattice decoding for joint detection in direct-sequence CDMA systems",IEEE Transactions on Information Theory, Volume: 49 Issue: 4, April 2003, pp. 1030 -1037; US patent application US2003007689O, 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, 2002, to L. Brunel, "Multiuser detection method and device in DS-CDMA mode", Mitsubishi Denki Kabushiki Kaisha; H. Vikalo, "Sphere Decoding Algorithms for Digital Communications", PhD Thesis, Standford University, 2003; and B. Hassibi and H. Vikalo, "Maximum-Likelihood Decoding and Integer Least-Squares: The Expected Complexity," in Multiantenna Channels: Capacity, Coding and Signal Processing, (editors J. Foschini and S. Verdu).
According to a first aspect of the present invention there is provided a decoder for decoding a received signal, said received signal being provided by a transmitted signal comprising a string of symbols sent over a channel, each said symbol comprising one or more bits, said decoder comprising: a plurality of maximum likelihood decoders each configured to determine a minimum bit-dependent distance metric for a 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 string and a response of said channel; and a bit likelihood estimator coupled to each of said maximum likelihood estimators and configured to determine a bit likelihood value for each bit of said string dependent upon said minimum distance metrics.
The maximum likelihood decoders may be implemented in hardware, or software, or a combination of the two; they may, for example, comprise separate instances of a software process. The configuration of the decoder lends itself to a parallel implementation. Moreover embodiments of the decoder provide a soft, likelihood value output based upon, in effect, hard detection decisions, that is without the need to determine many candidates for each possible transmitted symbol. In embodiments 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. These may be determined by parallel maximum likelihood decoders or a repeated instance of a single decoder. The skilled person will appreciate that, more generally, to implement the plurality of maximum likelihood decoders a single software or hardware molecule may be repeatedly employed to determine the relevant minimum distance metrics.
The distance metric preferably takes account of any available a priori knowledge relating to the likelihood of bits and/or symbols of the string to be estimated.
In a preferred embodiment one of the maximum likelihood detectors is configured to determine a maximum likelihood distance metric, in particular a (common) distance metric for each bit of a complete, maximum likelihood string of symbols. One further maximum likelihood detector may then be 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. Preferably the maximum likelihood string of symbols is determined taking into account a priori data relating to the string of symbols, in particular an a priori probability value for each bit of the string, thus facilitating a soft input as previously mentioned.
In preferred embodiments the maximum likelihood detectors or decoders comprise sphere decoders. In this case an initial search radius for one or more of the sphere decoders for determining a minimum distance metric for the relevant bit may be determined relative to the distance metric of the maximum likelihood transmitted string of symbols. For example the radius may be set according to a limiting log-likelihood ratio value required by an application. Alternatively where a set of candidate strings of symbols, searched to determine the maximum likelihood transmitted string of symbols and corresponding maximum likelihood distance metrics is determined, one of these can be used to set an initial sphere radius for another of the sphere decoders. In a further alternative 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 initialised to a sphere radius of infinity so that at least one lattice point will always be found.
In embodiments the channel comprises a MIMO channel and the decoder comprises a MIMO decoder. In other embodiments the symbols of the transmitted string comprise symbols transmitted by different users and the decoder comprises a multi-user decoder or detector. In still other embodiments the decoder comprises 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 a transmitted signal comprising a string of symbols sent over a channel, each said symbol comprising one or more bits, the method employing a plurality of decoders one allocated to each bit of said string, the method comprising: determining, for each bit of said string using a decoder allocated to the bit, a minimum bit-dependent distance metric for a 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 string and a response of said channel; and determining a bit likelihood value for each bit of said string dependent upon said minimum distance metrics.
The invention further provides a decoder configured to implement this method, and a receiver including such a decoder.
The invention further provides a soft-in soft-out decoder for decoding a received signal comprising a set of transmitted symbols, said decoder comprising a plurality of hard decoders 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 decoders 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.
It will be appreciated that the above described decoders and methods may be employed, for example, in a turbo decoder with iterative block (or other) code decoding and channel decoding.
The skilled person will recognise that the above-described methods and decoders may be implemented using and/or embodied in processor control code. Thus in a further aspect the invention provides such code, for example on a carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read-only memory (Firmware) or on a data carrier such as an optical or electrical signal carrier. Embodiments of the invention may be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code, or micro-code, or, for example, code for setting up or controlling an ASIC or FPGA. In some embodiments the code may comprise code for a hardware description language such as Verilog (Trade Mark) or VHDL (Very high speed integrated circuit Hardware Description Language). 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 according to an aspect of the present invention; Figures 3a and 3b show block diagrams of respective second and third embodiments of a decoder according to 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 receiver incorporating a decoder configured to operate in accordance with the embodiment of figure 2 and; Figure 6 shows a graph of bit error rate against signal-to-noise ratio (Eb/No) for an APP max-log MAP decoder and an embodiment of a decoder according to an aspect of the present invention; Figure 7 shows a set of probability density functions showing number of distance metric calculations on the x-axis and the probability of the number of calculations on the y-axis for a range of signal-to- noise ratios; Figure 8 shows a set of probability density function curves with the number of distance metric calculations on the x-axis and the probability of the number of calculations on the y-axis for a range of predetermined maximum log likelihood ratio values; Figure 9 shows a block diagram of a transmitter with concatenated encoders; Figure 10 shows a block diagram of a receiver with concatenated decoders for use with the transmitter of figure 9; Figure 11 shows a block diagram of a receiver with concatenated decoders and iterative decoding for use with the transmitter of figure 9; and Figure 12 shows a block diagram of a receiver employing iterative feedback between two equivalent decoders.
Consider a space-time transmission scheme with nT transmitted and nR received signals, for example in a MIMO communications system with nT transmit and nR receive antennas. The 1 x nR received signal vector at each instant time k is given by: rk skHk + vk Equation 1 where Sk = [< Fir] denotes the transmitted vector whose entries are chosen from some complex constellation C with M = 2qpossible signal points and q is the number of bits per constellation symbol. The AWGN (Additive White Gaussian Noise) vector vk is a I x nR vector of independent, zero-mean complex Gaussian noise entries with variance of 2 per real component. The notation Hi denotes an nT x nR multiple input/multiple-output (MIMO) channel matrix assumed to be known or estimated at the receiver, with n - row and m -column components hum n = 1,..,nT, m = 1,..,nR, representing the narrowband flat fading between the n -th 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 Hi 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 transmitted simultaneously from all the transmit antennas, although this increases the complexity of the training as interference problems can than 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 nT represents the number of transmit antennas, nR represents the number of receive antennas 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 Comm., 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 Hk is an effective channel derived from one or more uses of the true channel.
Equation I may also be used to represent a CDMA system where the multiuser detector estimates the signal sk transmitted from different users and matrix Hk represents the combined spreading and channel effects for all users.
Ignoring the time index k for simplicity of discussion, the n -th component of the transmitted symbol s is obtained using the symbol mapping function n = map(xn 1 n = 1. .., nT Equation 2 where xn = [x,n xQn] 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... xnT] Equation 4 and the transmitted vector constellation is written as s = map(X).
The complex matrix representation of Equation 1 (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 = [in{{ } O}] Equation 6 sk=[{s} 3{; }] Equation7 H =[ s;} DID Equation 8 v = [mu} \ }] Equation 9 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 for the space-time transmission of Equation 5 can be expressed in log likelihood ratio (LLR) terms as follows: L (xn I r) = In / = +[ r) it P( 22 11 11 2 A) exp (- 2 ||r-sH|| ± x LA) = LA (X, ) exp(-2 2 1Ir sHIl + 2 x[n,J] LA, [n,J]) exp (-2 2 ||r I|| + 2 X[n,J] LA,[n,J] ) LE xjn I rJ n = 1, , nT j = 1, , q Equation 10 where x is a sequence of possible transmitted bits, Lo is a vector of LA -values of x, s is a vector of possible transmitted symbols, ices s = map (x) X[n,] denotes the sub vector of x obtained by omitting its element x,", and LA [n j] denotes the vector of all LA -values, also omitting the element corresponding to bit Xjn; and where || || denotes the Euclidean norm. The set Xn+, is the set of 24-" bit vectors x haying x,n = +1, i.e. Xn = { X | X = + 1} and Xn = {X | X =-1} . The symbol s is the mapping to the possible transmitted bit vector x. The functions Lp ( ), LA ( ) and LE ( ) denote the a posterior), a priori and extrinsic likelihood ratio respectively.
According to Equation 10 APP detection requires an exhaustive evaluation of 24nr distance metrics ||r - sH||2 corresponding to the number of elements in the set Xn+, and Xn, . The computational complexity of APP detection increases exponentially with the number of bits per symbol q and number of spatial-multiplexed transmitted symbols nr.
Here we describe an efficient method to evaluate the max-log approximation of Equation 10 for each bit x,: 2 max {- 2 Ilr - SH|| + XT LA} 1 { 1 |l -^H||2 +xT L} Equation 11 v max - log approximation n = 1,...,nT j = 1, ..,q by searching for the candidates that provide the max{ } term for x Xn+j and x X for each transmitted bit without exhaustively evaluating the term - 2 |Ir-SHII +XT LA inEquation11 for allpossibles. Note that since there are (q nT) transmitted bits, there (q nT) operations which evaluate Equation 11.
An embodiment of the invention uses 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 llr SHII2 _ 2XT. L < p2 Equation 12 For every candidate found, the bound p 2 iS reduced until one candidate is found that satisfies the minimum metric ||r - sH|| - cr2xT LA 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 latticerepresentation.
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 Channels", 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 n -dimensional lattice can be decomposed into (n -1) dimensional layers. The search algorithm for a n dimensional lattice can be described recursively as a finite number of (n -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: The layer is decomposed into (n-l)-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 n-th 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 UT (and upper U) are defined by UTU = HTH.
Having briefly described the concept of the sphere decoder, we will now describe how this (and other decoding procedures) can be applied to provide an improved, max-log MAP (maximum a posterior) probability) based decoder. Thus here we provide a max- log-MAP solution by searching for the two candidates that satisfy the max I.} term in Equation 11. Therefore, the search procedure is performed for every bit x, to find the two candidates that satisfy the following optimisations: S E-X min {||r - SH|| - t72xT LA} for bit x, = +1 and s - min {||r-sH|| - x LA} for bit x, = -1, where n = 1, , nT and j = 1, , q. The corresponding distance metrics are obtained for the two candidates, dn2, + and dn2, where d2 = ||r - s+H||2 _ cr2X+T. L+ Equation 13 and d2 || -^-H||2 -c2x-T L Equation 14 The vectors x+, x- and L+A LA 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 is given by: LP (X, l r) 2 2 (-dim+ +dnJ' ) Equation 15
A_
max - log approximation The relationship between LP and LE is given by LP = LA + LE.
Referring to Figure 2, this shows a block diagram of a max-log MAP decoder 200 configured to determine bit likelihood values in accordance with the max-log approximation of Equation 15. The decoder comprises a plurality of hard detectors or decoders 202a-c, 204a-c, each configured to determine a distance metric dn2, +, d for a possible value of a particular bit x,, +1 for detectors/decoders 202, -1 for detectors/decoders 204, according to respective equations 13 and 14, based upon input values for r, Ho, and, where available, LA (X) . In this embodiment n runs over the transmit antennas and j runs over the bits of a constellation symbol. Each of these detectors/decoders 202,204 provides a distance metric value dn2, +, do j to an output stage 206 that determines a bit likelihood value for each bit of the transmitted string of symbols according to Equation 15. The likelihood values may comprise "extrinsic" andlor a posterior) bit likelihood values. The skilled person will appreciate that the detectors/decoders 202,204 may be implemented in series, for example as repeated instances of a software process, or in parallel, or in a combination of serial and parallel processes.
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 from evaluating the noise statistic of the sequence of received signal during the 'training period', knowing the sequence of 'noiseless' received signal.
A detector/decoder 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 -1 and/or providing a minimum distance metric d 2 j +, or d2, . Thus the skilled person will appreciate that the arrangement of Figure 2 may employ any maximum likelihood hard detectors/decoders that can provide the appropriate distance metrics. However in a preferred embodiment hard detectors/decoders 202,204 are implemented using one or more sphere decoders.
For the received vector r, either candidate s+ or s is the maximum likelihood estimate SMI, - that is the maximum likelihood solution provides one set of bit values xM and corresponding distance metrics dot. Thus maximum likelihood sphere decoding can be performed first and the bit-wise sphere decoding may then be performed to obtain the distance metrics, d 2 TIME, for the bit values which do not correspond 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, and employing sphere decoders as hard detectors. In Figure 3a hard detection blocks 304a-c and output stage 306 correspond to a combination of detectors/decoders 202 and 204 which correspond to the set of non- maximum-likelihood bit sequence x X=,M' 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 SM,{ and a demodulator 303 converts this symbol estimate to a bitwise estimate XMI; hard detection sphere decoder 302 also provides a corresponding bit likelihood value did (common to all the bits of XMI).
Figure 3b shows a block diagram of another embodiment of a two-stage maxlog-MAP 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 configured to determine a minimum distance metric for a predetermined bit (the first bit), each of these maximum likelihood decoders determining a distance metric for the predetermined bit (the first bit) having one of a first and second logic level. Here, a string of symbols corresponding to the shorter distance metric provides the maximum likelihood transmitted symbols. 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. Either or both stages of the maximum likelihood detector may be implemented using 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/decoders 202,204 of Figure 2 or one of the detectors/decoders 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 term 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 sn, that is L(sn LA (Xn), 2) = 2XnTLA n and on is obtained from the relationship Sn = map (Xn) . 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); LA (X) comprises the a priori LLR values and Al is the noise variance. The outputs of the procedure are s 'ML and d 'Ml. where the sphere decoding is performed for the set of bit sequence in the set X, Xn=M, Xn+, or Xn J. The output s 'MI. is the lattice input corresponds to the lattice point closest to the received signal r and is the maximum likelihood solution. The output d 'MI. is the distance metrics corresponding to the lattice inputs s 'MI. . The output d 'ME refers to the sphere decoding output dn2, +for xeXn+j in202, dn2j for xeXnJ in204, doctor xeX in302 and dn2, ,eM. for x e Xn=, in 304. The search region is defined by the search radius p2. For most applications the variable initial _bestdist is assigned to a large value.
The function SortedList(e,,J provides an ordered set of lattice inputs to be searched according to an increasing distance from en n 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 vector slistn (slist is a N x M matrix, and steps counts from l to M). The ordering may thus be performed using a look up table storing all the possible combinations, for example, using a c x M matrix where c = 2M is the number of symbol search combinations. The sorted vector slist for the zero-forcing solutions (where the zero-forcing solution en is given by so = (HTH) HTr) is given as the i -th row of in, slist = (i) where i = Used 1 + M - l and 1 denotes rounding towards infinity. The notation slistn 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 th 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 nth 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 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, which is hereby incorporated by reference.
To illustrate the operation of the decoder of Figure 3a consider an example. We take the case of a two transmit antenna system with 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}, where the maximum likelihood estimate is found to be SMI, =[-1 3] with XM1, =[-1 +1 +1 -1] end distance metric dMr. In this example, therefore, bit-wise sphere decoding is performed for the set X,+,, X,-2, X2-,, X2+2 to obtain the distance metrics d,2, MI. = d,2, +, d,22 ML = d,22, d22, MI = d22, _ and d222 MI. = d222 + since d,2, = d,22 + = d22, + = d222 = dML.
It can be seen that the bit-wise sphere decoding can be performed in parallel, facilitating a fast hardware implementation.
In order to increase the speed of the bit-wise sphere decoding after obtaining the maximum likelihood distance metrics den, the initial search radius of the bit-wise sphere decoding can be pre-determined. We now describe some methods for achieving this.
The initial search region of the bit-wise sphere decoding can be bounded according to the maximum extrinsic LLR magnitude |LP |MAX required by an application. This may be preset to a particular value, for example 50. Here, the value |LP|MAX becomes a parameter of the max-log MAP sphere decoder. Therefore, referring to Equation 15, the initial sphere radius of the bit-wise sphere decoder may be set as follows: P2ntia/ =2CT2|Lp|MAX +dML. Equation 16 This may be obtained by limiting the maximum magnitude (i.e. irrespective of sign) of LP(X} lr) to |LPIMAX Another approach potentially provides a greater increase in the speed of the bit-wise sphere decoding. The list of candidates {s,, s2, , sp} searched by the maximum likelihood sphere decoder, together with their distance metrics {d,2, d22, , d p}, can be used to set the initial sphere radius pn2 iniha' of the bit-wise sphere decoders if d2 < P'2n'a, i = 1, , P. Mapping of the initial sphere radius pn2 J Anna' n = 1, , nT, j = 1, , q, to the distance metrics Pl2, d 22, , d p} where d'2 < P'2niha', is performed.
For example where maximum likelihood sphere decoding is performed, the symbol set {s', s2, ., s,O} is searched and solution for bit x2 is found to be -1. The subset of the searched symbols {s, S5 s7} is found to have the bit x2 = +1 and the corresponding distance metrics is found to have the relative magnitude d5 < P,n'a' < d, < d7. The initial radius for bitwise sphere decoding of bit x,2 is therefore given as p22 niha = d72 Some of the initial sphere radii will not have a mapping to the distance metrics P2, d 22, , d p} and they may be set to p'2niia from Equation 16.
In another alternative approach the sphere radius of the bit-wise sphere decoder is be set to the distance metric of the maximum likelihood bit sequence with the sign of the bit to be detected changed or 'flipped', that is using Equation 17 below: Pn nfai = ||r-Sn J fl'ppedH|| -02xT L Equation 17 where sn, poppa,' is the maximum likelihood symbol detected but with the maximum likelihood bit x, being 'flipped' or inverted (for example from +1 to -1 and vice versa).
The vectors x and LA are the bit sequence and the corresponding a priori LLR vector, respectively, for the symbol Sn,J,fl'pped Using the previous example where the maximum likelihood bit sequence detected is XMI,=[-1 +1 +1 -l],theinitialsphere radius Pn2Jnia ofthe bit-wile sphere decoder is obtained according to Equation 17 with the symbol sn j flipped as follows: S,,fpped = map ([+1 +1 +1 -1]) = [1 3], S,2,fpped = map([-1 -1 + 1 -1]) = [-3 3], S2,,,pped =map([-1 +1 -1 -1])=[-1 -3], S2,2,,pped =map([- 1 +1 +1 +1])=[-1 1].
In a particularly preferred approach, which may be applied in addition to the above described techniques, the search process is bounded as described in more detail in the Applicant's co-pending UK patent application no. 0323208.9 filed 3 Oct 2003 (and also in corresponding applications claiming priority from this UK application), the contents of which are hereby incorporated by reference in their entirety. In particular candidate symbol searching in the sphere decoding process may be 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).
Figure 5b shows a receiver 500 incorporating a decoder configured to implement an embodiment of the above described method.
Receiver 500 comprises one or more receive antennas 502a, b (of which two are shown in the illustrated embodiment) each coupled to a respective rf front end 504a,b, and thence to a respective analogue-to-digital converter 506a,b and to a digital signal processor (DSP) 508. DSP 508 will typically include one or more processors 508a and working memory 508b. The DSP 508 has a data output 510 and an address, data and control bus 512 to couple the DSP to permanent program memory 514 such as flash RAM or ROM. Permanent program memory 514 stores code and optionally data structures or data structure definitions for DSP 508.
As illustrated program memory 514 includes max-log MAP decoder code 514a 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, bitwise sphere decoder code, and max-log MAP calculation code. This code, when running on DSP 508, implements corresponding functions as described above. Program memory 514 also includes MIMO channel estimation code 514b to provide a MIMO channel estimate H. and, optionally, de- interleaver code 514c, interleaver code 514d, and channel decoder code 514e. Implementations of de- interleaver code, interleaver code, and channel decoder code are well known to those skilled in the art. Optionally the code in permanent program memory 514 may be provided on a carrier such as an optical or electrical signal carrier or, as illustrated in Figure 5, a floppy disk 516.
The data output 510 from DSP 508 is provided to further data processing elements of receiver 500 (not shown in Figure 5) as desired. These may a baseband data processor for implementing higher level protocols.
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 kade-off.
In other embodiments the decoder may be provided as a signal processing module, for example implementing a soft-in/soft-out space-time decoder.
Figure 6 shows bit error rate (BER) against signal to noise power ratio per transmitted information bit (Eb/No) for a half-rate (5,7) convolutional coded 4- transmit-antenna - by-4-receive-antenna 16QAM (Quadrature Amplitude Modulation) MIMO system, comparing the performance of a conventional max-log MAP decoder based upon an exhaustive evaluation of all candidates with an implementation of the above described max-log MAP sphere decoder with maximum LLR magnitudes of 100 and 25, over a block-invariant uncorrelated Rayleigh fading channel. The three curves in Figure 6 are co-incident showing that the BER performance of the above described decoder is equivalent to that of an exhaustive search method.
Figure 7 shows the probability density function (PDF) of the number of distance metric calculations performed by an implementation of the above described max-log MAP sphere decoder for a 4x4 16QAM system over an uncorrelated Rayleigh fading channel for various signal to noise power ratios (SNRs) per transmitted information bit (curves 700, 705, 710, 715, and 720 relate to SNRs of 0, 5, 10, 15, and 20dB respectively). The fade is frame-invariant. The maximum LLR magnitude of the max-log-MAP sphere decoder was set to 100. An exhaustive-search based max-log-MAP decoder would require 164 x 4 x 2 = 524288 distance metric calculations but the implementation of the above described max-log MAP sphere decoder required at most 10000 distance metrics calculation. Thus embodiments of the above described max-log-MAP sphere decoder can provide a computational complexity reduction of more than 50 times while providing equivalent BER performance.
Figure 8 shows the probability density function (PDF) of the number of distance metric calculations performed an implementation of the above described max-log MAP sphere decoder for a 4x4 16QAM system over an uncorrelated Rayleigh fading channel for maximum LLR magnitudes of 25, 50 and 100 (curves 800, 802, and 804 respectively).
The signal to noise power ratio per transmitted information bit was fixed at 1 OdB. The fade is frame-invariant. The number of distance metric calculations can be seen to be reduced as the maximum LLR magnitude utilized by the max-log-MAP sphere decoder decreases.
Figure 9 shows a block diagram of a transmitter with concatenated channel encoders; the frequency selective channel can be considered to be an 'encoder'. In Figure 9 Coder 2 may comprise a conventional channel encoder and Coder 1 an STBC coder in combination with the channel.
Figure 10 shows a block diagram of a receiver with concatenated channel decoders or detectors, suitable for use with the transmitter of Figure 9. In Figure 10 detector or Decoder 1 may comprise a max-log decoder as described above, and Decoder 2 a conventional channel decoder. Figure 11 shows a block diagram of a variant of the receiver of Figure 10, with concatenated decoders or detectors employing iterative or "turbo" decoding. Figure 12 shows a block diagram of a receiver comprising two instances of Decoder 1, which may comprise, for example, a space-time decoder. In Figure 12 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.
In summary, embodiments of the invention provide a low-complexity spacetime decoder design based upon the existing sphere decoder procedure to provide Max-log A Posteriori (MAP) detection. The complexity of embodiments of the invention is approximately cubic for practical cases whereas that of a conventional max-log-MAP detector increases exponential with the number of jointly detected bits (see, for example, B. Hassibi and H. Vikalo, "On the Expected Complexity of Sphere Decoding", Conference Record of the Thirty-Fifth Asilomar Conference on Signals, Systems and Computers, vol. 2, pp. 1051-1055, 4-7 Nov. 2001). Furthermore the above described techniques facilitate parallel processing for obtaining transmitted bit LLR values, as shown in Figures 2, 3a and 3b.
In embodiments only two candidate possible transmitted symbols are required per transmitted bit in order to obtain max-log-MAP performance as demonstrated by Equation 15. The two candidates may be obtained using bit-wise maximum likelihood sphere decoder. The sphere radius of the bitwise sphere decoding can be bounded by the maximum LLR magnitude required by the application as shown in Equation 16.
Additionally or alternatively the distance metrics of each candidate searched by the maximum likelihood sphere decoder can be used to limit the sphere radius of the bit- wise sphere decoder. The maximum likelihood solution can also be used to provide an initial search radius for the bit-wise sphere decoder as shown in Equation 17.
Embodiments of the invention provide a soft-in/soft-out max-log-MAP decoder which can be used for iterative or concatenated decoding. The use of a soft input in the form of the a priori LLR values is shown in Equations 13 and 14, where it is used to provide the distance metrics for sphere decoding. A soft output may be evaluated using Equation 15. Figures 3a and 3b show how a soft input, together with other parameters, may be used in the search procedure.
Embodiments of the procedure have a reduced memory requirement compared to other techniques since a list of possible transmitted symbols is not required to compute the soft output. By contrast the performance of existing sphere decoders relies on the size of the candidate list - the larger the size of the candidate list, the better the performance of the existing sphere decoder. However, increasing the size of the candidate list also increases the computational complexity of the existing sphere decoder. Thus max-log- MAP performance can be provided with polynomial computational complexity, often sub-cubic, instead of exponential with increasing number of transmit antenna (see, for example, B. Hassibi and H. Vikalo, "Maximum- Likelihood Decoding and Integer Least-Squares: The Expected Complexity", in Multiantenna Channels: Capacity, Coding and Signal Processing, (Editors J. Foschini and S. Verdu), http://www.its.caltech. edu/hvikalo/dimacs.ps).
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", 12th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, Volume 1, 30 Sept.-3 Oct. 2001, pages A-16 -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 Hl H2 HL H= . HL,
HL
H] HL-! HL_ r = [rl r2 rT+L-l I' S = [51 52 T] V = [Vl V2 VT+L-I] and where T 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 variant of hard detection sphere decoder may be employed in the above described procedure as long as it is able to provide the maximum-likelihood solution and the corresponding distance metrics. Moreover any variant of search procedure, such as those using a genetic algorithm, may replace the hard detection sphere decoder as long as it is able to provide the maximum-likelihood solution and the corresponding distance metrics. Figures 2, 3a and 3b illustrate that any maximum likelihood hard detectors that can provide the relevant distance metrics may be used, and in the foregoing description 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 fulfil theorthogonality requirement GHr = 0 and any legitimate codeword will satisfy the condition xHT = 0. Here, the information and codeword blocks, s and x, respectively, are comprised of binary digits, i.e. 1 and 0, and the matrix operations are in a binary field.
Embodiments of the invention provide the maximum likelihood codeword or the soft output based on Equation 10. In an example implementation, the sphere decoder with input r and using G as the generator matrix, determines 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 employs a translation of the information 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, and/or mobile terminals. Broadly speaking embodiments of the invention facilitate cheaper receivers without a loss of performance, or equivalently increased data rates without correspondingly increased complexity and cost. Embodiments of the invention may also potentially find application in non-radio systems, for example a disk drive with multiple read heads and multiple data recording layers in effect acting as multiple transmitters.
No doubt many other effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.
Claims (32)
- CLAIMS: 1. A decoder for decoding a received signal, said received signalbeing provided by a transmitted signal comprising a string of symbols sent over a channel, each said symbol comprising one or more bits, said decoder comprising: a plurality of maximum likelihood decoders each configured to determine a minimum bit-dependent distance metric for a 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 string and a response of said channel; and a bit likelihood estimator coupled to each of said maximum likelihood estimators and configured to determine a bit likelihood value for each bit of said string dependent upon said minimum distance metrics.
- 2. A decoder as claimed in claim 1 wherein a said distance metric is determined responsive to a priori probability values for bits of said string.
- 3. A decoder as claimed in claim 1 or 2 wherein said maximum likelihood detectors are configured to determine, for each bit of said transmitted string of symbols, a pair of minimum bit-dependent distance metrics, one for each possible value of a said bit.
- 4. A decoder as claimed in any one of claims 1 to 3 comprising at least one of said maximum likelihood decoders for each bit of said string.
- 5. A decoder as claimed in claim 4 further comprising two of said maximum likelihood decoders for each bit of said string, one for each logical value of a said bit.
- 6. A decoder as claimed in any one of claims 1 to 3 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.
- 7. A decoder as claimed in claim 6 wherein said maximum likelihood string of symbols is determined responsive to a priori data relating to said string of symbols.
- 8. A decoder as claimed in any preceding claim wherein at least some of said maximum likelihood decoders are configured for concurrent operation.
- 9. A decoder as claimed in any preceding claim wherein said maximum likelihood decoders comprise sphere decoders.
- 10. A decoder as claimed in claim 9 when dependent upon claim 6, further configured to determine an initial search radius for one or more of said sphere decoders dependent upon said common maximum likelihood distance metric.
- 11. A decoder as claimed in claim 9 when dependent upon claim 6, further configured to determine an initial search radius for one or more of said sphere decoders dependent upon one or more candidate distance metrics determined during a search for said maximum likelihood string of symbols.
- 12. A decoder as claimed in claim 9 when dependent upon claim 6, further configured to determine an initial search radius for a sphere decoder configured to minimise a bit-dependent distance metric for a string of symbols in which a bit has a defined value by determining a said distance metric for said maximum likelihood string of symbols with said defined value bit inverted.
- 13. A decoder as claimed in any one of claims I to 12 wherein said channel comprises a MIMO channel, said received signal comprises a signal received at a plurality of receive antennas, and said transmitted symbol string is transmitted from a plurality of transmit antennas.
- 14. A decoder as claimed in any one of claims 1 to 12 wherein symbols of said transmitted string of symbols are transmitted by a plurality of different users, and wherein said received signal comprises a combination of said symbols transmitted by different users.
- 15. A method of decoding a received signal, said received signal being provided by a transmitted signal comprising a string of symbols sent over a channel, each said symbol comprising one or more bits, the method employing a plurality of decoders one allocated to each bit of said string, the method comprising: determining, for each bit of said string using a decoder allocated to the bit, a minimum bit-dependent distance metric for a 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 string and a response of said channel; and determining a bit likelihood value for each bit of said string dependent upon said minimum distance metrics.
- 16. A method as claimed in claim 15 wherein a said distance metric is determined responsive to a priori probability values for bits of said string.
- 17. A method as claimed in claim 15 or 16 comprising employing two of said decoders for each said bit one for each possible value of said bit, and determining, for each bit of said transmitted string of symbols, a pair of minimum bit-dependent distance metrics, one for each said possible value of a said bit using the two decoders allocated to the bit.
- 18. A method as claimed in claim 1 5, 1 6 or 1 7, wherein said determining includes determining a common, maximum likelihood distance metric for each bit of a maximum likelihood string of symbols.
- 19. A method as claimed in claim 18 comprising using at least one further decoder for said common distance metric determining.
- 20. A method asclaimedin any one ofclaims 15 to 19whereinsaid decoders comprise sphere decoders.
- 21. A method as claimed in any one of claims 15 to 20 wherein at least some of said distance metric determinations are performed in parallel.
- 22. Processor control code to, when running, implement the method of any one of claims 15 to 21.
- 23. A carrier carrying the processor control code of claim 22.
- 24. A receiver or decoder including the carrier of claim 23.
- 25. A soft-in soft-out decoder for decoding a received signal comprising a set of transmitted symbols, said decoder comprising a plurality of hard decoders 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 decoders 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.
- 26. A soft-in soft-out decoder as claimed in claim 25 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.
- 27. A soft-in soft-out decoder as claimed in claim 25 or 26 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.
- 28. A soft-in soft-out decoder as claimed in claim 27 wherein said set of distance metrics comprises a single, common distance metric.
- 29. A soft-in soft-out decoder as claimed in any one of claims 25 to 28 wherein at least some of said hard decoders are configured to operate in parallel.
- 30. A soft-in soft-out decoder as claimed in any one of claims 25 to 29 wherein a said distance metric is dependent upon a priori probability data received at a soft input of said decoder.
- 31. A soft-in soft-out decoder as claimed in any one of claims 25 to 30 wherein said hard decoders comprise sphere decoders.
- 32. A soft-in soft-out decoder as claimed in claim 31 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.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04255334A EP1521375A3 (en) | 2003-10-03 | 2004-09-02 | Signal decoding methods and apparatus |
US10/938,584 US20050111592A1 (en) | 2003-10-03 | 2004-09-13 | Signal decoding methods and apparatus |
JP2006515405A JP2007507913A (en) | 2003-10-03 | 2004-09-30 | Signal decoding method and apparatus |
PCT/JP2004/014763 WO2005034360A1 (en) | 2003-10-03 | 2004-09-30 | Signal decoding methods and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0323211.3A GB0323211D0 (en) | 2003-10-03 | 2003-10-03 | Signal decoding methods and apparatus |
Publications (3)
Publication Number | Publication Date |
---|---|
GB0416820D0 GB0416820D0 (en) | 2004-09-01 |
GB2406760A true GB2406760A (en) | 2005-04-06 |
GB2406760B GB2406760B (en) | 2006-04-12 |
Family
ID=29415473
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB0323211.3A Ceased GB0323211D0 (en) | 2003-10-03 | 2003-10-03 | Signal decoding methods and apparatus |
GB0416820A Expired - Fee Related GB2406760B (en) | 2003-10-03 | 2004-07-28 | Signal decoding methods and apparatus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB0323211.3A Ceased GB0323211D0 (en) | 2003-10-03 | 2003-10-03 | Signal decoding methods and apparatus |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1701518A (en) |
GB (2) | GB0323211D0 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1314216C (en) * | 2005-04-28 | 2007-05-02 | 北京邮电大学 | Quasi maximum posterior probability detection method for layer space hour code system |
EP1914919A1 (en) * | 2005-10-05 | 2008-04-23 | Mitsubishi Electric Corporation | Receiver apparatus |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064579B (en) * | 2006-04-25 | 2011-05-25 | 上海无线通信研究中心 | Method for detecting low-complexity globular decoding |
CN101155165B (en) * | 2006-09-29 | 2010-12-08 | 上海无线通信研究中心 | Method for reducing initialized radius of spherical decoding |
US8638885B2 (en) * | 2006-11-14 | 2014-01-28 | Intel Corporation | Space-time decoder and methods for decoding alamouti-encoded signals in high-doppler environments |
US8042031B2 (en) * | 2006-12-21 | 2011-10-18 | Industrial Technology Research Institute | Maximum likelihood detection method and system |
CN101359982B (en) * | 2007-08-03 | 2012-10-17 | 华为技术有限公司 | Space frequency group code detection method and apparatus |
CA2711265A1 (en) | 2008-02-08 | 2009-08-13 | Colgate-Palmolive Company | Assessment of oral cavity bioflora |
TWI424063B (en) * | 2008-02-08 | 2014-01-21 | Colgate Palmolive Co | Oral care methods and systems |
BR112020002079A2 (en) * | 2017-12-06 | 2020-07-28 | Fujitsu Limited | method, device and electronic device for encoding and decoding information so |
US10389447B1 (en) * | 2018-06-08 | 2019-08-20 | Ciena Corporation | Dimensional transformation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052842A (en) * | 1991-06-25 | 1993-01-08 | Sony Corp | Soft decision decoding circuit |
EP0937336A1 (en) * | 1996-11-06 | 1999-08-25 | Qualcomm Incorporated | Soft decision output decoder for decoding convolutionally encoded codewords |
EP0963048A2 (en) * | 1998-06-01 | 1999-12-08 | Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry | Max-log-APP decoding and related turbo decoding |
-
2003
- 2003-10-03 GB GBGB0323211.3A patent/GB0323211D0/en not_active Ceased
-
2004
- 2004-07-28 GB GB0416820A patent/GB2406760B/en not_active Expired - Fee Related
- 2004-09-30 CN CN200480000949.6A patent/CN1701518A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052842A (en) * | 1991-06-25 | 1993-01-08 | Sony Corp | Soft decision decoding circuit |
EP0937336A1 (en) * | 1996-11-06 | 1999-08-25 | Qualcomm Incorporated | Soft decision output decoder for decoding convolutionally encoded codewords |
EP0963048A2 (en) * | 1998-06-01 | 1999-12-08 | Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry | Max-log-APP decoding and related turbo decoding |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1314216C (en) * | 2005-04-28 | 2007-05-02 | 北京邮电大学 | Quasi maximum posterior probability detection method for layer space hour code system |
EP1914919A1 (en) * | 2005-10-05 | 2008-04-23 | Mitsubishi Electric Corporation | Receiver apparatus |
EP1914919A4 (en) * | 2005-10-05 | 2010-04-21 | Mitsubishi Electric Corp | Receiver apparatus |
Also Published As
Publication number | Publication date |
---|---|
GB0323211D0 (en) | 2003-11-05 |
CN1701518A (en) | 2005-11-23 |
GB2406760B (en) | 2006-04-12 |
GB0416820D0 (en) | 2004-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1521375A2 (en) | Signal decoding methods and apparatus | |
US7424063B2 (en) | Signal decoding methods and apparatus | |
EP1545082A2 (en) | Signal decoding methods and apparatus | |
JP5243411B2 (en) | Method, system and computer program for determining signal vectors | |
Wautelet et al. | MMSE-based fractional turbo receiver for space-time BICM over frequency-selective MIMO fading channels | |
JP2009527174A (en) | Apparatus, method and computer program for providing MIMO receiver | |
Tonello | MIMO MAP equalization and turbo decoding in interleaved space-time coded systems | |
GB2406760A (en) | Max-log MAP decoder used with maximum likelihood decoders and determining bit likelihoods | |
GB2409386A (en) | Sphere decoding system, particularly for MIMO applications, which has a different set of candidate points for each symbol of a received string | |
GB2406761A (en) | Sphere decoding in a space-time diversity (e.g. MIMO) communication system and other multi-user systems e.g. CDMA. | |
Tonello | Array processing for simplified turbo decoding of interleaved space-time codes | |
Witzke et al. | Iterative detection of generalized coded MIMO signals using a widely linear detector | |
Choi | On the partial MAP detection with applications to MIMO channels | |
GB2426419A (en) | A hardware accelerator for a signal decoder | |
Milliner et al. | A framework for fixed complexity breadth-first MIMO detection | |
i Fabregas et al. | Impact of signal constellation expansion on the achievable diversity of pragmatic bit-interleaved space-time codes | |
Cui et al. | Generalized feedback detection for MIMO systems | |
Soma et al. | Performance Analysis of K-Best Sphere Decoder Algorithm for Spatial Multiplexing MIMO Systems | |
GB2427106A (en) | Sphere decoder for MIMO applications with reduced computational complexity decomposition of the channel estimate matrix | |
Xue et al. | Per-survivor processing-based decoding for space-time trellis code | |
Claussen et al. | High-performance MIMO receivers based on multi-stage partial parallel interference cancellation | |
Vikalo et al. | Low-complexity iterative decoding over multiple antenna channels via a modified sphere decoder | |
An et al. | Decoding with expected length and threshold approximated (DELTA): A near-ML scheme for multiple-input–multiple-output systems | |
Souza et al. | A semiblind receiver for iterative data detection and decoding of space-time coded data | |
Poorkasmaei et al. | Asynchronous Orthogonal Differential Modulation for Multiple Access Channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20140728 |