The present invention relates to an encoding method and device, a decoding method and device, and systems using them.
In general terms, the present invention implements a specific use of binary elements (bits) referred to as padding bits in convolutional parallel turbocodes with interleavers preserving divisibility.
Conventionally, a turbo-encoder consists of three essential parts: two elementary systematic recursive convolutional encoders and one interleaver.
The associated decoder consists of the two elementary decoders with so-called soft inputs and outputs corresponding to the convolutional encoders, an interleaver and its reverse interleaver (also referred to as a “deinterleaver”).
A description of turbocodes will be found in the article “Near Shannon limit error-correcting coding and decoding: turbo codes” corresponding to the presentation given by C. Berrou, A. Glavieux and P. Thitimajshima during the ICC conference in Geneva in May 1993.
Since the encoders are systematic recursive encoders, the problem which is often found is the one of the return to zero of the encoders.
In the prior art various ways of dealing with this problem are found, notably:
For each of the solutions of the prior art mentioned above, there exists an adapted trellis termination applying to the corresponding decoders. These decoders take into account the termination or not of the trellis, as well as the fact that, where applicable, each of the two encoders uses the same padding bits.
Solutions 1 and 2 generally offer less good performance than solutions 3 to 5.
However, solutions 3 to 5 also have drawbacks.
Solution 3 limits the choice of interleavers, which may reduce the performance or unnecessarily complicate the design of the interleaver.
When the size of the interleaver is small, solution 4 has less good performance than solution 5.
As for solution 5, it requires the determination of the padding bits before the second encoder can commence encoding.
Thus the prior art does not resolve the problem consisting:
Moreover, in certain cases, it may be wished to use different types of interleavers according to the size of the blocks which it is wished to encode, whilst keeping a compatible turbo-encoder or turbodecoder architecture with independent trellis terminations and having good performance overall, notably for small block sizes.
The purpose of the present invention is to remedy the aforementioned drawbacks.
For this purpose, the present invention proposes a method for encoding at least one sequence of original binary data, according to which:
Thus, for a given block size:
Thus good performance on decoding is obtained. This makes it possible notably to use, during decoding, the relationships existing between the padding bits.
According to a particular characteristic, the binary data of the second padding sequence are determined solely from knowledge of the binary data of the first padding sequence.
This characteristic enables to simplify the encoding.
In a first embodiment, it is possible to determine the binary data of the second padding sequence from a previously established conversion table giving the second padding sequence as a function of the first padding sequence.
This enables to simplify the encoding.
In a second embodiment, it is possible to determine the binary data of the second padding sequence instantly as a function of the binary data of the first padding sequence.
This confers great flexibility of use on the invention.
According to a particular characteristic, in order to construct the second padding sequence from the first padding sequence having a number of data equal to the degree of the first divisor polynomial:
This method makes it possible to instantly calculate the second padding sequence as a function of the first padding sequence. This also makes it possible to construct a conversion table in advance as a function of the first padding sequence. This can also be used in a decoding method in order to establish systems of equations connecting the padding bits.
According to a particular characteristic, the first divisor polynomial and the second divisor polynomial are identical.
This enables to simplify the encoding.
According to a particular characteristic, when the intercolumn permutation is the identity permutation, the second padding sequence is determined as being equal to the first padding sequence.
This enables to simplify the encoding.
In a particular embodiment, at least one of the padding sequences is punctured.
This makes it possible to increase the code efficiency, with a very low loss of performance.
Advantageously, at least one of the padding sequences is punctured so that the coded sequence includes part of the first and second padding sequences which remains representative of all the first and second padding sequences.
This characteristic makes it possible to keep good performances.
According to a particular characteristic, the first padding sequence is fully punctured.
According to one particular characteristic, the second padding sequence is fully punctured.
The above two characteristics have the advantage of having great simplicity.
For the same purpose as before, the present invention also proposes a device for encoding at least one sequence of original binary data, having:
The particular characteristics and the advantages of the encoding device being the same as those of the encoding method according to the invention, they are not repeated here.
Still for the same purpose, the present invention also proposes a method of decoding at least one original symbol sequence, remarkable in that the original symbol sequence represents a binary sequence encoded by means of an encoding method such as the one above.
Thus a turbodecoder similar to a turbodecoder adapted to deal with encoders with independent return to zero, but using the general relationships between the two padding sequences, in order to obtain, at each iteration, a priori information on each of these two sequences, is considered.
According to a particular characteristic, the decoding method uses decoding operations with soft inputs and soft outputs.
The above decoding method has the general advantages peculiar to the turbodecoding methods with a code offering good performance.
According to a particular characteristic, there is effected iteratively:
According to a particular characteristic, the first sequence of binary data is determined using a previously established equation system giving the first sequence of binary data as a function of the first and second padding sequences.
By virtue of the above characteristics, the padding bits participate fully in the iterative decoding process. They are also well protected, or even better protected, than the other bits. Thus the performance of the turbodecoding is improved.
In a variant, the first sequence of binary data is determined using a system of equations established instantly and giving the first sequence of binary data as a function of the first and second padding sequences.
This variant confers simplicity and speed on the decoding.
According to a particular characteristic, there is also effected iteratively:
According to a particular characteristic, the second sequence of binary data is determined using a system of previously established equations giving the second sequence of binary data as a function of the first and second padding sequences.
As a variant, the second binary data sequence is determined using a system of equations established instantly and giving the second sequence of binary data as a function of the first and second padding sequences.
According to a particular characteristic, there is also effected iteratively:
The above characteristics have the same advantages as those mentioned in relation to the first elementary decoding operation and the determination of the first sequence of binary data.
According to a particular characteristic, the first a priori information sequence is determined using a system of previously established equations giving the first a priori information sequence as a function of the first extrinsic information sequence.
As a variant, the first a priori information sequence is determined using a system of equations established instantly and giving the first a priori information sequence as a function of the first extrinsic information system.
According to a particular characteristic, there is also effected iteratively:
According to a particular characteristic, the second a priori information sequence is determined using a system of previously established equations giving the second a priori information sequence as a function of the second extrinsic information sequence.
As a variant, the second a priori information sequence is determined using a system of equations established instantly and giving the second a priori information sequence as a function of the second extrinsic information sequence.
According to a particular characteristic, the first padding sequence having been fully punctured at the time of encoding, the second binary data sequence taken into account during the second elementary decoding operation is identical to the second padding sequence.
According to a particular characteristic, the second padding sequence having been fully punctured at the time of encoding, the first binary data sequence taken into account during the first elementary decoding operation is identical to the first padding sequence.
For the same purpose as before, the present invention also proposes a device for decoding at least one original symbol sequence, remarkable in that the original symbol sequence represents a binary sequence encoded by means of an encoding device such as the one above.
The particular characteristics and the advantages of the decoding device being the same as those of the decoding method according to the invention, they are not repeated here.
The present invention also relates to a digital signal processing apparatus, having means adapted to implement an encoding method and/or a decoding method such as the ones above.
The present invention also relates to a digital signal processing apparatus, having an encoding device and/or a decoding device such as the ones above.
The present invention also relates to a telecommunications network, having means adapted to implement an encoding method and/or a decoding method such as the ones above.
The present invention also relates to a telecommunications network, having an encoding device and/or a decoding device such as the ones above.
The present invention also relates to a mobile station in a telecommunications network, having means adapted to implement an encoding method and/or a decoding method such as the ones above.
The present invention also relates to a mobile station in a telecommunications network, having an encoding device and/or a decoding device such as the ones above.
The present invention also relates to a device for processing signals representing speech, having an encoding device and/or a decoding device such as the ones above.
The present invention also relates to a data transmission device having a transmitter adapted to implement a packet transmission protocol, having an encoding device and/or a decoding device and/or a device for processing signals representing speech such as the ones above.
According to a particular characteristic of the data transmission device, the packet transmission protocol is of the ATM (“Asynchronous Transfer Mode”) type.
As a variant, the packet transmission protocol is of the IP (transmission protocol used on the Internet, “Internet Protocol”) type.
The invention also relates to:
The invention also relates to a computer program containing instruction sequences for implementing an encoding and/or decoding method such as the ones above.
The particular characteristics and the advantages of the different digital signal processing apparatus, the different telecommunications networks, the different mobile stations, the device for processing signals representing speech, the data transmission device, the information storage means and the computer program being the same as those of the encoding and decoding methods and devices according to the invention, they are not repeated here.
Other aspects and advantages of the invention will emerge from a reading of the following detailed description of particular embodiments, given by way of non-limitative examples. The description refers to the drawings which accompany it, in which:
In general terms, a turbo-encoder of the type appearing in the invention, having an efficiency of ⅓, can be considered to be a pair of convolutional recursive encoders using divisor polynomials. The first encoder produces a check sequence using a sequence of symbols to be coded u and the second encoder produces a check sequence from an interleaved sequence u* obtained by interleaving the sequence u.
Let g1(x) be the divisor polynomial of the first encoder.
Let m be the degree of the polynomial g1(x) and N0 the smallest integer such that g1(x) is a divisor of the polynomial xN0+1. This number N0 is referred to as the “period” of g1(x).
Let g2(x) be the divisor polynomial of the second encoder.
g1(x) and g2(x) have the following property: if
is the complete factorisation of g1(x) in an extension field of the two-element field, then the complete factorisation of
where φ is an automorphism (denoted exponentially) of said extension field. Hereinafter, such a polynomial g2(x) will be said to be compatible with g1(x). In particular, a polynomial is always compatible with itself. It will be noted that two compatible polynomials have the same degree and the same period.
Consider for example the factorisation g1(x)=(x−α)(x−α2)(x−α4) of g1(x)=x3+x+1 where α is a seventh primitive root of the unit and belongs to the field containing eight elements. Consider the six automorphisms φi: α→αi of this eight-element field. It is verified that φ1, φ2 and φ4 produce g2(x)=g1(x) whilst φ3, φ6 and φ5 produce g2(x)=x3+x2+1, which is factorised as g2(x)=(x−α3)(x−α6)(x−α5).
Hereinafter, it is assumed that g1(x)=g2(x). By convention, g1(x) and g2(x) will be denoted g(x).
Let n be a multiple of N0: n=M.N0, M being an integer.
The first encoder produces padding bits guaranteeing its return to zero and a check sequence from a sequence of binary information symbols to be coded u of length n.
The sequence of symbols u has a polynomial representation u(x), of degree n−1, with binary coefficients.
Thus the first encoder encodes a sequence
as a sequence v1(x)=a1(x).h1(x)/g(x) where:
In addition, the sequence u(x) is interleaved in a sequence u*(x) by means of a permutation preserving the divisibility by g(x).
These permutations are, in a representation where the binary data of the sequence u are written and read, row by row, in an array with N0 columns and M rows, N0 being the smallest integer such that the divisor polynomial g(x) divides xN0+1, the resultant:
The second encoder encodes a sequence
as a sequence v2(x)=a2(x).h2(x)/g(x) where:
Overall, the turbo-encoder produces the sequences
v1 and v2 which will be transmitted over a channel.
It is then noted that the padding bits are connected together by a linear equation which depends only on the interleaver and, more precisely, only on the resultant permutation which permutes the N0 columns in the array describing this interleaver.
By way of illustration, a divisor polynomial g(x) equal to 1+x2+x3 is considered below. Its period, N0, is equal to 7.
A sequence to be encoded of 147 bits (n=147) and polynomials h1(x) and h2(x) both equal to 1+x+x3, are considered.
As a variant, it is possibly to partly puncture the padding sequences, since there exist linear relationships between the two padding sequences.
Under these conditions, an interleaver preserving divisibility by g(x) must have a size which is a multiple of 7; if the data are written row by row in a 7-column array, it is possible to permute these data within each column in any manner and to permute the columns with each other according to certain conditions preserving divisibility by g(x), before reading the permuted data row by row.
Numbering the columns in an increasing order from 0 to 6, the permutation which causes the column of rank b0 to pass to rank b1, the column of rank b1 to rank b2, . . . and the column of rank bk to rank b0, is denoted (b0, b1, . . . , bk).
The composite of two permutations (c0, c1, . . . , ck) and (d0, d1, . . . , dk′) is denoted (c0, c1, . . . , ck)(d0, d1, . . . , dk′).
Table T which follows gives a list of the 168 intercolumn permutations which preserve divisibility by g(x).
A simple-to-use interleaver is for example an “x to x32” interleaver defined as follows: if u designates the input sequence and u* the permuted sequence, this interleaver permutes each bit in position i in u to a position (32.i modulo 147) in u*.
This interleaver can be obtained by means of the composite: (i) of the intercolumn permutation Π=(1 4 2)(3 5 6), which appears in the table of intercolumn permutations given above and (ii) intracolumn permutations. Thus this interleaver preserves divisibility by g, whilst remaining simple to use.
In general terms, it is possible to use interleavers of the form “x to xe”, where e is a power of 2 modulo n.
These interleavers are defined as follows:
The sequence (u, v1, v2, p1, p2) is transmitted.
A description will be given now of the relationship existing between the padding bits.
A permutation which transforms the sequence a1(x) into a sequence a1′(x) equal to u*(x)+p″1(x).xn is considered.
Consider the intercolumn permutation Π=(1 4 2)(3 5 6) used to define the global permutation which permutes the sequence u into a sequence u* and which, here, acts on sequences of 7 bits.
The sequence p″1 is obtained by the permutation Π of a sequence p1 extended to 7 bits equal to [p10 p11 p12 0 0 0 0].
Thus p″1(x)=p10+p11.x4+p12.x=p10+p12.x+p11.x4.
By construction, the permutation Π is a permutation preserving divisibility by g(x). Thus a1′(x) is divisible by g(x).
The residue of p″1 modulo g(x) is equal to p″(X)=(p10+p11)+(p11+p12).x+p11.x2.
Consequently, the sequence a″(x) equalling u*(x)+p″(x).xn is also divisible by g(x).
In addition, a2(x) is equal to u*(x)+p2(x).xn and is divisible by g(x).
As g is of the 3rd degree and p″ and p2 are of the 2nd degree, p″ and p2 are equal.
There are deduced therefrom the following relationships between p1 and p2 which depend only on the permutations of columns of the interleaver guaranteeing return to zero of the encoder, that is to say here Π=(1 4 2)(3 5 6):
p20=p10+p11
p21=p11+p12
p22=p11
This system of equations is reversible: it is also easy to find p1 as a function of p2.
This way of proceeding is applicable whatever the permutation acting on the columns preserving divisibility by g. The obtaining of the equations linking the padding bits can be generalised:
In the particular case where the intercolumn permutation is identity, the sequences p1 and p2 are identical.
As a variant, the padding sequences are punctured by transmitting the sequence (u, v1, v2, pp) where pp includes padding bits of p1 and p2 and, advantageously, a combination linearly independent of the bits of p1 and p2, or, in more general terms, a part of the first and second padding sequences p1 and p2 which remains representative of these two sequences, that is to say which makes it possible to find the two sequences in their entirety.
Preferably either the first sequence of padding bits p1 is punctured in its entirety, or the second sequence of padding bits p2 in its entirety.
A turbodecoder is now described in general terms.
Turbodecoding is an iterative operation well known to persons skilled in the art. For more details, reference can useful be made to:
Nevertheless, in the state of the art, there are no particular relationships which link the padding bits. Here, to optimise the decoding quality, the turbodecoder will use the system of equations which link p1 and p2 both with regard to the corresponding elementary decoders where a priori information on p1 and p2 will be available and with regard to their output, where extrinsic information on p1 and p2 will be supplied.
A description will now be given of a particular embodiment of the present invention, with the help of
This station has a keyboard 111, a screen 109, an external information source 110, a radio transmitter 106, conjointly connected to an input/output port 103 of a processing card 101.
The processing card 101 has, connected together by an address and data bus 102:
Each of the elements illustrated in
It will also be observed that the word “register” used in the description designates, in each of the memories 104 and 105, both a memory area of low capacity (a few binary data) and a memory area of large capacity (making it possible to store an entire program).
The random access memory 104 stores data, variables and intermediate processing results, in memory registers bearing, in the description, the same names as the data whose values they store. The random access memory 104 contains notably:
The read only memory 105 is adapted to store, in registers which, for convenience, have the same names as the data which they store:
The data in ROM 105 can be provided by a removable storage medium, such as, for example, a floppy disk, a CD-ROM or a DVD.
The central processing unit 100 is adapted to implement the flow diagram illustrated in FIG. 5.
It can be seen, in
In a variant, the sequence p2 can be determined solely from the knowledge of the sequence p1, either by means of a calculation using the intercolumn permutation Π, as described above, or, preferably, using a conversion table giving p2 as a function of p1, this conversion table having previously been established.
The five sequences u, v1, v2, p1 and p2 are transmitted in order next to be decoded.
In the remainder of the description, the concern is preferably with interleavers of the “x to x32” type of size 147, although the present invention is not limited to this type of interleaver, but concerns, much more generally, all interleavers preserving divisibility by g(x).
This station has a keyboard 311, a screen 309, an external information destination 310, and a radio receiver 306, conjointly connected to an input/output port 303 of a processing card 301.
The processing card 301 has, connected together by an address and data bus 302:
It should also be noted that the word “register” used in the description designates, in each of the memories 304 and 305, both a memory area of low capacity (a few binary data) and a memory area of large capacity (making it possible to store an entire program).
The random access memory 304 stores data, variables and intermediate processing results, in memory registers bearing, in the description, the same names as the data whose values they store. The random access memory 304 contains notably:
The read only memory 305 is adapted to store, in registers which, for convenience, have the same names as the data which they store:
The data in ROM 305 can be provided by a removable storage medium, such as, for example, a floppy disk, a CD-ROM or a DVD.
The central processing unit 300 is adapted to implement the flow diagram illustrated in FIG. 6.
In
The first decoder 404 receives as an input:
The first decoder 404 supplies as an output:
The decoding device illustrated in
This second decoder 406 receives as an input:
The second decoder 406 supplies as an output:
The decoding device illustrated in
Account is taken of an estimated sequence û only following a predetermined number of iterations (see the article “Near Shannon limit error-correcting coding and decoding: turbocodes” referred to above).
In the preferred embodiment described here, in initializing the decoders 404 and 406 account is taken of the fact that the encoders 202 and 204 each have null initial and final states.
In
Next, during a test 502, the central unit 100 determines whether or not the integer number stored in the register “No_data” is equal to n (the value stored in the read only memory 105).
When the result of the test 502 is negative, the operation 501 is reiterated.
When the result of the test 502 is positive, during an operation 508, the first encoder 202 (see
In parallel to the operation 508, during an operation 506, the binary data in the sequence u are successively read in the register “received_data”, in the order described by the array “interleaver” stored in the read only memory 105. The data which result successively from this reading are stored in memory in the register “permuted_data” in the random access memory 104.
Next, during an operation 510, the second coder 204 simultaneously determines the padding sequence p2, the division by g(x) of the polynomial b(x) associated with the sequence of binary data obtained by concatenating the sequences u* and p2 (p2 being determined so that the remainder of this division is zero) and the product of the result of this division by h2(x). The sequence p2 and the result of this operation, v2, are stored in memory in the register “data_to_send”.
During an operation 509, the sequences u, p1, p2, v1 and v2 are sent using, for this purpose, the transmitter 106. Next the registers in the memory 104 are once again initialised (step 500 is returned to); in particular the counter No_data is reset to “0”. Then the operation 501 is reiterated.
In a variant, during the operation 509, the sequences u, v1, v2, p1 and p2 are not sent in their entirety but only a sub-set thereof. This variant is known to persons skilled in the art as puncturing. Normally, the padded bits are not punctured. Here, by virtue of the interleaver preserving divisibility by g(x), it is possible to establish relationships between the padding bits; thus it is possible to puncture a certain number of padding bits and to send only a sub-set of these bits. Advantageously, only a set of padding bits which are linearly independent, but which remains representative of the sequences p1 and p2, will be sent. In other words, solely knowledge of the padding bits sent is necessary and sufficient for reconstituting all the sequences p1 and p2.
In
Next, during a test 602, the central unit 300 determines whether or not the integer number stored in the register “No_data” is equal to 3n+2m (n and m being values stored in the read only memory 305), 3n+2m being the total number of binary data sent by the transmitter 106.
When the result of the test 602 is negative, the operation 601 is reiterated.
When the result of the test 602 is positive, during a turbodecoding operation 603, detailed below, the decoding device gives an estimation û of the transmitted sequence u.
Then, during an operation 604, the central unit 300 supplies this estimation û to the information destination 310.
Next the registers in the memory 304 are once again initialised. In particular, the counter No_data is reset to “0” and operation 601 is reiterated.
In
Then, during an operation 701, the operation units 414 and 415 respectively calculate the sequences p′1 and p′2 from the sequences p2 and p1 and store them in the register received_data.
Next, during an operation 702, the register No_iteration is incremented by one unit.
Then, during an operation 703, the first decoder 404 (corresponding to the first elementary encoder 202) implements an algorithm of the “Soft Input Soft Output” (SISO) type, well known to persons skilled in the art, such as the BJCR mentioned above, or the SOVA (“Soft Output Viterbi Algorithm”), as follows: taking into account null initial and final states of the encoder, the first decoder 404 considers, as soft inputs, an estimation of the received sequences u and v1, of the sequence p′1 and of wp1 and w4 (respectively a priori information on p1 and u) and supplies, on the one hand, wp1′ and w1 (respectively extrinsic information on p1 and u) and, on the other hand, an estimation û of the sequence u.
For fuller details on the decoding algorithms used in the turbocodes, reference can be made to:
During an operation 705, the interleaver 405 interleaves the sequence w1 in order to produce w2, a priori information on u*.
In parallel, during an operation 704, the operation unit 412 calculates the sequence wp2 from the sequence wp1′.
Next, during an operation 706, the second decoder 406 (corresponding to the second elementary encoder 204) uses an algorithm of the soft input soft output type, as follows: taking into account null initial and final states of the encoder, the second decoder 406 considers as soft inputs an estimation of the received sequences u* and v2, of the sequence p′2 and of wp2 and w2 (respectively a priori information on p2 and u) and supplies, on the one hand, wp2′ and w3 (respectively extrinsic information on p2 and u*) and, on the other hand, an estimation û of the sequence u*.
During an operation 708, the deinterleaver 407 (the reverse interleaver of 405) deinterleaves the information sequence w3 in order to produce w4, a priori information on u.
In parallel, during an operation 707, the operation unit 413 calculates the sequence wp1 from the sequence wp2′.
The extrinsic and a priori information produced during steps 703, 704, 706 and 707 is stored in the register “extrinsic_inf” in the RAM 304.
Next, during a test 709, the central unit 300 determines whether or not the integer number stored in the register “No_iteration” is equal to a maximum predetermined number of iterations to be effected, stored in the register “max_No_iteration” of the ROM 305.
When the result of test 709 is negative, operation 702 is reiterated.
When the result of test 709 is positive, during an operation 710, the deinterleaver 408 (identical to the deinterleaver 407) deinterleaves the sequence û*, in order to supply a deinterleaved sequence to the central unit 300, which then transforms the soft decision into a hard decision, in the form of a sequence û, estimate of u.
The calculation operations 701, 704 and 707, which are, within the decoding device, specific to the invention, are now detailed.
For this purpose, the example given in the detailed description of the encoding device will be taken up again and the corresponding decoding device considered.
It has been seen that, in the aforementioned example, the padding bits are linked by one of the following two equivalent equation systems:
p20=p10+p11
p21=p11+p12
p22=p11 (1)
p10=p20+p22
p12=p22+p21
p11=p22 (2)
These relationships can be predetermined according to the method described above with regard to the paragraph describing the relationships between the padding bits.
On the decoding device side, there are only estimations of p1 and p2, and the decoders 404 and 406 will take advantage of both p2 and p1.
Thus the decoder 404 will not directly take the information which it has on p1 or p2 but will use p′1.
Likewise, the decoder 406 will not directly take the information which it has on p1 or p2 but will use p′2.
The operation units 413 and 414 use the system (2), which can be calculated instantly or, preferably, stored in memory in the form of a conversion table, in order to determine respectively wp1 from wp2′ and p′1 from p1 and p2. Nevertheless, it should be noted that wp1, wp2′, p2 and p′1 are soft information and correspond generally to likelihood ratio logarithms. Thus care will be taken to effect the additions of soft information in accordance with methods which are not trivial but well known to persons skilled in the art of decoders. Reference can be made, for example, to the section “Likelihood algebra of a binary random variable” in the article entitled “Source controlled channel decoding” by J. Hagenauer, in IEEE Transactions on Communications, Vol. 43, No. 9, September 1995.
Likewise, the operation units 412 and 415 use the system (1), which can be calculated instantly or, preferably, stored in memory in the form of a conversion table, in order to determine respectively wp2 from wp1′ and p′2 from p1 and p2.
As a variant, when padding bits have been punctured during the encoding operation, the soft inputs of these bits will be initialised to a zero value. If the sequence p1 has been completely punctured, the input p′2 of the second decoder 406 will be identical to p2. Conversely, if the sequence p2 has been completely punctured, the input p′1 of the first decoder 404 will be identical to p1.
In another variant, which is more general, the invention is not limited to the turbo-encoders composed of two encoders or to the turbo-encoders with one input: it can apply to turbo-encoders composed of several elementary encoders or to turbo-encoders with several inputs, such as those described in the report by D. Divsalar and F. Pollara mentioned in the introduction.
It will be ensured in this case that the interleavers used preserve divisibility by the generator polynomial or polynomials used and that the elementary encoders are initialised to the zero state and return to zero by virtue of the padding bits, the latter not being interleaved. It will then possible to establish the relationships which link these padding bits and use them in the decoding device in a similar manner to that which was disclosed above.
Thus,
The interleavers l1, l2, . . . , lk−1, lk, designated by the reference numbers 801 to 804, preserve divisibility by the feedback polynomial g(x) used in the encoders 805 and 806.
The padding sequences p1 and p2 are not interleaved.
The corresponding decoding device can easily be derived from the description of the encoding device, on the basis of the description of the decoding device given previously in cases where a single input and a single interleaver are considered.
Number | Date | Country | Kind |
---|---|---|---|
9916073 | Dec 1999 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
3614622 | Holsinger | Oct 1971 | A |
4394642 | Currie et al. | Jul 1983 | A |
5416787 | Kodama et al. | May 1995 | A |
5428641 | Long | Jun 1995 | A |
5727002 | Miller et al. | Mar 1998 | A |
5978365 | Yi | Nov 1999 | A |
6075789 | Kasslin et al. | Jun 2000 | A |
6148422 | Strawczynski et al. | Nov 2000 | A |
6233279 | Boon | May 2001 | B1 |
Number | Date | Country |
---|---|---|
0 928 071 | Jul 1999 | EP |
2 773 287 | Jul 1999 | FR |
Number | Date | Country | |
---|---|---|---|
20010009030 A1 | Jul 2001 | US |