Method for generating a signal by means of a turbo-encoder, and corresponding device and computer program.
20220060198 · 2022-02-24
Inventors
- Rami Klaimi (Chatillon Cedex, FR)
- Catherine Douillard (Chatillon Cedex, FR)
- Charbel Abdel Nour (Chatillon Cedex, FR)
Cpc classification
H03M13/6516
ELECTRICITY
H03M13/2903
ELECTRICITY
H03M13/6306
ELECTRICITY
H03M13/2963
ELECTRICITY
H03M13/2714
ELECTRICITY
International classification
H03M13/29
ELECTRICITY
H03M13/00
ELECTRICITY
H03M13/15
ELECTRICITY
Abstract
A method for generating a signal, including turbo-coding a set of information symbols delivering, on the one hand, the information symbols and, on the other hand, redundancy symbols. The turbo-coding implementing, to obtain the redundancy symbols: an encoding of the set of information symbols by a first encoder, an interleaving of the set of information symbols, and an encoding of the set of information symbols interleaved by a second encoder. The turbo-coding also implements a bijective transformation of the information symbols, implemented before and/or after the interleaving, the transformation modifying a value of at least two of the information symbols prior to the coding of the information symbols by the first and/or the second coder.
Claims
1. A method for generating a signal and implemented by a coding device, the method comprising: turbo-coding a set of information symbols delivering said information symbols and delivering redundancy symbols, the information symbols belonging to a Galois field of cardinal q, denoted GF(q), with q>2, wherein the turbo-coding implements, to obtain the redundancy symbols: an encoding of said set of information symbols by a first encoder, delivering a first set of redundancy symbols, an interleaving of said set of information symbols, delivering a set of interleaved information symbols, and an encoding of said set of interleaved information symbols by a second encoder, delivering a second set of redundancy symbols, and wherein said turbo-coding also implements a bijective transformation of said information symbols, implemented before and/or after said interleaving, said transformation modifying a value of at least two of said information symbols prior to the coding of said information symbols by the first and/or the second encoder.
2. The method according to the claim 1, wherein said transformation generates a minimum dispersion Δ.sub.min between two information symbols S.sub.i, S.sub.j among said information symbols greater than a selection threshold, such that:
Δ.sub.min=min Δ(S.sub.i,S.sub.j) with: Δ(S.sub.i,S.sub.j)=D(S.sub.i,S.sub.j)+D(T(S.sub.i),T(S.sub.j)) D(S.sub.i,S.sub.j) being a distance between said information symbols S.sub.i, S.sub.j before transformation, D(T(S.sub.i),T(S.sub.j)) being a distance between said information symbols S.sub.i, S.sub.j after transformation by the function T.
3. The method according to claim 1, wherein the method comprises mapping the information and redundancy symbols onto modulation symbols associated with a constellation of order p, an information or redundancy symbol being mapped onto at least one modulation symbol, and said transformation takes into account said constellation.
4. The method according to claim 3, wherein, the order p of the constellation being equal to the cardinal q of the Galois field to which said information symbols belong, each information or redundancy symbol is mapped onto a single modulation symbol.
5. The method according to claim 2, wherein the method comprises mapping the information and redundancy symbols onto modulation symbols associated with a constellation of order p equal to the cardinal q of the Galois field to which said information symbols belong, an information or redundancy symbol being mapped onto a single modulation symbol, and said transformation takes into account said constellation, and wherein dispersion between two information symbols S.sub.i, S.sub.j is expressed in the form:
Δ(S.sub.i,S.sub.j)=d.sub.euc.sup.2(S.sub.i.sup.m,S.sub.j.sup.m)+d.sub.euc.sup.2(T(S.sub.i).sup.m,T(S.sub.j).sup.m) with: d.sub.euc.sup.2(S.sub.i.sup.m,S.sub.j.sup.m)=(I.sub.s.sub.
6. The method according to claim 4, wherein the said transformation transforms a pair of information symbols intended to be mapped onto a pair of modulation symbols whose Euclidean distance is less than a first threshold, into a pair of information symbols intended to be mapped onto a pair of modulation symbols whose Euclidean distance is greater than said first threshold.
7. The method according to claim 4, wherein said transformation transforms an information symbol intended to be mapped onto a modulation symbol having, in the constellation, a number of neighbouring modulation symbols less than a determined number, into an information symbol intended to be mapped onto a modulation symbol having, in the constellation, a number of neighbours greater than said determined number.
8. The method according to claim 3, wherein, the order p of the constellation being less than the cardinal q of the Galois field to which said information symbols belong, each information or redundancy symbol is mapped onto n modulation symbols, with n≥2.
9. The method according to claim 2, wherein the method comprises mapping the information and redundancy symbols onto modulation symbols associated with a constellation of order p which is less than the cardinal q of the Galois field to which said information symbols belong, each information or redundancy symbol being mapped onto n modulation symbols, with n≥2, and said transformation takes into account said constellation, and wherein the dispersion between two information symbols S.sub.i, S.sub.j is expressed in the form:
10. The method according to claim 9, wherein said transformation minimises the number of zero terms in the expression of the dispersion Δ(S.sub.i,S.sub.j).
11. The method according to claim 9, wherein the method comprises selecting said transformation from several available transformations, said selection maximising the value of the non-zero terms in the expression of the dispersion Δ(S.sub.i,S.sub.j).
12. A device for generating a signal, comprising: a turbo-encoder capable of encoding a set of information symbols and delivering said information symbols and redundancy symbols, the information symbols belonging to a Galois field of cardinal q, denoted GF(q), with q>2, said turbo-encoder comprising: a first encoder configured to code said set of information symbols, delivering a first set of redundancy symbols, an interleaver configured to interleave said set of information symbols, delivering a set of interleaved information symbols, a second encoder configured to code said set of interleaved information symbols, delivering a second set of redundancy symbols, end a processor configured to apply a bijective transformation to said information symbols, implemented before and/or after said interleaver, said transformation modifying the value of at least two of said information symbols prior to the encoding of said information symbols by the first and/or the second encoder.
13. A non-transitory computer-readable medium comprising instructions stored therein for generating a signal when the instructions are executed by a processor of a coding device, wherein the instructions configure the coding device to: turbo-code a set, of information symbols delivering said information symbols and delivering redundancy symbols, the information symbols belonging to a Galois field of cardinal q, denoted GF(q), with q>2, wherein the turbo-coding implements, to obtain the redundancy symbols: an encoding of said set of information symbols by a first encoder, delivering a first set of redundancy symbols, an interleaving of said set of information symbols, delivering a set of interleaved information symbols, and an encoding of said set of interleaved information symbols by a second encoder, delivering a second set of redundancy symbols, and wherein said turbo-coding also implements a bijective transformation of said information symbols, implemented before and/or after said interleaving, said transformation modifying a value of at least two of said information symbols prior to the coding of said information symbols by the first and/or the second encoder.
Description
4. LIST OF FIGURES
[0064] Other features and advantages of the invention will emerge more clearly upon reading the following description of a particular embodiment, given by way of simple illustrative and non-limiting example, and the appended drawings, among which:
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
5. DESCRIPTION OF AN EMBODIMENT OF THE INVENTION
[0074] 5.1 General Principle
[0075] The general principle of the invention is based on the addition of a function for transforming information symbols in a turbo-coder, in particular a “non-binary” turbo-coder, allowing to modify the value of at least two information symbols, so that the sequence input on one encoder of the turbo-coder is different from the sequence input on the other encoder.
[0076] Two examples of structures of a turbo-coder implementing the turbo-coding step according to the invention are illustrated in
[0077] The systematic symbols S correspond to the K information symbols, possibly after interleaving and/or transformation.
[0078] According to the example illustrated in
[0079] According to the example illustrated in
[0080] Note that according to another example, not illustrated, the transformation can be implemented after the interleaving. The transformation can therefore be implemented either before or after the interleaving.
[0081] According to yet another example, not illustrated, a first transformation can be implemented before the first encoder, before the interleaver, and a second transformation, different from the first transformation and not cancelling the first transformation, can be implemented before the second encoder, before or after the interleaver. In this case, it is considered that the transformation function has two components, a first component corresponding to the first transformation and a second component corresponding to the second transformation. The “overall” transformation is therefore composed of a combination of the first and second transformations.
[0082] The term “transformation” is used below to cover these various implementations.
[0083] The turbo-coding step according to the invention therefore implements a bijective transformation of the information symbols, implemented before and/or after the interleaving, said transformation modifying the value of at least two of the information symbols prior to the encoding of the information symbols by the first and/or the second encoder.
[0084] In this way, the sequence of information symbols entering on the first encoder C1 differs from the sequence of information symbols entering on the second encoder C2, on the one hand by the order of the information symbols entering on each encoder, thanks to the interleaving, on the other hand by the value of the information symbols entering on each encoder, thanks to the transformation.
[0085] As indicated previously, the considered transformation is a bijection on the set of symbols of the considered Galois field. For example, if the information symbols are considered to be able to take values ranging from 0 to 15, that is to say are defined on a Galois field of cardinal q=16, then each information symbol of GF(16) has a unique image in GF(16) by the transformation T, and every element of GF(16) has a unique antecedent in GF(16). The table below gives an example of the bijective transformation of information symbols S.sub.i, defined in GF(16), into information symbols T(S.sub.j), defined in GF(16):
TABLE-US-00001 TABLE 1 S.sub.i T(S.sub.i) 0 9 1 5 2 7 3 4 4 12 5 11 6 15 7 1 8 13 9 3 10 14 11 10 12 2 13 0 14 8 15 6
[0086] In particular, if information symbols belonging to a Galois field of cardinal q with q>2, denoted GF(q), are considered, the proposed turbo-coding step allows to increase the distance between the information symbols, and, consequently, the minimum distance between the code words output by the turbo-coder.
[0087] According to a particular embodiment, the overall objective of the transformation is to increase the minimum cumulative Euclidean distance between two sequences of the resulting code relative to the code without transformation, independently of the nature of the elementary codes implemented by the first and second encoders and interleaver used.
[0088] Note that the minimum cumulative Euclidean distance between two code words output by the turbo-coder depends in particular on the constellation of the modulation used to transmit the code words.
[0089] Thus, according to one embodiment, the generation method according to the invention comprises a step of mapping information and redundancy symbols onto modulation symbols associated with a constellation of order p.
[0090] The transformation can thus be selected taking into account the constellation, and in particular the position of the modulation symbols associated with the information symbols before and after transformation.
[0091] 5.2 Identification of “Problematic” Information Symbols
[0092] Conventionally, non-binary turbo-coders use recursive systematic convolutional encoders implementing elementary codes with a single memory element (v=1). Indeed, the complexity of decoding a code on GF(q) varies in q.sup.v, where v is the memory of the code, and it is therefore easier to decode a code having only one memory element.
[0093] These convolutional encoders have the particularity of having fully connected trellises, that is to say that all the states are connected to each other in the code trellis.
[0094] For example,
[0095] The minimum cumulative Euclidean distance from a convolutional coder with one memory element, as illustrated in
[0096] For a pair of DC sequences, X.sup.1 and X.sup.2, spanning L trellis sections (for example sequences 411 and 412 spanning two trellis sections, the sequences 421 and 422 spanning three trellis sequences, or the sequences 431 and 432 spanning four trellis sections), the cumulative Euclidean distance between the modulation symbols associated with these sequences is calculated as follows:
where:
X.sub.ls.sup.mb and X.sub.lp.sup.mb are respectively the modulation symbols onto which are mapped the systematic and parity symbols corresponding to the trellis section I in the sequence X.sup.b, b=1, 2 and I.sub.x and Q.sub.x represent the in-phase and quadrature components of the signal x in the considered constellation.
[0097] Due to the total connection property of the trellis, the pairs of systematic symbols S carried by the different sections of the DC sequences X.sup.1 and X.sup.2 can take all the combinations in GF(q)xGF(q). More specifically, the systematic symbols carried by the first and last trellis sections of the sequences DC are necessarily different on the two sequences. This is not the case for the symbols carried by the intermediate trellis sections when L>2, for which the systematic symbols may be identical.
[0098] The inventors of the present patent application have demonstrated that for this family of codes with v=1 memory element, the DC sequences that are associated with modulation symbols whose cumulative Euclidean distance relative to the transmitted sequence is small, are essentially generated by modulation symbols located in the vicinity of modulation symbols actually transmitted, that is to say for which the following terms in equation 3 are of low value:
(I.sub.x.sub.
[0099] For example, if a recursive coder as illustrated in
[0100] 5.3 Examples of Implementation
[0101] In order to move the information symbols transmitted away from the most probable concurrent information symbols, and therefore to increase the minimum Euclidean distance between two code words at the output of the turbo-coder, it is proposed according to the invention to introduce a transformation before one of the encoding steps implemented by the turbo-encoder.
[0102] In particular, the transformation maximises the cumulative gap between the modulation symbols associated with the information symbols before transformation and after transformation. As a result, maximising the cumulative gap between the modulation symbols associated with the information symbols before transformation and after transformation allows to increase the minimum Euclidean distance between two code words at the output of the turbo-coder.
[0103] The cumulative gap between two information symbols, or more specifically between two modulation symbols associated with two information symbols, can in particular be expressed in terms of squared Euclidean distance. Of course, other types of distance can be used to measure the gap, or distance, between information symbols.
[0104] In other words, if the dispersion Δ (S.sub.i, S.sub.j) between two information symbols S.sub.i and S.sub.j of GF(q) is defined as the cumulative distance between two information symbols before and after transformation by the function T:
Δ(S.sub.i,S.sub.j)=D(S.sub.i,S.sub.j)+D(T(S.sub.i),T(S.sub.j)) [Equation 4]
the transformation is selected so as to maximise the minimum value of the dispersion Δ(S.sub.i, S.sub.j), denoted Δ.sub.min, or at the very least to obtain a minimum value of the dispersion Δ (S.sub.i, S.sub.j) greater than a selection threshold:
[0105] In particular, the dispersion Δ (S.sub.i, S.sub.j) between two information symbols S.sub.i and S.sub.j of GF(q) is expressed as the sum of the square of the Euclidean distance between the modulation symbols S.sub.i.sup.m, S.sub.j.sup.m on which the information symbols S.sub.i, S.sub.j are mapped before transformation and the square of the Euclidean distance between the modulation symbols T(S.sub.i).sup.m, T(S.sub.j).sup.m onto which the information symbols S.sub.i, S.sub.j are mapped after transformation by the function T.
Δ(S.sub.i,S.sub.j)=d.sub.euc.sup.2(S.sub.i.sup.m,S.sub.j.sup.m)+d.sub.euc.sup.2(T(S.sub.i).sup.m,T(S.sub.j).sup.m) [Equation 6]
[0106] The expression of the dispersion given by equation 6 gives integer values in the case of q-QAM constellations. However, any other expression of the dispersion whose maximisation or minimisation amounts to maximising the cumulative gap between the information symbols before and after transformation can be used.
[0107] The purpose of the transformation function is thus to ensure a high value of Δ.sub.min, that is to say greater than a selection threshold Th, in order to guarantee that if two information symbols are close (for example mapped on neighbouring modulation symbols in the constellation) before transformation, they are distant after transformation, and vice versa.
[0108] As it can be tedious to enumerate all the transformations in order to select the one which has the maximum value of Δ.sub.min, in particular for high values of q (cardinality of the Galois field), it is proposed according to the invention to select sufficiently large values of Δ.sub.min, and for example greater than the selection threshold Th.
[0109] Various examples of transformation are presented below allowing to obtain sufficiently high minimum dispersion values Δ.sub.min, depending on whether the cardinal of the Galois field on which the code is defined, q, and the order of the modulation, p, are identical or different.
[0110] A) Code and Modulation of the Same Order: q=p
[0111] When the order p of the modulation, represented by a constellation, is equal to the cardinal q of the Galois field to which the information symbols belong, each information or redundancy symbol is mapped to a unique modulation symbol. In other words, if a transmission chain comprising a turbo-encoding step according to the invention is considered, taking as input information symbols defined on a Galois field GF(q) and delivering the information symbols and redundancy symbols defined on the Galois field GF(q), and a q-QAM type amplitude modulation step, each information or redundancy symbol resulting from the turbo-coding step is transmitted on a modulation symbol of the q-QAM modulation, each modulation symbol being defined on the alphabet q (q-ary symbol).
[0112] In this case, the dispersion Δ (S.sub.i, S.sub.j) between two information symbols S.sub.i and S.sub.j of GF(q) is expressed as:
Δ(S.sub.i,S.sub.j)=d.sub.euc.sup.2(S.sub.i.sup.m,S.sub.j.sup.m)+d.sub.euc.sup.2(T(S.sub.i).sup.m,T(S.sub.j).sup.m)
with: [0113] d.sub.euc.sup.2(S.sub.i.sup.m,S.sub.j.sup.m)=(I.sub.s.sub.
[0116] According to a first example of implementation, the transformation transforms a pair of information symbols intended to be mapped onto a pair of modulation symbols whose Euclidean distance is less than a first threshold, into a pair of information symbols intended to be mapped onto a pair of modulation symbols whose Euclidean distance is greater than the first threshold.
[0117] In other words, if the pair of information symbols (S.sub.i, S.sub.j) before transformation is mapped onto a pair of modulation symbols having a small Euclidean distance, the pair of information symbols (T (S.sub.i), T (S.sub.j)) after transformation must be mapped onto a modulation symbol pair having a large Euclidean distance, and vice versa, so as to maximise the minimum dispersion between the information symbols S.sub.i, S.sub.j.
[0118] An example of the construction of the transformation function is presented below which allows, according to a first criterion, to guarantee a minimum value for the dispersion between the information symbols S.sub.i, S.sub.j.
[0119] According to this example, in order to guarantee a minimum dispersion for each pair of information symbols (S.sub.i, S.sub.j), it is necessary to know the distribution of the Euclidean distances between the set of pairs of modulation symbols associated with the set of pairs of information symbols in the considered constellation. For a 64-QAM constellation as illustrated in
[0120] The table below provides the list of multiplicities m(D.sub.i) associated with each distance D.sub.i, that is to say the number of pairs of modulation symbols at each distance D.sub.i, the distances being classified in increasing order. D.sub.1 corresponds to the distance between two direct neighbours and D.sub.33 to the distance between two opposite corners of the constellation:
TABLE-US-00002 TABLE 2 D.sub.i m(D.sub.i) D.sub.1 112 D.sub.2 98 D.sub.3 96 D.sub.4 168 D.sub.5 72 D.sub.6 80 D.sub.7 140 D.sub.8 120 D.sub.9 64 D.sub.10 112 D.sub.11 50 D.sub.12 96 D.sub.13 128 D.sub.14 84 D.sub.15 72 D.sub.16 32 D.sub.17 60 D.sub.18 32 D.sub.19 56 D.sub.20 48 D.sub.21 48 D.sub.22 40 D.sub.23 16 D.sub.24 46 D.sub.25 32 D.sub.26 24 D.sub.27 20 D.sub.28 24 D.sub.29 16 D.sub.30 8 D.sub.31 12 D.sub.32 8 D.sub.33 2
[0121] A first rule for constructing the transformation function consists in associating the pairs whose distances before transformation are at the start of the table with pairs whose distances after transformation are at the end of the table.
[0122] For example, a maximum value of i, denoted i.sub.max, is sought such that if the Euclidean distance before transformation between all the pairs of modulation symbols associated with the information symbols S and S′, denoted d.sub.euc (S.sup.m, S′.sup.m), is less than or equal to Di.sub.max, their distance after transformation, denoted d.sub.euc (T(S).sup.m, T(S′).sup.m), is strictly greater than Di.sub.max. Then, this guarantees Δ.sub.min≥D.sub.i.sub.
[0123] For example, for a 64-QAM modulation as shown in
[0124] Table 3 below provides the list in multiplicities associated with Euclidean distances after transformation for pairs of information symbols S and S′ whose Euclidean distance before transformation is less than Di.sub.max:d.sub.euc(S.sup.m,S.sup.nm)≤D.sub.i.sub.
[0125] It can be seen that all the pairs of modulation symbols associated with information symbols have a Euclidean distance strictly greater than Di.sub.max=D.sub.3, since the first three multiplicity values are equal to 0.
TABLE-US-00003 TABLE 3 D.sub.i m(D.sub.i) D.sub.1 0 D.sub.2 0 D.sub.3 0 D.sub.4 25 D.sub.5 16 D.sub.6 21 D.sub.7 27 D.sub.8 19 D.sub.9 10 D.sub.10 22 D.sub.11 13 D.sub.12 15 D.sub.13 29 D.sub.14 6 D.sub.15 7 D.sub.16 5 D.sub.17 12 D.sub.18 3 D.sub.19 8 D.sub.20 5 D.sub.21 3 D.sub.22 9 D.sub.23 5 D.sub.24 12 D.sub.25 7 D.sub.26 3 D.sub.27 8 D.sub.28 4 D.sub.29 6 D.sub.30 2 D.sub.31 1 D.sub.32 2 D.sub.33 1
[0126] According to a second example of implementation, the transformation transforms an information symbol intended to be mapped onto a modulation symbol having, in the constellation, a number of neighbouring modulation symbols less than a determined number, into an information symbol intended to be mapped onto a modulation symbol having, in the constellation, a number of neighbouring modulation symbols greater than said determined number, and vice versa, as long as this is possible.
[0127] An example of the construction of the transformation function is presented below, allowing, according to a second criterion, to optimise the level of protection of information symbols.
[0128] Considering, as an example, the case of the 64-QAM constellation illustrated in
[0129] Consequently, if the transformation is constructed such that the information symbols mapped onto modulation symbols located on the edges and corners of the constellation before (respectively after) transformation end up in the central part of the constellation after (respectively before) transformation, the total number of information symbols benefiting from this increased protection will be doubled compared to a coding pattern without transformation.
[0130] In other words, in the case where the information and redundancy symbols from the turbo-coder are associated with a constellation having different levels of symbol protection, a second rule of construction of the transformation can thus be defined.
[0131] Note that these two examples of implementation of the transformation can be applied independently (that is to say individually) or in combination.
[0132] For example, two transformation functions, denoted T1 and T2, are presented, said functions are obtained by applying the two preceding construction rules, and according to which the information and redundancy symbols belong to the Galois field GF(64) and are intended to be mapped onto modulation symbols of a 64-QAM quadrature amplitude modulation as shown in
[0133] The mapping of symbols of GF(64) onto the 64-QAM constellation is given by the following table, where b.sub.5b.sub.4b.sub.3b.sub.2b.sub.1b.sub.0 is the binary representation of each symbol in GF(64), b.sub.5 representing the most significant bit (MSB) and b.sub.0 the least significant bit (LSB).
TABLE-US-00004 TABLE 4 Value of Q b.sub.5b.sub.3b.sub.1 Value of I b.sub.4b.sub.2b.sub.0 +7 000 +7 000 +5 001 +5 001 +3 011 +3 011 +1 010 +1 010 −1 110 −1 110 −3 111 −3 111 −5 101 −5 101 −7 100 −7 100
[0134] The transformation T1 corresponds to a minimum dispersion value Δ.sub.min=12, and the transformation T2 corresponds to the largest minimum dispersion value found for a 64-QAM constellation, Δ.sub.min=28:
TABLE-US-00005 TABLE 5 x T1(x) T2(x) x T1(x) T2(x) x T1(x) T2(x) x T1(x) T2(x) 0 0 15 16 48 7 32 13 11 48 61 41 1 3 19 17 51 25 33 14 47 49 62 62 2 6 29 18 54 39 34 11 28 50 59 31 3 5 0 19 53 9 35 8 50 51 56 33 4 12 3 20 60 51 36 1 63 52 49 45 5 15 35 21 63 46 37 2 27 53 50 22 6 10 12 22 58 37 38 7 10 54 55 49 7 9 4 23 57 17 39 4 5 55 52 18 8 24 6 24 40 14 40 21 57 56 37 43 9 27 8 25 43 2 41 22 44 57 38 60 10 30 38 26 46 59 42 19 54 58 35 55 11 29 32 27 45 52 43 16 21 59 32 56 12 20 1 28 36 34 44 25 58 60 41 13 13 23 16 29 39 26 45 26 53 61 42 20 14 18 23 30 34 61 46 31 30 62 47 36 15 17 24 31 33 48 47 28 42 63 44 40
[0135] According to a third example of implementation, the method for generating a signal implements a step of selecting the transformation from several available transformations, the selection taking into account the redundancy symbols and/or the interleaver.
[0136] In particular, in the case where the first and/or second rules allow to construct several equivalent transformation functions according to the corresponding criteria, a third criterion can be applied, to select one of the transformations.
[0137] For this purpose, for each sequence X comprising two or three systematic symbols on GF(q), the concurrent sequences X′ comprising the most probable concurrent systematic symbols are identified, as defined previously and illustrated in
[0138] The cumulative Euclidean distance of the modulation symbols associated with the redundancy symbols between each transmitted sequence and the concurrent sequences is then determined, before and after transformation:
where:
[0139] L is the number of modulation symbols associated with systematic symbols (that is to say L=2 or L=3);
[0140] X.sub.lp.sup.m,X.sub.lp.sup.m′ represent respectively the modulation symbols associated with the I-th parity symbols of the sequences X and X′ obtained from the information symbols;
[0141] Y.sub.lp.sup.m,Y.sub.lp.sup.m′ represent respectively the modulation symbols associated with the I-th parity symbols of the sequences T(X) and T(X′) obtained from the transformed information symbols;
[0142] The selection step selects for example the transformation T which leads to the best distance spectrum, where the distance spectrum is composed of all the calculated distance values sorted in ascending order associated with the number of occurrences (multiplicity) for each distance. The best distance spectrum is the one that gives the greatest minimum distance. If the minimum distances are equal, for example, the spectrum with a lower number of occurrences of the minimum distance is selected. If the multiplicity is equal, the distance value just above the minimum distance can be checked.
[0143] According to this third example of implementation, the most advantageous transformation in terms of cumulative Euclidean distance is thus selected.
[0144] It is noted that if the transformation function has two components, one implemented before the first encoding and the other before the second encoding, before or after interleaving, the above criteria apply so as to optimise the overall transformation function.
[0145] B) Code and Modulation of Different Order: q>p
[0146] When the modulation order p, represented by a constellation, is less than the cardinal q of the Galois field to which the information symbols belong, each information or redundancy symbol is mapped onto several modulation symbols. In other words, if a transmission chain comprising a turbo-encoding step according to the invention is considered, taking as input information symbols defined on a Galois field GF(q), and delivering the information symbols and redundancy symbols defined on the Galois field GF(q), and a modulation step of order p, each information or redundancy symbol resulting from the turbo-coding step is transmitted on n modulation symbols, each modulation symbol being defined on the alphabet p (p-ary symbol).
[0147] The introduction of a transformation function thus allows to improve the performances of correction at a low error rate when the symbols of the Galois field on which the code, q, is defined, are transmitted using n symbols of a constellation with a lower order p: q=p.sup.n.
[0148] For example, each information or redundancy symbol derived from the turbo-coder, defined on GF(256), is transmitted on two modulation symbols of a 16-QAM modulation (q=256, p=16, n=2), defined in the alphabet 0 to 15, where each information or redundancy symbol from the turbo-coder, defined on GF(64), is transmitted on three QPSK modulation symbols (q=64, p=4, n=3), defined in the alphabet 0 to 3.
[0149] In this case, each information or redundancy symbol of GF(q) can be represented by a set of n modulation symbols associated with a constellation of order p (for example p-QAM).
[0150] In this case, the dispersion Δ (S.sub.i, S.sub.j) between two information symbols S.sub.i and S.sub.j of GF(q) is expressed as:
with: [0151] S.sup.m.sub.i,k respectively S.sup.m.sub.j,k, for k ranging from 1 to n, the n modulation symbols associated with the information symbol S.sub.i, respectively S.sub.j, before transformation, T(S.sub.i).sub.k.sup.m, respectively T(S.sub.j).sub.k.sup.m, for k ranging from 1 to n, the n modulation symbols associated with the information symbol S.sub.i, respectively S.sub.j, after transformation, I.sub.x and Q.sub.x are the in-phase and quadrature components of a signal x in the considered constellation.
[0152] The distance term between two symbols of GF(q) therefore breaks down into n terms, each of the n terms representing a Euclidean distance in the space of the constellation of order p.
[0153] Various implementation examples are presented below to obtain a sufficiently high minimum dispersion value Δ.sub.min that is to say greater than a selection threshold, in this particular case where q>p:
[0154] According to a first example of implementation, the transformation minimises the number of zero terms in equation 8 of the dispersion Δ(S.sub.i,S.sub.j).
[0155] More specifically, each expression of the distance D(S.sub.i,S.sub.j) contains n terms of Euclidean distance in the space of a constellation with p signals. consequently, it is sought to minimise the number of p-ary symbols, among the n modulation symbols associated with each information symbol of GF(q), which are identical before and after transformation.
[0156] For this purpose, the transformation associates pairs of information symbols of GF(q) having many p-ary symbols in common, with pairs of information symbols having few p-ary symbols in common, and vice versa.
[0157] In other words, the transformation transforms a pair of information symbols each intended to be mapped onto n p-ary modulation symbols, the number of p-ary symbols in common between the two sets of n p-ary modulation symbols being greater than a second threshold, into a pair of information symbols each intended to be mapped onto n p-ary modulation symbols, the number of p-ary symbols in common between these two sets of n p-ary modulation symbols being less than the second threshold, and vice versa.
[0158] For example, if a turbo-code defined on the Galois field GF(64) is considered, for which each information or redundancy symbol is transmitted on three QPSK modulation symbols (that is to say q=64, p=4, n=3), two distinct information symbols in GF(64) may differ by one, two or three distinct modulation symbols in the QPSK constellation.
[0159] Thus, if the information symbol 19 (010011) defined in GF(64) is intended to be mapped onto the three QPSK modulation symbols 103 and the information symbol 62 (111110) is intended to be mapped onto the three modulation QPSK symbols 332, the two information symbols 19 and 62 differ, in the QPSK constellation, by three modulation symbols (1≠3, 0≠3, 3≠2). The expression of the distance between the information symbols, D (19,62) contains no zero term.
[0160] If the information symbol 55 (110111) is intended to be mapped onto the three modulation symbols 313, and the information symbol 62 (111110) is intended to be mapped onto the three modulation symbols 332, the two information symbols differ, in the QPSK constellation, by two modulation symbols (3=3, 1≠3, 3≠2). The expression of the distance between the information symbols, D (55,62) therefore contains one zero term.
[0161] If the information symbol 63 (111111) is intended to be mapped onto the three modulation symbols 333, and the information symbol 62 (111110) is intended to be mapped onto the three modulation symbols 332, the two information symbols differ, in the QPSK constellation, by a single modulation symbol (3=3, 3=3, 3≠2). The expression of the distance between the information symbols, D (63,62) therefore contains two zero terms.
[0162] Among the C.sub.64.sup.2=2016 possible combinations of pairs of information symbols of GF(64), we determine as follows: [0163] 864 pairs having no QPSK symbol in common when the information symbols are represented in the QPSK constellation, [0164] 864 pairs having one QPSK symbol in common when the information symbols are represented in the QPSK constellation, [0165] 288 pairs having two QPSK symbols in common when the information symbols are represented in the QPSK constellation.
[0166] The proposed transformation allows to associate as a priority the pairs of information symbols having, in the QPSK constellation, two QPSK symbols in common with the pairs of information symbols having, in the QPSK constellation, no QPSK symbol in common, then the pairs of information symbols having, in the QPSK constellation, one QPSK symbol in common with the pairs of information symbols having, in the QPSK constellation, no QPSK symbol in common.
[0167] For example, the transformation T3 proposed below in Table 7 allows to transform the 288 pairs of information symbols having two QPSK symbols in common, before transformation, into 288 pairs having no QPSK symbol in common, after transformation, and to transform 48 pairs of information symbols having one QPSK symbol in common, before transformation, into 48 pairs having no QPSK symbol in common, after transformation. The remaining 864-48=816 pairs of information symbols keep one common QPSK symbol after transformation.
[0168] The mapping to the QPSK constellation is given by the following Table 6, where b.sub.1b.sub.0 is the binary representation associated with each QPSK modulation symbol, b.sub.1 representing the most significant bit (MSB) and b.sub.0 the least significant bit (LSB).
TABLE-US-00006 TABLE 6 Value of Q b.sub.1 Value of I b.sub.0 +1 0 +1 0 −1 1 −1 1
TABLE-US-00007 TABLE 7 x T3(x) x T3(x) x T3(x) x T3(x) 0 0 16 30 32 39 48 57 1 21 17 11 33 50 49 44 2 42 18 52 34 13 50 19 3 63 19 33 35 24 51 6 4 27 20 5 36 60 52 34 5 14 21 16 37 41 53 55 6 49 22 47 38 22 54 8 7 36 23 58 39 3 55 29 8 45 24 51 40 10 56 20 9 56 25 38 41 31 57 1 10 7 26 25 42 48 58 46 11 18 27 12 43 37 59 59 12 54 28 40 44 17 60 15 13 35 29 61 45 4 61 26 14 28 30 2 46 43 62 53 15 9 31 23 47 62 63 32
[0169] According to a second example of implementation, the method for generating a signal according to the invention comprises a step of selecting the transformation from several available transformations, the selection maximising the non-zero terms in equation 8 of the dispersion Δ(S.sub.i,S.sub.j).
[0170] In particular, in the case where the example of implementation proposed previously allows to construct several equivalent transformation functions, a selection step can be implemented, allowing to select the transformation function which maximises the non-zero values of the terms [(I.sub.s.sub.
[0171] Such a criterion indeed allows to guarantee that p-ary symbols which are close before transformation will be distant after transformation.
[0172] 5.4 Performances
[0173] Some simulation results are presented below, allowing to measure the effect of the introduction of a transformation on the correction performances of a turbo-code, independently of the effect of the interleaving.
[0174]
[0175] To obtain these results, we consider: [0176] the structure of
[0183] For the results illustrated in
[0184] Different transformations have been tested: [0185] configuration 1: the transformation is the identity function (there is no transformation). In this case, for a 64-QAM modulation, we have:
[0188] The transformations T1 and T2 for the 64-QAM constellation in
[0189] A first simulation consisted of simulating a turbo-code whose interleaving function is the identity function. In other words, the information symbol sequences before and after interleaving are identical. In this case, no performance gain associated with interleaving (“interleaving gain”) is expected.
[0190] The results of this first simulation are illustrated in
[0191] When no transformation is applied (curve 71A), the correction performances of the turbo-code are similar to those of the elementary convolutional code for which the transmission of the parity symbols is repeated.
[0192] When a transformation is inserted before coding by the second encoder C2 22A, for example the transformation T1 (curve 72A) or the transformation T2 (curve 72B), a coding gain is observed, which increases with the value of the minimum dispersion Δ.sub.min.
[0193] A second simulation consisted of simulating a turbo-code whose interleaving function is a random function (also called uniform interleaving). This is a probabilistic interleaver that allows to estimate the average turbo-code interleaving gain, independently of a particular interleaving pattern. The interleaver is randomly drawn for each message transmitted. The error rate curves thus obtained represent the performances of the code averaged over all the possible interleavers.
[0194] The results of this second simulation are illustrated in
[0195] Unlike the performances of
[0196] It can be seen in
[0197] A third simulation consisted in simulating a turbo-code whose interleaving function is a conventional interleaving function, for example of the ARP type (“Almost Regular Interleaver”).
[0198] The results of this third simulation are illustrated in
[0199] The same phenomena as in
[0200] In particular, as the parameters a1=41, a2=2 and a3=0 of each elementary code (C1, C2) have been modified, the turbo-code obtained does not have good distance properties and has a floor error rate which is naturally high without transformation (curve 71C). It can be observed that the use of the transformation T2, in terms of dispersion, allows this floor error rate to be lowered by about 2 decades (curves 73C).
[0201] A similar phenomenon has also been observed for other elementary codes on GF(64) with the same transformations, as well as for codes defined on GF(16), associated with a 16-QAM modulation.
[0202]
[0203] To obtain these results, we consider: [0204] the structure of
[0210] For the results illustrated in
[0211] Different transformations have been tested: [0212] configuration 1: the transformation is the identity function (there is no transformation); [0213] configuration 2: transformation T3 corresponds to a minimum dispersion value Δ.sub.min=16.
[0214] The transformation T3 is described in Table 7.
[0215] The turbo-code thus obtained was simulated for a transmission on a Gaussian channel, using a random interleaver.
[0216] It is noted that in the above simulations, it was considered that the encoders C1 and C2 implement the same elementary code, for example that illustrated in
[0217] 5.5 Structure
[0218] Finally, in relation to
[0219] Such a turbo-encoder comprises at least one memory 91 comprising a buffer memory, at least one processing unit 92, equipped for example with a programmable computing machine or with a dedicated computing machine, for example a processor P, and controlled by the computer program 93, implementing steps of the method for generating a signal according to at least one embodiment of the invention.
[0220] Upon initialisation, the code instructions of the computer program 93 are for example loaded into a RAM memory before being executed by the processor of the processing unit 92.
[0221] The processor of the processing unit 92 implements steps of the method of generating a signal described above, according to the instructions of the computer program 93, to: [0222] code a set of information symbols (either the input information symbols or the transformed information symbols) using a first code, delivering a first set of redundancy symbols, [0223] interleave the set of information symbols (either the input information symbols or the transformed information symbols), delivering a set of interleaved information symbols, [0224] code the set of interleaved information symbols (either the input information symbols or the transformed information symbols) using a second code, delivering a second set of redundancy symbols, [0225] apply a bijective transformation to the information symbols (either the input information symbols or the interleaved information symbols), before and/or after the interleaving.