GB2346782A - Method of transmission with channel encoding with efficient and modular interleaving for turbo codes - Google Patents

Method of transmission with channel encoding with efficient and modular interleaving for turbo codes Download PDF

Info

Publication number
GB2346782A
GB2346782A GB9929541A GB9929541A GB2346782A GB 2346782 A GB2346782 A GB 2346782A GB 9929541 A GB9929541 A GB 9929541A GB 9929541 A GB9929541 A GB 9929541A GB 2346782 A GB2346782 A GB 2346782A
Authority
GB
United Kingdom
Prior art keywords
string
transmitted
rank
bits
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9929541A
Other versions
GB2346782B (en
GB9929541D0 (en
Inventor
Eric Pite
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sagem SA
Original Assignee
Sagem SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem SA filed Critical Sagem SA
Publication of GB9929541D0 publication Critical patent/GB9929541D0/en
Publication of GB2346782A publication Critical patent/GB2346782A/en
Application granted granted Critical
Publication of GB2346782B publication Critical patent/GB2346782B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Abstract

An encoding circuit 4 converts a flow of data elements X into several flows Y1, Y2, Y3, Y<SB>i</SB> for transmission to receiver 3. The circuit 4 consists of two encoders RSC1, RSC2 and an interleaver 15 preceding the second encoder. The interleaver 15 interleaves a binary string of n bits according to the formula:<BR> <BR> h<SB>k</SB> = a.h<SB>k-1</SB> + b modulo m<BR> <BR> where k is the rank or position of a bit in the binary string, h<SB>k</SB> is the rank assigned to the bit in the interleaved string and a, b and m are integers. M is preferably chosen to be equal to n+1. The interleaver is implemented in software. The encoders may be recursive convolutive encoders.

Description

2346782 METHOD OF TRANSMISSION WITH CHANNEL ENCODING WITH EFFICIENT AND
MODULAR INTERLEAVING FOR TURBO CODES An object of the present invention is a method of transmission with channel encoding, namely with a preparation of bits to be transmitted that takes account of the transmission performance characteristics of the channel in such a way that the transmission quality is as perfect as possible despite inevitable physical defects in this channel. The aim of the invention is to propose a method in which a practical implementation of a theoretical and tested solution is simple to achieve with signal processing devices having limited power. These devices in particular are mobile telephones. The main field of application of the invention therefore is that of mobile telephony. However, the invention could also be used in satellite links. In general, the invention can be used whenever it is desired to implement a turbo code for which it is sought to obtain an efficient and modular interleaving.
In the digital transmission of information (speech, images, data, etc.), a distinction is made between source encoding and channel encoding. The object of source encoding is to compress the digital information elements to be transmitted so that they occupy the smallest possible volume, in such a way that the useful bit rate is the maximum. By opposition, channel encoding consists of the addition of the redundancy to the information to be transmitted so that the information received is more robust in the face of the errors contributed by the channel. This kind of action converts an unnecessary redundancy, namely that of the initial 2 information, into a useful redundancy, namely one that makes it possible to withstand transmission noises. Channel encoding therefore is of vital importance. A wide range of channel encoding methods has been available since the 1960s. The known encodings thus include convolutive encodings, BCH encodings, Reed-Solomon encodings, etc. The channel encodings used differ according to the applications in view.
The French patent application 91 05280 entitled "Proc6dd de codage correcteur d'erreurs 6 au moins deux codages convolutifs syst6matiques en parall6le, proc6d6 de d6codage it6ratif, module de d6codage et d6codeur correspondant" (Method For Error-Corrective Encoding With At Least Two Parallel Systematic Convolutive Encodings, Iterative Decoding Method, Decoding Module And Corresponding Decoder), as well as the document by C. Berrou, A. Glavieux and P.
Thitimajshima, "Near Shannon Limit Error-Correcting Coding And Decoding: Turbo Codes", Proc. 1993 International Conference on Communications, have proposed a new encoding scheme known a turbo code whose performance characteristics approach the theoretical limit of the capacity of a channel as described in C. Shannon's theorem.
In one example where the encoding rate is equal to 1/3, with an encoding of this kind, a flow X of data elements to be encoded is transmitted in the form of three flows Y1, Y2 and Y3 of encoded data. In one example, the flow Y1 is the same as the flow X. The flow Y2 results from the encoding of the flow X by a first recursive convolutive encoding.
The flow Y3 results from the encoding of a permutation, the term "interleaving" being a misnomer, of the bits of the flow X by a second I recursive convolutive encoder. A turbo encoder thus uses at least two convolutive encoders, which are preferably systematic recursive encoders, the second one being preceded by a temporal interleaver working on blocks of a fixed size.
An interleaver/permutator is an essential component of turbo codes. A conceptual interpretation of the mode of operation is given in an article by G. Battail "A Conceptual Framework for Understanding Turbo Codes", IEEE Journal on Selected Areas in Communications, Vol. 16, No.
2, February 1998. Very briefly, it may be recalled that an interleaving, if it is properly done, enables the imitation of a random encoding. It must also be recalled that the role of a random encoding is central in the demonstration of C. Shannon's theorem of capacity. It is generally agreed that there are two very important factors for the designing of an interleaver of this kind. The first factor is the depth of this interleaver. The depth is the size of the interleaver, namely the number n of bits that it is capable of permutating. The greater the depth, the better it is, i.e. the more effective the random character will be. The second factor is the degree of randomness that can be introduced by the interleaver into a given block.
An ideal interleaver is therefore a purely random interleaver but this does not exist in practice.
Indeed, the purpose of an interleaver is to break the least significant code words which are the most numerous to be transmitted. It is furthermore possible to design non-random interleavers that effectively deal with the least significant code words. However, these interleavers unfortunately tend to amplify the effects of the most significant code 4 words, and this is not desirable either. The criterion that enables the choosing of an optimum interleaver must consider the codes of all significance values simultaneously, and must obtain a general optimum.
The determining of this criterion is an as yet unresolved problem.
The interleaving techniques used in the real systems of the state of the art use matrices. These matrices are implemented with hardware circuits. In such hardware circuits, the data elements or bits of a block are entered in lines, matrix line after matrix line. They are then read in columns. Simulations show however that the performance characteristics obtained with such matrix interleavers are lower than those obtained with interleavers produced by computer programs that imitate randomness.
Furthermore, third-generation cellular radiomobile communications, especially in the context of the IMT 2000 recommendation, require the use of a wide variety of services associated with temporal bit rates and constraints that are different from one another. Given the performance characteristics of the turbo codes, there is a likelihood of using them for services that require high protection against errors but accept a certain delay (that of the interleaver). The problem not resolved by matrix systems is then the permanently fixed character of the dimension of the data blocks liable to be processed. These permanently fixed dimensions result from the size of the matrices chosen and their write-read system.
Thus, if it is assumed that there are k different services, each bearing temporal delays of rl, r2,..., rk bits, the aim, for each service, is to seek to make an interleaver of maximum depth, it being known that the interleaving performance characteristics rely on the size of the interleaver.
I One difficulty of the matrix implementation that is conventionally proposed is that it is necessary to rigidly specify the different interleavers for the different sizes of blocks.
It is an object of the present invention to overcome these problems.
It proposes the designing of an interleaver made in a software manner, that furthermore requires only very few parameters in memory. In the invention, for a block of n bits to be interleaved, with k ranks numbered 1 to n in the string of bits to be transmitted, another block of n bits of an interleaved string is created by permutation. The ranks of the bits in the interleaved chain are then h ranks, such that h = f (k). The function f must be a permutation of (1,..., n) namely, a bijective application of (1,..., n) in itself. In the invention, to obtain the function f, a linear congruency equation is applied. It can be shown then that the choice of such an approach has the effect of doing away with the need for specific circuits and of furthermore requiring only small resources in software. The random character is thus not theoretically perfect but its approximation by a simple congruency algorithm is quite efficient with respect to the problem of improving the performance characteristics of the encoding of the channel sought.
An object of the invention therefore is a method of transmission with channel encoding, between a transmitter and a receiver, wherein:
- a binary string of n bits to be transmitted is encoded with a first encoder to obtain a first encoded string, - bits of the binary string to be transmitted are permutated to obtain another binary string known as an interleaved string, 6 - the interleaved string is encoded with a second encoder to obtain a second encoded string, the binary chain to be transmitted and/or the first and/or the second encoded strings is/are transmitted from the transmitter to the receiver, - and the transmitted strings are received and decoded correspondingly on the receiver side to reconstitute the binary string to be transmitted, characterised in that to permutate the bits of the binary string of n bits to be transmitted, a k rank bit of the binary string to be transmitted is assigned a rank hk in the interleaved string which depends on a rank hk-I assigned to a k-1 rank bit of the binary string to be transmitted, so that the rank hk assigned is of the type: 15 hk = a.hk-l + b modulo m, a, b and m being integers The invention will be understood more clearly from the following description and the examination of the appended figures. These figures are given by way of an indication and in no way restrict the scope of the invention. Of these figures: 20 - Figure 1 is a functional representation of an encoding device that can be used to implement the method of the invention-, Figure 2 is a flow chart of steps of the interleaving method of the invention;
I 7 - Table 1 which is an explicit part of the invention comprises preferred values of parameters under preferred variants of implementation of the algorithm of the invention.
Figure 1 shows a functional view of means of implementing a method of transmission according to the invention. This method is designed to be implemented between a transmitter 1 and a receiver 2.
The transmitter 1 and the receiver 2 are shown symbolically and are connected to each other by a channel 3. The method of transmission with channel encoding of the invention is of the type that converts a flow of data elements X produced by the transmitter 1 into several flows of data elements Y1, YZ Y3, Yi transmitted by the channel 3. The channel 3 will mostly be a radioelectric channel, with an encoding circuit 4 implementing the method of the invention, interposed between the transmitter 1 and the receiver 2, furthermore comprising an associated radioelectric, transmission circuit that is not shown. In reception, circuits are adapted to the decoding and receiving, in correspondence, of the strings Y1, Y2, Y3, Yi and to the rebuilding of the transmitted string X.
The channel encoding circuit 4 comprises a first convolutive encoder 5 that produces a string of bits Y2 from a string to be encoded X.
In one example, this convolutive encoder is a recursive convolutive encoder. In its principle, it comprises a certain number of delay circuits 6 to 9, cascade-connected with one another, the outputs of which are connected to adders or more generally to operators 10 to 13. The purpose of the operators 10 to 13 is to combine together bits of the string X available at a given date with bits of this same string, or of a conversion 8 of this string, available at a subsequent date. The convolutive encoder 5 shown is said to be recursive because the convolution products, especially those coming from the operator 12, are combined at the input of the system in an operator 13 with as yet unprocessed bits of the string X of the bits to be encoded. As indicated here above, the making of a recursive convolutive encoder is preferable because, for equal encoding complexity (and equal protection efficiency), a recursive encoder of this kind requires fewer operators and delay circuits than a non-recursive encoder that carries out a same conversion. This being the case, in the invention there is therefore no need in principle for the encoder 5 to be a recursive convolutive encoder. It could be a simple convolutive encoder or even another system of encoding of the BCH or Reed-Solomon or other type, but the performance characteristics will be different.
In addition to being transmitted as such in the string Y1 or in a convoluted form in the string Y2, in the invention the string of bits to be processed X is transmitted in the form of a third string Y3 encoded by another encoder 14 that also receives the string X of bits to be encoded.
The particular feature of the string Y3 is that it is produced from a permutation of the string X of bits to be encoded. This permutation is obtained by a permutation circuit also called an interleaver circuit 15, interposed between the input of the encoder 14 and the input of the encoding circuit 4.
The left-hand side of Figure 1, gives a view in one example, in a 12-bit string X, of the processing operation performed bit by bit by the interleaver 15, to convert the chain X into a permutated string X. The I 9 interleaver 15 is preferably a software interleaver and its conversion algorithm is shown in Figure2. In accordance with what has been referred to here above, to permutate the bits of the n-bit binary string to be transmitted, in this case twelve bits in one example, a k rank bit of the binary string X to be transmitted is assigned a rank hk in the interleaved string X. The particular feature of the invention is that the rank h. in this string X depends on the rank hk-1 assigned to a bit with the rank k-1 of the binary string X of the bits to be transmitted. The dependency is such that:
hk = a.hk-I + b modulo m In this formula a, b and m are integers, parameters of the conversion. To be complete, a complementary parameter, which is essential to the invention, is the number n of the bits of the string X to be encoded. Indeed, as indicated in the introduction, the invention enables the adapting of the encoding to the length of the words to be transmitted.
For example, in the context of the GSM system, it is known that, on a useful window of 156 bits, only 142 bits have informational significance.
Among these 142 bits, three groupings are formed. A first grouping and third grouping represent information elements to be transmitted. A second intermediate grouping, which is intermediate between the other two groupings, comprises consistency information enabling a channel decoding circuit, in reception, to retrieve the two groupings of bits expected, and improve the transmission performance characteristics of the channel. Other standards can be envisaged. Even in GSM, it is possible to adapt high bit transmission protocols. In this case, the key lengths of the words to be transmitted is no longer 142 bits but may be greater. For example, it may be 1024 bits or more.
Thus, during a step 16, in the program implemented by the interleaver 15, the values of the parameters n, a, b and m are defined.
Hereinafter we shall see the constraints that weigh on judicious choices of these parameters, where non-compliance with these constraints leads to the deteriorated functioning, even if it may be acceptable, of the encoding algorithm of the invention. After the step 16, during a step 17, the string X of bits to be transmitted begins to get scrutinised. This is done in the form of two instructions 18 and 19, respectively an instruction 18 k=1 and hk = 1 followed by an instruction 19 k = k + 1. The instruction 18 actually means that the rank 1 bit in the string X to be transmitted will be assigned a rank hk=l in the string X, before it is encoded by the encoder 14. This is not an obligation. In particular, it can be envisaged for k = 1 to choose an initial value of hk that is different from 1. It is quite simply enough that hk should be smaller than n. The fact of choosing hk as being different from 1 may lead, as referred to here above, neither to excessively penalising nor to giving excessive advantage to the least significant or most significant bits. If need be, it may be planned that hk Will change its value for each new string X undergoing a permutation. The step 17 is followed by a test 20 during which it will be ascertained that the rank k bit to be processed truly belongs to the string X of n bits or that it belongs to another string, consecutive to the string X, that also is an n bit string. If this is not the case, and at the beginning it is not the case, then it is I 11 possible to find the rank hkby applying the instruction 21 knowing that a, b and m are known.
If they are produced in this way, the values hk are not necessarily distributed randomly throughout the string X of bits. Furthermore, it is even possible in certain cases that the conversion 21 is not a permutation of ( 1, 2,..., n}. In order that these criteria might be obtained, it is necessary to impose certain constraints on the parameters a, b and m.
Indeed, the sequence (infinite) defined by the linear congruency of the step 21 has a period m if, and only if, b and m are prime numbers in relation to each other; if, for any prime number p dividing m, a - 1 is a multiple of p; and if a - 1 is a multiple of 4 when m is a multiple of 4. A justification of these constraints can be found in the article by Hull and Dobell, SIAM Review, 4 (1962), pages 230-254, In practice, it is enough to take m = n +1 to produce a permutation.
In the example shown in Figure 1, it is sought to permutate twelve bits. We can then take m = 13. It is indeed important that m should be greater than n. Hereinafter we shall see how m can be taken to be greater than n to resolve certain difficulties of the algorithm. a and b remain to be chosen. The choice of b as being different from zero amounts to choosing hk as being different from I for k = 1. Most of the time, b = 0 will be chosen. However, to go from one permutation to another, with only one algorithm implemented according to the step 21, it is enough to add b (modulo m) to the rank of each bit produced by the interleaver 15 in which b will have the value zero. Thus, in Figure 1, the encoding circuit 4 may comprise other encoders to produce other strings 12 Yi of encoded bits. Rather than starting each time from the string X and providing for another complex interleaver 15, it may be more useful in this case to start from the string X', change the value of b and thus constitute an additional interleaver at lower cost by an addition of b modulo m, to feed another encoder.
Hence, a remains to be chosen. In one example, it is possible to arbitrarily choose a so that it is about half of n or half of n - 1. For example here, we choose a = 6. The implementation of the step 21, with a = 6 and b = 0 for m = 13, then gives the following results, the first line giving the rank k of the bits of the string X, the second line giving the assigned ranks hk in the string X:
1 2 3 4 5 6 7 8 9 10 11 12 1 6 10 8 9 2 12 7 3 5 4 11 This example is furthermore shown in the left-hand margin of Figure 1. The first line shows the ranks k of the bits of the string X of the bits to be processed, the second string shows the ranks hk that have been assigned in application of the step 21 to these bits with a rank k of the string X. As shown in the step 18, the bit with the rank k = 1 is arranged and stored in the rank hk=1 in the string X of encoding bits. For the bit with the rank k = 2, the formula 21 is applied. This gives a rank h2 = 6 x 1 + 0 modulo 13 in taking b = 0. The operation 6 x 1 + 0 gives 6, with modulo 13 not changing the result. This leads to assigning the k =2 ranking bit a rank hk = 6 in the string X. For the bit with the rank k = 3, I 13 the application of the formula gives h3=6x6+0 modulo 13. This gives 36 modulo 13 or 10. And so on and so forth all the ranks hk are assigned. It being known that the bits of the string X may be produced by the generator 1 progressively, the interleaver 15 then comprises a register 22 wherein, in a step 23, the generator 1 is made to arrange and store the bits of the string X'n as and when they are produced, as a function of the place assigned to them by the step 21. The arrows shown in the register 22 pertain to this arranging and storage process 23.
If it is sought to permutate a fixed number n of bits and if m = n + 1 cannot verify the constraints (which is rarely the case), it is possible to find an m' greater than m, obtain the permutation by means of a linear congruency in m' and then strike out the number greater than m. For example, if it is sought to permutate ten bits, it is possible to take as here above, m = 13, a = 6, b = 0 and h, = 0. We then obtain 1 2 3 4 5 6 7 8 9 10 11 12 1 6 10 8 9 2 4-2 7 3 5 4 44 We then eliminate the values 12 and 11 and obtain a randomly organised sequence:
1 2 3 4 5 6 7 8 9 10 1 6 10 8 9 2 7 3 5 4 By acting in this way, for m strictly greater than n + 1, a rank hk-1 is properly assigned in the interleaved string to a rank k bit of the binary string to be transmitted, when the rank hk normally assignable in the 14 interleaved string is greater than n, for all the bits with a rank greater than k of the binary string to be transmitted. Indeed, a rank 7 has been assigned in the interleaved string to the rank 7 bit in the binary string to be transmitted whereas the rank 12 normally assignable in the interleaved string is greater than 10. A shift of this kind is made for all the bits with a rank greater than 7, namely the bits with the rank 8, 9 and 10 of the binary string to be transmitted. In the example shown, naturally the elimination of the rank 11 has no influence since this rank is the last one assigned.
Nevertheless, the principle of shift thus evoked has been applied several times.
The step 23 is followed by an iteration by branching between the instructions 18 and 19. When, at the test 20, the rank of the bit produced by the generator 1 becomes greater than k, then the word contained in the register 22 is read in a step 24, and the encoder 14 is made to encode it.
The string Y3 of the bits processed is then transmitted in the step 25 by a transmission circuit and sent in the channel 3. To make the processing by the encoder 14 more fluid, it is possible to provide for a second register 26. The second register 26 thus belongs to the interleaver 15. In this case, during the reading of the chain X and the encoding and transmission of the bits contained in the register 22, the interleaver 15 sets up another string X' of permutated bits. In this case, simultaneously with the step 24, the algorithm of Figure 2 comprises a branching 27 at a following n bit word, to a following chain X to be processed.
Hereinafter in Table 1 here below, examples are given of values of parameters a, b and m.
I Table I a b m 6 0 13 0 17 7 0 257 206 7 1025 In practice, the choice of the parameters a, b and m is made through a pragmatic approach, by comparing the overall performance of the encoding with different permutations. It will be possible however to provide for an automatic algorithm that computes these parameters from a given number n.
In this computation, in a first step, m = n + 1 is chosen. Then, a is chosen to be about half of m or n. The condition of b and m as prime numbers with respect to each other is then naturally obtained by choosing b = 0. Then, a search is made for all the prime numbers p dividing m. And a search is made for a so that a - 1 is a multiple of p, whatever the value of p. For example, on a string X of n = 1024 bits, m = 1025, which is not a prime number, is tried. Then, m is reduced to a prime factor. It is thus possible to write 1025 = 5 x 5 x 41. This leads to a choice, for a, of the value 5 x 41 + 1. That is, a = 206. It is then ascertained that m - a is a multiple of 5 and 41. It is then possible to define b as a function of the rank of the interleaver 15 in the set of interleavers used in the encoding circuit 4. If there is only one, then b will be equal to 0. If there are two, then for the first, b will be equal to 0 and, for the second, b will have another value, for example a/2.
16 The implementation of the algorithm of the invention requires the multiplication of the ranks hk-1 by a. This does not raise any difficulties in view of the speed of the operators presently available in the processing circuits. The addition of b is an operation that generally uses only one cycle period. The congruency, modulo m, may be obtained with a simple shift of the reading of the result produced by the adder which adds b or of the multiplier by a. The fact of choosing b = 0 naturally has the advantage of eliminating an operation, the shift being done in this case on the result of the multiplication.
The advantages of the approach of the invention as compared to the prior art are:
- very great simplicity in the making of the interleaver 15 (design, cost, etc.); - better performance if specific bit rates and time constraints have to be complied with-, - a purely software management requiring very little memory, only that of the register 22 and very rarely over 10 Kbits; - adaptability to the different services that exist during an initial implementation as well as adaptability to subsequent modifications if any.
It is indeed enough to modify the program represented by Figure 2.
If the random character has to be modified as explained here above, it is possible to add b to the computed ranks hk. As a variant, it is possible to perform an iteration of the method on the hk values found. In this iteration a, b and m may be the same or may be changed. Then new ranks h, are assigned to the preceding ranks hk.
I 17

Claims (9)

1. Method of transmission with channel encoding, between a transmitter and a receiver, wherein:
a binary string of n bits to be transmitted is encoded with a first encoder to obtain a first encoded string, - bits of the binary string to be transmitted are permutated to obtain another binary string known as an interleaved string, - the interleaved string is encoded with a second encoder to obtain a second encoded string, - the binary chain to be transmitted and/or the first and/or the second encoded strings is/are transmitted from the transmitter to the receiver, - and the transmitted strings are received and decoded correspondingly on the receiver side to reconstitute the binary string to be transmitted, characterised in that to permutate the bits of the binary string of n bits to be transmitted, a k rank bit of the binary string to be transmitted is assigned a rank hk in the interleaved string, which depends on a rank hk-1 assigned to a k-1 rank bit of the binary string to be transmitted, so that the rank hk assigned is of the type:
hk= a.hk-1 + b modulo m, a, b and m being integers.
2. Method according to claim 1, characterised in that m = n + 1.
18
3. Method according to claim 1, modified in that m is greater than n + 1 and in that a rank hkI 1 is assigned in the interleaved string to a k rank bit of the binary string to be transmitted when the rank hk that can be normally assigned in the interleaved string is greater than n, for all the bits with a rank higher than k of the binary string to be transmitted.
4. Method according to any one of claims 1 to 3, characterised in that b and m are prime numbers in relation to each other, in that, for any prime number p that divides m, m - a is a multiple of p, and in that a - 1 is a multiple of 4 if m is a multiple of 4.
5. Method according to any one of claims 1 to 4, characterised in that b is equal to 0.
6. Method according to any one of claims 1 to 5, characterised in that the encoding is a recursive convolutive encoding.
7. Method according to any one of claims 1 to 5, characterised in that the parameters a, b and m are given values corresponding to one of the lines of the following table:
I 19
8. Method according to any one of claims 1 to 7, characterised in that the assigning of the ranks is reiterated by assigning new ranks (hi) to the ranks (hk) already assigned.
9. Method of transmission with channel encoding, between a transmitter and a receiver, substantially as hereinbefore described with reference to the drawings.
a b m 6 0 13 0 17 7 0 257 206 7 1025
GB9929541A 1998-12-14 1999-12-14 Method of transmission with channel encoding with efficient and modular interleaving for turbo codes Expired - Fee Related GB2346782B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9815779A FR2787263B1 (en) 1998-12-14 1998-12-14 TRANSMISSION METHOD WITH EFFICIENT AND MODULAR INTERLOCKING CHANNEL CODING FOR TURBO CODES

Publications (3)

Publication Number Publication Date
GB9929541D0 GB9929541D0 (en) 2000-02-09
GB2346782A true GB2346782A (en) 2000-08-16
GB2346782B GB2346782B (en) 2004-01-14

Family

ID=9533957

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9929541A Expired - Fee Related GB2346782B (en) 1998-12-14 1999-12-14 Method of transmission with channel encoding with efficient and modular interleaving for turbo codes

Country Status (3)

Country Link
DE (1) DE19960269A1 (en)
FR (1) FR2787263B1 (en)
GB (1) GB2346782B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2361850A (en) * 2000-04-25 2001-10-31 Ubinetics Ltd Simultaneous multiplexing and interleaving
WO2002023738A3 (en) * 2000-09-12 2003-05-08 Broadcom Corp Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6686853B2 (en) 2000-11-06 2004-02-03 Broadcom Corporation Method and apparatus for iterative decoding
US6693566B2 (en) 1999-12-03 2004-02-17 Broadcom Corporation Interspersed training for turbo coded modulation
US7254190B2 (en) 2000-09-01 2007-08-07 Broadcom Corporation Satellite receiver
US7318184B2 (en) * 2003-08-22 2008-01-08 Nec Corporation Mobile telephone, apparatus, method, and program for calculating an interleave parameter
US7421044B2 (en) 2000-09-05 2008-09-02 Broadcom Corporation Quasi error free (QEF) communication using turbo codes
US7499507B2 (en) 1999-12-03 2009-03-03 Broadcom Corporation Synchronization module using a Viterbi slicer for a turbo decoder

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997005702A1 (en) * 1995-07-27 1997-02-13 France Telecom Data element interleaving/deinterleaving
WO1998048517A1 (en) * 1997-04-21 1998-10-29 General Electric Company Turbo-coding with staged data transmission and processing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2706054B1 (en) * 1993-06-02 1995-07-13 Alcatel Mobile Comm France Method for interleaving a sequence of data elements, and corresponding interleaving device.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997005702A1 (en) * 1995-07-27 1997-02-13 France Telecom Data element interleaving/deinterleaving
WO1998048517A1 (en) * 1997-04-21 1998-10-29 General Electric Company Turbo-coding with staged data transmission and processing

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985093B2 (en) 1999-12-03 2006-01-10 Broadcom Corporation Interspersed training for turbo coded modulation
US7499507B2 (en) 1999-12-03 2009-03-03 Broadcom Corporation Synchronization module using a Viterbi slicer for a turbo decoder
US6693566B2 (en) 1999-12-03 2004-02-17 Broadcom Corporation Interspersed training for turbo coded modulation
US6828926B2 (en) 1999-12-03 2004-12-07 Broadcom Corporation Interspersed training for turbo coded modulation
US6891485B2 (en) 1999-12-03 2005-05-10 Broadcom Corporation Interspersed training for turbo coded modulation
GB2361850B (en) * 2000-04-25 2003-12-24 Ubinetics Ltd Multiplexing and de-multiplexing
GB2361850A (en) * 2000-04-25 2001-10-31 Ubinetics Ltd Simultaneous multiplexing and interleaving
US6944729B2 (en) 2000-04-25 2005-09-13 Ubinetics Limited Multiplexing-interleaving and demultiplexing-deinterleaving
US7254190B2 (en) 2000-09-01 2007-08-07 Broadcom Corporation Satellite receiver
US7421044B2 (en) 2000-09-05 2008-09-02 Broadcom Corporation Quasi error free (QEF) communication using turbo codes
US6940928B2 (en) 2000-09-12 2005-09-06 Broadcom Corporation Method and apparatus for soft-in soft-out turbo code decoder
US7460608B2 (en) 2000-09-12 2008-12-02 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US7023934B2 (en) 2000-09-12 2006-04-04 Broadcom Corporation Method and apparatus for min star calculations in a map decoder
US7035342B2 (en) 2000-09-12 2006-04-25 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US7158589B2 (en) 2000-09-12 2007-01-02 Broadcom Corporation Method and apparatus for parallel decoding of turbo encoded data
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US7012975B2 (en) 2000-09-12 2006-03-14 Broadcom Corporation Method and apparatus for performing calculations for forward (alpha) and reverse (beta) metrics in a map decoder
US7570700B2 (en) 2000-09-12 2009-08-04 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US7440521B2 (en) 2000-09-12 2008-10-21 Broadcom Corporation Method of normalization of forward metric (alpha) and reverse metric (beta) in a map decoder
US7421034B2 (en) 2000-09-12 2008-09-02 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
WO2002023738A3 (en) * 2000-09-12 2003-05-08 Broadcom Corp Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6982659B2 (en) 2000-11-06 2006-01-03 Broadcom Corporation Method and apparatus for iterative decoding
US6686853B2 (en) 2000-11-06 2004-02-03 Broadcom Corporation Method and apparatus for iterative decoding
US7318184B2 (en) * 2003-08-22 2008-01-08 Nec Corporation Mobile telephone, apparatus, method, and program for calculating an interleave parameter

Also Published As

Publication number Publication date
FR2787263A1 (en) 2000-06-16
GB2346782B (en) 2004-01-14
GB9929541D0 (en) 2000-02-09
DE19960269A1 (en) 2000-06-15
FR2787263B1 (en) 2002-10-25

Similar Documents

Publication Publication Date Title
RU2235424C2 (en) Turbo-code interleaving device using linear congruent sequences
US6314534B1 (en) Generalized address generation for bit reversed random interleaving
JP3791013B2 (en) Data block convolutional encoding method and apparatus and corresponding decoding method and apparatus
KR100502609B1 (en) Encoder using low density parity check code and encoding method thereof
EP1030455B1 (en) Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder
JP3359913B1 (en) Interleaver for use in serial chain convolutional encoder in mobile communication system and interleaving method thereof
EP0928071B1 (en) Interleaver for turbo encoder
CN110999095B (en) Block-wise parallel freeze bit generation for polarization codes
CN1345485A (en) 2-dimensional interleaving apparatus and method
GB2346782A (en) Method of transmission with channel encoding with efficient and modular interleaving for turbo codes
JP3515036B2 (en) Interleaving method, interleaving device, turbo coding method, and turbo coding device
KR100628201B1 (en) Method for Turbo Decoding
JP2007318772A (en) Coding method and apparatus with at least two parallel coding steps and improved permutation, and corresponding decoding method and apparatus
Berrou et al. An IC for turbo-codes encoding and decoding
JP4045521B2 (en) Encoding apparatus and method
Cuevas et al. New architecture for high data rate turbo decoding of product codes
JP2010529764A (en) Decoding recursive convolutional codes with a decoder for nonrecursive convolutional codes
EP2092675B1 (en) Integrated circuit to encode data
Viglione et al. A 50 Mbit/s iterative turbo-decoder
US6757859B1 (en) Parallel turbo trellis-coded modulation
CN108880569B (en) Rate compatible coding method based on feedback grouping Markov superposition coding
KR101968590B1 (en) Recursive systematic coding method, recursive systematic convolutional encoder and turbo encoder using the same
EP1267511B1 (en) A method and apparatus for interleaving, deinterleaving
CN114337689A (en) Method and device for coding and decoding duobinary Turbo code
RU2541844C1 (en) Method of decoding production code using weight ordered adjacent class of error vectors and apparatus therefor

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20051214