WO2012004321A1 - Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dispositif et programme d'ordinateur correspondants - Google Patents

Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dispositif et programme d'ordinateur correspondants Download PDF

Info

Publication number
WO2012004321A1
WO2012004321A1 PCT/EP2011/061444 EP2011061444W WO2012004321A1 WO 2012004321 A1 WO2012004321 A1 WO 2012004321A1 EP 2011061444 W EP2011061444 W EP 2011061444W WO 2012004321 A1 WO2012004321 A1 WO 2012004321A1
Authority
WO
WIPO (PCT)
Prior art keywords
linear form
candidate
code
pseudo
bit stream
Prior art date
Application number
PCT/EP2011/061444
Other languages
English (en)
Inventor
Roland Gautier
Eric Rannou
Mélanie MARAZIN
Gilles Burel
Original Assignee
Universite De Bretagne Occidentale
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 Universite De Bretagne Occidentale filed Critical Universite De Bretagne Occidentale
Priority to EP11733630.5A priority Critical patent/EP2591556A1/fr
Priority to CA2804395A priority patent/CA2804395C/fr
Priority to US13/808,837 priority patent/US9083381B2/en
Priority to AU2011275799A priority patent/AU2011275799B2/en
Publication of WO2012004321A1 publication Critical patent/WO2012004321A1/fr

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/33Synchronisation based on error coding or decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation

Definitions

  • the invention applies to the various domains with respect to the blind recognition of error correcting codes included in digital transmission bit frames intended to make them more robust.
  • the present invention consists firstly in an optimized method of blind recognition of error correcting codes, without prior knowledge of the synchronization and the segmentation length of the bit frames.
  • the present invention also includes an error correction code recognition system capable of real time adaptive processing.
  • the invention also consists in the development of a so-called dual pivot algorithm based on the algebraic processing of the received data.
  • FIG. 1 is a symbolic and simplified description of a transmitter 10 which transmits a coded signal through the transmission channel which will be decoded by the receiver 20.
  • a transmitter 10 which transmits a coded signal through the transmission channel which will be decoded by the receiver 20.
  • an error correction code to reduce errors in reception.
  • Error correcting codes are currently unavoidable for dealing with alterations that any transmission is likely to generate on digital data.
  • a wide variety of error correction codes are in use. It continues to enrich itself with mathematical and technological developments. This diversity of codes implemented is unavoidable. It responds to protection needs and technical constraints that are varied and evolving.
  • the error correcting codes used in error correction of digital transmission systems are characterized by parameters directly related to the nature of the transmission.
  • the technical purpose of the invention is to implement means at the receiving system that will identify these parameters, as well as allow their registration. This purpose has the effect of providing flexibility in the management of networks, and to allow the development of self-configuring transmission systems for any type of error correction coding used for the transmission of information. .
  • the invention thus aims to improve the blind recognition of error correcting codes, in particular by transposing it to the detection of a greater variety of codes. Its originality comes from its ability to perform flow processing in order to realize in particular a real-time reconfiguration, in order to be able to meet the constraints of maintenance in operational condition despite the constant increase in transmission rates. This technical possibility is particularly relevant in application areas such as cognitive radio or reconfigurable networks.
  • the aim of the invention is therefore to deal with correction codes in the broad sense, that is to say that may consist of several additional codes or blocks making it possible to improve the performance of correction codes, such as block codes and codes. convolutional, serial or parallel concatenated codes, turbocodes, LDPC codes, with interleaver or punching. This list is not exhaustive, the invention being able to work with other types of codes.
  • the aim of the invention is to highlight a method that takes as input a bit stream to be analyzed which is encoded and tainted with errors in order to reconstitute the encoder.
  • the method then performs iterative processing for the blind identification of the parameters of the encoder actually used by means of an innovative and fast algorithm according to a technique which is divided into two phases which will be described in detail later in the document.
  • the heart of the device of the invention is based on an algorithm called dualised pivot which is inspired by the classic algorithm of the Gaussian pivot but which has been completely redesigned from a dual point of view.
  • the transposition of treatment in the dual world offers several advantages. Indeed, this technical choice makes it possible first of all to greatly reduce the heaviness of the calculations of search of the parameters of the codes.
  • the algorithm also makes it possible to generate, even in noisy conditions, words of the dual code of small weights.
  • the invention thus authorizes the use of small-scale resources in terms of time, memory space and the complexity of electronic circuits during a hardware implementation.
  • the invention relates first of all to a method for blind reconstruction of at least one parameter of the error correction code from at least one binary frame, said parameter being unknown, characterized in that said method comprises a first step for roughly defining code parameters, dividing into
  • the invention also aims at a device for recognizing at least one parameter of an error correction code from at least one binary frame, said parameter being unknown, characterized in that the device uses means allowing the flow processing of the data, and that it comprises means associated with a first step intended to roughly define the parameters of the code, dividing into
  • Means for finding a length of data segmentation compatible with the desired code are provided.
  • Means for validating at least one linear form on at least a portion of the segment read are provided.
  • the device thus constituted may carry the name of a codanalyzer which synthesizes the function of analysis of the error correction codes.
  • the first step of the process aims to have fast and real time information on the parameters of the error correction code, the second step for refining the information.
  • the invention advantageously uses a filtering system between these two steps.
  • the method comprises a step of filtering the bitstream from the following parameters:
  • the filtering system is an innovative self-adaptive device that adjusts the selection of noisy words in real time based on the demands of the self-learning analyzer and on the basis of resources. It chooses to eliminate or not the data recognized as tainted by errors.
  • the invention therefore proposes a new method for determining at least one parameter of an error correction code implemented in transmission, called coding parameter, by analyzing a received bitstream (with or without errors). ).
  • such a method implements:
  • Such a method thus makes it possible to determine, blindly, from a binary train received with or without errors, at least one essential parameter of an error correction code, such as a compatible size of data segmentation. , a non-zero linear form of the error correction code in the dual domain, etc.
  • the selection step takes account of at least one element belonging to the group comprising:
  • the step of determining at least one candidate linear form associated with the code pseudo-word of the first step is implemented for at least two segments of the bit stream, and as long as the number of processed segments is less than a predetermined threshold.
  • the steps of determining at least one candidate linear form associated with the code pseudo-word or the new pseudo-code word implement a dual version of a pivot-type algorithm. Gauss.
  • the inventors proposed a dual version of this algorithm, centered on the linear forms and not on the vectors.
  • the computations are implemented in the dual of the error correction code, which reduces the processing complexity.
  • the dual version of the Gaussian pivot type algorithm determines at least one candidate linear form in the following form:
  • the validation steps of the candidate linear form (s) test the candidate linear form (s) on at least one following segment in the bit stream (for example a series of segments), and compare a number null values obtained with respect to a predetermined threshold.
  • the steps of refocusing and refining the validated linear form (s) imply a reduction in the size of the code pseudo-word or the new pseudo-code word associated with the validated linear form (s), by deletion of ⁇ consecutive bits.
  • Yet another aspect of the invention relates to the filtering step, which detects segments of the bitstream not verifying at least one parity relationship defined by the the validated linear forms, and eliminates a segment detected according to the size of the bit stream received.
  • the proposed filtering is self-adaptive, and dynamically adapts the elimination of data recognized as error-prone to the needs of the process.
  • it is possible to eliminate zero, one or more segments since the size of the received bit stream is taken into account, and thus the available segments (stored in the buffer memory).
  • the method comprises a step of updating the candidate linear forms prior to the fine synchronization step, implementing a Gauss pivot type algorithm making it possible to reduce each candidate linear form by all of the others. candidate linear forms.
  • Such an algorithm is a classic algorithm, well known to those skilled in the art.
  • Such an update of the candidate linear forms leads to an adaptation of the filtering, since the filtering step takes particular account of the linear forms.
  • the second step thus makes it possible to improve the "estimation" of the coding parameter (s) over the iterations, by updating at each iteration the filtering parameters.
  • the method comprises a step of identifying at least one error correction code associated with one or more coding parameters determined by reading in a correspondence table.
  • the invention relates to a device for determining at least one parameter of an error correction code implemented in transmission, said coding parameter, by analyzing a received bit stream.
  • such a device comprises:
  • first means for roughly defining the encoding parameter or parameters comprising:
  • determination means activated for at least one of the segments in the dual space of the error correction code, of at least one candidate linear form associated with a pseudo-code word belonging to the segment, and validation means the candidate linear form (s);
  • second means for refining the one or more coding parameters comprising the following means, activated in the form of at least one iteration:
  • Such a device is particularly suitable for implementing the method for determining at least one coding parameter described above. It is for example located at the entrance of a receiver / decoder.
  • This device can of course include the various characteristics relating to the method for determining at least one coding parameter according to the invention, which can be combined or taken in isolation. Thus, the features and advantages of this device are the same as those of the method, and are therefore not detailed further.
  • the invention in another embodiment, relates to a computer program comprising instructions for performing the steps of the method of determining at least one encoding parameter described above, when the program is executed by a computer.
  • the invention can thus be implemented in various ways, in particular in hard-wired form or in software form.
  • FIGS. 2a and 2b respectively represent the principle of segmentation of the code words, the refining and refocusing of the linear forms
  • FIG. 3 shows the main blocks of the invention and their interactions
  • Figures 4a and 4b show the process of blind reconstruction of error correcting codes
  • FIG. 5 describes the operating principle of the dualised pivot algorithm.
  • a buffer 301 temporarily stores the bitstream consisting of words of location and length N unknown prior.
  • a segmentation module of the bitstream and coarse synchronization 302 receives the information transmitted by the buffer memory.
  • the module retrieves data from the memory in the form of a segment of the first 2N'-1 bits of a data packet of length 2N 'which it uses as pseudo-words of the encoder.
  • Each pseudo-word makes it possible to construct 2N'-1 linear forms that are candidates for belonging to the dual code per call via the dualised pivot algorithm.
  • the module first transfers the segments of the bitstream to the linear forms calculation module 304 via the dualised pivot algorithm and receives the forms in return. linear.
  • the module assigns a value N 'of a probable multiple of the size of a code word of size N, calculates the coarse synchronization associated with it, and transmits to a parameterizable filtering device 303 the linear forms and the information of segmentation and synchronization.
  • a parameterizable filtering device 303 which receives the linear forms and the synchronization information and controls the buffer memory 301.
  • the device must be seen as a self-adaptive system which regulates in real time the selection of the noisy words according to the requests of the user. self-learning analyzer and according to resources.
  • the linear forms calculation module 304 containing the dual pivot algorithm of FIG. 5 which will be described in more detail later.
  • the module for identifying and testing linear forms close to the dual code 305.
  • the module tests the candidate linear forms on new pseudo-received words filtered by the parameterizable filtering device 303.
  • a compatible linear form is a linear form that cancels all the words of the code.
  • the pseudo-words received may not cancel in their entirety when they contain transmission errors.
  • the module for updating linear shapes and fine synchronization 306 which receives from the identification and testing module of linear forms close to the dual code 305 the linear forms that are compatible with received pseudo-words.
  • the update and fine synchronization module reorganizes the linear forms by integrating the new linear shapes received and by validating or not statistically the previously received linear shapes.
  • the update and fine synchronization module refines the synchronization. It transfers to the filter a set of linear forms describing the identified part of the dual code.
  • the update and fine synchronization module also delivers the size N 'of the code pseudo-words as well as the value representative of the synchronization instant which corresponds to a start of a data segment.
  • the validation and formatting module delivers a set of linear forms describing the identified part of the dual code.
  • the validation and formatting module formats the encoder parameters through its dual code and looks at the completeness of the code. If not, the validation and formatting module controls the processing of a new set of data.
  • the validation module and formatting finally delivers the code parameters such as its type, the characteristics of the interleaver if needed (and punching pattern if any) and the linear forms generating the dual code.
  • N size of a code word.
  • N ' size of a pseudo-code word.
  • Nbseg Number of segments already exploited for the construction of dual forms.
  • Nbmax (x) A user-defined function that gives the maximum allowed number of noisy segments or pseudo-words of size x that can be used to generate linear forms close to the dual of the code.
  • Number of consecutive bits which can be removed at the end of any block of size 2N 'bits while being assured that there remains a pseudo-complete word of size N' in the residual block.
  • Indmin position of the first non-zero coordinate of a linear form considered as belonging to the dual of the code.
  • Ind max position of the last nonzero coordinate of a linear form considered as belonging to the dual of the code.
  • NbMots Number of pseudo-words already exploited for the construction of linear forms close to the dual of the code.
  • N 'values it is possible at this level to optimize the choice of N 'values to accelerate the treatment process.
  • N 'amounts to testing all its divisors.
  • integers N with rather small prime divisors are more used in codes.
  • Other strategies are possible, in particular the use of tables containing a list of the most common N integers which would make it possible to reduce the processing times.
  • Another conceivable way consists in the recognition of the sequences dedicated to the management of the network thus making it possible to know directly a multiple of N.
  • the method selects at step E401 a value N 'and segments the bitstream into segments of 2N' consecutive bits.
  • the processing of the segments uses the variable Nbseg as well as the reduction matrix M.
  • the method sets the variable Nbseg to zero and sets the matrix M equal to the identity matrix I 2 N'-ide dimension 2N'-1.
  • step E402 the method according to the invention checks whether the variable Nbseg is less than a predetermined value Nbmax (2N'-1).
  • Nbmax (x) is the maximum allowed number of noisy segments or pseudo-words of size x that can be used to generate linear forms close to the dual of the code.
  • Nbmax (x) also controls the end of the dual-form search phase and gives access to the processing of the results. If the variable Nbseg is less than the predetermined value Nbmax (2N'-1), proceed to step E403. If not, go back to the beginning of the process.
  • Segment s comprising 2N 'received data is obtained.
  • Segment s is shown in Figure 2a. It includes a certain number of words received and thus constitutes the pseudo-word at the base of the treatment. It should be noted that the beginning of the segment s may not coincide with the beginning of a code word.
  • variable Nbseg is incremented by one unit.
  • step E405 the dualised pivot algorithm according to the invention is activated, it transfers the reduction matrix M of the candidate linear forms and the segment s, and in response obtains a new reduction matrix M.
  • the dualized pivot algorithm is described in Figure 5. This description is repeated at the end of the process description.
  • step E406 it is checked whether the segment s reduces to a set of null values. If the segment s is reduced to a set of zero values, return to step E402. If not, go to step E407.
  • Step E407 validates the candidate linear forms.
  • the candidate form is applied to a set of code pseudo-words of the segment s.
  • the proportion of 0 obtained allows through a threshold to validate or not the candidate form.
  • Various strategies can be envisaged to achieve this test function, their relevance depends on the conditions of use and the expectations of the user (risk taking vs. calculation time and means).
  • an acceptance threshold S a and a number K of pseudomots are fixed beforehand.
  • an acceptance threshold S a a refusal threshold S r , a number k of consecutive pseudo-words and a maximum number K max of pseudo-words are fixed beforehand. The test proceeds by iteration of k pseudo-words, without exceeding a total number K max . At the i th iteration, the number n from 0 obtained by applying n
  • step E408 the method checks whether a linear form of the dual code has been found. If yes, go to step E409. If not, return to step E402.
  • step E409 the linear shapes are refocused and refined. This step aims to reduce the number of bits useful for calculations.
  • the method determines the number ⁇ of consecutive bits that can be removed at the end of a segment s while ensuring that there remains a full code pseudo-code word of size N 'in the residual segment s'.
  • N the number of bits that can be removed at the end of a segment s while ensuring that there remains a full code pseudo-code word of size N 'in the residual segment s'.
  • N which is a divisor of N' closer to N. It then suffices to test by autocorrelation as described in step E407 to determine the credibility of the value N ".
  • N 'takes the value of N " the parameters of the coding method of the data bit frame as well as the matrix of the linear forms retained are updated.
  • FIGS. 2a and 2b An example of determining the number ⁇ of consecutive bits that can be removed at the end of a segment s is described through FIGS. 2a and 2b.
  • a pseudo word of length s containing code words of length N (ml, ...) is shown in FIG. 2a.
  • the bold vertical lines in Figure 2b represent the non-zero bits of the linear forms found.
  • Ind m i n represents the position of the first non-zero bit.
  • Ind max represents the position of the last non-zero bit resulting from the application of the linear form found on the pseudo-codeword.
  • the number ⁇ is equal to the difference between Ind max and Ind m i n plus one.
  • An offset of (Ind m a x plus N ') modulo 2N' is applied to linear shapes and to future segments of data of size 2N '.
  • the ⁇ last bits of each segment being useless to the treatment can be advantageously removed during the calculations.
  • the stage ends with the coarse synchronization.
  • the filter is initialized by providing it with the first coarse segmentation compatible with the encoder in the broad sense (length N 'and coarse synchronization t 0 ), as well as the first form (s) of the dual code. Thus ends the first phase.
  • the second phase of the method which starts with step E411, must end with the recognition of the error correction code. It will consist of refining the segmentation and synchronization parameters involved in its reconstruction. This phase introduces the function of the self-adaptive filter whose importance is paramount, as described later, in the choice of pseudo words to be filtered.
  • Figure 4b describes the process followed. It starts with a call to the filter which is responsible for providing pseudo code words of length 2N 'bits amputated their ⁇ last bits.
  • the filter is a self-adaptive device that eliminates or discards data recognized as error-prone by two purposes. The first is quantitative, it consists of answering imperatively the requests of the algorithm by providing enough pseudo-words received code. The second is qualitative, it consists in managing the quality of the transmitted code pseudo-words by allowing received pseudo-words to the noises recognized to ensure the flow necessary for the algorithm and to play on these noises recognized to confirm or invalidate the partial description of the dual code obtained during previous iterations of the algorithm according to the present invention.
  • the filter chooses a set of linear forms among those considered as belonging to the dual code to perform a sieve pseudo-words received too tainted errors. He rejects any pseudo-codeword on which this game is not identically nil.
  • the rediscovery by the algorithm according to the present invention of a form known but previously excluded by the filter of the game allowing the sieve reinforces the credibility of this linear form.
  • the second phase begins with step E450 which sets the variable NbMots to zero and sets the matrix M equal to the identity matrix w- ⁇ of dimension 2 ⁇ '- ⁇ . NbMots is the number of received pseudo-words already exploited for the reconstruction of dual linear forms.
  • step E451 the method checks whether the variable NbMots is less than a predetermined value Nbmax (2N'-8). If the variable NbMots is less than a predetermined value Nbmax (2N'- ⁇ ), proceed to step E452. If not, go to step E457.
  • step E452 a pseudo code word comprising 2N 'received data is obtained.
  • step E453 the variable NbMots is incremented by one unit.
  • step E454 the dual pivot algorithm according to the invention is activated first, the reduction matrix M is transferred to it and in response it receives a new reduction matrix M.
  • This step is similar to the step E405 of phase 1.
  • step E455 it is checked whether the received code pseudo-word is reduced to a set of null values. If the pseudo code word is reduced to a set of null values, it returns to step E451. If not, go to step E456.
  • step E456 the candidate linear forms are validated as previously described in step E407 of FIG. 4a. Once this operation is completed, we return to step E451.
  • Step E457 consists in updating the candidate linear forms.
  • the classical Gaussian Pivot algorithm is used to reduce each linear form by all the other linear forms to obtain more elementary forms, for example by removing linear combinations of several linear dual disjoint forms.
  • step E458 the block refines the synchronization and cyclically shifts the linear shapes accordingly.
  • the fine synchronization is performed in a manner similar to that described in step E409 of FIG. 4a.
  • the information available makes it possible to increase the value of ⁇ and thus to reduce the size of the data examined.
  • the finer the synchronization the greater is ⁇ and approaches N '. If ⁇ > ⁇ ', it is possible to determine if a length N "of translation of the dual linear forms is credible, if it is not the case, there is a suspicion of a N' strict divisor of N. We can then to double N 'The parameters of the coding method used to generate the redundant data as well as the matrix of the linear forms retained are updated.
  • the filter is updated with the offset and size information N'to be performed according to the fine synchronization and with new linear forms of the dual code.
  • the next step E460 is a validation and formatting step. At this stage, some dual linear forms can be eliminated, the knowledge of the length N of the code words is refined.
  • step E461 it is checked whether the code parameters such as N, t 0 , its type (the size of the interleaver of the code if necessary, punching pattern if necessary) and the shapes linear generating the dual code are fully identified. If yes, go to step E462. If not, proceed to step E463.
  • code parameters such as N, t 0 , its type (the size of the interleaver of the code if necessary, punching pattern if necessary) and the shapes linear generating the dual code are fully identified. If yes, go to step E462. If not, proceed to step E463.
  • step E462 the validation system delivers the parameters of the bit stream (N 'and t 0 ) and those of the code such as its type, the characteristics of the interleaver, the punching pattern, if any, and linear forms generating the dual code then forming a parity matrix.
  • step E463 the system checks whether the set constituted by the known dual linear forms is empty. If yes, return to step E400. If not, return to step E450.
  • the dualised pivot algorithm has the advantage of using only basic operations, allowing elementary manipulations transposable on the current electronic circuits.
  • the flow implementation of this dualised algorithm allows access to real time, a crucial requirement for concrete generalization in devices exchanging digital data.
  • the linear shapes generated are of low weight which respects the structure before interleaving (linear codes or convoluted codes possibly interleaved punched).
  • the linear forms built by the algorithm of the dualised pivot thus break the interleaver by delivering directly small words dual.
  • the dualised pivot algorithm is robust against the disturbances induced by transmission errors using conventional error code architectures (eg example linear codes or convoluted codes possibly interleaved punched). Indeed, the presence of errors in the transmitted words has no effect on the values taken by the linear forms whose weight is distributed outside the locations of the altered bits. The more a dual form is of small weight, the less its evaluation on the received words is likely to differ from that taken on the words emitted, those of the code. Thus a form of the dual code is all the more likely to cancel a lot of words received that it is of small weight. It is this type of shape that is favored by the dualised pivot algorithm.
  • conventional error code architectures eg example linear codes or convoluted codes possibly interleaved punched
  • Properties (i) and (ii) below deliver a dual version of the Gaussian pivot algorithm using a recursion.
  • Property (i) gives the initial linear forms; property (ii) reflects the consequences on the shapes of a pivot socket. These two properties allow the iterative calculation of the linear reduction forms by the method or the device.
  • i be a natural integer less than or equal to N.
  • P ⁇ p ⁇ , -, Pi ⁇ be a part of ⁇ l, ..., N ⁇ to i elements.
  • the set ⁇ will be used to designate the numbers corresponding to the pivots, p k denoting the number of the kth pivot.
  • J3 ⁇ 4 the matrix of M N (K) of which, for all j between 1 and N, the jth line is formed by the line vector J3 ⁇ 4, ⁇ coordinates of the jth linear form 3 ⁇ 4 in the canonical basis of the dual of K ⁇ N
  • the dualised pivot algorithm has the task of updating each matrix of linear forms of reduction at each pivot point.
  • JQ ' is the identity matrix of size NxN
  • W z - denotes the column vector formed by the coordinates of the vector v Vl ' Pl ) 1 ⁇ ; ⁇ i 1 obtained by reducing the vector v f by the pivot system (v, pi) 1 ⁇ ; ⁇ i _ 1 ⁇
  • the matrix of linear forms is initialized to the identity matrix.
  • Step E501 controls the transition to an additional pivot. If desired, proceed to step E503. If not, we return to step E502 with the result of the matrix of linear forms.
  • step E503 a vector t> is selected; that we will try to reduce.
  • step E504 the column vector " W / obtained by reduction of the vector v t is calculated: in step E505, it is checked whether the column vector " W / is a null vector. If yes, return to step E501. Otherwise, we go to step E506.
  • a pivot number p is chosen such that the / th coordinate of the column vector is non-zero.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

La présente invention concerne un procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dit paramètre de codage, par analyse d'un train binaire reçu. Selon l'invention, un tel procédé met en œuvre, une première étape permettant de définir grossièrement ledit au moins un paramètre de codage, et une deuxième étape permettant d'affiner ledit au moins un paramètre de codage.

Description

Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dispositif et programme d'ordinateur correspondants.
1. Domaine de l'invention
L'invention s'applique aux différents domaines pour ce qui est de la reconnaissance en aveugle de codes correcteurs d'erreurs inclus dans les trames binaires de transmissions numériques destinés à les rendre plus robustes.
La présente invention consiste d'abord en un procédé optimisé de reconnaissance en aveugle de codes correcteurs d'erreurs, sans connaissance préalable de la synchronisation et de la longueur de segmentation des trames binaires.
La présente invention consiste aussi en un système de reconnaissance de codes correcteurs d'erreurs capable d'opérer un traitement adaptatif en temps réel.
L'invention consiste aussi en la mise au point d'un algorithme dit de pivot dualisé à la base du traitement algébrique des données reçues.
2. Etat de l'art antérieur
Dans le domaine des télécommunications, il est fréquent de décrire une transmission numérique par trois éléments, un émetteur, un récepteur et un canal de transmission. La figure 1 décrit de façon symbolique et simplifié un émetteur 10 qui transmet un signal codé à travers le canal de transmission qui sera décodé par le récepteur 20. Pour augmenter la robustesse de la transmission, et s'affranchir des perturbations, il est connu de l'homme de l'art d'inclure dans le signal à transmettre un code correcteur d'erreurs visant à réduire les erreurs en réception.
Les codes correcteurs d'erreurs étant actuellement incontournables pour garantir des transmissions fiables, la maîtrise et la liberté lors de la mise en œuvre des codes revêtent un enjeu crucial par ailleurs eu égard au foisonnement des standards, des réseaux et des matériels. Dans tous les standards utilisés, l'approche privilégiée consiste en ce que l'émetteur et le récepteur se mettent d'accord sur le code correcteur d'erreurs, soit en le fixant une fois pour toute, soit par transmission en clair du schéma de codage et du code utilisé. Bien que cette approche soit à la base des communications classiques, elle trouve ses limites dans le fait que les codes choisis figurent parmi une liste très restreinte, fixe et non évolutive.
Afin d'améliorer les transmissions numériques, et pour pallier aux inconvénients précédents, une autre solution consiste à s'affranchir de l'entente préalable entre l'émetteur et le récepteur sur le code correcteur d'erreurs utilisé. Cette technique apporte une souplesse dans la gestion et le contrôle dynamiques des réseaux en réduisant voire éliminant les problèmes de compatibilité liés à la diversité des équipements connectés présents et futurs en les rendant auto-configurants du point de vue des codes correcteurs utilisés. Dans les systèmes de transmission imaginés, le dispositif de réception doit être configuré de telle sorte qu'il puisse identifier en aveugle les paramètres de l'émetteur.
Il existe à ce jour un certain nombre de techniques de détection en aveugle, telles que notamment proposées par Mélanie Marazin et al. dans les documents « Dual Code Method for Blind Identification ofi Convolutional Encoder for Cognitive Radio Receiver Design » et « Reconnaissance en aveugle de décodeur à base de code convolutif : Contribution à la mise en œuvre d'un récepteur intelligent ». Toutefois, les performances des algorithmes publiés sont assez limitées. En particulier, ces algorithmes fonctionnent dans des configurations tenant compte d'hypothèses fortes sur le type de code utilisé ainsi que sur le type d'erreur envisagé. Ils s'adressent donc à un type spécifique et restreint de codes correcteurs d'erreurs. De plus, les solutions techniques proposées ne traitent que de trains binaires peu entachés d'erreurs et de structure connue pour ce qui est des paramètres de longueur de segmentation et/ou de synchronisation. Elles ne fonctionnent pas non plus en régime de flux et ne trouvent leur utilité que dans le post-traitement des données.
3. Présentation de l'invention
Les codes correcteurs d'erreurs sont actuellement incontournables pour faire face aux altérations que toute transmission est susceptible d'engendrer sur des données numériques. Une palette très variée de codes correcteurs d'erreurs est en usage. Elle continue à s'enrichir des développements mathématiques et technologiques. Cette diversité des codes mis en oeuvre est incontournable. Elle répond en effet à des besoins de protection et des contraintes techniques variés et évolutifs.
Les codes correcteurs d'erreurs utilisés dans la correction des erreurs des systèmes de transmission numérique sont caractérisés par des paramètres directement liés à la nature de la transmission. La finalité technique de l'invention consiste à mettre en oeuvre des moyens au niveau du système de réception qui permettront d'identifier ces paramètres, ainsi que de permettre leur enregistrement. Cette finalité a pour effet d'apporter de la souplesse dans la gestion des réseaux, et de permettre de développer des systèmes de transmission auto- configurants pour n'importe quel type de codage de correction d'erreurs utilisé pour la transmission de l'information.
L'invention vise ainsi à améliorer la reconnaissance en aveugle des codes correcteurs d'erreurs, en particulier en la transposant à la détection d'une plus grande variété de codes. Son originalité vient de sa capacité à opérer un traitement en flux afin de réaliser en particulier une reconfiguration en temps réel, afin d'être en mesure de satisfaire les contraintes de maintien en condition opérationnelle malgré l'augmentation constante des débits de transmission. Cette possibilité technique trouve en particulier tout son sens dans des domaines d'application tels que la radio cognitive ou les réseaux reconfigurables.
L'invention a ainsi pour ambition de traiter des codes correcteurs au sens large, c'est- à-dire pouvant être constitués de plusieurs codes ou blocs supplémentaires permettant d'améliorer les performances des codes correcteurs, tels que les codes en bloc, codes convolutifs, codes concaténés série ou parallèle, turbocodes, codes LDPC, avec entrelaceur ou poinçonnage. Cette liste n'est pas exhaustive, l'invention pouvant fonctionner avec d'autres types de codes.
L'invention vise à mettre en évidence un procédé qui prend en entrée un flux binaire à analyser qui est codé et entaché d'erreurs en vue de reconstituer le codeur. Le procédé effectue alors des traitements itératifs permettant l'identification en aveugle des paramètres du codeur réellement utilisé par l'intermédiaire d'un algorithme innovant et rapide selon une technique qui se divise en deux phases qui seront décrites en détail dans la suite du document.
En particulier, le cœur du dispositif de l'invention repose sur un algorithme dit du pivot dualisé qui s'inspire de l'algorithme classique du pivot de Gauss mais qui a été entièrement repensé d'un point de vue dual. La transposition du traitement dans le monde dual propose plusieurs avantages. En effet, ce choix technique permet d'abord de réduire fortement la lourdeur des calculs de recherche des paramètres des codes. L'algorithme permet aussi de générer, et ce même en condition bruitée, des mots du code dual de petits poids. L'invention autorise ainsi l'usage de ressources de faible ampleur aussi bien en temps, espace mémoire, qu'en complexité de circuits électroniques lors d'une implémentation matérielle.
Ainsi, conformément à un mode de réalisation privilégié, l'invention concerne d'abord un procédé de reconstruction en aveugle d'au moins un paramètre du code correcteur d'erreur à partir d'au moins une trame binaire, ledit paramètre étant inconnu, caractérisé en ce que ledit procédé comporte une première étape destinée à définir grossièrement les paramètres du code, se divisant en
• la recherche d'une longueur de segmentation des données du train binaire compatible avec le code recherché.
• l'obtention de formes linéaires candidates proches d'un éventuel code dual via l'appel de l'algorithme du pivot dualisé.
• la validation d'au moins une forme linéaire sur au moins une partie du segment lu.
• une synchronisation grossière et une segmentation grossière des données.
ainsi qu'une seconde étape distincte destinée à raffinement des paramètres et se divisant en
• l'identification et test de formes linéaires proches du code dual via l'algorithme du pivot dualisé.
• une mise à jour des formes linéaires et une synchronisation fine des données.
• une validation finale des formes linéaires décrivant le code dual utilisé.
L'invention a aussi pour objectif un dispositif de reconnaissance d'au moins un paramètre d'un code correcteur d'erreurs à partir d'au moins une trame binaire, ledit paramètre étant inconnu, caractérisé en ce que le dispositif utilise des moyens permettant le traitement en flux des données, et qu'il comprend des moyens associés à une première étape destinée à définir grossièrement les paramètres du code, se divisant en
· des moyens pour la recherche d'une longueur de segmentation des données compatible avec le code recherché.
• des moyens pour l'obtention de formes linéaires candidates proches d'un éventuel code dual via l'utilisation de l'algorithme du pivot dualisé.
• des moyens pour la validation d'au moins une forme linéaire sur au moins une partie du segment lu.
• des moyens pour assurer une synchronisation grossière et une segmentation grossière des données.
ainsi que des moyens associés à une seconde étape destinée à raffinement des paramètres et se divisant en
· des moyens pour l'identification et le test de formes linéaires proches du code dual via l'algorithme du pivot dualisé.
• des moyens pour la mise à jour des formes linéaires et une synchronisation fine des données.
• des moyens pour une validation finale des formes linéaires décrivant le code dual utilisé.
Le dispositif ainsi constitué peut porter le nom de codanalyseur qui synthétise la fonction d'analyse des codes correcteurs d'erreurs.
La première étape du procédé a pour objectif d'avoir rapidement et en temps réel des informations sur les paramètres du code correcteur d'erreurs, la seconde étape visant à l'affinage des informations. L'invention utilise favorablement un système de filtrage entre ces deux étapes.
Selon un mode particulier de l'invention, le procédé comporte une étape de filtrage du train binaire à partir des paramètres suivants :
• la au moins une forme linéaire déterminée,
• sa localisation dans la trame.
Le système de filtrage est un dispositif auto-adaptatif novateur qui règle en temps réel la sélection des mots bruités en fonction des demandes de l'analyseur autodidacte et en fonction des ressources. Il choisit d'éliminer ou pas les données reconnues comme entachées d'erreurs.
L'invention propose donc un nouveau procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dit paramètre de codage, par analyse d'un train binaire reçu (entaché ou non d'erreurs).
Selon l'invention, un tel procédé met en œuvre :
une première étape permettant de définir grossièrement le ou les paramètres de codage, mettant en œuvre les sous-étapes suivantes :
- sélection d'une valeur N' entière, correspondant à une taille candidate des mots de codes obtenus lors de la mise en œuvre du code correcteur d'erreurs ;
- segmentation du train binaire, délivrant des segments de 2N' bits consécutifs ;
- pour au moins un des segments, détermination, dans l'espace dual du code correcteur d'erreurs, d'au moins une forme linéaire candidate associée à un pseudo-mot de code appartenant au segment, et validation de la ou des formes linéaires candidates obtenues ;
- si au moins une forme linéaire candidate est validée, recentrage et affinage de la ou des formes linéaires validées, et synchronisation grossière du train binaire ;
- mise à jour du ou des paramètres de codage ;
et une deuxième étape permettant d'affiner le ou les paramètres de codage, mettant en œuvre au moins une itération des sous-étapes suivantes :
- filtrage du train binaire, tenant compte de la ou des formes linéaires validées et d'informations de segmentation et de synchronisation, délivrant au moins un nouveau pseudo-mot de code ;
- détermination, dans l'espace dual du code correcteur d'erreurs, d'au moins une forme linéaire candidate associée au nouveau pseudo-mot de code, et validation de la ou des formes linéaires candidates ;
- si au moins une forme linéaire candidate est validée, recentrage et affinage de la ou des formes linéaires validées, et synchronisation fine du train binaire ;
- mise à jour du ou des paramètres de codage.
Un tel procédé permet ainsi de déterminer, en aveugle, à partir d'un train binaire reçu entaché ou non d'erreurs, au moins un paramètre essentiel d'un code correcteur d'erreurs, tel qu'une taille compatible de segmentation des données, une forme linéaire non nulle du code correcteur d'erreur dans le domaine dual, etc.
Selon un aspect particulier de l'invention, l'étape de sélection tient compte d'au moins un élément appartenant au groupe comprenant :
- les diviseurs de la valeur N' ;
- une liste d'entiers compatibles prédéterminée.
Le choix de la valeur N' peut être ainsi guidé par la connaissance des codes correcteurs d'erreurs actuels, et notamment des codes les plus utilisés, mais aussi des codes correcteurs d'erreurs déjà rencontrés lors de l'utilisation du procédé.
Selon une autre caractéristique de l'invention, l'étape de détermination d'au moins une forme linéaire candidate associée au pseudo-mot de code de la première étape est mise en œuvre pour au moins deux segments du train binaire, et tant que le nombre de segments traités est inférieur à un seuil prédéterminé.
On limite ainsi le nombre maximal de segments ou pseudo-mots de code utilisables pour générer des formes linéaires proches du dual du code correcteur d'erreur.
Selon une caractéristique spécifique de l'invention, les étapes de détermination d'au moins une forme linéaire candidate associée au pseudo-mot de code ou au nouveau pseudo-mot de code mettent en œuvre une version duale d'un algorithme de type pivot de Gauss.
Ainsi, plutôt qu'utiliser l'algorithme classique du pivot de Gauss, qui travaille sur des vecteurs, les inventeurs ont proposé une version duale de cet algorithme, centré sur les formes linéaires et non sur les vecteurs. On transpose donc selon l'invention les calculs dans le dual du code correcteur d'erreurs, ce qui réduit la complexité de traitement.
En particulier, la version duale de l'algorithme de type pivot de Gauss détermine au moins une forme linéaire candidate sous la forme suivante :
- si i est nul : - si i est non nul :
Figure imgf000009_0001
avec :
- Nun entier naturel ;
- i un entier naturel inférieur ou égal à N ;
- k un entier naturel inférieur à / ;
- j un entier compris entre 1 et N, Xj la base duale de la base canonique de KN, où K est un corps ; - P = {p\ , ..., Pi ] une partie de {l, ..., N} à i éléments ;
- (υ& )ι<£<; une famille libre de KN telle que, pour tout entier k entre 1 et i, le vecteur y^i 'Pi )^-1-^ 1 obtenu par réduction du vecteur ¾ par le système {υΙ ' Ρΐ )ΐ<1<^1 a une pjç -ième coordonnée non nulle ;
- F/çj la forme linéaire qui associe F/ç j (v) = Χ^ ϋ^υ' '^ ^'^| à un vecteur générique .
Selon un autre aspect de l'invention, les étapes de validation de la ou des formes linéaires candidates testent la ou les formes linéaires candidates sur au moins un segment suivant dans le train binaire (par exemple une série de segments), et comparent un nombre de valeurs nulles obtenues par rapport à un seuil prédéterminé.
On teste ainsi, sur d'autres pseudo-mots de codes, les formes linéaires candidates obtenues pour un premier pseudo-mot de code.
Selon une caractéristique particulière, les étapes de recentrage et affinage de la ou des formes linéaires validées mettent en œuvre une réduction de la taille du pseudo-mot de code ou du nouveau pseudo-mot de code associé à la ou aux formes linéaires validées, par suppression de ε bits consécutifs.
On réduit de cette façon le nombre de bits utiles pour les calculs, ce qui permet d'accélérer le traitement.
Encore un autre aspect de l'invention concerne l'étape de filtrage, qui détecte les segments du train binaire ne vérifiant pas au moins une relation de parité définie par la ou les formes linéaires validées, et élimine un segment détecté en fonction de la taille du train binaire reçu.
En d'autres termes, le filtrage proposé est auto-adaptatif, et adapte dynamiquement l'élimination des données reconnues comme entachées d'erreurs aux besoins du procédé. Ainsi, il est possible d'éliminer zéro, un ou plusieurs segments puisque l'on tient compte de la taille du train binaire reçu, et donc des segments disponibles (mémorisés dans la mémoire tampon).
Selon une caractéristique particulière, le procédé comprend une étape de mise à jour des formes linéaires candidates préalablement à l'étape de synchronisation fine, mettant en œuvre un algorithme de type pivot de Gauss permettant de réduire chaque forme linéaire candidate par l'ensemble des autres formes linéaires candidates.
Un tel algorithme est un algorithme classique, bien connu de l'Homme du Métier. En particulier, une telle mise à jour des formes linéaires candidates conduit à une adaptation du filtrage, puisque l'étape de filtrage tient notamment compte des formes linéaires. La deuxième étape permet ainsi d'améliorer « l'estimation » du ou des paramètres de codage au fil des itérations, en mettant à jour à chaque itération les paramètres de filtrage.
Selon encore une autre caractéristique, le procédé comprend une étape d'identification d'au moins un code correcteur d'erreur associé à ou aux paramètres de codage déterminés, par lecture dans une table de correspondance.
En d'autres termes, une fois certains paramètres de codage identifiés, comme la longueur des mots de code par exemple, il est possible d'identifier un ou plusieurs codes correcteur d'erreurs potentiels, parmi les codes habituellement utilisés, par lecture d'une table de correspondance par exemple.
Dans un autre mode de réalisation, l'invention concerne un dispositif de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dit paramètre de codage, par analyse d'un train binaire reçu.
Selon l'invention, un tel dispositif comprend :
des premiers moyens permettant de définir grossièrement le ou les paramètres de codage, comprenant :
- des moyens de sélection d'une valeur N' entière, correspondant à une taille candidate des mots de codes obtenus lors de la mise en œuvre du code correcteur d'erreurs ;
- des moyens de segmentation du train binaire, délivrant des segments de 2N' bits consécutifs ;
- des moyens de détermination, activés pour au moins un des segments dans l'espace dual du code correcteur d'erreurs, d'au moins une forme linéaire candidate associée à un pseudo-mot de code appartenant au segment, et des moyens de validation de la ou des formes linéaires candidates ;
- des moyens de recentrage et affinage de la ou des formes linéaires validées, et des moyens de synchronisation grossière du train binaire, activés si au moins une forme linéaire candidate est validée ;
- des moyens de mise à jour du ou des paramètres de codage ;
et des deuxièmes moyens permettant d' affiner le ou les paramètres de codage, comprenant les moyens suivants, activés sous la forme d'au moins une itération :
- des moyens de filtrage du train binaire, tenant compte de la ou des formes linéaires validées et d'informations de segmentation et de synchronisation, délivrant au moins un nouveau pseudo-mot de code ;
- des moyens de détermination, dans l'espace dual du code correcteur d'erreurs, d'au moins une forme linéaire candidate associée au nouveau pseudo-mot de code, et des moyens de validation de la ou des formes linéaires candidates ;
- des moyens de recentrage et affinage de la ou des formes linéaires validées, et des moyens de synchronisation fine du train binaire, si au moins une forme linéaire candidate est validée ;
- des moyens de mise à jour du ou des paramètres de codage.
Un tel dispositif est notamment adapté à mettre en œuvre le procédé de détermination d'au moins un paramètre de codage décrit précédemment. Il est par exemple localisé à l'entrée d'un récepteur/décodeur.
Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de détermination d'au moins un paramètre de codage selon l'invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé, et ne sont donc pas détaillés plus amplement.
Dans un autre mode de réalisation, l'invention concerne un programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de détermination d'au moins un paramètre de codage décrit précédemment, lorsque le programme est exécuté par un ordinateur. L'invention peut ainsi être mise en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
4. Liste des figures
D'autres avantages et caractéristiques apparaîtront à la lecture du document. Il nous semble judicieux à ce niveau de décrire en entier le procédé et les moyens à mettre en œuvre pour atteindre l'objectif de reconstruction en nous appuyant sur les figures de principes et schéma d'algorithme que nous introduisons ici :
la figure 1, décrite en relation avec l'art antérieur, représente symboliquement un émetteur et un récepteur de train binaire à la base de la transmission numérique ; - les figures 2a et 2b représentent respectivement le principe de segmentation des mots de code, l'affinage et recentrage des formes linéaires ;
la figure 3 représente les blocs principaux de l'invention et leurs interactions ;
les figures 4a et 4b représentent le processus de reconstruction en aveugle des codes correcteurs d'erreurs ;
- la figure 5 décrit le principe de fonctionnement de l'algorithme du pivot dualisé.
5. Description d'un mode de réalisation de l'invention
5.1 Principe général
Nous décrivons ici les différents modules impliqués dans le procédé, en tenant compte du fait que l'architecture a été pensée pour être adaptative et bénéficier de calculs itératifs entraînant des gains de temps et de ressources. Pour cette raison, l'enchaînement des blocs de traitement décrits par la suite ne doit pas être vu comme purement séquentiel. L'homme de l'art comprendra dans la suite de la description les imbrications possibles entre les blocs et la souplesse de fonctionnement du système.
La figure 3 décrit les blocs impliqués dans l'invention
· Une mémoire tampon 301 stocke temporairement le train binaire constitué de mots d'emplacement et de longueur N inconnus à priori.
• Un module de segmentation du train binaire et de synchronisation grossière 302 reçoit l'information transmise par la mémoire tampon. Le module récupère des données de la mémoire sous la forme d'un segment des 2N'-1 premiers bits d'un paquet de données de longueur 2N' qu'il utilise comme pseudo-mots du codeur.
Chaque pseudo-mot permet de construire 2N'-1 formes linéaires candidates à appartenir au code dual par appel via l'algorithme du pivot dualisé. Pour ce faire, le module transfère d'abord les segments du train binaire au module de calcul en formes linéaires 304 via l'algorithme du pivot dualisé et reçoit en retour les formes linéaires. Le module attribue une valeur N' d'un multiple probable de la taille d'un mot de code de taille N, fait le calcul de la synchronisation grossière associée, et transmet à un dispositif paramétrable de filtrage 303 les formes linéaires et les informations de segmentation et de synchronisation.
Un dispositif paramétrable de filtrage 303 qui reçoit les formes linéaires et les informations de synchronisation et commande la mémoire tampon 301. Le dispositif doit être vu comme un système auto-adaptatif qui règle en temps réel la sélection des mots bruités en fonction des demandes de l'analyseur autodidacte et en fonction des ressources.
Le module de calcul de formes linéaires 304 contenant l'algorithme du pivot dualisé de la figure 5 qui sera décrit plus en détail par la suite.
Le module d'identification et de test de formes linéaires proches du code dual 305. Le module teste les formes linéaires candidates sur de nouveaux pseudo-mots reçus filtrés par le dispositif paramétrable de filtrage 303. Une forme linéaire compatible est une forme linéaire qui annule tous les mots du code. Les pseudo-mots reçus peuvent ne pas s'annuler en totalité lorsqu'ils comportent des erreurs de transmission.
Le module de mise à jour des formes linéaires et de synchronisation fine 306 qui reçoit du module d'identification et de test de formes linéaires proches du code dual 305 les formes linéaires qui sont compatibles avec des pseudo-mots reçus. Le module de mise à jour et de synchronisation fine réorganise les formes linéaires en intégrant les nouvelles formes linéaires reçues et en validant ou non statistiquement les formes linéaires précédemment reçues. Le module de mise à jour et de synchronisation fine affine la synchronisation. Il transfère au filtre un ensemble de formes linéaires décrivant la partie identifiée du code dual. Le module de mise à jour et de synchronisation fine délivre aussi la taille N' des pseudo-mots de code ainsi que la valeur représentative de l'instant de synchronisation qui correspond à un début de segment de données.
Le module de validation et de mise en forme délivre un ensemble de formes linéaires décrivant la partie identifiée du code dual. Le module de validation et de mise en forme met en forme les paramètres du codeur à travers son code dual et regarde la complétude du code. Dans la négative, le module de validation et de mise en forme commande le traitement d'un nouvel ensemble de données. Le module de validation et de mise en forme délivre pour finir les paramètres du code tels que son type, les caractéristiques de l'entrelaceur si besoin (et motif de poinçonnage s'il y lieu) et les formes linéaires engendrant le code dual.
5.2 Définitions
Pour la clarté de la description, on introduit ici les définitions des éléments qui seront utilisés dans la suite.
N : taille d'un mot de code.
N' : taille d'un pseudo-mot de code.
Nbseg : Nombre de segments déjà exploités pour la construction de formes duales.
Nbmax(x) : Fonction prédéfinie par l'utilisateur qui donne le nombre maximal autorisé de segments ou pseudo-mots bruités de taille x utilisables pour générer des formes linéaires proches du dual du code.
ε : Nombre de bits consécutifs pouvant être retirés en fin de tout bloc de taille 2N' bits en étant assuré qu'il subsiste un pseudo-mot complet de taille N' dans le bloc résiduel.
M : matrice de réduction.
Indmin : position de la première coordonnée non nulle d'une forme linéaire considérée comme appartenant au dual du code.
Indmax : position de la dernière coordonnée non nulle d'une forme linéaire considérée comme appartenant au dual du code.
NbMots : Nombre de pseudo-mots déjà exploités pour la construction de formes linéaires proche du dual du code.
5.3 Exemple de mise en œuvre de l'invention
On souhaite dans un premier temps déterminer une longueur de segmentation compatible avec la structure induite par le codeur. Il s'agit donc de tester des longueurs de segmentation N' candidates jusqu'à pouvoir détecter une forme linéaire du dual du code correcteur d'erreurs et de permettre par là-même, du fait de sa localisation dans le mot de code, une première synchronisation grossière.
Il est possible à ce niveau d'optimiser le choix des valeurs de N' pour accélérer le processus de traitement. L'homme de l'art sait par expérience que tester N' revient à tester tous ses diviseurs. De plus, les entiers N possédant des diviseurs premiers assez petits sont plus utilisés dans les codes. D'autres stratégies sont possibles, en particulier l'utilisation de tables contenant une liste d'entier N les plus usuels qui permettraient de réduire les temps de traitement. Une autre voie envisageable consiste en la reconnaissance des séquences dédiées à la gestion du réseau permettant ainsi de connaître directement un multiple de N. Ces diverses approches peuvent être combinées. Plusieurs stratégies sont donc possibles permettant de s'adapter à l'environnement et aux contraintes de l'application.
On s'appuie sur la figure 4a pour la description. Dans un premier temps, le procédé sélectionne à l'étape E401 une valeur N' et segmente le train binaire en segments de 2N' bits consécutifs.
Le traitement des segments utilise la variable Nbseg ainsi que la matrice de réduction M. Le procédé, à travers l'étape E401, met la variable Nbseg à la valeur nulle et met la matrice M égale à la matrice identité I2N'-ide dimension 2N'-1.
A l'étape suivante E402, le procédé selon l'invention vérifie si la variable Nbseg est inférieure à une valeur prédéterminée Nbmax(2N'-l). Nbmax(x) constitue le nombre maximal autorisé de segments ou pseudo-mots bruités de taille x utilisables pour générer des formes linéaires proches du dual du code. Lors d'une étape d'itération Nbmax(x) contrôle aussi la fin de phase de recherche de formes duales et donne accès au traitement des résultats. Si la variable Nbseg est inférieure à la valeur prédéterminée Nbmax(2N'-l), on passe à l'étape E403. Dans la négative, on retourne au début du processus.
Dans l'affirmative, un segment s comprenant 2N' données reçues est obtenu. Le segment s est représenté sur la figure 2a. Il comprend un certain nombre de mots reçus et constitue ainsi le pseudo-mot à la base du traitement. Il est à noter que le début du segment s peut ne pas coïncider avec le début d'un mot de code.
A l'étape suivante E404, la variable Nbseg est incrémentée d'une unité.
L'étape suivante introduit pour la première fois l'algorithme du pivot dualisé. Il s'agit à ce niveau de construire les formes linéaires candidates. A l'étape E405, on active l'algorithme du pivot dualisé selon l'invention, lui transfère la matrice de réduction M des formes linéaires candidates et le segment s, et obtient en réponse une nouvelle matrice de réduction M. Pour comprendre plus en détail le processus suivi, l'algorithme du pivot dualisé est décrit à la figure 5. Cette description est reprise à la fin de la description du procédé.
A l'étape suivante E406, on vérifie si le segment s se réduit à un ensemble de valeurs nulles. Si le segment s se réduit à un ensemble de valeurs nulles, on retourne à l'étape E402. Dans la négative, on passe à l'étape E407.
L'étape E407 valide les formes linéaires candidates. Via le filtre, la forme candidate est appliquée sur un ensemble de pseudo-mots de code du segment s. La proportion de 0 obtenue permet grâce à un seuil de valider ou non la forme candidate. Diverses stratégies sont envisageables pour réaliser cette fonction de test, leur pertinence dépend des conditions d'utilisation et des attentes de l'utilisateur (prise de risque vs temps de calcul et moyens).
Selon une première stratégie, un seuil d'acceptation Sa et un nombre K de pseudomots sont préalablement fixés. Le nombre n de fois où 0 est obtenu par application de la n
forme candidate sur l'un des K pseudo-mots est calculé. Si — > Sa alors la forme est acceptée, sinon elle est rejetée. Selon une seconde stratégie, un seuil d'acceptation Sa, un seuil de refus Sr, un nombre k de pseudo-mots consécutifs et un nombre maximal Kmax de pseudo-mots sont préalablement fixés. Le test procède par itération de k pseudo-mots, sans dépasser un nombre total Kmax. A la ieme itération, le nombre n de 0 obtenu par application n
de la forme candidate sur les ixk premiers pseudo-mots est actualisé. Si > Sa alors la i x k
n
forme est acceptée, si < Sr alors la forme est rejetée. Sinon, le processus i k
recommence pour une nouvelle itération. Si le nombre Kmax de pseudo-mots est dépassé alors la forme est également rejetée.
A l'étape suivante E408, le procédé vérifie si une forme linéaire du code dual a été trouvée. Dans l'affirmative, on passe à l'étape E409. Dans la négative, on retourne à l'étape E402.
A l'étape E409, on procède à un recentrage et à un affinage des formes linéaires. Cette étape vise à réduire le nombre de bits utiles pour les calculs. Le procédé détermine le nombre ε de bits consécutifs qui peuvent être retirés à la fin d'un segment s tout en s'assurant qu'il subsiste un pseudo-mot de code complet de taille N' dans le segment résiduel s'. Le non entrelacement des formes linéaires duales connues conduit à une suspicion de N' multiple distinct de N. Si elle est fondée, chaque forme linéaire doit pouvoir être translatée d'une longueur N" qui est un diviseur de N' plus proche de N. Il suffit alors de tester par autocorrélation comme cela a été décrit à l'étape E407 pour déterminer la crédibilité de la valeur N". En cas de réponse positive, N' prend la valeur de N", les paramètres du procédé de codage de la trame binaire de données ainsi que la matrice des formes linéaires retenues sont mis à jour.
Un exemple de détermination du nombre ε de bits consécutifs qui peuvent être retirés à la fin d'un segment s est décrit à travers les figures 2a et 2b. On fait ressortir un pseudo mot de longueur s contenant des mots de code de longueur N (ml, ...) sur la figure 2a. Les traits verticaux gras de la figure 2b représentent les bits non nuls des formes linéaires trouvées. Indmin représente la position du premier bit non nul. Indmax représente la position du dernier bit non nul résultant de l'application de la forme linéaire trouvée sur le pseudo- mot de code.
Le nombre ε est égal à la différence entre Indmax et Indmin plus un. Un décalage de (Indmax plus N') modulo 2N' est appliqué sur les formes linéaires et sur les segments à venir de données de taille 2N' . Les ε derniers bits de chaque segment étant inutiles au traitement pourront être avantageusement supprimés lors des calculs. L'étape se termine par la synchronisation grossière.
A l'étape suivante E410, on initialise le filtre en lui fournissant la première segmentation grossière compatible avec le codeur au sens large (longueur N' et synchronisation grossière t0), ainsi que la ou les première(s) forme(s) du code dual. Ainsi se termine la première phase.
La seconde phase du procédé, qui commence par l'étape E411, doit se conclure par la reconnaissance du code correcteur d'erreurs. Elle va consister à affiner les paramètres de segmentation et de synchronisation qui participent à sa reconstruction. Cette phase introduit la fonction du filtre auto-adaptatif dont l'importance est primordiale, comme décrit par la suite, dans le choix des pseudos mots à filtrer.
La figure 4b décrit le processus suivi. Il débute par un appel au filtre qui se charge de fournir des pseudo mots de code de longueur 2N' bits amputés de leurs ε derniers bits. Le filtre est un dispositif auto-adaptatif qui élimine ou pas les données reconnues comme entachées d'erreurs en respectant deux buts. Le premier est quantitatif, il consiste à répondre impérativement aux demandes de l'algorithme en lui fournissant suffisamment de pseudo-mots reçus de code. Le second est qualitatif, il consiste à gérer la qualité des pseudo mots de code transmis en autorisant des pseudo-mots reçus aux bruits reconnus pour assurer le débit nécessaire à l'algorithme et jouer sur ces bruits reconnus pour confirmer ou infirmer la description partielle du code dual obtenu lors des itérations précédentes de l'algorithme selon la présente invention. Afin de répondre à la demande en pseudo-mots, le filtre choisit un jeu de formes linéaires parmi celles considérées comme appartenant au code dual pour réaliser un crible des pseudo-mots reçus trop entachés d'erreurs. Il rejette tout pseudo-mot de code sur lequel ce jeu n'est pas identiquement nul. La redécouverte par l'algorithme selon la présente invention d'une forme connue mais exclue au préalable par le filtre du jeu permettant le crible renforce la crédibilité de cette forme linéaire. La seconde phase commence par l'étape E450 qui met la variable NbMots à la valeur nulle et met la matrice M égale à la matrice identité w-ε de dimension 2Ν'-ε. NbMots est le nombre de pseudo-mots reçus déjà exploités pour la reconstruction de formes linéaires duales.
A l'étape suivante E451, le procédé vérifie si la variable NbMots est inférieure à une valeur prédéterminée Nbmax(2N'-8). Si la variable NbMots est inférieure à une valeur prédéterminée Nbmax(2N'- ε), on passe à l'étape E452. Dans la négative, on passe à l'étape E457.
A l'étape E452, on obtient un pseudo mot de code comprenant 2N' données reçues. A l'étape suivante E453, on incrémente la variable NbMots d'une unité.
A l'étape suivante E454, on active dans un premier temps l'algorithme du pivot dualisé selon l'invention, lui transfère la matrice de réduction M et obtient en réponse une nouvelle matrice de réduction M. Cette étape est similaire à l'étape E405 de la phase 1.
A l'étape suivante E455, on vérifie si le pseudo-mot reçu de code se réduit à un ensemble de valeurs nulles. Si le pseudo mot de code se réduit à un ensemble de valeurs nulles, on retourne à l'étape E451. Dans la négative, on passe à l'étape E456.
A l'étape E456, on valide les formes linéaires candidates comme cela a été décrit précédemment à l'étape E407 de la figure 4a. Cette opération réalisée, on retourne à l'étape E451.
L'étape E457 consiste à mettre à jour les formes linéaires candidates. On utilise l'algorithme classique du pivot de Gauss pour réduire chaque forme linéaire par l'ensemble des autres formes linéaires pour obtenir des formes plus élémentaires, par exemple en supprimant des combinaisons linéaires de plusieurs formes linéaires duales disjointes.
A l'étape E458, le bloc affine la synchronisation et décale cycliquement les formes linéaires en conséquence. La synchronisation fine est effectuée de manière similaire à celle décrite à l'étape E409 de la figure 4a. Les informations disponibles permettent d'augmenter la valeur de ε et de réduire ainsi la taille des données examinées. Plus la synchronisation est fine, plus ε est grand et se rapproche de N'. Si ε > Ν', il est possible de déterminer si une longueur N" de translation des formes linéaires duales est crédible. Si ce n'est pas le cas, il y a suspicion d'un N' diviseur strict de N. On peut alors doubler N'. Les paramètres du procédé de codage utilisés pour générer les données redondantes ainsi que la matrice des formes linéaires retenues sont mis à jour. A l'étape E459, le filtre est mis à jour avec les informations de décalage et de taille N'à effectuer selon la synchronisation fine et avec de nouvelles formes linéaires du code dual.
L'étape suivante E460 est une étape de validation et de mise en forme. A cette étape, certaines formes linéaires duales peuvent être éliminées, la connaissance de la longueur N des mots de code est affinée.
A l'étape suivante E461, on vérifie si les paramètres du code tels que N, t0, son type (la taille de l'entrelaceur du code si besoin, motif de poinçonnage s'il y a lieu..) et les formes linéaires engendrant le code dual sont complètement identifiées. Dans l'affirmative, on passe à l'étape E462. Dans la négative, on passe à l'étape E463.
A l'étape E462, le système de validation délivre les paramètres du train binaire (N' et t0) et ceux du code tels que son type, les caractéristiques de l'entrelaceur, le motif de poinçonnage s'il y a lieu et des formes linéaires engendrant le code dual formant alors une matrice de parité.
A l'étape E463, le système vérifie si l'ensemble constitué par les formes linéaire duales connues est vide. Dans l'affirmative, on retourne à l'étape E400. Dans la négative, on retourne à l'étape E450.
5.4 Description de l'algorithme du pivot dualisé
Nous décrirons sur la figure 5 l'algorithme du pivot dualisé selon l'invention.
Nous présentons ici le principe de l'algorithme du pivot dualisé, lequel constitue un développement original de l'algorithme classique du pivot de Gauss. Il en diffère radicalement par le point de vue adopté. Le principe de l'algorithme du pivot dualisé repose sur le calcul de formes linéaires directement dans l'espace dual.
L'algorithme du pivot dualisé présente l'avantage de n'utiliser que des opérations de base, autorisant des manipulations élémentaires transposables sur les circuits électroniques actuels. L'implémentation en flux de cet algorithme dualisé permet d'accéder au temps réel, un impératif crucial à la généralisation concrète dans les dispositifs échangeant des données numériques.
Selon l'invention, les formes linéaires générées sont d'un poids faible qui respecte la structure avant entrelacement (codes linéaires ou codes convolutifs entrelacés éventuellement poinçonnés). Les formes linéaires construites par l'algorithme du pivot dualisé brisent ainsi l'entrelaceur en livrant directement des petits mots duaux.
De plus, l'algorithme du pivot dualisé s'avère robuste face aux perturbations induites par les erreurs de transmission utilisant les architectures classiques de codes d'erreurs (par exemple codes linéaires ou codes convolutifs entrelacés éventuellement poinçonnés). En effet, la présence d'erreurs dans les mots transmis sont sans effet sur les valeurs prises par les formes linéaires dont le poids se réparti en dehors des emplacements des bits altérés. Plus une forme duale est de petit poids, moins son évaluation sur les mots reçus n'a de chance de différer de celle prise sur les mots émis, ceux du code. Ainsi une forme du code dual a d'autant plus de chance d'annuler un lot de mots reçus qu'elle est de petit poids. C'est ce type de formes qui est privilégié par l'algorithme du pivot dualisé.
Les propriétés (i) et (ii) ci-dessous livrent une version dualisée de l'algorithme du pivot de Gauss à l'aide d'une récurrence. La propriété (i) donne les formes linéaires initiales; la propriété (ii) traduit les conséquences sur les formes d'une prise de pivot. Ces deux propriétés permettent le calcul itératif des formes linéaires de réduction par le procédé ou le dispositif.
Tout d'abord voici les notations utilisées pour exprimer les propriétés (i) et (ii).
Soient K un corps et Nun entier naturel.
Soit (¾ )1<; .<N la base duale de la base canonique de KN
Soient i un entier naturel inférieur ou égal à N. Soit P = {p\ ,— ,Pi } une partie de {l, ...,N} à i éléments. L'ensemble^ servira à désigner les numéros correspondants aux pivots, pk désignant le numéro du k -ième pivot.
Soit (¾ )1<^<^. une famille libre de KN telle que pour tout entier k entre 1 et , le vecteur ϋ^(υ' '^ )1≤;≤^ 1 obtenu par réduction du vecteur vk par le système de pivot
{vh Pl )\<i<k-\ a une Pk -ieme coordonnée non nulle.
Pour tout entier naturel k inférieur à / et tout entier j compris entre 1 et N, soit ¾ j la forme linéaire qui à un vecteur génériqueu associe ¾ (v) = Xj v^V Pl ^~l~k^ , c'est- à-dire la j -ième coordonnée du vecteur ϋ (U/ 'Pl )1≤;≤^ 1 obtenu par réduction du vecteur υ par le système de pivot (υ/ , p\ )1<^<^ · Soit J¾ la matrice de MN(K) dont, pour tout j compris entre 1 et N, la j -ième ligne est formée par le vecteur ligne J¾ ,· des coordonnées de la j -ième forme linéaire ¾ dans la base canonique du dual de K N L'algorithme du pivot dualisé a pour tâche d'actualiser à chaque prise de pivot cette matrice des formes linéaires de réduction.
Le calcul itératif des formes linéaires par l'algorithme du pivot dualisé s'effectue conformément aux deux propriétés suivantes :
(i) Pour tout entier j compris entre 1 et N : FQ = Xj .
(ii) Si / est non nul alors our tout entier j compris entre 1 et N :
Figure imgf000021_0001
c'est-à-dire en termes matriciels JQ' est la matrice identité de taille NxN, et
Figure imgf000021_0002
où Wz- désigne le vecteur colonne formé des coordonnées du vecteur v Vl'Pl )1≤;≤i 1 obtenu par réduction du vecteur vf par le système de pivot (v ,pi )1<;<i_1 ·
Nous nous référons à la figure 5 pour décrire le fonctionnement de l'algorithme en termes de processus.
En E500, la matrice des formes linéaires est initialisée à la matrice identité.
L'étape E501 contrôle le passage à un pivot supplémentaire. S'il est souhaité, on passe à l'étape E503. Dans la négative, on retourne à l'étape E502 avec comme résultat la matrice des formes linéaires.
A l'étape E503, on sélectionne un vecteur t>; que l'on va chercher à réduire.
A l'étape E504, on calcule le vecteur colonne "W/ obtenu par réduction du vecteur vt . A l'étape E505, on vérifie si le vecteur colonne "W/ est un vecteur nul. Si oui, on retourne à l'étape E501. Sinon, on passe à l'étape E506.
A l'étape E506, on choisit un numéro de pivot p tel que la / ième coordonnée du vecteur colonne est non nulle.
A l'étape suivante E507, la matrice des formes linéaires se trouve mise à jour par le nouveau calcul de J7, voir ci-devant (ii).

Claims

REVENDICATIONS
1. Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dit paramètre de codage, par analyse d'un train binaire reçu, caractérisé en ce qu'il met en œuvre :
une première étape permettant de définir grossièrement ledit au moins un paramètre de codage, mettant en œuvre les sous-étapes suivantes :
- sélection d'une valeur N' entière, correspondant à une taille candidate des mots de codes obtenus lors de la mise en œuvre dudit code correcteur d'erreurs ;
- segmentation dudit train binaire, délivrant des segments de 2N' bits consécutifs ; - pour au moins un desdits segments, détermination, dans l'espace dual dudit code correcteur d'erreurs, d'au moins une forme linéaire candidate associée à un pseudo-mot de code appartenant audit segment, et validation de ladite au moins une forme linéaire candidate ;
- si au moins une forme linéaire candidate est validée, recentrage et affinage de ladite au moins une forme linéaire validée, et synchronisation grossière dudit train binaire ;
- mise à jour dudit au moins un paramètre de codage ;
et une deuxième étape permettant d'affiner ledit au moins un paramètre de codage, mettant en œuvre au moins une itération des sous-étapes suivantes :
- filtrage dudit train binaire, tenant compte de ladite au moins une forme linéaire validée et d'informations de segmentation et de synchronisation, délivrant au moins un nouveau pseudo-mot de code ;
- détermination, dans l'espace dual dudit code correcteur d'erreurs, d'au moins une forme linéaire candidate associée audit nouveau pseudo-mot de code, et validation de ladite au moins une forme linéaire candidate ;
- si au moins une forme linéaire candidate est validée, recentrage et affinage de ladite au moins une forme linéaire validée, et synchronisation fine dudit train binaire ;
- mise à jour dudit au moins un paramètre de codage.
2. Procédé de détermination selon la revendication 1 , caractérisé en ce que ladite étape de sélection tient compte d'au moins un élément appartenant au groupe comprenant :
- les diviseurs de ladite valeur N' ;
- une liste d'entiers compatibles prédéterminée.
3. Procédé de détermination selon la revendication 1 , caractérisé en ce que ladite étape de détermination d'au moins une forme linéaire candidate associée audit pseudo-mot de code de ladite première étape est mise en œuvre pour au moins deux segments dudit train binaire, et tant que le nombre de segments traités est inférieur à un seuil prédéterminé.
4. Procédé de détermination selon la revendication 1, caractérisé en ce que lesdites étapes de détermination d'au moins une forme linéaire candidate associée audit pseudo- mot de code ou audit nouveau pseudo-mot de code mettent en œuvre une version duale d'un algorithme de type pivot de Gauss.
5. Procédé de détermination selon la revendication 4, caractérisé en ce que ladite version duale de l'algorithme de type pivot de Gauss détermine au moins une forme linéaire candidate sous la forme suivante :
- si i est nul :
0 J ~ xj
si i est non nul :
Figure imgf000023_0001
avec :
- Nun entier naturel ;
- i un entier naturel inférieur ou égal à N ;
- k un entier naturel inférieur à / ;
- j un entier compris entre 1 et N,
Xj la base duale de la base canonique de KN, où K est un corps ;
- p = {ρι, .,.,ρι } une partie de {l, ...,N} à i éléments ;
- (υ& )ι<£</ une famille libre de KN telle que pour tout entier k entre 1 et i, le vecteur ϊ7^(υ' '^ )1≤;≤^ 1 obtenu par réduction du vecteur ¾ par le système {υΙ'Ρΐ )ΐ<1<^1 a une ¾ -ième coordonnée non nulle ;
- Ffc la forme linéaire qui associe ¾ j (v) = Xj v^V Pl ^~l~k^ à un vecteur générique .
6. Procédé de détermination selon la revendication 1, caractérisé en ce que lesdites étapes de validation de ladite au moins une forme linéaire candidate testent ladite au moins une forme linéaire candidate sur au moins un segment suivant dans ledit train binaire, et comparent un nombre de valeurs nulles obtenues par rapport à un seuil prédéterminé.
7. Procédé de détermination selon la revendication 1, caractérisé en ce que lesdites étapes de recentrage et affinage de ladite au moins une forme linéaire validée mettent en œuvre une réduction de la taille du pseudo-mot de code ou du nouveau pseudo-mot de code associé à ladite au moins une forme linéaire validée, par suppression de ε bits consécutifs.
8. Procédé de détermination selon la revendication 1 , caractérisé en ce que ladite étape de filtrage détecte les segments dudit train binaire ne vérifiant pas au moins une relation de parité définie par ladite au moins une forme linéaire validée, et élimine un segment détecté en fonction de la taille dudit train binaire reçu.
9. Procédé de détermination selon la revendication 1, caractérisé en ce qu'il comprend une étape de mise à jour des formes linéaires candidates préalablement à ladite étape de synchronisation fine, mettant en œuvre un algorithme de type pivot de Gauss permettant de réduire chaque forme linéaire candidate par l'ensemble des autres formes linéaires candidates.
10. Procédé de détermination selon la revendication 1, caractérisé en ce qu'il comprend une étape d'identification d'au moins un code correcteur d'erreur associé audit au moins un paramètre de codage déterminé, par lecture dans une table de correspondance.
11. Dispositif de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dit paramètre de codage, par analyse d'un train binaire reçu, caractérisé en ce qu'il comprend :
des premiers moyens permettant de définir grossièrement ledit au moins un paramètre de codage, comprenant :
- des moyens de sélection d'une valeur N' entière, correspondant à une taille candidate des mots de codes obtenus lors de la mise en œuvre dudit code correcteur d'erreurs ;
- des moyens de segmentation dudit train binaire, délivrant des segments de 2N' bits consécutifs ;
- des moyens de détermination, activés pour au moins un desdits segments dans l'espace dual dudit code correcteur d'erreurs, d'au moins une forme linéaire candidate associée à un pseudo-mot de code appartenant audit segment, et des moyens de validation de ladite au moins une forme linéaire candidate ; - des moyens de recentrage et affinage de ladite au moins une forme linéaire validée, et des moyens de synchronisation grossière dudit train binaire, activés si au moins une forme linéaire candidate est validée ;
- des moyens de mise à jour dudit au moins un paramètre de codage ;
et des deuxièmes moyens permettant d'affiner ledit au moins un paramètre de codage, comprenant les moyens suivants, activés sous la forme d'au moins une itération :
- des moyens de filtrage dudit train binaire, tenant compte de ladite au moins une forme linéaire validée et d'informations de segmentation et de synchronisation, délivrant au moins un nouveau pseudo-mot de code ;
- des moyens de détermination, dans l'espace dual dudit code correcteur d'erreurs, d'au moins une forme linéaire candidate associée audit nouveau pseudo-mot de code, et des moyens de validation de ladite au moins une forme linéaire candidate ;
- des moyens de recentrage et affinage de ladite au moins une forme linéaire validée, et des moyens de synchronisation fine dudit train binaire, si au moins une forme linéaire candidate est validée ;
- des moyens de mise à jour dudit au moins un paramètre de codage.
12. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de détermination selon l'une quelconque des revendications 1 à 10 lorsque ledit programme est exécuté par un ordinateur.
PCT/EP2011/061444 2010-07-06 2011-07-06 Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dispositif et programme d'ordinateur correspondants WO2012004321A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP11733630.5A EP2591556A1 (fr) 2010-07-06 2011-07-06 Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en uvre en émission, dispositif et programme d'ordinateur correspondants
CA2804395A CA2804395C (fr) 2010-07-06 2011-07-06 Procede de determination d'au moins un parametre d'un code correcteur d'erreurs mis en .uvre en emission, dispositif et programme d'ordinateur correspondants
US13/808,837 US9083381B2 (en) 2010-07-06 2011-07-06 Method of determining at least one parameter of an error-correcting code implemented on transmission, corresponding device and computer program
AU2011275799A AU2011275799B2 (en) 2010-07-06 2011-07-06 Method of determining at least one parameter of an error correcting code implemented on transmission, corresponding device and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR10/02833 2010-07-06
FR1002833A FR2962615B1 (fr) 2010-07-06 2010-07-06 Procede et dispositif d'analyse de train binaire et de reconstruction en aveugle de codes correcteurs d'erreurs

Publications (1)

Publication Number Publication Date
WO2012004321A1 true WO2012004321A1 (fr) 2012-01-12

Family

ID=43733873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/061444 WO2012004321A1 (fr) 2010-07-06 2011-07-06 Procédé de détermination d'au moins un paramètre d'un code correcteur d'erreurs mis en œuvre en émission, dispositif et programme d'ordinateur correspondants

Country Status (6)

Country Link
US (1) US9083381B2 (fr)
EP (1) EP2591556A1 (fr)
AU (1) AU2011275799B2 (fr)
CA (1) CA2804395C (fr)
FR (1) FR2962615B1 (fr)
WO (1) WO2012004321A1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11991280B2 (en) * 2009-04-20 2024-05-21 Pure Storage, Inc. Randomized transforms in a dispersed data storage system
US10505822B2 (en) * 2018-02-26 2019-12-10 Servicenow, Inc. Interactive software renormalization
CN111446972A (zh) * 2020-04-24 2020-07-24 中国人民解放军海军航空大学 一种基于余弦比的ldpc码闭集识别方法
CN113067583B (zh) * 2021-03-01 2022-05-03 中国人民解放军海军航空大学航空作战勤务学院 基于最小错误判决准则的ldpc码码长及码字起点识别方法
CN116436473B (zh) * 2023-06-09 2023-10-03 电子科技大学 一种基于校验矩阵的规则f-ldpc码参数盲识别方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2758926B1 (fr) * 1997-01-24 1999-04-30 France Telecom Procede d'egalisation multicapteurs dans un recepteur radioelectrique comportant un nombre determine de voies de reception et recepteur correspondant
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
EP1039646A1 (fr) * 1999-03-05 2000-09-27 Mitsubishi Electric France Dispositif et méthode d'entrelacement pour entrelacer un jeu de données
FR2845220B1 (fr) * 2002-09-30 2004-12-17 Canon Kk Procedes et dispositifs pour le decodage des codes de geometrie algebrique a un point
EP1471677A1 (fr) * 2003-04-23 2004-10-27 STMicroelectronics N.V. Méthode de détection aveugle du format de transport d'un signal incident encodé par code convolutionnel, et décodeur de code convolutionnel correspondant
US7451361B2 (en) * 2005-01-27 2008-11-11 General Instrument Corporation Method and apparatus for forward error correction in a content distribution system
CN101534168B (zh) * 2009-04-16 2011-11-23 中国电子科技集团公司第五十四研究所 一种容误码的rs码编码参数盲识别方法
CN101557233B (zh) * 2009-05-21 2011-08-10 中国电子科技集团公司第五十四研究所 一种容误码的卷积码编码参数盲识别方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ANONYMUS: "Reed-Solomon error correction", 30 May 2010 (2010-05-30), XP002659651, Retrieved from the Internet <URL:http://web.archive.org/web/20100530211034/http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction> [retrieved on 20110921] *
JOHANN BARBIER, GUILLAUME SICOT, AND S´EBASTIEN HOUCKE: "Algebraic Approach for the Reconstruction ofLinear and Convolutional Error Correcting Codes", INTERNATION JOURNAL OF MATHEMATICAL AND COMPUTER SCIENCE, vol. 2:3, 1 February 2006 (2006-02-01), pages 113 - 118, XP002659652, Retrieved from the Internet <URL:http://www.waset.org/journals/ijmcs/v2/v2-3-23.pdf> [retrieved on 20110921] *
MARAZIN M ET AL: "Dual Code Method for Blind Identification of Convolutional Encoder for Cognitive Radio Receiver Design", GLOBECOM WORKSHOPS, 2009 IEEE, 30 November 2009 (2009-11-30), IEEE, PISCATAWAY, NJ, USA, pages 1 - 6, XP031585748, ISBN: 978-1-4244-5626-0 *
MARAZIN, MÉLANIE: "Reconnaissance en aveugle de codeur à base de code convolutif : Contribution à la mise en oeuvre d'un récepteur intelligent", 28 May 2010 (2010-05-28), pages 218PP, XP002629663, Retrieved from the Internet <URL:http://tel.archives-ouvertes.fr/docs/00/48/73/30/PDF/memoire_MMarazin_Vfinal.pdf> [retrieved on 20110318] *
SICOT G ET AL: "Blind detection of interleaver parameters", 2005 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING - 18-23 MARCH 2005 - PHILADELPHIA, PA, USA, IEEE, PISCATAWAY, NJ, vol. 3, 18 March 2005 (2005-03-18), pages 829 - 832, XP010793950, ISBN: 978-0-7803-8874-1, DOI: 10.1109/ICASSP.2005.1415838 *
VINCENT CHOQUEUSE ET AL: "Blind recognition of linear space time block codes", IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING. ICASSP 2008., 31 March 2008 (2008-03-31), IEEE, PISCATAWAY, NJ, USA, pages 2833 - 2836, XP031251181, ISBN: 978-1-4244-1483-3 *

Also Published As

Publication number Publication date
FR2962615A1 (fr) 2012-01-13
AU2011275799A1 (en) 2013-01-24
AU2011275799B2 (en) 2015-12-03
US9083381B2 (en) 2015-07-14
EP2591556A1 (fr) 2013-05-15
CA2804395C (fr) 2018-07-31
FR2962615B1 (fr) 2013-03-22
CA2804395A1 (fr) 2012-01-12
US20130166985A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
EP2586133B1 (fr) Contrôle d&#39;une boucle de rétroaction de mise en forme de bruit dans un codeur de signal audionumérique
EP0848501B1 (fr) Système et procédé de transmission numérique comportant un code produit combiné à une modulation multidimensionnelle
EP2591556A1 (fr) Procédé de détermination d&#39;au moins un paramètre d&#39;un code correcteur d&#39;erreurs mis en uvre en émission, dispositif et programme d&#39;ordinateur correspondants
FR3003107A1 (fr) Procede de transmission d&#39;un signal multiporteuse, dispositif de transmission et programme d&#39;ordinateur correspondants
EP3443678A1 (fr) Methode de décodage d&#39;un code polaire avec inversion de bits peu fiables
FR2778289A1 (fr) Decodage iteratif de codes produits
EP2769378B1 (fr) Codage hierarchique perfectionne
WO2008047051A2 (fr) Attenuation du survoisement, notamment pour la generation d&#39;une excitation aupres d&#39;un decodeur, en absence d&#39;information
EP3082266B1 (fr) Procedes de codage et decodage a protection differenciee
EP1766785A1 (fr) Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant
FR3009462B1 (fr) Procede ameliore de decodage d&#39;un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
EP2652735B1 (fr) Codage perfectionne d&#39;un etage d&#39;amelioration dans un codeur hierarchique
CA2875108C (fr) Elements secondaires dans un encodage de type fuzzy vault
WO2004105304A1 (fr) Transmission securisee de donnees entre deux modules
EP3087678A1 (fr) Correction d&#39;erreurs avec test de plusieurs longueurs pour une trame de données
WO2006087497A2 (fr) Procede et dispositif de synchronisation trame
EP2203915A1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
EP2656534B1 (fr) Procédé d&#39;authentification multimodale et génération de clé cryptographique utilisant les secure sketches généralises
FR2842671A1 (fr) Compression de donnees numeriques robuste au bruit de transmission
FR2960335A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
WO2007091000A2 (fr) Procede de codage d&#39;un signal audio source, dispositif de codage, procede de decodage, signal, support de donnees, produits programme d&#39;ordinateur correspondants
EP3057238B1 (fr) Méthode de décodage itératif de séquences lfsr à faible probabilité de fausse alarme
WO2015197971A1 (fr) Procédés et dispositifs de codage et de décodage correcteur d&#39;erreurs, et programme d&#39;ordinateur correspondant
FR2992458A1 (fr) Methodes de compression audio additionnelles a tres bas debit exploitant les redondances locales et utilisant le codage par dictionnaire adaptatif
FR3131995A1 (fr) Support de calculs sur nombres reels au niveau des commutateurs physiques

Legal Events

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

Ref document number: 11733630

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011733630

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2804395

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2011275799

Country of ref document: AU

Date of ref document: 20110706

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13808837

Country of ref document: US