WO2010112606A2 - 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 - Google Patents

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 Download PDF

Info

Publication number
WO2010112606A2
WO2010112606A2 PCT/EP2010/054467 EP2010054467W WO2010112606A2 WO 2010112606 A2 WO2010112606 A2 WO 2010112606A2 EP 2010054467 W EP2010054467 W EP 2010054467W WO 2010112606 A2 WO2010112606 A2 WO 2010112606A2
Authority
WO
WIPO (PCT)
Prior art keywords
delivering
sequence
code
words
group
Prior art date
Application number
PCT/EP2010/054467
Other languages
English (en)
Other versions
WO2010112606A3 (fr
Inventor
Sami Mumtaz
Ghaya Rekaya-Ben Othman
Yves JAOUËN
Original Assignee
Institut Telecom / Telecom Paristech
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 Institut Telecom / Telecom Paristech filed Critical Institut Telecom / Telecom Paristech
Priority to US13/262,751 priority Critical patent/US8856608B2/en
Priority to JP2012502704A priority patent/JP5651679B2/ja
Priority to CN201080018829.4A priority patent/CN102428667B/zh
Priority to EP10712446.3A priority patent/EP2415193B1/fr
Priority to KR1020117026233A priority patent/KR101694789B1/ko
Publication of WO2010112606A2 publication Critical patent/WO2010112606A2/fr
Publication of WO2010112606A3 publication Critical patent/WO2010112606A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • 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
    • 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/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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/0057Block codes

Definitions

  • Method and modulation device implementing a differential modulation, method and demodulation device, signal and corresponding computer program products.
  • the field of the invention is that of digital communications.
  • the invention relates to the transmission of data implementing a modulation format of the differential modulation type.
  • a differential modulation makes it possible to transform a binary sequence into a modulated signal.
  • the input bit sequence of the modulation step corresponds to the transitions between the states of the constellation of the modulation used to generate the modulated symbols.
  • a differential modulation can thus be seen as a differential encoding of a binary sequence, delivering another binary sequence, followed by a conventional modulation.
  • the invention finds applications in any transmission system using differential modulation.
  • the invention finds applications in the field of optical communications:
  • DBPSK Different Binary Phase Shift Keying
  • DQPSK Different Quadrature Phase Shift Keying
  • phase modulation has many advantages, from the point of view of spectral efficiency and transmission quality (through the reduction of nonlinear effects related to intensity modulation in particular).
  • the DBPSK modulation format is particularly advantageous for non-coherent transmissions.
  • direct detection the phase of the transmitted signal is lost on reception, but it is possible to find it by measuring the phase difference between two successive symbols, thanks to an optical demodulation performed by an interferometer of MZDI type (in English "Mach - Zender Delay Interferometer ”) for example.
  • MZDI type in English "Mach - Zender Delay Interferometer ”
  • the differential encoding of the data to be transmitted is necessary in order to be able to use direct detection phase modulation.
  • the QPSK and PDM-QPSK modulation formats are particularly interesting for consistent transmissions with a bit rate greater than or equal to 40Gb / s. Thanks to the use of a coherent receiver, the phase of the transmitted signal becomes directly accessible. It is therefore possible to use modulation formats with high spectral efficiency. However, phase noise remains a major problem, which phase recovery algorithms (Viterbi type) can not fully handle. The differential encoding of the data to be transmitted is also necessary here.
  • the conventional encoding as illustrated in FIG. 1A makes it possible to associate an information symbol comprising two bits with a modulated symbol corresponding to a state ⁇ . / of the constellation.
  • the differential encoding as illustrated in FIG. 1B makes it possible to code the data to be transmitted by the transition between the states of the constellation used.
  • an information symbol corresponds to the two bits that encode the phase change between two states ⁇ z - of the constellation, that is to say between two modulated symbols.
  • the sequence of information symbols '10''11''00' is transformed into modulated symbols corresponding to the states cq, 0: 4, aj, CXj - Si, after passing through the transmission channel, the modulated symbols received correspond to the states
  • Differential encoding therefore leads to higher error rates than conventional encoding, since a transmission error corrupts two consecutive information symbols.
  • the invention proposes a novel solution that does not have all of these disadvantages of the prior art, in the form of a method for modulating a source binary sequence formed of a plurality of source words, delivering symbols. modulated. According to the invention, such a method implements the following steps:
  • Each codeword is decomposed into at least one group having a number of bits equal to the logarithm in base two of the number of states of the modulation implemented during the differential modulation step.
  • the interleaving step distributes the groups in the interleaved sequence, so that two adjacent groups in the interleaved sequence belong to separate codewords.
  • the invention thus proposes a new transmission technique making it possible to reconstruct the transmitted data more reliably, by combining the use of error-correcting coding and differential encoding techniques.
  • the invention is based on a group decomposition of the code words resulting from the error correction coding step and on a particular interleaving of these codewords, delivering an interleaved sequence in which two consecutive groups of bits belong to separate codewords. Note that it is possible to interleave any number of code words according to the invention (two, three, four or more), as long as two adjacent groups in the interleaved sequence do not belong to the same word of code.
  • each of the groups of the interleaved sequence is representative of a transition between two modulated symbols.
  • the size of these groups depends on the modulation implemented. For example, for a BPSK modulation, the number of bits per group is 1; for QPSK modulation, the number of bits per group is equal to 2; for an 8PSK modulation, the number of bits not group is equal to 3, etc.
  • Two adjacent groups thus correspond to two consecutive transitions, corresponding, for example, to consecutive phase jumps between three symbols modulated for phase modulation.
  • the error correction coding step implements at least two distinct error correction codes, each delivering distinct codewords.
  • the coding step implements several coding modules each implementing a separate error correction code.
  • the interleaving step intertwines the groups until all the groups of the code word having the most short length. The remaining groups are then "copied" into the interlaced sequence.
  • two adjacent groups in the modulated sequence belong to separate codewords until all the groups of the shortest code word have been used. Then, it is possible that neighboring groups in the interleaved sequence belong to the same code word.
  • the interleaving step interleaves three code words of distinct length, these three codewords are interleaved until all the groups of the shortest code word (among these three code words) have been distributed, then the two Remaining code words until all the groups of the shortest code word have been distributed among these two remaining codewords. In this way, only the last groups of the longest codeword can possibly be neighbors in the interleaved sequence.
  • the codewords comprising information bits and redundancy bits, each codeword is decomposed into at least one group of information bits and at least one group of redundancy bits.
  • the interleaving step then distributes the groups of information bits in the interleaved sequence, so that two groups of adjacent information bits in the sequence interlaced belong to separate codewords.
  • the interleaving ensures that groups of neighboring information bits do not belong to the same codeword, whereas groups of neighboring redundancy (or parity) bits can belong to the same code word. code word.
  • This variant is particularly advantageous when the code words obtained by the different coding modules have a different size (length).
  • the invention also relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor comprising program code instructions for implementing the modulation method as previously described.
  • the modulation method according to the invention can therefore be implemented in various ways, and in particular in hard-wired form or in software form.
  • the invention relates to a source bit sequence modulation device formed of a plurality of source words, delivering modulated symbols, comprising:
  • error correction coding means of the plurality of source words implementing one or more coding modules each implementing a separate error correction code, delivering a plurality of code words, said source words being coded successively;
  • each code word is decomposed into at least one group having a number of bits equal to the logarithm in base two of a number of states of a differential modulation implemented by the differential modulation means, and the interleaving means divides the groups in the interleaved sequence so that two adjacent groups in the interleaved sequence belong to separate codewords.
  • Such a modulation device is particularly suitable for implementing the modulation method described above. It can notably be integrated into a transmitter used for optical communications.
  • This modulation device may of course include the various characteristics relating to the modulation method according to the invention. Thus, the features and advantages of this device are the same as those of the modulation method, and are not detailed further.
  • an error correcting coding of the plurality of source words implementing one or more coding modules each implementing a separate error correction code, delivering a plurality of codewords; said source words being successively coded;
  • a differential modulation of the interleaved sequence delivering modulated symbols; each codeword being decomposed into at least one group having a number of bits equal to the base two logarithm of a number of states of said differential modulation, and the interleaving distributing the groups in the interleaved sequence, such that two Adjacent groups in the interleaved sequence belong to separate codewords.
  • a signal may in particular be formed of modulated symbols obtained according to the modulation method described above. This signal may of course include the various characteristics relating to the modulation method according to the invention.
  • the invention relates to a method for demodulating received symbols, corresponding to symbols modulated according to the modulation method described above after passing through a transmission channel, delivering a reconstructed binary sequence.
  • such a method implements the following steps:
  • de-interleaving the demodulated sequence implementing an inverse processing at the interleaving implemented in transmission, delivering a plurality of codewords
  • the demodulated sequence obtained at the output of the differential modulation stage corresponds to the interleaved sequence obtained on the modulation side, possibly affected by transmission errors, and can be broken down into groups of bits such that two consecutive groups belong to separate code.
  • the decoding step implements the following steps: correction, from at least one error correction code, of at least a first codeword comprising at least one group comprising at least one bit erroneous, said current group, delivering a first corrected code word; o correction, from the first corrected code word, of at least one separate code word comprising a group adjacent to the current group in the demodulated sequence, said neighboring group.
  • the demodulation method comprises a step of assigning a first confidence value to the received symbol obtained from the neighboring group preceding the current group in the demodulated sequence (that is, to the symbol received at the origin of the transition encoded by the current group), and a second confidence value to the received symbol obtained from the current group (i.e., to the received symbol of the transition encoded by the current group).
  • the step of correcting the separate code word is then implemented for the neighboring group preceding the current group in the demodulated sequence and / or for the neighboring group following the current group in the demodulated sequence, taking into account these confidence values.
  • the confidence values are equal to the log likelihood ratio (LLR) associated with the corresponding received symbol.
  • the decision to correct the preceding neighbor group and / or the next neighboring group may depend on a threshold s, allowing to define whether the two received symbols are equally reliable or not. If the threshold is equal to 100%, it means that the two received symbols are equally reliable, and each of the neighboring groups must be corrected. In this case, since we seek to correct both the preceding neighbor group and the next neighbor group, it is not necessary to determine these confidence values.
  • the step of correcting the separate codeword comprises:
  • the first and second variants can also be combined.
  • the invention also relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, comprising program code instructions for the implementation of the method of demodulation as described above.
  • the demodulation method according to the invention can therefore be implemented in various ways, and in particular in hard-wired form or in software form.
  • the invention relates to a device for demodulating received symbols corresponding to modulated symbols after passing through a transmission channel, delivering a reconstructed binary sequence, the modulated symbols being obtained from a binary sequence.
  • source having undergone before emission:
  • such a device comprises:
  • Such a device is particularly adapted to implement the demodulation method described above, and to receive symbols modulated according to the modulation method described above. It can in particular be integrated into a receiver used for optical communications.
  • This demodulation device may of course include the various characteristics relating to the demodulation method according to the invention. Thus, The features and advantages of this device are the same as those of the demodulation method, and are not detailed further.
  • FIGS. and IB recall the operation of conventional modulation and differential modulation;
  • FIG. 2 illustrates the main steps implemented by the modulation method according to a particular embodiment of the invention;
  • FIGS. 3A to 3C present three examples of implementation of the modulation method according to FIG. 2;
  • FIG. 4 illustrates the performances of the invention, compared to the techniques of the prior art;
  • FIG. 5 illustrates the main steps implemented by the demodulation method according to one embodiment of the invention;
  • FIG. 6 shows an exemplary implementation of the demodulation method according to FIG. 5;
  • FIGS. 8A and 8B illustrate the simplified structures of a modulation device and of a demodulation device according to a particular embodiment of the invention. 5. Description of an embodiment of the invention
  • the general principle of the invention is based on a specific grouping of the bits constituting a codeword, and a specific interleaving of these groups, making it possible to distribute the groups of the different codewords in an interleaved sequence, so that two adjacent groups ( ie side by side in the interleaved sequence) belong to distinct codewords. Note that these adjacent groups correspond to consecutive transitions, corresponding for example to consecutive phase jumps between the modulated symbols for phase modulation.
  • the invention proposes to distribute the errors occurring during transmission on different code words.
  • the codewords resulting from the error-correcting coding are thus interleaved so as not to have two groups of bits coming from the same side-by-side code word. If a transmission error occurs, it corrupts two groups of bits side by side, which belong to different codewords, and which are decoded by the same decoder if they come from the same error-correcting code. (or FEC, in English "Forward Error Correction"), and by different decoders if they come from different error correcting codes (FEC).
  • the invention thus makes it possible to improve the transmission performance by distributing the transmission errors between several codewords, thanks to a combination of error-correcting coding techniques, modulation using differential encoding, and specific interleaving. .
  • the error correction coding techniques are thus adapted to the particularities of the differential encoding.
  • FIG. 2 illustrates the main steps implemented on the modulation side, for the modulation of a source binary sequence b s formed of a succession of source words, delivering modulated symbols e, each associated with a state ⁇ / of a constellation corresponding. These modulated symbols can then be transmitted via an optical communication for example, in the form of a modulated signal.
  • Such a modulation method firstly implements an error correcting coding step 21 of the source binary sequence b s , again denoted FEC, delivering a plurality of codewords.
  • This error correcting coding step 21 makes it possible to encode the source bits of the source binary sequence b s , formed of information bits, by using at least one error correction code. This produces code words at the output of this step 21, which comprise both information bits and redundancy bits.
  • the error correction coding step 21 may implement one or more FEC coding modules, each implementing a separate error correction code delivering one or more code words. It is noted that the number of FEC coding modules does not depend on the number of states of the differential modulation (or the constellation).
  • the codewords two, three, four, or more are interleaved, delivering an interleaved sequence.
  • the code words can be decomposed into groups having a number of bits equal to the logarithm in base two of the number of states of the differential modulation. It is recalled that if the number of bits forming a code word does not correspond not a multiple of the number of bits per group, it is also possible to have a particular group having a number of bits less than the logarithm in base two of the number of states of the modulation.
  • the interleaving step 22 then distributes the different groups so that two adjacent groups in the interleaved sequence belong to distinct codewords.
  • the interleaved sequence is composed of a first group of bits of the first code word followed by a first group of bits of the second code word followed by second group of bits of the first code word, followed by a second group of bits of the second code word, etc. It can thus be considered that the groups associated with different code words are placed one after the other in the interlaced sequence, alternating groups belonging to different code words.
  • this interleaving step 22 depends on the number of states of the differential modulation.
  • packets (groups) of several bits whose size varies according to the constellation associated with the differential modulation, are interleaved.
  • the bits are interleaved two by two in the case of a QPSK modulation.
  • each modulated symbol is constructed from a group of bits originating from the same code word.
  • the interleaved sequence at the input of the differential modulation step corresponds to the transitions between the modulated symbols.
  • Each group of the interlaced sequence is therefore representative of a transition between two modulated symbols.
  • the interleaved codewords represent the transitions between the emitted modulated symbols.
  • FIG. 3A illustrates the main steps implemented for a 16-state amplitude modulation (16QAM modulation).
  • the source words of the binary sequence b s are successively coded during the error correction coding step 21.
  • this coding step implements three FEC coding modules 211, 212, 123, each implementing a separate correction code delivering code words having an identical size.
  • the first FEC coding module 211 delivers a first code word '011001 ...'
  • the second FEC coding module 212 delivers a second code word '010110 ...'
  • the third coding module FEC 213 issues a third codeword '010100 ...'.
  • Block 210 can therefore be seen as a selector of the FEC coding module to be used to encode a source word. It will be recalled that the number of FEC coding modules does not depend on the number of states of the differential modulation, and that the codewords from the different coding modules may be of different size.
  • codewords are then interleaved during an interleaving step 22.
  • the code words can be decomposed into groups having a number of bits equal to the logarithm in base two of a number of states of the differential modulation, or in groups of 4 bits for 16QAM modulation.
  • the size of a group, also called symbol (information or redundancy), depends on the constellation.
  • a first group is defined in the first codeword, denoted g 1, comprising the bits' 0110 ', a second group in the first code word, denoted g ⁇ 2 , comprising the bits '01 ..', a first group in the second code word, denoted g 2 ⁇ , comprising the bits' 0101 ', a second group in the second code word, denoted g 2 2 , comprising the bits '10 ..', a first group in the third code word, denoted g 3 l 5 comprising the bits' 0101 ', a second group in the third code word, denoted g 3 2 , comprising the bits '00 ..', etc.
  • the interleaved sequence comprises the following successive groups: ⁇ 1 l '8 2 l' ⁇ 3 the ⁇ 1 2 'etc. -
  • the interleaved sequence comprises the following successive groups: g 1 l of 5 g 3 l 5 g 2 15 g 1 2 , etc.
  • the interleaved sequence comprises the following successive groups: g 2 G 1 l 5 15 g 3 l5 g 2 2, etc.
  • the bottom line is that two consecutive groups in the interlaced sequence do not belong to the same code word.
  • interleaving of groups belonging to three different codewords allows to improve certain performances. It is recalled that two transmission errors generally produce three groups (or information or redundancy symbols) erroneous. Thus, by using three code words, two successive transmission errors can be better corrected. Indeed, these three groups are, according to the invention, distributed over three different codewords. It is noted that with an interleaving of only two code words and two transmission errors, one of the code words would have had only one erroneous group of bits, and the other code word would have had two groups of erroneous bits. It is therefore possible, according to the invention, to use interleaving over more than two codewords.
  • the interlaced sequence thus obtained is then modulated in the differential modulation step 23, delivering the modulated symbols associated for example at points "o 01 He 3 a ⁇ A of a constellation. It is during this differential modulation step 23 that the conventional serial / parallel conversion operations of the interleaved sequence, and of distribution on a phase-in-phase and a quadrature channel, are carried out.
  • the main steps implemented for a 4-phase phase modulation QPSK modulation
  • this coding step implements a single FEC coding module 214, delivering at least two words of error code. code.
  • this FEC coding module 214 firstly codes a first source word of the binary sequence b s , and delivers a first codeword comprising information bits '01101001 ...' and redundancy bits '11'.
  • the FEC coding module 214 then codes a second source word of the binary sequence b s , and delivers a second code word comprising information bits' 01101101 ... 'and redundancy bits O1'.
  • code words are then interleaved during an interleaving step 22.
  • the codewords from the single FEC coding module 214 are both stored.
  • the codewords are then decomposed into groups having a number of bits equal to the base two logarithm of a number of states of the differential modulation, or in two-bit groups for QPSK modulation.
  • the first code word thus includes the groups Ol ',' 10 ',' 10 ',' 01 ', ... (including information bits), and' 11 '(including redundancy bits).
  • the second code word comprises the groups '01', '10', '11', '01', ... (including information bits), and '01' (including redundancy bits). These groups are then intertwined, so that two adjacent groups do not belong to the same code word.
  • the interleaved sequence comprises the following successive groups: Ol ', Ol', '10', '10', '10', '11', '01', '01', ..., '11', '01'.
  • the interleaved sequence thus obtained is then modulated during the differential modulation step 23, delivering the modulated symbols associated with the points
  • error correction coding step 21 implements two coding modules FEC1 215 and FEC2 216, each implementing a separate correction code generating code words of distinct length.
  • the first coding module FEC1 215 implements a BCH code (1022, 842) and the second coding module FEC2 216 implements a BCH code (942, 842).
  • the codewords from the coding modules implements a BCH code (1022, 842) and the second coding module FEC2 216 implements a BCH code (942, 842).
  • FECl 215 and FEC2 216 thus have a different length, but the same number of information bits.
  • the source words of the binary sequence b s are successively coded during the error correction coding step 21.
  • the first coding module FEC1 215 delivers a first word of code comprising the information bits '011011 ...' and the redundancy bits '1111'
  • the second coding module FEC2 216 delivers a second code word comprising the information bits '010011 ...' and the redundancy bits '011100'.
  • codewords are, according to this variant, broken down into groups of information bits and groups of redundancy bits. For example, if QPSK is again considered, the codewords are decomposed into information bit groups and two-bit redundant bit groups.
  • gi 5 a first group of information bits, denoted gi 5, comprising the bits Ol ';
  • a second group of information bits, denoted gi 2 comprising bits '10';
  • gi 5 3 a third group of information bits, denoted gi 5 3 , comprising bits '11';
  • a first group of redundancy bits denoted gr 5, comprising bits '11';
  • gi 6 a first group of information bits, denoted gi 6, comprising the bits Ol ';
  • gi 6 2 a second group of information bits, denoted gi 6 2 , comprising the bits OO ';
  • gi 6 3 a third group of information bits, denoted gi 6 3 , comprising bits '11'; - etc;
  • a first group of redundancy bits denoted gr 6, comprising the bits Ol ';
  • gr 6 2 a second group of redundancy bits, denoted gr 6 2 , comprising bits '11';
  • gr 6 3 a third group of redundancy bits, denoted gr 6 3 , comprising the bits '00'.
  • the groups are then interleaved during interleaving step 22, so that two groups of adjacent information bits do not belong to the same code word.
  • the groups of redundancy bits can also be interleaved.
  • the interlaced sequence thus obtained includes, for example, the following successive groups: gi 5> 1, gi 6 1 to gi 5> 2, 6 2 gi, gi 5> 3, 6 3 gi, ..., gr 5> 1 , gr 6> 1 , gr 5 2 , gr 6 2 , gr 6> 3 .
  • the interleaving step therefore ensures that groups of neighboring information bits do not belong to the same code word, whereas groups of neighboring redundancy (or parity) bits can belong to the same code word.
  • the second FEC2 encoder 216 delivers codewords having a length greater than that of the code words delivered by the first FEC1 encoder 215, several groups of redundancy bits belonging to the second codeword follow each other in the interlaced sequence (gr 6 2 , grg 3 ).
  • the interleaved sequence thus obtained is then modulated during the differential modulation step 23.
  • the first coding module FEC1 215 implements a BCH code (1022, 982) and the second coding module FEC2 216 implements a BCH code (942, 862).
  • the codewords from the coding modules implements a BCH code (1022, 982) and the second coding module FEC2 216 implements a BCH code (942, 862).
  • FECl 215 and FEC2 216 thus have a different length, and a number of bits of information different.
  • the interleaving ensures that the neighboring groups in the interleaved sequence do not belong to the same code word, until all the groups of the shortest code word have been used. The remaining groups of the longest codeword are then "copied" in the interleaved sequence, and can therefore be found next to each other. in the interlaced sequence.
  • the interleaved sequence obtained at the end of the interleaving step 22 comprises the following successive groups: gi5, the 8 * 6.1 '8 * 5.2' 8 * 6.2 '• • •> g ⁇ N' S 1 O 1 N 'r 5 g, l> 8 * 6 ⁇ + 1 e r 5.2> 8 * 6 ⁇ + 2'• • e r 6, the > g r 6.2> g r 6.3
  • the successive groups of the interleaved sequence therefore belong to different codewords; then (that is to say from the group gi 6 N + 2 ) the successive groups of the interleaved sequence can belong to the same codeword (second code word).
  • the latter groups may comprise only redundancy bits, or information bits and redundancy bits.
  • the size of a group is one bit, which is equivalent to doing bit-by-bit interleaving.
  • bit-by-bit interleaving In order to more easily correct the transmission errors, it is still necessary according to the invention to apply a specific interleaving law, making it possible to distribute the bits so that two consecutive bits do not belong to the same code word.
  • the use of conventional bit-by-bit interleaving, on the other hand, is not optimal for reducing the defects of the differential encoding, since it does not necessarily make it possible to distribute the errors on different codewords.
  • an error correction coding C (n, k, t) which delivers codewords of size n from k bits of information and which corrects up to t transmission errors, combined
  • a specific interleaving and a differential encoding according to the invention has the same performance in terms of error correction rate as an error correction coding C (2n, 2k, 2t) without interleaving. Interlacing therefore offers a gain of coding, regardless of the type of modulation used.
  • FIG. 4 thus illustrates the performances of the invention for a QPSK type modulation, by comparing the BER (binary error rate) as a function of the signal-to-noise ratio in dB (SNR, in English "Signal to Noise Ratio"), for different types of error correcting coding, combined with a specific interleaving according to the invention, or without interleaving according to the prior art.
  • BER binary error rate
  • the performances are notable when the error correction coding step implements a binary error correction code such as the BCH (255,239) or product code BCH (255,239) xBCH (144,128) (with firm decision decoding).
  • a binary error correction code such as the BCH (255,239) or product code BCH (255,239) xBCH (144,128) (with firm decision decoding).
  • the error-correcting encoding step implements a non-binary error-correcting code such as Reed-Solomon (RS)
  • RS Reed-Solomon
  • FIG. 5 illustrates the main steps implemented on the demodulation side, for the demodulation of received symbols r corresponding to modulated symbols e after passing through a transmission channel, delivering a reconstructed binary sequence b s .
  • Such a demodulation method is particularly adapted to receive a signal formed of modulated symbols from the modulation method described above.
  • such a method firstly implements a step of differential demodulation 51 of the received symbols, implementing an inverse processing to the differential modulation 23 implemented in transmission, delivering a demodulated sequence.
  • a phase modulation implemented in transmission for example, it is possible to measure the phase jump between each symbol received in reception, and to find the transitions and groups of bits encoding these transitions.
  • the demodulated sequence is thus formed of groups of successive bits, since during each differential modulation each transition is encoded by a group of bits. Thanks to the specific interleaving implemented in transmission, two groups of successive bits belong to different code words.
  • the demodulated sequence is then deinterleaved during a deinterleaving step 52, implementing an inverse processing at the interleaving 22 implemented in transmission, delivering a plurality of codewords.
  • the codewords obtained are then decoded during a decoding step 53, delivering the reconstructed binary sequence b s .
  • the demodulated sequence has a specific structure, according to which two consecutive groups do not belong to the same codeword, it is possible to reduce the decoding complexity.
  • the decoding step 53 implements, for example, a correction of at least one codeword by using a decoding corresponding to the coding used in transmission, delivering a corrected code word, and a correction of at least one word separate code from the previously corrected codeword.
  • the demodulated sequence comprises two interleaved codewords
  • decoding step 53 when demodulating received symbols corresponding to modulated symbols having undergone an error-correcting coding delivering two words, is presented below with reference to FIG. code, interleaving, and 4-state QPSK phase modulation, as shown in connection with FIG. 3B.
  • the sequence The resulting demodulated group is formed of the following successive groups: Ol ', Ol', '10', OO ',' IV, 'IV,' OV, 'OV, ...,' 11 ', Ol'.
  • This sequence is formed of groups of bits such that two consecutive groups belong to different code words.
  • the interleaved sequence at the end of the interleaving step 22 implemented on the modulation side comprised the following successive groups: '01', '01', '10', '10', '10', ' 11 ',' 01 ',' 01 ', ...,' 11 ',' 01 '(see Figure 3B).
  • first code word '01', '10', '11', '01', ..., '11'; - second code word: '01', '00', '11', '01', ..., '01'.
  • a conventional FEC decoding technique 531 is used to decode the first codeword, and then the result of this conventional decoding is used to locate and correct the errors of the second code word 532. It is therefore not necessary to repeat all conventional decoding calculations for the second code word.
  • the FEC decoding module 531 when the FEC decoding module 531 has detected and corrected an error in the first code word, affecting a group of bits said current group, it is certain that a group adjacent to this current group in the demodulated sequence, belonging to therefore to the second codeword, is also wrong.
  • the FEC decoding module 531 when the FEC decoding module 531 has detected an error affecting the current group g c ('11'), the neighboring group preceding g vp ('00') and / or the next neighboring group g vs ('11') therefore have at least one error.
  • the reliability of the symbols received is calculated to know whether to correct each of the neighboring groups or just the least reliable of them. This decision is made by setting a threshold s, allowing to define whether the two received symbols are equally reliable or not. The value of this threshold influences the decoding complexity.
  • a first confidence value is assigned to the received symbol obtained from the neighboring group preceding g vp ('00'), corresponding to the point U2 of the constellation according to our example, and a second value of confidence to the received symbol obtained from the current group g c ('11'), corresponding to point OC4 of the constellation according to our example.
  • these confidence values are determined from the log likelihood ratio log (LLR) associated with the corresponding received symbol: where e is the emitted symbol (also called modulated symbol in the description), r the received QPSK symbol, and r is the constellation point corresponding to the received symbol.
  • LLR log likelihood ratio log
  • this predetermined threshold s can be expressed as a percentage. In this case, if the threshold is equal to 100%, it means that the two received symbols are equally reliable and no decision is made. We therefore consider that we must correct each of the neighboring groups. If the threshold is 0%, it means that a "hard” decision is made, and a received symbol is more reliable than another. It is therefore considered that only the neighboring group leading to the lowest likelihood ratio logarithm value must be corrected.
  • the correction of the second code word is implemented for the neighboring group g vp (OO ') preceding the current group g c (' 11 ') in the demodulated sequence if the first confidence value is lower than the second confidence value, or for the neighboring group g vs ('11') following the current group g c ('11') in the demodulated sequence if the second confidence value is lower than the first confidence value.
  • the threshold is equal to 0%. It is also considered that the first confidence value is lower than the second confidence value. It is therefore the neighboring group g vp preceding (OO ') which has an error.
  • each transition can be measured in quadrant numbers, for QPSK modulation.
  • the group of bits '01' corresponds for example to a transition of '1' quadrant.
  • the correction applied to the second code word therefore corresponds to the inverse of that applied to the first codeword thanks to the conventional decoding.
  • the syndrome of each code word is calculated. candidate.
  • a syndrome can be determined using the technique described by JG Proakis in "Digital Communications” (Third Edition, New York: McGraw-Hill, 1989).
  • JG Proakis in "Digital Communications” (Third Edition, New York: McGraw-Hill, 1989).
  • FEC coding module implementing a linear code in Reed-type blocks.
  • the resulting syndrome is zero for a candidate codeword, it means that the candidate codeword is a valid code word. This corrects the second code word by replacing it with the valid candidate code word. If there is no syndrome equal to 0 for the different candidate code words, it means that no code word is valid. In other words, none of the proposed corrections are correct.
  • the second codeword is then decoded using a conventional FEC decoding technique.
  • a set of candidate code words is thus determined by modifying the values of the bits of the neighboring group preceding g vp and / or of the next neighboring group g vs in the second code word in order to obtain an error equal to -1.
  • One of the candidate codewords is then selected which has a syndrome equal to 0, if it exists.
  • the decoding algorithm according to the invention implements the following steps:
  • the decoding step 53 has been described, in connection with FIG. 6, during the demodulation of received symbols corresponding to modulated symbols having undergone an error-correcting coding delivering two words of error. code, interleaving, and QPSK modulation.
  • the reduced complexity decoding technique according to the invention can be implemented regardless of the number of code words delivered by the error correction coding on the sending side.
  • the complexity of the proposed algorithm depends both on the number of syndromes computed and the number of decodings performed, depending on the number of interleaved codewords.
  • Figures 7A and 7B illustrate the number of syndromes calculated ( Figure 7A) and the number of decodings performed (FIG. 7B) on average for the second codeword (in the case where only two codewords are interleaved), as a function of the signal-to-noise ratio SNR, for a BCH-type error correction coding ( 1023,883) delivering two code words and a QPSK type modulation, and for different threshold levels s for the confidence value:
  • the solution proposed by the invention thus makes it possible to obtain a significant coding gain and a complexity reduction of up to 50%, which is a considerable advantage in the case of very high speed optical transmission in particular. It is based on the implementation of a differential modulation, and is therefore transferable to any family of error-correcting codes and all constellation sizes.
  • the decoding algorithm proposed above shows how the decoding of a first code word makes it possible to fully deduce the decoding of a second code word. It therefore does not appear necessary to code the information bits corresponding to the second code word and to add redundancy bits to them, if these redundancy bits are not used for the decoding.
  • Interleaved code words can thus come from FEC coding modules implement different error correcting codes, and generating code words of different size (with more or less redundancy).
  • the second coding module uses a less powerful error correction code than that used in the first coding module, and which therefore generates fewer redundancy bits.
  • the second code less powerful, can not decode the errors as well as the first code. This results in an error level if a conventional decoding of the second code word is implemented.
  • the necessary correction capacity for the second coding module generating the second code word therefore depends on the number of errors remaining after the first pass ("missed" errors) and therefore the quality of the decoding. 5.6 Simplified structure of the corresponding modulation and demodulation devices
  • FIGS. 8A and 8B the simplified structure of a modulation device and a demodulation device putting respectively in A modulation technique and a demodulation technique according to one of the embodiments described above are implemented.
  • Such a modulation device comprises a memory 81, a processing unit 82, equipped for example with a microprocessor ⁇ P, and driven by the computer program 83, implementing the modulation method according to the invention.
  • the code instructions of the computer program 83 are for example loaded into a RAM memory before being executed by the processor of the processing unit 82.
  • the processing unit 82 receives as input a sequence source binary b s formed of a plurality of source words.
  • the microprocessor of the processing unit 82 implements the steps of the modulation method described above, according to the instructions of the computer program 83, to encode, interleave, and modulate the source bit sequence, and to emit modulated symbols e.
  • the modulation device comprises, in addition to the buffer memory 81, error-correcting coding means of the plurality of source words, delivering a plurality of code words, means for interleaving the code words, delivering a interleaved sequence, and differential modulation means of the interleaved sequence, delivering modulated symbols as previously described. These means are controlled by the microprocessor of the processing unit 82.
  • the processing unit 82 thus transmits to a receiver, via a transmission channel, a modulated signal comprising modulated symbols.
  • the demodulation device of FIG. 8B comprises a memory
  • a processing unit 85 equipped for example with a microprocessor ⁇ P, and driven by the computer program 86, implementing the demodulation method according to the invention.
  • the code instructions of the computer program 86 are for example loaded into a RAM memory before being executed by the processor of the processing unit 85.
  • the processing unit 85 receives as input symbols received r.
  • the microprocessor of the processing unit 85 implements the steps of the demodulation method described above, according to the instructions of the computer program 86, for demodulating, deinterleaving, decoding the received symbols r, and reconstructing a binary sequence b s .
  • the demodulation device comprises, in addition to the buffer memory 84, differential demodulation means for the received symbols, delivering a demodulated sequence, deinterleaving means for the demodulated sequence, delivering a plurality of code words, and means for decoding code words, delivering the reconstructed binary sequence, as described above.
  • These means are controlled by the microprocessor of the processing unit 85.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)

Abstract

L'invention concerne un procédé de modulation d'une séquence binaire source formée d'une pluralité de mots source, délivrant des symboles modulés. Selon l'invention, un tel procédé met en œuvre : - un codage correcteur d'erreurs (21) de la pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement; - un entrelacement (22) des mots de code, délivrant une séquence entrelacée; - une modulation différentielle (23) de la séquence entrelacée, délivrant des symboles modulés. Chaque mot de code est décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de la modulation différentielle. L'étape d'entrelacement (22) répartit les groupes de façon que deux groupes adjacents dans la séquence entrelacée appartiennent à des mots de code distincts.

Description

Procédé et dispositif de modulation mettant en œuvre une modulation différentielle, procédé et dispositif de démodulation, signal et produits programme d'ordinateur correspondants.
1. Domaine de l'invention Le domaine de l'invention est celui des communications numériques.
Plus précisément, l'invention concerne la transmission de données mettant en œuvre un format de modulation de type modulation différentielle. Une telle modulation différentielle permet de transformer une séquence binaire en un signal modulé. La séquence binaire en entrée de l'étape de modulation correspond aux transitions entre les états de la constellation de la modulation utilisée pour générer les symboles modulés. Une modulation différentielle peut donc être vue comme un encodage différentiel d'une séquence binaire, délivrant une autre séquence binaire, suivi d'une modulation classique.
L'invention trouve des applications dans tout système de transmission utilisant une modulation différentielle. Notamment, l'invention trouve des applications dans le domaine des communications optiques :
- à détection directe selon un format de modulation de type DBPSK (en anglais « Differential Binary Phase Shift Keying ») ou DQPSK (en anglais « Differential Quadrature Phase Shift Keying ») à lOGb/s et 40Gb/s, ou
- à détection cohérente selon un format de modulation de type QPSK (en anglais « Quadrature Phase Keying ») ou PDM-QPSK (en anglais « Polarization Division
Multiplexing- QPSK » ) à 40Gb/s et lOOGb/s.
2. Art antérieur
Dans le domaine des communications optiques, notamment à très haut débit, la modulation de phase présente de nombreux avantages, autant d'un point de vue de l'efficacité spectrale que de la qualité de transmission (par la réduction d'effets non linéaires liés à la modulation d'intensité notamment).
Par exemple, le format de modulation DBPSK est particulièrement avantageux pour des transmissions non cohérentes. En détection directe, la phase du signal transmis est perdue à la réception, mais il est possible de la retrouver en mesurant la différence de phase entre deux symboles successifs, grâce à une démodulation optique réalisée par un interféromètre de type MZDI (en anglais « Mach- Zender Delay Interferometer ») par exemple. L'encodage différentiel des données à transmettre s'avère nécessaire pour pouvoir utiliser une modulation de phase en détection directe.
Les formats de modulation QPSK et PDM-QPSK sont quant à eux particulièrement intéressants pour des transmissions cohérentes présentant un débit supérieur ou égal à 40Gb/s. Grâce à l'utilisation d'un récepteur cohérent, la phase du signal transmis devient directement accessible. On peut donc utiliser des formats de modulation à haute efficacité spectrale. Cependant, le bruit de phase reste un problème majeur, que les algorithmes de récupération de phase (de type Viterbi) n'arrivent pas à traiter totalement. L'encodage différentiel des données à transmettre s'avère là aussi nécessaire.
On constate ainsi que l'encodage différentiel combiné à une modulation de phase permet d'améliorer les performances des systèmes de transmission.
Malheureusement, la mise en œuvre d'un encodage différentiel conduit à un taux d'erreur plus élevé qu'un encodage classique, car une erreur de transmission produit deux erreurs sur les données transmises sous la forme de symboles d'information. De manière plus générale, k erreurs de transmission successives produisent k+\ erreurs sur les symboles d'information...
Plus précisément, dans le cas d'une modulation de type QPSK par exemple, l'encodage classique tel qu'illustré en figure IA permet d'associer un symbole d'information comprenant deux bits, à un symbole modulé, correspondant à un état α/ de la constellation. Pour une modulation QPSK, les états de la constellation associés aux symboles modulés sont : ot\ = eιπ' , «2 = e > etc-
L'encodage différentiel tel qu'illustré en figure IB permet quant à lui de coder les données à transmettre par la transition entre les états de la constellation utilisée. En d'autres termes, un symbole d'information correspond aux deux bits qui encodent le changement de phase entre deux états αz- de la constellation, c'est-à-dire entre deux symboles modulés. Par exemple, la séquence de symboles d'information '10' '11' '00' est transformée en symboles modulés correspondants aux états cq, 0:4, aj, CXj - Si, après passage dans le canal de transmission, les symboles modulés reçus correspondent aux états
(Xγ, «4, a\, «2 ' ce φύ correspond à une erreur de transmission, alors les symboles d'information reconstruits seront '10' Ol' 'OV , ce qui correspond à deux erreurs sur les données transmises (apparaissant en caractère souligné).
L'encodage différentiel conduit donc à des taux d'erreur plus élevés que l'encodage classique, car une erreur de transmission corrompt deux symboles d'information consécutifs.
Il existe donc un besoin pour une nouvelle technique de transmission mettant en œuvre une modulation différentielle, permettant de reconstruire de manière plus fiable les données transmises. 3. Exposé de l'invention
L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de modulation d'une séquence binaire source formée d'une pluralité de mots source, délivrant des symboles modulés. Selon l'invention, un tel procédé met en œuvre les étapes suivantes :
- codage correcteur d'erreurs de la pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ; - entrelacement des mots de code, délivrant une séquence entrelacée ;
- modulation différentielle de la séquence entrelacée, délivrant des symboles modulés.
Chaque mot de code est décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux du nombre d'états de la modulation mise en œuvre lors de l'étape de modulation différentielle. L'étape d'entrelacement répartit les groupes dans la séquence entrelacée, de façon que deux groupes adjacents dans la séquence entrelacée appartiennent à des mots de code distincts.
L'invention propose ainsi une nouvelle technique de transmission permettant de reconstruire de manière plus fiable les données transmises, en combinant l'utilisation de techniques de codage correcteur d'erreurs et d'encodage différentiel.
Pour ce faire, l'invention repose sur une décomposition en groupes des mots de code issus de l'étape de codage correcteur d'erreurs et sur un entrelacement particulier de ces mots de code, délivrant une séquence entrelacée dans laquelle deux groupes de bits consécutifs appartiennent à des mots de code distincts. On note qu'il est possible d'entrelacer n'importe quel nombre de mots de code selon l'invention (deux, trois, quatre ou plus), du moment que deux groupes adjacents dans la séquence entrelacée n'appartiennent pas au même mot de code.
De cette façon, quant bien même une erreur de transmission corrompt deux groupes de bits consécutifs, ces groupes appartiennent à des mots de code différents. Les performances de décodage des mots de code ne sont donc que très peu diminuées.
En particulier, chacun des groupes de la séquence entrelacée est représentatif d'une transition entre deux symboles modulés. Ainsi, la taille de ces groupes (i.e. le nombre de bits par groupe) dépend de la modulation mise en œuvre. Par exemple, pour une modulation BPSK, le nombre de bits par groupe est égal à 1 ; pour une modulation QPSK, le nombre de bits par groupe est égal à 2 ; pour une modulation 8PSK, le nombre de bits pas groupe est égal à 3, etc. Deux groupes adjacents correspondent donc à deux transitions consécutives, correspondant par exemple aux sauts de phase consécutifs entre trois symboles modulés pour une modulation de phase. Par ailleurs, si le nombre de bits formant un mot de code ne correspond pas à un multiple du nombre de bits par groupe, il est possible d'avoir un groupe particulier présentant un nombre de bits inférieur au logarithme en base deux du nombre d'états de la modulation. Ce groupe particulier peut notamment être complété par des bits égaux à '0' ou '1', pour obtenir une taille égale à celle des autres groupes. Selon un aspect particulier de l'invention, l'étape de codage correcteur d'erreurs met en œuvre au moins deux codes correcteur d'erreurs distincts, délivrant chacun des mots de code distincts.
Dans ce cas, l'étape de codage met en œuvre plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct. En particulier, lorsque les mots de code obtenus par la mise en œuvre de codes correcteurs d'erreurs distincts présentent une longueur différente, l'étape d'entrelacement entrelace les groupes jusqu'à avoir réparti tous les groupes du mot de code présentant la plus petite longueur. Les groupes restants sont alors « recopiés » dans la séquence entrelacée. Ainsi, deux groupes adjacents dans la séquence modulée appartiennent à des mots de code distincts, jusqu'à avoir utilisé tous les groupes du mot de code le plus court. Ensuite, il est possible que des groupes voisins dans la séquence entrelacée appartiennent à un même mot de code.
Si l'étape d'entrelacement entrelace trois mots de code de longueur distincte, on entrelace ces trois mots de code jusqu'à avoir réparti tous les groupes du mot de code le plus court (parmi ces trois mots de code), puis les deux mots de code restant jusqu'à avoir réparti tous les groupes du mot de code le plus court parmi ces deux mots de code restant. De cette façon, seuls les derniers groupes du mot de code le plus long peuvent éventuellement être voisins dans la séquence entrelacée. Selon une variante de réalisation, les mots de code comprenant des bits d'information et des bits de redondance, chaque mot de code est décomposé en au moins un groupe de bits d'information et au moins un groupe de bits de redondance. L'étape d'entrelacement répartit alors les groupes de bits d'information dans la séquence entrelacée, de façon que deux groupes de bits d'information adjacents dans la séquence entrelacée appartiennent à des mots de code distincts.
On note que selon cette variante, l'entrelacement assure que des groupes de bits d'information voisins n'appartiennent pas à un même mot de code, alors que des groupes de bits de redondance (ou de parité) voisins peuvent appartenir à un même mot de code. Cette variante est particulièrement avantageuse lorsque les mots de code obtenus par les différents modules de codage présentent une taille (longueur) différente.
Il est ainsi possible d'utiliser des codes correcteurs d'erreurs présentant des performances différentes, et notamment un premier code correcteur d'erreurs présentant une capacité de correction supérieure à celle d'un deuxième code correcteur d'erreurs. L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur comprenant des instructions de code de programme pour la mise en œuvre du procédé de modulation tel que décrit précédemment.
Le procédé de modulation selon l'invention peut donc être mis en œuvre de diverses manières, et notamment sous forme câblée ou sous forme logicielle.
Dans un autre mode de réalisation, l'invention concerne un dispositif de modulation d'une séquence binaire source formée d'une pluralité de mots source, délivrant des symboles modulés, comprenant :
- des moyens de codage correcteur d'erreurs de la pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ;
- des moyens d'entrelacement des mots de code, délivrant une séquence entrelacée ; - des moyens de modulation différentielle de la séquence entrelacée, délivrant des symboles modulés.
Selon l'invention, chaque mot de code est décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états d'une modulation différentielle mise en œuvre par les moyens de modulation différentielle, et les moyens d'entrelacement répartissent les groupes dans la séquence entrelacée, de façon que deux groupes adjacents dans la séquence entrelacée appartiennent à des mots de code distincts.
Un tel dispositif de modulation est notamment adapté à mettre en œuvre le procédé de modulation décrit précédemment. Il peut notamment être intégré à un émetteur utilisé pour les communications optiques.
Ce dispositif de modulation pourra bien sûr comporter les différentes caractéristiques relatives au procédé de modulation selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de modulation, et ne sont pas détaillés plus amplement.
L'invention concerne aussi un signal comprenant des symboles modulés obtenus à partir d'une séquence binaire source formée d'une pluralité de mots source ayant subi avant émission :
- un codage correcteur d'erreurs de la pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code ; lesdits mots source étant codés successivement ;
- un entrelacement des mots de code, délivrant une séquence entrelacée ;
- une modulation différentielle de la séquence entrelacée, délivrant des symboles modulés ; chaque mot de code étant décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de ladite modulation différentielle, et l'entrelacement répartissant les groupes dans la séquence entrelacée, de façon que deux groupes adjacents dans la séquence entrelacée appartiennent à des mots de code distincts. Un tel signal peut notamment être formé de symboles modulés obtenus selon le procédé de modulation décrit ci-dessus. Ce signal pourra bien sûr comporter les différentes caractéristiques relatives au procédé de modulation selon l'invention.
Dans un autre mode de réalisation, l'invention concerne un procédé de démodulation de symboles reçus, correspondant à des symboles modulés selon le procédé de modulation décrit précédemment après passage dans un canal de transmission, délivrant une séquence binaire reconstruite.
Selon l'invention, un tel procédé met en œuvre les étapes suivantes :
- démodulation différentielle des symboles reçus, mettant en œuvre un traitement inverse à la modulation différentielle mise en œuvre en émission, délivrant une séquence démodulée ;
- désentrelacement de la séquence démodulée, mettant en œuvre un traitement inverse à l'entrelacement mis en œuvre en émission, délivrant une pluralité de mots de code ;
- décodage des mots de code, délivrant la séquence binaire reconstruite. Un tel procédé de démodulation est notamment adapté à démoduler un signal modulé selon le procédé de modulation décrit précédemment. Ainsi, la séquence démodulée obtenue en sortie de l'étape de modulation différentielle correspond à la séquence entrelacée obtenue côté modulation, éventuellement affectée par des erreurs de transmission, et peut être décomposée en groupes de bits tels que deux groupes consécutifs appartiennent à des mots de code distincts.
En particulier, l'étape de décodage met en œuvre les étapes suivantes : o correction, à partir d'au moins un code correcteur d'erreurs, d'au moins un premier mot de code comprenant au moins un groupe comprenant au moins un bit erroné, dit groupe courant, délivrant un premier mot de code corrigé ; o correction, à partir du premier mot de code corrigé, d'au moins un mot de code distinct comprenant un groupe adjacent au groupe courant dans la séquence démodulée, dit groupe voisin.
De cette façon, il est possible de décoder de manière classique certains mots de code, en utilisant le ou les codes correcteurs d'erreurs mis en œuvre en émission (en utilisant un décodage algébrique pour des codes correcteurs d'erreurs de type BCH ou Reed Solomon par exemple, ou d'autres techniques de décodage pour des codes correcteurs d'erreurs de type LDPC par exemple), et d'en déduire le décodage d'autres mots de code. Plus précisément, si l'on détecte une erreur affectant un groupe courant, le groupe adjacent précédant ou suivant le groupe courant dans la séquence démodulée est nécessairement lui aussi affecté par des erreurs, puisque lorsqu'un encodage différentiel est utilisé, une erreur de transmission corrompt deux groupes de bits consécutifs.
Or on rappelle que deux groupes consécutifs dans la séquence démodulée appartiennent nécessairement à des mots de code distincts, grâce à l'entrelacement spécifique utilisé côté modulation. Il est donc possible de localiser, puis de corriger, les erreurs affectant un mot de code distinct, une fois que l'on a détecté et corrigé une erreur affectant un groupe courant d'un premier mot de code.
Selon une première variante de réalisation, le procédé de démodulation comprend une étape d'affectation d'une première valeur de confiance au symbole reçu obtenu à partir du groupe voisin précédent le groupe courant dans la séquence démodulée (c'est-à-dire au symbole reçu à l'origine de la transition encodée par le groupe courant), et d'une deuxième valeur de confiance au symbole reçu obtenu à partir du groupe courant (c'est-à-dire au symbole reçu destinataire de la transition encodée par le groupe courant). En d'autres termes, on caractérise :
- la confiance accordée au groupe voisin précédent, à partir du symbole reçu modulé à l'origine de la transition encodée par le groupe courant, et
- la confiance accordée au groupe voisin suivant, à partir du symbole reçu modulé destinataire de (ou suivant) la transition encodée par le groupe courant.
L'étape de correction du mot de code distinct est alors mise en œuvre pour le groupe voisin précédant le groupe courant dans la séquence démodulée et/ou pour le groupe voisin suivant le groupe courant dans la séquence démodulée en tenant compte de ces valeurs de confiance. En particulier, les valeurs de confiance sont égales au logarithme du rapport de vraisemblance (LLR) associé au symbole reçu correspondant.
Ces valeurs de confiance permettent ainsi de décider si c'est le groupe voisin précédent, le groupe voisin suivant, ou les deux groupes voisins qui est (ou sont) probablement erronés, et donc de réduire le nombre de mots de code « candidats » associés à un mot de code. On augmente ainsi la rapidité de l'algorithme de décodage.
En particulier, la décision de corriger le groupe voisin précédent et/ou le groupe voisin suivant peut dépendre d'un seuil s, permettant de définir si les deux symboles reçus sont équivalemment fiables ou pas. Si le seuil est égal à 100%, cela signifie que les deux symboles reçus sont équivalemment fiable, et il faut corriger chacun des groupes voisins. Dans ce cas, puisqu'on cherche à corriger à la fois le groupe voisin précédant et le groupe voisin suivant, il n'est pas nécessaire de déterminer ces valeurs de confiance.
Selon une deuxième variante, l'étape de correction du mot de code distinct comprend :
- une étape de détermination d'au moins un mot de code candidat pour le mot de code distinct ;
- une étape de détermination du syndrome associé au(x) mot(s) de code candidats ;
- une étape de sélection du mot de code candidat présentant un syndrome nul, délivrant le mot de code distinct corrigé.
Ces étapes permettent notamment de déterminer si une erreur affecte le groupe voisin précédant, le groupe voisin suivant, ou les deux groupes voisins. Elle permet aussi de réduire le nombre de mots de code candidats associés à un mot de code, puisqu'elles permettent de conserver uniquement les mots de code candidats présentant un syndrome nul. On augmente donc la rapidité de l'algorithme de décodage.
La première et la deuxième variantes peuvent aussi être combinées. L'invention concerne aussi un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en œuvre du procédé de démodulation tel que décrit ci-dessus. Le procédé de démodulation selon l'invention peut donc être mis en œuvre de diverses manières, et notamment sous forme câblée ou sous forme logicielle.
Dans un autre mode de réalisation, l'invention concerne un dispositif de démodulation de symboles reçus, correspondant à des symboles modulés après passage dans un canal de transmission, délivrant une séquence binaire reconstruite, les symboles modulés étant obtenus à partir d'une séquence binaire source, ayant subi avant émission :
- un codage correcteur d'erreurs de la séquence binaire source, délivrant une pluralité de mots de code ;
- un entrelacement des mots de code, délivrant une séquence entrelacée ;
- une modulation différentielle de la séquence entrelacée, délivrant des symboles modulés ; chaque mot de code étant décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux du nombre d'états de la modulation différentielle, et l'entrelacement répartissant les groupes dans la séquence entrelacée de façon que deux groupes adjacents dans la séquence entrelacée appartiennent à des mots de code distincts. Selon l'invention, un tel dispositif comprend :
- des moyens de démodulation différentielle des symboles reçus, mettant en œuvre un traitement inverse à la modulation différentielle mise en œuvre en émission, délivrant une séquence démodulée ;
- des moyens de désentrelacement de la séquence démodulée, mettant en œuvre un traitement inverse à l'entrelacement mis en œuvre en émission, délivrant une pluralité de mots de code ;
- des moyens de décodage des mots de code, délivrant la séquence binaire reconstruite.
Un tel dispositif est notamment adapté à mettre en œuvre le procédé de démodulation décrit précédemment, et à recevoir des symboles modulés selon le procédé de modulation décrit précédemment. Il peut notamment être intégré à un récepteur utilisé pour les communications optiques.
Ce dispositif de démodulation pourra bien sûr comporter les différentes caractéristiques relatives au procédé de démodulation selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de démodulation, et ne sont pas détaillés plus amplement.
4. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : les figures IA et IB rappellent le fonctionnement d'une modulation classique et d'une modulation différentielle ; la figure 2 illustre les principales étapes mises en œuvre par le procédé de modulation selon un mode de réalisation particulier de l'invention ; les figures 3A à 3C présentent trois exemples de mise en œuvre du procédé de modulation selon la figure 2 ; la figure 4 illustre les performances de l'invention, par rapport aux techniques de l'art antérieur ; - la figure 5 illustre les principales étapes mises en œuvre par le procédé de démodulation selon un mode de réalisation de l'invention ; la figure 6 présente un exemple de mise en œuvre du procédé de démodulation selon la figure 5 ; les figures 7A et 7B représentent la complexité de l'algorithme de décodage, en fonction du nombre de syndromes calculés et du nombre de décodages réalisés, en moyenne, pour un second mot de code ; les figures 8A et 8B illustrent les structures simplifiées d'un dispositif de modulation et d'un dispositif de démodulation selon un mode de réalisation particulier de l'invention. 5. Description d'un mode de réalisation de l'invention
5.1 Principe général
Le principe général de l'invention repose sur un regroupement spécifique des bits composant un mot de code, et un entrelacement spécifique de ces groupes, permettant de répartir les groupes des différents mots de code dans une séquence entrelacée, de façon que deux groupes adjacents (i.e. côte à côte dans la séquence entrelacée) appartiennent à des mots de code distincts. On note que ces groupes adjacents correspondent à des transitions consécutives, correspondant par exemple aux sauts de phase consécutifs entre les symboles modulés pour une modulation de phase.
En d'autres termes, l'invention propose de répartir les erreurs survenant au cours de la transmission sur des mots de code différents. On entrelace donc les mots de code issus du codage correcteur d'erreurs de manière à ne pas avoir deux groupes de bits provenant d'un même mot de code côte à côte. Si une erreur de transmission se produit, elle corrompt ainsi deux groupes de bits côte à côte, qui appartiennent à des mots de code différents, et qui sont décodés par un même décodeur s'ils sont issus d'un même code correcteur d'erreurs (ou FEC, en anglais « Forward Error Correction »), et par des décodeurs différents s'ils sont issus de codes correcteurs d'erreurs (FEC) différents.
L'invention permet ainsi d'améliorer les performances de transmission en répartissant les erreurs de transmission entre plusieurs mots de code, grâce à une combinaison des techniques de codage correcteur d'erreurs, de modulation utilisant un encodage différentiel, et d'un entrelacement spécifique. On adapte ainsi les techniques de codage correcteur d'erreurs aux particularités de l'encodage différentiel.
La figure 2 illustre les principales étapes mises en œuvre côté modulation, pour la modulation d'une séquence binaire source bs formée d'une succession de mots source, délivrant des symboles modulés e, associés chacun à un état α/ d'une constellation correspondante. Ces symboles modulés peuvent ensuite être transmis via une communication optique par exemple, sous la forme d'un signal modulé.
Un tel procédé de modulation met tout d'abord en œuvre une étape de codage correcteur d'erreurs 21 de la séquence binaire source bs, encore notée FEC, délivrant une pluralité de mots de code.
Cette étape de codage correcteur d'erreurs 21 permet d'encoder les mots source de la séquence binaire source bs, formés de bits d'information, en utilisant au moins un code correcteur d'erreurs. On obtient ainsi des mots de code en sortie de cette étape 21, qui comprennent à la fois des bits d'information et des bits de redondance. L'étape de codage correcteur d'erreurs 21 peut mettre en œuvre un ou plusieurs modules de codage FEC, mettant chacun en œuvre un code correcteur d'erreurs distinct délivrant un mot ou plusieurs mots de code. On note que le nombre de modules de codage FEC ne dépend pas du nombre d'états de la modulation différentielle (ou de la constellation). Au cours d'une étape suivante d'entrelacement 22, les mots de code (deux, trois, quatre, ou plus) sont entrelacés, délivrant une séquence entrelacée.
Plus précisément, les mots de code peuvent être décomposés en groupes présentant un nombre de bits égal au logarithme en base deux du nombre d'états de la modulation différentielle. On rappelle que si le nombre de bits formant un mot de code ne correspond pas à un multiple du nombre de bits par groupe, il est aussi possible d'avoir un groupe particulier présentant un nombre de bits inférieur au logarithme en base deux du nombre d'états de la modulation.
L'étape d'entrelacement 22 répartit alors les différents groupes de façon que deux groupes adjacents dans la séquence entrelacée appartiennent à des mots de code distincts.
Par exemple, si l'on considère deux mots de code distincts, la séquence entrelacée est composée d'un premier groupe de bits du premier mot de code, suivi d'un premier groupe de bits du deuxième mot de code, suivi d'un deuxième groupe de bits du premier mot de code, suivi d'un deuxième groupe de bits du deuxième mot de code, etc. On peut ainsi considérer que les groupes associés à différents mots de code sont placés les uns à la suite des autres dans la séquence entrelacée, en alternant les groupes appartenant à des mots de code différents.
On note que cette étape d'entrelacement 22 dépend du nombre d'états de la modulation différentielle. En d'autres termes, on entrelace des paquets (groupes) de plusieurs bits, dont la taille varie en fonction de la constellation associée à la modulation différentielle. Par exemple, on entrelace les bits deux par deux dans le cas d'une modulation QPSK.
Finalement, au cours d'une étape de modulation différentielle 23, la séquence entrelacée de groupes de bits est modulée, délivrant des symboles modulés e, associés chacun à un état α/ de la constellation. On constate ainsi que chaque symbole modulé est construit à partir d'un groupe de bits provenant d'un même mot de code.
On rappelle que la séquence entrelacée en entrée de l'étape de modulation différentielle correspond aux transitions entre les symboles modulés. Chaque groupe de la séquence entrelacée est donc représentatif d'une transition entre deux symboles modulés. Ainsi, les mots de code entrelacés représentent les transitions entre les symboles modulés émis.
5.2 Exemples de mise en œuvre de la technique de modulation
On décrit ci-après quelques exemples de mise en œuvre de l'invention pour différents formats de modulation, pour lesquels le nombre de bits par groupe est supérieur ou égal à deux.
Plus précisément, la figure 3A illustre les principales étapes mises en œuvre pour une modulation d'amplitude à 16 états (modulation 16QAM).
Comme indiqué précédemment, les mots source de la séquence binaire bs sont successivement codés au cours de l'étape de codage correcteur d'erreurs 21. On considère par exemple que cette étape de codage met en œuvre trois modules de codage FEC 211, 212, 123, mettant chacun en œuvre un code correcteur distinct délivrant des mots de code présentant une taille identique.
Par exemple, le premier module de codage FEC 211 délivre un premier mot de code '011001...', puis le deuxième module de codage FEC 212 délivre un deuxième mot de code '010110...', puis le troisième module de codage FEC 213 délivre un troisième mot de code '010100...'. En d'autres termes, un seul module de codage FEC est utilisé à un instant donné. Le bloc 210 peut donc être vu comme un sélecteur du module de codage FEC à utiliser pour coder un mot source. On rappelle que le nombre de modules de codage FEC ne dépend pas du nombre d'états de la modulation différentielle, et que les mots de code issus des différents modules de codage peuvent être de taille différente.
Ces mots de code sont alors entrelacés au cours d'une étape d'entrelacement 22.
Plus précisément, on rappelle que selon l'invention, les mots de code peuvent être décomposés en groupes présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de la modulation différentielle, soit en groupes de 4 bits pour une modulation 16QAM. La taille d'un groupe, également appelé symbole (d'information ou de redondance), dépend donc de la constellation.
On définit ainsi un premier groupe dans le premier mot de code, noté g1 l 5 comprenant les bits '0110', un deuxième groupe dans le premier mot de code, noté gγ 2, comprenant les bits '01..', un premier groupe dans le deuxième mot de code, noté g2 \, comprenant les bits '0101', un deuxième groupe dans le deuxième mot de code, noté g2 2, comprenant les bits '10..', un premier groupe dans le troisième mot de code, noté g3 l 5 comprenant les bits '0101', un deuxième groupe dans le troisième mot de code, noté g3 2, comprenant les bits '00..', etc.
Ces groupes sont alors entrelacés, de façon que deux groupes adjacents n'appartiennent pas au même mot de code.
Par exemple, la séquence entrelacée comprend les groupes successifs suivants : §1 l' 82 l' §3 l' §1 2' etc- Selon une variante, la séquence entrelacée comprend les groupes successifs suivants : g1 l 5 g3 l 5 g2 l5 g1 2, etc. Selon une autre variante, la séquence entrelacée comprend les groupes successifs suivants : g2 l 5 g1 15 g3 l5 g2 2, etc. L'essentiel est que deux groupes consécutifs dans la séquence entrelacée n'appartiennent pas à un même mot de code.
On note que l'entrelacement de groupes appartenant à trois mots de code différents permet d'améliorer certaines performances. On rappelle en effet que deux erreurs de transmission produisent en général trois groupes (ou symboles d'information ou de redondance) erronés. Ainsi, en utilisant trois mots de code, deux erreurs de transmission successives peuvent être mieux corrigées. En effet, ces trois groupes sont, selon l'invention, repartis sur trois mots de code différents. On note qu'avec un entrelacement de deux mots de code seulement et deux erreurs de transmission, un des mots de code aurait eu un seul groupe de bits erroné, et l'autre mot de code aurait eu deux groupes de bits erronés. Il est donc possible, selon l'invention, d'utiliser un entrelacement sur plus de deux mots de code. La séquence entrelacée ainsi obtenue est alors modulée au cours de l'étape de modulation différentielle 23, délivrant les symboles modulés associés par exemple aux points «o 01Il a3 a\A de la constellation. C'est au cours de cette étape de modulation différentielle 23 que l'on réalise les opérations classiques de conversion série/parallèle de la séquence entrelacée, et de répartition sur une voie en phase et une voie en quadrature. On présente ci-après, en relation avec la figure 3B, les principales étapes mises en œuvre pour une modulation de phase à 4 états (modulation QPSK).
Comme indiqué précédemment, plusieurs mots de code sont délivrés au cours de l'étape de codage correcteur d'erreurs 21. On considère par exemple que cette étape de codage met en œuvre un unique module de codage FEC 214, délivrant au moins deux mots de code. Selon l'exemple illustré en figure 3B, ce module de codage FEC 214 code tout d'abord un premier mot source de la séquence binaire bs, et délivre un premier mot de code comprenant des bits d'information '01101001...' et des bits de redondance '11'. Le module de codage FEC 214 code ensuite un deuxième mot source de la séquence binaire bs, et délivre un deuxième mot de code comprenant des bits d'information '01101101... ' et des bits de redondance Ol'.
Ces mots de code sont alors entrelacés au cours d'une étape d'entrelacement 22. Pour ce faire, les mots de code provenant de l'unique module de codage FEC 214 sont tous les deux mis en mémoire. Les mots de code sont alors décomposés en groupes présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de la modulation différentielle, soit en groupes de deux bits pour une modulation QPSK.
Le premier mot de code comprend ainsi les groupes Ol', '10', '10', ' 01',... (comprenant des bits d'information), et '11' (comprenant des bits de redondance). Le deuxième mot de code comprend les groupes '01', '10', '11', '01', ...(comprenant des bits d'information), et '01' (comprenant des bits de redondance). Ces groupes sont alors entrelacés, de façon que deux groupes adjacents n'appartiennent pas au même mot de code.
Par exemple, la séquence entrelacée comprend les groupes successifs suivants : Ol', Ol', '10', '10', '10', '11', '01', '01', ..., '11', '01'.
Il est ainsi possible d'utiliser un seul module de codage, si l'on souhaite obtenir plusieurs mots de code en utilisant un même code correcteur d'erreurs.
La séquence entrelacée ainsi obtenue est alors modulée au cours de l'étape de modulation différentielle 23, délivrant les symboles modulés associés aux points
OCγ a2 a3 a2 al a4 a2 a3 a4 de ^a constellation.
On présente désormais, en relation avec la figure 3C, une variante de réalisation selon laquelle l'étape de codage correcteur d'erreurs 21 met en œuvre deux modules de codage FECl 215 et FEC2 216, mettant chacun en œuvre un code correcteur distinct générant des mots de code de longueur distincte.
Selon un premier exemple, le premier module de codage FECl 215 met en œuvre un code BCH(1022, 842) et le deuxième module de codage FEC2 216 met en œuvre un code BCH(942, 842). Selon cet exemple, les mots de code issus des modules de codage
FECl 215 et FEC2 216 présentent donc une longueur différente, mais un même nombre de bits d'information.
Selon cet exemple, et comme décrit précédemment, les mots source de la séquence binaire bs sont successivement codés au cours de l'étape de codage correcteur d'erreurs 21. Par exemple, le premier module de codage FECl 215 délivre un premier mot de code comprenant les bits d'information '011011...' et les bits de redondance '1111', puis le deuxième module de codage FEC2 216 délivre un deuxième mot de code comprenant les bits d'information '010011...' et les bits de redondance '011100'.
Ces mots de code sont, selon cette variante, décomposés en groupes de bits d'information et en groupes de bits de redondance. Par exemple, si on considère de nouveau une modulation QPSK, les mots de code sont décomposés en groupes de bits d'information et en groupes de bits de redondance de deux bits. On définit ainsi, dans le premier mot de code :
- un premier groupe de bits d'information, noté gi5 l5 comprenant les bits Ol' ; - un deuxième groupe de bits d'information, noté gi5 2, comprenant les bits '10' ;
- un troisième groupe de bits d'information, noté gi5 3, comprenant les bits '11' ;
- etc ;
- un premier groupe de bits de redondance, noté gr5 l 5 comprenant les bits '11' ;
- un deuxième groupe de bits de redondance, noté gr5 2, comprenant les bits '11'. et dans le deuxième mot de code :
- un premier groupe de bits d'information, noté gi6 l5 comprenant les bits Ol' ;
- un deuxième groupe de bits d'information, noté gi6 2, comprenant les bits OO' ;
- un troisième groupe de bits d'information, noté gi6 3, comprenant les bits '11' ; - etc ;
- un premier groupe de bits de redondance, noté gr6 l 5 comprenant les bits Ol' ;
- un deuxième groupe de bits de redondance, noté gr6 2, comprenant les bits '11' ;
- un troisième groupe de bits de redondance, noté gr6 3, comprenant les bits '00'.
A l'issue de l'étape de codage 21, on obtient donc une séquence codée formée des deux mots de code issus des codeurs FECl 215 et FEC2 216.
Selon cette variante de réalisation, les groupes sont alors entrelacés au cours de l'étape 22 d'entrelacement, de façon que deux groupes de bits d'information adjacents n'appartiennent pas au même mot de code. Les groupes de bits de redondance peuvent également être entrelacés. La séquence entrelacée ainsi obtenue comprend, par exemple, les groupes successifs suivants : gi5>1, gi6 1, gi5>2, gi6 2, gi5>3, gi6 3, ..., gr5>1, gr6>1, gr5 2, gr6 2, gr6>3.
L'étape d'entrelacement assure donc que les groupes de bits d'information voisins n'appartiennent pas à un même mot de code, alors que des groupes de bits de redondance (ou de parité) voisins peuvent appartenir à un même mot de code. Selon ce premier exemple, comme le deuxième codeur FEC2 216 délivre des mots de code présentant une longueur supérieure à celle des mots de code délivrés par le premier codeur FECl 215, plusieurs groupes de bits de redondance appartenant au deuxième mot de code se suivent dans la séquence entrelacée (gr6 2, grg 3).
La séquence entrelacée ainsi obtenue est alors modulée au cours de l'étape de modulation différentielle 23.
Selon un deuxième exemple, le premier module de codage FECl 215 met en œuvre un code BCH(1022, 982) et le deuxième module de codage FEC2 216 met en œuvre un code BCH(942, 862). Selon cet exemple, les mots de code issus des modules de codage
FECl 215 et FEC2 216 présentent donc une longueur différente, et un nombre de bits d'information différent.
Dans ce cas, l'entrelacement assure que les groupes voisins dans la séquence entrelacée n'appartiennent pas à un même mot de code, jusqu'à avoir utilisé tous les groupes du mot de code le plus court. Les groupes restants du mot de code le plus long sont alors « recopiés » dans la séquence entrelacée, et peuvent donc se retrouver voisins dans la séquence entrelacée.
Selon ce deuxième exemple, si l'on obtient, à l'issue de l'étape de codage 21, un premier mot de code formé des groupes gi5 1, gi5 2, ..., gi-s^, g^j, gr5 2 et un deuxième mot de code formé des groupes gi6 1, gi6 2, ..., gi6 N, gi6,N+1, gi6,N+2, gr6,l> gr6,2> gr63, la séquence entrelacée obtenue à l'issue de l'étape d'entrelacement 22 comprend les groupes successifs suivants : gÎ5,l' 8*6,1' 8*5,2' 8*6,2' • • •> g^N' S1O1N' gr5,l> 8*6^+1' êr5,2> 8*6^+2'- • •' êr6,l> gr6,2> gr6,3
Jusqu'à avoir épuisé tous les groupes du mot de code le plus court (premier mot de code), les groupes successifs de la séquence entrelacée appartiennent donc à des mots de code différents ; ensuite (c'est-à-dire à partir du groupe gi6 N+2) les groupes successifs de la séquence entrelacée peuvent appartiennent à un même mot de code (deuxième mot de code). On remarque que ces derniers groupes peuvent comprendre uniquement des bits de redondance, ou bien des bits d'information et des bits de redondance.
Dans le cas d'une modulation à deux états, comme la modulation DBPSK, la taille d'un groupe est égale à un bit, ce qui revient à faire un entrelacement bit par bit. Afin de corriger plus facilement les erreurs de transmission, il est toujours nécessaire selon l'invention d'appliquer une loi d'entrelacement spécifique, permettant de répartir les bits de façon que deux bits consécutifs n'appartiennent pas à un même mot de code. L'utilisation d'un entrelacement bit par bit classique n'est en revanche pas optimal pour réduire les défauts de l'encodage différentiel, puisqu'il ne permet pas nécessairement de répartir les erreurs sur des mots de code différents.
Finalement, on constate qu'un codage correcteur d'erreurs C(n,k,t) , qui délivre des mots de code de taille n à partir de k bits d'informations et qui corrige jusqu'à t erreurs de transmission, combiné à un entrelacement spécifique et un encodage différentiel selon l'invention, présente les mêmes performances en termes de taux de correction d'erreurs qu'un codage correcteur d'erreurs C(2n,2k,2t) sans entrelacement. L'entrelacement offre donc bien un gain de codage, et ce quel que soit le type de modulation utilisé.
La figure 4 illustre ainsi les performances de l'invention pour une modulation de type QPSK, en comparant le taux d'erreur binaire (BER, en anglais « Binary Error Rate ») en fonction du rapport signal à bruit en dB (SNR, en anglais « Signal to Noise Ratio »), pour différents types de codage correcteur d'erreurs, combinés à un entrelacement spécifique selon l'invention, ou sans entrelacement selon l'art antérieur.
On constate que les performances sont notables lorsque l'étape de codage correcteur d'erreurs met en œuvre un code correcteur d'erreurs binaire comme le BCH(255,239) ou le code produit BCH(255,239)xBCH(144,128) (avec décodage à décision ferme). Lorsque l'étape de codage correcteur d'erreurs met en œuvre un code correcteur d'erreurs non binaire comme les Reed-Solomon (RS), la taille du mot de code influe sur les bénéfices de l'entrelacement. Bien entendu, il est possible d'étendre cette technique à un nombre supérieur de mots de code, et à différentes tailles de constellation modulée en différentiel.
5.3 Fonctionnement de la technique de démodulation
La figure 5 illustre les principales étapes mises en œuvre côté démodulation, pour la démodulation de symboles reçus r correspondant à des symboles modulés e après passage dans un canal de transmission, délivrant une séquence binaire reconstruite bs .
Ces symboles reçus r peuvent être perturbés par le canal de transmission, ou le récepteur lui même (bruit blanc gaussien additif, distorsion, bruit de phase, interférences, etc). On estime alors le point α/ le plus proche de la constellation qui correspond au symbole reçu. Une erreur apparaît si les perturbations font que le symbole reçu se rapproche d'un point de la constellation qui diffère du point correspondant au symbole modulé émis.
Un tel procédé de démodulation est notamment adapté à recevoir un signal formé de symboles modulés issus du procédé de modulation décrit précédemment.
Plus précisément, un tel procédé met tout d'abord en œuvre une étape de démodulation différentielle 51 des symboles reçus, mettant en œuvre un traitement inverse à la modulation différentielle 23 mise en œuvre en émission, délivrant une séquence démodulée. Si on considère une modulation de phase mise en œuvre en émission par exemple, il est possible de mesurer le saut de phase entre chaque symbole reçu en réception, et de retrouver les transitions et les groupes de bits encodant ces transitions. La séquence démodulée est donc formée de groupes de bits successifs, puisque l'on code lors de la modulation différentielle chaque transition par un groupe de bits. Grâce à l'entrelacement spécifique mis en œuvre en émission, deux groupes de bits successifs appartiennent à des mots de code différents.
La séquence démodulée est ensuite désentrelacée au cours d'une étape de désentrelacement 52, mettant en œuvre un traitement inverse à l'entrelacement 22 mis en œuvre en émission, délivrant une pluralité de mots de code.
Les mots de code obtenus sont alors décodés au cours d'une étape de décodage 53, délivrant la séquence binaire reconstruite bs .
Sachant que la séquence démodulée présente une structure spécifique, selon laquelle deux groupes consécutifs n'appartiennent pas à un même mot de code, il est possible de réduire la complexité de décodage.
En effet, il est possible selon l'invention de décoder classiquement certains mots de code, et d'utiliser ces mots de code corrigés pour décoder d'autres mots de code. Par décodage classique, on entend un décodage algébrique pour des codes correcteurs d'erreurs de type BCH ou Reed Solomon par exemple, ou d'autres techniques de décodage classiques pour des codes correcteurs d'erreurs de type LDPC par exemple.
Ainsi, l'étape de décodage 53 met par exemple en œuvre une correction d'au moins un mot de code en utilisant un décodage correspondant au codage utilisé en émission, délivrant un mot de code corrigé, et une correction d'au moins un mot de code distinct à partir du mot de code corrigé précédemment.
En effet, on rappelle que les erreurs se produisent toujours au moins par paires dans le cadre d'un encodage différentiel. Ainsi, si on localise une erreur dans un groupe de bits d'un premier mot de code en utilisant un algorithme classique de détection/correction d'erreurs, appelé par la suite groupe courant, alors le groupe adjacent précédant ou suivant le groupe courant dans la séquence démodulée, dit groupe voisin, est nécessairement lui aussi affecté par des erreurs. De plus, de part la fonction spécifique d'entrelacement mise en œuvre selon l'invention, on est assuré que les deux groupes affectés par des erreurs
(groupe courant et groupe voisin) appartiennent à des mots de code distincts. Enfin, la connaissance de la valeur de l'erreur sur le groupe courant permet de déduire la valeur de l'erreur sur le groupe voisin.
On peut ainsi localiser et corriger les erreurs affectant un deuxième mot de code, connaissant les erreurs affectant un premier mot de code.
Ainsi, si l'on considère que la séquence démodulée comprend deux mots de code entrelacés, on peut ne décoder de manière classique qu'un mot de code sur les deux, et en déduire la correction à effectuer sur le second. Il est ainsi possible de réduire la complexité de décodage par deux.
5.4 Exemple de mise en œuvre de la technique de démodulation
On présente ci- après, en relation avec la figure 6, un exemple de mise en œuvre de l'étape de décodage 53, lors de la démodulation de symboles reçus correspondant à des symboles modulés ayant subis un codage correcteur d'erreurs délivrant deux mots de code, un entrelacement, et une modulation de phase à 4 états de type QPSK, tel que présenté en relation avec la figure 3B.
A l'issue de l'étape de démodulation différentielle 51, on considère que la séquence démodulée obtenue est formée des groupes successifs suivants : Ol', Ol', '10', OO', 'IV, 'IV, 'OV, 'OV, ..., '11', Ol'. Cette séquence est formée de groupes de bits tels que deux groupes consécutifs appartiennent à des mots de code différents. On rappelle que la séquence entrelacée à l'issue de l'étape d'entrelacement 22 mise en œuvre côté modulation comprenait les groupes successifs suivants : '01', '01', '10', '10', '10', '11', '01', '01', ..., '11', '01' (voir figure 3B).
A l'issue de l'étape de désentrelacement 52, on obtient les deux mots de code suivants :
- premier mot de code : '01', '10', '11', '01', ..., '11' ; - deuxième mot de code : '01', '00', '11', '01', ..., '01'.
Ces mots de code sont alors décodés au cours d'une étape de décodage 53.
Pour ce faire, on utilise une technique de décodage classique FEC 531 pour décoder le premier mot de code, puis on se sert du résultat de ce décodage classique pour localiser et corriger 532 les erreurs du deuxième mot de code. Il n'est donc pas nécessaire de réitérer tous les calculs classiques de décodage pour le deuxième mot de code.
Plus précisément, lorsque le module de décodage FEC 531 a détecté et corrigé une erreur dans le premier mot de code, affectant un groupe de bits dit groupe courant, il est certain qu'un groupe adjacent à ce groupe courant dans la séquence démodulée, appartenant donc au deuxième mot de code, est aussi erroné. En référence à la figure 6, lorsque le module de décodage FEC 531 a détecté une erreur affectant le groupe courant gc ('11'), le groupe voisin précédant gvp ('00') et/ou le groupe voisin suivant gvs ('11') présentent donc au moins une erreur.
On présente ci-après différentes techniques permettant de déterminer si l'erreur affecte le groupe voisin précédant gvp ('00'), le groupe voisin suivant gvs ('11'), ou ces deux groupes voisins. Ces différentes techniques peuvent être combinées.
Selon une première technique, on calcule la fiabilité des symboles reçus pour savoir s'il faut corriger chacun des groupes voisins ou juste le moins fiable d'entre eux. Cette décision est réalisée en fixant un seuil s, permettant de définir si les deux symboles reçus sont équivalemment fiables ou pas. La valeur de ce seuil s influe sur la complexité de décodage.
On affecte ainsi une première valeur de confiance au symbole reçu obtenu à partir du groupe voisin précédant gvp ('00'), correspondant au point U2 de la constellation selon notre exemple, et une deuxième valeur de confiance au symbole reçu obtenu à partir du groupe courant gc ('11'), correspondant au point OC4 de la constellation selon notre exemple.
Par exemple, ces valeurs de confiance sont déterminées à partir du logarithme du rapport de vraisemblance (LLR, en anglais « Log Likelihood ratio ») associé au symbole reçu correspondant :
Figure imgf000023_0001
où e est le symbole émis (encore appelé symbole modulé dans la description), r le symbole QPSK reçu, et ar le point de la constellation correspondant au symbole reçu.
Si l'on considère que les valeurs des logarithmes de rapport de vraisemblance sont normalisées, ce seuil prédéterminé s peut s'exprimer en pourcentage. Dans ce cas, si le seuil est égal à 100%, cela signifie que les deux symboles reçus sont équivalemment fiable et aucune décision n'est prise. On considère donc qu'il faut corriger chacun des groupes voisins. Si le seuil est égal à 0%, cela signifie qu'une décision « dure » est prise, et qu'un symbole reçu est plus fiable qu'un autre. On considère donc qu'il faut corriger uniquement le groupe voisin conduisant à la valeur de logarithme de rapport de vraisemblance la plus faible. Dans ce cas, la correction du deuxième mot de code est mise en œuvre pour le groupe voisin gvp (OO') précédent le groupe courant gc ('11') dans la séquence démodulée si la première valeur de confiance est inférieure à la deuxième valeur de confiance, ou pour le groupe voisin gvs ('11') suivant le groupe courant gc ('11') dans la séquence démodulée si la deuxième valeur de confiance est inférieure à la première valeur de confiance. On considère selon notre exemple que le seuil est égal à 0%. On considère également que la première valeur de confiance est inférieure à la deuxième valeur de confiance. C'est donc le groupe voisin gvp précédant (OO') qui comporte une erreur.
Pour savoir quelle correction appliquer une fois que l'on a déterminé qu'au moins une erreur affecte le groupe voisin précédant gvp (OO'), on se base sur une liste de configurations d'erreurs pré-établie, et on essaie toutes les configurations possibles.
Pour établir cette liste de configurations d'erreurs, on considère que chaque transition peut être mesurée en nombre de quadrant, pour une modulation QPSK. Ainsi, le groupe de bits '01' correspond par exemple à une transition de '1' quadrant. On peut donc mesurer les erreurs en nombre de quadrants. Par exemple, la réception du groupe '11', correspondant à une transition de deux quadrants, au lieu du groupe '01', correspondant à une transition d'un quadrant, correspond à une erreur de '-1 ' quadrant. èr
SSii oonn aappppeellllee NNeerrηη llaa iieme erreur, en nombre de quadrants, produite par k erreurs de transmission consécutives, on a: k+\
∑ Nerη = 0mod(4) i=\
On obtient ainsi les configurations suivantes pour une erreur de transmission (k = l) et deux erreurs de transmission successives (k = 2) : k Nerrj Nerr2 Nerr3
+1 -1
1 -1 +1
+2 -2
+1 +1 +2
+2 +1 +1
-1 -1 +2
+2 -1 -1
2 +1 +2 -1
-1 +2 +1
+2 0 +2
+1 0 -1
-1 0 +1
Si l'on considère une seule erreur de transmission (k = 1), une seule correction est possible pour le deuxième mot de code selon notre exemple. Ainsi, si le module de décodage FEC 531 a trouvé une erreur de +1 quadrant sur le groupe courant (réception du groupe '11' au lieu du groupe '10'), alors l'erreur sur le groupe voisin précédant gvp est de
-1 quadrant (réception du groupe OO' au lieu du groupe '10'). En effet, la somme des erreurs doit être égale à 0. La correction appliquée au deuxième mot de code correspond donc à l'inverse de celle appliquée au premier mot de code grâce au décodage classique
(algébrique ou autre).
Dans le cas d'erreurs de transmission successives ( k ≥ 2), plusieurs configurations d'erreurs sont probables et la complexité du décodage augmente. On étudie alors les corrections possibles que l'on pourrait appliquer au deuxième mot de code à partir de la liste de configurations d'erreurs. On définit ainsi un ensemble de mots de code « candidats » pour le deuxième mot de code. En étudiant ces mots de code candidats, on évite de réaliser un décodage classique du deuxième mot de code.
Plus précisément, afin de déterminer un mot de code « valide » parmi l'ensemble de mots de code candidats, c'est-à-dire un mot de code qui correspond à une bonne correction, on calcule le syndrome de chaque mot de code candidat. Par exemple, un tel syndrome peut être déterminé en utilisant la technique décrite par J. G. Proakis dans « Digital Communications » (troisième édition, New York: McGraw-Hill, 1989). Par exemple, pour un module de codage FEC mettant en œuvre un code linéaire en blocs de type Reed-
Solomon, BCH, LDPC, etc, chaque mot de code c doit être orthogonal à la matrice de contrôle de parité H du code : c.H T = 0. Le syndrome associé à ce module de codage est donc synd = c.H T .
Si le syndrome obtenu est nul pour un mot de code candidat, cela signifie que le mot de code candidat est un mot de code valide. On corrige donc le deuxième mot de code en le remplaçant par le mot de code candidat valide. Si on ne trouve aucun syndrome égal à 0 pour les différents mots de code candidats, cela signifie qu'aucun mot de code n'est valide. En d'autres termes, aucune des corrections proposées n'est correcte. On procède alors au décodage du deuxième mot de code, en utilisant une technique de décodage classique FEC.
Selon une deuxième technique, il est également possible de déterminer (si une erreur affecte le groupe voisin précédant gvp (OO'), le groupe voisin suivant gvs ('11'), ou ces deux groupes voisins, en utilisant directement la technique du syndrome.
Ainsi, connaissant l'erreur affectant le groupe courant, par exemple égale à +1, on sait que l'erreur affectant le groupe voisin précédant gvp (OO') ou le groupe voisin suivant gvs ('11') est égale à -1. On détermine donc un ensemble de mots de code candidats en modifiant les valeurs des bits du groupe voisin précédant gvp et/ou du groupe voisin suivant gvs dans le deuxième mot de code afin d'obtenir une erreur égale à -1. On sélectionne ensuite parmi les mots de code candidats celui qui présente un syndrome égal à 0, s'il existe.
Afin de réduire le nombre de mots de code candidats, il est possible de combiner cette deuxième technique à la première technique, en affectant des valeurs de confiance aux symboles reçus, comme décrit précédemment.
Finalement, l'algorithme de décodage selon l'invention met en œuvre les étapes suivantes :
- décodage classique du premier mot de code ; - si le deuxième mot de code est valide : o on arrête l'algorithme de décodage ;
- sinon : o on teste des configurations d'erreurs possibles en utilisant des mots de code candidats ; o s'il y a un mot de code candidat valide :
' on arrête l'algorithme de décodage ; o sinon :
' on met en œuvre un décodage classique du deuxième mot de code.
Par ailleurs, on a décrit en relation avec la figure 6 un exemple de mise en œuvre de l'étape de décodage 53, lors de la démodulation de symboles reçus correspondants à des symboles modulés ayant subis un codage correcteur d'erreurs délivrant deux mots de code, un entrelacement, et une modulation QPSK. Bien entendu, la technique de décodage à complexité réduite selon l'invention peut être mise en œuvre quelque soit le nombre de mots de code délivrés par le codage correcteur d'erreurs côté émission.
Ainsi, si l'on considère un codage correcteur d'erreurs délivrant trois mots de code, et un entrelacement de ces trois mots de code selon l'invention, on peut décoder classiquement deux mots de code sur les trois, et en déduire le décodage du troisième mot de code. La complexité de décodage est dans ce cas réduite d'un tiers. On note à cet effet, que toutes les configurations de deux erreurs de transmission successives sont détectables et corrigeables.
Si l'on considère un codage correcteur d'erreurs délivrant quatre mots de code, et un entrelacement de ces quatre mots de code selon l'invention, on peut décoder classiquement deux mots de code sur les quatre. On peut alors conditionner le décodage d'un troisième mot de code au fait de trouver un mot de code valide pour ce troisième mot de code. Ainsi, si on dispose d'un mot de code valide, on décode le troisième puis le quatrième mot de code en tenant compte des corrections apportées aux premier et deuxième mots de code. Si on ne dispose pas d'un mot de code valide, on décode le troisième mot de code de manière classique, et on cherche à décoder le quatrième mot de code en tenant compte des corrections apportées aux premier, deuxième et troisième mots de code.
Ainsi, on note que l'entrelacement de plusieurs mots de code offre la possibilité de détecter et corriger directement beaucoup de configurations d'erreurs.
En particulier, la complexité de l'algorithme proposé dépend à la fois du nombre de syndromes calculés et du nombre de décodages effectués, selon le nombre de mots de code entrelacés.
Les figures 7A et 7B illustrent le nombre de syndromes calculés (figure 7A) et le nombre de décodages effectués (figure 7B) en moyenne pour le second mot de code (dans le cas où seulement deux mots de code sont entrelacés), en fonction du rapport signal à bruit SNR, pour un codage correcteur d'erreurs de type BCH(1023,883) délivrant deux mots de code et une modulation de type QPSK, et pour différents niveaux de seuil s pour la valeur de confiance :
- s = 100% , courbes 71 A et 71B ;
- s = 20% , courbes 72A et 72B ;
- s = 0% , courbes 73A et 73B ;
On constate sur ces courbes qu'à fort SNR et pour un seuil de 0%, c'est-à-dire lorsqu'on choisit de corriger le groupe de bits correspondant au symbole QPSK le moins fiable, le nombre de syndromes et de décodages classiques est négligeable.
On ne réalise donc qu'un décodage classique pour le premier mot de code, et on en déduit directement le deuxième, ce qui correspond à une réduction de 50% de la complexité de décodage par rapport aux solutions classiques de l'art antérieur. On note également que, puisqu'il est toujours possible d'effectuer un décodage classique du deuxième mot de code si l'on ne trouve pas de mot de code valide, il n'y a aucune perte de gain accompagnant la réduction de complexité.
La solution proposée par l'invention permet ainsi d'obtenir un gain de codage significatif et une réduction de complexité pouvant aller jusqu'à 50%, ce qui est un atout considérable dans le cas de transmission optique très haut débit notamment. Elle repose sur la mise en œuvre d'une modulation différentielle, et est donc transposable à toute famille de codes correcteurs d'erreurs et à toutes tailles de constellation.
5.5 Réduction de redondance
L'algorithme de décodage proposé ci-dessus montre comment le décodage d'un premier mot de code permet de déduire totalement le décodage d'un deuxième mot de code. Il n'apparaît donc pas nécessaire de coder les bits d'information correspondant au deuxième mot de code et d'y ajouter des bits de redondance, si ces bits de redondance ne sont pas utilisés pour le décodage.
Néanmoins, dans certaines situations, le décodage classique du deuxième mot de code doit être réalisé (lorsqu'on n'a pas trouvé de mot de code valide). Il apparaît donc préférable d'encoder les bits d'information.
On propose donc, selon une caractéristique particulière de l'invention, de mettre en œuvre des codes correcteurs d'erreurs distincts, délivrant chacun un mot de code distinct. Les mots de code entrelacés peuvent ainsi provenir de modules de codage FEC mettant en œuvre des codes correcteurs d'erreurs différents, et générant des mots de code de taille différente (présentant plus ou moins de redondance).
Selon cette caractéristique particulière, on utilise dans le deuxième module de codage un code correcteur d'erreurs moins puissant que celui utilisé dans le premier module de codage, et qui génère donc moins de bits de redondance.
Ainsi, si on note C\{nι,k\) le code utilisé dans le premier module de codage (premier code), et CjinjΛj) Ie code utilisé dans le deuxième module de codage (deuxième code), avec nj > n\ , la redondance totale (en nombre de bits de redondance par rapport au nombre de bit total) est définie par : {n\ + n2) - k\ - k2 r = • n\ + ri2
On a aussi r < r\ , avec rγ = — qui correspondrait à la redondance totale si les nx premier et deuxième modules de codage étaient identiques.
On note que le deuxième code, moins puissant, ne peut pas décoder les erreurs aussi bien que le premier code. Il en résulte donc un palier d'erreur si un décodage classique du deuxième mot de code est mis en œuvre.
Pour abaisser ce palier, on doit considérer le plus de configurations d'erreurs possible, comme par exemple les configurations de deux erreurs successives listées précédemment (k = 2).
On note également que même si aucune des corrections proposées ne rend un mot de code valide, l'une de ces corrections doit être proche de la bonne correction. On choisit donc d'effectuer un décodage classique sur la correction qui semble la plus probable, par exemple celle qui correspond aux symboles QPSK les moins fiables. On considère ainsi un algorithme en deux passes, comprenant une première passe au cours de laquelle on corrige certaines erreurs du deuxième mot de code en les déduisant de la correction du premier mot de code, puis une deuxième passe au cours de laquelle on utilise un décodage classique pour corriger les erreurs restantes après la première passe.
La capacité de correction nécessaire pour le deuxième module de codage générant le deuxième mot de code dépend donc du nombre d'erreurs restantes après la première passe (erreurs « manquées ») et donc de la qualité du décodage. 5.6 Structure simplifiée des dispositifs de modulation et de démodulation correspondants
On présente finalement, en relation avec les figures 8 A et 8B, la structure simplifiée d'un dispositif de modulation et d'un dispositif de démodulation mettant respectivement en œuvre une technique de modulation et une technique de démodulation selon l'un des exemples de réalisation décrits ci-dessus.
Un tel dispositif de modulation comprend une mémoire 81, une unité de traitement 82, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 83, mettant en œuvre le procédé de modulation selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 83 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 82. L'unité de traitement 82 reçoit en entrée une séquence binaire source bs formée d'une pluralité de mots source. Le microprocesseur de l'unité de traitement 82 met en œuvre les étapes du procédé de modulation décrit précédemment, selon les instructions du programme d'ordinateur 83, pour coder, entrelacer, et moduler la séquence binaire source, et émettre des symboles modulés e. Pour cela, le dispositif de modulation comprend, outre la mémoire tampon 81, des moyens de codage correcteur d'erreurs de la pluralité de mots source, délivrant une pluralité de mots de code, des moyens d'entrelacement des mots de code, délivrant une séquence entrelacée, et des moyens de modulation différentielle de la séquence entrelacée, délivrant des symboles modulés, tels que décrits précédemment. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 82. L'unité de traitement 82 transmet donc à destination d'un récepteur, via un canal de transmission, un signal modulé comprenant des symboles modulés. Le dispositif de démodulation de la figure 8B comprend quant à lui une mémoire
84, une unité de traitement 85, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 86, mettant en œuvre le procédé de démodulation selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 86 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 85. L'unité de traitement 85 reçoit en entrée des symboles reçus r. Le microprocesseur de l'unité de traitement 85 met en œuvre les étapes du procédé de démodulation décrit précédemment, selon les instructions du programme d'ordinateur 86, pour démoduler, désentrelacer, décoder les symboles reçus r, et reconstruire une séquence binaire bs . Pour cela, le dispositif de démodulation comprend, outre la mémoire tampon 84, des moyens de démodulation différentielle des symboles reçus, délivrant une séquence démodulée, des moyens de désentrelacement de la séquence démodulée, délivrant une pluralité de mots de code, et des moyens de décodage de mots de code, délivrant la séquence binaire reconstruite, tels que décrits précédemment. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 85.

Claims

REVENDICATIONS
1. Procédé de modulation d'une séquence binaire source formée d'une pluralité de mots source, délivrant des symboles modulés, caractérisé en ce qu'il met en œuvre : - un codage correcteur d'erreurs (21) de ladite pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ;
- un entrelacement (22) desdits mots de code, délivrant une séquence entrelacée ; - une modulation différentielle (23) de ladite séquence entrelacée, délivrant des symboles modulés ; en ce que chaque mot de code est décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de ladite modulation différentielle, et en ce que ladite étape d'entrelacement (22) répartit lesdits groupes dans ladite séquence entrelacée, de façon que deux groupes adjacents dans ladite séquence entrelacée appartiennent à des mots de code distincts.
2. Procédé de modulation selon la revendication 1, caractérisé en ce que ledit codage correcteur d'erreurs (21) met en œuvre au moins deux codes correcteurs d'erreurs distincts, délivrant chacun des mots de code distincts.
3. Procédé de modulation selon la revendication 2, caractérisé en ce que, lorsque lesdits mots de code obtenus par la mise en œuvre de codes correcteurs d'erreurs distincts présentent une longueur différente, ladite étape d'entrelacement (22) entrelace lesdits groupes jusqu'à avoir réparti tous les groupes du mot de code présentant la plus petite longueur.
4. Procédé de modulation selon l'une quelconque des revendications 1 à 3, caractérisé en ce que, lesdits mots de code comprenant des bits d'information et des bits de redondance, chaque mot de code est décomposé en au moins un groupe de bits d'information et au moins un groupe de bits de redondance, et en ce que ladite étape d'entrelacement (22) répartit lesdits groupes de bits d'information dans ladite séquence entrelacée, de façon que deux groupes de bits d'information adjacents dans ladite séquence entrelacée appartiennent à des mots de code distincts.
5. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de modulation selon l'une au moins des revendications 1 à 4.
6. Dispositif de modulation d'une séquence binaire source formée d'une pluralité de mots source, délivrant des symboles modulés, caractérisé en ce qu'il comprend :
- des moyens de codage correcteur d'erreurs (21) de ladite pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ;
- des moyens d'entrelacement (22) desdits mots de code, délivrant une séquence entrelacée ;
- des moyens de modulation différentielle (23) de ladite séquence entrelacée, délivrant des symboles modulés ; en ce que chaque mot de code est décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états d'une modulation différentielle mise en œuvre par lesdits moyens de modulation différentielle ; et en ce que lesdits moyens d'entrelacement (22) répartissent lesdits groupes dans ladite séquence entrelacée, de façon que deux groupes adjacents dans ladite séquence entrelacée appartiennent à des mots de code distincts.
7. Signal formé de symboles modulés, caractérisé en ce que lesdits symboles modulés sont obtenus à partir d'une séquence binaire source formée d'une pluralité de mots source, ayant subi avant émission :
- un codage correcteur d'erreurs de ladite pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ;
- un entrelacement desdits mots de code, délivrant une séquence entrelacée ;
- une modulation différentielle de ladite séquence entrelacée, délivrant des symboles modulés ; chaque mot de code étant décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de ladite modulation différentielle ; et ledit entrelacement répartissant lesdits groupes dans ladite séquence entrelacée, de façon que deux groupes adjacents dans ladite séquence entrelacée appartiennent à des mots de code distincts.
8. Procédé de démodulation de symboles reçus, correspondant à des symboles modulés après passage dans un canal de transmission, délivrant une séquence binaire reconstruite, lesdits symboles modulés étant obtenus à partir d'une séquence binaire source formée d'une pluralité de mots source, ayant subi avant émission :
- un codage correcteur d'erreurs de ladite pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ;
- un entrelacement desdits mots de code, délivrant une séquence entrelacée ;
- une modulation différentielle de ladite séquence entrelacée, délivrant des symboles modulés ; chaque mot de code étant décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux d'un nombre d'états de ladite modulation différentielle ; et ledit entrelacement répartissant lesdits groupes dans ladite séquence entrelacée, de façon que deux groupes adjacents dans ladite séquence entrelacée appartiennent à des mots de code distincts, caractérisé en ce que ledit procédé de démodulation met en œuvre les étapes suivantes : - démodulation différentielle (51) desdits symboles reçus, mettant en œuvre un traitement inverse à la modulation différentielle mise en œuvre en émission, délivrant une séquence démodulée ;
- désentrelacement (52) de ladite séquence démodulée, mettant en œuvre un traitement inverse à l'entrelacement mis en œuvre en émission, délivrant une pluralité de mots de code ;
- décodage (53) desdits mots de code, délivrant ladite séquence binaire reconstruite.
9. Procédé de démodulation selon la revendication 8, caractérisé en ce que ledit décodage (53) met en œuvre les étapes suivantes : o correction, à partir d'au moins un code correcteur d'erreurs, d'au moins un premier mot de code comprenant au moins un groupe comprenant au moins un bit erroné, dit groupe courant, délivrant un premier mot de code corrigé ; o correction, à partir dudit premier mot de code corrigé, d'au moins un mot de code distinct comprenant un groupe adjacent audit groupe courant dans ladite séquence démodulée, dit groupe voisin.
10. Procédé de démodulation selon la revendication 9, caractérisé en ce qu'il comprend une étape d'affectation d'une première valeur de confiance au symbole reçu obtenu à partir dudit groupe voisin précédent ledit groupe courant dans ladite séquence démodulée, et d'une deuxième valeur de confiance au symbole reçu obtenu à partir dudit groupe courant, et en ce que ladite étape de correction dudit mot de code distinct est mise en œuvre pour le groupe voisin précédent ledit groupe courant dans ladite séquence démodulée et/ou pour le groupe voisin suivant ledit groupe courant dans ladite séquence démodulée en tenant compte desdites valeurs de confiance.
11. Procédé de démodulation selon la revendication 10, caractérisé en ce que lesdites valeurs de confiance sont égales au logarithme du rapport de vraisemblance associé au symbole reçu correspondant.
12. Procédé de démodulation selon l'une quelconque des revendications 9 à 11, caractérisé en ce que ladite étape de correction dudit mot de code distinct comprend : - une étape de détermination d'au moins un mot de code candidat pour ledit mot de code distinct ;
- une étape de détermination du syndrome associé au ou auxdits mots de code candidats ;
- une étape de sélection dudit mot de code candidat présentant un syndrome nul, délivrant le mot de code distinct corrigé.
13. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de démodulation selon l'une au moins des revendications 8 à 12.
14. Dispositif de démodulation de symboles reçus, correspondant à des symboles modulés après passage dans un canal de transmission, délivrant une séquence binaire reconstruite, lesdits symboles modulés étant obtenus à partir d'une séquence binaire source formée d'une pluralité de mots source, ayant subi avant émission : - un codage correcteur d'erreurs de ladite pluralité de mots source, mettant en œuvre un ou plusieurs modules de codage mettant chacun en œuvre un code correcteur d'erreurs distinct, délivrant une pluralité de mots de code, lesdits mots source étant codés successivement ;
- un entrelacement desdits mots de code, délivrant une séquence entrelacée ; - une modulation différentielle de ladite séquence entrelacée, délivrant des symboles modulés ; chaque mot de code étant décomposé en au moins un groupe présentant un nombre de bits égal au logarithme en base deux du nombre d'états de ladite modulation différentielle ; et ledit entrelacement répartissant lesdits groupes dans ladite séquence entrelacée, de façon que deux groupes adjacents dans ladite séquence entrelacée appartiennent à des mots de code distincts, caractérisé en ce que ledit dispositif comprend :
- des moyens de démodulation différentielle (51) desdits symboles reçus, mettant en œuvre un traitement inverse à la modulation différentielle mise en œuvre en émission, délivrant une séquence démodulée ;
- des moyens de désentrelacement (52) de ladite séquence démodulée, mettant en œuvre un traitement inverse à l'entrelacement mis en œuvre en émission, délivrant une pluralité de mots de code ; - des moyens de décodage (53) desdits mots de code, délivrant ladite séquence binaire reconstruite.
PCT/EP2010/054467 2009-04-03 2010-04-02 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 WO2010112606A2 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/262,751 US8856608B2 (en) 2009-04-03 2010-04-02 Modulation method and device implementing a differential modulation, corresponding demodulation method and device, signal and computer software products
JP2012502704A JP5651679B2 (ja) 2009-04-03 2010-04-02 差動変調を実施する変調方法及びデバイス、対応する復調方法及びデバイス、信号を送信する方法並びにコンピュータソフトウェア
CN201080018829.4A CN102428667B (zh) 2009-04-03 2010-04-02 实施差分调制的调制方法和装置、对应的解调方法和装置
EP10712446.3A EP2415193B1 (fr) 2009-04-03 2010-04-02 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
KR1020117026233A KR101694789B1 (ko) 2009-04-03 2010-04-02 차동 변조를 구현하는 변조 방법과 장치, 대응하는 복조 방법과 장치, 신호, 및 컴퓨터 프로그램 제품

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0952207A FR2944171B1 (fr) 2009-04-03 2009-04-03 Procede et dispositif de modulation mettant en oeuvre une modulation differentielle, procede et dispositif de demodulation, signal et produits programme d'ordinateur correspondants.
FR0952207 2009-04-03

Publications (2)

Publication Number Publication Date
WO2010112606A2 true WO2010112606A2 (fr) 2010-10-07
WO2010112606A3 WO2010112606A3 (fr) 2010-12-29

Family

ID=41340374

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/054467 WO2010112606A2 (fr) 2009-04-03 2010-04-02 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

Country Status (7)

Country Link
US (1) US8856608B2 (fr)
EP (1) EP2415193B1 (fr)
JP (1) JP5651679B2 (fr)
KR (1) KR101694789B1 (fr)
CN (1) CN102428667B (fr)
FR (1) FR2944171B1 (fr)
WO (1) WO2010112606A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9048888B2 (en) 2010-10-27 2015-06-02 Autonetworks Technologies, Ltd. Power line communication system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5943062B1 (ja) * 2014-12-26 2016-06-29 Nttエレクトロニクス株式会社 光伝送システム
KR102296738B1 (ko) 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
WO2020164105A1 (fr) * 2019-02-15 2020-08-20 Zte Corporation Préambules d'accès aléatoire dans une communication sans fil
CN113114426A (zh) * 2021-04-21 2021-07-13 上海道生物联技术有限公司 一种两段式编码、调制发送方法及发送端
US20220416941A1 (en) * 2021-06-23 2022-12-29 Intel Corporation Apparatus, system and method of encoding/decoding data according to a parity function

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5325443B2 (fr) * 1972-12-29 1978-07-27
US4092491A (en) * 1977-04-04 1978-05-30 Bell Telephone Laboratories, Incorporated Differential encoding and decoding scheme for digital transmission systems
US4270025A (en) * 1979-04-09 1981-05-26 The United States Of America As Represented By The Secretary Of The Navy Sampled speech compression system
US4882733A (en) * 1987-03-13 1989-11-21 Ford Aerospace Corporation Method and apparatus for combining encoding and modulation
JP2692096B2 (ja) * 1987-12-24 1997-12-17 日本電気株式会社 符号誤り訂正回路
JPH09153918A (ja) * 1995-11-30 1997-06-10 Nippon Telegr & Teleph Corp <Ntt> ディジタル伝送装置
JP2000004215A (ja) * 1998-06-16 2000-01-07 Matsushita Electric Ind Co Ltd 送受信システム
US6754262B1 (en) * 2000-04-07 2004-06-22 Zenith Electronics Corporation Multipath ghost eliminating equalizer with optimum noise enhancement
US20020138793A1 (en) * 2001-03-26 2002-09-26 Leif Wilhelmsson Iterative decoding of differentially modulated symbols
DE10257463B4 (de) * 2002-12-09 2006-04-20 Infineon Technologies Ag IR-Speicher
EP1523099A1 (fr) * 2003-06-13 2005-04-13 Broadcom Corporation Tables Gray en espace multi-dimensionnel pour modulation de phase multi-dimensionnelle appliquée à une modulation codée LDPC (Contrôle de parité de faible densité)
EP1501198A1 (fr) * 2003-07-24 2005-01-26 Matsushita Electric Industrial Co., Ltd. Méthode, codeur et appareil de communication pour coder individuellement des segments de mots de codage
US8391410B2 (en) * 2004-07-29 2013-03-05 Qualcomm Incorporated Methods and apparatus for configuring a pilot symbol in a wireless communication system
CN101032110B (zh) * 2004-07-29 2012-05-09 高通股份有限公司 用于进行交织的系统和方法
JP4494238B2 (ja) * 2005-02-03 2010-06-30 株式会社エヌ・ティ・ティ・ドコモ Mimo多重送信装置およびmimo多重送信方法
US7770090B1 (en) * 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for LDPC codes
DE102005051577B4 (de) * 2005-10-21 2008-04-30 Engel Solutions Ag Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens
FR2904166B1 (fr) * 2006-07-18 2020-07-10 Thales Dispositif de modulation a etalement de spectre pour transmissions sous-marines discretes.
EP2413530B1 (fr) * 2010-07-27 2016-06-29 ADVA Optical Networking SE Appareil et procédé pour réaliser le codage et décodage partiel de bits

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. G. PROAKIS: "Digital Communications", 1989, MCGRAW-HILL

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9048888B2 (en) 2010-10-27 2015-06-02 Autonetworks Technologies, Ltd. Power line communication system
DE112011103594B4 (de) * 2010-10-27 2017-11-16 Autonetworks Technologies, Ltd. Netzleitungs-Kommunikationssystem

Also Published As

Publication number Publication date
KR20120013973A (ko) 2012-02-15
CN102428667B (zh) 2015-05-13
EP2415193A2 (fr) 2012-02-08
US20120131411A1 (en) 2012-05-24
EP2415193B1 (fr) 2018-01-10
WO2010112606A3 (fr) 2010-12-29
JP2012523151A (ja) 2012-09-27
US8856608B2 (en) 2014-10-07
CN102428667A (zh) 2012-04-25
JP5651679B2 (ja) 2015-01-14
FR2944171A1 (fr) 2010-10-08
FR2944171B1 (fr) 2012-12-21
KR101694789B1 (ko) 2017-01-23

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
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&#39;ordinateur correspondants
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
EP2341628A2 (fr) Procédé de codage LDPC a redondance incrémentale
FR2845227A1 (fr) Procede de reception d&#39;un signal module selon une technique de codage multi-niveaux, procede de decodage, dispositif de reception, systeme de codage-decodage et applications correspondant
EP2266234B1 (fr) Procede de transmission d&#39;un signal numerique entre au moins deux emetteurs et au moins un recepteur, mettant en oeuvre au moins un relais, produit programme et dispositif relais correspondants
EP2661814A1 (fr) Procédé de décodage et décodeur
EP1128589B1 (fr) Critère d&#39;interruption pour un décodeur turbo
EP1345350A1 (fr) Procédé de modulation et de détermination du nombre de bits à transmettre sur un canal de transmission
EP3476071A1 (fr) Transmission dynamique et selectif fd-dsdf d&#39;un signal numerique pour un systeme marc/mamrc avec relais full-duplex et une voie de retour limitee
EP0774840B1 (fr) Procédé de transmission d&#39;une séquence de bits d&#39;information avec protection sélective contre les erreurs de transmission, procédés de codage et de correction pouvant être mis en oeuvre dans un tel procédé de transmission
EP1754311B1 (fr) Systeme de compensation de dephasage pour turbo decodeur
WO2006087497A2 (fr) Procede et dispositif de synchronisation trame
FR2805418A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
FR2922699A1 (fr) Decodage iteratif dans un reseau maille, procede et systeme correspondants
FR2924288A1 (fr) Procede et dispositif de decodage iteratif par effacement, produit programme d&#39;ordinateur et moyen de stockage correspondants
FR2953345A1 (fr) Procede de determination d&#39;une copie a decoder et d&#39;un vecteur d&#39;effacements associe, produit programme d&#39;ordinateur, moyen de stockage et dispositif recepteur correspondants.
EP2893679A1 (fr) Procede d&#39;emission cooperative, signal, entite source, entite relais, procede de reception, entite destinataire, systeme et programme d&#39;ordinateur correspondant
EP2722992A1 (fr) Methode de codage pour canal a evanouissement quasi-periodique
EP4128543A1 (fr) Poinçonnage sélectif de codes non binaires
FR2967320A1 (fr) Procede et dispositif de decodage de donnees recues dans des trames
FR2932628A1 (fr) Procede et dispositif de decodage par commutation d&#39;un mode multicopies vers un mode monocopie, produit programme d&#39;ordinateur et moyen de stockage correspondants
WO2013079540A1 (fr) Decodeur de faible complexite pour codage convolutif
FR2954873A1 (fr) Procede de decodage correcteur d&#39;erreurs, produit programme d&#39;ordinateur, moyen de stockage et noeud destination correspondants.

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080018829.4

Country of ref document: CN

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

Ref document number: 10712446

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2010712446

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012502704

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20117026233

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13262751

Country of ref document: US