WO2002027939A2 - Procede et dispositif pour le codage de code a controle de bloc lineaire - Google Patents
Procede et dispositif pour le codage de code a controle de bloc lineaire Download PDFInfo
- Publication number
- WO2002027939A2 WO2002027939A2 PCT/US2001/028496 US0128496W WO0227939A2 WO 2002027939 A2 WO2002027939 A2 WO 2002027939A2 US 0128496 W US0128496 W US 0128496W WO 0227939 A2 WO0227939 A2 WO 0227939A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bits
- responses
- zero
- string
- encoder
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
- H03M13/096—Checksums
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/47—Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Definitions
- the present invention relates to transfer (i.e. transmission and/or storage) of digital signals. More specifically, the present invention relates to encoding of linear block codes.
- Digital signals are commonly used in applications such as voice, data, and video communications and image, data and document storage, processing, and archiving.
- storage media and transmission channels are not perfect, they tend to introduce errors into the digital information passing through them.
- errors may arise because of defects which prevent some or all of the digital signal from being properly stored, retained, or retrieved.
- errors may arise because of interference from another signal or variations in channel quality due to a fading process, for example.
- an error detection scheme may be employed wherein a check value is calculated from the digital signal and transferred along with it.
- the digital signal is divided into blocks, and a check value is calculated from and appended to each block before transfer.
- the digital signal and the check value may be interleaved and/or may have some other relative arrangement in time.
- the check value calculation is repeated. If the check values calculated before and after the transfer agree, then the transferred signal may be assumed error-free. If the check values do not agree, then the signal may be assumed to contain at least one error.
- the resulting check value is called a checksum
- a cyclic code is used in such a calculation
- the resulting check value is called a cyclic redundancy checksum or CRC.
- CRC cyclic redundancy checksum
- k information symbols are encoded into an ⁇ -symbol code word.
- a (48, 32) cyclic code produces a 48-bit code word comprising the 32 original information symbols and a 16-bit CRC.
- a cyclic code of this type may be uniquely defined by a generator polynomial G(X) of degree n — k having the form
- a checksum calculated according to such a code has a length of n - k bits.
- An exemplary format for an (n, k) code is shown in FIGURE 1.
- Addition over the Galois field GF(2) reduces to a logical exclusive-OR (XOR) operation, while multiplication over this finite field reduces to a logical AND operation.
- XOR logical exclusive-OR
- an encoder may be implemented using the logical circuit shown in FIGURE 2.
- the g ⁇ represent the coefficients of the generator polynomial G(X)
- each of the (n - k) storage elements holds one bit value, and the contents of the storage elements are updated in unison (i.e. values are shifted into the storage elements at every clock cycle).
- the switch pulls are in the upper positions to allow the information signal to be loaded into the encoder (and passed through to the output if desired).
- the switch pulls are moved to the lower positions to allow the state of the encoder (i.e. the string of bits corresponding to the ordered contents of the storage elements) to be clocked out as the checksum signal.
- FIGURE 3 (as specified in, e.g., sections 2.1.3.4.2.1 and 2.1.3.5.2.1 of part 2 of the IS- 2000 standard published by the Telecommunications Industry Association, Arlington, VA) may be implemented with the logical circuit shown in FIGURE 3.
- serial encoder implementations as shown in FIGURES 2 and 3 process only one bit of the input signal per clock period. Such performance may be unacceptably slow, especially for applications that involve real-time data streams (for example, communications applications).
- Encoders that operate on more than one bit per cycle have been implemented by using precalculated lookup tables.
- a remainder for the current cycle is used as an index for choosing a value from a lookup table, and the chosen value is used to calculate a remainder for the next cycle.
- Such an encoder processes multiple bits per cycle, it requires a lookup table whose size is related exponentially to the length of the remainder. Therefore, such implementations scale poorly and may not be suitable for applications that require both high speed and low storage consumption.
- a logic matrix receives an information signal and impulse responses that correspond to portions of the information signal.
- the logic matrix outputs a checksum that is based on a summation of at least two of the impulse responses.
- FIGURE 1 is a diagram showing a format of a code word.
- FIGURE 2 is a logical diagram for a generic encoder for a cyclic code.
- FIGURE 3 is a logical diagram for an encoder for a particular cyclic code.
- FIGURE 4 is a block diagram for an apparatus according to an embodiment of the invention.
- FIGURE 5 is a circuit diagram for logic matrix 120.
- FIGURE 6 shows an XOR gate constructed from a tree of XOR gates having smaller capacities.
- FIGURE 7 shows a flow chart for a method for generating lookup table 110.
- FIGURE 8 depicts one iteration of subtasks P 120 and P 130 of the method of FIGURE 7.
- FIGURE 9 is a block diagram for an apparatus according to another embodiment of the invention.
- FIGURE 10 is a graphical depiction of a data signal comprising instances of information signals.
- FIGURE 11 shows a flow chart for a method for generating lookup table 220 that continues the flow chart shown in FIGURE 7.
- FIGURE 12 depicts one iteration of subtasks P180, P190, and P200 of the method of FIGURE 11.
- FIGURE 13 is a circuit diagram for logic matrix 220.
- FIGURE 14A is a graphical depiction of a signal stream comprising instances of data signals.
- FIGURE 14B is a graphical depiction of an encoded signal stream.
- FIGURE 15 is a block diagram for an apparatus according to a further embodiment of the invention.
- FIGURE 16 is a block diagram for a flow control block.
- FIGURE 17 is a block diagram for an apparatus according to a further embodiment of the invention.
- an apparatus 100 receives an information signal 20 of width k bits which is inputted to logic matrix 120.
- Lookup table 110 provides predetermined encoder response information to another set of inputs of logic matrix 120.
- Logic matrix 120 performs a predetermined logical function on its inputs to produce a checksum signal 30.
- Lookup table 110 stores information relating to impulse responses of an encoder for a cyclic code generated by a particular generator polynomial G(X) (e.g. an encoder according to a specific implementation of the circuit of FIGURE 2) and having a predetermined initial state. Specifically, lookup table 110 stores k impulse responses of such an encoder, where the /-th impulse response (j being an integer from 1 to k) is the state of the encoder that results from shifting in the j ' -th impulse input (i.e. the string of length k wherein only the -th bit has a nonzero value). Exemplary methods of constructing lookup table 110 are discussed below.
- FIGURE 5 shows a block diagram for an exemplary implementation of logic matrix 120 that includes k AND gates 140 and one XOR gate 150.
- Each AND gate 140(m) (where m is an integer from 1 to k) has a one-bit- wide control input and a (n — £)-bit-wide data input. If the control input to gate 140(m) has a value of one, then the data input is passed to the output; otherwise, the gate's output is zero.
- an AND gate 140(m) comprises several or many logical gates having more limited input capacities (e.g. two-input NAND gates) that are arranged to perform the logical function described above.
- XOR gate 150 receives the k outputs of AND gates 140(rn) and produces a (n - / )-bit-wide output.
- T ep-t bit of the output of XOR gate 150 (where p is an integer from 1 to (n - k)) has (a) a value of one if an odd number of the/ -th bits of the outputs of AND gates 140(m) have values of one and (b) a value of zero if an even number of the/?-th bits of the outputs of AND gates 140(m) have values of one.
- the output of XOR gate 150 is a bitwise XOR of the inputs, the -th bit of the output being the XOR of the p-t bits of the inputs.
- XOR gate 150 may be implemented as a tree of XOR gates having smaller input capacities.
- FIGURE 6 shows how a four-input XOR gate may be constructed from a tree of three two-input XOR gates (each of which may be implemented from other logical gates).
- XOR gate 150 comprises several or many logical gates having more limited input capacities (e.g. two-input NAND gates) that are arranged to perform the logical function described above.
- logic matrix 120 may take many forms other than the particular one shown in FIGURE 5. Because lookup table 110 is a constant for a fixed initial encoder state and fixed G(X), n, and k, for example, it may be knowable a priori that certain bits of the data inputs to AND gates 140(m) will be zero and that corresponding bits of the outputs of these gates, therefore, will also be zero. Because the operation of logic matrix 120 may be described using a logical expression, applying such a priori knowledge to eliminate terms from this expression that are known to be zero may be performed to reduce the expression and simplify the corresponding implementation (e.g. in logical gates). Such reduction may be performed manually or automatically.
- the configuration of logic matrix 120 for a specified G(X), n, and k and a specified initial encoder state is reduced to a more optimal form (e.g. a form that requires fewer logical gates to perform a logical operation equivalent to that of the structure shown in FIGURE 5) by using an electronic design tool such as the Design Compiler produced by Synopsis, Inc. (Mountain View, CA).
- FIGURE 7 shows a flowchart for an exemplary method of generating lookup table 110 by inputting a sequence of impulse inputs to an encoder for the cyclic code generated by the preselected polynomial G(X).
- the encoder may be implemented in hardware (e.g. according to a specific implementation of the circuit of FIGURE 2). Note, however, that once the construction of lookup table 110 is completed, it is possible to practice the invention without further reference to such an encoder. Therefore, it may be desirable to implement at least a part of the encoder in software instead. Once the information to be stored in lookup table 110 is available, it is possible to practice the invention without reference to such an encoder either in hardware or in software (e.g. as seen in the apparatus of FIGURE 4).
- subtask PI 10 a counter value i is set to 1.
- subtask PI 10 also includes initializing the encoder by storing a predetermined string of values into its storage elements. Note that if an encoder according to FIGURE 2 is initialized to a zero state (i.e. an initial value of zero is stored into each of its storage elements), the encoder will not change its state when a string of values of zero is inputted. Because such strings are common leading sequences in some applications, it may be desirable to initialize the encoder with a string of values of one (or with some other nonzero string) instead.
- subtask P120 the /-th impulse input (i.e. the string of length k wherein only the /-th bit has a nonzero value) is inputted to the encoder (or simulation thereof).
- subtask P130 the encoder's response to this input (i.e. the string of (n - k) bits that represents the state of the encoder after the impulse input has been loaded) is stored to a corresponding location in lookup table 110.
- subtasks P110, P120, and P130 are repeated until an impulse response has been stored for all k possible impulse inputs.
- FIGURE 8 is a graphical depiction of one iteration of subtasks PI 20 and P130.
- the encoder's response to the /-th impulse input is stored in the /-th row of the lookup table, although any other predetermined correspondence between input identifier and table location may be used.
- many other methods for generating a lookup table 110 suitable for use in apparatus 100 are possible.
- a method and apparatus as herein described exhibit excellent scalability.
- the size of lookup table 110 increases only linearly as n increases with k constant (or as k increases with (n — k) constant).
- the depth of a tree of XOR gates used to implement XOR gate 150 would be expected to grow as log 2 (n).
- FIGURE 9 shows a block diagram for an apparatus 200 according to another embodiment of the invention.
- response signal 60 as outputted by logic matrix 220 may be stored into an encoder state register 340 for use as an initial encoder state in a subsequent encoding and/or outputted as checksum signal 30 as described below.
- a data signal to be encoded is divided into adjacent and nonoverlapping strings (i.e. blocks) of k bits, which are successively inputted to apparatus 200 (in synchronism with update signal 40) as instances of information signal 20.
- FIGURE 10 shows the example of a data signal 50 divided into four / -bit instances 20-1 through 20-4 of an information signal 20.
- Lookup table 210 stores information relating to impulse responses of an encoder for a cyclic code generated by a particular generator polynomial G(X) (e.g. according to a specific implementation of the circuit of FIGURE 2). Specifically, lookup table 210 stores k impulse responses of an encoder having a zero initial state (i.e. each storage element holds a value of zero). The/-th impulse response (where/ is an integer from 1 to k) is the state of the encoder that results from shifting in the y ' -th impulse input, this input being the string of length k wherein only the -th bit has a nonzero value.
- lookup table 210 In order to account for changes in the initial state of the encoder (e.g. from one instance of information signal 20 to the next), lookup table 210 also stores (n - k) zero responses of the encoder.
- the q-th zero response (where q is an integer from 1 to (n - k)) is the state that results when a string of k zero- value bits is shifted into an encoder having the q-th component initial state, the q-th. component initial state being the string of length (n - k) wherein only the q- h bit has a nonzero value.
- FIGURE 11 shows a flowchart for an exemplary method of generating the zero-response portion of lookup table 210.
- This method comprises inputting a zero input to an encoder for the cyclic code generated by the preselected polynomial G(X) that has one of a set of predetermined initial states (note that this method includes the method shown in the flowchart of FIGURE 7 and continues from task PI 40 in that flowchart).
- the encoder may be implemented in hardware (e.g. according to a specific implementation of the circuit of FIGURE 2), although once the construction of lookup table 210 is completed, it is possible to practice the invention without further reference to such an encoder. Therefore, it may be desirable to implement at least a part of the encoder in software instead.
- Once the information to be stored in lookup table 210 is available, it is possible to practice the invention without reference to such an encoder either in hardware or in software (e.g. as seen in the apparatus of FIGURE 9).
- a counter value q is set to 1.
- the counter value / is incremented (or, equivalently, set to the value (k + q)).
- the encoder is initialized to the q-th component initial state by storing a string of (n - k) values into its storage elements, with the q-th value being one and all other values being zero.
- a zero input i.e. a string of k zero bits
- the encoder's response to this input i.e. the string of (n — k) bits that represents the state of the encoder after the zero input has been loaded
- the encoder's response to this input is stored to a corresponding location in lookup table 210.
- subtasks P 170, P 180, P 190, and P200 are repeated until a zero response has been stored for all (n - k) possible component initial states.
- FIGURE 12 is a graphical depiction of one iteration of subtasks PI 80, PI 90, and P200.
- the first / rows of lookup table 210 are the same as the k rows of lookup table 110 as described above, and the zero response of an encoder having the q-th component initial state is stored in the /-th row of lookup table 210, although any other predetermined correspondence between input identifier and table location may be used.
- FIGURES 7, 8, 11, and 12 many other methods for generating sets of impulse responses and zero responses appropriate for use in lookup table 210 are possible.
- FIGURE 13 shows a block diagram for logic matrix 220, which includes n AND gates 140 and one XOR gate 250.
- each AND gate 140(r) (where r is an integer from 1 to n) has a one-bit-wide control input and a (n - k)-hit wide data input. If the control input to gate 140(r) has a value of one, then the data input is passed to the output; otherwise, the gate's output is zero.
- the control input is the s-th bit of information signal 20 and the data input is the s-th impulse response, obtained from lookup table 210.
- the control input is the (t - /c)-th bit of the encoder state signal 80 and the data input is the (t - k)-th zero response as obtained from lookup table 210.
- XOR gate 250 receives the n outputs of AND gates 140(r) and produces a (n - /c)-bit-wide output.
- The/?-th bit of the output of XOR gate 150 (where p is an integer from 1 to (n - k)) has (a) a value of one if an odd number of the ?-th bits of the outputs of AND gates 140(r) have values of one and (b) a value of zero if an even number of the ⁇ »-th bits of the outputs of AND gates 140(r) have values of one.
- the output of XOR gate 250 is a bitwise XOR of the inputs, the -th bit of the output being the XOR of the p-t bits of the inputs.
- the output of XOR gate 250 is stored into CRC register 340 in response to a specified transition (e.g. a rising edge and/or a trailing edge) of update signal 40.
- XOR gate 250 may comprise several or many logical gates having more limited input capacities (e.g. two-input NAND gates) that are arranged to perform the logical function described above.
- logic matrix 120 note that in implementing the logical functions described above, the actual construction of logic matrix 220 may take many forms other than the particular one shown in FIGURE 10. Because lookup table 210 is a constant for fixed G(X), n, and k, for example, it may be knowable a priori that certain bits of the data inputs to AND gates 140(r) will be zero and that corresponding bits of the outputs of these gates, therefore, will also be zero.
- the configuration of logic matrix 220 is reduced to a more optimal form (e.g., a form that requires fewer logical gates to perform a logical operation equivalent to that shown in FIGURE 13) by using an electronic design tool such as the Design Compiler produced by Synopsis, Inc. (Mountain View, CA).
- a more optimal form e.g., a form that requires fewer logical gates to perform a logical operation equivalent to that shown in FIGURE 13
- an electronic design tool such as the Design Compiler produced by Synopsis, Inc. (Mountain View, CA).
- Encoder state signal 80 represents the current state of encoder state register 340.
- encoder state register 340 is initialized to store the desired encoder initial state.
- encoder state register 340 presents this desired initial state to an appropriate input of logic matrix 220 via a first instance 80-0 of encoder state signal 80.
- a specified transition of update signal 40 causes encoder state register 340 to store that output and to forward it to logic matrix 220 as a second instance 80-1 of encoder state signal 80.
- a register and/or gate may be provided at the output of apparatus 200 (e.g. controlled by an appropriate timing signal that may be based on update signal 40) in order to prevent other instances of response signal 60 from appearing on checksum signal 30.
- data signal 50 may be padded by zeros to a length that is a multiple of k. Note, however, that in such case it may be necessary to perform a reverse cyclic shift on the final instance of checksum signal 30 (the number of shift positions corresponding to the number of padded zeros) in order to obtain a result equivalent to that which would be produced by shifting the unpadded data signal 50 into an encoder as shown, e.g., in FIGURE 2.
- FIGURE 14A shows a signal stream wherein each data signal 52 of a signal stream comprises a number of instances of information signals 22 of width k.
- FIGURE 14B shows one example of how this signal stream may be configured after encoding to include the checksum signals 30.
- FIGURE 15 shows an apparatus according to a further embodiment of the invention.
- clock signal 70 performs a function in this apparatus analogous to that of update signal 40 in the apparatus of FIGURE 9. It is desirable for the period of clock signal 70 to be at least as long as the maximum time required for logic matrix 220 to stabilize after new instances of information signal 22 and staged encoder state signal 85 are presented at its inputs.
- Flow control 410 is configured (as described below, for example) such that staged encoder state signal 85 having the desired encoder initial state is present at an input to logic matrix 220 together with information signal 22al . After sufficient time to allow the state of apparatus 200 to settle, the resulting output of logic matrix 220 (i.e. response signal 60) is clocked into encoder state register 340 (and onto encoder state signal 80) by an assertion of clock signal 70. Flow control 410 is configured to pass encoder state signal 80 (as staged encoder state signal 85) to an input of logic matrix 220.
- Information signal 22a2 now arrives at an input to logic matrix 220. After sufficient settling time, response signal 60 is clocked into encoder state register 340 by another assertion of clock signal 70.
- the desired checksum 30a i.e. corresponding to an encoding of data signal 50a with the cyclic code generated by G(X)
- G(X) cyclic code generated by G(X)
- information signal 22b 1 arrives at an input to logic matrix 220, and flow control 410 is configured such that staged encoder state signal 85 presents the desired encoder initial state at another input to logic matrix 220.
- the resulting output of matrix 220 i.e. response signal 60
- encoder state register 340 and onto encoder state signal 80
- Flow control 410 is configured to pass encoder state signal 80 (as staged encoder state signal 85) to an input of logic matrix
- Information signal 22b2 then arrives at an input to logic matrix 220. After sufficient settling time, clock signal 70 is asserted to clock response signal 60 into encoder state register 340 and thereby to the output of register 340 for output as the desired checksum 30b. In an exemplary application, the data signals and corresponding checksums are then assembled as shown in FIGURE 14B.
- block 410 may include a multiplexer 440 which passes staged encoder state signal 85 to an input of logic matrix 220 (i.e. to the (n - k) input lines shown to receive encoder state signal 80 in FIGURE 10). Depending on a signal received from counter 420, multiplexer 440 causes staged encoder state signal 85 to carry either encoder state signal 80 or the (n — /c)-bit-wide initial encoder state (stored in initial value register 430).
- Counter 420 operates according to a predetermined parameter z, where
- the counting value of counter 420 is incremented at every cycle of clock signal 70 and is reset to zero every z clock cycles. When a counting value of counter 420 is zero, counter 420 causes multiplexer 440 to pass the initial encoder state from register 430. Otherwise, counter 420 causes multiplexer 440 to pass encoder state signal 80.
- Many other arrangements for placing encoder state signal 80 and the initial encoder value onto staged encoder state signal 85 as appropriate are possible.
- an apparatus 400 may include an input register 230, which receives data signal 52 and outputs £-bit-wide instances of information signal 22.
- Input register 230 may receive the individual values of data signal 52 in series and/or in parallel. It is desirable for data signal 52 to supply data to input register 230 at a sufficient rate to allow input register 230 to supply the next instance of information signal 22 at each cycle of clock signal 70.
- input register 230 may be constructed as a circular queue or 'ring buffer.'
- input register 230 may be constructed as a double buffer.
- input register 230 may be implemented using a dual-port storage element.
- the foregoing presentation of the described embodiments is provided to enable any person skilled in the art to make or use the present invention.
- Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well.
- the invention may be implemented in part or in whole as a hard-wired circuit, as a circuit configuration fabricated into an application-specific integrated circuit, or as a firmware program loaded into non- volatile storage or a software program loaded from or into a data storage medium as machine- readable code, such code being instructions executable by an array of logic elements such as a microprocessor, microcontroller, or other digital signal processing unit.
- the present invention is not intended to be limited to the embodiments shown above but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002531612A JP2004510380A (ja) | 2000-09-26 | 2001-09-14 | 線形ブロック符号の符号化のための方法および装置 |
AU2001289032A AU2001289032A1 (en) | 2000-09-26 | 2001-09-14 | Method and apparatus for encoding of linear block codes |
BR0114169-4A BR0114169A (pt) | 2000-09-26 | 2001-09-14 | Método e equipamento para codificação de códigos de blocos lineares |
EP01968817A EP1323235A2 (fr) | 2000-09-26 | 2001-09-14 | Procede et dispositif pour le codage de code a controle de bloc lineaire |
IL15489801A IL154898A0 (en) | 2000-09-26 | 2001-09-14 | Methods and apparatus for encoding of linear block codes |
KR1020037004261A KR100894234B1 (ko) | 2000-09-26 | 2001-09-14 | 선형 블록 코드의 인코딩 방법 및 장치 |
CNB018195199A CN1333530C (zh) | 2000-09-26 | 2001-09-14 | 编码线性成块码的方法和装置 |
CA002423425A CA2423425A1 (fr) | 2000-09-26 | 2001-09-14 | Procede et dispositif pour le codage de code a controle de bloc lineaire |
MXPA03002622A MXPA03002622A (es) | 2000-09-26 | 2001-09-14 | Metodo y aparato para codificar codigos de bloque lineal. |
NO20031352A NO20031352L (no) | 2000-09-26 | 2003-03-25 | Koding av line¶re blokk-koder |
HK04104113A HK1061121A1 (en) | 2000-09-26 | 2004-06-09 | Method and apparatus for encoding of linear block codes |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/671,372 | 2000-09-26 | ||
US09/671,372 US6763492B1 (en) | 2000-09-26 | 2000-09-26 | Method and apparatus for encoding of linear block codes |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002027939A2 true WO2002027939A2 (fr) | 2002-04-04 |
WO2002027939A3 WO2002027939A3 (fr) | 2002-05-30 |
Family
ID=24694257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/028496 WO2002027939A2 (fr) | 2000-09-26 | 2001-09-14 | Procede et dispositif pour le codage de code a controle de bloc lineaire |
Country Status (15)
Country | Link |
---|---|
US (1) | US6763492B1 (fr) |
EP (2) | EP1323235A2 (fr) |
JP (1) | JP2004510380A (fr) |
KR (1) | KR100894234B1 (fr) |
CN (2) | CN101083468A (fr) |
AU (1) | AU2001289032A1 (fr) |
BR (1) | BR0114169A (fr) |
CA (1) | CA2423425A1 (fr) |
HK (1) | HK1061121A1 (fr) |
IL (1) | IL154898A0 (fr) |
MX (1) | MXPA03002622A (fr) |
NO (1) | NO20031352L (fr) |
RU (1) | RU2003112223A (fr) |
TW (1) | TW531973B (fr) |
WO (1) | WO2002027939A2 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428693B2 (en) | 2002-04-22 | 2008-09-23 | Fujitsu Limited | Error-detecting encoding and decoding apparatus and dividing apparatus |
US7920501B2 (en) | 2004-12-30 | 2011-04-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for bi-directional relaying in wireless communication systems |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7458006B2 (en) * | 2002-02-22 | 2008-11-25 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages |
US6904558B2 (en) * | 2002-02-22 | 2005-06-07 | Agilent Technologies, Inc. | Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages |
AU2003242923A1 (en) * | 2002-06-28 | 2004-01-19 | Koninklijke Philips Electronics N.V. | Method and arrangement for the generation of an identification data block |
US7434150B1 (en) | 2004-03-03 | 2008-10-07 | Marvell Israel (M.I.S.L.) Ltd. | Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations |
US7360142B1 (en) | 2004-03-03 | 2008-04-15 | Marvell Semiconductor Israel Ltd. | Methods, architectures, circuits, software and systems for CRC determination |
JP2006060663A (ja) * | 2004-08-23 | 2006-03-02 | Oki Electric Ind Co Ltd | 巡回符号回路 |
DE102005018248B4 (de) * | 2005-04-19 | 2014-06-12 | Deutsche Gesetzliche Unfallversicherung E.V. (Dguv) | Prüfverfahren zur sicheren, beschleunigten Erkennung von Datenfehlern und Vorrichtung zur Durchführung des Prüfverfahrens |
US7500174B2 (en) | 2005-05-23 | 2009-03-03 | Microsoft Corporation | Encoding and application of extended hamming checksum |
KR100850787B1 (ko) * | 2006-12-08 | 2008-08-06 | 한국전자통신연구원 | 상위 인터페이스 메모리를 이용한 시공간 블록 코드 방식의인코딩 장치 및 그 방법 |
US8103934B2 (en) | 2007-12-21 | 2012-01-24 | Honeywell International Inc. | High speed memory error detection and correction using interleaved (8,4) LBCs |
US9003259B2 (en) * | 2008-11-26 | 2015-04-07 | Red Hat, Inc. | Interleaved parallel redundancy check calculation for memory devices |
WO2013104116A1 (fr) * | 2012-01-11 | 2013-07-18 | 深圳市华奥通通信技术有限公司 | Système et procédé de communication sans fil |
CN107302420B (zh) * | 2017-06-20 | 2019-11-08 | 北京科技大学 | 一种线性网络编码方法 |
CN111146986B (zh) * | 2019-12-30 | 2022-08-12 | 深圳市越疆科技有限公司 | 磁编码器的位置定位方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0470451A2 (fr) * | 1990-08-07 | 1992-02-12 | National Semiconductor Corporation | Procédé de calcul du contrôle de redondance cyclique (CRC) pour la commande de liaison de données à haut niveau (HDLC) |
WO1994015407A1 (fr) * | 1992-12-29 | 1994-07-07 | Codex Corporation | Dispositif et procede efficaces de generation et verification des coefficients de restes du controle de redondance cyclique |
EP0609595A1 (fr) * | 1993-02-05 | 1994-08-10 | Hewlett-Packard Company | Méthode et appareil pour vérifier des codes CRC |
US6029186A (en) * | 1998-01-20 | 2000-02-22 | 3Com Corporation | High speed calculation of cyclical redundancy check sums |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4623999A (en) * | 1984-06-04 | 1986-11-18 | E-Systems, Inc. | Look-up table encoder for linear block codes |
JPH03272224A (ja) * | 1990-03-20 | 1991-12-03 | Canon Inc | 情報信号処理方法 |
US5491700A (en) * | 1993-10-01 | 1996-02-13 | Pacific Communication Sciences, Inc. | Method and apparatus for code error correction using an ordered syndrome and error correction lookup table |
JPH07264078A (ja) * | 1994-03-23 | 1995-10-13 | Kokusai Electric Co Ltd | Bch符号化装置及びbch符号化方法 |
US5703887A (en) * | 1994-12-23 | 1997-12-30 | General Instrument Corporation Of Delaware | Synchronization and error detection in a packetized data stream |
US6308295B1 (en) * | 1996-10-08 | 2001-10-23 | Arizona Board Of Regents | Parallel spectral reed-solomon encoder and decoder |
JPH10135847A (ja) * | 1996-10-25 | 1998-05-22 | Nec Corp | Atm通信装置の並列型ヘッダ誤り訂正回路およびヘッダ誤り訂正方法 |
US5978956A (en) * | 1997-12-03 | 1999-11-02 | Quantum Corporation | Five-error correction system |
US6195780B1 (en) * | 1997-12-10 | 2001-02-27 | Lucent Technologies Inc. | Method and apparatus for generating cyclical redundancy code |
US6263470B1 (en) * | 1998-02-03 | 2001-07-17 | Texas Instruments Incorporated | Efficient look-up table methods for Reed-Solomon decoding |
US6105158A (en) * | 1998-04-03 | 2000-08-15 | Lucent Technologies, Inc. | Screening for undetected errors in data transmission systems |
US6336200B1 (en) * | 1998-05-22 | 2002-01-01 | Kencast, Inc. | Method for validating communicated packets of data and for locating erroneous packets |
DE19838865C2 (de) * | 1998-08-26 | 2001-03-01 | Ericsson Telefon Ab L M | Parallele CRC Erzeugungsschaltung zum Erzeugen eines CRC Codes und Verfahren zum Generieren einer derartigen Schaltung |
US6360348B1 (en) * | 1999-08-27 | 2002-03-19 | Motorola, Inc. | Method and apparatus for coding and decoding data |
WO2001061868A2 (fr) * | 2000-02-17 | 2001-08-23 | Analog Devices, Inc. | Procede, appareil et produit servant a produire des controles de redondance cyclique (crc) et d'autres codes fondes sur un reste |
CN1112778C (zh) * | 2000-08-08 | 2003-06-25 | 深圳市中兴通讯股份有限公司 | 一种数字通信系统中的信道循环冗余码校验的方法 |
-
2000
- 2000-09-26 US US09/671,372 patent/US6763492B1/en not_active Expired - Fee Related
-
2001
- 2001-09-14 CA CA002423425A patent/CA2423425A1/fr not_active Abandoned
- 2001-09-14 MX MXPA03002622A patent/MXPA03002622A/es unknown
- 2001-09-14 WO PCT/US2001/028496 patent/WO2002027939A2/fr active Application Filing
- 2001-09-14 RU RU2003112223/09A patent/RU2003112223A/ru not_active Application Discontinuation
- 2001-09-14 IL IL15489801A patent/IL154898A0/xx unknown
- 2001-09-14 KR KR1020037004261A patent/KR100894234B1/ko not_active IP Right Cessation
- 2001-09-14 AU AU2001289032A patent/AU2001289032A1/en not_active Abandoned
- 2001-09-14 CN CNA2007101278921A patent/CN101083468A/zh active Pending
- 2001-09-14 CN CNB018195199A patent/CN1333530C/zh not_active Expired - Fee Related
- 2001-09-14 BR BR0114169-4A patent/BR0114169A/pt not_active IP Right Cessation
- 2001-09-14 EP EP01968817A patent/EP1323235A2/fr not_active Withdrawn
- 2001-09-14 EP EP10157108A patent/EP2209215A1/fr not_active Withdrawn
- 2001-09-14 JP JP2002531612A patent/JP2004510380A/ja active Pending
- 2001-09-20 TW TW090123216A patent/TW531973B/zh not_active IP Right Cessation
-
2003
- 2003-03-25 NO NO20031352A patent/NO20031352L/no not_active Application Discontinuation
-
2004
- 2004-06-09 HK HK04104113A patent/HK1061121A1/xx not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0470451A2 (fr) * | 1990-08-07 | 1992-02-12 | National Semiconductor Corporation | Procédé de calcul du contrôle de redondance cyclique (CRC) pour la commande de liaison de données à haut niveau (HDLC) |
WO1994015407A1 (fr) * | 1992-12-29 | 1994-07-07 | Codex Corporation | Dispositif et procede efficaces de generation et verification des coefficients de restes du controle de redondance cyclique |
EP0609595A1 (fr) * | 1993-02-05 | 1994-08-10 | Hewlett-Packard Company | Méthode et appareil pour vérifier des codes CRC |
US6029186A (en) * | 1998-01-20 | 2000-02-22 | 3Com Corporation | High speed calculation of cyclical redundancy check sums |
Non-Patent Citations (1)
Title |
---|
See also references of EP1323235A2 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428693B2 (en) | 2002-04-22 | 2008-09-23 | Fujitsu Limited | Error-detecting encoding and decoding apparatus and dividing apparatus |
US7920501B2 (en) | 2004-12-30 | 2011-04-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for bi-directional relaying in wireless communication systems |
Also Published As
Publication number | Publication date |
---|---|
BR0114169A (pt) | 2003-12-09 |
NO20031352L (no) | 2003-05-08 |
CN101083468A (zh) | 2007-12-05 |
WO2002027939A3 (fr) | 2002-05-30 |
MXPA03002622A (es) | 2004-05-24 |
EP2209215A1 (fr) | 2010-07-21 |
HK1061121A1 (en) | 2004-09-03 |
CN1333530C (zh) | 2007-08-22 |
AU2001289032A1 (en) | 2002-04-08 |
JP2004510380A (ja) | 2004-04-02 |
US6763492B1 (en) | 2004-07-13 |
CN1476675A (zh) | 2004-02-18 |
KR100894234B1 (ko) | 2009-04-20 |
NO20031352D0 (no) | 2003-03-25 |
KR20030036826A (ko) | 2003-05-09 |
CA2423425A1 (fr) | 2002-04-04 |
EP1323235A2 (fr) | 2003-07-02 |
RU2003112223A (ru) | 2004-08-27 |
TW531973B (en) | 2003-05-11 |
IL154898A0 (en) | 2003-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6763492B1 (en) | Method and apparatus for encoding of linear block codes | |
CN111162797B (zh) | 一种速率兼容的5g ldpc码的编码装置及编码方法 | |
KR100937679B1 (ko) | Ldpc 디코딩 방법 및 장치 | |
US6640327B1 (en) | Fast BCH error detection and correction using generator polynomial permutation | |
UA91513C2 (uk) | Спосіб (варіанти) і кодер ldpc-кодування | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
JPH0452556B2 (fr) | ||
EP0034036A2 (fr) | Codeurs et décodeurs pour codes cycliques en blocs | |
US7945780B1 (en) | Apparatus for dynamically configurable interleaver scheme using at least one dynamically changeable interleaving parameter | |
KR20060125837A (ko) | 데이터를 인코딩하기 위한 방법 및 장치 | |
JP5488472B2 (ja) | 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置 | |
WO2011024032A1 (fr) | Dispositif et procédé permettant un turbocodage d'un bloc de données | |
US8151160B1 (en) | Configurable low-density parity-check decoder for LDPC codes of arbitrary block size and method of configuring the same | |
US6405339B1 (en) | Parallelized programmable encoder/syndrome generator | |
WO2015133095A1 (fr) | Appareil de génération de code de contrôle de parité, procédé de codage, appareil de codage et support de stockage | |
JP2000091926A (ja) | 符号化装置および方法、復号装置および方法、並びに提供媒体 | |
JP2001332980A (ja) | インタリーブ装置及びインタリーブ方法 | |
US5751732A (en) | Polynomial evaluator for use in a reed-solomon decoder | |
Ashbrook et al. | Implementation of a Hermitian decoder IC in 0.35/spl mu/m CMOS | |
Lee et al. | An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes | |
RU160960U1 (ru) | Реконфигурируемый кодер рида-соломона | |
JP2004282787A (ja) | 信号送信装置および符号化装置 | |
KR100192792B1 (ko) | 리드 솔로몬 복호기의 다항식 평가 장치 | |
KR100192803B1 (ko) | 에러 정정 신드롬 계산 장치 | |
KR100212827B1 (ko) | 리드 솔로몬 복호기의 다황식 평가 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 524550 Country of ref document: NZ |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001289032 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 154898 Country of ref document: IL |
|
WWE | Wipo information: entry into national phase |
Ref document number: 413/CHENP/2003 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2423425 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020037004261 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002531612 Country of ref document: JP Ref document number: PA/a/2003/002622 Country of ref document: MX |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001968817 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2003112223 Country of ref document: RU Kind code of ref document: A Ref country code: RU Ref document number: RU A |
|
WWP | Wipo information: published in national office |
Ref document number: 1020037004261 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 018195199 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2001968817 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |