CN102308479B - Method and device for flexible error correction encoding and corresponding computer program product - Google Patents

Method and device for flexible error correction encoding and corresponding computer program product Download PDF

Info

Publication number
CN102308479B
CN102308479B CN201080006215.4A CN201080006215A CN102308479B CN 102308479 B CN102308479 B CN 102308479B CN 201080006215 A CN201080006215 A CN 201080006215A CN 102308479 B CN102308479 B CN 102308479B
Authority
CN
China
Prior art keywords
code
scrambler
level
coding
basic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080006215.4A
Other languages
Chinese (zh)
Other versions
CN102308479A (en
Inventor
冉·克劳德·加莱士
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
3G patent licensing Limited by Share Ltd
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of CN102308479A publication Critical patent/CN102308479A/en
Application granted granted Critical
Publication of CN102308479B publication Critical patent/CN102308479B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/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/13Linear codes
    • H03M13/136Reed-Muller [RM] 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/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
    • 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/6561Parallelized implementations

Abstract

The invention relates to an error correction encoding device that combines redundancy data with source data, said device including: at least three encoding stages, each implementing at least one set of three basic encoding modules, in which a first encoding stage receives said source data and a last encoding stage provides said redundancy data, each encoding module implementing a basic code, at least two permutation stages, said permutation stages being inserted between two consecutive encoding stages. According to the invention, each basic encoding module includes c inputs and c outputs, c being an integer, and each permutation stage implements a c-cyclic permutation.

Description

For the method and apparatus of the coding of error correction flexibly
Technical field
The field of the invention is the field of digital data coding.More particularly, the invention relates to error-correcting code.
The present invention is particularly though not exclusively applied to the coding with the source data of data block organisation that independently of one another and therefore must block-by-block Code And Decode, and is applied to the coding (convolutional encoding) of data flow.
Background technology
Exist many known coding techniquess to realize transmitting error correction.
These error-correcting codes have realized the correction of transmitting mistake intrinsic in each communication channel.Therefore, it is widely used in following field:
-as in ADSL standard by electric wire telecommunications or by the information transmitting of the optical communication on the optical fiber in open space;
-as for example also having in TNT digital television system, DAB digital radio, GSM or UMTS phone, WiFi radio net for the future communications systems such as the following standard of the transmitting between DVB, 4G, LTE, " Future Internet " or the communication vehicles, object or machine etc., the information transmitting in wireless space is communicated by letter with terrestrial radio;
The compression and decompression of-information source;
In-cdma system, the generation of sequence and detection, be called scrambler;
-information storage in the magnetic of the hard disk drive in order to be configured for computer or random access memory or USB interface memory stick etc., optics, machinery or electric mass storage;
The information correction in-computing interval in the integrated circuit of microprocessor or in computer;
-etc.
These transmitting mistake are for example to be caused by the thermal noise of the electronic building brick of receiver, electromagnetism scrambler (be no matter have a mind to or unintentionally), echo under radio propagation conditions or in electric energy network or many propagation etc.
Launch wrong correction in order to realize these, error-correcting code makes it possible to produce redundant data from source data.
Therefore, error-correcting code is carried out classical definition by the following:
-length n, it is corresponding to the data output from encoder (code word with length n is formed by k source data sheet and (n-k) individual redundant data sheet),
Position or the number of symbols k of-pay(useful) load information, its data corresponding to the input of encoder (also referred to as source data), and
-minimum range d min.
The minimum range d of code mincorresponding to the minimum range between two code words.It makes to determine the correctable maximum error number of code described in code word.
The speed of code is defined by R=k/n.
For instance, (8,4,4) Hamming code is the code with length n=8, and it obtains k=4 pay(useful) load information symbol, wherein minimum range d in input min=4, and speed is 1/2.
In the forties in 20th century about the research the earliest of error-correcting code.
Recently, in European patent EP 1101288, J.C.Carlach and C.Vervoux have proposed new encoding scheme, are called " Cortex code ".These codes are that those skilled in the art is well-known, and are based on set up the code with effective connection attribute from the simple little basic code of the parallel level that is placed to a certain number of being separated by displacement.
A defect of the error-correcting code that substantially, has length n and contain k pay(useful) load information symbol is: minimum range d minbe not best for these length n and k, that is, minimum range is not to realize the hithermost potential range of the coboundary of the detection of maximum error number apart from described code.
Now, because minimum range d minlarge as far as possible minimum range, so can detect (d min-1) individual mismark and proofread and correct these mismarks (wherein operator represent integer part).
In addition, use for commercial scale, the cost aspect that the optimization of error-correcting code is also included in consumed hardware and energy reduces the complexity of Code And Decode as far as possible.
Contradiction, optimizes these problems of error-correcting code in the time that the length n of code changes in the scope from little to average (, approximately n < 1000) and is more difficult to resolve certainly.
This is because be called the classic algorithm of belief propagation algorithm or its modification along with the length of circulation reduces and becomes gradually not ideal enough.
Circulation is the closed path in Tanner figure, and its symbol that represents a word is in order to make this word become the restrictive condition that the word institute of a code must be satisfied (+with=).
Therefore need a kind of novel error-correcting code that draws effective result (, larger minimum range) of for example Cortex code and there is shorter circulation.
Summary of the invention
The present invention proposes the novel solution of all these defects without prior art, and its form is a kind of error correction code device, and it is the type that redundant data is associated with source data, and described device comprises:
-at least three code level, it implements at least one group of three basic coding modules separately, comprises the first code level, last code level and at least one intermediate code level,
Each coding module is implemented a basic code,
Each code level receives treats processing between different basic coding modules, the data that distribute, and transmits the treated data from described basic coding module,
Described the first code level receives described source data and described last code level is transmitted described redundant data;
-at least two displacement levels, described displacement level is inserted in and is called previous coding level and follows between two continuous programming code levels of code level, and between described at least two basic coding modules of following code level, distributes from the described treated data of each basic coding module of described previous coding level.
According to the present invention, each basic coding module comprises c input and c output, and wherein c is integer, and each displacement level is implemented the displacement of c circular form.
Therefore, the present invention depends on for the novelty of error correction coding and the method for tool invention, it makes can obtain and have large as far as possible minimum range and implement simple as far as possible well behaved code for given speed, and realizes the decoding with reduction complexity.
In fact, basic coding module is selected with code obtained optimum and self dual mode when with c circular form displacement combination.
For this reason, code level is at least three on number, and separates by replacing, and described displacement is through selecting to leave maximum fixed positions and comprising the circulation of minimal number.
The use of c cyclic permutation makes especially to make the minimum number of memory access (read/write) operation, and prevents the problem of storage access conflict.In fact, memory may be partitioned into c piece, wherein in each piece, data slice can be stored in to storage page in or have in the sub-block b of " mould c " address.For instance, for 4 cyclic permutations, can be by information a 0, a 4, a 8be stored in first, by data a 1, a 5, a 9be stored in second, by data a 2, a 6, a 10be stored in the 3rd, and by data a 3, a 7, a 11be stored in the 4th.
In particular, described basic code belongs to the group that comprises the following:
-there is the Hamming code of transfer matrix P;
-there is transfer matrix P +or P -half yard of Hamming, it derives from the Hamming code with transfer matrix P is divided into two, and makes P=P +× P -=P -× P +;
-left half yard, make:
-for even number index (2i), 0≤2i≤(c-1):
wherein operator ∑ is for summation mould 2 operators, also referred to as distance operator, and wherein degree corresponding to the number of the input of nonequivalence operation;
-for odd number index (2i+1), 1≤2i+1≤(c-1):
r 2i+1=x 2i+1
Wherein r iredundant data sheet and x iit is source data sheet;
-right half yard, itself and half yard, described left side antithesis, make:
-for even number index (2i), 0≤2i≤(c-1):
r 2i=x 2i
For odd number index (2i+1), 1≤2i+1≤(c-1):
wherein operator ∑ is summation mould 2 operators, and also referred to as distance, wherein degree is corresponding to the number of the input of nonequivalence operation;
Wherein r iredundant data sheet and x iit is source data sheet;
-identity code.
Therefore, basic code has embodiment and (has transfer matrix P as left half yard of the self dual code such as Hamming code and identity code or for example Hamming +) and right half yard of Hamming (there is transfer matrix P -) etc. form the character of the code of self dual code in when serial connection.This self dual character realizes the optimum decoding of the decoding complexity with reduction.In addition, it especially guarantees to equal 1/2 code rate.
According to a particular characteristics of the present invention, described code device comprises at least one scrambler level subsequently, it is inserted between two continuous programming code levels, one subsequently scrambler level comprise and implement half grade of the continuous scrambler of two of dissimilar scrambler, be called the first and second scrambler sub levels subsequently, described first subsequently scrambler sub level comprise at least two different scrambling codes modules, each scrambler module receives the treated data from least one group of three coding modules of same intermediate code level, and transmission described second subsequently the input of scrambler sub level obtain through scrambler data, each scrambler module is implemented dissimilar scrambler, and described device comprises at least one the previous scrambler level being inserted between two continuous code level, previously scrambler level comprised at least one previous scrambler sub level, described at least one previous scrambler sub level is implemented the second scrambler that scrambler sub level is identical subsequently with the one in the described level of scrambler subsequently.
Therefore, error correction code device of the present invention by before the stacked level at displacement and coding and add afterwards scrambler level make to obtain retained large as far as possible minimum range dmin character there is the code compared with big-length.
Term " scrambler " is understood to mean distribution, displacement, rotation of arbitrary type etc. herein.
According to a particular aspects of the present invention, described previous scrambler level comprises at least two continuous scrambler sub levels implementing dissimilar scrambler, be called the first and second previous scrambler sub levels, and the described second previous scrambler sub level comprises at least two different scrambling codes modules, each scrambler module receive from the described first previous scrambler sub level through scrambler data, and by least one group of three coding modules to same intermediate code level through scrambler transfer of data again, each scrambler module is implemented dissimilar scrambler.
Therefore, the selection of different scrambling codes module draws and in the time of coding and in the time of decoding, all has the optimum code that reduces complexity.
The use of dissimilar stack scrambler submodule draws the larger diversity of basic code.In fact, the input of basic code and/or the displacement of output draw the code with distinct symbols combination.The increase of the diversity of basic code has increased the minimum range between two words of the overall code of gained.
In particular, described scrambler module or scrambler sub level implement to belong to the scrambler of the group that comprises the following:
-identity scrambler, makes:
&ForAll; i = 0,1 , . . . , ( k - 1 ) , &pi; k ( i ) = i ;
-scrambler, makes:
Its conditional is Δ={ Δ 0, Δ 1..., Δ c-1be numeric parameter set, make:
-parameter (Δ 0, Δ 1..., Δ c-1) must be taken to few three different values, or
If-described parameter (Δ 0, Δ 1..., Δ c-1) only get two different values, each in so described two values at least exists twice in described set Δ,
-scrambler, makes:
wherein
Wherein k is replacement length.
According to a particular characteristics of the present invention, described basic coding module is implemented identical basic code.
Therefore the basic coding module that, error correction code device according to the present invention is implemented identical basic code by use is simplified.In fact, implementer's case of coding module is implemented the coding module of same code and is simplified because re-using continuously.
In particular, described identical basic code is that length n equals eight, comprises that k equals four pay(useful) load information symbols and minimum range d minequal four Hamming code.
According to a particular aspects of the present invention, c is even-integer.
According to a particular characteristics of the present invention, described displacement level distributes from two treated data slice of the basic coding module of previous coding level between two basic coding modules of following code level.
According to a particular aspects of the present invention, described device comprises ZF module, and described ZF module makes at least one at least one and/or the described redundant data project in described source data project in null value.
Even if this ZF of some data items is made especially can obtain very neatly in the input of basic coding module and/or output and there is the code that is different from 1/2 speed and there is the minimum range that also keeps good in the time that speed is tending towards 1.The speed that can go to zero similarly, is set up quasi-optimal code.In fact, in the time of coding, represented perfectly the not null value message slot of Noise by the data slice of ZF in reception place.
The invention still further relates to a kind of error correction coding method, its type for redundant data (r0 is to r11) is associated with source data (x0 is to x11), described method is implemented:
-at least three coding steps, comprise the first coding step, last coding step and at least one intermediate code step, and each step is implemented at least one group of three basic coding modules,
Each coding module is implemented a basic code,
Each coding step receives treats processing between different basic coding modules, the data that distribute, and transmits the treated data from described basic coding module,
Described the first coding step receives described source data and described last coding step transmits described redundant data; And
-at least two displacement step, described displacement step is implemented on and is called previous coding step and follows between two continuous programming code steps of coding step, and the described treated data of each basic coding module of implementing in distributing from described previous coding step between described at least two basic coding modules of following coding step.
According to the present invention, each basic coding module comprises c input and c output, and wherein c is integer, and each displacement step is implemented the displacement of c circular form.
The method can be by implementing as this paper error correction code device described above.Can change the method to take the form of different embodiment, described different embodiment comprise respectively the different qualities about the different embodiment of error correction code device according to the present invention.
Finally, the invention still further relates to a kind of computer program that comprises instruction, described instruction in order to implement error correction coding method as discussed herein above in the time that described program is carried out by processor.
Brief description of the drawings
By the description to specific embodiment that provides by means of simple explanation and non-exhaustive example below and by accompanying drawing, will more clearly understand other features and advantages of the present invention, in accompanying drawing:
-Fig. 1 a illustrates according to the example of the basic coding module of error correction code device of the present invention embodiment, and it represents compact hamming code device C4;
The transfer matrix P of the encoder of-Fig. 1 b key diagram 1a;
-Fig. 2 a and Fig. 2 b illustrate according to two examples of the basic coding module of error correction code device of the present invention embodiment, and it represents respectively the left half encoder C4+ of Hamming and the right half encoder C4-of Hamming;
-Fig. 2 c, Fig. 2 d and Fig. 2 e illustrate according to three examples of the basic coding module of error correction code device of the present invention embodiment, half yard of 5,6 and 7 input of its expression;
-Fig. 3 a illustrates according to the first embodiment of error correction code device of the present invention, and it comprises three code level, three basic coding modules of the compact Hamming code C4 of each self-contained enforcement, and two displacement level π 0;
-Fig. 3 b presents the transfer matrix P of the encoder of Fig. 3 a;
-Fig. 4 a illustrates according to the second embodiment of error correction code device of the present invention, it comprises three code level, comprise separately three basic coding modules implementing the identity code that compact Hamming code C4, the left half yard of C4+ of Hamming, the right half yard of C4-of Hamming or length are four, and two displacement level π 0;
-Fig. 4 b presents the transfer matrix P of the encoder of Fig. 4 a;
-Fig. 5 a illustrates according to the 3rd embodiment of error correction code device of the present invention, and it comprises three code level, comprises separately four basic coding modules implementing compact Hamming code C4, and two displacement level π 0;
-Fig. 5 b presents the transfer matrix P of the encoder of Fig. 5 a;
-Fig. 6 a illustrates according to the 4th embodiment of error correction code device of the present invention, it comprises five code level, comprise separately six basic coding modules implementing compact Hamming code C4, two displacement level 0, one previous scrambler level π-1 of π and one scrambler level π 1 subsequently;
-Fig. 6 b presents the transfer matrix P of the encoder of Fig. 6 a;
-Fig. 7 a illustrates according to the 5th embodiment of error correction code device of the present invention, it comprises five coding steps, comprise separately nine basic coding modules implementing a compact Hamming code C4, two displacement level 0, one previous scrambler level π-1 of π and one scrambler level π 1 subsequently;
-Fig. 7 b presents the transfer matrix P of the encoder of Fig. 7 a;
-Fig. 8 a illustrates according to the 6th embodiment of error correction code device of the present invention, it comprises seven code level, comprise separately 12 basic coding modules implementing compact Hamming code C4, two displacement level 0, two previous scrambler level π-2 of π and π-1 and two scrambler level π 1 and π 2 subsequently;
-Fig. 8 b presents the transfer matrix P of the encoder of Fig. 8 a;
-Fig. 9 illustrates the key step of coding method according to an embodiment of the invention.
Embodiment
5.1 General Principle
General Principle of the present invention depends on the associated of basic coding module and c circular form displacement, and basic coding module is with code obtained optimum when with c circular form displacement combination and be that self dual mode is selected.
Especially can replace by these c circular forms of juxtaposition, complete bigraph (bipartite graph) (bipartite graph) and identification series connection and/or displacement in parallel.
Can recall in the situation that code equals its antithesis and described code can be called to " self-dual ".In other words, arbitrary word u of self dual code is all orthogonal to arbitrary word v of described code, comprises himself.Therefore, uv=0, wherein the scalar product of uv in the territory of the symbol of code or ring, that is, for example mould 2.
For this reason, code level is at least three on number, and is separated by particular permutation, and it is through selecting to allow by maximum fixed position and the circulation that contains minimal number.The code of being implemented by basic coding module is also specific, and belong to comprise Hamming code, as the group with half yard of undefined Hamming or identity code herein.
Therefore the present invention proposes novel error correction coding structure, it makes can obtain and have maximum minimum range and implement simple as far as possible code for given speed, and realize the decoding that complexity is lower,, factorization is carried out in the calculating of the factorization of transfer matrix P by the code that obtains according to the present invention during to Code And Decode.
Therefore can simplify as the enforcement of the existing Cortex encoder of definition in the above-mentioned European patent EP 1101288 of this paper.Because to this improvement of Cortex code, for example, so can define new code, optimum self dual code (n=48, k=24) and (n=72 especially, k=36), himself can be changed into basic code and set up novel long code with Regression according to the present invention.
Error-correcting code according to the present invention can be applicable to a large amount of fields, especially with reference to the listed field of prior art.
5.2 definition
5.2.1 half yard of compact Hamming code and Hamming left and right
The specific expression of Fig. 1 a explanation (8,4,4) Hamming code, it is called compact Hamming code C4, and it can implement in the basic coding module of of an error correction code device according to the present invention embodiment.
This basic coding module has corresponding to four of source data input x0, x1, x2 and x3 (ce=4), and corresponding to four outputs r0, r1, r2 and r3 (cs=4) of redundant data, calculates as follows:
r0=x0+x1+x3
r1=x0+x1+x2
r2=x1+x2+x3
r3=x0+x2+x3
The transfer matrix P of this compact Hamming code illustrates in Fig. 1 b, wherein open circles corresponding to 0 and black circle corresponding to 1.
The weight enumerator multinomial of the row of this transfer matrix P equals W p(X)=4X 3, wherein minimal weight w min=3 and minimum range d min=4.
This basic code is self dual.Therefore it ensures 1/2 speed.
Due to adopted specific expression, code as the antithesis of this basic code can easily obtain in the following way: with equating that computing ("=") replaces add operation ("+"), and replace and equate computing ("=") with add operation ("+"), and the meaning of reversion arrow.Therefore this expression is favourable.
These expressions make also to set up two new codes that can be used for cutting by basic coding module compact Hamming code, are therefore expressed as along two codes of the axle (AA ') of Fig. 1 a.In this way, obtain two less codes, be called and be expressed as C4 +left half yard and be expressed as C4 of Hamming -right half yard of Hamming.
The left half yard of C4 of Hamming +with transfer matrix P +be associated, and the right half yard of C4 of Hamming -with transfer matrix P -be associated, make P=P +× P -=P -× P +.
In Fig. 2 a and Fig. 2 b, illustrate respectively these two and half yards.
More particularly, according to this example, left half yard of C4 +there are four input position (x0, x1, x2, x3) (ce=4) He four carry-out bits (r ' 0, r ' 1, r ' 2, r ' 3) (cs=4).
Right half yard of C4 -there are four input position (r " 0, r " 1, r " 2, r " 3) (ce=4) He four carry-out bits (r0, r1, r2, r3) (cs=4).
Right half yard of C4 -left half yard of C4 +dual code (initial), wherein (ce)=(cs)=4.
Left half yard of C4 +with half yard, right side C4 -these two codes can be grouped in together in the following way: by half yard, left side C4 +output (r ' 0, r ' 1, r ' 2, r ' 3) be directly connected to right half yard of C4 -input (r " 0, r " 1, r " 2, r " 3), thereby form compact Hamming code C4.
In this example, half yard, a left side of Hamming code C4 is defined by 2 circulation patterns, makes:
X (2i-1)+x (2i)+x (2i+1) provides r ' (i)
And
X (2i+1) provides r ' (2i+1),
Its Exponential i is calculated as the mould of length (ce), thereby Hamming code C4 (8,4,4) is drawn to 4.
Therefore:
-for i=0:
r′0=x(-1)+x(0)+x(1)=x3+x0+x1
r′1=x1
-for i=1:
r′2=x(1)+x(2)+x(3)=x1+x2+x3
r′3=x3。
In other embodiments, basic code can have a number input (ce) that is different from output number (cs).
Similarly, this " compactness " of Hamming code represents to expand to the number that inputs or outputs that is different from four.
The general formulae in order to set up with half yard, half yard, the basic left sides of c input and output and the basic right side can be expressed as follows:
For even number index (2i), 0≤2i≤(c-1):
wherein operator ∑ is for summation mould 2 operators, also referred to as distance, and wherein degree corresponding to the number (degree is always odd number value) of the input of distance operator;
For odd number index (2i+1), 1≤2i+1≤(c-1):
r 2i+1=x 2i+1
For instance, can set up half yard with five inputs and five outputs that in Fig. 2 c, illustrates, make:
r0=x4+x0+x1
r1=x1
r2=x1+x2+x3
r3=x3
r4=x3+x4+x0
Or again, can obtain thering is six inputs and six outputs half yard and expressing as follows of illustrating in Fig. 2 d:
r0=x5+x0+x1
r1=x1
r2=x1+x2+x3
r3=x3
r4=x3+x4+x5
r5=x5
Another example of half yard is described in Fig. 2 f.It has seven inputs and seven outputs, and can so express:
r0=x6+x0+x1
r1=x1
r2=x1+x2+x3
r3=x3
r4=x3+x4+x5
r5=x5
r6=x5+x6+x0
5.2.2c circular form displacementπ Δ, k
It is constant for the position of the multiple of c that c circular form is replaced this displacement.In other words, same displacement patterns is applied to each piece with length c.
For instance, consider the 4 circular form displacements as illustrated in Fig. 3 a, it obtains position 0,1,2,3,4,5,6,7 in input, the symbol at 8,9,10 and 11 places, and respectively these same-sign are transferred to position 11,1,2,4,3,5,6,8,7,9,10 and 0.According to the first displacement patterns, observe position (1,2,3,4) symbol of locating sends to position (1,2,4,3), the symbol that position (5,6,7,8) is located sends to position (5,6,8,7), and position (9,10,11,0) symbol of locating sends to position (9,10,0,11).Therefore according to this first mode, the symbol that position (i, i+1, i+2, i+3) locates sends to position (i, i+1, i+3, i+2).According to another displacement patterns, position (2,3,4,5) symbol of locating sends to position (2,4,3,5), therefore the symbol that position (6,7,8,9) is located sends to position (6,8,7,9), and position (10,11,0,1) symbol of locating sends to position (10,0,11,1).Therefore according to this second pattern, the symbol that position (i, i+1, i+2, i+3) locates sends to position (i, i+2, i+1, i+3).
Therefore,, for each piece with length c=4, observe same displacement patterns.
C circular form displacement as follows form is write out:
Wherein Δ={ Δ 0, Δ 1..., Δ c-1numeric parameter set (add to from the index of the output symbol of c cyclic permutation or deduct from it, to find out the index of this symbol of input of displacement).Below restriction must be applied to the set Δ of numeric parameter:
1. the parameter of set Δ should be taken to few three different values.For instance, for situation c=4:(Δ 0, Δ 1, Δ 2, Δ 3)=(-1,0,0 ,+1) and
2. under exception, when the parameter of set Δ while only getting two different values, each in so described two values at least exists twice in set.For instance, in the time of c=4: (Δ 0, Δ 1, Δ 2, Δ 3)=(-1 ,-1 ,+1 ,+1) realize the definition of 4 cyclic permutations, and got rid of (Δ 0, Δ 1, Δ 2, Δ 3)=(n, 0,0,0) (n is the relative integer of non-zero), because the value of " n " only exists once in set Δ.This kind of four-tuple cannot draw the good overall code (having maximum minimum range) of the level with minimal number.
The use of this c cyclic permutation is by reducing the enforcement of the number of the assembly of use having been simplified to error correction code device.
In addition, this c circular form displacement has limited the memory access operations of the invariant position that is retained in its memory location.The displacement of address is also minimized, because unnecessary data address is reused.
5.2.3 the displacement of complete bigraph (bipartite graph)π bk
The information that these displacements have a place of inputing or outputing to basic coding module is mixed or the effect of scrambler.
This displacement as follows form is write out:
wherein
(wherein operator represent integer part).
The description of 5.3 first embodiment
Referring now to Fig. 3 a and Fig. 3 b,, present the first embodiment according to code device of the present invention.
Fig. 3 a illustrates according to the structure of encoder of the present invention, and it is obtained some source data sheets (x0, x1, x2...x11) and transmits some redundant data sheets (r0, r1, r2...r11) in output in input.
These redundant data sheets can be used in combination to form code word with source data subsequently.
The encoder so forming has three code level cA, cB and cC, and two displacement level π 0.Each code level has three basic coding modules: for the first code level cA (A0, A1, A2), and for intermediate code level cB (B0, B1, B2), and for (C0, C1, the C2) of last code level cC.
The label of the input and output place instruction of displacement level π 0 defines replaces grade position of the symbol of the input at place and the correspondence position in output thereof.
According to this first embodiment, each basic coding module is corresponding to the encoder C4 illustrating in Fig. 1 a, and it is implemented as this paper compact Hamming code described above.
In addition, π 0 displacement using is the 4 circular form displacements with parameter Δ=1 (having limited crossing operation), its by the circulation of minimal number and therefore the fixed position of maximum number (being represented by the horizontal line in displacement level) describe, therefore reduced calculating and memory access operations.
This encoder draws the code that length n equals 24, k equals 12 pay(useful) load information symbols and minimum range dmin equals 8.
The use of (8,4,4) Hamming code C in basic coding module collection makes especially to obtain the upper bound for the minimum range of the final code of setting up, and it reaches minimum limit Bmin, defines as follows:
This is in this code of setting up to obtain by Cortex according to the present invention and hereinafter referred to as simplifies Cortex-Golay code (24,12,8).In other words, the present invention is by using simplified structure based on Hamming code to realize the reconstruction of Golay code.The transfer matrix P of obtained final code is described in Fig. 3 b.
The weight enumerator multinomial of the weight of the row of this matrix P equals: W p(X)=12X 7, wherein minimal weight w min≤ 7 and minimum range d min≤ 8.
Minimal weight w minrow in order to instruction according to the present invention set up code minimum range d min, as follows:
d min≤(w min+1)。
This is the extremely rare character of code series, wherein calculates minimum range d according to the length n of code (24 multiples) minbecome especially simple.In fact, the capable weight of k of calculating the transfer matrix P of code is enough, without calculating exhaustively 2 of code kindividual word.
The description of 5.4 second embodiment
Referring now to Fig. 4 a and Fig. 4 b,, present the second embodiment according to code device of the present invention.
Fig. 4 a illustrates according to encoder of the present invention, and it obtains data slice (x0 of input, x1, x2...x11) and at output transmission of redundant data sheet (r0, r1, r2...r11).Again, these redundant data sheets can be used in combination to form code word with source data.
The encoder packet so forming is containing three code level cA, cB and cC, and two displacement level π 0.Each code level has three basic coding modules: the first code level cA implements the left half yard of C4 of three Hammings +(A0, A1, A2), intermediate code level cB implements two compact Hamming code C4 (B0, B2) and an identity code Id4, and last code level cC implements the right half yard of C4 of three Hammings -(C0, C1, C2).
In this paper embodiment described above, the displacement π 0 using is 4 cyclic permutations with parameter Δ=1, its by the circulation of minimal number and therefore the fixed position of maximum number (being represented by the horizontal line in displacement level) describe, therefore reduced calculating and memory access operations.
On the contrary, in this embodiment, code level is not implemented the code of same type entirely.
In fact, the first code level cA has three basic coding modules (A0, A1, A2), and it implements the left half yard of C4 of Hamming as described above in this paper separately +type code.
Left half yard of this Hamming is not self dual.Therefore, in order to maintain this character for " totally " or the final code set up, last code level cC also comprises three basic coding modules (C0, C1, C2), and it implements the right half yard of C4 of Hamming separately -type code.
Comprise implement right half yard of Hamming left half yard and Hamming basic coding module these two code level cA and combining of cC are equivalent to the code level that comprises the basic coding module of implementing compact Hamming code.
The larger flexibility while setting up final yard has been transmitted in the use that half yard, a Hamming left side and Hamming are right half yard, and especially can obtain plurality object code.
Intermediate code level cB comprises two basic coding modules (B0, B2) of implementing compact Hamming code C4 and a basic coding module implementing identity code Id4.
This diversity of basic code C4+, C4, Id4 and C4-makes to set up the self dual code of in fact all optimums, and can set up the code that is not optimum.But, making a choice according to the minimal weight of the row of its transfer matrix P, it makes the weight of the non-zero word of code have restriction.
This encoder is implemented and the displacement patterns π 0 that describes 4 identical circular forms in previous embodiment,, has 4 circular forms displacements of parameter Δ=1 that is.
The transfer matrix P of this yard is described in Fig. 4 b.
The weight enumerator multinomial of the row of this matrix P equals: Wp (X)=2X 3+ 2X 5+ 6X 7+ 2X 9, wherein minimal weight w min=3 and minimum range d min≤ 4.
The description of 5.5 the 3rd embodiment
Referring now to Fig. 5 a and Fig. 5 b,, present the 3rd embodiment according to code device of the present invention.
Fig. 5 a illustrates according to this kind of encoder of the present invention, and it obtains data slice (x0, x1, x2...x15) and at output transmission of redundant data sheet (r0, r1, r2...r15) in input.
The encoder so forming has three code level cA, cB and cC, and it comprises four basic coding modules (A0, A1, A2, A3), (B0 separately, B1, B2, B3) and (C0, C1, C2, C3), it implements compact Hamming code C4 separately, and two displacement level π 0.
This encoder is implemented and the displacement patterns π 0 that describes 4 identical circular forms in the first embodiment,, has 4 circular form displacements of parameter Δ=1 that is.
The length of this yard equals 32, that is, and and " simplification " described above Cortex-Golay code C herein 14/3 of the length of (24,12,8), and the minimum range d of this yard minwith this paper " simplification " described above Cortex-Golay code C 1the minimum range of (24,12,8) is identical.
Therefore the invention enables and can derive and there is identical minimum range d according to Cortex structure code minlonger Cortex code.
The transfer matrix P of this yard is described in Fig. 5 b.
The weight enumerator multinomial of the row of this matrix P equals W p(X)=16X 11, wherein minimal weight w min=11 and minimum range d min≤ 12.But, because this code is according to this paper " simplification " described above Cortex-Golay code C 1derive (24,12,8), therefore obtains d min=8.
The description of 5.6 the 4th embodiment
Referring now to Fig. 6 a and Fig. 6 b,, present the 4th embodiment according to code device of the present invention.
Fig. 6 a illustrates according to encoder of the present invention, and it obtains data slice (x0, x1, x2...x23) in input, and at output transmission of redundant data sheet (r0, r1, r2...r23).
The encoder packet so forming is containing five code level cA, cB, cC, cD and cE, and it comprises six basic coding modules (A0, A1, A2, A3 separately, A4, A5), (B0, B1, B2, B3, B4, B5), (C0, C1, C2, C3, C4, C5), (D0, D1, D2, D3, D4, D5) and (E0, E1, E2, E3, E4, E5), implement separately compact Hamming code C4, two displacement level π 0, previously scrambler level π-1 (was also expressed as π 9,24) and scrambler level π 1 subsequently, itself is by two scrambler sub level π 11 and π 9,24composition.The first scrambler sub level π 11 subsequently comprises two different scrambler modules, is called π b12and π=12, it implements different scrambler computings.
It may be noted that this encoder has enforcement and was previously called " simplification " Cortex-Golay code C 1two encoders of the code of (24,12,8), its in Fig. 6 a respectively by for top Cortex-Golay encoder C 1the basic coding module (B0, B1, B2) of (24,12,8), (C0, C1, C2), (D0, D1, D2) and for bottom Cortex-Golay encoder C 1the basic coding module (B3, B4, B5) of (24,12,8), (C3, C4, C5), (D3, D4, D5) and (having 4 circular forms of parameter Δ=1) displacement π 0 identify.
In addition top Cortex-Golay C, 1the output of (24,12,8) encoder enters the first scrambler module π b12, in fact impose lower scrambler computing:
wherein
For instance, equal 12 for k, as illustrated in Fig. 6 a, p equals 3, and obtains with upper/lower positions: π in the output of the first scrambler module b12={ 0,4,8,1,5,9,2,6,10,3,7,11}.
Bottom Cortex-Golay C 1the output of (24,12,8) encoder enters the second scrambler module π=12, and it implements identity scrambler, that is, scrambler does not exist.
These two kinds of dissimilar scramblers in the same scrambler sub level π 11 of scrambler level π 1 subsequently to use for the larger diversity that obtains code obtained be basic.
The second scrambler sub level π of scrambler level π 1 subsequently 9,24enforcement has parameter Δ and equals 9 and the length k 4 circular forms displacements that equal 24.
Previously scrambler level π-1 also implements to have parameter Δ equal 9 and length k equal 24 4 circular forms and replace.
Therefore can express as follows and be expressed as C 2the difference displacement of implementing in the foundation of this encoder of (48,24) Cortex encoder:
Π(C 2)={π 9,24,π 1,121,12,π 1,121,12,(π B12=12)οπ 9,24},
Or, there is the representation of simplification: C 2=(C 1* C 1, Δ 1=9),
Wherein * is the operator of stack displacement, and ο is the operator of serial connection displacement.
Two displacements of term " stack " (parallel) refer to these displacements are vertically positioned on another one, that is, and and by its parallel placement.For instance, two identity displacement Id4={0, the parallel stack of 1,2,3} or location draw identity displacement Id8, make:
Id4*Id4=Id8, i.e. { 0,1,2,3}*{0,1,2,3}={0,1,2,3,4,5,6,7}.
Two displacements of term " serial connection " (series connection) refer to the fact that makes its horizontal location,, make its series connection that is.For instance, two displacement π 0={1,2,3,0} and π 1={3, the serial connection of 0,1,2} or be connected in series and draw identity displacement Id4, makes:
π 0 ο π 1=Id4, i.e. { 1,2,3,0} ο { 3,0,1,2}={0,1,2,3}.
This C is described in Fig. 6 b 2the transfer matrix P of (48,24) Cortex code.
The weight enumerator multinomial of the row of this matrix P equals W p(X)=12X 11+ 8X 15+ 4X 19, wherein minimal weight w min=11 and minimum range d min≤ 12.
The description of 5.7 the 5th embodiment
Referring now to Fig. 7 a and Fig. 7 b,, present the 5th embodiment according to code device of the present invention.
Fig. 7 a illustrates according to encoder of the present invention, and it obtains data slice (x0, x1, x2...x35) in input, and at output transmission of redundant data sheet (r0, r1, r2...r35).
The encoder so forming comprises five code level cA, cB, cC, cD and cE, it comprises nine basic coding modules (A0...A8), (B0...B8), (C0...C8), (D0...D8), (E0...E8) separately, implement separately compact Hamming code C4, two displacement level 0, one previous scrambler level π-1 of π and one scrambler level π 1 subsequently.
Previously scrambler level π-1 had two previous scrambler sub levels, was expressed as π 9,36and π-11.
The second previous scrambler sub level π-11 comprise three scrambler modules, and wherein two modules are implemented to be expressed as scrambler, and module is implemented identity scrambler π =12.
Scrambler level π 1 has two scrambler sub levels subsequently subsequently, is expressed as π 11 and π 9,36.
First subsequently scrambler sub level π 11 comprise three scrambler modules, wherein two modules are implemented identity scrambler π =12and a module is implemented scrambler π b12.
It may be noted that this encoder has above " simplification " C that is called of this paper of enforcement 1three encoders of the code of (24,12,8) Cortex-Golay code, its in Fig. 7 a respectively by for top C 1the basic coding module (B0, B1, B2) of (24,12,8) Cortex-Golay encoder, (C0, C1, C2), (D0, D1, D2), for middle C 1the basic coding module (B3, B4, B5) of (24,12,8) Cortex-Golay encoder, (C3, C4, C5), (D3, D4, D5) and for bottom C 1basic coding module (the B6 of (24,12,8) Cortex-Golay encoder, B7, B8), (C6, C7, C8), (D6, D7, D8) and (having 4 circular forms of parameter Δ=1) displacement π 0 identifies.
Top C 1the output of (24,12,8) Cortex-Golay encoder enters first the first scrambler module π of the enforcement identity scrambler of scrambler sub level π 11 (or not having scrambler) subsequently =12.
Middle C 1the output of (24,12,8) Cortex-Golay encoder enters first the second scrambler module π of the following scrambler of enforcement of scrambler sub level π 11 subsequently b12:
wherein
For instance, equal 12 for k, as illustrated in Fig. 7 a, p equals 3, and obtains with upper/lower positions: π in the output of the second scrambler module b12={ 0,4,8,1,5,9,2,6,10,3,7,11}.
Bottom C 1the output of (24,12,8) Cortex-Golay encoder enters the first the 3rd scrambler module π of the enforcement identity scrambler of scrambler sub level π 11 subsequently =12.
These different scrambler modules in the same sub level of the scrambler subsequently π 11 of scrambler level π 1 subsequently to use for the larger diversity that obtains code obtained be basic.
The second scrambler sub level π of scrambler level π 1 subsequently 9,36enforcement has parameter Δ and equals 9 and the length k 4 circular forms displacements that equal 36.
Previously two different previous scrambler sub level π were implemented in scrambler level π-1 9,36and π-11.
The first previous scrambler sub level π 9,36enforcement has parameter Δ and equals 9 and the length k 4 circular forms displacements that equal 36, and is expressed as π 9,36the sub level of scrambler subsequently identical.
Two kinds of dissimilar displacements are implemented in the second previous scrambler sub level π-11 in these three scrambler modules: displacement in fact grant as π 12the contrary scrambler of scrambler defining; And identity displacement π =12.
Therefore can express as follows and be expressed as Cortex C 3the difference displacement of implementing in the foundation of this encoder of (72,36) encoder:
Π (C 3)={ π -1, π 0, π 0, π 1, wherein:
And π 1=(π =12* π b12* π =12) ο π 9,36
Or, there is the representation of simplification: C 3=(C 1* C 1* C 1, Δ 1=9),
Wherein * is the operator of stack displacement, and ο is the operator of serial connection displacement.
Displacement π 0 is the displacement with 4 circular forms of parameter Δ=1.
This C is described in Fig. 7 b 3the transfer matrix P of (72,36) Cortex code.
The weight enumerator multinomial of the row of this matrix P equals W p(X)=12X 15+ 22 19+ 2X 33, wherein minimal weight w min=15 and minimum range d min≤ 16.
The description of 5.8 the 6th embodiment
Referring now to Fig. 8 a and Fig. 8 b,, present the 6th embodiment according to code device of the present invention.
Fig. 8 a illustrates according to encoder of the present invention, and it obtains data slice (x0, x1, x2...x47) and at output transmission of redundant data sheet (r0, r1, r2...r47) in input.
The encoder so forming comprises seven code level cA, cB, cC, cD, cE, cF and cG, its each self-contained 12 basic coding modules (A0...A11), (B0...B11), (C0...C11), (D0...D11), (E0...E11), (F0...F11), (G0...G11), implement separately compact Hamming code C4, two displacement level 0, two previous scrambler level π-2 of π and π-1 and two scrambler level π 1 and π 2 subsequently.
It may be noted that and be called C 4(96,48, d min≤ 20) this encoder of Cortex encoder comprises two C 2(48,24) encoder (illustrating in Fig. 6 a).
The first previous scrambler level π-2 implement to have parameter Δ equal 20 and length k equal the displacement π of 48 4 circular forms 20,48.
Two displacement π that the second previous scrambler level π-1 is implemented as defined with reference to figure 6a 9,24stack.
First subsequently scrambler level π 1 comprise two scrambler sub levels subsequently:
-the first subsequently scrambler sub level π 11 comprise four scrambler modules, comprise two and implement identity scrambler π =12module and two implement scrambler π b12module, as described referring to Fig. 6 a;
The-the second scrambler of scrambler sub level enforcement subsequently (π 9,24) 2*=(π 9,24) * (π 9,24).
Second subsequently scrambler level π 2 also there are two scrambler sub level π 21 and π subsequently 20,48:
-scrambler sub level π 21 comprises two scrambler modules of implementing different displacements, comprises one and implements displacement π b24module and one implement identity displacement π =24module.
Therefore, can express as follows at this C 4(96,48, d min≤ 20) the difference displacement of implementing in the foundation of Cortex encoder:
π -2=π 20,48
π -1=(π 9,24) 2*
π 1=(π B12=12) 2*ο(π 9,24) 2*
π 2=(π B24=24)οπ 20,48
With simplified way, use following representation: C 4=(C 2* C 2, Δ 2=20).
Displacement π 0 is the displacement with 4 circular forms of parameter Δ=1.
In Fig. 8 b, C is described 4(96,48, d min≤ 20) the transfer matrix P of Cortex code.
The weight enumerator multinomial of the row of this matrix P equals W p(X)=7X 19+ 17X 23+ 19X 27+ 4X 31+ X 35, wherein minimal weight w min=19 and minimum range d min≤ 20.
The description of 5.9 other embodiment
The seventh embodiment of the present invention is called C in order to obtain 8(192,96, d min≤ 36) encoder of Cortex encoder, its specifically by as two C described above herein 4(96,48) Cortex encoder forms.
This C 8(192,96, d min≤ 36) Cortex encoder can write out by simplified way:
C 8=(C 4*C 4,Δ 3=40)。
The weight enumerator multinomial of the row of this matrix P equals: W p(X)=X 35+ 6X 39+ 22X 43+ 27X 47+ 29X 51+ 10X 55+ X 59, wherein minimal weight w min=35 and minimum range d min≤ 36.
Present the table of the example of the coder parameters obtaining according to different embodiments of the invention as the annex 1 of the integral part of this specification.
Therefore notice, the invention enables can be by setting up novel code by basic coding module and particular permutation.
Herein above form that also can error correction coding method to the embodiment of Fig. 8 detailed description referring to Fig. 1 is described.According to proposition technology set up code can in fact implement in every way, especially implement with wired form or with software form.
Therefore, Fig. 9 presents the key step of error correction coding method according to an embodiment of the invention, and it obtains source data x in input iand at output transmission of redundant data r i.
The one c1 coding step 90 reception sources data x iand implement one group of three basic coding module, each coding module is implemented a basic code.Basic code can be for example as herein half yard of compact Hamming code described above or Hamming.
Carrying out the treated data slice of the first coding step 90 since then disposes and changes in π 1 displacement step 91 subsequently.π 1 displacement is as the above c circular form displacement of defining herein.
Manage through replacement data sheet in c2 intermediate code step 92 subsequently, it also implements one group of three basic coding module everywhere, and each coding module is implemented a basic code.
Carrying out the treated data element of the second coding step 92 since then again disposes and changes in c circular form π 1 displacement step 93 subsequently.
Finally, in final c3 coding step 94, process through replacement data element, it also implements one group of three basic coding module, and each coding module is implemented a basic code.Carrying out the data slice of last coding step 94 is since then redundant data sheet r i.
This kind of error correction coding method especially makes it possible to describe to set up code as above referring to Fig. 3 a and Fig. 3 b herein.
Naturally also can implement those codes that other coding and displacement step are set up above-described code and especially illustrated in Fig. 4 a, Fig. 5 a, Fig. 6 a, Fig. 7 a and Fig. 8 a.
To obtain the variation of the speed of code in order obtaining, also can and to make symbol be forced to zero (, symbol being assigned to steady state value 0) about the output of redundant symbol in the input about information symbol.
Annex 1

Claims (10)

1. an error correction code device, its type for redundant data (r0 is to r11) is associated with source data (x0 is to x11), described device comprises:
At least three code level, wherein each code level is implemented at least one group three basic coding module (A0, A1, A2), (B0, B1, B2), (C0, C1, C2), described at least three code level comprise the first code level (cA), last code level (cC) and at least one intermediate code level (cB)
Each coding module is implemented a basic code,
Each code level receives treats processing between different basic coding modules, the data that distribute, and transmits the treated data from described basic coding module,
Described the first code level receives described source data and described last code level is transmitted described redundant data;
At least two displacement levels (π 0), described displacement level is inserted in and is called previous coding level and follows between two continuous programming code levels of code level, and between described at least two basic coding modules of following code level, distributes from the described treated data of each basic coding module of described previous coding level;
Described device is characterised in that each basic coding module comprises c input and c output, and wherein c is integer, and each displacement level is implemented as follows the c circular form displacement that formula is write out:
&ForAll; i = 0 , 1 , . . . , ( k - 1 ) &pi; &Delta; , k ( i ) = &Delta; 0 + i ( mod k ) ifi &equiv; 0 ( mod c ) &pi; &Delta; , k ( i ) = &Delta; 1 + i ( mod k ) ifi &equiv; 1 ( mod c ) . . . . . . &pi; &Delta; , k ( i ) = &Delta; c - 1 + i ( mod k ) ifi &equiv; ( c - 1 ) ( mod c ) ,
Wherein Δ={ Δ 0, Δ 1..., Δ c-1numeric parameter set, make:
Parameter (Δ 0, Δ 1..., Δ c-1) should be taken to few three different values, or
When parameter (Δ 0, Δ 1..., Δ c-1) while only getting two different values, each in so described two values at least exists twice in set Δ,
Wherein k is replacement length.
2. error correction code device according to claim 1, is characterized in that described basic code belongs to the group that comprises the following:
There is the Hamming code of transfer matrix P;
There is transfer matrix P +or P -half yard of Hamming, it derives from the Hamming code with transfer matrix P is divided into two, and makes P=P +× P -=P -× P +;
Left half yard, make:
For even number index (2i), 0≤2i≤(c-1):
wherein operator ∑ is for summation mould 2 operators, also referred to as distance operator, and wherein degree corresponding to the number of the input of described distance operator;
For odd number index (2i+1), 1≤2i+1≤(c-1):
r 2i+1=x 2i+1
Wherein r iredundant data sheet and x iit is source data sheet;
Right half yard, itself and half yard, described left side antithesis, make:
For even number index (2i), 0≤2i≤(c-1):
r 2i=x 2i
For odd number index (2i+1), 1≤2i+1≤(c-1):
wherein operator ∑ is summation mould 2 operators, and also referred to as distance operator, wherein degree is corresponding to the number of the input of described distance operator;
Wherein r iredundant data sheet and x iit is source data sheet;
Identity code.
3. error correction code device according to claim 1, is characterized in that it comprises
At least one is scrambler level subsequently, and it is inserted between two continuous programming code levels, one subsequently scrambler level comprise two continuous scrambler sub levels implementing dissimilar scrambler, be called the first and second scrambler sub levels subsequently,
And be characterised in that described first subsequently scrambler sub level comprise at least two different scrambling codes modules,
Each scrambler module receives the treated data from least one group of three coding modules of same intermediate code level, and transmission described second subsequently the input of scrambler sub level obtain through scrambler data,
Each scrambler module is implemented dissimilar scrambler,
And be characterised in that described device comprises at least one the previous scrambler level being inserted between two continuous code level,
Previously scrambler level comprised at least one previous scrambler sub level, and described at least one previous scrambler sub level is implemented the second scrambler that scrambler sub level is identical subsequently with the one in the described level of scrambler subsequently.
4. error correction code device according to claim 3, is characterized in that described previous scrambler level comprises at least two continuous scrambler sub levels implementing dissimilar scrambler, is called the first and second previous scrambler sub levels,
And be characterised in that the described second previous scrambler sub level comprises at least two different scrambling codes modules,
Each scrambler module receive from the described first previous scrambler sub level through scrambler data, and will arrive at least one group of three coding modules of same intermediate code level through scrambler transfer of data again,
Each scrambler module is implemented dissimilar scrambler.
5. error correction code device according to claim 3, is characterized in that described scrambler module or the enforcement of scrambler sub level belong to the scrambler of the group that comprises the following:
Identity scrambler, makes:
&ForAll; i = 0,1 , . . . , ( k - 1 ) , &pi; k ( i ) = i ;
Scrambler, makes:
Its conditional is Δ={ Δ 0, Δ 1..., Δ c-1be numeric parameter set, make:
Parameter (Δ 0, Δ 1..., Δ c-1) must be taken to few three different values, or
If described parameter (Δ 0, Δ 1..., Δ c-1) only get two different values, each in so described two values at least exists twice in described set Δ,
Scrambler, makes:
wherein
Wherein k is replacement length.
6. error correction code device according to claim 1, is characterized in that all described basic coding modules all implement identical basic code.
7. error correction code device according to claim 6, is characterized in that described identical basic code is that length n equals eight, comprises that k equals four pay(useful) load information symbols and minimum range d minequal four Hamming code.
8. error correction code device according to claim 1, is characterized in that described displacement level distributes from two treated data slice of the basic coding module of previous coding level between two basic coding modules of following code level.
9. error correction code device according to claim 1, is characterized in that it comprises ZF module, and described ZF module makes at least one at least one and/or the described redundant data in described source data in null value.
10. an error correction coding method, it is the type that redundant data is associated with source data, described method is implemented:
At least three coding steps, comprise the first coding step, last coding step and at least one intermediate code step, and each step is implemented at least one group of three basic coding modules,
Each coding module is implemented a basic code,
Each coding step receives treats processing between different basic coding modules, the data that distribute, and transmits the treated data from described basic coding module,
Described the first coding step receives described source data and described last coding step transmits described redundant data; And
At least two displacement step, described displacement step is implemented on and is called previous coding step and follows between two continuous programming code steps of coding step, and the described treated data of each basic coding module of implementing in distributing from described previous coding step between described at least two basic coding modules of following coding step;
Described method is characterised in that each basic coding module comprises c input and c output, and wherein c is integer, and is characterised in that each displacement step is implemented as follows the c circular form displacement that formula is write out:
&ForAll; i = 0 , 1 , . . . , ( k - 1 ) &pi; &Delta; , k ( i ) = &Delta; 0 + i ( mod k ) ifi &equiv; 0 ( mod c ) &pi; &Delta; , k ( i ) = &Delta; 1 + i ( mod k ) ifi &equiv; 1 ( mod c ) . . . . . . &pi; &Delta; , k ( i ) = &Delta; c - 1 + i ( mod k ) ifi &equiv; ( c - 1 ) ( mod c ) ,
Wherein Δ={ Δ 0, Δ 1..., Δ c-1numeric parameter set, make:
Parameter (Δ 0, Δ 1..., Δ c-1) should be taken to few three different values, or
When parameter (Δ 0, Δ 1..., Δ c-1) while only getting two different values, each in so described two values at least exists twice in set Δ,
Wherein k is replacement length.
CN201080006215.4A 2009-01-30 2010-02-01 Method and device for flexible error correction encoding and corresponding computer program product Active CN102308479B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0950628 2009-01-30
FR0950628A FR2941828A1 (en) 2009-01-30 2009-01-30 METHOD AND APPARATUS FOR FLEXIBLE AND PERFORMING ERROR CORRECTION ENCODER AND CORRESPONDING COMPUTER PROGRAM.
PCT/FR2010/050158 WO2010086572A1 (en) 2009-01-30 2010-02-01 Method and device for flexible error correction encoding and corresponding computer program product

Publications (2)

Publication Number Publication Date
CN102308479A CN102308479A (en) 2012-01-04
CN102308479B true CN102308479B (en) 2014-08-27

Family

ID=41402225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080006215.4A Active CN102308479B (en) 2009-01-30 2010-02-01 Method and device for flexible error correction encoding and corresponding computer program product

Country Status (5)

Country Link
US (1) US8549365B2 (en)
EP (1) EP2384547B1 (en)
CN (1) CN102308479B (en)
FR (1) FR2941828A1 (en)
WO (1) WO2010086572A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3022651A1 (en) * 2014-06-24 2015-12-25 Orange METHODS AND DEVICES FOR ENCODING AND DECODING ERROR CORRECTING, AND CORRESPONDING COMPUTER PROGRAM.
US10102064B1 (en) * 2015-10-27 2018-10-16 Everspin Technologies, Inc. Two layer quad bit error correction
US10700829B2 (en) * 2018-02-14 2020-06-30 Qualcomm Incorporated Combining decision metrics of a scrambled payload
CN110380737B (en) * 2019-07-12 2020-10-02 北京邮电大学 Method and device for distance spectrum analysis of polarization code
CN114758728B (en) * 2022-06-15 2022-09-02 成都边界元科技有限公司 Genotype identification and visualization method for generating minimum hamming distance under mixed system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745362B1 (en) * 1998-07-31 2004-06-01 France Telecom Method and device for error correction coding and corresponding decoding method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020124224A1 (en) * 2000-12-29 2002-09-05 Blankenship Thomas Keith Method and system for matching information rates in turbo coded channels
FR2899042B1 (en) * 2006-03-21 2008-05-02 Commissariat Energie Atomique SPATIO-TEMPORAL ENCODING METHOD FOR IMPULSE UWB-TYPE BI-ANTENNA COMMUNICATION SYSTEM

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745362B1 (en) * 1998-07-31 2004-06-01 France Telecom Method and device for error correction coding and corresponding decoding method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Systematic Construction of Self-Dual Codes;Jean-Claude Carlach etc.;《IEEE TRANSACTIONS ON INFORMATION THEORY》;20031130;第49卷(第11期);第3006页、图1 *
Jean-Claude Carlach etc..A Systematic Construction of Self-Dual Codes.《IEEE TRANSACTIONS ON INFORMATION THEORY》.2003,第49卷(第11期),第3006页、图1.

Also Published As

Publication number Publication date
FR2941828A1 (en) 2010-08-06
EP2384547B1 (en) 2017-10-18
EP2384547A1 (en) 2011-11-09
US20110289367A1 (en) 2011-11-24
WO2010086572A1 (en) 2010-08-05
CN102308479A (en) 2012-01-04
US8549365B2 (en) 2013-10-01
WO2010086572A9 (en) 2011-07-21

Similar Documents

Publication Publication Date Title
CN102308479B (en) Method and device for flexible error correction encoding and corresponding computer program product
CN101904101B (en) Encoder, decoder, encoding method, and decoding method
CN102638274B (en) Operate the Apparatus and method for of transmitter using the structured LDPC design of vector line packet
CN102130742B (en) Method and device for encoding and decoding of error correcting codes
Eslami et al. On bit error rate performance of polar codes in finite regime
CN1307804C (en) Error correcting encoding equipment and method
KR102347779B1 (en) Signalling coding and modulation method and demodulation and decoding method and device
CN102870330B (en) Coding device, error-correction code configuration method, and program thereof
CN109155634B (en) Apparatus and method for implementing polarization code
CN103840915A (en) Method of coding data so as to be emitted in communications media
JPWO2010073922A1 (en) Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and program thereof
KR20160005914A (en) Parity check matrix generating method, encoding apparatus, encoding method, decoding apparatus and encoding method using the same
Hou et al. A new design of binary MDS array codes with asymptotically weak-optimal repair
CN101730138B (en) Communication methods and systems having permutation schemes
JP5122480B2 (en) High-speed encoding method and decoding method, and related apparatus
Battail Biology needs information theory
CN1830170A (en) Method, encoder and communication device for encoding parallel concatenated data
CN102301603B (en) Coding and decoding using LDPC quasi-cyclic codes
Xie et al. Quantum synchronizable codes from quadratic residue codes and their supercodes
EP2226945A1 (en) Generation of optimized exponent matrices for multi-rate LDPC codes
JP2007318772A (en) Coding method and apparatus with at least two parallel coding steps and improved permutation, and corresponding decoding method and apparatus
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
CN1182657C (en) Method used to reduce storage content needed and complexity by product code decode
CN101667839B (en) Interleaving method
WO2010047662A1 (en) Computer-aided method for generation of a channel transmission error detection code matrix, encoder, decoder, and computer program product

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: France

Patentee after: Ao Lanzhi

Address before: France

Patentee before: France Telecom

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161024

Address after: Luxemburg Luxemburg

Patentee after: 3G patent licensing Limited by Share Ltd

Address before: France

Patentee before: Ao Lanzhi