[DESCRIPTION]
[Title of Invention]
METHOD AND DEVICE FOR COMPUTING SOFT ESTIMATE OF CODED BITS FORMING TRANSMITTED SYMBOL VECTORS
[Technical Field]
[0001]
The present invention relates generally to a method and a device for computing a soft estimate of coded bits forming transmitted symbol vectors received by a receiver from a source through a channel.
[Background Art]
[0002]
Multi antennas technique, named MIMO (Multiple Input Multiple Output) may be used for digital video broadcasting systems. For example, a two stream MIMO scheme enables to increase twice the data rate of the broadcasting system.
[0003]
The increase of the number of transmit antennas allows an improvement of the system robustness at the price of a drastic increase of the receiver complexity.
[0004]
Many types of MIMO detectors have been investigated like Hard output or Soft output detectors. Soft output/Soft-input allows turbo-detection and decoding. [Summary of Invention]
[0005]
Let us consider the transmission of N symbols of a Quadrature Amplitude Modulation QAM constellation over a linear channel with N inputs and M outputs, represented by a M x N complex matrix H.
[0006]
At the receiver, a vector of M complex Gaussian entries is added to the
linear observation Hz, which leads to the following channel model :
y = Hz + η
where £[zz†] = p\N and ^[η "] = lM, x† denotes the transpose conjugate of x and p denotes by definition the Signal to Noise Ratio (SNR) and lN is a NxN identity matrix.
[0007]
The symbol Zj is the i-th entry of the vector z and belongs to a Quatrature Amplitude Modulation QAM of size 2Si and carries a number Sj of coded bits. Let us assume here that the constellation symbols have their real and imaginary parts belonging to the set of integers {0,1, - , 2s'/2— 1}.
[0008]
Such a definition of the QAM modulation is not centered. If we define and as the received and QAM symbols vectors and H^ as the equivalent channel when a centered QAM modulation is transmitted, then we have the following relationship with the received and QAM symbols vectors and equivalent channel when a non-centered AM modulation is transmitted:
"J?
where V— Ϊ denotes the imaginary unit.
[0009]
For each transmission on the above model, the coded bits are a subset of a larger vector of coded bits produced by an encoding step from a vector of information bits that carry the data to be transmitted.
[0010]
The binary labeling that converts a vector of coded bits c into the vector of modulation symbols z is denoted Ω(. ), such that Ω(ε) = z, Ω_1(ζ) = c and
Ω ΐ(ζ) = Cj which is the j-th bit of the vector of coded bits c. The multidimensional QAM constellation is called C = {z}, i.e., is the set of all possible vectors of symbols z.
[0011]
Some receivers perform a soft output estimation of the coded bits, but also take soft input a priori information from the output of a previous iteration of decoding of the error correcting code. The receivers provide soft estimates to an input of a soft-input soft-output decoder that produces estimates on the information bits but also soft-output estimates on the coded bits that are fed back to the soft output detector in the next iteration of decoding.
[0012]
The optimal soft-input soft-output detector associated to the model above, when the noise has a Gaussian distribution, computes an extrinsic Log-Likehood Ratio LLRj of the y-th coded bits associated to z by performing the following operations
where π• is the a priori probability that the y-th coded bit is equal to 1, as provided by the soft-ouput decoder in a previous operation of decoding and initialized to 0.5 at the first iteration of decoding.
[0013]
We can observe that the computation of each LLR requires the computation 0f 5i distances || y - Hz' ll2.
[0014]
Each distance requires (N + 1). M multiplications and N + M— 1 additions.
[0015]
Thus, when the number of channel input N is high, the complexity is high.
[0016]
Furthermore, if the total spectral efficiency∑,i= 1 is large, the complexity may be intractable.
[0017]
Another option to reach quasi-optimality with low complexity is to draw a list of vectors leading to the most significant terms of the sum in the computation of the Log-Likehood Ratio LLR. The computation is then performed only on the list of vectors. Only the candidate vectors z' E C are considered that leads to a bounded value of || y— Hz' ||< R.
[0018]
This is equivalent to list all the vectors Hz' belonging to the hypersphere of radius R centered around the vector y. The vectors of Hz' belong to a multidimensional parallelotope which is the transformation of the multi-dimensional QAM modulation transmitted on the linear channel H. Also, these vectors form a constellation having H as generator matrix. Such a so-called list sphere decoder provides near optimal performance but has major drawbacks that put a stop to a practical implementation in chipsets as the number of vectors in the list highly varies from one noise sample to another or when each channel realization changes.
[0019]
Another possibility is to first perform a hard-output estimation z of z and to center the list on Hz instead of y, leading to the so-called shifted list sphere decoder. For reasonable complexity, this approach shows better performance but still requires a dynamic list when the channel changes. However, when the channel stays constant, the list can be generated around the origin of the lattice and shifted around the estimate Hz obtained in a first step of hard detection, the shifting approach being relevant by using the linearity property of lattices.
[0020]
The present invention aims at providing a method and a device which enable to reduce the complexity of the computing of a soft estimate of coded bits forming transmitted symbol vectors received by a receiver from a source through a channel.
[0021]
To that end, the present invention concerns a method for computing a soft estimate of coded bits forming transmitted symbol vectors of a multi-dimentional constellation, the transmitted vectors being received by a receiver from a source through a channel, characterized in that the method comprises the steps of:
- obtaining from the receiver memory a predetermined list of vectors with integer or gaussian integer entries,
- obtaining a channel matrix estimation between the source and the receiver and received symbols,
- obtaining a reduced channel matrix and a change of basis matrix from the channel matrix estimation,
- computing a vector with integer coordinates at least from the reduced channel matrix and the received symbols,
- shifting the predetermined list of vectors around the vector with integer
coordinates and obtaining a shifted list of vectors,
- computing a soft estimation of the coded bits according to vectors belonging to the shifted list of vectors and to a transformed multi-dimentional constellation obtained from the multi-dimentional constellation and the change of basis matrix.
[0022]
The present invention also concerns a device for computing a soft estimate of coded bits forming transmitted symbol vectors of a multi-dimentional
constellation, the transmitted vectors being received by a receiver from a source through a channel, characterized in that the device comprises:
- means for obtaining from the receiver memory a predetermined list of vectors with integer or gaussian integer entries,
- means for obtaining a channel matrix estimation between the source and the receiver and received symbols,
- means for obtaining a reduced channel matrix and a change of basis matrix from the channel matrix estimation,
- means for computing a vector with integer coordinates at least from the reduced channel matrix and the received symbols,
- means for shifting the predetermined list of vectors around the vector with integer coordinates and obtaining a shifted list of vectors,
- means for computing a soft estimation of the coded bits according to vectors belonging to the shifted list of vectors and to a transformed multi-dimentional constellation obtained from the multi-dimentional constellation and the change of basis matrix.
[0023]
Thus, the implementation of the receiver is made easy. It is then possible to implement the soft estimate in chipsets.
[0024]
According to a particular feature, the predetermined list of vectors is a spherical predetermined list of vectors or a cubical list of vectors.
[0025]
Thus, the sub-optimality of considering only a list of vectors instead of all vectors is limited.
[0026]
According to a particular feature, the vector with integer coordinates is obtained by successively applying an MMSE filter computed from the reduced channel matrix and performing a rounding to integer values.
[0027]
Thus, the list is centered on a good candidate vector that improves the performance of the system.
[0028]
According to a particular feature, a change of basis matrix is further obtained from the channel matrix estimation and the vector with integer coordinates is further computed from the change of basis matrix.
[0029]
Thus, the list is centered on an even better candidate vector that improves the performance of the system.
[0030]
According to a particular feature, the reduced channel matrix is obtained by computing a channel reduction algorithm.
[0031]
Thus, the reduced channel matrix is adapted to the current channel estimation.
[0032]
According to a particular feature, the reduced channel matrix is obtained by selecting one reduced channel or one change of basis matrix from a set of pre-computed reduced channel or of change of basis matrices according to a given figure of merit.
[0033]
Thus, the complexity required for obtaining the reduced channel matrix is highly reduced.
[0034]
According to a particular feature, the figure of merit is the value of a trace of a matrix obtained by a multiplication of the inverse of the reduced channel matrix by the conjugate transpose of the inverse of the reduced channel matrix.
[0035]
Thus, the reduced channel matrix is well adapted to the current channel estimation.
[0036]
According to a particular feature, the figure of merit is determined from an upper triangular matrix obtained by a decomposition of the reduced channel matrix into a unitary matrix and the upper triangular matrix.
[0037]
Thus, the reduced channel matrix is well adapted to the current channel estimation.
[0038]
According to a particular feature, the set of reduced channel or change of basis matrices is obtained from an offline pre-processing of channel reduction algorithms on a random set of channel matrices.
[0039]
Thus, the set of good reduced channel matrix is easy to determine.
[0040]
According to a particular feature, the offline pre-processing of channel reduction algorithms on a random set of channel matrices is performed, a given number of times, by obtaining a set of candidate matrices of change of basis matrix, by initializing the set of candidate matrices to an empty set, and an associated vector of probabilities to an empty vector, by generating randomly a channel
matrix according to an expected distribution of channels, with centered and unit variance entries, by applying a lattice reduction in order to obtain a change of basis matrix, by adding the obtained change of basis matrix to the set of candidate matrices if the obtained change of basis matrix is not already in the set of candidate matrices or by modifying a probability associated to the obtained change of basis matrix, and selecting a predetermined number of change of basis matrices of the set of candidate matrices having the highest probability.
[0041]
According to a particular feature, the offline pre-processing of channel reduction algorithms on a random set of channel matrices is performed, a given number of times, by obtaining a set of candidate matrices of reduced channel matrices, by initializing the set of candidate matrices to an empty set and an associated vector of probabilities to an empty vector, by generating randomly a channel matrix according to an expected distribution of channels, with centered and unit variance entries, by applying a lattice reduction in order to obtain a reduced channel matrix, by adding the obtained reduced channel matrix to the set of candidate matrices if the obtained reduced channel matrix is not already in the set of candidate matrices or by modifying a probability associated to the obtained reduced channel matrix, and selecting a predetermined number of reduced channel matrix matrices of the set of candidate matrices having the highest probability.
[0042]
According to a particular feature, the channel matrices are cyclotomic precoded diagonal channels and the set of reduced channel matrix is obtained from an offline pre-processing on a cyclotomic field of the cyclotomic rotation.
[0043]
Thus, the set of good reduced channel matrix is easy to determine and provides very good performance with a limited set cardinality.
[0044]
According to a particular feature, the computing of the soft estimation of the coded bits according the constellation vectors belonging to the shifted list of vectors is performed by a multiplying of the inverse of the change of basis matrix by the vector with integer coordinates.
[0045]
According to a particular feature, the computing of the soft estimation of the coded bits according the constellation vectors belonging to the shifted list of vectors is performed using received transmitted symbol vectors through the channel.
[0046]
According to still another aspect, the present invention concerns computer programs which can be directly loadable into a programmable device, comprising instructions or portions of code for implementing the steps of the methods according to the invention, when said computer programs are executed on a programmable device.
[0047]
Since the features and advantages relating to the computer programs are the same as those set out above related to the methods and apparatus according to the invention, they will not be repeated here.
[0048]
The characteristics of the invention will emerge more clearly from a reading of the following description of an example embodiment, the said description being produced with reference to the accompanying drawings, among which :
[Brief Description of the Drawings]
[0049]
[Fig- 1]
Fig. 1 represents a wireless system in which the present invention is implemented.
[Fig. 2]
Fig. 2 is a diagram representing the architecture of a receiver in which the present invention is implemented.
[Fig- 3]
Fig. 3 represents an algorithm for performing soft estimation of receveid coded bits based on a quantized list alphabet for a shifted list sphere decoder. [Fig. 4]
Figs. 4 represent a geometrical explanation of the constellation
transformations by the channel and a lattice reduction.
[Description of Embodiments]
[0050]
Fig. 1 represents a wireless system in which the present invention is implemented.
[0051]
The present invention will be disclosed in an example in which the signals transferred by a source Src are transferred to receivers Rec.
[0052]
For example, the source Src may be included in a satellite or in a terrestrial transmitter and broadcasts signals to at least one receiver, the source Src may also transfer signals to a single receiver Rec.
[0053]
The receiver Rec may be a mobile terminal to which data like video signals are transferred.
[0054]
In order to improve the performance of hard output receivers, lattice
reductions may be used. A lattice reduction is performed each time the channel H changes, which provides the following decomposition:
H = HrT
where Hr is reduced for example according to Minkovski, Korkine-Zolotarev, or Lenstra Lenstra Lovasz reductions, which involves that Hr generates the same lattice as H but has more orthogonal basis vectors.
[0055]
The change of basis matrix T is unimodular with integer, or Gaussian integer in the complex input case, entries, which involves that the absolute value of the basis matix determinant is one, and that the inverse of the basis matrix has integer, or Gaussian integer in the complex case, entries.
[0056]
By definition, we note the transformed multi-dimensional constellation
CR = {Tz}, i.e., is the set of all possible vectors of symbols x = Tz.
[0057]
Thus, the hard output decoder usually performs a hard output decision based on the channel model y = Hrx + η and then uses the relationship x = Tz for obtaining an estimate on z by using a linear decoder. The performance of such detectors is good, which involves that the orthogonality assumption is quite good. The lattice reduction step has a high complexity, but can be mutualized between several decoding steps as soon as the channel does not change. This can be combined with the shifted list decoder as a pre-processing step.
[0058]
The present invention, first takes benefit of the almost-orthogonality provided by lattice reductions. Indeed, after applying the lattice decomposition
H = HrT, one can obtain the following channel model
Η- = Tz + η'
where η' can be approximated as a white Gaussian noise and the new SNR as p'.
[0059]
This channel model is by definition called RCM for Reduced Channel Model or channel model after latice reduction by opposition to the OCM for Observation Channel Model corresponding to the case where no latice reduction is performed.
[0060]
According to the invention, the receiver Rec computes a soft estimate of coded bits forming transmitted symbol vectors of a multi-dimentional constellation, the transmitted vectors being received by a receiver from a source through a channel by:
- obtaining from the receiver memory a predetermined list of vectors with integer or gaussian integer entries,
- obtaining a channel matrix estimation between the source and the receiver and received symbols,
- obtaining a reduced channel matrix and a change of basis matrix from the channel matrix estimation,
- computing a vector with integer coordinates at least from the reduced channel matrix and the received symbols,
- shifting the predetermined list of vectors around the vector with integer
coordinates and obtaining a shifted list of vectors,
- computing a soft estimation of the coded bits according to vectors belonging to the shifted list of vectors and to a transformed multi-dimentional constellation obtained from the multi-dimentional constellation and the change of basis matrix.
[0061]
Fig. 2 is a diagram representing the architecture of a receiver in which the present invention is implemented.
[0062]
The receiver Rec has, for example, an architecture based on components connected together by a bus 201 and a processor 200 controlled by the program as disclosed in Fig. 3.
[0063]
It has to be noted here that the receiver Rec may have an architecture based on dedicated integrated circuits.
[0064]
The bus 201 links the processor 200 to a read only memory ROM 202, a random access memory RAM 203 and a wireless interface 205.
[0065]
The memory 203 contains registers intended to receive variables and the instructions of the programs related to the algorithm as disclosed in Fig. 3.
[0066]
The processor 200 controls the operation of the wireless interface 205.
[0067]
The read only memory 202 contains instructions of the program related to the algorithm as disclosed in Fig. 3, which are transferred, when the receiver Rec is powered on, to the random access memory 203.
[0068]
Any and all steps of the algorithm described hereafter with regard to Fig. 3 may be implemented in software by execution of a set of instructions or program by a programmable computing machine, such as a PC {Personal Computer), a DSP {Digital Signal Processor) or a microcontroller; or else implemented in hardware by a machine or a dedicated component, such as an FPGA {Field-Programmable Gate Array) or an ASIC {Application-Specific Integrated Circuit).
[0069]
In other words, the receiver Rec includes circuitry, or a device including circuitry, causing the receiver Rec to perform the steps of the algorithm described hereafter with regard to Fig. 3.
[0070]
Fig. 3 represents an algorithm for performing soft estimation of received coded bits based on a quantized list alphabet for a shifted list sphere decoder.
[0071]
More precisely, the present algorithm is executed by the processor 200 of the receiver Rec.
[0072]
At step S30, the processor 200 performs an offline computation of a predetermined list of vectors L c Z[V— ]w.
[0073]
For example, the processor 200 uses the method as disclosed in the paper of U. Finkce and M. Pohst entitled "Improved Methods for calculating Vectors of short length in a Lattice including a complexity analysis" published in
Mathematics of computation vol 44 pp 463 in 1985 in order to obtain a spherical list of vectors around the origin of the lattice. The predetermined list can be of other form, like cubical by listing all the vectors of Z[V— 1]N belonging to a cubic shape, i.e., the real and imaginary parts of the entries of which being bounded by a lower and upper bound. The size of the list is selected to match a target complexity, or size of chipset in FPGA implementations.
[0074]
At next step S31, the processor 200 obtains observation y and matrix channel estimation H from the wireless interface I/F 205.
[0075]
The vector y may be received across several antennas, time slots, or sub-carriers according to the definition of the transmission model.
[0076]
The channel estimation H is for example obtained by a preceding channel estimation step that allows to estimate each coefficient of H, for example by the use of pilot symbols sent by the source Src.
[0077]
In a MIMO channel, the source Src has N transmit antennas and the receiver Rec has M receive antennas. The coefficients of the M x N matrix H are
considered as gaussian independent identically distributed with zero mean unity variance.
[0078]
In case of a Precoded diagonal fading channel, the Source Src linearly combines M = N QAM symbols with a M x M precoding matrix Φ and sends each of the M linear combinations in parallel on one of M fading channels. The parallel transmission is represented by a diagonal M x M matrix Δ, where (i is the i-th diagonal coefficient of Δ and represents the fading of the i-th parallel fading channel.
[0079]
Thus, the M x M matrix H represents the concatenation of the precoding step and the transmission on the parallel fading channels as H = ΔΦ.
[0080]
At next step S32, the processor 200 computes a channel reduction = HrT . Hr is the reduced channel matrix and T is the change of basis matrix. The computation of the channel reduction that provides matrices Hr and T from the matrix H such that H = HrT is obtained from an LLL reduction as disclosed, for example, in the paper of A Lenstra, H Lenstra and L. Lovasz entitled "Factoring polynomials with rational coefficients" in Mathematische Annalen, vol 261, pp 515-532 1982.
[0081]
The channel reduction is for example computed as disclosed in the paper of C. Ling W. H Mow and N. Howgrave-Graham entitled "Variants of the LLL . algorithm in digital communications. Complexity analysis and fixed complexity implementation" Computing Research Repository vol abs/1006. 1661, 2010.
[0082]
The channel reduction is for example computed as disclosed in the paper of CP Schnorr entitled "A hierarchy of polynomial time lattice basis reduction algorithms" Theoretical Computer Science, vol 53, pp 201-224, 1987.
[0083]
In a variant of realization, the processor 200, in order to enable complexity reduction in the receiver Rec, defines offline a set of candidate matrices T that are stored in memory without using a lattice reduction algorithm online.
[0084]
The processor 200 obtains the channel matrix H, performs a loop on a predefined number of candidate change of basis matrices T belonging to a set S of candidate matrices T, computes, for each candidate change of basis matrice T, the reduced channel Hr = HT_1 and the processor 200 defines a figure of merit for example as :
- the value of trace H^T 1H~†) that is minimized and† is the transpose conjuguate operator,
- the value defined
12 that is maximized, where the matrix R is obtained by the QR decomposition Hr = QR where Q is unitary and R is
upper-triangular.
[0085]
The processor 200 selects the couple (T, Hr) that optimizes the figure of merit.
[0086]
The processor 200 obtains the set Έ of candidate matrices T in an offline optimization by initializing the set of candidate matrices T to an empty set, and an associated vector of probabilities to an empty vector. The processor 200 generates randomly the channel matrix H according to the expected distribution of channels, for example, according to an independent identically distributed complex Gaussian multivariate distribution, with centered and unit variance entries. The processor 200 then applies a lattice reduction, as already disclosed in order to obtain T and Hr . The processor obtains a candidate matrix T as a result of the reduction and adds the obtained matrix T to the set Έ of candidate matrices T if the obtained candidate matrix is not already in the set Έ of candidate matrices T or modifies a probability of occurrence associated to the obtained matrix. The processor 200 repeats the operation a given number of times. Finally, the processor 200 selects a given number of matrices T of the set ® of candidate matrices T having the highest probability.
[0087]
In a variant of realization, in order to enable complexity reduction in the receiver Rec, the processor 200 defines offline a set of candidate matrices Hr that are stored in memory without using a lattice reduction algorithm online. The processor 200 obtains the channel matrix H, performs a loop on a predefined number of candidate matrices Hr belonging to a set Έ' of candidate matrices Hr', computes, for each candidate matrix Hr, the candidate change of basis matrice
T = [Hr -1H] where [. ] denotes a rounding of each coefficient of the candidate change of basis matrix to the closest integer value or gaussian integer and the processor 200 defines a figure of merit for example as the value of
trace (TH H T ) that is minimized.
[0088]
The processor 200 selects the couple (T, Hr) that optimizes the figure of merit.
[0089]
The processor 200 obtains a set Έ' of candidate matrices Hr in an offline optimization by initializing the set of candidate matrices Hr matrices to an empty set, and an associated vector of probabilities to an empty vector. The processor 200 generates randomly the channel matrix H according to the expected distribution of channels, for example, according to an independent identically distributed complex Gaussian multivariate distribution, with centered and unit variance entries. The processor 200 then applies a lattice reduction, as already disclosed in order to obtain T and H . The processor 200 obtains a candidate matrix Hr as a result of the reduction and adds the obtained matrix Hrto the set Έ' of candidate matrices Hr if the obtained candidate matrix is not already in the set Έ' of candidate matrices Hr or modifies a probability associated to the obtained matrix. The processor 200 repeats the operation a given number of times. Finally, the processor 200 selects a given number of matrices Hr of the set Έ' of candidate matrices Hr having the highest probability.
[0090]
If the channel matrices are cyclotomic precoded diagonal channels, the set of reduced channel matrix ® is obtained from an offline pre-processing on the cyclotomic field of the cyclotomic rotation.
[0091]
Indeed, if Φ is a cyclotomic rotation, we consider a set T of candidate matrices Δ^ associated to the units of the cyclotomic field. The units can be built from the set of n' fundamental units {uj represented as vectors of size n.
[0092]
For each fundamental unit, the processor 200 defines a diagonal matrix Βέ which diagonal elements are defined by diag i = n Uj, where the notation diag is extracting the diagonal elements of a matrix A into a vector diagA =
\A1 1, ... , An n]T , where Aiti is the ith element of the ith row and column.
[0093]
Finally, one can show that
VAq G T , 3k G Z[V l]n', Aq = [ B £
i
Where n' is a parameter lower or equal than n.
[0094]
Thus, the processor 200 builds a set 7 of candidates matrices from a set of lattice vectors selected for example at random, or in other words from a random set of k vectors. Then, for each channel estimation H, the processor 200 computes Δ = 0†H, and selects a candidate Δ^ from T such that
Δ = ξΔ,
where ξ is the quantization error of Δ into Δ^, and for example such that the value maXj(|log(|fi |) |) is minimized.
[0095]
Then, the algebraic property of the cyclotomic rotation gives T =