EP1346481A1 - Codeur a turbocodes a synchronisation facilitee - Google Patents

Codeur a turbocodes a synchronisation facilitee

Info

Publication number
EP1346481A1
EP1346481A1 EP01997895A EP01997895A EP1346481A1 EP 1346481 A1 EP1346481 A1 EP 1346481A1 EP 01997895 A EP01997895 A EP 01997895A EP 01997895 A EP01997895 A EP 01997895A EP 1346481 A1 EP1346481 A1 EP 1346481A1
Authority
EP
European Patent Office
Prior art keywords
symbols
bits
synchronization sequence
circuit
codes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01997895A
Other languages
German (de)
English (en)
Inventor
Jacques Meyer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of EP1346481A1 publication Critical patent/EP1346481A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns

Definitions

  • the present invention relates to the transmission of data, and in particular the transmission of digital data encoded using a turbo code encoder.
  • a turbocode coder comprises two (or more than two) simple coding circuits of the convolutional type and one or more brewers ("interleaver" in English), operating on large data blocks (typically, from 100 to 16000 bits) .
  • FIG. 1 illustrates a conventional coder with four states of convolutional type.
  • the encoder 1 receives, at each stroke of a clock not shown, a bit D.
  • the bit D is part of a series of bits corresponding to data to be transmitted, digitized and put in serial form.
  • the data bit D is directly supplied at the output of the encoder 1.
  • the bit D is supplied to an encoding circuit C.
  • the circuit C provides at output a bit Y, says redundancy bit.
  • Circuit C includes four Bi type D flip-flops
  • Adders 2 are modulo 2 adders. At each clock stroke, the state ("0" or
  • Adders 2 are coupled to elements of encoder 1 (input, Bi flip-flops, other adders, output) so that the redundancy bit Y represents a linear combination of four successive data bits.
  • the sign ⁇ designates a modulo 2 sum.
  • the coding circuit C has four flip-flops Bj_. It is said to be four states.
  • the total number of possible combinations of the states of the flip-flops Bi is equal to 2 4 , that is to say 16.
  • a data bit D is thus obtained associated with a redundancy bit Y which is a linear combination of several successive D bits. After transmission, a similar linear combination is calculated on reception and the Y redundancy bits make it possible to correct any errors which have occurred at the D bits during the transmission.
  • FIG. 2 illustrates a turbocode coder 5, produced by means of two coding circuits C ⁇ and C2, each of which is similar to the circuit C of FIG. 1.
  • the encoder 5 receives as input data bits D corresponding to the data to be transmitted.
  • the input of the encoder 5 drives three parallel branches 5 ⁇ _, 52 and 53.
  • branch 5] _ the data bits D are supplied directly to the output of the encoder.
  • branch 52 the data bits D are supplied to the coding circuit C j _.
  • the circuit C] _ provides a first redundancy bit Yl.
  • branch 53 the data bits D are supplied to a cross-connect 6 in series with a coding circuit C2.
  • the brewer 6 operates as follows. Firstly, the stirrer 6 stores a predetermined number of bits, corresponding to a patch block. In a second step, the brewer brews the bits in a predetermined order, and it outputs the bits of the brewing block in an order different from their order of arrival. The operations for storing and supplying the shuffled bits are carried out in parallel, the stirrer 6 storing the bits of a shuffling block while it supplies the shuffled bits of the previous block. The number of bits in a patch block is called the length of the cross-connect.
  • the output of the stirrer 6 attacks the coding circuit C2.
  • the circuit C2 provides a second redundancy bit Y2.
  • the output of the encoder 5 provides at each clock stroke a code comprising a data bit D, associated with two redundancy bits, Y1 and Y2.
  • the D, Yl and Y2 codes are sent via a transmission channel (antenna, cable, etc.), after adequate modulation, in general QAM ("Quadrature Amplitude Modulation") or PSK ("Multiple Phase Shift Keying”) ).
  • the redundancy bits Y2 are produced with bits which can be very distant in time from the data bits supplied simultaneously with the bits Y2 by the coder 5.
  • the coder 5 can be considered as an equivalent coder to a simple convolutional encoder whose number of states, that is to say the number of flip-flops in series, is substantially equivalent to the length of the stirrer.
  • the decoding of codes obtained using the coder 5 is relatively simple, its complexity remaining limited to the complexity of decoding the codes obtained by the circuits C ⁇ and C 2 .
  • FIG. 3 represents a decoder 8 for decoding codes transmitted by the coder 5 of FIG. 2.
  • the decoder 8 receives a signal formed by bits D ', Y' 1 and Y '2, corresponding respectively to the data bits D, and to the redundancy bits Y1 and Y2 which have been transmitted.
  • the decoder 8 comprises a decoding circuit 10, DEC1.
  • the circuit DEC1 receives, at each clock stroke, a bit D 'and a corresponding bit Y'1.
  • the DEC1 circuit has a simple structure, substantially corresponding to the structure of a decoder ensuring the decoding of coded codes using the C1 circuit only.
  • the DECl circuit provides, at each clock stroke, a number linked to the probability of the value of the data bit D. At the output of the DECl circuit, an estimate of the bits D is obtained where certain errors are corrected.
  • the output of the DECl circuit is supplied to a cross-connect 12, of the same structure as the cross-connect 6 of FIG. 2.
  • the cross-connect 12 acts on data blocks of the same length as the cross-connect 6 and provides bits mixed in the same way as in the mixer 6.
  • the output of the mixer 12 is supplied to a decoding circuit 14, DEC2.
  • the circuit DEC2 also receives the second redundancy bit, Y'2, received at the same time as the bit D 'present at the input of the decoder 8.
  • the circuit DEC2 has substantially the same structure as the circuit DECl and it provides an estimate more precise of the D bits, in which more errors have been corrected.
  • the circuit DEC2 attacks a scrub circuit 16, which puts back in the order of arrival the bits brewed by the stirrer 12.
  • the output of the scrubber 16 is brought back to the input of the circuit DECl by a link 18.
  • the link 18 allows the circuit DECl to take into account the output of the DEC2 circuit.
  • the decoder 8 is an iterative decoder. After a few iterations, it is considered that most of the errors are corrected and the data are obtained before or after the DECl circuit.
  • the stirrer 12 must be synchronized with the stirrer 6 of the encoder.
  • the stirring of the stirring device 12 must relate to bits belonging to the same stirring blocks as the stirring device 6.
  • the scrubber 16 is synchronized with the stirring device 12.
  • Another difficulty with decoding is that, in practice, not all the redundancy bits are transmitted.
  • FIG. 4 illustrates the bits transmitted from a so-called 2/3 coder.
  • the 2/3 ratio is called the transmission rate.
  • 2/3 is an encoder which transmits two bits of data for three bits transmitted.
  • FIG. 4 four successive data bits Di (DQ to D3) are illustrated, as well as the redundancy bits Yli and Y2i (i going from 0 to 3) obtained at the same time as each data bit Di.
  • the circled bits are the transmitted bits.
  • the transmitted bits form the sequence D Q , D] _, Yl ⁇ , D2, D3 and Y23. This sequence defines a so-called "perforation" sequence and is repeated every 4 bits of data. Data bits are usually always transmitted.
  • perforation Puncture
  • the technique for choosing the redundancy data to be transmitted is called perforation ("puncture" in English).
  • the perforation is carried out using a perforation mask, for example a table, which eliminates the bits which must not be transmitted.
  • a perforation mask for example a table, which eliminates the bits which must not be transmitted.
  • decoding we must, in the bit stream received, determine which bits are the data bits and, among the redundancy bits, which are the bits of type Y1 and those of type Y2. In other words, it is necessary to recognize the perforation phase, that is to say the bit corresponding to the start of a perforation sequence.
  • the decoder must synchronize with the perforation phase. This is achieved by trying all possible cases, and choosing the best.
  • the transmission rate can be chosen from several possible rates, for example 1/2, 2/3, 3/4, 5/6, 5/8 or 8/9.
  • the decoder 8 knows that the transmission rate used is one of the possible rates, but it does not know which rate it is.
  • the decoder of the prior art tries all possible cases in order to find the transmission rate used. The research to be done is long. For example, with a cross-connect acting on 2048-bit blocks and three possible redundancy rates respectively equal to 2/3, 5/6 and 8/9, 180,000 tests of several thousand bits each must be carried out. The attempts to be made may become so numerous that the processing of information in real time may become impossible.
  • phase 0 of the carrier is not known believed to ⁇ / 2 near in QAM and to 2 ⁇ / M near in MPSK, and the decoder must remove this ambiguity by trying all the possible cases for the phase .
  • the present invention provides a data transmission device comprising a turbo code encoder comprising a stirrer acting on patch blocks, and means for developing symbols from codes provided by the turbo code encoder.
  • the device comprises means for inserting a synchronization sequence in said symbols at a location having a predetermined position relation with respect to the symbols developed using codes associated with the same patch block.
  • the device comprises a perforation means receiving the codes supplied by the turbocode coder and supplying by means of symbol development only part of the codes supplied by said coder.
  • the perforation means is reset when it receives codes associated with a new patch block.
  • the symbols are used to modulate in phase and / or in amplitude a carrier at fixed frequency.
  • the present invention also provides a method for transmitting data comprising the following steps: a) coding the data to be transmitted by a turbocode coder comprising a crossover acting on crossover blocks; b) develop symbols from codes provided by the turbo code encoder; c) inserting a synchronization sequence in said symbols at a location having a determined position relation with respect to the symbols developed using codes associated with the same patch block; and d) transmitting the symbols obtained after step c) of inserting a synchronization sequence.
  • the method comprises, between step a) of coding and step b) of elaboration of symbols, a perforation step consisting of select only part of the codes supplied by said coder by a perforation means.
  • the method comprises a step of resetting the perforation means when the perforation means receives codes associated with a new patching block.
  • the invention also provides a method for decoding data transmitted by a device or a method above, comprising the following steps: a) for each group of n symbols received, n corresponding to the number of symbols in a synchronization sequence, calculating a quantity representative of the probability of the presence of a synchronization sequence; b) if said quantity exceeds a determined threshold, increment an up-down counter initially set to zero; c) after a duration corresponding to a possible period of the synchronization sequence, again calculate an amount representative of the probability of the presence of a synchronization sequence and increment the up-down counter if a synchronization sequence is again detected; otherwise, decrement the up-down counter; d) when the up-down counter reaches its maximum, declare that the synchronized state is reached; and e) if the up-down counter reaches its minimum, reset the up-down counter and wait for another synchronization detection.
  • the step of trying another possible period of the synchronization sequence is carried out.
  • the step consisting in decoding the symbols is carried out.
  • FIG. 1 illustrates a conventional coder of convolutional type
  • FIG. 2 illustrates a conventional turbo code encoder
  • FIG. 3 illustrates a conventional decoder corresponding to the coder of FIG. 2
  • FIG. 4 illustrates a perforation sequence with a transmission rate of 2/3
  • FIG. 5 represents an encoder according to the present invention
  • FIG. 6 represents a perforation sequence with a transmission rate of 8/9
  • FIG. 7 illustrates an 8PSK modulation
  • FIG. 8 represents a decoder according to the present invention.
  • data bits D are supplied in serial form to the input of an encoder 20.
  • the encoder 20 comprises a turbocode coding circuit 22 ("turbocoder").
  • the circuit 22 supplies, at each stroke of a clock not shown, a data bit D, a first redundancy bit Yl and a second redundancy bit Y2.
  • the circuit 22 may be identical to the encoder 5 of FIG. 2 or to a turbocode encoder of any known type providing data bits, and two or more redundancy bits.
  • the bits D, Y1 and Y2 attack a perforation circuit 24.
  • the circuit 24 determines, as a function of the desired transmission rate, the redundancy data to be kept for transmission. To do this, circuit 24 uses a puncture mask.
  • a punch sequence can be defined by the number of data bits processed at one time by the punch mask.
  • the circuit 24 is adaptable to various transmission rates and, as a result, the perforation sequences can comprise different numbers of bits.
  • the circuit 24 of the present invention is reset at the start of each patch block. For example, when the first bit Y2 of a new patching block is supplied by the circuit 22 to the circuit 24, it is made so that the circuit 24 initiates a perforation sequence. This reset is symbolized by the dotted line 25, connecting circuit 22 to circuit 24.
  • circuit 24 provides a series of bits, comprising the data bits D and the redundancy bits Y1 and Y2 retained.
  • the output of circuit 24 attacks a circuit 26 for developing symbols.
  • Circuit 26 uses the bits supplied to it to form symbols which it transmits at its output.
  • a symbol is analog information, for example a complex number, corresponding to a predetermined number of successive bits of the series of bits supplied by the circuit 24.
  • the symbols can represent phase information in an MPSK type modulation, or information phase and amplitude in a QAM type modulation.
  • FIG. 6 illustrates the case where the symbols formed correspond to three consecutive bits and where the transmission rate is 8/9.
  • 16 bits Di constitute the data bits corresponding to a perforation sequence.
  • the redundancy bits Yli and Y2i provided by the coding circuit 22 are represented.
  • the perforation sequence comprises 16 bits of data.
  • the redundancy bits selected are bit Y27 after bit D7 and bit YI14, after bit D14.
  • the circuit 26 will supply, for each perforation sequence, a first symbol S0 corresponding to the data bits D Q to D2.
  • SI to S5 correspond respectively to D 3 to D 5 ; D 6 , D 7 , Y2 7 ; D 8 to D 10 ; From to D 13 ; D 14 , Yl 14 , D 15 .
  • the bits to be transmitted are surrounded by a circle and the bits used to form a symbol are surrounded by a black frame.
  • the number of bits used to form a symbol depends on the desired transmission mode. For example, symbols formed of three bits are particularly suitable for 8PSK modulation, illustrated in FIG. 7.
  • Figure 7 illustrates a constellation of eight symbols in a complex plane x'Ox, y'Oy.
  • the half-line Ox corresponds to phase 0 of the carrier.
  • a symbol S can be represented by a complex number X + Yj, or by its phase ⁇ with respect to the half-line Ox.
  • the carrier is modulated in phase and in amplitude; each symbol can then be associated with a complex number of specific modules.
  • the symbols produced by the circuit 26 are supplied to a circuit 28 for inserting synchronization symbols.
  • the circuit 28 inserts a synchronization sequence into the train of symbols originating from the circuit 26.
  • the synchronization sequence can include any number of symbols, four for example, or even a single symbol.
  • the symbols of the synchronization sequence are symbols which can also appear in the symbol train from circuit 26.
  • the symbols of the synchronization sequence are inserted at a predetermined location in the symbol train from the circuit 26. This location is chosen in the following manner.
  • bits D, Y j _, Y2 supplied by the circuit 22 we first consider the bits which are associated with the same patch block. These bits correspond to the data bits D of a patch block and the redundancy bits Y] _, Y2 supplied by the circuit 22 at the same time as the bits D of the patch block considered. Then we consider the symbols developed using these bits associated with the same cross-connect block, and the symbols of the synchronization sequence are inserted at a predetermined location among these symbols, for example after the third symbol of the set of symbols thus defined. The operation is repeated for each of the following patch blocks.
  • the predetermined location for inserting the synchronization sequence is arbitrary among the symbols produced using bits associated with the same patch block.
  • the synchronization sequence can be inserted between symbols developed from bits associated with different patch blocks.
  • the identification of the synchronization sequence on reception directly provides an indication of the start of the patching blocks.
  • Links in dotted lines 27, 27 ′ respectively connecting circuits 22 and 24 to circuit 28 symbolize the relationships allowing the insertion of the synchronization sequence at the predetermined location.
  • the circuit 26 is adaptable for example to several types of modulation and can develop symbols corresponding to different numbers of bits
  • the circuit 28 can receive from the circuit 26 information indicating the number of bits used to form a symbol.
  • the synchronization symbols do not always occupy the same time position in the transmitted symbol train, the synchronization symbols not always being separated by the same number of symbols. Indeed, the number of symbols separating two successive synchronization sequences depends at least on the transmission rate used, unknown to the decoder. Thus, during a given transmission, the synchronization sequence has a specific period, that is to say that it occurs at regular intervals, but this period is part of a set of possible periods and is unknown to the decoder. , which only knows all of the possible periods.
  • the output of circuit 28 drives a modulator circuit 30, via possible filters, not shown, such as smoothing filters, intended to suppress any undesirable frequencies.
  • the modulation carried out by the modulator 30 is for example a modulation of the QAM or MPSK type, M being equal to 4, 8, 16 or 32. If the modulator 30 is for example of the 16QAM or 16PSK type, the symbols will correspond to four bits. If it is an 8PSK modulator, the symbols will be symbols corresponding to three bits, as has been seen in relation to FIG. 7.
  • the output of the modulator 30 controls a transmission channel, which can for example be a cable or radio link.
  • FIG. 8 illustrates a decoder 40 according to the present invention.
  • the signals received by the decoder 40 correspond to the signals transmitted by the coder 20 and are, if necessary, tainted with errors.
  • DEMOD demodulated to provide a series of symbols.
  • the symbols supplied by the demodulator 42 are supplied to a circuit 44 for detecting synchronization symbols.
  • circuit 44 determines the synchronization symbols from among the symbols supplied to it. Circuit 44 operates as follows. If the synchronization sequence has n symbols
  • n is known to the decoder
  • a quantity representative of the probability of the presence of the synchronization sequence is calculated. For example, we can calculate the sum of the squares of the distances between the symbols received and the synchronization symbols. We can also calculate the sum of the absolute values of these distances.
  • the up / down counter can vary between a minimum negative or zero value and a maximum positive value.
  • the up / down counter is initially set to zero. After a possible period of the synchronization sequence, if synchronization is again detected, the counter up / down is incremented. Otherwise we decrement it.
  • the up / down counter If the output of the up / down counter reaches its minimum value, the up / down counter is reset to zero and another synchronization detection is awaited. After a certain time without reaching the synchronized state, another possible period for the synchronization sequence is tried. If, after exhausting the possibilities, there has still not been synchronization, it is deduced therefrom that there is no data transmitted in the signals received. In general, however, data is transmitted and the decoding circuit 46 receives a series of symbols to be decoded.
  • the decoder 40 removes the ambiguity which exists on phase 0 of the carrier by trying all the possible cases for the phase (eight in 8PSK modulation). As the total number of tests to be performed is very small in the present invention compared to the prior art, it is easy to carry out in parallel the tests intended to remove the phase ambiguity, in order to reach the state more quickly. synchronized.
  • Circuit 46 first transforms the symbols it receives into a series of bits. In this series of bits, the bit corresponding to the start of a patch block is known, due to the predetermined position relationship between the synchronization symbols and those from the same patch block. Circuit 44 transmits to circuit 46 information on the position of the bit corresponding to the start of each block of mixing, which is symbolized in the figure by the dotted line 45.
  • the circuit 46 easily decodes the symbols provided.
  • the circuit 46 supplies, at the output of the decoder 40, data bits D having few errors.
  • the decoder of the present invention is synchronized in less than 10 milliseconds for a data rate equal to 20 megabauds, while, at an equal data rate, it takes several seconds, ie a duration several hundred times greater, to the prior art decoder to synchronize.
  • the present invention is susceptible of various variants and modifications which will appear to those skilled in the art.
  • the coding circuit 22 is an encoder of a type providing more than two redundancy bits for each bit of data
  • the circuit 24 will be adapted without difficulty by those skilled in the art to provide symbols using the bits provided to it.
  • circuits 24 and 26 for developing and inserting synchronization symbols may be produced in the form of a single circuit performing these two functions.
  • circuit 46 can be split into several circuits, each performing a distinct function from circuit 46.
  • a synchronization sequence is introduced between the symbols corresponding to the bits of the same patch block.
  • the synchronization sequence can be introduced after any predetermined number of symbols corresponding to the bits of the same patch block, this predetermined number being known to the decoder.
  • several synchronization sequences can be introduced between the symbols corresponding to the bits of the same patch block.
  • two successive synchronization sequences can be separated by a number of symbols corresponding to the bits of two or more patch blocks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

L'invention concerne un dispositif de transmission de données comprenant un codeur à turbocodes (22) comportant un brasseur agissant sur des blocs de brassage et un moyen (26) pour élaborer des symboles à partir de codes (D, Y1, Y2) fournis par le codeur à turbocodes. Le dispositif comprend un moyen (28) pour insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position prédéterminée par rapport aux symboles élaborés à l'aide de codes associés à un même bloc de brassage.

Description

CODEUR A TURBOCODES A SYNOHRONISATION FACILITEE
La présente invention concerne la transmission de données, et en particulier la transmission de données numériques codées à l'aide d'un codeur à turbocodes.
Un codeur à turbocodes comprend deux (ou plus de deux) circuits de codage simples de type convolutif et un ou plusieurs brasseurs ("interleaver" en anglais), opérant sur des blocs de données de grande taille (typiquement, de 100 à 16000 bits) .
La figure 1 illustre un codeur classique à quatre états de type convolutif. Le codeur 1 reçoit, à chaque coup d'une horloge non représentée, un bit D. Le bit D fait partie d'une suite de bits correspondant à des données à transmettre, numérisées et mises sous forme série.
Par une première branche 1]_, le bit de données D est directement fourni en sortie du codeur 1. Par une seconde branche I2, le bit D est fourni à un circuit de codage C. Le circuit C fournit en sortie un bit Y, dit bit de redondance.
Le circuit C comprend quatre bascules Bi de type D
(BQ, B]_, B2, B3) connectées en série et cinq additionneurs 2 _
(2Q, 2]_, 22, 23 et 24) . Les additionneurs 2 sont des additionneurs modulo 2. A chaque coup d'horloge, l'état ("0" ou
"1") à l'entrée d'une bascule Bj_ est transféré à sa sortie. Les additionneurs 2 sont couplés à des éléments du codeur 1 (entrée, bascules Bi, autres additionneurs, sortie) de sorte que le bit de redondance Y représente une combinaison linéaire de quatre bits de données successifs.
Le bit de redondance Y a pour expression Y= ∑bi.D^ i = 0 dans laquelle bi représente un coefficient dépendant de la structure du codeur C et dans laquelle Dn_i désigne les bits de données suivants : pour i=0, le bit de données D présent en sortie en même temps que le bit Y et, pour i allant de 1 à 3, les bits de données correspondant aux trois coups d'horloge précédents . Le signe Σ désigne une somme modulo 2.
Le circuit de codage C comporte quatre bascules Bj_. Il est dit à quatre états. Le nombre total des combinaisons possibles des états des bascules Bi est égal à 24, c'est-à-dire 16. En sortie du codeur 1, on obtient ainsi un bit de données D associé à un bit de redondance Y qui est une combinaison linéaire de plusieurs bits D successifs. Après transmission, une combinaison linéaire semblable est calculée en réception et les bits de redondance Y permettent de corriger d'éventuelles erreurs survenues aux bits D au cours de la transmission.
La figure 2 illustre un codeur à turbocodes 5, réalisé au moyen de deux circuits de codage C^ et C2, dont chacun est semblable au circuit C de la figure 1.
Le codeur 5 reçoit en entrée des bits de données D correspondant aux données à transmettre. L'entrée du codeur 5 attaque trois branches parallèles 5τ_, 52 et 53. Par la branche 5]_, les bits de données D sont fournis directement à la sortie du codeur. Dans la branche 52, les bits de données D sont fournis au circuit de codage Cj_. Le circuit C]_ fournit un premier bit de redondance Yl. Dans la branche 53, les bits de données D sont fournis à un brasseur 6 en série avec un circuit de codage C2.
Le brasseur 6 opère de la façon suivante. Dans un premier temps, le brasseur 6 stocke un nombre prédéterminé de bits, correspondant à un bloc de brassage. Dans un deuxième temps, le brasseur brasse les bits dans un ordre prédéterminé, et il fournit en sortie les bits du bloc de brassage dans un ordre différent de leur ordre d'arrivée. Les opérations de stockage et de fourniture des bits brassés se font en parallèle, le brasseur 6 stockant les bits d'un bloc de brassage tandis qu'il fournit les bits brassés du bloc précédent. On appelle longueur du brasseur le nombre de bits d'un bloc de brassage.
La sortie du brasseur 6 attaque le circuit de codage C2. Le circuit C2 fournit un second bit de redondance Y2. La sortie du codeur 5 fournit à chaque coup d'horloge un code comprenant un bit de données D, associé à deux bits de redondance, Yl et Y2. Les codes D, Yl et Y2 sont envoyés par l'intermédiaire d'un canal de transmission (antenne, câble, etc), après modulation adéquate, en général QAM ("Quadrature Amplitude Modulation") ou PSK ("Multiple Phase Shift Keying") .
En raison de l'existence du brasseur, les bits de redondance Y2 sont élaborés avec des bits qui peuvent être très éloignés temporellement des bits de données fournis simultanément avec les bits Y2 par le codeur 5. Le codeur 5 peut être considéré comme un codeur équivalent à un codeur convolutif simple dont le nombre d'états, c'est-à-dire le nombre de bascules en série, est sensiblement équivalent à la longueur du brasseur. Le décodage de codes obtenus à l'aide du codeur 5 est relativement simple, sa complexité restant limitée à la complexité de décodage des codes obtenus par les circuits C^ et C2.
La figure 3 représente un décodeur 8 pour décoder des codes transmis par le codeur 5 de la figure 2. Le décodeur 8 reçoit un signal formé de bits D' , Y' 1 et Y' 2, correspondant respectivement aux bits de données D, et aux bits de redondance Yl et Y2 qui ont été transmis. Le décodeur 8 comprend un circuit de décodage 10, DEC1. Le circuit DEC1 reçoit, à chaque coup d'horloge, un bit D' et un bit correspondant Y'1. Le circuit DEC1 a une structure simple, correspondant sensiblement à la structure d'un décodeur assurant le décodage de codes codés à l'aide du circuit Cl uniquement. Le circuit DECl fournit, à chaque coup d'horloge, un nombre lié à la probabilité de la valeur du bit de données D. En sortie du circuit DECl, on obtient une estimation des bits D où certaines erreurs sont corrigées.
La sortie du circuit DECl est fournie à un brasseur 12, de même structure que le brasseur 6 de la figure 2. Le brasseur 12 agit sur des blocs de données de même longueur que le brasseur 6 et fournit des bits brassés de la même façon que dans le brasseur 6. La sortie du brasseur 12 est fournie à un circuit de décodage 14, DEC2. Le circuit DEC2 reçoit aussi le second bit de redondance, Y'2, reçu en même temps que le bit D' présent à l'entrée du décodeur 8. Le circuit DEC2 a sensiblement la même structure que le circuit DECl et il fournit une estimation plus précise des bits D, dans laquelle davantage d'erreurs ont été corrigées.
Le circuit DEC2 attaque un circuit de débrassage 16, qui remet dans l'ordre d'arrivée les bits brassés par le brasseur 12. La sortie du débrasseur 16 est ramenée en entrée du circuit DECl par une liaison 18. La liaison 18 permet au circuit DECl de prendre en compte la sortie du circuit DEC2. Le décodeur 8 est un décodeur itératif. Après quelques itérations, on considère que la plupart des erreurs sont corrigées et les données sont obtenues avant ou après le circuit DECl.
Pour réaliser un décodage convenable, il faut que le brasseur 12 soit synchronisé avec le brasseur 6 du codeur. En effet, le brassage du brasseur 12 doit porter sur des bits appartenant aux mêmes blocs de brassage que le brasseur 6. Le débrasseur 16 est synchronisé avec le brasseur 12.
Pour assurer la synchronisation du brasseur 12 avec le brasseur 6, il est connu d'insérer une séquence de bits de synchronisation à intervalles réguliers dans le flot des bits transmis par le codeur. Comme les bits de synchronisation peuvent avoir été entachés d'erreurs lors de la transmission, on ne cherche pas à les déterminer immédiatement après réception avant décodage du reste des bits, car cela pourrait conduire à mal synchroniser le brasseur 12.
Par conséquent, on décode l'ensemble des bits reçus dans le décodeur 8. On fait l'hypothèse qu'un bit reçu quelconque correspond à la première position d'un bloc de brassage, et on décode les bits reçus. On détermine une probabilité de vraisemblance de l'hypothèse faite. On réalise d'autres essais à l'aide des bits suivants jusqu'à ce que L+r bits, si le brasseur a une longueur L et r est le nombre de bits de synchronisation par bloc, ont été considérés comme pouvant correspondre à la première position d'un bloc de brassage. On définit le début de la période de brassage à l'aide de l'essai qui a permis d'obtenir la probabilité la plus élevée. Cela représente L+r essais. Comme L est grand, le temps mis par le décodeur pour se synchroniser peut devenir prohibitif.
Une autre difficulté du décodage est que, en pratique, tous les bits de redondance ne sont pas transmis.
La figure 4 illustre les bits transmis d'un codeur dit 2/3. Le rapport 2/3 est appelé taux de transmission. Un codeur
2/3 est un codeur qui transmet deux bits de données pour trois bits transmis.
En figure 4, quatre bits de données successifs Di (DQ à D3) sont illustrés, ainsi que les bits de redondance Yli et Y2i (i allant de 0 à 3) obtenus en même temps que chaque bit de données Di. Les bits entourés sont les bits transmis. Les bits transmis forment la séquence DQ, D]_, Ylχ, D2, D3 et Y23. Cette séquence définit une séquence dite "de perforation" et se répète tous les 4 bits de données. Les bits de données sont en général toujours transmis.
La technique pour choisir les données de redondance à transmettre s'appelle la perforation ("puncture" en anglais) . La perforation est réalisée à l'aide d'un masque de perforation, par exemple une table, qui élimine les bits qui ne doivent pas être transmis. Au décodage, on doit, dans le flot des bits reçus, déterminer quels bits sont les bits de données et, parmi les bits de redondance, quels sont les bits de type Yl et ceux de type Y2. En d'autres termes, il faut reconnaître la phase de perforation, c'est-à-dire le bit correspondant au début d'une séquence de perforation. Au décodage, le décodeur doit se synchroniser sur la phase de perforation. Cela est réalisé en essayant tous les cas possibles, et en choisissant le meilleur.
En outre, au codage, le taux de transmission peut être choisi entre plusieurs taux possibles, par exemple 1/2, 2/3, 3/4, 5/6, 5/8 ou 8/9. Le décodeur 8 sait que le taux de transmission utilisé est un des taux possibles, mais il ignore de quel taux il s ' agit . Le décodeur de 1 ' art antérieur essaye tous les cas possibles afin de retrouver le taux de transmission utilisé. Les recherches à faire sont longues. Par exemple, avec un brasseur agissant sur des blocs de 2048 bits et trois taux possibles de redondance respectivement égaux à 2/3, 5/6 et 8/9, 180000 essais de plusieurs milliers de bits chacun doivent être réalisés. Les essais à faire peuvent devenir si nombreux que le traitement en temps réel de l'information peut devenir impossible.
De plus, si une modulation QAM ou MPSK a été utilisée en transmission, le nombre d'essais effectués au décodage doit être multiplié par deux en QAM et par M en MPSK. En effet, au décodage, la phase 0 de la porteuse n'est connue cru'à π/2 près en QAM et à 2π/M près en MPSK, et le décodeur doit lever cette ambiguïté en essayant tous les cas possibles pour la phase.
Un objet de la présente invention est de prévoir un codeur et un procédé de codage à turbocodes permettant de synchroniser facilement le décodeur sur le brasseur du codeur. Un autre objet de la présente invention est de prévoir un codeur et un procédé de codage à turbocodes permettant de synchroniser facilement le décodeur sur la phase de perforation du codeur.
Pour atteindre ces objets, la présente invention pré- voit un dispositif de transmission de données comprenant un codeur à turbocodes comportant un brasseur agissant sur des blocs de brassage, et un moyen pour élaborer des symboles à partir de codes fournis par le codeur à turbocodes. Le dispositif comprend un moyen pour insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position prédéterminée par rapport aux symboles élaborés à l'aide de codes associés à un même bloc de brassage.
Selon un mode de réalisation de la présente invention, le dispositif comprend un moyen de perforation recevant les codes fournis par le codeur à turbocodes et fournissant au moyen d'élaboration de symboles une partie seulement des codes fournis par ledit codeur.
Selon un mode de réalisation de la présente invention, le moyen de perforation est réinitialisé lorsqu'il reçoit des codes associés à un nouveau bloc de brassage.
Selon un mode de réalisation de la présente invention, les symboles sont utilisés pour moduler en phase et/ou en amplitude une porteuse à fréquence fixe. La présente invention prévoit aussi un procédé pour transmettre des données comprenant les étapes suivantes : a) coder les données à transmettre par un codeur à turbocodes comportant un brasseur agissant sur des blocs de brassage ; b) élaborer des symboles à partir de codes fournis par le codeur à turbocodes ; c) insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position déterminée par rapport aux symboles élaborés à l'aide de codes associés à un même bloc de brassage ; et d) transmettre les symboles obtenus après l'étape c) d'insertion de séquence de synchronisation.
Selon un mode de réalisation de la présente invention, le procédé comprend, entre l'étape a) de codage et l'étape b) d'élaboration de symboles, une étape de perforation consistant à sélectionner une partie seulement des codes fournis par ledit codeur par un moyen de perforation.
Selon un mode de réalisation de la présente invention, le procédé comprend une étape de réinitialisation du moyen de perforation lorsque le moyen de perforation reçoit des codes associés à un nouveau bloc de brassage.
L'invention prévoit aussi un procédé pour décoder des données transmises par un dispositif ou un procédé ci-dessus, comprenant les étapes suivantes : a) pour chaque groupe de n symboles reçus, n correspondant au nombre de symboles d'une séquence de synchronisation, calculer une quantité représentative de la probabilité de présence d'une séquence de synchronisation ; b) si ladite quantité dépasse un seuil déterminé, incrêmenter un compteur-décompteur initialement mis à zéro ; c) après une durée correspondant à une période possible de la séquence de synchronisation, calculer à nouveau une quantité représentative de la probabilité de présence d'une séquence de synchronisation et incrêmenter le compteur- décompteur si une séquence de synchronisation est à nouveau détectée ; sinon, décrémenter le compteur-décompteur ; d) lorsque le compteur-décompteur atteint son maximum, déclarer que l'état synchronisé est atteint ; et e) si le compteur-décompteur atteint son minimum, remettre le compteur-décompteur à zéro et attendre une autre détection de synchronisation.
Selon un mode de réalisation de la présente invention, après une durée déterminée sans atteindre l'état synchronisé, on réalise l'étape d'essayer une autre période possible de la séquence de synchronisation.
Selon un mode de réalisation de la présente invention, lorsque l'état synchronisé a été atteint, on réalise l'étape consistant à décoder les symboles.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 illustre un codeur classique de type convolutif ; la figure 2 illustre un codeur classique à turbocodes ; la figure 3 illustre un décodeur classique correspondant au codeur de la figure 2 ; la figure 4 illustre une séquence de perforation avec un taux de transmission de 2/3 ; la figure 5 représente un codeur selon la présente invention ; la figure 6 représente une séquence de perforation avec un taux de transmission de 8/9 ; la figure 7 illustre une modulation 8PSK ; et la figure 8 représente un décodeur selon la présente inventio .
En figure 5, des bits de données D, correspondant aux données à transmettre, sont fournis sous forme série à l'entrée d'un codeur 20. Le codeur 20 comprend un circuit de codage à turbocodes 22 ("turbocoder") . Le circuit 22 fournit, à chaque coup d'une horloge non représentée, un bit de données D, un premier bit de redondance Yl et un second bit de redondance Y2. Le circuit 22 peut être identique au codeur 5 de la figure 2 ou à un codeur à turbocodes de tout type connu fournissant des bits de données, et deux bits de redondance ou plus.
Les bits D, Yl et Y2 attaquent un circuit de perforation 24. Le circuit 24 détermine, en fonction du taux de transmission souhaité, les données de redondance à conserver en vue de la transmission. Pour ce faire, le circuit 24 utilise un masque de perforation. Une séquence de perforation peut être définie par le nombre de bits de données traités en une fois par le masque de perforation. Le circuit 24 est adaptable à divers taux de transmission et, par suite, les séquences de perforation peuvent comporter des nombres de bits différents. Le circuit 24 de la présente invention est réinitialisé au début de chaque bloc de brassage. Par exemple, lorsque le premier bit Y2 d'un nouveau bloc de brassage est fourni par le circuit 22 au circuit 24, on fait en sorte que le circuit 24 initie une séquence de perforation. Cette réinitialisation est symbolisée par la ligne pointillée 25, reliant le circuit 22 au circuit 24.
La sortie du circuit 24 fournit une suite de bits, comprenant les bits de données D et les bits de redondance Yl et Y2 retenus. La sortie du circuit 24 attaque un circuit 26 d'élaboration de symboles. Le circuit 26 utilise les bits qui lui sont fournis pour former des symboles qu'il transmet à sa sortie. Un symbole est une information analogique, par exemple un nombre complexe, correspondant à un nombre prédéterminé de bits successifs de la suite de bits fournie par le circuit 24. Les symboles peuvent représenter une information de phase dans une modulation de type MPSK, ou une information de phase et d'amplitude dans une modulation de type QAM.
La figure 6 illustre le cas où les symboles formés correspondent à trois bits consécutifs et où le taux de transmission est 8/9.
En figure 6, 16 bits Di (DQ à D15) constituent les bits de données correspondant à une séquence de perforation. Sous chaque bit Di, sont représentés les bits de redondance Yli et Y2i fournis par le circuit de codage 22. Comme il y a huit bits de données pour neuf bits transmis, et que par ailleurs il y a deux types différents de bits de redondance à transmettre (Yl et Y2) , la séquence de perforation comporte 16 bits de données. Les bits de redondance sélectionnés sont le bit Y27 après le bit D7 et le bit YI14, après le bit D14. Le circuit 26 va fournir, pour chaque séquence de perforation, un premier symbole S0 correspondant aux bits de données DQ à D2. Les symboles suivants, SI à S5 correspondent respectivement à D3 à D5 ; D6, D7, Y27 ; D8 à D10 ; Du à D13 ; D14, Yl14, D15. En figure 6, les bits à transmettre sont entourés d'un cercle et les bits utilisés pour former un symbole sont entourés d'un cadre noir.
Le nombre de bits utilisés pour former un symbole est fonction du mode de transmission souhaité. Par exemple, des symboles formés de trois bits sont particulièrement adaptés à une modulation 8PSK, illustrée en figure 7.
La figure 7 illustre une constellation de huit symboles dans un plan complexe x'Ox, y'Oy. A chaque symbole, pour la transmission, on fait correspondre une phase particulière de la porteuse. La demi-droite Ox correspond à la phase 0 de la porteuse. Un symbole S peut être représenté par un nombre complexe X+Yj , ou par sa phase φ par rapport à la demi- droite Ox. La phase de la porteuse modulée est, pour le symbole S représenté (001) , φ=3π/8. Dans une modulation QAM (non représentée) , la porteuse est modulée en phase et en amplitude ; chaque symbole peut alors être associé à un nombre complexe de module spécifique.
En figure 5, les symboles élaborés par le circuit 26 sont fournis à un circuit 28 d'insertion de symboles de synchro- nisation. Le circuit 28 insère une séquence de synchronisation dans le train de symboles issus du circuit 26. La séquence de synchronisation peut comporter un nombre quelconque de symboles, quatre par exemple, ou même un seul symbole. Les symboles de la séquence de synchronisation sont des symboles qui peuvent figurer par ailleurs dans le train de symboles issus du circuit 26.
L'insertion des symboles de la séquence de synchronisation est réalisée à un emplacement prédéterminé dans le train de symboles issu du circuit 26. Cet emplacement est choisi de la manière suivante. Parmi les bits D, Yj_, Y2 fournis par le circuit 22, on considère d'abord les bits qui sont associés à un même bloc de brassage. Ces bits correspondent aux bits de données D d'un bloc de brassage et aux bits de redondance Y]_, Y2 fournis par le circuit 22 en même temps que les bits D du bloc de brassage considéré. Ensuite, on considère les symboles élaborés à 1 'aide de ces bits associés à un même bloc de brassage, et on insère les symboles de la séquence de synchronisation à un emplacement prédéterminé parmi ces symboles, par exemple après le troisième symbole de l'ensemble de symboles ainsi défini. On répète l'opération pour chacun des blocs de brassage suivants.
L'emplacement prédéterminé d'insertion de la séquence de synchronisation est quelconque parmi les symboles élaborés à l'aide de bits associés à un même bloc de brassage. Ainsi, la séquence de synchronisation peut être insérée entre des symboles élaborés à partir de bits associés à des blocs de brassage différents. Dans ce cas, le repérage de la séquence de synchronisation à la réception fournit directement une indication du début des blocs de brassage. Des liaisons en traits pointillés 27, 27' reliant respectivement les circuits 22 et 24 au circuit 28 symbolisent les relations permettant 1 ' insertion de la séquence de synchronisation à 1 'emplacement prédéterminé. En outre, si le circuit 26 est adaptable par exemple à plusieurs types de modulation et peut élaborer des symboles correspondant à des nombres différents de bits, le circuit 28 peut recevoir du circuit 26 une information indiquant le nombre de bits utilisés pour former un symbole.
On notera que, dans le codeur selon la présente invention, les symboles de synchronisation n'occupent pas toujours la même position temporelle dans le train de symboles transmis, les symboles de synchronisation n'étant pas toujours séparés par un même nombre de symboles. En effet, le nombre de symboles séparant deux séquences de synchronisation successives dépend au moins du taux de transmission utilisé, inconnu du décodeur. Ainsi, lors d'une transmission donnée, la séquence de synchronisation présente une période spécifique, c'est-à-dire qu'elle intervient à intervalles réguliers, mais cette période fait partie d'un ensemble de périodes possibles et est inconnue du décodeur, qui ne connaît que l'ensemble des périodes possibles . La sortie du circuit 28 attaque un circuit modulateur 30, par l'intermédiaire d'éventuels filtres non représentés, comme des filtres de lissage, destinés à supprimer d'éventuelles fréquences indésirables. La modulation effectuée par le modu- lateur 30 est par exemple une modulation de type QAM ou MPSK, M étant égal à 4, 8, 16 ou 32. Si le modulateur 30 est par exemple de type 16QAM ou 16PSK, les symboles correspondront à quatre bits. S'il s'agit d'un modulateur 8PSK, les symboles seront des symboles correspondant à trois bits, comme cela a été vu en relation avec la figure 7. La sortie du modulateur 30 pilote un canal de transmission, pouvant être par exemple un câble ou une liaison hertzienne.
La figure 8 illustre un décodeur 40 selon la présente invention. Les signaux reçus par le décodeur 40 correspondent aux signaux émis par le codeur 20 et sont, le cas échéant, entachés d'erreurs.
Les signaux reçus attaquent un démodulateur 42
("DEMOD"), dans lequel ils sont démodulés pour fournir une suite de symboles. Les symboles fournis par le démodulateur 42 sont fournis à un circuit 44 de détection des symboles de synchronisation.
Le circuit 44 a pour fonction de déterminer les symboles de synchronisation parmi les symboles qui lui sont fournis. Le circuit 44 opère de la façon suivante. Si la séquence de synchronisation comporte n symboles
(n est connu du décodeur) , pour chaque groupe de n symboles reçus, on calcule une quantité représentative de la probabilité de présence de la séquence de synchronisation. Par exemple, on peut calculer la somme des carrés des distances entre les sym- boles reçus et les symboles de synchronisation. On peut aussi calculer la somme des valeurs absolues de ces distances.
Si la quantité calculée dépasse un certain seuil déterminé, on fait l'hypothèse que l'on est en présence de la séquence de synchronisation et un compteur/dëcompteur non représenté, présent dans le circuit 44, est incrémenté. La sortie du compteur/décompteur peut varier entre une valeur minimum négative ou nulle et une valeur maximum positive. Le compteur/décompteur est initialement mis à zéro. Après une période possible de la séquence de synchronisation, si une synchronisation est à nouveau détectée, on incrémente le compteur/décompteur. Sinon on le décrémente.
Lorsque la sortie du compteur/décompteur atteint sa valeur maximale, on déclare que l'état synchronisé est atteint. On retire alors les symboles de synchronisation et les symboles restants (correspondants aux bits de données et de redondance) sont fournis à un circuit de décodage 46.
Si la sortie du compteur/dëcompteur atteint sa valeur minimale, on remet le compteur/décompteur à zéro et on attend une autre détection de synchronisation. Après un certain temps sans atteindre l'état synchronisé, on essaye une autre période possible pour la séquence de synchronisation. Si, après épuisement des possibilités, il n'y a toujours pas eu synchronisation, on en déduit qu'il n'y a pas de données transmises dans les signaux reçus. En général cependant, des données sont transmises et le circuit de décodage 46 reçoit une suite de symboles à décoder.
On notera que le décodeur 40 lève l'ambiguïté qui existe sur la phase 0 de la porteuse en essayant tous les cas possibles pour la phase (huit en modulation 8PSK) . Comme le nombre total d'essais à faire est très réduit dans la présente invention par rapport à l'art antérieur, on pourra aisément réaliser en parallèle les essais destinés à lever l'ambiguïté de phase, afin de parvenir plus rapidement à l'état synchronisé.
Le circuit 46 transforme d'abord les symboles qu'il reçoit en une suite de bits. Dans cette suite de bits, le bit correspondant au début d'un bloc de brassage est connu, du fait de la relation de position prédéterminée entre les symboles de synchronisation et ceux issus d'un même bloc de brassage. Le circuit 44 transmet au circuit 46 une information sur la position du bit correspondant au début de chaque bloc de brassage, ce qui est symbolisé sur la figure par la ligne pointillée 45.
Comme les bits associés à un bloc de brassage sont parfaitement connus, et que par ailleurs la séquence de perforation a été réinitialisée au début du bloc de brassage, le circuit 46 décode sans difficulté les symboles fournis. Le circuit 46 fournit, en sortie du décodeur 40 des bits de données D présentant peu d'erreurs.
Le décodeur 40 présente plusieurs avantages. En effet, dans la présente invention, il n'est pas nécessaire d'attendre le décodage complet des données pour déterminer la synchronisation. Comme le décodeur 46 n'est pas dans la boucle de recherche de synchronisation, les essais à faire sont beaucoup moins nombreux et prennent moins de temps. Dans la pré- sente invention, il n'est pas nécessaire de rechercher le début des séquences de perforation, puisque ceux-ci sont liés aux blocs de brassage. Aussi, la synchronisation peut se faire dans des conditions où le codeur à turbocodes n'a pas de gain, c'est-à- dire où il produit plus d'erreurs qu'il n'en corrige. Dans un exemple pratique, le brasseur agit sur des blocs de 2048 bits ; le taux de transmission R est un des taux R = 2/3, 5/6 ou 8/9 ; la séquence de synchronisation comprend quatre symboles de synchronisation. Alors, le nombre de bits séparant deux séquences de synchronisation est 2048/ (3xR), pour une modulation 8PSK où les symboles correspondent à trois bits. Dans ce cas, le décodeur de la présente invention se synchronise en moins de 10 millisecondes pour un débit de données égal à 20 mégabauds, alors que, à débit de données égal, il faut plusieurs secondes, soit une durée plusieurs centaines de fois supérieure, au décodeur de l'art antérieur pour se synchroniser.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, lorsque le circuit de codage 22 est un codeur d'un type fournissant plus de deux bits de redondance pour chaque bit de données, le circuit 24 sera adapté sans peine par l'homme du métier pour fournir des symboles à l'aide des bits qui lui sont fournis.
Aussi, les circuits 24 et 26 d'élaboration et d'insertion de symboles de synchronisation pourront être réalisés sous la forme d'un seul- circuit réalisant ces deux fonctions. Aussi, le circuit 46 pourra être scindé en plusieurs circuits réalisant chacun une fonction distincte du circuit 46.
Aussi, dans ce qui précède, une séquence de synchronisation est introduite entre les symboles correspondant aux bits d'un même bloc de brassage. Bien entendu, la séquence de synchronisation peut être introduite après un nombre prédéterminé quelconque de symboles correspondant aux bits d'un même bloc de brassage, ce nombre prédéterminé étant connu du décodeur. Aussi, plusieurs séquences de synchronisation peuvent être introduites entre les symboles correspondant aux bits d'un même bloc de brassage. Aussi, deux séquences de synchronisation successives pourront être séparées par un nombre de symboles correspondant aux bits de deux blocs de brassage ou plus.

Claims

REVENDICATIONS
1. Dispositif de transmission de données comprenant un codeur à turbocodes (22) comportant un brasseur agissant sur des blocs de brassage, et un moyen (26) pour élaborer des symboles à partir de codes (D, Yl, Y2) fournis par le codeur à turbocodes, caractérisé en ce que le dispositif comprend un moyen (28) pour insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position prédéterminée par rapport aux symboles élaborés à l'aide de codes associés à un même bloc de brassage.
2. Dispositif selon la revendication 1, comprenant un moyen de perforation (24) recevant les codes fournis par le codeur à turbocodes (22) et fournissant au moyen (26) d'élaboration de symboles une partie seulement des codes fournis par ledit codeur (22) .
3. Dispositif selon la revendication 2, dans lequel le moyen de perforation (24) est réinitialisé lorsqu'il reçoit des codes associés à un nouveau bloc de brassage.
4. Dispositif selon l'une des revendications précédentes, dans lequel les symboles sont utilisés pour moduler en phase et/ou en amplitude une porteuse à fréquence fixe (MPSK,
QAM) .
5. Procédé pour transmettre des données comprenant les étapes suivantes : a) coder les données à transmettre par un codeur à turbocodes (22) comportant un brasseur agissant sur des blocs de brassage ; b) élaborer des symboles à partir de codes fournis par le codeur à turbocodes ; c) insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position déterminée par rapport aux symboles élaborés à 1 ' aide de codes associés à un même bloc de brassage ; et d) transmettre les symboles obtenus après l'étape c) d'insertion de séquence de synchronisation.
6. Procédé selon la revendication 5, comprenant, entre l'étape a) de codage et l'étape b) d'élaboration de symboles, une étape de perforation consistant à sélectionner une partie seulement des codes fournis par ledit codeur (22) par un moyen de perforation (24) .
7. Procédé selon la revendication 6, comprenant une étape de réinitialisation du moyen de perforation (24) lorsque le moyen de perforation (24) reçoit des codes associés à un nouveau bloc de brassage.
8. Procédé pour décoder des données transmises par un dispositif selon une des revendications 1 à 4 ou un procédé selon une des revendications 5 à 7, comprenant les étapes suivantes : a) pour chaque groupe de n symboles reçus, n corres- pondant au nombre de symboles d'une séquence de synchronisation, calculer une quantité représentative de la probabilité de présence d'une séquence de synchronisation ; b) si ladite quantité dépasse un seuil déterminé, incrêmenter un compteur-décompteur initialement mis à zéro ; c) après une durée correspondant à une période possible de la séquence de synchronisation, calculer à nouveau une quantité représentative de la probabilité de présence d'une séquence de synchronisation et incrêmenter le compteur- décompteur si une séquence de synchronisation est à nouveau détectée ; sinon, décrémenter le compteur-décompteur ; d) lorsque le compteur-décompteur atteint son maximum, déclarer que 1 ' état synchronisé est atteint ; et e) si le compteur-décompteur atteint son minimum, remettre le compteur-décompteur à zéro et attendre une autre détection de synchronisation.
9. Procédé selon la revendication 8, dans lequel, après une durée déterminée sans atteindre l'état synchronisé, on réalise l'étape d'essayer une autre période possible de la séquence de synchronisation.
10. Procédé selon l'une des revendications 8 ou 9, dans lequel, lorsque l'état synchronisé a été atteint, on réalise l'étape consistant à décoder les symboles.
EP01997895A 2000-11-22 2001-11-21 Codeur a turbocodes a synchronisation facilitee Withdrawn EP1346481A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0015078A FR2817091B1 (fr) 2000-11-22 2000-11-22 Codeur a turbocodes a synchronisation facilitee
FR0015078 2000-11-22
PCT/FR2001/003660 WO2002043251A1 (fr) 2000-11-22 2001-11-21 Codeur a turbocodes a synchronisation facilitee

Publications (1)

Publication Number Publication Date
EP1346481A1 true EP1346481A1 (fr) 2003-09-24

Family

ID=8856757

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01997895A Withdrawn EP1346481A1 (fr) 2000-11-22 2001-11-21 Codeur a turbocodes a synchronisation facilitee

Country Status (5)

Country Link
US (1) US7212590B2 (fr)
EP (1) EP1346481A1 (fr)
JP (1) JP3960225B2 (fr)
FR (1) FR2817091B1 (fr)
WO (1) WO2002043251A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8000411B2 (en) * 2008-01-04 2011-08-16 Qualcomm Incorporated Decoding scheme using multiple hypotheses about transmitted messages

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5661764A (en) * 1993-04-27 1997-08-26 Nec Corporation Slot reception synchronization circuit
WO1997045980A1 (fr) * 1996-05-31 1997-12-04 Vtech Communications, Inc. Procede et dispositif pour la synchronisation des trames dans un train continu de donnees numeriques
FR2775854A1 (fr) * 1998-03-04 1999-09-10 Int Mobile Satellite Org Procede et dispositif de transmission et de reception de donnees, notamment dans un systeme mobile de telecommunications par satellite
EP0998069A2 (fr) * 1998-10-28 2000-05-03 Inmarsat Ltd. Procédé et dispositif de communication avec technique de modulation variable

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04290316A (ja) * 1991-03-19 1992-10-14 Fujitsu Ltd ビット誤り低減方式
JP2768621B2 (ja) * 1993-06-25 1998-06-25 沖電気工業株式会社 分散送信される畳み込み符号の復号装置
US5710783A (en) * 1995-06-07 1998-01-20 Luthi; Daniel A. Optimization of synchronization control in concatenated decoders
US5793818A (en) * 1995-06-07 1998-08-11 Discovision Associates Signal processing system
KR100265674B1 (ko) * 1995-06-07 2000-09-15 데니스 피셸 인코드된 데이타 스트림에 대한 에러 검출 및 정정시스템
US5742622A (en) * 1996-03-12 1998-04-21 Discovision Associates Error detection and correction system for a stream of encoded data
GB2316585A (en) * 1996-08-23 1998-02-25 Daewoo Electronics Co Ltd Synchronization method and apparatus in Viterbi decoder
FR2753025B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
US5953311A (en) * 1997-02-18 1999-09-14 Discovision Associates Timing synchronization in a receiver employing orthogonal frequency division multiplexing
FR2760302B1 (fr) * 1997-03-03 2000-08-04 Alsthom Cge Alcatel Procede et dispositif pour la transmission de trames de donnees
US6611493B1 (en) * 1998-01-27 2003-08-26 Hitachi Denshi Kabushiki Kaisha Communication, transmission and receiving method and apparatus using orthogonal frequency division multiplexing modulation system
JP2991694B1 (ja) * 1998-06-12 1999-12-20 日本放送協会 デジタル送信装置および受信装置
JP2000068863A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 符号化装置及びその方法
JP3807120B2 (ja) * 1998-09-30 2006-08-09 日本ビクター株式会社 直交周波数分割多重信号伝送方法、送信装置及び受信装置
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
US6493402B1 (en) * 1999-05-27 2002-12-10 Zenith Electronics Corporation Mode control for trellis decoder
US6473878B1 (en) * 1999-05-28 2002-10-29 Lucent Technologies Inc. Serial-concatenated turbo codes
EP1281241A2 (fr) 2000-04-04 2003-02-05 Advanced Hardware Architectures, Inc Systeme de turbo decodeur de code produit ameliore

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5661764A (en) * 1993-04-27 1997-08-26 Nec Corporation Slot reception synchronization circuit
WO1997045980A1 (fr) * 1996-05-31 1997-12-04 Vtech Communications, Inc. Procede et dispositif pour la synchronisation des trames dans un train continu de donnees numeriques
FR2775854A1 (fr) * 1998-03-04 1999-09-10 Int Mobile Satellite Org Procede et dispositif de transmission et de reception de donnees, notamment dans un systeme mobile de telecommunications par satellite
EP0998069A2 (fr) * 1998-10-28 2000-05-03 Inmarsat Ltd. Procédé et dispositif de communication avec technique de modulation variable

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SCHOLTZ R A: "FRAME SYNCHRONIZATION TECHNIQUES", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ. USA, vol. COM-28, no. 8, PART 01, 1 August 1980 (1980-08-01), pages 1204 - 1213, XP000943443, ISSN: 0090-6778, DOI: 10.1109/TCOM.1980.1094813 *
See also references of WO0243251A1 *

Also Published As

Publication number Publication date
JP2004515102A (ja) 2004-05-20
US20030071720A1 (en) 2003-04-17
FR2817091B1 (fr) 2003-03-21
JP3960225B2 (ja) 2007-08-15
US7212590B2 (en) 2007-05-01
WO2002043251A1 (fr) 2002-05-30
FR2817091A1 (fr) 2002-05-24

Similar Documents

Publication Publication Date Title
EP0481549B1 (fr) Système et procédé de codage/décodage de signaux numériques transmis en modulation codée
EP0996232A2 (fr) Procédé et dispositif d'entrelacement d'une séquence d'éléments de données
FR2765426A1 (fr) Systeme de transmission de donnees, recepteur et support d'enregistrement
FR2770056A1 (fr) Demodulateur, circuit de recuperation de signal d'horloge, procede de demodulation et procede de recuperation de signal d'horloge
CA2142769C (fr) Systeme de codage convolutionnel et de decodage de viterbi transparent aux sauts de phase de .pi. et .pi./2 applicable notamment aux transmissions amrt
EP2415193B1 (fr) Procédé et dispositif de modulation mettant en oeuvre une modulation différentielle, procédé et dispositif de démodulation, signal et produits programme d'ordinateur correspondants
CA2169526A1 (fr) Disposition d'initialisation d'un decodeur de viterbi compris dans un recepteur de signaux transmis sous forme de paquets, recepteur et procede d'initialisation correspondants
EP0109658B1 (fr) Equipement de transmission synchrone de données
WO2002043251A1 (fr) Codeur a turbocodes a synchronisation facilitee
FR2892245A1 (fr) Procede de reception de trames d'un flux numerique
EP0196979A1 (fr) Procédé et dispositif d'insertion d'un signal numérique sur une voie à débit plus élevé
EP1720263B1 (fr) Dispositif de réception avec mécanisme de récupération de données, adapté à un système de transmission utilisant un étalement de spectre à séquence directe
EP0648037B1 (fr) Asservissement de phase, en bande de base
EP1897264A2 (fr) Procede et dispositif de synchronisation trame
EP0982866A1 (fr) Procédé de codage convolutif et de transmission par paquets d'un flux série de données numériques, procédé et dispositif de décodage correspondants
WO2006032768A1 (fr) Procede d'estimation de la phase et du gain de donnees d'observation transmises sur un canal de transmission en modulation qam
FR2859329A1 (fr) Procede et dispositif de traitement du decalage frequentiel de la frequence porteuse d'un signal module avec une modulation monoporteuse continue en quadrature
FR2777144A1 (fr) Dispositif et procede de transmission d'information et dispositif et procede de reception d'information
EP1739825A1 (fr) Procédé de correction automatique de l'inversion spectrale dans un démodulateur et dispositif pour mettre en oeuvre le procédé
EP1826973A1 (fr) Procédé et dispositif d'estimation de la fonction de transfert du canal de transmission pour démodulateur COFDM
CA2279107A1 (fr) Estimation du decalage en frequence pour la demodulation d'un paquet de symbole modules en phase
EP0383711B1 (fr) Modem à mode de repli sécurisé, notamment pour le réseau téléphonique commuté
FR2770703A1 (fr) Dispositif et procede de codage de symboles, dispositif et procede de decodage de symboles
FR2649271A1 (fr) Procede pour la transmission de donnees a sauts de frequence sur canal radio a faible taux d'ouverture et dispositif de reception correspondant
EP1333587A1 (fr) Module ACS dans un décodeur

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030619

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 20080708

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20120823