The present invention relates to generating low density parity check codes and to using the designed low density parity check codes. In particular, the present invention relates to generation of low density parity check codes for multiple-input-multiple-output (MIMO) channels.
A communication system can be seen as a facility that enables communication between two or more entities such as user equipment and/or other nodes associated with the system. The communication may comprise, for example, communication of voice, data, multimedia and so on. The communication system may provide circuit switched and/or packet switched communications. The communication system may be configured to provide wireless communication.
Communication systems employ coding to enhance the reliability of communication over noisy channels. Recently, low density parity check (LDPC) codes have become subject to extensive research. Low density parity check codes are a special type of linear block codes.
In receiving symbols sent over a noisy channel, a first step is typically signal detection. Signal detection means estimating symbols sent over the channel based on the received symbols, which have been affected by the channel properties. A second step is decoding, which uses symbol estimates from the signal detection. The signal detection and decoding may use hard or soft decisions. In traditional signal detection and decoding techniques, the received symbols are first detected and then the received symbols are decoded. These steps are performed separately, without providing any feedback information from the decoding step to the detection step.
In iterative symbol detection and decoding techniques information is passed between the detection and the decoding steps. These iterative techniques have better performance than traditional symbol detection and decoding techniques. The iterative techniques pass soft-likelihoods between the signal detection and decoding steps. Various iterative decoding methods for LPDC codes are known.
LDPC codes are traditionally designed for an Additive Gaussian White Noise (AWGN) channel. Recently there have been some proposals on using other types of channels. In connection with single-input-single-output (SISO) channels, J. Hou, P. Siegel and L. Milstein have proposed taking channel properties into account in LDPC code design in “Performance analysis and Code Optimization of Low Density Parity Check Codes on Rayleigh Fading Channels”, IEEE J. Select. Areas Commun., Issue on The Turbo Principle: From Theory to Practice I, vol. 19, no. 5, pp. 924-934, May 2001.
LDPC codes have been designed for partial response channels by N. Varnica and A. Kavcic, in “Optimized low-density parity-check codes for partial response channels,” IEEE Communications Letters, Vol. 7, issue 4, April 2003, pp. 168-170. LDPC codes have also been designed using exit charts and mutual information that is a function of the channel by S. ten Brink, G. Kramer, and A. Ashikhmin, in “Design of Low-Density Parity-Check Codes for Multi-Antenna Modulation and Detection,” submitted to IEEE Trans. Commun., June 2002. The exit charts are discussed by A. Ashikhmin, G. Kramer and S. ten-Brink, in “Code rate and the area under extrinsic information transfer curves”, Proceedings. IEEE International Symposium on Information Theory, 2002, p. 115.
It is, however, appreciated that LDPC codes used with multiple-input-multiple-output (MIMO) channels are generally designed for AWGN channels. The multiple channels existing between the receive and transmit antennas cause the design process of LDPC codes to be complex for MIMO channels. In detecting and decoding signals sent over MIMO channels, the channel properties are typically taken into account in signal detection. Coder/decoder pairs are designed and defined off-line through analysis and/or simulation of expected channel conditions.
The present invention aims to provide adaptivity to the use of the codes by taking into account information on MIMO channel properties in designing low density parity check codes and in using low density parity check codes in MIMO systems.
In accordance with a first aspect of the present invention, there is provided a method for generating a low density parity check code, the method comprising defining a framework combining symbol detection and low density parity check decoding,
In accordance with a second aspect of the present invention, there is provided a method for low density parity check decoding, the method comprising receiving information transmitted over multiple-input-multiple-output channels,
In accordance with a third aspect of the present invention, there is provided a decoder for low density parity check codes, configured to receive information transmitted over multiple-input-multiple-output channels,
In accordance with a fourth aspect of the present invention, there is provided a decoder for low density parity check codes, comprising
Embodiments of the present invention will now be described by way of example only with reference to the accompanying drawings, in which:
Embodiments of the present invention combine signal detection and decoding in a multiple-input-multiple-output system into a unified framework. To explain this in more detail, reference is first made to a conventional receiver.
Information about the MIMO channel properties is taken into account in the signal detection unit 110, typically by determining a channel matrix H. A received symbol (or a set of received symbols) y relates to the estimated sent symbol x by y=Hx+n, where n represents noise. The estimated sent symbol x are called the detected symbol. As explained in connection with the background of the invention, the LDPC decoding unit 120 takes the symbol estimates x from the signal detection unit 110 as input. The LDPC codes employed in the LDPC decoding unit 120 have typically been designed using information about an AWGN channel.
A LDPC code may be represented with a bipartite graph.
For the receiver 100, the estimated symbols x output from the signal detection unit 110 are directly linked to the codewords. The LDPC decoding unit 120 thus receives no information about the MIMO channel properties. LDPC decoding is carried out in the receiver 100 using a known parity check matrix P and the estimated symbols x. It is possible that the estimated symbols x do not form a valid codeword, due to, for example, transmission errors or inaccuracies in detecting the symbols. In the LDPC decoding the aim is to compensate errors in transmission and inaccuracies in symbol detection and to figure out, which set of symbols (valid codeword) was actually sent.
Embodiments of the present invention combine signal detection and decoding in a multiple-input-multiple-output system into a unified framework. In the following, some embodiments of the invention are discussed with reference to factor graphs. The use of factor graphs allows edge-transition probabilities between the MIMO receiver codeword nodes and the LDPC parity check nodes to be defined in a common probabilistic framework.
In the following description, a MIMO OFDM (Orthogonal Frequency Division Multiplexing) system is used as an example. Statistical characterization of MIMO OFDM channels is feasible due to each OFDM carrier being a flat-fading channel. It is, however, appreciated that other multiplexing methods in MIMO systems may be treated similarly.
In a conventional MIMO system, where the symbol detection and decoding are carried out separately, the components of the estimated vector x are directly linked to the codeword nodes of a bipartite graph defining a LDPC code. In this unified framework, the entries of the matrix R define how the modified received symbols y′ are linked to codeword nodes. Furthermore, the codeword nodes are linked to each other through transition probabilities depending on the entries in the matrix R. The edges between the codeword nodes and the check nodes are defined by the bipartite graph of the LDPC code.
In
A first option for designing the LDPC code is to employ density evolution. In this case, a probabilistic description of a MIMO channel is needed. This probabilistic information may be in a simple closed form for making the design process less cumbersome. When the QR decomposition, or a similar decomposition enabling successive interference cancellation, is used, the channel matrix elements are converted into variants of chi-squared probability density functions. This density evolution approach can be similar to the approach described by J. Hou, P. Siegel and L. Milstein.
It is appreciated that for designing a LDPC code using the factor graphs, it is necessary to determine the probability density functions for each element of the matrix R and for the other transitions in the factor graph linking modified received symbols to LDPC check nodes. For determining the probability density functions of the matrix elements of R, one possible approach is to perform channel categorization work for defining a reasonable class of channels. This approach may lead to simplified probability density functions for the MIMO channels based on some statistical techniques. Density evolution is another option for determining probability density functions for the matrix elements of R. For flat fading ITU models, the probability density functions of each element of matrix R are some variants of χn2, χm and they are also statistically independent. The probabilities for codeword-to-codeword transitions have been determined.
A detailed example of the calculations of the probabilities along the edge transitions of the input nodes is described later with reference to
Another option for designing the LDPC code using the factor graph framework is to employ EXIT charts. The use of EXIT charts requires ensemble averaging over many channel realizations to design the parity check matrix.
In any of these options, the design of the LDPC code may be carried out off-line based on the analytic or approximated form of the channel probability density functions or by enumerating channels realizations for a channel probability density function.
The designed LDPC code is used in encoding information similarly as any other LDPC code. In the receiving end, the designed LDPC code is used in a step combining signal detection and LDPC decoding. Information about the channel properties of the current channel instance is used in this step combining signal detection and LDPC decoding. Recursive likelihood equations reflect the statistical relationships between the MIMO receiver and the LDPC code component.
The generation of a LDPC code and decoding of a LDPC codeword are typically recursive processes. An example of this recursion for decoding is shown in
Let C1 and C2 be defined as sets of codeword nodes for the upper-triangular matrix R1 and for the lower-triangular matrix R2, respectively. Let P be defined as the set of parity check nodes. The factor graph in
A fall-cycle recursion for both generating a LDPC code and for decoding a LDPC codeword may be, for example, the following. Probabilistic information is passed from nodes C1 to the parity check nodes P for updating probabilities of the parity check nodes. Probabilistic information is then passed from the parity check nodes P to the codeword nodes C2 for updating probabilistic information relating to these codeword nodes C2. Thereafter, probabilistic information is passed between the codeword nodes C2. Updated probabilistic information is then passed from the codeword nodes C2 to the parity check nodes P for updating probability information relating to the parity check nodes. From the parity check nodes P probabilistic information is passed to codeword nodes C1, and thereafter between the codeword nodes C1.
It is appreciated that different LDPC codes may be defined for different channel conditions. One example of different channel conditions is hilly vs. flat terrains. The different channel conditions are taken into account in the LDPC code design with different channel properties. In using the LDPC codes for encoding and decoding, there may be simple metric in use for determining which LDPC code of the available LDPC codes to use.
The required data processing functions may be provided by means of one or more data processor entities. Required processing functions may be provided in the receiver of
A possibility for the graph is the so called Tanner graph which has edges, nodes and probabilities for edge transitions. The following is a detailed example of calculations based on a Tanner description of the input/output, and is given with reference to
In the following example, we consider a baseband model for a received MIMO OFDM signal over multipath fading channel. The MIMO OFDM system is equipped with multiple antennas at the transmitter and the receiver. Throughout this example, scalar variables are written as plain lower-case letters, vectors as bold face lower-case letters and matrices as bold-face upper-case letters. Some further notations to describe signal and channel models for the MIMO OFDM system include the following:
As shown in
The outputs of the p-th modulator in the interval, nTN,dt,g≦t≦(n+1)TN,dt,g, is
In (1), pT(t) and pD(t) are respectively pulse shapes supporting only on [0,Tt) and [0,Td). For simplicity of notation, the explicit dependence on the packet index nN will be suppressed in the sequel. The channel between the p-th transmit antenna and the q-th receive antenna, {flp,q(m)}, is modeled by a tapped delay line (TDL) with taps, flp,q(m)εC, spaced Ts sec apart [[7],Chap-7], such that the received signal at the q-th antenna is
The multipath spread is assumed to be Tp,q(m)+NfTs<Tg, ∀p, q, m. A set of complex channels {flp,q(m)} includes an actual channel response and a bandwidth-efficient transmission pulse shape. Also, {flp,q(m)} is assumed to be constant over one packet duration but varies from packet to packet [8]. The additive noise nq(t) is circular white Gaussian with spectral density 2N0. The receiver is assumed to be matched to the transmitted pulse. Eliminating the guard interval for OFDM data symbols, received signal vectors are expressed as [5]
Note that rq(0) and rq(m+) are sufficient statistics. Also, S(0) and S() are IFFT matrices satisfying S(0)S(0)H=S(0)HS(0)=IM
The demodulator output (a K-point FFT) are now given by
where zq(m)˜N(zq(m); 0, 2N0/TsIK×K), zkq(m)˜N(zkq(m); 0, 2N0/Ts). This can be used to find an effective strategy to detect {dp(m)} and jointly estimate a set of channel parameters {{flp,q(m)}, {Tp,q(m)}} from the received samples. To simplify our approach, we assume that {Tp,q(m)} is exactly known a priori. At the receiver, the channel is estimated by using the EM-based method and its estimate is used by the soft-QRD-M data detector, which will be discussed in the next two sections. Then, the detected data is multiplexed and decoded. An exemplifying algorithm for a data detection will be described in the following section. Notice that the detected data based on the previous channel estimate is involved in this section.
Using the received signal at the k-th subcarrier, defined in (5), the received signal vector over the k-th subcarrier is
For this received signal vector, we first apply the QR decomposition (QRD) to an estimated channel matrix {circumflex over (F)}k(m), that is,
{circumflex over (F)}k(m)={circumflex over (Q)}k(m){circumflex over (R)}k(m), (7)
where {circumflex over (Q)}k(m) is unitary matrix satisfying {circumflex over (Q)}kH(m){circumflex over (Q)}k(m)={circumflex over (Q)}k(m){circumflex over (Q)}kH(m)=IN
yk(m)={circumflex over (F)}k(m)dk(m)+zk(m),
{circumflex over (Q)}kH(m)yk(m)={circumflex over (R)}k(m)dk(m)+{circumflex over (Q)}kH(m)zk(m),
{tilde over (y)}kU(m)Δ{circumflex over (R)}k(m)dk(m)+{tilde over (z)}kU(m). (8)
Note that {tilde over (y)}kU(m) is sufficient statistics and {tilde over (z)}kU(m)˜N({tilde over (z)}kU(m), 0, 2N0/TsI). Also, multiplying the unitary matrix {circumflex over (Q)}kH(m) does not change the whiteness of the noise process, zk(m).
To reduce the error propagation with the data detection, we rearrange the data vector using the estimated data power as dk(m)=[dk(1)(m), . . . , dk(N
∥{circumflex over (f)}(1)(m)∥2≦∥{circumflex over (f)}(2)(m)∥2≦ . . . ≦∥{circumflex over (f)}(N
Throughout this example (j) denotes the i-th strongest data. The complex-valued dk(i)(m) is identically represented as a binary Q-tuple, that is,
dk(i)(m)ΔM(bki),bk,jiε{0,1},dk(i)(m)εC,
bkiΔ{bk,1i,bk,2i, . . . , bk,Qi}ε{0,1}Q, (10)
where M(.) is a mapping function. To simplify notations for a binary bit representation, the dependence on the OFDM data symbol index m will be suppressed in the sequel. Without specifying we assume that the data detection ordering is determined by (9). Denoting by
bk,ji+Δ{bk,1i,bk,2i, . . . , bk,ji=1, . . . , bk,Qi}ε{0,1}Q−1,
bk,ji−Δ{bk,1i,bk,2i, . . . , bk,ji=0, . . . , bk,Qi}ε{0,1}Q−1, (11)
we have the soft-QRD-M detector generates the soft information from all available observations
p(bk,ji=0|({tilde over (y)}kU(m))N
which can be written as
Note that this is the marginal conditional probability (MCP), or the global function called in the Factor Graph theory [9]. Using both the Bayesian approach and the property of the QRD, the conditional probability in (13) can be computed as
where c1 is a constant. With a sufficient interleaver, a set of a priori distributions is computed using a set of input log-likelihood ratios (LLRs), {L(bk,ji), i=1, . . . , Nt, j=1, . . . , Q},
A set of likelihoods in (14) is easily computed from the property of the QRD, such that
Here a set of {M(bkm), m=1, . . . , j−1, j, . . . , Nt} and M(bk,ji,+) are signal mappings. Using the definitions in (14), (15), and (16), we can compute (13). However, we need to consider 2(N−1)×N
For defining a soft QRD-M algorithm we assume that the data detection ordering is determined already. For Nt=Nr=3, and the QPSK subcarrier modulation, the soft information p(bk,22=1|({tilde over (y)}kU(m))3, . . . , ({tilde over (y)}kU(m))1) is computed as
The MCP (18) can be computed from the innermost term to the outermost term sequentially. This structure is somewhat similar to the sum-product algorithm (SPA) [9],[10], where we split the MCP into several small number of tasks which can be done after another. It is worth while to note that the computation order is exactly opposite of that advocated in the Factor Graph approach, in which the summation over bk1 is carried out first, which involves only the computation of Σb
is a function of (bk,22,+, bk3), this locally computed probability will be passed to a parent node which multiples the leaf node sum by p({tilde over (y)}kU(m))2|bk,22,+,bk3)p(bk,22,+) and sums over bk,22,+, that is,
Again, since it is a function of bk3, we can compute the MOP summing over bk3, that is,
The proposed scheme is computationally less intensive than the Factor Graph according to the following procedures.
We firstly compute four terms related with a different hypothesis for bk3 at the first stage
Once we computed these four terms, we only keep M maximums (in the example we assume M=2) for the next stage, that is, {tilde over (b)}k3Δ{(bk,13=0,bk,23=0), (bk,13=1,bk,22=1)} and {tilde over (Δ)}3={δ[0,0]3,δ[1,1]3} Since we make a decision from the strongest effective channel sequentially, it will be tolerate to the detection error propagation which is a intrinsic problem in interference cancellers.
In the second stage, we need to compute the following
In (20), the expression
is consisting of
Having obtained four terms at the second stage {δ[0,0,0,1]2, δ[0,0,1,1]2, δ[1,1,0,1]2, δ[1,1,1,1]2}, we need to keep only two maximums, {tilde over (Δ)}2={δ[0011]2, δ[1101]2}, and bk,2{tilde over (2)},+Δ{(bk,12=1, bk,22=1), (bk,12=1, bk,23=1)}. Similarly, we can apply the same approach in the final stage. At the final stage, we need to compute using {tilde over (Δ)}3 and {tilde over (Δ)}2 as
where {tilde over (b)}k,22,+ is a set for bk,22,+ maintained from the previous stage. With the similar approach to other bits, we can compute a set of soft informations and its log-likelihood ratios (LLRs)
We can readily extend this approach to a general number of antennas and a subcarrier modulation. Now with determined LLRs, the decoder, mainly the Viterbi algorithm (VA), uses the expected value of the corresponding bit. This is computed as
The above describes examples how to define an encoder for low density parity check (LDPC). Definition of a coder/decoder pair may affect both the transmitter and receiver. The transmitter may have a set of parity check and LDPC code generator matrices, and the receiver may have a set of factor graphs defined for the channel/LDPC decoder. The factor graph specification may include required probabilistic specifications for transitions between channel nodes, codeword nodes and parity check nodes.
The embodiments enable use of a set of LDPC codes based on channel information stored in the transmitter and receiver, or available thereto. A correct LDPC code or codes may then be selected for use in decoding in adaptive manner.
A transmitter and receiver pair can adapt to different situations whilst use of correct LDPC codes is enabled. This enables the system to take into account features such as fading channel characteristics.
It is appreciated that although the embodiments of the invention relate to MIMO OFDM, it may be possible to construct a framework combining signal detection and LDPC codes for other MIMO systems. The present invention is therefore not restricted to be applied only in MIMO OFDM systems.
Although preferred embodiments of the apparatus and method embodying the present invention have been illustrated in the accompanying drawings and described in the foregoing detailed description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI05/00481 | 11/10/2005 | WO | 11/26/2007 |
Number | Date | Country | |
---|---|---|---|
60627024 | Nov 2004 | US |