WO2018172694A1 - Construction de turbocodes à rendements compatibles - Google Patents

Construction de turbocodes à rendements compatibles Download PDF

Info

Publication number
WO2018172694A1
WO2018172694A1 PCT/FR2018/050677 FR2018050677W WO2018172694A1 WO 2018172694 A1 WO2018172694 A1 WO 2018172694A1 FR 2018050677 W FR2018050677 W FR 2018050677W WO 2018172694 A1 WO2018172694 A1 WO 2018172694A1
Authority
WO
WIPO (PCT)
Prior art keywords
punching
pattern
symbols
encoder
yield
Prior art date
Application number
PCT/FR2018/050677
Other languages
English (en)
Inventor
Charbel Abdel Nour
Ronald GARZON BOHORQUEZ
Catherine Douillard
Original Assignee
Orange
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 Orange filed Critical Orange
Publication of WO2018172694A1 publication Critical patent/WO2018172694A1/fr

Links

Classifications

    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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
    • H03M13/2753Almost regular permutation [ARP] interleaver
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6381Rate compatible punctured turbo [RCPT] codes

Definitions

  • the field of the invention is that of the coding and decoding of an input digital message implementing a compatible performance error correction code.
  • the invention relates more particularly to the coding techniques of a source digital message delivering coded words comprising the information symbols and redundancy symbols, intended to be transmitted over a transmission channel (for example overhead or wired radio, optical or electrical), or stored in a hardware medium.
  • the invention also relates to corresponding decoding techniques, in particular for correcting the transmission errors inherent in the transmission channel.
  • wireless space and wireless terrestrial radio communications
  • digital television digital television
  • DAB digital radio digital radio
  • GSM or UMTS telephony WiFi radio network
  • future telecommunications systems such as future standards for television, radio broadcasting, voice, video and data applications (DVB, LTE, 4G, 5G, etc.), or between vehicles, the Internet of Things or communicating machines "IOT: Internet Of Things", ...;
  • An error correction code is conventionally defined by:
  • n a length n, corresponding to the sequence at the output of the encoder (or code word of length n formed of K information symbols and (n-K) redundancy symbols), a number K of bits or of information data useful, corresponding to the input data of the encoder, also called information symbols, and
  • Prior art Turbocodes are error correcting codes whose performances approach the Shannon limit, as described in the book by C. Berrou (ed.), Codes and Turbocodes, "Chapter 7: Convolutional Turbocodes", IRIS Collection, Springer, 2007
  • the conventional structure of a turbo-encoder D shown in FIG. 1, comprises the parallel concatenation of two recursive systematic convolutional codes C1 and C2 (CSR) separated by an interleaver INT.
  • the input digital message of length K is encoded in its order of arrival, said natural order, by the encoder C1, and in the order interlace, or permuted, by the encoder C2.
  • the transmitted symbols comprise the so-called systematic information symbols X and the redundancy symbols Y1, Y2.
  • the decoding of this code uses two decoders with inputs and outputs weighted or SISO ("Soft-In Soft-Out" in English). From the information relating to the information symbols L c y s , and to the redundancy symbols L c y rl and L c y r 2 , available at the output of the channel, each decoder calculates a so-called extrinsic information L el and L e2 on the decoded information symbols, which it exchanges with the other decoder following an iterative process. The decoders thus converge towards a common decision L.
  • SISO Soft-In Soft-Out
  • the overall coding efficiency R of the turbocode of FIG. 1 is equal to 1/3 (before punching).
  • the most used technique is to punch the transmitted symbols in a periodic pattern. With this technique, the same encoder and decoder can be used for all coding efficiencies.
  • a compatible error correction code (“rate-compatible code”) is a code which ensures that the coded symbols transmitted for a coding efficiency R- ⁇ are also transmitted for any coding efficiency R 2 such that R 2 ⁇ R i - We are still talking about incremental yields or incremental redundancy coding.
  • the set of bits transmitted during the two transmissions is then used to decode the code at lower efficiency (R 2 ).
  • This process can be reiterated by progressively decreasing the yield until the data is correctly decoded or the lowest code performance is achieved. As additional coded bits are transmitted and the coding efficiency decreases, the code becomes more powerful and the probability of correcting errors increases.
  • Transmission of coded data according to the above principle is advantageous with respect to incremental incremental transmissions. Indeed, the second transmission step and the following require only the transmission of additional bits to switch from a yield to that just below, the decoder benefiting at each step of decoding all the bits transmitted from the first step.
  • the authors begin by constructing the (optimized) interleaving for the mother's output (lowest yield, that is, without punching). This interleaving is then retained for all other returns (higher than the mother's return). In order to pass from a yield R- ⁇ to a yield R 2 just higher, the authors choose to punch the coded bit which penalizes the least the minimum distance of the resulting yield code R 2 (that is to say that the resulting code must have the minimum distance as large as possible).
  • the authors of [BMV05] advocate optimizing interleaving for mother output (ie, for the lowest yield) without punching and then choosing, incrementally, and as the Coding efficiency increases, punching that minimizes the minimum distance code. Presentation of the invention
  • the invention proposes a turbocode type coding method with compatible yields for encoding messages of size K, that is to say, allowing the transmission of the incrementally encoded bits for a performance that can vary between two extremes, a performance 3 ⁇ 4 the lowest and the highest yield R z .
  • the interlacing and the punching of the turbocode are first optimized for the highest efficiency R z . That is, the interleaving / punching combination chosen is that which gives the yield turbocode R z the most favorable distance spectrum. Then, the incremental decrease of the yield is obtained by removing the punched positions one by one or equivalently by adding one by one of the unpunched positions in the punching pattern. The addition of unpitched positions is therefore performed incrementally.
  • Punching according to the invention is conditioned by the connection law determined for the highest yield and this law is retained for any variation in yield up to the mother yield (without punching).
  • the unpunched, systematic or parity (redundancy) position added for each yield variation is chosen to give the resulting turbocode the best range of distance (i.e., the largest minimum Hamming distance) for the output. research. If two or more positions give equal minimum Hamming distances, the method chooses the one that has the minimum multiplicity (minimum number of codewords at Hamming distance). In case of equality, the method considers the next distance in the spectrum, and so on.
  • This method thus makes it possible to obtain extremely flexible turbocodes since the yield can vary between R z and R with a fine granularity of the yield.
  • the proposed method goes against the recommendations in the field in that it considers the yield from highest to lowest and not from lowest to highest as recommended.
  • the state of the art recommends optimizing the interleaving of the turbo-encoder at the lowest efficiency (generally without punching) and then punch incrementally to increase the yield so as to obtain codes whose minimum distance is the greatest possible for each yield. While the invention requires to jointly optimize the interleaving and punching of the turbo-encoder for the highest yield R z and only then to incrementally adjust the yield. The interleaver thus obtained has no reason to be identical to the interleaver which would result from an optimization of the range spectrum of the lowest performance code.
  • the turbocode allows the coding of the message with a variable return that can vary between a first yield said the lowest and a second yield R z , said the highest.
  • the process is such that it comprises:
  • the punching takes place in a pattern M_S.
  • the redundancy symbols are punched then the punching takes place according to at least one M_P pattern.
  • M_S the pattern for the systematic symbols
  • the turbo-encoder provides several systematic and / or redundant outputs
  • the punching mask (consisting of the pattern or patterns if there are several) of the desired yield is obtained after repetition as necessary of the step of adding an unpunched position from the highest yield.
  • the patterns are repeated identically every K / N periods, the patterns are then totally periodic.
  • the addition of a non-punched position does not occur for all periods of one or more patterns but for some of them i.e for p periods taken from all periods.
  • the punching is carried out according to n punching patterns of length N, n 2 2.
  • the addition occurs for p periods among the L periods of at least the unit, 1 ⁇ p ⁇ L.
  • the addition occurs for p periods among all the periods of several of the n patterns, 1 ⁇ p ⁇ n X L.
  • the punching comprises a punching of the redundancy symbols carried out according to m patterns of length N and according to which the addition is of a single unpunched position in at least one of the m punching patterns of the redundancy symbols. , m ⁇ 2.
  • the granularity Gr of the yield is 2p / K ⁇ Gr ⁇ mp / K.
  • the punching comprises a punching of the systematic symbols carried out in a pattern of length N and in which the addition is of a single unpunched position in this punching pattern of the systematic symbols.
  • the addition of a position in at least the pattern is carried out at a determined position among different possible positions in this pattern, this position being determined as being that which leads to the minimum distance of Hamming the most great for the yield obtained from the yield variation.
  • the interleaving and the punching are optimized jointly by a method described in the application WO WO2016203039.
  • the application WO2016203039 describes a way of choosing the punching pattern, in particular the number and the positions of the punched information symbols.
  • the interlacing implemented by the turbo-encoder takes into account the punching pattern or patterns used to cleverly interleave the information symbols of the input message. If several combinations of interleaving and punching lead to very close distance spectra (ie the first terms of distances are identical for these combinations (typically, the minimum Hamming distances are equal)) for the highest yield then the choice focuses on interleaving that most favors mother output (ie without punching) in terms of distance spectrum.
  • the interleaver distributes the information symbols of the input message into Q layers of the interleaved input message by respecting an interleaving function defined from the at least one punching pattern, according to the relationship :
  • 0, ..., K- 1 the position of an information symbol in the interlaced input message, in interlaced order, and ⁇ ( ⁇ ) the position of the information symbol in the message d entrance, in the natural order;
  • P is a first integer value with the length K of the input message, referred to as the interleaver period
  • the inter-layer adjustment value ⁇ maps the positions of the weakest non-punched information symbols to the positions of the least fragile non-punched information symbols, the degree of fragility of the positions being determined by comparing the distance spectra of the elementary codes obtained by punching one by one each of the unpunched information symbols, the least brittle position corresponding to the spectrum having the largest minimum Hamming distance and the lowest multiplicity, and the most fragile position corresponding to the spectrum having the lowest Hamming distance most weak and the largest multiplicity, the multiplicity corresponding to the number of words of an elementary code at a distance d.
  • the method chooses the interleaving that most favors the mother output in terms of distance spectrum if two or more combinations of interleaving and punching lead to very close spectra for the most efficient performance. Student.
  • the encoder enables the coding of the message with a variable return that can vary between a first yield said to be the lowest and a second yield R p , said to be the highest.
  • the encoder is such that it includes:
  • a processor to then add an unpunched position in at least one punching pattern for at least one period of the at least one pattern for a variation of the output.
  • Such an encoder can of course include the various characteristics relating to the coding method according to the invention, which can be combined or taken in isolation. Thus, the characteristics and advantages of this encoder are the same as those of the coding method and are therefore not detailed further.
  • An encoder according to the invention can be implemented in the form of a digital or analog integrated circuit, or in an electronic component of the microprocessor type.
  • the coding algorithm according to the invention can be implemented in various ways, in particular in hard-wired form or in software form.
  • the invention thus proposes a new source symbol coding technique for simply obtaining codes with a very fine variation of the output.
  • the invention also relates to a device comprising a coder and a decoder of previously described symbols.
  • Such a device also called coded coder / decoder
  • coded coder / decoder can be implemented in the form of a digital or analog integrated circuit, or in a microprocessor-type electronic component.
  • the use of a codec makes it possible to pool the hardware resources used for coding and decoding.
  • such a codec may receive source symbols as input, and output coded symbols, or receive coded symbols as input, and output an estimate of the source symbols.
  • the invention relates to one or more computer programs comprising instructions for implementing a coding method as described above, when the program or programs are executed by a processor of an encoder.
  • Such programs can be stored on an information medium.
  • FIG. 1, previously described, represents the structure of a turbo-coder according to the prior art
  • FIG. 2 previously described, illustrates the iterative decoding of a turbocode according to the prior art
  • FIGS. 3A, 3B and 3C show the structure of a turbo-encoder according to different embodiments of the invention
  • FIG. 4 is a flowchart of the main steps of a coding method according to one embodiment of the invention.
  • FIG. 5 is a diagram of a periodic punching M mask (pattern) composed of a periodic M_S pattern for the information symbols, and of two periodic identical M_P patterns for the redundancy symbols,
  • FIG. 7 gives curves of the FER frame error rate as a function of the Eb / NO signal-to-noise ratio for the transmission of 4000-bit information frames on a Gaussian white noise channel for different yields and two coding methods, a method according to the LTE standard and the other method according to the invention.
  • FIGS. 3A, 3B and 3C illustrate the structure of a turbo-encoder TC according to embodiments of the invention, delivering information symbols (interleaved or not) called systematic and redundancy symbols, and a punching of information symbols and / or redundancy symbols, respectively for a coding efficiency R ⁇ 1/3, R ⁇ 1/3 and R ⁇ 1/5.
  • a turbo-encoder according to the invention is such that the internal interlacing of the turbocode is identical for all the acceptable yields for the property of performance compatibility is respected. If it were not identical, the redundancy bits (parities) generated would not be the same from one output to another and the performance compatibility could not be ensured.
  • the turbo-encoder illustrated in FIG. 3A comprises an interleaver ENT and two encoders, for example of systematic recursive convolutional type (C1, C2). Only the encoder C1 produces a systematic output, information symbols X in the natural order. Each encoder produces a redundancy output (redundancy symbols Y1 for the first encoder C1 and redundancy symbols Y2 for the second encoder C2).
  • the input digital message, including K information symbols, is encoded in its order of arrival, called natural order, by the encoder C1, and in the order interlace, or permuted, by the encoder C2.
  • the digital output message comprising the systematic output (information symbols X) and the redundancy output (redundancy symbols Y1 and Y2), can be punched by a punching device according to at least one periodic punching pattern of length N
  • a punching device for example, for each coding efficiency greater than 1/3, three periodic punching patterns of length N are used, for example each expressed as a binary vector: a first punching pattern used for punching the symbols information X, a second punching pattern used for punching the redundancy symbols Y1, and a third punching pattern used for punching the redundancy symbols Y2.
  • the elementary codes of the first and second encoders (C1, C2) of the turbo encoder are identical, the same punching pattern can be applied to the redundancy symbols Y1 and the redundancy symbols Y2.
  • the turbo-encoder illustrated in FIG. 3B comprises an interleaver ENT and two encoders, for example of systematic recursive convolutional type (C1, C2), each producing a systematic output (information symbols X in the natural order for the first encoder C1 , or information symbols X 'in the interleaved order for the second encoder C2) and a redundancy output (redundancy symbols Y1 for the first encoder C1 and redundancy symbols Y2 for the second encoder C2).
  • the input digital message comprising K information symbols, is encoded in its order of arrival, said natural order, by the encoder C1 and in the order interlace, or permuted, by the encoder C2.
  • the digital output message comprising the systematic output (information symbols X or information symbols X ') and the redundancy output (redundancy symbols Y1 and Y2), can be punched by a following punching device at least a periodic punching pattern of length N.
  • a periodic punching pattern of length N For example, for each coding efficiency greater than 1/3, three periodic punching patterns of length N are used, expressed for example each in the form of a binary vector: a first pattern punching device used for punching the information symbols X or X ', a second punching pattern used for punching the redundancy symbols Y1, and a third punching pattern used for punching the redundancy symbols Y2.
  • the elementary codes of the first and second encoders (C1, C2) of the turbo-encoder are identical, the same punching pattern can be applied to the redundancy symbols Y1 and the redundancy symbols Y2.
  • the turbo-encoder illustrated in FIG. 3C comprises an interleaver ENT and two encoders, for example of systematic recursive convolutional type (C1, C2), each producing a systematic output (information symbols X in the natural order for the first encoder C1 or information symbols X 'in the interleaved order for the second encoder C2) and two redundancy outputs (redundancy symbols Y1 and W1 for the first encoder C1 and symbols of redundancy Y2 and W2 for the second encoder C2).
  • the input digital message comprising k information symbols, is encoded in its order of arrival, said natural order, by the encoder C1 and in the order interlace, or permuted, by the encoder C2.
  • the digital output message comprising the systematic output (information symbols X or information symbols X ') and the two redundancy outputs (redundancy symbols Y1 and W1 obtained from the first encoder and redundancy symbols Y2 and W2 obtained from the second encoder) can be punched by a punching device according to at least one periodic punching pattern of length N.
  • five periodic punching patterns of length N are used, for example each expressed as a binary vector: a first punching pattern used for punching the X or X 'information symbols, a second punching pattern used for punching the Yl redundancy symbols , a third punching pattern used for punching Y2 redundancy symbols, a fourth punching pattern used for punching it a redundancy symbol W1 and a fifth punching pattern used for punching the redundancy symbols W2.
  • the elementary codes of the first and second encoders (C1, C2) of the turbo-encoder are identical, the same punching pattern can be applied to the redundancy symbols Y1 and the redundancy symbols Y2. In the same way, the same punching pattern can be applied to the redundancy symbols W1 and the redundancy symbols W2.
  • Each of the TC turbo encoders of FIGS. 3A, 3B and 3C comprises a ⁇ processor for implementing a joint optimization of the interleaving and the punching for the highest efficiency R z and then adding at least one unpitched position in FIG. at least one punching pattern for at least one period of the at least one pattern for a variation in yield.
  • the processor controls the interleaver and the punching device.
  • TC turbo encoders may include the punching device.
  • FIG. 4 represents the main steps implemented by an encoder according to the invention.
  • a turbocode conversion rate coding method 1 compatible with the invention makes it possible to encode a message of size K with a yield that can vary between two extreme yields considered, the lowest efficiency 3 ⁇ 4 and the highest efficiency R z .
  • a first step 2 the method performs Optim optimization. joint interleaving and punching for the highest efficiency R z .
  • This optimization 2 Joint punching and interlacing is performed according to one embodiment by implementing the method described in patent application WO WO2016203039.
  • the optimized punching pattern M is illustrated in FIG. 5.
  • This periodic pattern comprises the pattern M_S and two identical patterns M_P.
  • M_S represents the punching pattern for the information symbols X
  • M_P represents the punching pattern for each of the redundancy symbols Y1 and Y2.
  • a 0 represents a punctured bit
  • a 1 represents a transmitted bit.
  • the method chooses the interleaving that most favors the performance. mother (without punching) in terms of the range of distances.
  • the method first compares the lowest distance term of each of the spectra (minimum Hamming distance) and chooses the spectrum that has the highest Hamming distance. In case of equality of minimum distances, the method chooses the spectrum with the lowest multiplicity (number of codewords at the minimum Hamming distance). In case of equality of these two quantities for two or more combinations, the method considers the next distance in the spectrum and chooses the combination corresponding to the greatest value of the distance and, in case of equality, to the smallest multiplicity .
  • a second step 3 imperatively subsequent to the first step, the method adds an unpunched position in the punching pattern M_P according to the illustration, to obtain an incremental decrease in the yield.
  • the unpunched positions added to each iteration of step 3 are those which give the resulting turbocode the best range of distance, ie the greatest minimum Hamming distance for the desired yield R.
  • the position added to each step 3 is added in the pattern M_S only, in one of the M_P patterns only or in several of the patterns taken from the M_S pattern and the M_P patterns. The added positions therefore relate to one or more information symbols and / or one or more redundancy symbols.
  • the pattern H in Figure 5 is optimized when the first step 2 then the best position Pos_4 / 5 to be added is the 12 th position in each pattern M_P punching.
  • the best position Pos_8 / ll is the H th position in each M_P punching pattern.
  • N R the number of bits to transmit to achieve the ffj performance.
  • Granularity is defined as the ratio between the number x of additional bits to be transmitted and the
  • K is the size of the message at the input of the turbo-encoder before punching (normalized ratio).
  • the granularity is 2 / N to obtain other yields.
  • the granularity of 2 / N corresponds to the addition of one bit every N bits in each of the M_P units for punching the parity bits.
  • a finer variation in the yield is obtained by adding a single position in only one of the two parity patterns or in the pattern of the information symbols.
  • the punching period is N for a mother 1/3 turbo-encoder
  • the granularity is 1 / N to obtain other yields.
  • the granularity of 1 / N corresponds to the addition of one bit every N bits either in the information bit punching pattern (systematic part) or in one of the punching patterns of the redundancy bits (parity ).
  • the method described above advantageously makes it possible to identify the position to be added in the punching mask to pass incrementally with a granularity of 1 / N, of a yield ff j at the yield just below i? Î _ 1 .
  • the method adds L bits over the length of the frame to go from the yield ffj to the yield.
  • the invention makes it possible to obtain a granularity that can be finer than 1 / N while considering for the addition of an unpunched position not the whole periods but only several (p) periods of the punching pattern (p ⁇ L) or several (m) punching patterns (p ⁇ m XL).
  • p ⁇ L the punching pattern
  • p ⁇ m XL several (m) punching patterns
  • not all motives are repeated perfectly periodically over all periods; some periods among the set of L periods of a pattern may be different from other periods in the set. It is thus easy to construct a whole range of yields between ff j and Ri-i, Ri-i Ri Ri, by adding only p bits (1 ⁇ p ⁇ L) among the p considered periods of a pattern or several patterns. .
  • an intermediate yield between ff j and R 1 comprises the joint optimization of interleaving and punching for the highest efficiency R z and that the yields ff j and are constructed such that each position added is that which gives the resulting turbocode the best range of distance then, even in the absence of an additional optimization of the addition of p bits, the performances obtained for the intermediate yield are intermediate between the performances at ffj and
  • the yield granularity is equal to 2x / K ( ⁇ 2 / N) because the process transmits 2x additional bits.
  • R form. with 1 ⁇ x ⁇ 500 thus transmitting 250 X 14 information symbols
  • the yield granularity is equal to x / K (and x / K ⁇ 1 / N only if x ⁇ 250) because the process transmits x additional bits.
  • the yield granularity is equal to x / K ( ⁇ 1 / N) because the process transmits x additional bits.
  • the yield granularity is equal to x / K (and x / K ⁇ 1 / N only if x ⁇ 250) because the process transmits x additional bits.
  • the choice of x positions can be determined to maximize the distances of the codes of intermediate yields.
  • the R coding efficiency of a turbocode can be expressed as: with R pd the ratio of information symbols punched during the period N defined by the length of the punching pattern and N np the number of non-punched redundancy symbols per elementary code in the period N.
  • the allowable limit corresponds to the case where the total number of information and redundancy symbols delivered by the elementary codes becomes less than the size K of the input message.
  • a punching pattern of length N is selected from a plurality of punching patterns corresponding to different allowable values of the ratio R pd based at least on a comparison between the spectra of the distances of the codes. corresponding punched elementary elements and mutual information measurements exchanged between the incoming and outgoing extrinsic information of the decoder corresponding to the encoder in the case where these punching patterns are used with a uniform interleaver.
  • the interleaver construction comprises the steps of:
  • step b) selecting at least one interleaver from the restricted set of candidates of step b), based on at least one of the turbocode distance spectra obtained using the corresponding interleavers.
  • the punching pattern In the case where each elementary code produces a single redundancy output, the punching pattern consists of three vectors of length N each, one for the punching of the information symbols and the two others for the punching of the redundancy symbols. .
  • the punching patterns are preferably identical for the two elementary codes forming the turbocode, especially in the case where the elementary codes are identical.
  • a value representative of a distance of the spectrum of the distances of the punched elementary code, corresponding in particular to the minimum distance of Hamming is used for the comparison. between the spectra of the distances of the punched elementary code, the punching pattern leading to the largest distance value being selected.
  • the method considers all the possible punching patterns and determines for each of them the beginning of the spectrum of distances of the elementary code punched, it is ie the minimum Hamming distance of the code and the immediately higher distances, as well as their multiplicity.
  • the method can use the FAST algorithm described in the article by M. Cedervall and R. Johannesson, "A fast algorithm for computing distance spectrum of convolutional codes” IEEE Trans. Inf. Theory, vol. 35, no. 6, pp. 1146-1159, Nov. 1989, and adapted to punched codes.
  • the method selects the pattern whose multiplicity is minimal.
  • the method selects from among the previously selected patterns, the punching pattern leading to a value of the exchanged mutual information greater than or equal to that obtained when the ratio R pd of symbols of punched information is void.
  • the uniform interleaver used to calculate the values of the exchanged mutual information is a probabilistic interleaver which produces all the possible interleaves for an information sequence size K in an equiprobable manner, for example generated by a random draw for each transmitted sequence, and as described in the article by S. Benedetto and G. Montorsi, "Unveiling turbo codes: some results on parallel concatenated coding schemes" IEEE Trans. Inf. Theory, vol. 42, no. 2, pp. 409-428, 1996.
  • the uniform interleaver is used to evaluate the average performance of the turbocode, regardless of the choice of interleaver.
  • the decoder corresponding to a uniform interleaver of the turbocode can be simulated for the punching patterns selected in the previous step, in order to compare the error rate curves obtained.
  • the punching pattern selected is the one that offers the best compromise between the high and medium error rate performance in the peak region and the low error rate performance in the flare region, depending in particular on the intended application.
  • the punching period N is a divider of the length K of the input digital message. In order to limit the search space of the interleavers, only the smaller dividers of size K of the input digital message are considered for period N. For example, in the case where K is divisible by 256, only punching periods equal to 8 or 16 can be considered.
  • the interleaver distributes the information symbols of the input message into Q layers of the interleaved input message by respecting an interleaving function defined from at least one M_S, M_P punching pattern. , according to the relationship:
  • 0, ..., K- 1 the position of an information symbol in the interlaced input message, in interlaced order, and ⁇ ( ⁇ ) the position of the information symbol in the message d entrance, in the natural order;
  • P is a first integer value with the length K of the input message, referred to as the interleaver period
  • Q qN, with q ⁇ 1 an integer, and Q a divisor of K (P and K being prime between them and K being a multiple of Q so P and Q are prime between them);
  • the information symbols of the input message can be considered as distributed, before interleaving, in Q layers (or subsets) of K / Q information symbols. Interleaving makes it possible, in particular, to transform an information symbol layer of the input message into another information symbol layer of the interleaved input message.
  • the interleaver defines Q layers (or subsets) of information symbols that are associated with Q different values of the adjustment parameter 5 (Z).
  • each layer of the message of non-interlaced input is interleaved into another layer of the interleaved input message (identical or different layer) and a position of a symbol in a layer of the non-interleaved input message is interleaved into another position in a layer of the interleaved input message (identical or different position).
  • the inter-layer adjustment value ⁇ makes it possible to set the correspondence between the layer numbers between the non-interlaced input message and the interleaved input message, Ti £ (0, ..., Q-1), in respecting connection rules defined from the punching pattern or patterns.
  • the inter-layer adjustment value ⁇ can thus be constructed deterministically.
  • the degree of fragility of a position depends on the minimum distance of Hamming from the spectrum of the distances of the elementary codes, and / or the number of punched redundancy symbols in the case of a position for which the information symbol is punched.
  • the inter-layer adjustment value ⁇ matches the punched information symbols between their position in the natural order and their position in the field. interlace order.
  • the inter-layer adjustment value ⁇ maps the positions of the weakest non-punched information symbols to the positions of the least fragile non-punched information symbols, the degree of fragility of the positions being determined by comparing the distance spectrums.
  • elementary codes obtained by punching one by one each of the unpunched information symbols, the least brittle position corresponding to the spectrum having the largest minimum Hamming distance and the smallest multiplicity, and the most fragile position corresponding to the spectrum having the lowest minimum Hamming distance and the largest multiplicity, the multiplicity corresponding to the number of words of an elementary code at a distance d.
  • the value of the inter-layer adjustment ⁇ matches the positions of the most fragile punched information symbols to the positions of the least fragile punched information symbols, the degree of fragility of the positions being determined according to the number of symbols of punched redundancy, the least fragile positions being those for which no redundancy symbol is punched and the weakest ones for which all the redundancy symbols are punched.
  • the degrees of fragility of the positions having the same number of punched redundancy symbols are determined based at least on a comparison of the distance spectra of the elementary codes obtained by punching one by one each of the unpunched redundancy symbols, the position the less brittle corresponding to the spectrum having the largest minimum Hamming distance and the lowest multiplicity, and the weakest position corresponding to the spectrum having the lowest minimum Hamming distance and the largest multiplicity.
  • Figure 7 illustrates the performance of a method according to the invention.
  • a set of LTE curves represent the performances obtained by the LTE standard turbo encoder with the use of the yield adaptation according to the so-called rate matching processing to obtain the same yields as those obtained with a coding method according to the invention.
  • An encoding method according to the invention has a correction power greater than that of the LTE turbo encoder when the noise level is low.
  • a method according to the invention is therefore more robust vis-à-vis an increase in noise due to the transmission channel and thus avoids a sharp increase in the frame error rate unlike the LTE turbo encoder.

Abstract

L'invention concerne un procédé de codage d'un message numérique d'entrée, portant K symboles d'information, mettant en œuvre un turbo-codeur formant un turbocode et délivrant les symboles d'information et des symboles de redondance, un poinçonnage des symboles délivrés par le turbo- codeur étant effectué suivant au moins un motif (M_P) de poinçonnage de longueur N, L = K/N définissant le nombre de périodes de poinçonnage. Le turbocode permet le codage du message avec un rendement variable pouvant varier entre un premier rendement R 1 dit le plus faible et un second rendement R z , dit le plus élevé. Selon l'invention, le procédé (1) comprend : une optimisation conjointe (2) de l'entrelacement et du poinçonnage pour le rendement le plus élevé R z et ensuite - un ajout (3) d'une position non poinçonnée dans au moins un motif de poinçonnage pour au moins une période du au moins un motif pour une variation du rendement.

Description

Procédés et dispositifs de codage à rendement compatible
Domaine de l'invention
Le domaine de l'invention est celui du codage et du décodage d'un message numérique d'entrée mettant en œuvre un code correcteur d'erreurs à rendement compatible.
L'invention se rapporte plus particulièrement aux techniques de codage d'un message numérique source délivrant des mots codés comprenant les symboles d'information et des symboles de redondance, destiné(s) à être transmis sur un canal de transmission (par exemple aérien ou filaire de type hertzien, optique ou électrique), ou stocké(s) dans un support matériel. L'invention se rapporte également aux techniques de décodage correspondantes, permettant notamment de corriger les erreurs de transmission inhérentes au canal de transmission.
L'invention trouve notamment des applications dans les domaines suivants :
la transmission d'information par télécommunications filaires électriques, comme dans les normes ADSL, ou optiques, sur fibres optiques ou en espace libre ;
la transmission d'information dans les communications radios spatiales et terrestres sans fil (« wireless » en anglais), comme dans les systèmes de télévision numérique TNT, de radio numérique DAB, de téléphonie GSM ou UMTS, de réseau radio WiFi, et aussi dans les futurs systèmes de télécommunications, comme les futures normes pour des applications de télévision, de diffusion radio, de voix, de vidéo et de données (DVB, LTE, 4G, 5G, etc), ou entre véhicules, l'Internet des objets ou machines communicants « IOT : Internet Of Things », ... ;
la compression et la décompression de source d'informations par exemple de type vidéo ; la génération et la détection de séquences dites d'embrouillage (« scrambling » en anglais) dans les systèmes CDMA ;
le stockage d'informations dans des mémoires de masse magnétiques, optiques, mécaniques ou électriques pour constituer des disques durs, ou des mémoires vives d'ordinateurs, ou des clés mémoire à interface de type USB... ;
la correction d'informations lors des calculs dans un circuit intégré d'un microprocesseur ou dans un ordinateur ;
la reconnaissance de formes : images, sons, etc ;
- la robotique commandée par une intelligence artificielle à base de réseaux de neurones.
Un code correcteur d'erreurs est classiquement défini par :
une longueur n, correspondant à la séquence en sortie du codeur (ou mot de code de longueur n formé de K symboles d'information et de (n— K) symboles de redondance), un nombre K de bits ou de données d'information utiles, correspondant aux données en entrée du codeur, encore appelées symboles d'information, et
une distance minimale dmin. Le rendement est alors défini par R = K /n.
Art antérieur Les turbocodes sont des codes correcteurs d'erreurs dont les performances approchent la limite de Shannon, comme décrit dans le livre de C. Berrou (éd.), Codes et turbocodes, "Chapitre 7 : Turbocodes convolutifs", Collection IRIS, Springer, 2007. La structure conventionnelle d'un turbo-encodeur D, représentée à la figure 1 , comprend la concaténation parallèle de deux codes convolutifs systématiques récursifs Cl et C2 (CSR) séparés par un entrelaceur INT. Le message numérique d'entrée de longueur K est encodé dans son ordre d'arrivée, dit ordre naturel, par l'encodeur Cl , et dans l'ordre entrelacé, ou permuté, par l'encodeur C2. Les symboles transmis comprennent les symboles d'information X dits systématiques et les symboles de redondance Yl , Y2.
Des méthodes d'entrelacement de turbocodes sont connues des demandes WO
2000/035103, WO 2000/010257, WO 2006/069392, US 2007/0288834, WO 2007/047472, WO 2008/057041 , et WO 2010/148763.
En réception, comme représenté à la figure 2, le décodage de ce code fait appel à deux décodeurs à entrées et sorties pondérées ou SISO (« Soft-In Soft-Out » en anglais). A partir des informations relatives aux symboles d'information Lcys, et aux symboles de redondance Lcyrl et Lcyr2 , disponibles en sortie du canal, chaque décodeur calcule une information dite extrinsèque Lel et Le2 sur les symboles d'information décodés, qu'il échange avec l'autre décodeur suivant un processus itératif. Les décodeurs convergent ainsi vers une décision commune L .
Le rendement de codage global R du turbocode de la figure 1 est égal à 1/3 (avant poinçonnage). Pour augmenter le rendement de codage d'un turbocode, la technique la plus utilisée consiste à poinçonner les symboles transmis suivant un motif périodique. Avec cette technique, le même codeur et le même décodeur peuvent être utilisés pour tous les rendements de codage. D'autre part, il est admis qu'il est préférable de poinçonner les symboles de redondance Yl et Y2 plutôt que les symboles d'information, comme expliqué dans les articles de O. Acikel et W. Ryan, "Punctured turbo-codes for BPSK/QPSK channels" IEEE Trans. Commun., vol. 47, no. 9, pp. 1315-1323, Sept. 1999, et de F. Mo et al., "Analysis of puncturing pattern for high rate turbo codes", Proc. IEEE Conférence on Military Communications (MIL-COM 1999), vol. 1 , Sep. 1999, pp. 547-550. En effet, en réception, les symboles d'information sont utilisés pour le décodage des deux codes élémentaires Cl et C2, tandis que chaque redondance n'est utilisée que pour le décodage d'un seul des codes. L'absence d'un symbole d'information est par conséquent a priori plus pénalisant que l'absence d'un symbole de redondance.
Un poinçonnage des symboles d'information est décrit dans la demande US 2008/0256424. Un code correcteur d'erreurs à rendement compatible (« rate-compatible code » selon la terminologie anglo-saxonne) est un code qui garantit que les symboles codés transmis pour un rendement de codage R-^ sont également transmis pour tout rendement de codage R2 tel que R2 ≤ Ri- On parle encore de rendements incrémentaux ou de codage à redondance incrémentale.
L'utilisation d'un code correcteur d'erreurs à rendement compatible se déroule selon le principe suivant :
- une première transmission avec le rendement de codage le plus élevé (i?i). Si ce rendement est proche de 1 , peu de redondances sont transmises et la transmission est très efficace en termes d'efficacité spectrale. Toutefois, il est nécessaire que le canal de transmission ne soit pas trop perturbé (par exemple, le rapport signal/bruit doit être élevé dans le cas d'un canal à bruit additif gaussien) pour pouvoir décoder l'information avec succès en réception.
- une deuxième transmission où seuls les bits supplémentaires pour atteindre un rendement inférieur (R2) sont transmis s'il reste des erreurs résiduelles après décodage.
L'ensemble des bits transmis lors des deux transmissions est alors utilisé pour décoder le code au rendement inférieur (R2).
Ce processus peut être réitéré en diminuant progressivement le rendement jusqu' à ce que les données soient correctement décodées ou que le rendement le plus bas du code soit atteint. Au fur et à mesure que des bits codés additionnels sont transmis et que le rendement de codage diminue, le code devient plus puissant et la probabilité de corriger les erreurs augmente.
Une transmission des données codées selon le principe précédent est avantageuse par rapport à des transmissions indépendantes à rendements incrémentaux. En effet, la deuxième étape de transmission et les suivantes ne requièrent que la transmission des bits additionnels pour passer d'un rendement à celui juste inférieur, le décodeur bénéficiant à chaque étape de décodage de tous les bits transmis depuis la première étape.
Ce principe a été étendu aux turbocodes pour des entrelacements structurés. Un entrelaceur structuré, par opposition à un entrelaceur tiré de manière aléatoire, présente une certaine régularité dans sa structure ; il peut être décrit sous la forme d'une expression analytique. Parmi les familles d'entrelaceurs structurés connues de la littérature, on peut citer les trois familles suivantes. L' entrelaceur QPP (Quadratic Polynomial Permutation) [ST05] standardisé dans le standard LTE, entrelaceur ARP (Almost Regular Permutation) [BSD04] standardisé dans le standard WiMAX et entrelaceur DRP (Dithered Relative Prime) [CG03]. Les auteurs de [BMV05] étendent le principe d'utilisation d'un code correcteur d'erreurs à rendement compatible à un turbocode à entrelacement structuré. Les auteurs commencent par construire l'entrelacement (optimisé) pour le rendement mère (rendement le plus faible c'est-à-dire sans poinçonnage). Cet entrelacement est ensuite conservé pour tous les autres rendements (supérieurs au rendement mère). Pour passer d'un rendement R-^ au rendement R2 juste supérieur, les auteurs choisissent de poinçonner le bit codé qui pénalise le moins la distance minimale du code de rendement R2 résultant (c'est-à-dire que le code résultant doit avoir la distance minimale la plus grande possible). Les auteurs de [BMV05] préconisent ainsi d'optimiser l'entrelacement pour le rendement mère (c'est-à-dire pour le rendement le plus faible) sans poinçonnage puis de choisir, de manière incrémentale et au fur et à mesure que le rendement de codage augmente, le poinçonnage qui réduit le moins la distance minimale du code. Exposé de l'invention
L'invention propose un procédé de codage de type turbocode à rendements compatibles pour le codage de messages de taille K, c'est-à-dire permettant la transmission des bits codés de manière incrémentale pour un rendement pouvant varier entre deux extrêmes, un rendement ¾ le plus faible et un rendement Rz le plus élevé.
Selon le procédé proposé, l'entrelacement et le poinçonnage du turbocode sont d'abord optimisés pour le rendement Rz le plus élevé. C'est-à-dire que la combinaison entrelacement/poinçonnage choisie est celle qui confère au turbocode de rendement Rz le spectre de distance le plus favorable. Ensuite, la diminution incrémentale du rendement est obtenue en enlevant une par une les positions poinçonnées ou de manière équivalente en ajoutant une par une des positions non poinçonnées dans le motif de poinçonnage. L'ajout de positions non poinçonnées est donc effectué de manière incrémentale. Le poinçonnage selon l'invention est conditionné par la loi de connexion déterminée pour le rendement le plus élevé et cette loi est conservée pour toute variation du rendement jusqu'au rendement mère (sans poinçonnage).
La position non poinçonnée, systématique ou parité (redondance), ajoutée pour chaque variation du rendement est choisie pour conférer au turbocode résultant le meilleur spectre de distance (c'est-à-dire la distance minimale de Hamming la plus grande) pour le rendement recherché. Si deux ou plusieurs positions donnent des distances minimales de Hamming égales, le procédé choisit celle qui présente la multiplicité (nombre de mots de codes à la distance minimale de Hamming) minimale. En cas d'égalité, le procédé considère la distance suivante dans le spectre, et ainsi de suite.
Ce procédé permet ainsi d'obtenir des turbocodes extrêmement flexibles puisque le rendement peut varier entre Rz et R avec une granularité fine du rendement.
Le procédé proposé va à l'encontre des préconisations dans le domaine en ce qu'il considère le rendement du plus élevé au plus faible et non pas du plus faible au plus élevé comme préconisé.
En effet, l'état de l'art préconise d'optimiser l'entrelacement du turbo-codeur au rendement le plus faible (en général sans poinçonnage) puis de poinçonner de manière incrémentale pour augmenter le rendement de façon à obtenir des codes dont la distance minimale soit la plus grande possible pour chaque rendement. Alors que l'invention impose d'optimiser conjointement l'entrelacement et le poinçonnage du turbo-codeur pour le rendement Rz le plus élevé et, seulement ensuite d'ajuster de manière incrémentale le rendement. L'entrelaceur ainsi obtenu n'a aucune raison d'être identique à l'entrelaceur qui résulterait d'une optimisation du spectre des distances du code de rendement le plus faible.
Cette différence a un effet surprenant puisque le résultat obtenu n'est pas équivalent à celui obtenu avec l'état de l'art ; les performances sont nettement supérieures avec un procédé de codage selon l'invention. Plus particulièrement, l'invention a pour objet un procédé de codage d'un message numérique d'entrée, portant K symboles d'information, mettant en œuvre un turbo-codeur formant un turbocode, le turbo-codeur comportant un entrelaceur et des premier et deuxième encodeurs à encodage selon au moins un code élémentaire, et délivrant les symboles d'information dits systématiques et des symboles de redondance, un poinçonnage des symboles délivrés par le turbo- codeur étant effectué suivant au moins un motif de poinçonnage de longueur N, L = K/N définissant le nombre de périodes de poinçonnage. Le turbocode permet le codage du message avec un rendement variable pouvant varier entre un premier rendement dit le plus faible et un second rendement Rz, dit le plus élevé. Le procédé est tel qu'il comprend :
- une optimisation conjointe de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz et ensuite
- un ajout d'une position non poinçonnée dans au moins un motif de poinçonnage pour au moins une période du au moins un motif pour une variation du rendement.
Le poinçonnage des symboles délivrés intervient sur les symboles systématiques et/ou sur les symboles de redondance. Lorsque les symboles systématiques sont poinçonnés alors le poinçonnage intervient selon un motif M_S. Lorsque les symboles de redondance sont poinçonnés alors le poinçonnage intervient selon au moins un motif M_P. Dans le cas où le turbo-codeur fournit plusieurs sorties systématiques et/ou de redondance, il peut y avoir un motif pour les symboles systématiques et il peut y avoir autant de motifs que de sorties pour les symboles de redondance. Le masque de poinçonnage (constitué du ou des motifs s'il y en a plusieurs) du rendement recherché est obtenu après répétition autant que nécessaire de l'étape d'ajout d'une position non poinçonnée à partir du rendement le plus élevé. Selon certains modes, les motifs se répètent à l'identique tous les K/N périodes, les motifs sont alors totalement périodiques. Selon d'autres modes, l'ajout d'une position non poinçonnée n'intervient pas pour toutes les périodes d'un ou plusieurs motifs mais pour certaines d'entre elles i.e pour p périodes prises parmi toutes les périodes.
Selon un mode de réalisation particulier, le poinçonnage est effectué selon n motifs de poinçonnage de longueur N, n≥ 2.
Selon un mode de réalisation particulier, l'ajout intervient pour p périodes parmi les L périodes d'au moins le motif, 1 < p < L.
Selon un mode de réalisation particulier, l'ajout intervient pour p périodes parmi toutes les périodes de plusieurs des n motifs, 1 < p < n X L.
Selon un mode de réalisation particulier, le poinçonnage comprend un poinçonnage des symboles de redondance effectué selon m motifs de longueur N et selon lequel l'ajout est d'une seule position non poinçonnée dans au moins un des m motifs de poinçonnage des symboles de redondance, m≥ 2. L'ajout d'une position dans au moins un des deux motifs intervient pour chacune des p périodes considérées avec 1 < p < L et L le nombre de périodes d'un motif. Ce mode permet donc d'obtenir des granularités comprises entre p/K et mp/K soit entre 1/N et m/N lorsque p=L.
Dans le cas où l'ajout intervient dans un seul des motifs, à chaque période, si une position est ajoutée alors elle n'est ajoutée que dans un seul des m motifs de poinçonnage des symboles de redondance. Ce mode permet d'obtenir une granularité du rendement de 1/N quand l'ajout intervient à chaque période, p = L, avec la particularité que pour des périodes différentes l'ajout peut éventuellement intervenir pour des motifs différents. Une granularité différente est obtenue quand l'ajout n'intervient pas pour chacune des L périodes, p < L. En particulier, lorsque p = 1 ce mode permet d'atteindre une granularité du rendement de 1/K. Dans le cas où l'ajout intervient dans au moins deux motifs alors la granularité Gr du rendement est 2p/K≤ Gr < mp/K. Ce mode permet ainsi d'obtenir une granularité du rendement de Gr = m/N quand l'ajout intervient à chaque période de chacun des m motifs, p = L . Une granularité différente est obtenue quand l'ajout n'intervient pas pour chaque période, p < L. En particulier, ce mode permet d'obtenir une granularité du rendement Gr = 2/K lorsque p = 1 i.e. pour chacun des deux parmi les m motifs de poinçonnage des symboles de redondance une seule position non poinçonnée est ajoutée pour une seule période parmi toutes les périodes du motif.
Selon un mode de réalisation particulier, le poinçonnage comprend un poinçonnage des symboles systématiques effectué selon un motif de longueur N et selon lequel l'ajout est d'une seule position non poinçonnée dans ce motif de poinçonnage des symboles systématiques.
L'ajout d'une position dans le motif intervient pour les p périodes considérées avec 1 < p < L et L le nombre de périodes du motif de poinçonnage des symboles systématiques. La granularité Gr du rendement est alors— = Gr. Ce mode permet d'obtenir une granularité du rendement Gr = 1/N quand l'ajout intervient à chaque période du motif, p = L. Une granularité différente est obtenue quand l'ajout n'intervient pas pour toutes les périodes, p < L. En particulier, ce mode permet d'obtenir une granularité du rendement Gr = 1/K lorsque p = 1 i.e. une seule position non poinçonnée est ajoutée pour une seule période parmi toutes les périodes du motif de poinçonnage des symboles systématiques.
Selon un mode de réalisation particulier, l'ajout d'une position dans au moins le motif est effectuée à une position déterminée parmi différentes positions possibles dans ce motif, cette position étant déterminée comme étant celle qui conduit à la distance minimale de Hamming la plus grande pour le rendement obtenu à l'issu de la variation de rendement.
Selon un mode de réalisation, l'entrelacement et le poinçonnage sont optimisés conjointement selon un procédé décrit dans la demande WO WO2016203039. La demande WO2016203039 décrit une manière de choisir le motif de poinçonnage, en particulier le nombre et les positions des symboles d'information poinçonnés. Selon ce mode, l'entrelacement mis en œuvre par le turbo-codeur tient compte du ou des motifs de poinçonnage utilisés pour entrelacer de façon astucieuse les symboles d'information du message d'entrée. Si plusieurs combinaisons d'entrelacement et de poinçonnage conduisent à des spectres de distance très proches (i.e. les premiers termes de distances sont identiques pour ces combinaisons (typiquement, les distances minimales de Hamming sont égales)) pour le rendement le plus élevé alors le choix porte sur l'entrelacement qui favorise le plus le rendement mère (c'est-à-dire sans poinçonnage) en termes de spectre de distances.
Selon un mode de réalisation particulier, l'entrelaceur répartit les symboles d'information du message d'entrée dans Q couches du message d'entrée entrelacé en respectant une fonction d'entrelacement définie à partir du au moins un motif de poinçonnage, selon la relation :
ΤΓ( = (pi + S(i mod Ç)) mod K = {Pi + (Tt + At Q)) mod K avec :
ί = 0, ... , K— 1 la position d'un symbole d'information dans le message d'entrée entrelacé, dans l'ordre entrelacé, et π(ί) la position du symbole d'information dans le message d'entrée, dans l'ordre naturel ;
- P une valeur entière première avec la longueur K du message d'entrée, dite période de l'entrelaceur ;
5(i mod Q) = 5(0 = Τχ + Ai Q les paramètres d'ajustement de la fonction d'entrelacement, avec l = 0, ... , Q— 1 le numéro de la couche ;
Q degré de désordre inséré dans l'entrelaceur, correspondant au nombre de couches, tel que Q = qN, avec q≥ 1 un entier, et Q un diviseur de k ;
Τχ une valeur d'ajustement inter-couches définie à partir du au moins un motif de poinçonnage ; et
Αχ une valeur d'ajustement intra-couche.
Selon un mode de réalisation particulier, la valeur d'ajustement inter-couches Γ; fait correspondre les positions des symboles d'information non poinçonnés les plus fragiles aux positions des symboles d'information non poinçonnés les moins fragiles, le degré de fragilité des positions étant déterminé en comparant les spectres des distances des codes élémentaires obtenus en poinçonnant un par un chacun des symboles d'information non poinçonnés, la position la moins fragile correspondant au spectre ayant la distance minimale de Hamming la plus grande et la multiplicité la plus faible, et la position la plus fragile correspondant au spectre ayant la distance minimale de Hamming la plus faible et la multiplicité la plus grande, la multiplicité correspondant au nombre de mots d'un code élémentaire à une distance d.
Selon un mode de réalisation particulier, le procédé choisit l'entrelacement qui favorise le plus le rendement mère en termes de spectre de distances si deux ou plusieurs combinaisons d'entrelacement et poinçonnage conduisent à des spectres très proches pour le rendement le plus élevé.
L'invention a en outre pour objet un codeur de rendement compatible permettant le codage d'un message numérique d'entrée, portant K symboles d'information, mettant en œuvre un turbo- codeur formant un turbocode, le turbo-codeur comportant un entrelaceur et des premier et deuxième encodeurs à encodage selon au moins un code élémentaire, et délivrant les symboles d'information dits systématiques et des symboles de redondance, un poinçonnage des symboles délivrés par le turbo-codeur étant effectué suivant au moins un motif de poinçonnage de longueur N, L = K/N définissant le nombre de périodes de poinçonnage. Le codeur permet le codage du message avec un rendement variable pouvant varier entre un premier rendement dit le plus faible et un second rendement Rp, dit le plus élevé. Le codeur est tel qu'il comprend :
un processeur pour mettre en œuvre une optimisation conjointe de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz et
un processeur pour ensuite ajouter une position non poinçonnée dans au moins un motif de poinçonnage pour au moins une période du au moins un motif pour une variation du rendement.
Un tel codeur peut bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages de ce codeur sont les mêmes que ceux du procédé de codage et ne sont donc pas détaillés plus amplement.
Un codeur selon l'invention peut être implémenté sous la forme d'un circuit intégré numérique ou analogique, ou dans un composant électronique de type microprocesseur. Ainsi, l'algorithme de codage selon l'invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
L'invention propose ainsi une nouvelle technique de codage de symboles source pour obtenir simplement des codes avec une variation très fine du rendement.
L'invention concerne encore un dispositif comprenant un codeur et un décodeur de symboles précédemment décrits.
Un tel dispositif, encore appelé codée pour codeur/décodeur, peut être implémenté sous la forme d'un circuit intégré numérique ou analogique, ou dans un composant électronique de type microprocesseur. En particulier, l'utilisation d'un codée permet de mutualiser les ressources matérielles utilisées au codage et au décodage. Par exemple, un tel codée peut recevoir en entrée des symboles source, et délivrer en sortie des symboles codés, ou recevoir en entrée des symboles codés, et délivrer en sortie une estimation des symboles source.
Dans encore un autre mode de réalisation, l'invention concerne un ou plusieurs programmes d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé de codage tels que décrits précédemment, lorsque le ou les programmes sont exécutés par un processeur d'un codeur. De tels programmes peuvent être stockés sur un support d'information. Liste des figures
D' autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :
la figure 1 , précédemment décrite, représente la structure d'un turbo-codeur selon l' art antérieur,
la figure 2, précédemment décrite, illustre le décodage itératif d'un turbocode selon l' art antérieur,
les figures 3A, 3B et 3C représentent la structure d'un turbo-codeur selon différents modes de réalisation de l'invention,
la figure 4 est un organigramme des principales étapes d'un procédé de codage selon un mode de réalisation de l'invention,
la figure 5 est un schéma d'un masque (motif) de poinçonnage M périodique composé d'un motif M_S périodique pour les symboles d'information, et de deux motifs M_P identiques périodiques pour les symboles de redondance,
la figure 6 est un schéma des deux motifs M_S et M_P pour différents rendements intermédiaires entre R = 8/9 et le rendement mère R = 1/3 avec ajout d'une position non poinçonnée à chaque variation incrémentale du rendement,
la figure 7 donne des courbes du taux d'erreur trame FER en fonction du rapport signal à bruit Eb/NO pour la transmission de trames de 4000 bits d'information sur un canal à bruit blanc gaussien pour différents rendements et deux méthodes de codage, une méthode selon le standard LTE et l'autre méthode selon l'invention.
Description de modes de réalisation de l'invention
Les figures 3A, 3B et 3C illustrent la structure d'un turbo-codeur TC selon des modes de réalisation de l'invention, délivrant des symboles d'information (entrelacés ou non) dits systématiques et des symboles de redondance, et un poinçonnage des symboles d'information et/ou des symboles de redondance, respectivement pour un rendement de codage R≥ 1/3, R≥ 1/3 et R≥ 1/5. Un turbo-codeur selon l'invention est tel que l'entrelacement interne du turbocode est identique pour tous les rendements admissibles pour que la propriété de compatibilité de rendement soit respectée. S'il n'était pas identique, les bits de redondance (parités) générés ne seraient pas les mêmes d'un rendement à l' autre et la compatibilité de rendement ne pourrait pas être assurée.
Le turbo-codeur illustré en figure 3A comprend un entrelaceur ENT et deux encodeurs, par exemple de type convolutifs systématiques récursifs (Cl , C2). Seul l'encodeur Cl produit une sortie systématique, symboles d'information X dans l'ordre naturel. Chaque encodeur produit une sortie de redondance (symboles de redondance Yl pour le premier encodeur Cl et symboles de redondance Y2 pour le deuxième encodeur C2). Le message numérique d'entrée, comprenant K symboles d'information, est encodé dans son ordre d'arrivée, dit ordre naturel, par l'encodeur Cl, et dans l'ordre entrelacé, ou permuté, par l'encodeur C2.
Le message numérique de sortie, comprenant la sortie systématique (symboles d'information X) et la sortie de redondance (symboles de redondance Yl et Y2), peut être poinçonné par un dispositif de poinçonnage suivant au moins un motif périodique de poinçonnage de longueur N. Par exemple, pour chaque rendement de codage supérieur à 1/3, trois motifs de poinçonnage périodiques de longueur N sont utilisés, exprimés par exemple chacun sous la forme d'un vecteur binaire : un premier motif de poinçonnage utilisé pour le poinçonnage des symboles d'information X, un deuxième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Yl, et un troisième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Y2. Si les codes élémentaires des premier et deuxième encodeurs (Cl, C2) du turbo- codeur sont identiques, le même motif de poinçonnage peut être appliqué aux symboles de redondance Yl et aux symboles de redondance Y2.
Le turbo-codeur illustré en figure 3B comprend un entrelaceur ENT et deux encodeurs, par exemple de type convolutifs systématiques récursifs (Cl, C2), produisant chacun une sortie systématique (symboles d'information X dans l'ordre naturel pour le premier encodeur Cl, ou symboles d'information X' dans l'ordre entrelacé pour le deuxième encodeur C2) et une sortie de redondance (symboles de redondance Yl pour le premier encodeur Cl et symboles de redondance Y2 pour le deuxième encodeur C2). Le message numérique d'entrée, comprenant K symboles d'information, est encodé dans son ordre d'arrivée, dit ordre naturel, par l'encodeur Cl et dans l'ordre entrelacé, ou permuté, par l'encodeur C2.
Le message numérique de sortie, comprenant la sortie systématique (symboles d'information X ou bien symboles d'information X') et la sortie de redondance (symboles de redondance Yl et Y2), peut être poinçonné par un dispositif de poinçonnage suivant au moins un motif périodique de poinçonnage de longueur N. Par exemple, pour chaque rendement de codage supérieur à 1/3, trois motifs de poinçonnage périodiques de longueur N sont utilisés, exprimés par exemple chacun sous la forme d'un vecteur binaire : un premier motif de poinçonnage utilisé pour le poinçonnage des symboles d'information X ou X', un deuxième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Yl , et un troisième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Y2. Si les codes élémentaires des premier et deuxième encodeurs (Cl, C2) du turbo-codeur sont identiques, le même motif de poinçonnage peut être appliqué aux symboles de redondance Yl et aux symboles de redondance Y2.
Le turbo-codeur illustré en figure 3C comprend un entrelaceur ENT et deux encodeurs, par exemple de type convolutifs systématiques récursifs (Cl, C2), produisant chacun une sortie systématique (symboles d'information X dans l'ordre naturel pour le premier encodeur Cl ou symboles d'information X' dans l'ordre entrelacé pour le deuxième encodeur C2) et deux sorties de redondance (symboles de redondance Yl et Wl pour le premier encodeur Cl et symboles de redondance Y2 et W2 pour le deuxième encodeur C2). Le message numérique d'entrée, comprenant k symboles d'information, est encodé dans son ordre d'arrivée, dit ordre naturel, par l'encodeur Cl et dans l'ordre entrelacé, ou permuté, par l'encodeur C2.
Le message numérique de sortie comprenant la sortie systématique (symboles d'information X ou bien symboles d'information X') et les deux sorties de redondance (symboles de redondance Yl et Wl obtenus à partir du premier encodeur et symboles de redondance Y2 et W2 obtenus à partir du deuxième encodeur) peut être poinçonné par un dispositif de poinçonnage suivant au moins un motif périodique de poinçonnage de longueur N. Par exemple, pour chaque rendement de codage supérieur ou égal à 1/5, cinq motifs de poinçonnage périodiques de longueur N sont utilisés, exprimés par exemple chacun sous la forme d'un vecteur binaire : un premier motif de poinçonnage utilisé pour le poinçonnage des symboles d'information X ou X', un deuxième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Yl, un troisième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Y2, un quatrième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance Wl et un cinquième motif de poinçonnage utilisé pour le poinçonnage des symboles de redondance W2. Si les codes élémentaires des premier et deuxième encodeurs (Cl, C2) du turbo-codeur sont identiques, le même motif de poinçonnage peut être appliqué aux symboles de redondance Yl et aux symboles de redondance Y2. De la même façon, le même motif de poinçonnage peut être appliqué aux symboles de redondance Wl et aux symboles de redondance W2.
Chacun des turbo-codeurs TC des figures 3A, 3B et 3C comprend un processeur μΡ pour mettre en œuvre une optimisation conjointe de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz et pour ensuite ajouter au moins une position non poinçonnée dans au moins un motif de poinçonnage pour au moins une période du au moins un motif pour une variation du rendement. Le processeur pilote l'entrelaceur et le dispositif de poinçonnage. Les turbo-codeurs TC peuvent comprendre le dispositif de poinçonnage.
L'organigramme de la figure 4 représente les principales étapes mises en œuvre par un codeur selon l'invention. Un procédé 1 de codage de type turbocode à rendements compatibles selon l'invention permet de coder un message de taille K avec un rendement pouvant varier entre deux rendements extrêmes considérés, le rendement le plus faible ¾ et le rendement le plus élevé Rz.
Prenons pour exemple un turbo-codeur illustré par la figure 3 A de rendement mère 1/3, une taille de message K = 4000 bits, une longueur N = 16 du motif M_S de poinçonnage des symboles systématiques et du motif M_P des symboles de redondances issus d'un code élémentaire, un rendement le plus élevé Rz = 8/9.
Dans une première étape 2, le procédé effectue une optimisation Optim. conjointe de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz. Cette optimisation 2 conjointe du poinçonnage et de l'entrelacement est réalisée selon un mode de réalisation en mettant en œuvre le procédé décrit dans la demande de brevet WO WO2016203039. Selon cette réalisation, et pour l'exemple illustré, le motif M de poinçonnage optimisé est illustré à la figure 5. Ce motif périodique comprend le motif M_S et deux motifs M_P identiques. M_S représente le motif de poinçonnage pour les symboles d'information X, M_P représente le motif de poinçonnage pour chacun des symboles de redondance Yl et Y2. Un 0 représente un bit poinçonné, un 1 représente un bit transmis. Ainsi, il y a deux symboles d'information poinçonnés et 2 X 14 symboles de redondance poinçonnés par période N = 16 soit au total (28 + 2) X 4°°°^3 = 30 X 250 =7500 symboles poinçonnés. On retrouve bien le rendement :
4000 4000 = 40
2 (4000X3 -7500) 4500 45 1
Si deux ou plusieurs combinaisons d'entrelacement et poinçonnage conduisent à des spectres de distance très proches, typiquement les distances minimales de Hamming sont égales pour ces combinaisons, pour le rendement le plus élevé, le procédé choisit l'entrelacement qui favorise le plus le rendement mère (sans poinçonnage) en termes de spectre de distances. Pour comparer deux ou plusieurs spectres de distances, le procédé compare tout d' abord le terme de distance le plus faible de chacun des spectres (distance minimale de Hamming) et choisit le spectre qui a la distance minimale de Hamming la plus élevée. En cas d'égalité des distances minimales, le procédé choisit le spectre avec la multiplicité (nombre de mots de codes à la distance minimale de Hamming) la plus faible. En cas d'égalité de ces deux grandeurs pour deux ou plusieurs combinaisons, le procédé considère la distance suivante dans le spectre et choisit la combinaison correspondant à la plus grande valeur de la distance et, en cas d'égalité, à la plus petite multiplicité.
Dans une deuxième étape 3, impérativement postérieure à la première étape, le procédé ajoute une position non poinçonnée dans le motif de poinçonnage M_P selon l'illustration, pour obtenir une diminution incrémentale du rendement. Les positions non poinçonnées ajoutées à chaque itération de l'étape 3 sont celles qui confèrent au turbocode te résultant le meilleur spectre de distance, c'est-à-dire la distance minimale de Hamming la plus grande pour le rendement recherché R. La position ajoutée à chaque étape 3 est ajoutée dans le motif M_S uniquement, dans un des motifs M_P uniquement ou dans plusieurs des motifs pris parmi le motif M_S et les motifs M_P. Les positions ajoutées concernent donc un ou plusieurs symboles d'information et/ou un ou plusieurs symboles de redondance.
Selon l'exemple illustré pour lequel le motif M de la figure 5 est optimisé pour un rendement Rz = 8/9, l' ajout d'une seule position non poinçonnée dans chaque motif de parité M_P permet d'obtenir un rendement Rz- = 4/5 comme illustré par la figure 6. En outre, compte tenu que le motif M de la figure 5 est optimisé lors de la première étape 2 alors la meilleure position Pos_4/5 à ajouter est la 12ieme position dans chaque motif M_P de poinçonnage. En ajoutant une seule autre position non poinçonnée dans chaque motif de parité le rendement obtenu est Rz-2 = 8/11. La meilleure position Pos_8/l l est la Hieme position dans chaque motif M_P de poinçonnage. De nouveau, en ajoutant une seule autre position non poinçonnée dans chaque motif de parité le rendement obtenu est ffz_3 = 2/3. La meilleure position Pos_2/3 est la 6ieme position dans chaque motif M_P de poinçonnage. Et ainsi de suite jusqu' au rendement mère R-^ = 1/ 3 obtenu en l'absence de poinçonnage ; aucune position n'est poinçonnée. Selon l'exemple illustré, l' ajout de positions non poinçonnées pour les symboles d'information intervient en dernier, après l' ajout de positions non poinçonnées pour les symboles de redondance.
On note NR. le nombre de bits à transmettre pour atteindre le rendement ffj. On définit la granularité comme étant le rapport entre le nombre x de bits supplémentaires à transmettre et la
(NR ._ -NR.) taille du message pour passer d'un rendement ffj au rendement juste inférieur R^ : -— l- — =
K
x/K, K étant la taille du message à l'entrée du turbo-codeur avant poinçonnage (rapport normalisé).
Selon l'exemple précédent, lorsque la période de poinçonnage est de N pour un turbo- codeur de rendement mère 1/3, la granularité est de 2/N pour l'obtention d'autres rendements. Dit autrement, la granularité de 2/N correspond à l' ajout d'un bit tous les N bits dans chacun des motifs M_P de poinçonnage des bits de parité.
Selon une autre réalisation, une variation plus fine du rendement est obtenue en ajoutant une seule position dans un seul des deux motifs de parité ou dans le motif des symboles d'information. Ceci permet d'obtenir un rendement R = 16/19 intermédiaire entre les rendements Rz = 8/9 et R = 4/5, ainsi qu'un rendement R = 16/21 intermédiaire entre les rendements R = 4/5 et R = 8/11 et qu'un rendement R = 16/23 intermédiaire entre les rendements R = 8/11 et R = 2/3. Ainsi, lorsque la période de poinçonnage est de N pour un turbo-codeur de rendement mère 1/3, la granularité est de 1/N pour l'obtention d' autres rendements. Dit autrement, la granularité de 1/N correspond à l' ajout d'un bit tous les N bits soit dans le motif de poinçonnage des bits d'information (partie systématique) soit dans un des motifs de poinçonnage des bits de redondance (parité).
Le procédé décrit précédemment permet avantageusement d'identifier la position à ajouter dans le masque de poinçonnage pour passer de manière incrémentale avec une granularité de 1/N, d'un rendement ffj au rendement juste inférieur i?Î_1. Ainsi, si la trame d'information à transmettre contient L périodes de longueur N (L = [K/N\), le procédé ajoute L bits sur la longueur de la trame pour passer du rendement ffj au rendement Comme vu précédemment pour l'exemple de motif de la figure 5 qui correspond à Rz = 8/9 pour N = 16, l'ajout d'une position non poinçonnée dans un des motifs M_P de poinçonnage des parités ou dans le motif M_S de poinçonnage des systématiques pour toutes les périodes du motif M permet d'obtenir un rendement flz_i = 16/19. Il s'avère que l'organisme de normalisation 3GPP au sein duquel interviennent les travaux pour les futures générations de téléphonie mobile (LTE adv, 5G, etc.) requiert des granularités du rendement plus fines que 1/N. Or, il n'y a pas de méthode connue qui adresse ce problème de construction de codes à rendements compatibles avec une granularité quelconque. Le mécanisme de rate matching du standard LTE (3GPP) apporte une solution à ce problème mais il est déconnecté de la construction de l'entrelacement et entraîne de mauvaises performances pour certains rendements. Il est ainsi possible de trouver des cas où les courbes de taux d'erreurs pour un rendement R2 sont moins bonnes que celles avec un rendement R^^ alors que R2 < R^.
De manière très avantageuse par rapport à l'état de l'art, l'invention permet d'obtenir une granularité qui peut être plus fine que 1/N en considérant pour l'ajout d'une position non poinçonnée non pas l'ensemble des périodes mais seulement plusieurs (p) périodes du motif de poinçonnage (p < L) ou de plusieurs (m) motifs de poinçonnage (p < m X L). Dans ces cas tous les motifs ne se répètent pas de manière parfaitement périodique sur l'ensemble des périodes ; certaines périodes parmi l'ensemble des L périodes d'un motif peuvent être différentes des autres périodes de l'ensemble. Il est ainsi facile de construire toute une gamme de rendements entre ff j et Ri-i, Ri-i≤ Ri, en ajoutant seulement p bits (1 < p < L) parmi les p périodes considérées d'un motif ou de plusieurs motifs. Compte tenu que la construction d'un rendement intermédiaire entre ff j et Ri-^ comprend l'optimisation conjointe de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz et que les rendements ff j et sont construits tels que chaque position ajoutée est celle qui confère au turbocode résultant le meilleur spectre de distance alors, même en l'absence d'une optimisation additionnelle de l'ajout des p bits, les performances obtenues pour le rendement intermédiaire sont intermédiaires entre les performances aux rendements ffj et
Par exemple, si K = 4000, L = 250, le procédé permet de construire facilement toute une gamme de rendements entre Rz = 8/9 et ffz_i = 4/5 en ajoutant seulement p bits de parités parmi les positions possibles sachant que Rz = 8/9 est obtenu en transmettant 250 X 14 symboles d'information et 250 x 2 x 2 symboles de redondance et que Rz-\ = 4/5 est obtenu en transmettant 250 X 14 symboles d'information et 250 X 2 X 3 symboles de redondance.
Selon un mode, si le procédé ajoute x bits de parités à chacun des deux codes élémentaires parmi les L = 250 positions possibles pour former un turbocode symétrique alors il permet ainsi
4000
d'obtenir tous les rendements de la forme R = , avec 1 < x < 250 en transmettant
4500 +2X
250 X 14 symboles d'information et 250 X 2 X 2 + 2x symboles de redondance.
Selon un autre mode, ces mêmes rendements de la forme R = 40°° , avec 1 < x <
4500+2X
250 peuvent être obtenus en ajoutant 2x bits d'information parmi les L = 250 positions possibles et en transmettant donc 250 X 14 + 2x symboles d'information et 250 X 2 X 2 symboles de redondance. Dans les deux modes précédents la granularité de rendement est égale à 2x/K (< 2/N) car le procédé transmet 2x bits additionnels.
Selon un mode, si le procédé considère différemment entre eux les motifs de parité et ajoute x bits de parités indifféremment entre les deux motifs de poinçonnage des bits de parité donc parmi 2 x 1 = 500 positions possibles alors il permet ainsi d'obtenir tous les rendements de la
4000
forme R = . avec 1 < x < 500 en transmettant donc 250 X 14 symboles d'information et
4500+x J
250 x 2 x 2 + x symboles de redondance. Dans ce cas la granularité de rendement est égale à x/K (et x/K < 1/N uniquement si x < 250) car le procédé transmet x bits additionnels.
4000
Selon un autre mode, tous les rendements de la forme R = . avec 1 < x < 250
4500+x
peuvent être obtenus en ajoutant x bits d'information parmi les L = 250 positions possibles et en transmettant donc 250 X 14 + x symboles d'information et 250 X 2 X 2 symboles de redondance. Dans ce cas la granularité de rendement est égale à x/K (< 1/N) car le procédé transmet x bits additionnels.
4000
Selon un autre mode, tous les rendements de la forme R = . avec 1 < x < 750
4500+x
peuvent être obtenus en ajoutant x bits parmi les L = 750 positions possibles en considérant indifféremment le motif de poinçonnage des bits d'information et les deux motifs de poinçonnage des bits de parité. Le procédé transmet donc 250 X 14 + x1 symboles d'information et 250 X 2 X 2 + x2 symboles de redondance avec x = x1 + x2■ Dans ce cas la granularité de rendement est égale à x/K (et x/K < 1/N uniquement si x < 250) car le procédé transmet x bits additionnels.
Ces modes de réalisation sont particulièrement intéressants car ils permettent de répondre aux exigences du 3GPP visant à l'obtention d'une granularité du rendement plus fine que 1/N. L'ajout d'une position non poinçonnée dans le motif M pour une parmi l'ensemble des périodes du motif permet d'obtenir une granularité minimale de 1/K à laquelle correspond une variation minimale du rendement.
Une construction du codage selon l'invention garantit que, même sans optimisation additionnelle, les performances obtenues pour les rendements intermédiaires entre deux rendements, par exemple entre Rz-\ = 4/5 et Rz = 8/9, sont intermédiaires entre les performances obtenues à ces deux rendements ce qui n'est pas le cas avec le mécanisme de rate matching selon le standard LTE.
Bien entendu, selon l'invention le choix des x positions peut être déterminé pour maximiser les distances des codes de rendements intermédiaires.
Une réalisation de l'optimisation 2 conjointe du poinçonnage et de l'entrelacement en mettant en œuvre l'enseignement de la demande de brevet WO WO2016203039 est décrite ci-après de manière plus détaillée.
Le rendement de codage R d'un turbocode peut s'exprimer comme : avec Rpd le ratio de symboles d'information poinçonnés durant la période N définie par la longueur du motif de poinçonnage et Nnp le nombre de symboles de redondance non poinçonnés par code élémentaire dans la période N.
Les valeurs du rendement R et de la période N du motif étant fixées, le ratio Rpd peut prendre N+l valeurs possibles :
Rpd = ~ avec n = 0, ... , N.
Toutefois, seules les valeurs conduisant à des rendements Rc des codes élémentaires inférieurs à 1 sont admissibles. Dans le cas contraire, les décodeurs élémentaires correspondants ne sont pas capables de reconstruire le message transmis à partir des symboles reçus. En d'autres termes, la limite admissible correspond au cas où le nombre total de symboles d'information et de redondance délivrés par les codes élémentaires devient inférieur à la taille K du message d'entrée.
Pour chaque encodeur du turbo-codeur TC, un motif de poinçonnage de longueur N est sélectionné parmi une pluralité de motifs de poinçonnage correspondant à différentes valeurs admissibles du ratio Rpd sur la base au moins d'une comparaison entre les spectres des distances des codes élémentaires poinçonnés correspondants et de mesures d'information mutuelle échangée entre les informations extrinsèques entrante et sortante du décodeur correspondant à l'encodeur dans le cas où ces motifs de poinçonnage sont utilisés avec un entrelaceur uniforme.
La construction de entrelaceur comporte les étapes consistant à :
a) établir une fonction d'entrelacement de l'entrelaceur en fonction du motif de poinçonnage, en déterminant les degrés de fragilité des différentes positions au sein du motif et en connectant les positions selon au moins une règle de connexion de ladite fonction d'entrelacement, dépendante du degré de fragilité des positions,
b) déterminer un ensemble restreint de candidats pour les paramètres d'ajustement de la fonction d'entrelacement déterminée en a) en fonction de valeurs prédéfinies de la distance cumulée spatiale minimale Smin et de la longueur du cycle minimal de corrélation Gmin de l'entrelaceur, pour au moins une période d' entrelaceur, et
c) sélectionner au moins un entrelaceur parmi l'ensemble restreint de candidats de l'étape b), sur la base au moins des spectres des distances des turbocodes obtenus en utilisant les entrelaceurs correspondants.
Dans le cas où chaque code élémentaire produit une seule sortie de redondance, le motif de poinçonnage est constitué de trois vecteurs de longueur N chacun, l'un pour le poinçonnage des symboles d'information et les deux autres pour le poinçonnage des symboles de redondance. Les motifs de poinçonnage sont de préférence identiques pour les deux codes élémentaires formant le turbocode notamment dans le cas où les codes élémentaires sont identiques. Selon un mode de réalisation, pour chaque valeur de période de poinçonnage N et du ratio Rpd, une valeur représentative d'une distance du spectre des distances du code élémentaire poinçonné, correspondant notamment à la distance minimale de Hamming, est utilisée pour la comparaison entre les spectres des distances du code élémentaire poinçonné, le motif de poinçonnage conduisant à la plus grande valeur de distance étant sélectionné.
Pour ce faire, pour chaque valeur de période N sélectionnée et pour chaque valeur du ratio Rpd, le procédé considère tous les motifs de poinçonnage possibles et détermine pour chacun d'eux le début du spectre des distances du code élémentaire poinçonné, c'est-à-dire la distance minimale de Hamming du code et les distances immédiatement supérieures, ainsi que leur multiplicité. Le procédé peut utiliser l'algorithme FAST décrit dans l'article de M. Cedervall et R. Johannesson, "A fast algorithm for Computing distance spectrum of convolutional codes" IEEE Trans. Inf. Theory, vol. 35, no. 6, pp. 1146-1159, Nov. 1989, et adapté aux codes poinçonnés.
Plusieurs motifs de poinçonnage conduisant à la même plus grande valeur de distance pour une même valeur de période de poinçonnage N et une même valeur du ratio Rpd, le procédé sélectionne le motif dont la multiplicité est minimale.
Plusieurs motifs de poinçonnage conduisant à la même valeur de multiplicité minimale correspondant à une même plus grande valeur de distance, pour une même valeur de période N et une même valeur du ratio Rpd, le processus de sélection du motif est réitéré pour la distance suivante, c'est-à-dire immédiatement supérieure, dans le spectre des distances du code élémentaire poinçonné.
Cette première partie de la sélection du motif de poinçonnage permet d'éliminer les motifs dits catastrophiques.
Pour chaque valeur de période N et du ratio Rpd, le procédé sélectionne parmi les motifs précédemment sélectionnés, le motif de poinçonnage conduisant à une valeur de l'information mutuelle échangée supérieure ou égale à celle obtenue lorsque le ratio Rpd de symboles d'information poinçonnés est nul.
L'entrelaceur uniforme utilisé pour calculer les valeurs de l'information mutuelle échangée est un entrelaceur probabiliste qui produit tous les entrelacements possibles pour une taille K de séquence d'information de manière équiprobable, par exemple généré par un tirage aléatoire pour chaque séquence transmise, et comme décrit dans l'article de S. Benedetto et G. Montorsi, "Unveiling turbo codes: some results on parallel concatenated coding schemes" IEEE Trans. Inf. Theory, vol. 42, no. 2, pp. 409-428, 1996. L'entrelaceur uniforme permet d'évaluer les performances moyennes du turbocode, indépendamment du choix de l'entrelaceur.
Le décodeur correspondant à un entrelaceur uniforme du turbocode peut être simulé pour les motifs de poinçonnage sélectionnés à l'étape précédente, afin de comparer les courbes de taux d'erreurs obtenues. Le motif de poinçonnage sélectionné est celui offrant le meilleur compromis entre les performances à fort et moyen taux d'erreurs dans la région d'à-pic et les performances à faibles taux d'erreurs dans la région d'évasement, en fonction notamment de l'application visée.
La période N de poinçonnage est un diviseur de la longueur K du message numérique d'entrée. Afin de limiter l'espace de recherche des entrelaceurs, seuls les plus petits diviseurs de la taille K du message numérique d'entrée sont considérés pour la période N. Par exemple dans le cas où K est divisible par 256, seules des périodes de poinçonnage égales à 8 ou 16 peuvent être considérées.
Selon un mode de réalisation, l'entrelaceur répartit les symboles d'information du message d'entrée dans Q couches du message d'entrée entrelacé en respectant une fonction d'entrelacement définie à partir d'au moins un motif de poinçonnage M_S, M_P, selon la relation :
7r(i) = (Pi + S(i mod Q)) mod K = (Pi + 5(0) mod K = (Pi + (Γ; + Αβ)) mod K avec :
ί = 0, ... , K— 1 la position d'un symbole d'information dans le message d'entrée entrelacé, dans l'ordre entrelacé, et π(ί) la position du symbole d'information dans le message d'entrée, dans l'ordre naturel ;
P est une valeur entière première avec la longueur K du message d'entrée, dite période de l'entrelaceur ;
5(i mod Q) = 5(Z) = Τχ + AX Q les paramètres d'ajustement de la fonction d'entrelacement, avec l = 0, ... , Q— 1 le numéro de la couche ;
Q un degré de désordre inséré dans l'entrelaceur, correspondant au nombre de couches, tel que
Q = qN, avec q≥ 1 un entier, et Q un diviseur de K (P et K étant premiers entre eux et K étant un multiple de Q alors P et Q sont premiers entre eux) ;
Τχ une valeur d' ajustement inter-couches, définie à partir d'au moins le motif de poinçonnage ; et
- Ai une valeur d'ajustement intra-couche.
Les symboles d'information du message d'entrée peuvent être considérés comme répartis, avant entrelacement, dans Q couches (ou sous-ensembles) de K/Q symboles d'information. L'entrelacement permet notamment de transformer une couche de symboles d'information du message d'entrée en une autre couche de symboles d'information du message d'entrée entrelacé. En d' autres termes, l'entrelaceur définit Q couches (ou sous-ensembles) de symboles d'information qui sont associées à Q valeurs différentes du paramètre d'ajustement 5(Z).
Plus précisément, l'expression de l'entrelaceur selon le modèle mathématique π(ί) = (Pi + ( i + J4J Ç)) mod K montre la mise en œuvre d'un entrelacement à deux niveaux : chaque couche du message d'entrée non entrelacé est transformée par entrelacement en une autre couche du message d'entrée entrelacé (couche identique ou différente) et une position d'un symbole dans une couche du message d'entrée non entrelacé est transformée par entrelacement en une autre position dans une couche du message d'entrée entrelacé (position identique ou différente).
La valeur d'ajustement inter-couches Τχ permet de fixer la correspondance entre les numéros de couches entre le message d'entrée non entrelacé et le message d'entrée entrelacé, Ti £ (0, ... , Q — 1), en respectant des règles de connexion définies à partir du ou des motifs de poinçonnage. La valeur d' ajustement inter-couches Τχ peut ainsi être construite de façon déterministe.
Le degré de fragilité d'une position dépend de la distance minimale de Hamming du spectre des distances des codes élémentaires, et/ou du nombre de symboles de redondance poinçonnés dans le cas d'une position pour laquelle le symbole d'information est poinçonné.
Si un poinçonnage des symboles d'information est effectué suivant un motif de poinçonnage de longueur N, alors la valeur d' ajustement inter-couches Τχ fait correspondre les symboles d'information poinçonnés entre leur position dans l'ordre naturel et leur position dans l'ordre entrelacé.
La valeur d'ajustement inter-couches Τχ fait correspondre les positions des symboles d'information non poinçonnés les plus fragiles aux positions des symboles d'information non poinçonnés les moins fragiles, le degré de fragilité des positions étant déterminé en comparant les spectres des distances des codes élémentaires obtenus en poinçonnant un par un chacun des symboles d'information non poinçonnés, la position la moins fragile correspondant au spectre ayant la distance minimale de Hamming la plus grande et la multiplicité la plus faible, et la position la plus fragile correspondant au spectre ayant la distance minimale de Hamming la plus faible et la multiplicité la plus grande, la multiplicité correspondant au nombre de mots d'un code élémentaire à une distance d.
La valeur de l'ajustement inter-couches Τχ fait correspondre les positions des symboles d'information poinçonnés les plus fragiles aux positions des symboles d'information poinçonnés les moins fragiles, le degré de fragilité des positions étant déterminé en fonction du nombre de symboles de redondance poinçonnés, les positions les moins fragiles étant celles pour lesquelles aucun symbole de redondance n'est poinçonné et les plus fragiles celles pour lesquelles tous les symboles de redondance sont poinçonnés.
Les degrés de fragilité des positions ayant le même nombre de symboles de redondance poinçonnés sont déterminés sur la base au moins d'une comparaison des spectres des distances des codes élémentaires obtenus en poinçonnant un par un chacun des symboles de redondance non poinçonnés, la position la moins fragile correspondant au spectre ayant la distance minimale de Hamming la plus grande et la multiplicité la plus faible, et la position la plus fragile correspondant au spectre ayant la distance minimale de Hamming la plus faible et la multiplicité la plus grande.
La figure 7 illustre les performances d'un procédé selon l'invention. Les courbes donnent le taux d'erreur trame (FER) en fonction du rapport signal à bruit (Eb/NO) pour la transmission de trames de K = 4000 bits d'information sur un canal à bruit blanc gaussien. Les courbes PB R = x/y représentent les performances obtenues par le turbocodeur de la figure 3 A mettant un œuvre un procédé de codage selon l'invention avec optimisation conjointe du poinçonnage et de l'entrelacement au rendement le plus élevé Rz = 8/9 réalisé selon la demande de brevet WO WO2016203039. Un ensemble de courbes LTE représentent les performances obtenues par le turbocodeur du standard LTE avec l'utilisation de l'adaptation de rendement selon le traitement dit rate matching pour obtenir les mêmes rendements que ceux obtenus avec un procédé de codage selon l'invention.
La comparaison des taux d'erreur entre les deux procédés pour un même rendement de codage permet de constater que les performances sont très proches en dessous d'un seuil du rapport signal à bruit. Mais au-delà de ce seuil qui dépend du rendement, il faut augmenter le rapport signal à bruit pour le procédé de codage mis en œuvre par le turbocodeur du LTE pour maintenir un même taux d'erreur trame entre les deux procédés. En outre, plus le rendement augmente plus l'augmentation du rapport signal à bruit doit être importante pour maintenir un même taux d'erreur trame entre les deux procédés. Un procédé de codage selon l'invention possède un pouvoir de correction supérieur à celui du turbocodeur du LTE lorsque le niveau de bruit est faible. Par exemple, on observe un rapport supérieur à 100 entre les taux d'erreurs pour un rapport signal à bruit Eb/NO de 4,5dB dans le cas d'un rendement R=8/9. Cette différence permet notamment de réduire de manière significative le nombre de retransmissions dans des conditions de transmission relativement bonnes. Ceci procure ainsi un gain en débit et en latence.
Il a par ailleurs été observé des gains à fort niveau de bruit lors de la transmission de blocs courts (environ 100 bits). Un procédé selon l'invention est donc plus robuste vis-à-vis d'une augmentation du bruit dû au canal de transmission et évite ainsi une forte augmentation du taux d'erreurs trame contrairement au turbocodeur du LTE.
Références :
[BMV05] F. Babich, G. Montorsi, F. Vatta, "On Rate-Compatible Punctured Turbo Codes Design", EURASIP Journal on Applied Signal Processing 2005:6, 784-794.
[BSD04] C. Berrou, Y. Saouter, C. Douillard, S. Kerouedan, and M. Jezequel, "Designing good permutations for turbo codes: towards a single model," in Proc. 2004 IEEE Int. Conf. Commun., pp. 341-345.
[CG03] S. Crozier, P. Guinand, "Distance upper bounds and true minimum distance results for turbo-codes designed with DRP interleavers", Proc. 3rd Int. Symp. Turbo Codes 2003, pp. 169- 172.
[ST05] J. Sun and O. Takeshita, "Interleavers for turbo codes using permutation polynomials over integer rings," IEEE Trans. Inf. Theory, vol. 51, no. 1, pp. 101-119, Jan. 2005.

Claims

Revendications
1. Procédé (1) de codage d'un message numérique d'entrée, portant K symboles d'information, mettant en œuvre un turbo-codeur formant un turbocode, le turbo-codeur comportant un entrelaceur (ENT) et des premier et deuxième encodeurs (Cl , C2) à encodage selon au moins un code élémentaire, et délivrant les symboles d'information dits systématiques et des symboles de redondance, un poinçonnage des symboles délivrés par le turbo-codeur étant effectué suivant au moins un motif (M_S, M_P) de poinçonnage de longueur N, L = K/N définissant le nombre de périodes de poinçonnage,
caractérisé en ce que, le turbocode permettant le codage du message avec un rendement variable pouvant varier entre un premier rendement dit le plus faible et un second rendement Rz, dit le plus élevé, le procédé est tel qu'il comprend :
une optimisation conjointe (2) de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz et ensuite
un ajout (3) d'une position non poinçonnée dans au moins un motif de poinçonnage pour p périodes parmi les L périodes, 1 < p < L du au moins un motif pour une variation du rendement.
2. Procédé (1) de codage selon la revendication 1 selon lequel le poinçonnage est effectué selon n motifs de poinçonnage (M_S, M_P) de longueur N, n≥ 2.
3. Procédé (1) de codage selon la revendication 2 selon lequel l' ajout intervient pour p périodes parmi toutes les périodes de plusieurs des n motifs, 1 < p < n X L.
4. Procédé (1) de codage selon la revendication 1 selon lequel le poinçonnage comprend un poinçonnage des symboles de redondance effectué selon m motifs (M_P) de longueur N et selon lequel le moins un motif est un des m motifs de poinçonnage des symboles de redondance, m≥ 2.
5. Procédé (1) de codage selon la revendication 1 selon lequel le poinçonnage comprend un poinçonnage des symboles systématiques effectué selon un motif (M_S) de longueur N et selon lequel le au moins un motif est le motif de poinçonnage des symboles systématiques et selon lequel l'ajout est d'une seule position non poinçonnée dans ce motif de poinçonnage des symboles systématiques.
6. Procédé (1) de codage selon l'une des revendications 1 à 5 selon lequel l'ajout d'une position dans au moins le motif est effectuée à une position déterminée parmi différentes positions possibles dans ce motif, cette position étant déterminée comme étant celle qui conduit à la distance minimale de Hamming la plus grande pour le rendement obtenu à l'issu de la variation de rendement.
7. Procédé (1) de codage selon l'une des revendications 1 à 6 selon lequel l'entrelaceur répartit les symboles d'information du message d'entrée dans Q couches du message d'entrée entrelacé en respectant une fonction d'entrelacement définie à partir du au moins un motif de poinçonnage, selon la relation :
ΤΓ( = (pi + S(i mod Ç)) mod K = {Pi + (Tt + At Q)) mod K avec :
ί = 0, ... , K— 1 la position d'un symbole d'information dans le message d'entrée entrelacé, dans l'ordre entrelacé, et π(ί) la position du symbole d'information dans le message d'entrée, dans l'ordre naturel ;
P une valeur entière première avec la longueur K du message d'entrée, dite période de entrelaceur ;
5(i mod Q) = S(l) = Τχ + AX Q les paramètres d'ajustement de la fonction d'entrelacement, avec l = 0, ... , Q— 1 le numéro de la couche ;
Q degré de désordre inséré dans entrelaceur, correspondant au nombre de couches, tel que Q = qN, avec q≥ 1 un entier, et Q un diviseur de k ;
Τχ une valeur d'ajustement inter-couches définie à partir du au moins un motif de poinçonnage ; et
Αχ une valeur d'ajustement intra-couche.
8. Procédé (1) de codage selon la revendication précédente selon lequel la valeur d' ajustement inter-couches Γ; fait correspondre les positions des symboles d'information non poinçonnés les plus fragiles aux positions des symboles d'information non poinçonnés les moins fragiles, le degré de fragilité des positions étant déterminé en comparant les spectres des distances des codes élémentaires obtenus en poinçonnant un par un chacun des symboles d'information non poinçonnés, la position la moins fragile correspondant au spectre ayant la distance minimale de Hamming la plus grande et la multiplicité la plus faible, et la position la plus fragile correspondant au spectre ayant la distance minimale de Hamming la plus faible et la multiplicité la plus grande,
la multiplicité correspondant au nombre de mots d'un code élémentaire à une distance d.
9. Procédé de codage selon la revendication précédente ou la revendication 7 selon lequel le procédé choisit l'entrelacement qui favorise le plus le rendement mère en termes de spectre de distances si deux ou plusieurs combinaisons d'entrelacement et poinçonnage conduisent à des spectres très proches pour le rendement le plus élevé.
10. Codeur (TC) de rendement compatible permettant le codage d'un message numérique d'entrée, portant K symboles d'information, mettant en œuvre un turbo-codeur formant un turbocode, le turbo-codeur comportant un entrelaceur (ENT) et des premier et deuxième encodeurs (Cl , C2) à encodage selon au moins un code élémentaire, et délivrant les symboles d'information dits systématiques et des symboles de redondance, un poinçonnage des symboles délivrés par le turbo-codeur étant effectué suivant au moins un motif (M_S, M_P) de poinçonnage de longueur N, L = K/N définissant le nombre de périodes de poinçonnage, caractérisé en ce que, le codeur permettant le codage du message avec un rendement variable pouvant varier entre un premier rendement Rt, dit le plus faible et un second rendement Rp, dit le plus élevé, le codeur est tel qu'il comprend :
un processeur pour mettre en œuvre une optimisation conjointe (2) de l'entrelacement et du poinçonnage pour le rendement le plus élevé Rz et
- un processeur pour ensuite ajouter (3) une position non poinçonnée dans au moins un motif de poinçonnage pour p périodes parmi les L périodes, 1 < p < L du au moins un motif pour une variation du rendement.
PCT/FR2018/050677 2017-03-20 2018-03-20 Construction de turbocodes à rendements compatibles WO2018172694A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1752273 2017-03-20
FR1752273A FR3064138B1 (fr) 2017-03-20 2017-03-20 Procedes et dispositifs de codage a rendement compatible

Publications (1)

Publication Number Publication Date
WO2018172694A1 true WO2018172694A1 (fr) 2018-09-27

Family

ID=58645303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2018/050677 WO2018172694A1 (fr) 2017-03-20 2018-03-20 Construction de turbocodes à rendements compatibles

Country Status (2)

Country Link
FR (1) FR3064138B1 (fr)
WO (1) WO2018172694A1 (fr)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010257A1 (fr) 1998-08-17 2000-02-24 Hughes Electronics Corporation Dispositif d'entrelacement de code turbo a performances quasi optimales
WO2000035103A1 (fr) 1998-12-04 2000-06-15 Qualcomm Incorporated Dispositif d'entrelacement de code turbo utilisant des sequences congruentes lineaires
WO2006069392A1 (fr) 2004-12-22 2006-06-29 Qualcomm Incorporated Entrelaceur d'inversion de bits tronque
WO2007047472A1 (fr) 2005-10-12 2007-04-26 Qualcomm Incorporated Entrelaceur a turbo code ameliore destine a un faible taux d'erreur de trame
US20070288834A1 (en) 2006-05-26 2007-12-13 Crozier Stewart N Puncture-Constrained Interleaving For Concatenated Codes
WO2008057041A2 (fr) 2006-11-10 2008-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Entrelaceur/désentrelaceur de polynômes du second degré à deux variables pour turbocodes
US20080256424A1 (en) 2007-04-13 2008-10-16 Broadcom Corporation Information bit puncturing for turbo coding with parameter selectable rate matching tailored to lower eb/no without degrading bler (block error rate) performance
WO2010148763A1 (fr) 2009-06-24 2010-12-29 中兴通讯股份有限公司 Procédé de calcul et dispositif d'entrelaceur de code intra-turbo
WO2016203039A1 (fr) 2015-06-19 2016-12-22 Orange Conception de l'entrelaceur pour des codes turbo en fonction du motif de poinçonnage

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010257A1 (fr) 1998-08-17 2000-02-24 Hughes Electronics Corporation Dispositif d'entrelacement de code turbo a performances quasi optimales
WO2000035103A1 (fr) 1998-12-04 2000-06-15 Qualcomm Incorporated Dispositif d'entrelacement de code turbo utilisant des sequences congruentes lineaires
WO2006069392A1 (fr) 2004-12-22 2006-06-29 Qualcomm Incorporated Entrelaceur d'inversion de bits tronque
WO2007047472A1 (fr) 2005-10-12 2007-04-26 Qualcomm Incorporated Entrelaceur a turbo code ameliore destine a un faible taux d'erreur de trame
US20070288834A1 (en) 2006-05-26 2007-12-13 Crozier Stewart N Puncture-Constrained Interleaving For Concatenated Codes
WO2008057041A2 (fr) 2006-11-10 2008-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Entrelaceur/désentrelaceur de polynômes du second degré à deux variables pour turbocodes
US20080256424A1 (en) 2007-04-13 2008-10-16 Broadcom Corporation Information bit puncturing for turbo coding with parameter selectable rate matching tailored to lower eb/no without degrading bler (block error rate) performance
WO2010148763A1 (fr) 2009-06-24 2010-12-29 中兴通讯股份有限公司 Procédé de calcul et dispositif d'entrelaceur de code intra-turbo
WO2016203039A1 (fr) 2015-06-19 2016-12-22 Orange Conception de l'entrelaceur pour des codes turbo en fonction du motif de poinçonnage

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
"Turbocodes convolutifs", 2007, COLLECTION IRIS, SPRINGER, article "Codes et turbocodes"
C. BERROU; Y. SAOUTER; C. DOUILLARD; S. KEROUEDAN; M. JEZEQUEL: "Designing good permutations for turbo codes: towards a single model", PROC. 2004 IEEE INT. CONF. COMMUN., pages 341 - 345
CROZIER S ET AL: "Rate-Compatible Turbo Codes Designed with Puncture-Constrained DRP Interleavers", PROC. GLOBAL TELECOMMUNICATIONS CONFERENCE (GLOBECOM 2011), IEEE, 5 December 2011 (2011-12-05), pages 1 - 5, XP032119041, ISBN: 978-1-4244-9266-4, DOI: 10.1109/GLOCOM.2011.6133842 *
F. BABICH; G. MONTORSI; F. VATTA: "On Rate-Compatible Punctured Turbo Codes Design", EURASIP JOURNAL ON APPLIED SIGNAL PROCESSING, vol. 6, 2005, pages 784 - 794, XP055423537
F. MO ET AL.: "Analysis of puncturing pattern for high rate turbo codes", PROC. IEEE CONFÉRENCE ON MILITARY COMMUNICATIONS (MIL-COM 1999, vol. 1, September 1999 (1999-09-01), pages 547 - 550, XP010369678, DOI: doi:10.1109/MILCOM.1999.822742
J. SUN; O. TAKESHITA: "Interleavers for turbo codes using permutation polynomials over integer rings", IEEE TRANS. INF. THEORY, vol. 51, no. 1, January 2005 (2005-01-01), pages 101 - 119, XP011124733, DOI: doi:10.1109/TIT.2004.839478
JIAXIANG LI ET AL: "The optimal puncturing pattern design for rate-compatible punctured Turbo codes", PROC. 2009 INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS & SIGNAL PROCESSING (WCSP 2009), 1 January 2009 (2009-01-01), Piscataway, NJ, USA, pages 1 - 5, XP055258973, ISBN: 978-1-4244-4856-2, DOI: 10.1109/WCSP.2009.5371462 *
M. CEDERVALL; R. JOHANNESSON: "A fast algorithm for omputing distance spectrum of convolutional codes", IEEE TRANS. INF. THEORY, vol. 35, no. 6, November 1989 (1989-11-01), pages 1146 - 1159, XP000100859, DOI: doi:10.1109/18.45271
O. ACIKEL; W. RYAN: "Punctured turbo-codes for BPSKlQPSK channels", IEEE TRANS. COMMUN., vol. 47, no. 9, September 1999 (1999-09-01), pages 1315 - 1323
ORANGE AND INSTITUT MINES-TELECOM: "Enhanced Turbo Codes for NR: Implementation Details", vol. RAN WG1, no. Gothenburg, Sweden; 20160822 - 20160826, 12 August 2016 (2016-08-12), XP051142038, Retrieved from the Internet <URL:http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_86/Docs/> [retrieved on 20160812] *
S. BENEDETTO; G. MONTORSI: "Unveiling turbo codes: some results on parallel concatenated coding schemes", IEEE TRANS. INF. THEORY, vol. 42, no. 2, 1996, pages 409 - 428, XP011026486
S. CROZIER; P. GUINAND: "Distance upper bounds and true minimum distance results for turbo-codes designed with DRP interleavers", PROC. 3RD INT. SYMP. TURBO CODES, 2003, pages 169 - 172

Also Published As

Publication number Publication date
FR3064138B1 (fr) 2021-05-07
FR3064138A1 (fr) 2018-09-21

Similar Documents

Publication Publication Date Title
EP0891656B1 (fr) Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
FR2815199A1 (fr) Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
EP1230736B1 (fr) Procede de decodage de donnees codees a l&#39;aide d&#39;un code entropique, dispositif de decodage et systeme de transmission correspondants
FR2808632A1 (fr) Procede de turbo-decodage avec reencodage des informations erronees et retroaction
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
EP1974472B1 (fr) Procedes d&#39;encodage et de decodage rapides et dispositifs associes
EP1128589B1 (fr) Critère d&#39;interruption pour un décodeur turbo
FR2807895A1 (fr) Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
EP3311495B1 (fr) Conception de l&#39;entrelaceur pour des codes turbo en fonction du motif de poinçonnage
FR2805418A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
FR2806177A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
WO2018172694A1 (fr) Construction de turbocodes à rendements compatibles
FR2838581A1 (fr) Procede de codage et/ou de decodage de codes correcteurs d&#39;erreurs, dispositifs et signal correspondants
FR2972878A1 (fr) Procede d&#39;encodage correcteur d&#39;erreur, procede de decodage et dispositifs associes.
EP1205032B1 (fr) Procede et dispositif de codage a au moins deux codages en parallele et permutation amelioree, et procede et dispositif de decodage correspondants
FR2850810A1 (fr) Procede de controle du nombre d&#39;iterations d&#39;un processus de decodage iteratif et dispositif pour la mise en oeuvre du procede
FR2888062A1 (fr) Codeur et turbo decodeur de code produit
WO2021198010A1 (fr) Poinçonnage sélectif de codes non binaires
FR3022651A1 (fr) Procedes et dispositifs de codage et de decodage correcteur d&#39;erreurs, et programme d&#39;ordinateur correspondant.
EP2384548A2 (fr) Procede de codage de donnees a au moins deux etapes d&#39;encodage et au moins une etape de permutation, dispositif de codage, programme d&#39;ordinateur et signal correspondants.
Rao et al. Wireless Image Transmission over Noisy Channels Using Turbo Codes and De-noising Filters
Gose et al. Image Transmission via Iterative Cellular-Turbo System
FR2972876A1 (fr) Procede d&#39;encodage correcteur d&#39;erreur, procede de decodage et dispositifs associes.
FR2829329A1 (fr) Procedes de turbocodage a entrelaceurs verrous, et systemes pour leur mise en oeuvre
FR2782423A1 (fr) Procede et dispositif de codage correcteur d&#39;erreurs et procede et dispositif de decodage correspondant

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18715776

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18715776

Country of ref document: EP

Kind code of ref document: A1