GB2422074A - Reduced-State BCJR algorithm with improved state selection using signal information subsequent to the time of the state being assessed - Google Patents

Reduced-State BCJR algorithm with improved state selection using signal information subsequent to the time of the state being assessed Download PDF

Info

Publication number
GB2422074A
GB2422074A GB0500351A GB0500351A GB2422074A GB 2422074 A GB2422074 A GB 2422074A GB 0500351 A GB0500351 A GB 0500351A GB 0500351 A GB0500351 A GB 0500351A GB 2422074 A GB2422074 A GB 2422074A
Authority
GB
United Kingdom
Prior art keywords
trellis
states
received signal
state
probabilities
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
GB0500351A
Other versions
GB2422074B (en
GB0500351D0 (en
Inventor
Robert Jan Piechocki
Mong Suan Yee
Christophe Andrieu
Cheran Malsri Vithanage
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 GB0500351A priority Critical patent/GB2422074B/en
Publication of GB0500351D0 publication Critical patent/GB0500351D0/en
Priority to US11/261,540 priority patent/US7620877B2/en
Priority to JP2006001965A priority patent/JP4189407B2/en
Publication of GB2422074A publication Critical patent/GB2422074A/en
Application granted granted Critical
Publication of GB2422074B publication Critical patent/GB2422074B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3955Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a trellis with a reduced state space complexity, e.g. M-algorithm or T-algorithm
    • 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
    • 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0631Receiver arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/06Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/08Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the receiving station

Abstract

The BCJR algorithm is utilised to decode trellises of data but is computationally expensive, and therefore unsuitable for practical application to MIMO and other complex systems. Reduced-State algorithms M-BCJR and T-BCJR are available that discard some states to simplify the computation. However the selection of states is normally based only upon the forward recursion probabilities alpha, and non optimal performance can result in some circumstances. The invention selects states based on a fixed lag smoothed density of the states, which considers the received signal over a number of symbol periods before and after the state being assessed. The number of later periods can equal the channel impulse response period but can be reduced to trade off performance against complexity. The calculation of the fixed lag smoothed probability distribution can be simplified with a Gaussian approximation technique.

Description

M&C Folio: GBP90933 Signal Decoding Methods and Apparatus This invention
generally relates to methods, apparatus and computer program code for decoding signals, and more particularly to trellis-based decoding using a variant of a BCJR procedure.
Broadly speaking a trellis diagram comprises a sequence of sets of states indexed by time, the states representing states of a data encoder and transitions between the states representing encoded data. A trellis decoder generally (but not necessarily) provides information on the probability of data symbols (transitions) or of individual trellis states since such soft information can be used as a priori information for iteratively improving a decoding process. The BCIR procedure (named after the inventors) provides trellis decoding assuming Markov data (where the evolution of a state depends on the current state but not its history).
In most wireless applications a channel codec is employed to improve the performance of the receiver. Therefore, for most receivers, especially iterative receivers, a soft output detector/decoder/equaliser is required to provide the soft input to the channel decoder. For an encoder with memory, the BCJR algorithm (L. Bahi, J. Cocke, F. Jelinek and J. Raviv, "Optimal decoding of linear codes for minimizing symbol error rate," IEEE Trans. Information Theory, vol. 20, pp. 284-287, March 1974) is the optimal trellis-based decoder/detector. Here, the encoder with memory can be the channel encoder or the dispersive channel. Since the optimal BCJR algorithm suffers from a high computational cost for a large trellis, which occurs, for example, for broadband systems and MIMO systems, various reduced state BCJR algorithms have been proposed, such as the M- BCJR, T-BCJR and pre-fihtered BCJR algorithms.
However, these methods suffer from performance degradation due to loss of information when the trellis states are reduced. Also, the performance of these methods is dependent on the memory and energy distribution of the encoder'.
The BCJR is an efficient and optimal algorithm for maximum a posteriori state estimation under the assumption of a hidden Markov chain with a discrete state space.
It solves a trellis representation of the system by a forward recursion through each trellis stage (successive trellis stages corresponding to successive time instants) followed by a backward recursion through the trellis stages. This is described in more detail later.
However in many applications there is a large number of possible states at each trellis stage.
Since the algorithm has a substantial computational cost for a large trellis reduced complexity variations are used for practical implementations. One such scheme is the M-BCJR algorithm (V. Franz and J. B. Anderson, "Concatenated decoding with a reduced-search BCJR algorithm, " IEEE Journal on Selected Areas in C'o,ninun., vol. 16, pp. 186495, Feb 1998), which computes the recursions in the BCJR algorithm for only M states (a subset of the full set of trellis states) at every trellis stage. The M states are selected based on a metric of the BCJR algorithm, more particularly at a time t selecting the M states with the largest forward recursion parameter at. This M-BCJR algorithm is able to perform well when the memory of the system is low (i.e. the channel impulse response is short), but performs poorly when the memory increases; the authors conclude that this approach is "not successful". In an alternative approach described by Franz and Anderson in the same paper (T- BCIR) only states with the forward recursion parameter a1 greater than a threshold are selected, but the authors note that this approach has the disadvantage that the computation can vary widely, which can present difficulties in certain applications, particularly in a hardware implementation with a maxirnuiri cycle rate.
The inventors have recognised that the M-BCJR algorithm selects its active states based on the filtered distribution of states up to that time instance and therefore makes a premature choice of the states selection.
According to a first aspect of the present invention there is therefore provided a trellis decoder for decoding symbols of a received signal, said symbol comprising a sequence defined by transitions between states of a trellis, the trellis decoder comprising: means for performing a forward recursion through said trellis to determine a first set of probabilities (a(X1)) each defining a probability of a said trellis state (X1) responsive to one or more current or earlier received signal values (yit); means for providing a second set of (13(Xt)) probabilities each defining a probability of one or more received signal values (Yt+:T) given an earlier said trellis state (X1); means to decode said received signal to determine probabilities (p(b1 yi T)) for symbols of a corresponding transmitted sequence of symbols from said first and second sets of probabilities; and wherein said decoder further comprises: means to select states for determining said first set of probabilities responsive to one or more received signal values later than a said trellis state defining a probability in said first set.
In some preferred embodiments the means for providing the second set of probabilities (l3(X)) comprises means for performing a backwards recursion through the trellis to determine the probabilities. However in other embodiments this backwards recursion may be omitted and instead, for example, fixed probabilities for 13(X1) employed to implement, say, an improved type of soft output Viterbi. In this latter case the second set of probabilities (J3(X,)) may be provided by, say, a stored number, and all the probabilities 13(Xt) may be set to the same value, In both cases the selection of states is more particularly responsive to one or more current or earlier received signal values y(l1) in addition to the one or more received signal values later than the relevant trellis state.
Embodiments of the trellis decoder provide a reduced state variation of the BCJR procedure with improved performance in which a set of active states is selected at each time instance (trellis stage) in the forward recursion using received signals in the immediate future of the relevant time instant (trellis stage). Preferably the procedure looks over a predetermined time interval (a fixed lag), which may be selected, for example, responsive to the channel memory. In some preferred embodiments a smoothed distribution of states and/or state transitions is assumed at each time instance, which facilitates the use of a computationally simple Gaussian approximation, as described in more detail later. In embodiments this procedure is robust with respect to the memory or energy distribution of the underlying system and provides a performance approaching that of the conventional, optimal procedure but with only a fraction of the complexity.
Thus, broadly speaking, at each discrete time the procedure estimates a fixed lag smoothed distribution of the states (and state transitions) with a lag greater than zero.
Then an active state (and state transition) selection is performed using these fixed lag smoothed distributions. Thereafter the metrics of the BCJR algorithm are computed only for the selected, active states. The backward recursion of the algorithm is similar to conventional BCJR but, again, is only carried out over the selected active states. In this way embodiments of the invention use only a fraction of the total states, thus reducing the complexity of the trellis based decoding whilst retaining a near-optimal performance. This is achieved by the use of future information obtained through the fixed lag smoothed distribution of states and state transitions and in this way the information loss through premature state selection is reduced.
Thus preferably the means to select states employs a Gaussian approximation to determine a likelihood of a trellis state from the future received signal values (in effect, treating the transmitted symbols as Gaussian random variables to reduce complexity, although in reality, this is not necessary always true). The selection of states (at a trellis stage) may be made by selecting transitions from previous trellis states (at a previous trellis stage). A transition defines a transmitted symbol and a further selection of state transitions may be made using the probability of a particular transmitted symbol given the previous trellis stale and received signal values from a current time forward over the fixed time lag interval. Preferably states are further selected (at a current trellis stage) responsive to a probability of a particular state given the one or more later received signal values, and more particularly given a sequence of received signal values from an initially processed value through a current value to a future value a fixed time lag interval ahead of the current value.
In particular in embodiments states are selected based upon P(XtYI:t+L'), that is based on a probability distribution of the states given all the received values from a first time instance to time t+L'. Preferably a further selection of state transitions is made from a set of selected states of time (t-I) by selecting from p(btXt.i,yt:t+1.), that is a probability distribution of the state transitions from a particular selected state X given all the future received values at times t to t+L'.
The selection of states may be made dependent upon one or more log probability metrics dependent upon the one or more received signal values later than a time instant defined by a current trellis stage since this can reduce computational complexity.
In some embodiments the trellis decoding is applied iteratively, using a string of transmitted symbol probabilities given the received signal string as a priori information for another iteration of the decoding, with the aim of producing more accurate probabilities, As the skilled person will be aware, generally the output of a trellis decoder comprises soft (probability) information rather than hard information, although in embodiments the decoder may be configured to provide a (most likely) estimated transmitted symbol sequence output.
As previously mentioned, states at a current time are preferably selected responsive to a probability of the state given one or more later signal values, or more particularly given a sequence of signal values from an initial time to a future time ahead of the current time by a fixed time lag interval. This probability may be determined from a probability of a sequence of received signal values from a current time to a future time a fixed time lag interval ahead of the current time, given a previous (t-l) state. In preferred embodiments this latter probability is assumed to have a normal distribution, which simplifies the computational procedure. The multivariate normal distribution may be described by a mean vector and a covariance matrix. Where there is a non- uniform prior distribution of the symbols (for example because the decoding procedure is being applied iteratively or, for example because information is available from some other source such as a channel decoder) , the covariance matrix becomes time dependent.
The determination of the relevant probability (or equivalently a probability metric) requires a matrix inversion and thus for applications of this type the decoder preferably also includes means for extrapolating a value for the inverted covariance matrix at a particular time interval from its value at a previous time, this again reducing computational complexity.
More particularly a probability distribution p(yit+L' X) (see Equations 2 and 9a below) may be approximated by a multivariate normal distribution with a covariance matrix E, with means for extrapolating a value of an inverse of said matrix from a value at one said trellis state to a value at a later said trellis state. The probability of the transmitted symbols given a particular selected state of earlier time instance and future received signals may evaluated by considering how the distribution factorises across the symbols transmitted, that is approximating p(btj Xt. .l,Yt:i+L') by the product of p(b I X1.
I,Yt:t+L') for the indexj running through all the unlcnown transmitted symbols. Herej labels, for example, the jth component of a sequence of symbols (such as space-time symbols) transmitted together. The probability distribution p(b I X1.t,y(.t+L') may be approximated by a multivariate normal distribution with a covariance matrix Ej, with means for extrapolating a value of an inverse of the matrix from the value the inverse of the matrix E. In some preferred embodiments of the invention a received signal value comprises a vector of signals received over a MIMO (Multiple Input Multiple Output) channel, or in general a vector of signals in a receiver having multiple observations pertaining to a single time instance. This vector may define, for example, a space-time symbol in a spatially multiplex MIMO communications system such as a system in which multiple transmit antennas/data streams are transmitted by a single user/transmitter. In other embodiments the decoder may be employed for multi-user detection, for example where multiple users each with a single transmit antenna transmit at the same time (in this case the symbols transmitted over the different channels, for example from users with different spreading sequences, are then uncorrelated).
In still other embodiments the decoder may be employed for decoding transmitted signals with other diversities such as CDMA, in which signals from multiple users, optionally employing multiple antennas, differentiated by their unique spreading sequence codes, are received at a receiver. This is because channel effects can reduce orthogonality of the received signals so that additional processing may be necessary to differentiate the signals from the different users. Embodiments of the decoder may also be employed in OFDM (Orthogonal Frequency Division Multiplexed) MIMO or other communication systems.
Embodiments of a trellis decoder as described above may be employed for trellis-based decoding of a space-time code and/or a channel code, and/or equalisation. In some preferred embodiments joint equalisation and decoding of a channel coded and/or space-time coded system is performed. In general embodiments of the above described decoder provide reduced complexity decoding for any "encoder" which can be represented by a trellis diagram. Particular applications of embodiments of the decoder include a turbo decoder for example of the type required by UMTS (Universal Mobile Telecommunications System) or some wireless LAN (Local area Network) standards, and equalises, for example of the type required by the EDGE (Enhanced Data for Global Evolution) standard.
In a related aspect the invention provides a method of decoding symbols of a received signal, said symbols comprising a sequence defined by transitions between states of a trellis, each said trellis state being associated with a time, the method comprising: performing a forward recursion through said trellis to determine a first set of probabilities each defining a probability of a said trellis state responsive to prior values of said received signal; obtaining a second set of probabilities each defining a probability of one or more received signal values given a prior said trellis state; and decoding said received signal to determine probabilities for symbols of a corresponding transmitted sequence of symbols from said first and second sets of probabilities; the method further comprising: selecting states for determining said first set of probabilities responsive to one or more received signal values later than a said trellis state defining a probability in said first set.
In some preferred embodiments obtaining the second set of probabilities comprises performing a backwards recursion through the trellis to determine the probabilities.
Thus broadly speaking in embodiments, as described above in the first set of probabilities each probability is associated with a trellis state and the states for processing are based upon received signal values from future times (each trellis state being associated with a respective time), that is times later than that of the relevant state.
In a further related aspect the invention provides a method of decoding a trellis coded signal using a BCJR-type procedure in which probabilities of transmitted symbols are determined by forwards and backwards iteration through a trellis having successive sets of states associated with successive received signal time intervals, a set of states defining a trellis stage, the method comprising reducing the number of states processed at a said trellis stage (X1) by selecting states for evaluation for determining said probabilities based upon future received signal values (y(:t+L') at said stage.
Preferably, as previously described, the selecting of states comprises selecting transitions from a previously selected set of states in a previous trellis stage, preferably followed by further selection from among the states selected by selecting transitions.
This further selection is preferably responsive to a probability of a state (in a current trellis stage) conditioned on the (one or more) future received signal values (and preferably also on a current received signal value). Preferably a normal distribution is assumed for the future received sequence. A determined probability in embodiments comprises a log probability; in some preferred embodiments the selecting of transitions arid/or states comprises evaluating one or more log probability metrics.
The invention further provides a decoder configured to implement the above described methods, and in particular including means for implementing the features of the methods.
Thus the invention also provides a decoder for decoding a trellis coded signal using a BCJR type procedure in which probabilities of transmitted symbols are determined by forwards and backwards iteration through a trellis having successive sets of states associated with successive received signal time intervals, a set of states defining a trellis stage, the decoder including a system to reduce the number of states processed at a said trellis stage (Xi) by selecting states for evaluation for determining said probabilities based upon future received signal values (Yt:ti-L') at said stage, more particularly as well as the received values so far (yti).
The invention further provides a trellis decoder for decoding a trellis coded signal using a BCJR type procedure in which probabilities of transmitted symbols are determined by forwards and backwards iteration through a trellis having successive sets of states associated with successive received signal time intervals, a set of states defining a trellis stage, the decoder comprising: a received signal input for said trellis coded signal; an output for providing decoded signal data; program memory for storing processor control code; and a processor coupled to said received signal input, to said output and to said program memory for loading and implementing said code, said code comprising code to: reduce the number of states processed at a said trellis stage (X1) by selecting states for evaluation for determining said probabilities based upon future received signal values (Yt:t+L') at said stage, more particularly as well as the received values so far (yiti).
The invention further provides a trellis decoder for decoding symbols of a received signal, said symbols comprising a sequence defined by transitions between states of a trellis each said trellis state being associated with a time, the decoder comprising: a received signal input for said trellis coded signal; an output for providing decoded signal data; program memory for storing processor control code; and a processor coupled to said received signal input, to said output and to said program memory for loading and implementing said code, said code comprising code to: perform a forward recursion through said trellis to determine a first set of probabilities each defining a probability of a said trellis state responsive to prior values of said received signal; obtain a second set of probabilities each defining a probability of one or more received signal values given a prior said trellis state; and decode said received signal to determine probabilities for symbols of a corresponding transmitted sequence of symbols from said first and second sets of probabilities; the code further comprising code to: select states for determining said first set of probabilities responsive to one or more received signal values later than a said trellis state defining a probability in said first set.
The code to obtain the second set of probabilities may comprise code to perform a backwards recursion through said trellis to determine the probabilities, or may simply comprise code to assign a value, for example a fixed value, to each of said probabilities in said second set.
The invention further provides a receiver incorporating a decoder as described above.
The invention further provides processor control code to implement the above-described decoders and methods; and a trellis data structure storing BCJR trellis data for trellis states comprising substantially only those states which are selected by a decoder/method according to an embodiment of the invention. This code (and data) may be provided on a data carrier (sometimes referred to as a computer program product) such as a disk, CDor DVD-ROM, programmed memory such as read-only memory (Firmware), or on a data carrier such as optical or electrical signal carrier.
For many applications embodiments of the above-described decoders, and decoders configured to function according to the above-described methods, will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus code (and data) to implement embodiments of the invention may comprise code in a conventional programming language such as C or, for example, code such as microcode. However code to implement embodiments of the invention may alternatively comprise code for setting up or controlling an ASIC or FPGA, or 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 such code and/or data may be distributed between a plurality of coupled components.
As the skilled person will recognise, embodiments of the above described decoders and methods may be implemented in software or in hardware, in a combination of the two.
These and other aspects of the present 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 communications system; Figures 2a to 2c show, respectively, a portion of equalizer trellis according to an embodiment of the present invention, and first and second parts of a flow diagram of a procedure according to an embodiment of the present invention; Figure 3 shows a receiver incorporating an embodiment of a decoder in accordance with the present invention; Figure 4 shows a block diagram of a communications system incorporating an embodiment of a decoder according to the present invention configured for the equalisation of space-time coded and/or spatially multiplexed signals transmitted over a frequency selective channel; Figure 5 shows a block diagram of a communications system incorporating an embodiment of a decoder according to the present invention configured for the detection of space-time coded and/or spatially multiplexed signals transmitted over a flat fading channel; Figure 6 shows a block diagram of a communications system incorporating an embodiment of a decoder according to the present invention configured for trellis-based channel decoding; Figure 7 shows a block diagram of a communications system incorporating an embodiment of a decoder according to the present invention configured for the joint trellis-based decoding of the combined effect of a channel coder and a space-time coder and/or spatial multiplexer; Figure 8 shows graphs of bit error rate and frame error rate against signal-to-noise ratio for a first communication system comparing the performance of an embodiment of the
invention with prior art techniques; and
Figure 9 shows graphs of bit error rate and frame error rate against signal-to-noise ratio for a second communications system comparing the performance of embodiments of the
invention against prior art techniques.
We first describe the BCJR procedure; for additional background information reference may be made to Bahi, Cocke, Jelinek and Raviv, and toFranz and Anderson (ibid, hereby incorporated by reference).
Let us consider a state sequence, x0. that forms a Markov chain and that produces an output sequence yir, with a joint distribution that factorizes generally as p(x0, Y.r) = [11]I p(y, I''r_I,x, tx,..1)].P(Xo) with p(X0) being the initial state probability density. In other words at each time instant I we also have the conditional independencep(yJX1.,)= p(y,Ix,t,x,). Situations with Yt being independent of X1.1 as well are thus a special case of this formulation. Here, the notation A 8 refers to the sequence of states or symbols from time Ito z+B, i.e A1+ {AI,A,+, ,... ,A,8}. Let each state X, come from the set S. with cardina1ityJS.I. When the sequence Yi:r S observed, a linear time algorithm for the evaluation of the a posteriori probabilities p(X, I.' ) and p(X, , i'', i.) for all X,,X, S and t E {i,..., r} is the BCJR algorithm [1].
This algorithm involves a forward recursion through the trellis formed by the possibilities of the state sequence x0, in which the computation = p(X, ,y,x,1) and the recursive calculations of the metric a(X,)= p(X,, y1,)= Ea(x,)y(X,,X,) are made, and a backward recursion in which the v,_I s.,.
recursive calculations of the metric p(x,)= p(y,+,TJX,)= p(x,1),(x,,x,,) are made. x"Isx
Thereafter the A Posteriori probabilities of the states and state transitions can be evaluated by p(x,y)x a(,v,)p(x,) and p(x,1,x,Iy1r)cc o(x,1)y(x,_1,x,)p(x,) for all E S andt {1,...,T}. Although the complexity of this algorithm is linear in time T, it is also linear on 1s1.I which can be millions in some practical problems such as the equalization of MIMO systems. Thus there are many practical applications in which the algorithm cannot be implemented cost effectively.
The inventors have recognised that a reduced state version of this procedure can still perform well, and this is now described.
The procedure selects M active states at each time instance in the forward recursion, but unlike the M-BCJR algorithm mentioned above, which selects the M active states which have the largest metric a(X,), we use a fixed lag L' smoothed distribution of states p(x,IyI,+L.) at a particular time instance t for selecting states at that time instance, with L> 0. Thereby we consider the future received (signal) values in making the active state selection for a particular time instance. The lag L' can be chosen to account for the memory of the system (for example responsive to the average duration of the channel impulse response) and can be a compromise between performance and complexity.
To reduce the complexity of estimating this fixed lag smoothed density we use a Gaussian approximation technique. This technique has previously been described in Shoumin Liu and Zhi Tian, "Near-optimum soft decision equalization for frequency selective MIMO channels," IEEE Trans. Signal Processing, vol. 52, pp. 721-733, March 2004, in particular at Section 111-A of this paper, the contents of which are hereby incorporated by reference in their entirety.
We next present the implementation of these ideas for the equalization of a spatially multiplexed system. This will be described with specific reference to a MIMO system having a plurality in of transmit antennas and a plurality n of receive antennas, however the skilled person willrecognise that the techniques described are general and can be applied to other decoding problems where the data for decoding can be represented by a trellis, no matter what the transmitted and received signals.
To facilitate understanding of the later discussion it is helpful to illustrate a typical example of a MIMO communications system.
Thus Figure 1 shows an example of a known MIMO data communications system 100 in which a data source 102 provides data to a channel encoder 104 typically comprising a convolutional coder such as a recursive systematic convolutional (RSC) encoder, or a stronger so-called turbo encoder (which includes an interleaver). The channel encoder 104 is in this example followed by a channel interleaver 106 and 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 and may be described in terms of an encoding machine which operates on the data to provide spatial and temporal transmit diversity. This is generally followed by a modulator (not shown) to modulate the coded symbols for transmission.
Space-frequency encoding may additionally (or alternatively) be employed.
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, which has the task of removing the effect of the encoder 108 and the MIMO channel 112. 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 is (here) provided to a channel de-interleaver 118 which reverses the effect of channel interleaver 106, and then to a channel decoder 120, conventionally for example a Viterbi decoder, which decodes the convolutional code. The channel decoder 120 may be a SIHO (soft- 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 systems turbo decoding may be employed, where a soft output from a SISO (soft-in soft- out) channel decoder 120 is provided to a channel interleaver 124 (corresponding to interleaver 106), which in turn provides soft (likelihood) data to decoder 116 for iterative space-time (and/or frequency) and channel decoding.
Embodiments of a decoder as described herein may be employed to implement one or both (optionally combined or jointly) of ST decoder 116 and channel 120, or may be employed for other decoding tasks.
We now describe in detail an embodiment of a procedure according to the present invention.
Let us consider an in transmit antenna ii receive antenna spatial multiplexing system, where the channel memory of each transmit antenna to receive antenna path is L. Let the fading coefficient of the d*h channel tap fromfh transmit antenna to the 1th receive antenna be denoted by Iz"(d) ford E [O,L}j E (i,m]andi [i,n].
Let us also denote the signal received at the th receive antenna at the t time instance byy, and the antenna symbol transmitted by the th transmit antenna at thet' time instance byb/. Let us assume that the symbol b/ is chosen from the set B = {al,a2,...,aN} with cardinality N. The received signal y is determined by the convolution of the channel impulse response and a sequence of symbols transmitted up to L+1 time instants and an additive white Gaussian noise w: ,i (1) JoLfrI J The equalizer's task in this scenario is to consider the received signal y and detect the transmitted symbols b/.
Here b,' is a real or complex number, as is y, and h(d) is an (ii x in) matrix with the I th row and j th colunm component given by /:J(d).
For a MIMO channel an estimate of the matrix h can be obtained in a conventional manner, for example, using a training sequence transmitted from each transmit antenna in turn (to avoid interference problems), each time listening on all the receive antennas to characterise the channels from that transmit antenna to the receive antennas. This need not constitute a significant overhead since training may only be performed at intervals, say every 0.1 seconds for a slowly changing indoor channel, and data rates may be high in between training. Alternatively orthogonal sequences may be transmitted simultaneously from all the transmit antennas (although this increases the complexity of the training as interference problems can then arise).
Now, denoting vector transpose operation by(.)', a state of the decoder (equalizer) at time t can be defined as X, and the received vector at time t can be taken asy, = The symbols transmitted by all antennas at time t are collectively termed (in this example) a "space-time" symbol given by vectoi-k = (,,:,b,,...,b7)t; in other embodiments the vector b, can define multiuser, CDMA, OFDM or other transmitted signals.
Since X. forms a Markov chain and P(xOrY,xJ Px1lxi)j.Pxo) , the BCJR algorithm can be invoked to evaluate the a posteriori probabilities of the state transitions, which can be mapped to the a posteriori probabilities of the set of antenna symbols transmitted at each time instance. The algorithm we describe can, however, be implemented at a much-reduced practical complexity as explained below.
To account for any prior information about the transmitted symbols, let the prior probabilities of the N different possibilities of each antenna symbol be given by the vector (:1 p1,..., p71) for [i,T}and j E [i, ,,].
The algorithm we describe has a forward recursion and a backward recursion through the trellis similar to the BCJR algorithm. At each time instance in the forward recursion, the algorithm performs two functions: active state selection and the computation and storage of a(X,) for the active states of time t and y(x,.. , x,) for state transitions from the active states at timest-itog. Let the set of active states selected at time t be represented byc, = {X),x2),...,4l)} and the states that are contending to be active states be represented byE,, as shown in Figure 2a. Let us also assume a system that is terminated at a predetermined state, for example, state 0 (a trellis terminated system) at the end of the frame.
We next describe active state selection at time: The general idea is to estimate the fix lag smoothed density of the states for the states in E,. The following derivations present one simple method of estimating these densities at a low complexity.
We can first make the observation that there are up to MJV ' states in, corresponding to the state transitions emanating from the vf active states of time ti (since there are branches emanating from each active state). One method of estimating the fix lag smoothed density of the states in E, is by, pX, yi I+L.) Z atX,_, )plb, tx1-1, Y,,+L* )p(y,J+L.x, _I) (2) Here Z is the normalization constant of the estimated density of p(XIIyl,+L.). We can also make the further approximation of assuming that the antenna symbols of time t are independent after the observation ofy,,+ L. and given a particular active state of time 1-1: p(b, X, , Yr,+L.) p(b, 'IA',..i, (3) We win estimate the probabilities p(bJXI.I,y,S+L) and p(y11+ .x,,) using a Gaussian approximation.
We first consider p(y14L,lç,).
Observing that: YII+L = Ab + w (4) where the noise vector and the transmitted symbol vector are given by W = (w, ,..., w+L.)t, b = (b:_L,b, _L,...,b;1 L,,...,b7,)t respectively, and the form of A can be identified from (I). Thus, A is a n(L'+l) x,n(L'-i-L +1) Toeplitz matrix given by: I:(L) h(L-1) !i(L-2) *.. *. Ii(2) /i(I) h(O) 0 0 " 0 o Ji(L) h(L- I) Ji(L2) h(1) h(0) 0 0 o 0 Ii(L) /:(L-I) /z(L-2) -** Iz(1) Iz(0) 4= o o o a 0 h(I) Jz(0) where the (n x in) matrix h(d) has i th row and j Ui column component given by h'' (d).
Now in the matrix multiplication Ab of(4), there is a column vector of length n(L'+l) associated with each antenna symbolb for s E [t -L,...,t + L'} and! E [i,...,nij. Let us denote this column vector of A byh (ie. a symbol b has a column vector h associated with it containing information relating to the channel). Now, (4) can be written as: Y,,+L' = + h,'b' +w (5) scfi-L. i-i) sc-fr,. ,,.i.L') Ic-ti,.. ,,,i) ICt1, .,m) A particular state X,..1 renders the b known for [i -L,1--11 andlE[1,In]. Due to the uncertainty of other antenna symbols, the true distribution of y,, given x,.1 is a mixture of normal distributions, We will approximate this true distribution with a single Gaussian distribution that has the same moments of the true distribution. That is we can say that p(y,ftLx,) has a multivariate normal distribution with a mean vector and a covariance matrix; which can be evaluated by moment matching as: = hb + E Ii'E(b) (6) si-L, .t-i) cjr, ,s+L') IEi,. ...i) .,m) and, =+ Ii(h'Var(b) (7) Gf(, .I+L') Ieji,. .n) where is the covariance matrix of is' and (.)" denotes conjugate transpose operation ( is a vector of length n(L'+l) and, is a n(L1+1) x n(L'+l) matrix).
The a priori mean and variance of the unknown antenna symbols can be evaluated by: (8) and Var(b)=IakI2.p, _IE(b (9) Here p1 is probability of the symbol transmitted by the 1th antenna at time index s,b for s [i,, + L'J and! [i,iz] being the symbol ae fork E [1,NJ. Equal symbol probabilities may be assumed unless other information is available, for example from a previous iteration of the decoding procedure and/or from a channel decoder.
Therefore for the particular received sequence y,,., the probability P(Y,, +L!X,_I) can be estimated as follows: P(Y,:,+Lk,-j) exp[(-.1)(y - )" (y (9a) We next consider p(b/x,.t.Y, Thus, similarly for the estimation ofp(b/IX,5,y,,+L.), we will try to fit a single normal distribution to the distribution of 1,,' given X, andy1,+,., such that it is moment matched to the true discrete distribution. Thereby rewriting Equation (4) as h/b/ = YI,+L* - + + iv :ej,-t... i-I) 34.. j+L'} ku, nil lEt!.
(iJn(l,j) and again noting that particular state x, renders the b known for s [t - L,I -i] and i[1,m], we can assume that p(h/ii,'x,,,y, .) is having a normal distribution with the corresponding mean fi,, and covariance,, by: P1,j = YI,+L - Iib,' - hEt1b) and ,, = E+ h'(h)" Var(b).
is-L, ,,-) ss. .t+L) SEII. ,,J+L lGtI) i, (s4,j) s4(s,j) Thus for known h/ and for any particular b/, pb/ X, , can be estimated: p(b/ k'_1 Y +L') XP[_i:ww - )" ( ) (ww - (9b) Now, for a given state X11, the state transition to time instance t is determined by the transmitted space-time symbol b,. Here as a further method of reducing the system complexity the algorithm selects S transitions from each of the M states at time i-I using the estimation of the density p(bX, ,,y,,+L.) given by (3) (and (9b)), selecting the most likely transitions ie. those with the largest probabilities. Therefore, has up to MS states. We evaluate p(X,lyl,+L.) for these states (equation (2)) and select M distinct states at time I that have the largest fixed lag smoothed probability and include them inn'.
We now describe the computation of aX,) and,(x,.,1, x,).
For the selected states cz(x,) is computed by a(X,)= a(X,)y(X,,,X,) (10) where y(X,..,,X,) is computed as x, ) = x, p(X, 1x1-1) (11 a) This in our case can be computed as: y(x,,x, )= exP{.__!t/ _ h'1(d).b/_ii}].P(br) (1 ib) 7Z 0 Il iIO)I Wherep(b,) is the prior probability of the space-time symbol b, which is transmitted from the state transition relevant to(x,.. 1,X,). In the absence of better information the space-time symbols may be considered equally likely.
In the backward recursion of the algorithm, j7(x,) is computed for each state in, using the relation: p(x,)= fi(x, 1)r(x,,x,+1) (12) Taking ç(b,) to denote the set of state transitions that results in the transmission of the particular space-time symbol k the A Posleriori probability of the space-time symbols at time instant t are computed by p(b,Iyjr)= Z' Ea(x,1) y(A',11x,)/3(x,) (13) V,_1Efl *.( Again, Z' is the normalization constant of the estimated density of p(b,yIT). The a posteriori probability of each antenna symbol can be computed from these computed posterior probabilities of the space-time symbols as follows. Let us say the a posteriori probability density of the symbols transmitted by the antermaj at time instant I is given by the vector (q1,, qj2,,.., qtjN), where qtjk is the posterior probability of the particular antenna symbol being 0*, for kE[1,NJ. Then q1k for every te{1,...,T},jE{1,. . .,m} and k{1,...,N} can be calculated by summing space-time symbol probabilities over all the space-time symbols that result in the transmission of the antenna symbol ak from antennaj.
Where bitwise probability values are desired the probability of a particular bit having a particular binary value may be obtained by summing symbol probabilities over all the symbols in which that bit has that particular binary value.
We next describe pseudo code for implementing an embodiment of the invention for the equalization of a spatially multiplexed system. Reference may also be made to Figures 2b and 2c, which summarise the steps of the procedure (in Figures 2b and 2c the numbering of the steps corresponds to that given below). We assume that N,, number of iterations of the proposed algorithm is performed (though in some embodiments N,, may equal one).
Step 1: Select the parameters L', Ii'!, S and N,,,.
Step 2: Set the iteration counter C,, to 1.
Step 3: Sett = 1. Set X' = 0 (or some other starting state) for h = 1,..., M and seta(X0 =o)=i anda(,'0!=o)=o.
Step 4: When Y,+L is received, compute the estimates of p(y,J+LIx,1) and p(WIx, ,yi, L) for every j E [i, rn], X,.1 E c and b/ e B using the Gaussian approximations described in Equation (9a) and (9b). Compute p(b, )I, , from Equation (3).
Step 5: For each x, Ec =11, select the S largest p(kIx,I,yS,+L.) and consider the corresponding state transitions to be active. Thereby determine the states ofE,.
Step 6: Compute the estimate of p(X, 1y1 +L.) for every state A', E, using (2). Select the M distinct states that have the largest fix lag- smoothed probability and include them in,.
Step 7: Compute y(X,1, x,) using (I ib) for every x,..1 cl,..1, x, c, and a(X,) using (10) for every X, EQ,. Store these values.
Step 8: If, <7- L', increase t by one and go to Step 4, otherwise continue to Step 9.
Step 9: If T - L' = t <7', increase t by one, consider to be received as value 0 and go to Step 4; otherwise continue to Step 10.
Step 10: If the state 0 is included in C., set 13(XT = o) = i and /3(x!= 0) =0 (set mutatis mutandis for some other finishing state); otherwise set /3(XT) =1 for allXTECT.
Step 11: Compute p(x,) for every X,1 E = using (12).
Step 12: Compute p(b,Iy,r) for every possible space-time symbol using (13) .
Compute the posterior probabilities of the antenna symbols from these a posteriori probabilities of the space-time symbols.
Step 13: ift >1, decrease I by one and go to Step 11, otherwise continue to Step 14.
Step 14: ifc,, <Na, increase c by one, consider the computed a posteriori probabilities of the antenna symbols as their a priori probabilities and go to Step 3; otherwise Stop.
We next describe how the computational complexity of the procedure may be reduced by using the Jacobian logarithm to represent the probabilities in logarithmic form.
The evaluation of probabilities a(X,), 4o(x,) , , X,) and p(b, r) can be represented in the logarithmic form to invoke the Jacobian logarithmic approximation, ln(exp(a)+exp(b)) J(a,b) max(a, b) + In(1 + exp(- Ja - bI)) , (14) niax(a,b)+ LUT(Ia - bI) in order to reduce the computational complexity. Here, the Jacobian logarithmic function could employ the look up table LU7'(.) to approximate in(i + exp(-Ia - bI)).
Therefore the forward, backward and transition probabilities are modified from Equation (1O)-(13) to: = ln(a(X,)) = Iz{ exp[A(X,1)+ r(x,1, x1)]] B(X,) = ln(fi(xj) = ifl[ exp[B(X,1) r(x,, X1)J] = ln(y(X,_,X,)) = +ln[p(k)J 0* j= Lpr(b,) = In[p(b, Yl.T)] = in exp1i1(x,_1)+r(x,..,x1)+B(x,)} -Zn. (15) Here zn is the normalization constant such that p(b Jy) is a proper density. The selection of active states and state transitions according to Steps S and 6 in the above pseudo-code invoke Equations (9a) and (9b) that employs exponential function, which is costly for implementation. This can be avoided as explained below.
The selection of active states, involves selecting S active state transition with largest Here, referring to Equation (3) and (9b), the probability p( IX,1, y,,,+L.) can be represented as: p(b, IA',_1, , L*) ex{_.. - jij)" ,j (iz/ii/ - A.., ) (16) Therefore, the active state transition selection can be invoked by choosing the state transition with S lowest metrics = (Wb/ -ft,1)",1-'(I/b/ -j,,) (17) Here, the computation of the metrics 1' is less costly than the full evaluation of p(b, IA'II, y, l+L) in Equation (16).
Similarly the active state selection is based on p(X, I YII+L. ) {cr(X,, ) p(b1 Ix,..1 YI:I+L)P(ys,+L IX,_1)} {exp[,i(x,_1) - ), cI(b, , Y+. L) - ) P(y,+, L" x,1)1= exp[O(X, ; X,b1, V) J where referring to Equation (9a), the logarithmic term corresponding to p(y$;,+L*IX,_j) is given by ( Yg:,+L' (ye,+i. - Now taking the log probabilities, L PrX, IY+) = In expO(X, ; x,, ,b, )gl) J Z (18) where zM is the normalization constant such that p(X, 1'i,+) is a proper density. Here, the computational simplifications due to the Jacobian logarithm approximation can be used to evaluate (18). An alternative further reduced complexity but less accurate method of active state selection is to select M distinct states that have the largest metric e(x, ; x,b, Y,+, We next describe how the computational complexity of the procedure may be additionally or alternatively reduced by using the matrix inversion lemma.
The computation of the inversions of the matrices,, and for each transmit antenna and for each time instant can be a computationally intensive task. One method of avoiding computing these inversions at each time instance in the case of implementations with uniform prior distributions for the space-time symbols and when the total state space is very large (eg in M1IMO systems) is to increase the number of active states (Al) instead of going into an iterative implementation. Inversions of the matrices ,j and, become time instance dependent only in the presence of a non-uniform prior distribution on the symbols as, for example could result from Step 14 of the above pseudo-code procedure.
When these matrices inversions are necessary for each time instance, their computational complexity can be reduced using the following technique.
We can write = , - ti;i.Qs')" Var(b/ )+ t"/+L+I.Qi/+.1)" Var(bjL.+I)= , + u(u 2q (19) W1en = E and,% = f_Var(bv) ;q E " [h1;q E [m + 1,2mJ 1"'(T+1) ;q [in + 1,2;ii] Now, without directly calculating the inverse), we can sequentially calculate the effect on the inverse oft, by the addition of the components in (19). For example let, E, ;k=O + uq(uq)hui.q;k E [I,2,n} Of course it is g.2m = whose inverse we are interested in. Now say we have the inverse of for some k E Lo,2m - i]. Then) = + u 1)" 2)" can be computed as )_l = ( )1 - )_I 11k+I (,,)I1)_l (20) (I 2.I(1ik+ (E,) uk+I) From which method we can end up with ( ).
The recursive calculations of,1 follow similarly. In fact, the inverse of can be computed more efficiently using the inverse of,, by observing that !, =, _Ji/Qi/)'Vartb,') (21) From which we can get: ) = (, ) + , ) i'Q,')" ( )- Varb/) - (1_varb/XW) ,) hi) The BCJR algorithm includes forward and backward recursion through the trellis to determine the probabilities for the estimated symbols. To further reduce the computational complexity, the backward recursion of the algorithm can be ignored and thus the contribution of the backward recursion metrics fl(X,) in the computation of the a posteriori probability of the space-time symbols in Equation (13) is not included.
Therefore this reduced complexity version is similar to the soft output Viterbi algorithm which finds the best survivor path in the trellis.
Figure 3 shows a receiver 300 incorporating an embodiment of a decoder in accordance with the invention.
Receiver 300 comprises one or more receive antennas 302a, b (of which two are shown in the illustrated embodiment) each coupled to a respective rf front end 304a, b, and thence to a respective analogue-to-digital converter 306a,b and to a digital signal processor (DSP) 308. DSP 308 will typically include one or more processors 308a (for example, for a parallel implementation) and some working memory 308b. The DSP 308 has a data output 310 and an address, data and control bus 312 to couple the DSP to permanent program memory 314 such as flash RAM or ROM. Permanent program memory 314 stores code and optionally data structures or data structure definitions for DSP 308.
In the illustrated example program memory 314 includes trellis-based BCJRtype (space time) decoder code 314a comprising state selection code, forward recursion parameter computation code, backward recursion parameter computation code, and transmit symbol probability estimation code to, when running on DSP 308, implement corresponding functions as described above. Program memory 314 also includes MIMO channel estimation code 314b to provide a MIMO channel estimate II, and optionally (depending upon the type of encoding applied) de-interleaver code 314c, interleaver code 314d, and channel decoder code 314e. Examples of suitable code 314e are well known to those skilled in the art. In other embodiments, as illustrated with reference to Figures 4 to 7, the decoder code may additionally or alternatively implement channel decoding and equalisation. The skilled person will also appreciate that embodiments of the described decoder may be applied in many types of communication system, not just MIMO systems.
Optionally the code in permanent program memory 314 may be provided on a carrier such as an optical or electrical signal carrier or, as illustrated in Figure 3, a floppy disk 316.
The data output 310 from DSP 308 is provided to further data processing elements of receiver 300 (not shown in Figure 3) as desired. These may include 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 trade-off.
Figures 4 to 7 show some examples of applications of the above described decoder/method in MIMO systems. The examples are non-exhaustive and the same examples are applicable to communication systems with a single transmit antenna.
Thus Figure 4 shows application of the above decoding procedure for the equalisation of space-time coded and/or spatially multiplexed signals transmitted over a frequency selective channel, Figure 5 shows application of the above decoding procedure for the detection of space- time coded and/or spatially multiplexed signals transmitted over a flat fading channel, Figure 6 shows application of the above decoding procedure for trellis-based channel decoding, and Figure 7 shows application of the above decoding procedure for the joint trellis-based decoding of the combined effect of a channel coder and a space-time coder and/or spatial multiplexer.
Figures Ba and 8b show graphs of (uncoded) bit error rate (BER, Figure 8a) and (uncoded) frame error rate (FER, Figure 8b) against signal-to-noise ratio in dB. The graphs show the results of a simulation of a 2x2 (two transmit antenna, two receive antenna) system in a 5-tap quasistatic Rayleigh fading channel, each transmit antenna transmitting BPSK (binary phase shift keying) modulated symbols.
The graphs compare a full BCJR procedure (curve 800), M-BCJR according to the prior art (Franz and Anderson) with four (curve 802) and sixteen (curve 804) active states per trellis stage, and an embodiment of the algorithm as described above with M =4 and L' = 3L (curve 806); S was set to the maximum value of 4. It can be seen that the procedure we describe remarkably achieves near optimal performance (without consideration of the channel decoder) by considering only 4 active states, whereas the optimal equalizer has a total of 256 states and the prior art M-BCJR with 16 active states perfomis less well.
Figures 9a to 9d show graphs of uncoded and coded bit error rate (BER, Figures 9a and 9c respectively) and uncoded and coded frame error rate (FER, Fignres 9b and 9d respectively), against signal-to-noise ratio in dB. The graphs show the results of a simulation of a 1x1 (single transmit antenna, single receive antenna) system transmitting 8PSK symbols into a 3-tap channel (curves 9xxa), a 5-tap channel (curves 9xxb), and a 10-tap channel (curves 9xxc).
The optimal BCJR equalizers for the respective 3, 5 and 10-tap channels have a total of 64, 4096 and over 134 million states. As optimal equalization is computationally impossible we compared the performance of an embodiment of the above described procedure with a conventional soft output MIMSE (minimum mean square error) equalization technique (M. S. Yee, M. Sandell, and Y. Sun, "Comparison study of single-carrier and niulti-carrier modulation using iterative based receiver for MIMO system," in Proc. IEEE VTC Spring 04, Milan, Italy, May 2004). Thus the graphs compare the performance of conventional soft output MMSE equalization (curves 900) with the performance of an embodiment of the algorithm as described above with M = 8 (for the 3-tap channel; curves 902), M = 16 (for the 5-tap channel; curves 904), and M = 64 (for the I 0-tap channel; curves 906); S was set to the maximum value of 8. It can be seen that embodiments of the above procedure achieve better performance than the linear MMSE scheme by considering only 8, 16 and 64 active states in the respective cases.
Thus it can be seen that for these examples, of equalization in a communication system, the systems we describe are able show relative invariance of perfonnance when the energy distribution of the channel changes. Moreover the number of active states required for good performance shows little increase with the increase in channel memory, even though the total number of states of the trellis increases exponentially.
We have illustrated the equalization of spatial multiplexed systems, and the single Gaussian approximations used for the low complexity estimation of the fixed lag smoothed distributions of the states and state transitions can be seen to be working well for the BPSK, (QPSK) and 8PSK modulations with up to two transmit antennas. Similar techniques may also be employed in the frequency domain, for example in the context of MIMO decoding by serial-to-parallel converting and then performing a fast Fourier transform prior to MIMO decoding, applying an inverse Fourier transform and parallel- to-serial conversion after MIMO decoding.
Applications of embodiments of the invention include MIMO and non-MIMO receivers, for any type of signal which is susceptible to trellis-based decoding and include applications in base stations, access points, mobile terminals, wireless networks including PANs (personal area networks) and LANs (local area networks) and applications in third and fourth generation mobile phone networks.
Broadly speaking embodiments of the invention facilitate cheaper receivers and/or improved performance, for example increased data rates without correspondingly increased complexity and cost. Embodiments of the invention may also potentially find application in other non-radio communication systems, for example a disk drive with multiple read headsand/or multiple data recording layers (which act like one or more 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 scope of the claims appended hereto.

Claims (35)

  1. CLAIMS: 1. A trellis decoder for decoding symbols of a received signal,
    said symbol comprising a sequence defined by transitions between states of a trellis, the trellis decoder comprising: means for performing a forward recursion through said trellis to determine a first set of probabilities (a(X)) each defining a probability of a said trellis state (Xi) responsive to one or more current or earlier received signal values (yi:t) ; means for providing a second set of (13(Xt)) probabilities each defining a probability of one or more received signal values (Yt+i:T) given an earlier said trellis state (X1); means to decode said received signal to determine probabilities (p(b I yI:T)) for symbols of a corresponding transmitted sequence of symbols from said first and second sets of probabilities; and wherein said decoder further comprises: means to select states for determining said first set of probabilities responsive to one or more received signal values later than a said trellis state defining a probability in said first set.
  2. 2. A trellis decoder as claimed in claim I wherein said means for providing said second set of probabilities comprises for performing a backwards recursion through said trellis to determine said probabilities (13(X1)).
  3. 3. A trellis decoder as claimed in claim 1 or 2 wherein said means to select states employs a Gaussian approximation to determine a likelihood of a said trellis state from said one or more later received signal values for selecting said states.
  4. 4. A trellis decoder as claimed in claim 1, 2 or 3 wherein said selecting means is further configured to select states by selecting transitions from previous said trellis states.
  5. 5. A trellis decoder as claimed in any preceding claim wherein said selecting means is configured to select a state responsive to a probability of said state given said one or more later received signal values.
  6. 6. A trellis decoder as claimed in any preceding claim wherein said one or more later received signal values comprises signal values received over a fixed time lag interval.
  7. 7. A trellis decoder as claimed in any preceding claim wherein a said received signal value comprises a vector of signals received over a MIMO channel.
  8. 8. A trellis decoder as claimed in any preceding claim wherein said decoding comprises joint equalisation and decoding of a space-time and/or channel coded transmitted signal.
  9. 9. A trellis decoder as claimed in any preceding claim wherein said means to select states comprises means for evaluating one or more log probability metrics dependent upon said one or more later received signal values.
  10. 10. A trellis decoder as claimed in any preceding claim ftirther comprising means for iterating said forwards and backwards recursion and symbol probability determining; and wherein said means to select states comprises means for determining a probability of a said trellis state responsive to an a priori symbol probability distribution.
  11. 11. A trellis decoder as claimed in any preceding claim wherein said means to select states is configured to select states at a time (t) responsive to a probability distribution (p(X I Yi:t+L')) of said states given received signal values from an initial time to a future time (t + L').
  12. 12. A trellis decoder as claimed in any preceding claim wherein said means to select states is configured to select states at a time (t) responsive to a probability distribution (p(b1 I X1) Yt.t+L')) of transitions from a previous selected state (X1.1) given received signal values from said time (t) to future time (t + L').
  13. 13. A trellis decoder as claimed in claim 12 wherein said probability distribution (p(b1 I X1) ytt+C)) is approximated by a product of probability distributions p(b I X1..
    ),Yt:t+L'), wherej indexes thejth component of a sequence of symbols transmitted together, and where said product is formed for indexj running through said transmitted symbols.
  14. 14. A trellis decoder as claimed in claim 13 wherein said probability distribution p(b X,Yt:t+L') is approximated by a multivariate normal distribution with a covariance matrix the decoder further comprising means for extrapolating a value of an inverse of said covariance matrix from an inverse of a covariance matrix EL describing an approximation of a probability distribution (P(yt:i+C X1.1)) of received signal values from said time (t) to future time (t + L') given a previous state (X1.1).
  15. 15. A trellis decoder as claimed in any one of claims Ito 12 wherein said means to select states is configured to select states responsive to an approximation of a probability distribution (P(Y(t+L' I X1)) of received signal values from said time (t) to future time (t + L') given a previous state (X1.1), said approximation comprising a multivariate normal distribution having a covariance matrix E1, and wherein dais decoder further comprises means for extrapolating a value of an inverse of said covariance matrix from a value at one said trellis state to a value at a later said trellis state.
  16. 16, A trellis decoder as claimed in any one of claims 1 to 10 wherein said means to select states is configured to select states at a time (t) responsive to a probability distribution, wherein said probability distribution is approximated by a multivariate normal distribution, said normal distribution being defined by a matrix (Er; E,j), and wherein said means for selecting states further comprises means for extrapolating a value of an inverse of said matrix from a value at one said trellis state to a value at a later said trellis state.
  17. 17. A receiver including the decoder of any preceding claim.
  18. 18. A method of decoding symbols of a received signal, said symbols comprising a sequence defined by transitions between states of a trellis, each said trellis state being associated with a time, the method comprising: performing a forward recursion through said trellis to determine a first set of probabilities each defining a probability of a said trellis state responsive to prior values of said received signal; obtaining a second set of probabilities each defining a probability of one or more received signal values given a prior said trellis state; and decoding said received signal to determine probabilities for symbols of a corresponding transmitted sequence of symbols from said first and second sets of probabilities; the method further comprising: selecting states for determining said first set of probabilities responsive to one or more received signal values later than a said trellis state defining a probability in said first set.
  19. 19. A method as claimed in claim 18 wherein said obtaining of said second set of probabilities comprises performing a backwards recursion through said trellis to determine said second set of probabilities.
  20. 20. A method of decoding a trellis coded signal using a BCJR-type procedure in which probabilities of transmitted symbols are determined by forwards and backwards iteration through a trellis having successive sets of states associated with successive received signal time intervals, a set of states defining a trellis stage, the method comprising reducing the number of states processed at a said trellis stage (X1) by selecting states for evaluation for determining said probabilities based upon future received signal values (Y(:t+L') at said stage.
  21. 21. A method as claimed in claim 20 wherein said selecting comprises selecting transitions to said trellis stage from a previous trellis stage.
  22. 22. A method as claimed in claim 20 or 21 wherein said selecting includes selecting said states responsive to a probability of a said state given said future received signal values.
  23. 23. A method as claimed in claim 20, 21 or 22 wherein said future received signal values comprise received signal values over a lag time interval (L').
  24. 24. A method as claimed in claim 23 wherein said lag time interval is detennined by a memory time interval of a channel between a transmitter of said transmitted symbols and a receiver of said received signal.
  25. 25. A method as claimed in any one of claims 18 to 24 wherein said received signal comprises a vector defining a MIMO signal.
  26. 26. A method as claimed in any one of claims 18 to 25 wherein said selecting comprises evaluating one or more log probability metrics (1), 0) .
  27. 27. A carrier carrying processor control code to, when running, implement the method of any one of claims 18 to 26.
  28. 28. A decoder configured to implement the method of any one of claims 18 to 26.
  29. 29. A decoder for decoding a trellis coded signal using a BCJR type procedure in which probabilities of transmitted symbols are determined by forwards and backwards iteration through a trellis having successive sets of states associated with successive received signal time intervals, a set of states defining a trellis stage, the decoder including a system to reduce the number of states processed at a said trellis stage (Xe) by selecting states for evaluation for determining said probabilities based upon future received signal values (Yt:t.4-L') at said stage.
  30. 30. A receiver including the decoder of claim 28 or 29.
  31. 31. A trellis decoder for decoding a trellis coded signal using a BCJR type procedure in which probabilities of transmitted symbols are determined by forwards and backwards iteration through a trellis having successive sets of states associated with successive received signal time intervals, a set of states defining a trellis stage, the decoder comprising: a received signal input for said trellis coded signal; an output for providing decoded signal data; program memory for storing processor control code; and a processor coupled to said received signal input, to said output and to said program memory for loading and implementing said code, said code comprising code to: reduce the number of states processed at a said trellis stage (Xi) by selecting states for evaluation for determining said probabilities based upon future received signal values (Yt:ti-L') at said stage.
  32. 32. A trellis decoder for decoding symbols of a received signal, said symbols comprising a sequence defined by transitions between states of a trellis each said trellis state being associated with a time, the decoder including a state selector to select trellis states (X') at a time (t) based on a probability distribution of said states given received signal values from an initial time prior to said time (t) to a future time (t + L').
  33. 33. A trellis decoder as claimed in claim 32 wherein said state selector is further configured to select said states by selecting transitions from a previous state (X1) based on a probability distribution of said transitions given said received signal values from said time (t) to said future time (t + L').
  34. 34. A trellis decoder for decoding symbols of a received signal, said symbols comprising a sequence defined by transitions between states of a trellis each said trellis state being associated with a time, the decoder comprising: a received signal input for said trellis coded signal; an output for providing decoded signal data; program memory for storing processor control code; and a processor coupled to said received signal input, to said output and to said program memory for loading and implementing said code, said code comprising code to: perform a forward recursion through said trellis to determine a first set of probabilities each defining a probability of a said trellis state responsive to prior values of said received signal; obtain a second set of probabilities each defining a probability of one or more received signal values given a prior said trellis state; and decode said received signal to determine probabilities for symbols of a corresponding transmitted sequence of symbols from said first arid second sets of probabilities; the code further comprising code to: select states for determining said first set of probabilities responsive to one or more received signal values later than a said trellis state defining a probability in said first set.
  35. 35. A trellis decoder as claimed in claim 34 wherein said code to obtain said second set of probabilities comprises code to perform a backwards recursion through said trellis to determine said second set of probabilities.
GB0500351A 2005-01-10 2005-01-10 Signal decoding methods and apparatus Expired - Fee Related GB2422074B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB0500351A GB2422074B (en) 2005-01-10 2005-01-10 Signal decoding methods and apparatus
US11/261,540 US7620877B2 (en) 2005-01-10 2005-10-31 Signal decoding methods and apparatus
JP2006001965A JP4189407B2 (en) 2005-01-10 2006-01-10 Signal decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0500351A GB2422074B (en) 2005-01-10 2005-01-10 Signal decoding methods and apparatus

Publications (3)

Publication Number Publication Date
GB0500351D0 GB0500351D0 (en) 2005-02-16
GB2422074A true GB2422074A (en) 2006-07-12
GB2422074B GB2422074B (en) 2007-06-06

Family

ID=34203788

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0500351A Expired - Fee Related GB2422074B (en) 2005-01-10 2005-01-10 Signal decoding methods and apparatus

Country Status (3)

Country Link
US (1) US7620877B2 (en)
JP (1) JP4189407B2 (en)
GB (1) GB2422074B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265175B2 (en) 2007-06-05 2012-09-11 Constellation Designs, Inc. Methods and apparatuses for signaling with geometric constellations
WO2008151308A1 (en) 2007-06-05 2008-12-11 Barsoum Maged F Design methodology and method and apparatus for signaling with capacity optimized constellations
US8035909B2 (en) * 2008-06-11 2011-10-11 Seagate Technology Llc Coding technique for correcting media defect-related errors and random errors
FR2946480B1 (en) * 2009-06-09 2011-06-17 Thales Sa RECEIVER EQUIPPED WITH A DECODER FROM VITERBI A TREILLIS
EP2501049A1 (en) * 2011-03-14 2012-09-19 Commissariat à l'Énergie Atomique et aux Énergies Alternatives Trellis state based stopping criterion for turbodecoding
ES2439143B1 (en) * 2012-07-18 2015-02-13 Telefónica, S.A. METHOD AND SYSTEM THAT IMPLEMENT A TURBO-DIVERSITY SCHEME FOR WIRELESS OFDM SYSTEMS
US9007942B2 (en) * 2012-08-02 2015-04-14 Qualcomm Incorporated Iterative covariance inversion based on linear receiver designs
US20170214413A1 (en) * 2016-01-21 2017-07-27 HGST Netherlands B.V. Joint source-channel coding with dynamic dictionary for object-based storage
EP3413487B1 (en) * 2017-06-07 2019-09-25 Siemens Aktiengesellschaft Channel-adaptive error-detecting codes with guaranteed residual error probability

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075468A2 (en) * 2002-03-04 2003-09-12 Wavecom Method for processing a signal using an approximate map algorithm and corresponding uses

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597743B1 (en) * 1999-12-07 2003-07-22 Ericsson Inc. Reduced search symbol estimation algorithm
JP2001274698A (en) * 2000-03-24 2001-10-05 Sony Corp Encoding device, its method, recording medium for recording encoding program, decoding device, its method and recording medium for recording decoding program
JP2001285375A (en) * 2000-03-30 2001-10-12 Sony Corp Encoding apparatus, encoding method and recoding medium with encoding program recorded thereon, and decoding apparatus, decoding method and recording medium with decoding program recoded thereon
US7236536B2 (en) * 2001-07-26 2007-06-26 Lucent Technologies Inc. Method and apparatus for detection and decoding of signals received from a linear propagation channel
US6947506B2 (en) * 2002-04-11 2005-09-20 Bae Systems Information And Electronic Systems Integration Inc. Method and apparatus for improved turbo multiuser detector
US7190743B2 (en) * 2002-07-29 2007-03-13 Bae Systems Information And Electronic Systems Integration Inc. Method and apparatus for optimizing tree pruning in a multiuser detector
US7248651B2 (en) * 2002-08-21 2007-07-24 Texas Instruments Incorporated Low complexity high performance decoder and method of decoding for communications systems using multidimensional signaling
US7245666B1 (en) * 2003-04-03 2007-07-17 Qualcomm, Inc. Soft symbol decoding for MIMO communication systems with reduced search complexity
US7248849B1 (en) * 2003-06-03 2007-07-24 Texas Instruments Incorporated Frequency domain training of prefilters for receivers
US7321646B2 (en) * 2003-11-18 2008-01-22 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for pre-filtering a signal to increase signal-to-noise ratio and decorrelate noise
US7308047B2 (en) * 2003-12-31 2007-12-11 Intel Corporation Symbol de-mapping methods in multiple-input multiple-output systems
US7321644B2 (en) * 2004-06-08 2008-01-22 Texas Instruments Incorporated Low-complexity, symbol-based, reduced substreams maximum likelihood decoder and method for a multiple-input, multiple-output communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075468A2 (en) * 2002-03-04 2003-09-12 Wavecom Method for processing a signal using an approximate map algorithm and corresponding uses

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IEEE Journal on Selected Areas in Communications, Vol. 16, No. 2, February 1998, V. Franz et al, "Concatenated Decoding with a Reduced-Search BCJR Algorithm", pages 186-195. *
IEEE Journal on Selected Areas in Communications, Vol. 19, No. 5, May 2001, G Colavolpe et al, "Reduced-State BCJR-Type Algorithms", pages 848-859, especially page 851. *
Wireless Communications and Mobile Computing, Oct-Dec2001, C Fragouli et al, "Reduced-trellis equalization using the the M-BCJR algorithm", pages 397-406. *

Also Published As

Publication number Publication date
US20060156207A1 (en) 2006-07-13
JP4189407B2 (en) 2008-12-03
GB2422074B (en) 2007-06-06
US7620877B2 (en) 2009-11-17
JP2006238422A (en) 2006-09-07
GB0500351D0 (en) 2005-02-16

Similar Documents

Publication Publication Date Title
JP4536539B2 (en) Bit string candidate reduction type receiver and reception processing method
GB2422074A (en) Reduced-State BCJR algorithm with improved state selection using signal information subsequent to the time of the state being assessed
KR100690873B1 (en) Decoding apparatus and method of mimo system
US20080292016A1 (en) Signal decoding methods and apparatus
EP1521375A2 (en) Signal decoding methods and apparatus
US8331510B2 (en) Receiver and method for two-stage equalization with sequential search
WO2005034455A1 (en) Method and apparatus for sphere decoding
JP2009527174A (en) Apparatus, method and computer program for providing MIMO receiver
US7480340B2 (en) Signal estimation methods and apparatus
EP1920547A1 (en) Interference reduction in a communication signal
JP2005237033A (en) Turbo reception method and receiver therefor
GB2406761A (en) Sphere decoding in a space-time diversity (e.g. MIMO) communication system and other multi-user systems e.g. CDMA.
Amis et al. Efficient Frequency-Domain MMSE turbo equalization derivation and performance comparison with the Time-Domain counterpart
AU2003227104B2 (en) Filter structure for iterative signal processing
Patel Interleave-division multiple access systems with invert tree based interleavers with unequal power sharing algorithm
Ylioinas et al. On the activation ordering of detector, decoder, and channel estimator in iterative receiver for MIMO-OFDM
Kim et al. SNR measurement free adaptive K-Best algorithm for MIMO systems
Songying et al. GMP-based Iterative Equalization in MIMO ISI Channels
Claussen et al. High-performance MIMO receivers based on multi-stage partial parallel interference cancellation
CA2201460C (en) Joint detector for multiple coded digital signals
Karjalainen et al. Iterative frequency domain joint-over-antenna receiver for multiuser MIMO
Kim et al. An adaptive K-best algorithm without SNR estimation for MIMO systems
Mo et al. Iterative channel estimation and decoding for coded MIMO system in unknown spatially correlated noise
EP2096815B1 (en) An apparatus and a method for providing probability measures
Wang et al. Advanced signal processing for wireless multimedia communications

Legal Events

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

Effective date: 20180110