Multi-user Detection and Decoding
Field of the Invention
The present invention relates to a method, apparatus and computer program for multi-user detection and decoding of signals.
Background
Multi-user detection and decoding (MUD) techniques allow detection and decoding of transmissions by two or more mutually interfering users over an interference channel.
In general, MUD involves a detection process in which the received composite signal is resolved into symbol estimates for each user, and a decoding process in which the symbols are decoded to recover their data content, using a forward error correction (FEC) decoding algorithm. An optimal joint decoder combines these two processes using a maximum likelihood decoding technique to minimize the probability of decoder error. This technique has a complexity that increases exponentially with the number of users and the FEC codeword length, and may not be possible with certain FEC coding techniques such as Turbo codes. Hence, it is necessary to devise sub-optimal techniques with reduced complexity.
One sub-optimal approach is separate the detection and decoding processes. Joint decisions are made on each symbol in the detection process, and the symbol streams are then independently decoded using conventional decoding techniques.
Another approach is iterative decoding, where soft decisions by the detector are input to separate decoders for each user, and the soft decisions by the decoders are fed back iteratively to the detector. Examples of iterative decoding algorithms are disclosed in 'An Iterative Multiuser Decoder for Near-Capacity Communications', Moher M, IEEE Transactions on Communications vol. 46, No. 7, July 1998 and 'Multiuser Decoding for Multibeam systems', Moher M, IEEE Transactions on Vehicular Technology, July 2000, Volume 49, Number 4, pages 1226-1234.
A problem associated with iterative decoding in general is that the iterations may not converge under certain operating conditions of the receiver; see for example 'Convergence of Iterative Coding', ten Brink S, LEE Electronics Letters, Vol. 35, No.10, May 1999, pp. 806 - 808 which discloses the use of extrinsic information transfer (EXIT) charts as a tool for convergence analysis.
Statement of the Invention
According to one aspect of the present invention, there is provided a joint multiuser detector and separate soft demodulators, decoders and modulators, which provide updated estimates to the detector for the next iteration. The decoders use a weak decoding algorithm during initial iterations and a strong decoding algorithm during subsequent iterations of the detecting and decoding process.
Weak decoding algorithms have better performance at low signal to noise ratios, but worse performance at high signal to noise ratios than strong decoding algorithms. The present inventor has discovered that, by switching from weak decoding at initial multi-user detecting/decoding iterations to strong decoding at subsequent multi-user detecting/decoding iterations, convergence can be achieved at lower carrier to interference ratios than could be achieved using either strong or weak decoding alone.
According to another aspect of the present invention, there is provided an iterative decoder, comprising: an outer decoder for receiving a set of prior coded bit probabilities and generating a set of posterior coded bit probabilities; an inner decoder for receiving as prior coded bit probabilities the posterior coded bit probabilities output by the outer decoder and generating a set of posterior coded bit probabilities, which are provided as the set of prior coded bit probabilities for input to the outer decoder in the next iteration, if any; wherein the outer decoder uses a weak decoding algorithm for an initial one or more iterations and a strong decoding algorithm for a subsequent one or more iterations.
Both aspects of the invention extend to method, apparatus and computer program categories.
Brief Description of the Drawings
Specific embodiments of the present invention will now be described with reference to the accompanying drawings, in which:
Figure 1 is a schematic diagram of multiple transmitters transmitting over a multiple access channel; Figure 2 is a schematic diagram of a multi-user detector and decoder in an embodiment of the present invention;
Figures 3a to 3m are graphs of bit and packet error rate against Eb/N0 in simulation results of the multi-user detector and decoder;
Figure 4 is a schematic diagram showing the grouping of the multi-user detector and decoder for the purposes of mutual information transfer analysis; and Figure 5 is an EXIT chart for two different codes; and Figures 6a to 6h are EXIT charts analysing the convergence of the multi- user detector and decoder for different C/I values and different numbers of users.
Detailed Description of the Embodiments
Transmitter
Figure 1 shows a plurality K of users comprising, for the purpose of this discussion, respective bit sequences b1[i]...bκ[i] encoded by encoders Ci...Cκ to produce coded sequences d1[i]...dκ[i], which are interleaved by respective interleavers π1...π.κ to generate interleaved sequences π1(d1[i])...riκ(dκ[i]), which are in turn modulated by modulators Mi... MR to generate respective sequences of modulated symbols x1[i]...xκ[i] at time i.
In one specific example, the encoders . - .CK are Turbo encoders i.e. parallel systematic recursive convolutional encoders, one or more but not all of which have an interleaver at the input, as described for example in 'Near Shannon limit error-correcting coding and decoding: Turbo codes', Berrou, C, Glavieux, A. and Thitimajshima, P, Proc. of ICC '93, pp 1064-1070. The modulators M1...MK may be 16QAM modulators, as used for example in the Inmarsat™ MPDS (mobile packet data service).
Multiple Access Channel
The modulated symbol sequences x1[i]...xκ[i] are transmitted on a multiple access channel MA such that a set of symbol sequences yi[i]...yκ[i] are received at a receiver. The effect of the multiple access channel MA may be modelled as: y[i] = A x[i] + n[i] (1) where y[i] is the complex vector channel output,
A is a normalised correlation matrix representing the cross-correlation between symbol sequences,
W is a diagonal matrix representing the amplitudes of each user and n[i] represents the channel noise.
Receiver Architecture
The received signal y1[i]...yκ[i] is detected and decoded by an iterative MUD receiver as shown in Figure 2. A multi-user detector DET takes as its input the output of the multiple access channel MA and the current soft estimates (initialised to zero at the first iteration) of each user's average contribution to the received signal, subject to the current probability distributions on the data. The detector DET outputs updated soft estimates by subtracting the current soft estimates of all the interfering users. The soft estimates for the respective users are soft demodulated by soft demodulators SDEMi-.-SDEMio which calculate the posterior probabilities of each possible symbol of the modulation constellation. For example, with a 16QAM scheme, for each input symbol a probability is calculated of that symbol being each of the possible 16 symbols of the constellation. The corresponding soft detected bits are reordered by deinterleavers IT ^ ..IIK "1 and input to decoders DECι...DECκ which refine the probabilities of the coded bits derived from the soft demodulators SDEMi.-.SDEMK by taking into account the knowledge of the FEC code. The bits are reordered once again by respective interleavers π1...riκ and output to soft modulators SMi...SMκ, which produce conditional expectations of the coded and modulated symbols according to the posterior probabilities calculated by the decoders DE ...DECK. These average symbols are input to a model of an estimated multiple access channel EMA which updates the channel estimates for each user, on the basis of estimated channel parameters derived by a channel estimator CE, and feeds these back to the multi-user detector DET for the next iteration.
The receiver architecture may be implemented in software, programmed for example into a digital signal processor (DSP) or other hardware or firmware, which may form part of a terminal. The functional blocks shown in Figure 2 do not necessarily correspond to discrete hardware components.
Receiver Functional Description
Multi-user detector
The multi-user detector DET has the following inputs: y[i] a sequence of complex K- vectors (for K users) received from the multiple access channel EMA
Ml- •yKW a set of sequences of complex K- vectors from the estimated channel EMA
a sequence of complex K x K matrices. The row vector m[i]
k
is a filter to be used for user k. The multi-user detector DET has the following outputs: x[i] a sequence of complex K- vectors. The component x
k[i]is the new estimate of symbol i for user k. σ
k estimated residual interference plus noise variance for user k.
The multi-user detector DET has the following operation: For a synchronous channel,
XklAH ∞k.i]' y[i]- ■∑ jH (2)
This is the inner product between the filter for the user k and the results of cancelling all the estimated components other than user k from the channel output. For an asynchronous channel, each sequence xk[t] must be delayed and equalised to compensate for symbol timing and frequency offset. This may be done by an acquisition stage of the receiver.
The sequence of matrices M[i] represents a time-varying matrix filter. In the simplest case, this may be a diagonal matrix of complex values which representing gain and phase. These are assumed to be slowly varying and are estimated from unique words at the beginning and end of a burst.
The residual plus noise interference for each user is estimated from the completely cancelled signal:
using a variance estimation technique:
where L is the number of symbols in the bursts.
Soft Demodulator
Each soft demodulator SDEMk has the following inputs: xk[t] sequence of complex numbers corresponding to the soft symbol estimates for user k
<2 = (Qo,...Q
15) An ordered set containing the normalised complex constellation values (assuming QAM, otherwise the cardinality will be different) {S* : b = 0,1,2,3} A set containing the indices of the constellation points in Q that correspond to bit b being equal to zero.
Noise plus residual interference estimates for each user the following outputs: (P
k[ilP
k[ilP
k[ilP
k[i]j A sequence of 4-vectors (in the case of QAM).
Element pk[i] is the prior probability, between 0 and 1, that bit b of symbol i for user k is zero and calculates the bit probabilities as follows:
where η is the zero mean, variance σ
k Gaussian probability density function.
Channel Interleaver
Each channel interleaver and puncturer JT receives as input the data and parity bits from the corresponding coder Ck and interleaves and punctures them to generate sets of bits each corresponding to one symbol for modulation. This type of interleaver and puncturer is used in the Inmarsat™ IPDS. Each user uses the same interleaving and puncturing pattern.
Soft Decoder
Each soft decoder SDECk has the following inputs:
Nc The number of decoding iterations to perform for each MUD iteration
Jϊk, CHANNEL The channel interleaver for the user k Iϊk, TURBO The Turbo interleaver for the user k
A sequence of 4- vectors (in the case of QAM). Element p
k[i] is the prior probability, between 0 and 1, that bit b of symbol i for user k is zero π [i] A sequence of scalars representing the prior probability that bit i for user k is zero and the following outputs:
( k[ilPktJPk[ilPk[i]) -A sequence of 4-vectors (in the case of QAM).
Element pk[i] is the posterior probability, between 0 and 1, that bit b of symbol i for user k is zero πk[i] A sequence of scalars representing the posterior probability that bit i for user k is zero The posterior coded and uncoded bit probabilities are calculated from the prior coded and uncoded bit probabilities using an iterative "soft-in/soft-out" Turbo decoder. Techniques for iterative Turbo decoding are well-known in the art, for example: 'Iterative Decoding of Binary Block and Convolutional Codes', Hagenauer J, IEEE Transactions on Information Theory, Vol. 42, No. 2, March 1996.
Soft Modulator
Each soft modulator SM has the following inputs:
<2 = (Q
0;...Q
15) An ordered set containing the normalised complex constellation values (assuming QAM, otherwise the cardinality will be different)
θχ..Λ5} A set containing the indices of the bits in j which are equal to zero. For example, Z?
0 is the set {0, 1, 2, 3} while R
5 is the set {1, 3}
A sequence of 4-vectors (in the case of QAM). Element p
k[i] is the posterior probability, between 0 and 1, that bit b of symbol i for user k is zero
and the following output: [z] a sequence of complex scalars representing the new soft estimate of symbol i for usery
The estimates are calculated as the expectation of the signal constellation according to the current symbol probabilities:
where the symbol probabilities are calculated according to
pj = b rsBtø, ra b ieBi,d-ΛΗ) (7)
where B . is the complement set (i.e. the indices of the bits that are ones).
Channel Estimator
The channel estimator CE has the following input: x[ι] a sequence of complex scalars. xk[t] represents the new soft estimate of symbol i for user k. and outputs the current estimated channel parameters (phase, frequency, timing and amplitude). The channel estimator estimates the channel parameters for each of the sequences corresponding to the different users.
Estimated Multiple Access Channel
The estimated multiple access channel EMA has the following inputs: £[t] a sequence of complex scalars. xk[t] represents the new soft estimate of symbol i for user k The current estimated channel parameters and the following outputs:
{yj [i],...yκ [i]} a set of sequences of complex K-vectors. The vector sequence yk[i] corresponds to the current estimated contribution of user k to the channel output.
The estimated multiple access channel EMA models the effect of the actual multiple access channel according to the current estimates of the channel parameters. For example, if the channel is symbol synchronous,
where w
jk is the estimated complex gain from user k to output j.
Improving Convergence
Varying Decoding Iterations
For each MUD iteration, the number of iterations No of the soft decoders SDECk is variable. It has been discovered that, for early MUD iterations, it is beneficial to use a low number of decoding iterations, as tins improves convergence by giving coding gain at low signal to interference-plus-noise ratio, and also reduces the total complexity of the algorithm. In one example using Turbo decoding and 10 MUD iterations, only one Turbo iteration was used for MUD iterations 1 to 5, while for MUD iterations 6 to 10, respectively 6 to 10 Turbo iterations were used.
Simulation Results
Figures 3 a to 3m show simulation results with the variable number of decoding iterations described above, and the following simulation parameters:
- Inmarsat™ IPDS MESP20 packets (i.e. 20 ms, 33,600 symbols/s, 16QAM)
- symmetric interference patterns - K = 2, 4 and 7
Figure 3 a shows the improvement in BER for two users, with the number of MUD iterations shown by dashed lines. The solid line shows the performance for a single user with no interference, using 10 Turbo iterations. C/I power ratios are quoted per user. The BER for two users with MUD approaches single user performance. Figures 3b to 3f show the simulation results for two users, with BER and PER plotted against E /No, for C/I = 15, 12, 9, 6 and 3 dB per user respectively.. For C/I = 15 and 12 dB, the loss compared to a single user is minimal - less than 0.2 dB at a bit error
rate of 10"4. For C/I = 3 dB, the loss increases to 6 dB. The intercept point is defined as the E /N0 value where PER = 10"3.
Figures 3g to 3j show the simulation results for four users, with C/I = 15, 12, 9 and
6 dB per user respectively, giving similar characteristics to the two-user results. Lower interference levels (15 and 12 dB) result in near single-user performance, while higher interference (9 and 6 dB) results in increased degradation. Convergence is no longer possible for C/I < 5 dB.
Figures 3k to 3m show the results for seven users, with C/I = 15, 12 and 9 dB per user respectively, showing a loss of almost 0.5 dB for C/I = 15 dB, increasing to 4 dB for C/I = 9 dB. The receiver did not converge for C/I = 6 dB or below.
EXIT Analysis
The convergence properties of the MUD receiver will now be analysed without full system simulation by the use of extrinsic information transfer (EXIT) charts, in order to explain the improvement in convergence by varying the number of decoding iterations between MUD iterations. Figure 4 shows how the components of the MUD receiver and decoder of Figure 2 are grouped together into inner and outer decoders by analogy with serially concatenated codes. The soft modulator SMk, canceller C comprising the estimated multiple access channel EMA and the multi-user detector DET, and the soft demodulator SDEMk are grouped together as an inner decoder ID which takes as its input the coded bit probabilities ps for the user of interest, together with interference estimates from all the other users, and outputs coded bit probabilities PA- The decoder DECk forms an outer decoder, which takes as input the coded bit probabilities PA, deinterleaved by the deinterleaver Tl and depunctured, and outputs the coded bit probabilities pβ, which are interleaved by the interleaver Il , punctured and provided as input to the inner decoder.
EXIT Simulation
The mutual information transfer characteristics of the inner and outer decoder were
Monte Carlo simulated as follows. For the outer decoder, a random frame of binary data was generated. Random prior probabilities on the bits are generated by transmitting the bits x[i] over an auxiliary binary input AWGN (additive white Gaussian noise) channel with noise variance σ
2 to produce the received sequence z[i], and setting:
where α is a normalisation constant. This has the effect of producing normally distributed log-likelihood ratios and is only used for generation of random probabilities; it has nothing to do with actual data transmission. The resulting P
A models the output of the inner decoder. The result is depunctured (meaning that punctured bits are set to uniform probability), de-interleaved and input to the decoder, which performs a number of decoding iterations. The output is then punctured to produce the output probabilities pβ. The input and output mutual information I
A, I
B a e calculated as described below. The process is repeated for a large number of frames and average values of I
A and I
B are calculated.
For the inner decoder LD, a random frame of binary data is generated for each of K users, encoded, interleaved and punctured to produce the binary sequences Xk[i], and are then modulated to produce the associated symbol sequences. Random probabilities pβ(xk[i]) on the punctured bits for each user are generated by transmitting the bits Xk[i] over an auxiliary binary input AWGN channel with noise variance σ2, as with the outer decoder OD. The received vector signal y is formed by passing the modulated user sequences through a simulated satellite channel model with a fixed SNR and C/I. The values of ps(Xk[i]) are soft modulated, passed through the multi-user canceller C (which also takes y as an input) and then soft demodulated to produce pA(xk[ ])- The input and output mutual information IA and IB are calculated as described below. The process is repeated with a large number of random frames and average values of IA and IB are calculated.
Given a bit sequence x[i] and the corresponding probabilities p(x[i]), the mutual information I(x; p) is calculated as follows: Calculate the log likelihood ratios: = log* Ii (10) p(x[ι]) = 0)
Calculate empirical conditional probability distributions P(λ | x = 0) and P(λ | x = 1) by forming normalised histograms (using a fixed bin width) from the sets {λ[i] : x[i] = 0} and {λ[i] : x[i] = l }. Calculate the empirical mutual information:
ι = yp(λ i χ)iog^(λ | x) (11)
& ∑P(λ | χ) λ
Simulation Results
Figure 5 shows the EXIT transfer chart for two different codes. The mutual information IA (input to the outer decoder) is shown on the horizontal axis, while IB (input to the inner decoder) is shown on the vertical axis. An output mutual information of zero means that the decoder has no knowledge of the transmitted data, while IB = 1 means that it has perfect knowledge, giving zero error rate. The transfer function of the rate V MPDS decoder is shown for 1, 2, 3, 4, 5 and 10 iterations. The curve for 1 iteration is dashed, while the rest are solid; the characteristics for iterations 2 to 10 are all fairly similar. For IA less than approximately 0.55, a single iteration of the Turbo decoder provides the greatest
IB-
Also shown is the transfer characteristic of a maximal free distance 4 state rate Vi convolutional code. For IA less than about 0.5, it performs better than the Turbo decoder, but is much slower to reach the ideal IB = 1. The circles indicate the single-user operation points for SNR values of Eβ/No from 3 to 10 dB. Hence, IB for a particular SNR is given by the intersection of a vertical line through the SNR point with the transfer characteristic curve. The Turbo code yields good single-user performance at Eβ/N0 > 3.5 dB, a gain of about 3 dB over the convolutional code.
Figures 6a to 6h show EXIT transfer charts for various numbers of users K, C/I levels and Eb/N0 values. On each chart, the characteristics of the outer decoder with ND = 1 is shown by a dashed line, with ND = 10 by a solid line, and the characteristics of the inner decoder are shown with dotted lines, with characteristics for different values of shown on each chart, and these values are shown in dB where the line intersects the top of the chart.
Each MUD iteration "bounces" between the characteristics of the inner and outer decoders, as the mutual information output from one becomes the input to the other. The algorithm will not converge unless there is a "tunnel" between the inner and outer decoder characteristics. Figure 6a shows an example for K=4, C/I = 9dB and Eb/N0 = 5 dB. The first MUD iteration starts with no information, at (0, 0). The first cancellation step gives IA « 0.35, labelled 1, which is input to the Turbo decoder. At each decoding step, we choose the higher of the ND = 1 and the ND = 10 curves, to achieve the fastest convergence. After the first decoding iteration we have IB « 0.35, which is traced across to the canceller curve,
and so on for successive MUD iterations labelled 2 to 6. At the 6th iteration, the curve for ND = 10 is higher than the curve for ND = 1, so 10 decoding iterations can be used per MUD iteration for faster convergence. However, using ND = 10 for each MUD iteration would prevent convergence after the third MUD iteration, as the ND = 10 curve intersects the canceller curve around I « 0.5.
Figures 6b to 6d show the transfer charts for K=2 and C/I = 9, 6 and 3 dB respectively. From these, we can predict convergence thresholds of E /N0 = 3.5, 4 and 6 dB respectively. The corresponding results where BER = 10"3 from Figures 3d to 3f are 4.25, 5.5 and 9 dB. Figures 6e and 6f show the transfer charts for 4 users with C/I = 9 and 6 dB respectively. The predicted convergence thresholds are at E /N0 ~ 4.5 and 9 dB respectively. The corresponding results from Figures 3i and 3j are 5.25 and 8.25 dB.
Figures 6g and 6h are transfer charts for 7 users with C/I = 12 and 9 dB respectively. The predicted convergence thresholds are at Eb/N0 ~ 4.5 and 9 dB respectively. The corresponding results from Figures 31 and 3m are 5 and 7.5 dB.
The simulation results show a C/I threshold below which performance rapidly deteriorates. This sudden degradation is due to failure of the MUD iterations to converge, as a result of a combination of the characteristics of the multi-user detector and the decoder. The C/I threshold is reduced by switching from a single decoding iteration per MUD iteration to multiple decoding iterations.
The EXIT analysis may be extended to different codes, by simulating the appropriate code characteristics and comparing them to the MUD curves.
It is envisaged that alternative embodiments of the invention may use more than one decoding iteration initially, while using a greater number of decoding iterations during later MUD iterations. Furthermore, different decoding algorithms could be used between the initial and subsequent MUD iterations, provided the different decoding algorithms operate on the same codes.