CA2206688C - Digital transmission system for encoding and decoding attribute data into error checking symbols of main data, and method therefor - Google Patents
Digital transmission system for encoding and decoding attribute data into error checking symbols of main data, and method therefor Download PDFInfo
- Publication number
- CA2206688C CA2206688C CA002206688A CA2206688A CA2206688C CA 2206688 C CA2206688 C CA 2206688C CA 002206688 A CA002206688 A CA 002206688A CA 2206688 A CA2206688 A CA 2206688A CA 2206688 C CA2206688 C CA 2206688C
- Authority
- CA
- Canada
- Prior art keywords
- data
- code
- bits
- coded bits
- accordance
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000005540 biological transmission Effects 0.000 title description 14
- 208000011580 syndromic disease Diseases 0.000 claims description 17
- 230000009897 systematic effect Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 241001508687 Mustela erminea Species 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
-
- 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
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
-
- 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
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- 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/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- 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
Abstract
Data are coded by means of a first error correcting code to produce first coded bits. Control data are coded using a heavily redundant second error corrected code and added modulo 2 to the first coded bits. Decoding is performed by ascertaining (15, 16) which valid codeword of the second code (when added to the received codeword) gives the lowest error count when the resultant is decoded according to the first code.
Description
DIGITAL TRANSMISSION SYSTEM FOR ENCODING AND DECODING
ATTRIBUTE DATA INTO ERROR CHECKING SYMBOLS OF MAIN DATA, AND METHOD THEREFOR
The present application is concerned with the transmission of data using forward error correction, that is, where data are encoded using a redundant code such that, upon reception in the presence of errors, the fact that errors have occurred can be recognised at a receiver, and preferably (up to a maximum tolerable error rate) corrected.
The context particularly addressed is where a requirement exists to transmit also auxiliary data also requiring a high level of error protection.
According to one aspect of the invention there is provided an apparatus for decoding data which has been coded by coding first data in accordance with a fist redundant code to produce first coded bits, coding second data in accordance with a second redundant code to produce second coded bits, and adding the second coded bits to the first coded bits, the apparatus comprising:
means operable to determine in accordance with the first code a plurality of error values each corresponding to the assumption that the second coded bits to be decoded constitute a respective one of a plurality of allowed codewords of the second code;
means for outputting a signal identifying that one of the said allowed codewords which corresponds to the smallest error value;
means controlled by the output signal for removing from the received data the effects of the identified codeword to produce modified data; and means for decoding the modified data in accordance with the first redundant code.
Another aspect of the invention is the method of decoding data using the apparatus.
WO 96!19054 PCT/GB95/02892 ?referably in which the first code is a sys~ematic code so that the first coded bits comprise the first data bits ar~d parity bits, the second coded bits being added only ' to tie parity bits, and the means operable to de~ermine error -values comprises ;a) means to compute the syndrome of the received data ;n accordance with the first code; and ;b) means to compare the syndrome with eac'.~_ valid codeword of the second redundant code, the error vale' being the ramming distance between the codeword and the syndrome.
-n another aspect of the invention there- is provided an a~_o_aratus for coding data for transmission comprising:
coding means for receiving first data for transmission and coding the data in accordance with a first redur_dant code to produce first coded bits for transmission;
coding means for receiving second- data for transmission and coding the data in accordance with a second redu:dant code to produce- second coded bias for transmission;
means for-- adding the second coded bits to the first coded bits. T --some embodiments of the invention will .ow pe described, by way of example, with reference ;.o the accompanying drawings, in which: -Figure L is a block diagram of one form- of data coding apparatus according to the invention; and figure 2 is a corresponding decoder.
'"his example supposes that, for each successive data frame cf -96 bits each, a rectuirement exists to transmit 51 data bits, and that these bits are to be coded using a (96, 5~) burst error correcting cyclic code. This is a systematic code - i.e. the data bits themselves are unchanged by the coding, so that it requires the transmission of 51 data bits plus 45 parity bits. Its generator polynomial 1S X45+Xy~+X35+x~5-i-x20+x5+1. Such codes are conventional, as is their decoding using error-correction techniques.
Thus in Figure =, user data input at an input 1 are formatted in a framing unit 2 into groups of 51 bits which are supplied to a coder 3 for the cyclic code to generate 10 parity bits. As shown, the data and parity bits are assembled in a register 4. For clarity,internal data paths in the apparatus of Figure 1 are shown as parallel connections, but the signals may be processed sequentially using standard digital signal processing techniques, if 15 desired.
=t is supposed, -urther, that there is a reauirement to transmit auxiliary data, for example for control of remote equipment such as a modem, and that eleven such control words are desired, with a heavy level oy error 20 protection so that they may be recognised correctly at a receiver in the presence ef transmission errors. In addition, no further transmission capacity is available over and above the 96 bits already mentioned.
The apparatus achieves this by generating one of 25 eleven predetermined 45-bit control words, and addir_g these bits mcdulo-2 to the 45 parity bits in the register -'_. Thus in Figure 1 an input 5 identifies an entry in a look-up table store 6 which contains a set of eleven control words;
Y
the selected entry is combined with the 45 parity bits from 30 the register 4 using exclusive -OR gates 7. The resulting modified bits are assembled with the 51 data bits in a further register 8, from which they are output in an desired format to an output 9.
The corresponding receiver~is shown in Figure 2 where ' the signals are-received at an input 11 and the data and parity bits are assembled in respective sections of a register 12. These bits are supplied to a decoder 13 which applies the same (96, 51) cyclic code to correct errors and supply corrected data at an output 14.
On the face of it, addition of this extra information to the parity bits might be expected to destroy or at least weaken the capacity of a receiver to detect -and correct errors in the received data. However the receiver works on the premise that ~ the control word sent can be correctly identified at the receiver from an examination of the received data and parity bits, then that word can be subtracted frcm the parity bits and thereupon error correc~ion car_ .be performed as if r_o control word had ever been sent. ;.orrect recognition is thus crucial since misrecognition will result in subtraction of the wrong codeword and _n most cases result in serious corruption of the data. To :~inimise the risk of this:
- a large-.number of- bits have been chosen for the control word (relative to the number of words in the set) ;
- the control words should be as different as possible Lrom one--another. This implies that the control codewords should be selected so that the Hamming ' distancebetween any two codewords is as large as - possible. The following table lists eleven suitable 45 bit words having a minimum Hamming distance between any two words of 24.
Index Control Codewords 5 010111100010011010111'00010011010111100010011 6 0110101111000100110101i1100010011010111100010 ~n ger_eral, for m-bit contrcl codewords the Hamming distance should preferably be at mj3,~ and ideally at least m/2.
5 Tn pr_nciple the control codeword may be recognised bY
~a) subtracting a codeword frcm the parity bits;
(b) apply the relevant decoding process to the data plus parity bits to ascertain the number of bits that are in error;
(c) repeating (a) and (b) for ~he other codewords;
(d) selecting the codeword giving the lowest error count (if there are no transmission errors this will be zero, of course) .
In some cases it may be necessary to follow this procedure. In the embodiment of Figure 2, however, because (i) a systematic code is used; -(ii) the control word is added only to the parity bits; a more rapid method is proposed.
To appreciate this method it is helpful -to consider the mathematical representation of the coding decoding process.
With an (n,k) cyclic code, the parity bits R(x) are the remainder of the k information bits divided by the generator polynomial GLx) (note that, for systematic codes, D(x) here represents the data shifted left by n-k - i.e.
with n-k trailing zeros). Thus (x) - Q (x) G (x) + R (x) . . . ( 1) where Q(x) is the quotient and "+" represents bit-by-bit modulc-2 addition. The n bit coded result C(x) is then C (x) - D (x) + R (x) . . . (2 ) Suppose at a decoder, the received word is C' (x) ; we then compute the syndrome which is the remainder when C'(x) is divided by G(x).
Under error free conditions C' (x) - C (x) - D (x) + R (x) ~ ~ ~ (3 ) - Q (x) G (x) + R (x) + R (x) . . . (4 ) - Q (x) G (x) . . . (5) and therefore C'(x) is divisible by G(x) and the syndrome or remainder of the division is zero.
Vhen C'(x) contains detectable errors, the syndrome is not zero.
Consider tow the situation when a control word is added to C(x) before transmission; let it be the ith control word I_ (x) .
Hence, equation (2) becomes C (x) - D (x) + R (x) + Ii (x) . . . ( 6 ) Therefore at the receiver a search process is needed in which each possib7.e control word is subtracted from the received signal and the syndrome computed.
S~ (x) - REM [ (C' (x) + I~ (x) ) /G (x) ] j=1. . .B . . .
(7) where B is the size of the control word table (equal to 11 in this example) and the desired word is (under error-free conditions) that for which S~(x) is zero.
Unfortunately, in the presence of errors C'(x) - C(x) + E(x); equation (2) becomes S; (x) - REM [ (C (x) + E (x) + I~ (x) ) /G (x) ] . . . ( 8 ) where E(x) is an error pattern introduced by the transmission channel. This represents a danger of misrecognition if E(x) + I~(x) - Ik(x) for some values of j,k. ~his risk can be minimised by maximising the Hamming distance between the control words, as mentioned above.
n the decoder of Figure 2, the syndrome S(x) is computed, without subtraction of a control word, in a unit 15, i.e.' S (x) - REM [C' (x) /G (x) ]
- REM [ (D (x) + R (x) + E (x) + Ii (x) ) /G (x) ]
As D(x) + R(x) is divisible by G(x) (equations 3-5 above) S(x) is actually equal to S (x) - REM [ (E (x) + Ii (x) /G (x) ) ]
;f E (x) - 0 then S (x) - Ii (x) , otherwise S (x) will a differ from I;(x) in a number of bit positions, depending on the amount of error. Thus the syndrome S(x) is compared in a comparator ~5 with each of the eleven control words from a control word store _7 to ascertain the word having the shortest Hamming distance with S(x) and this word I=(x) is output along with an identity signal ID identifying this word to a control signal output 18. If this best Hamming distance is greater than 9 (i.e. if fewer than 36 bits match) however, the comparator 16 produces an alarm signal FA at an output 19 to indicate that control word recognition is unreliable.
The output control word is subtracted in a subtractor 20 from the received parity bits prior to their receipt by the error correction circuit 13.
In the event that the alarm signal FA is produced this could suppress the operation of the--error correction circuit 13 so that the data bits pass unmodified to the output 14 (the uncorrected data-bits will generally be more usefu~ than they would be after correction using the corrupted parity bits). Also the alarm signal output 19 can signal to following equipment that the ID, output 18 -is inval_and that the data output at i~ are uncorrected.
.n the case that misrecognition of the control word does occur, zor-=example Ii(x) is assumed instead of I~(x), then the syndrome will be corrupted by the pattern I~ (x) - T~ (x) ' _ .n tests, it is found that, using the particular code and control words described, produced ~ instances of incorrect control word recognition (i.e. all misdetections were identified--by the alarm signal) even. at high channel error =ates. However, it is noted that (assuming that the number of channel errors is within the range which the code in use is capable o= correcting) some values of the-syndrome correspond to errors only in the-parity bits, whilst others correspond to data errors. .
WO 96!19054 PCT/GB95l02892 It is therefore possible to choose the control words so that the effect of I~ (x) + I, (x) (for all i, j ) is to simulate only parity-bit errors, so that undetected misrecognition of control words does not result ~r. data S corruption - at least for some error patterns. However, selection of the control words in this way will reduce the Hamming distance between the control words, so that ~he risk of undetected misrecognition will be increased. ~learly there is a trade-off between these Lwo factors.
ATTRIBUTE DATA INTO ERROR CHECKING SYMBOLS OF MAIN DATA, AND METHOD THEREFOR
The present application is concerned with the transmission of data using forward error correction, that is, where data are encoded using a redundant code such that, upon reception in the presence of errors, the fact that errors have occurred can be recognised at a receiver, and preferably (up to a maximum tolerable error rate) corrected.
The context particularly addressed is where a requirement exists to transmit also auxiliary data also requiring a high level of error protection.
According to one aspect of the invention there is provided an apparatus for decoding data which has been coded by coding first data in accordance with a fist redundant code to produce first coded bits, coding second data in accordance with a second redundant code to produce second coded bits, and adding the second coded bits to the first coded bits, the apparatus comprising:
means operable to determine in accordance with the first code a plurality of error values each corresponding to the assumption that the second coded bits to be decoded constitute a respective one of a plurality of allowed codewords of the second code;
means for outputting a signal identifying that one of the said allowed codewords which corresponds to the smallest error value;
means controlled by the output signal for removing from the received data the effects of the identified codeword to produce modified data; and means for decoding the modified data in accordance with the first redundant code.
Another aspect of the invention is the method of decoding data using the apparatus.
WO 96!19054 PCT/GB95/02892 ?referably in which the first code is a sys~ematic code so that the first coded bits comprise the first data bits ar~d parity bits, the second coded bits being added only ' to tie parity bits, and the means operable to de~ermine error -values comprises ;a) means to compute the syndrome of the received data ;n accordance with the first code; and ;b) means to compare the syndrome with eac'.~_ valid codeword of the second redundant code, the error vale' being the ramming distance between the codeword and the syndrome.
-n another aspect of the invention there- is provided an a~_o_aratus for coding data for transmission comprising:
coding means for receiving first data for transmission and coding the data in accordance with a first redur_dant code to produce first coded bits for transmission;
coding means for receiving second- data for transmission and coding the data in accordance with a second redu:dant code to produce- second coded bias for transmission;
means for-- adding the second coded bits to the first coded bits. T --some embodiments of the invention will .ow pe described, by way of example, with reference ;.o the accompanying drawings, in which: -Figure L is a block diagram of one form- of data coding apparatus according to the invention; and figure 2 is a corresponding decoder.
'"his example supposes that, for each successive data frame cf -96 bits each, a rectuirement exists to transmit 51 data bits, and that these bits are to be coded using a (96, 5~) burst error correcting cyclic code. This is a systematic code - i.e. the data bits themselves are unchanged by the coding, so that it requires the transmission of 51 data bits plus 45 parity bits. Its generator polynomial 1S X45+Xy~+X35+x~5-i-x20+x5+1. Such codes are conventional, as is their decoding using error-correction techniques.
Thus in Figure =, user data input at an input 1 are formatted in a framing unit 2 into groups of 51 bits which are supplied to a coder 3 for the cyclic code to generate 10 parity bits. As shown, the data and parity bits are assembled in a register 4. For clarity,internal data paths in the apparatus of Figure 1 are shown as parallel connections, but the signals may be processed sequentially using standard digital signal processing techniques, if 15 desired.
=t is supposed, -urther, that there is a reauirement to transmit auxiliary data, for example for control of remote equipment such as a modem, and that eleven such control words are desired, with a heavy level oy error 20 protection so that they may be recognised correctly at a receiver in the presence ef transmission errors. In addition, no further transmission capacity is available over and above the 96 bits already mentioned.
The apparatus achieves this by generating one of 25 eleven predetermined 45-bit control words, and addir_g these bits mcdulo-2 to the 45 parity bits in the register -'_. Thus in Figure 1 an input 5 identifies an entry in a look-up table store 6 which contains a set of eleven control words;
Y
the selected entry is combined with the 45 parity bits from 30 the register 4 using exclusive -OR gates 7. The resulting modified bits are assembled with the 51 data bits in a further register 8, from which they are output in an desired format to an output 9.
The corresponding receiver~is shown in Figure 2 where ' the signals are-received at an input 11 and the data and parity bits are assembled in respective sections of a register 12. These bits are supplied to a decoder 13 which applies the same (96, 51) cyclic code to correct errors and supply corrected data at an output 14.
On the face of it, addition of this extra information to the parity bits might be expected to destroy or at least weaken the capacity of a receiver to detect -and correct errors in the received data. However the receiver works on the premise that ~ the control word sent can be correctly identified at the receiver from an examination of the received data and parity bits, then that word can be subtracted frcm the parity bits and thereupon error correc~ion car_ .be performed as if r_o control word had ever been sent. ;.orrect recognition is thus crucial since misrecognition will result in subtraction of the wrong codeword and _n most cases result in serious corruption of the data. To :~inimise the risk of this:
- a large-.number of- bits have been chosen for the control word (relative to the number of words in the set) ;
- the control words should be as different as possible Lrom one--another. This implies that the control codewords should be selected so that the Hamming ' distancebetween any two codewords is as large as - possible. The following table lists eleven suitable 45 bit words having a minimum Hamming distance between any two words of 24.
Index Control Codewords 5 010111100010011010111'00010011010111100010011 6 0110101111000100110101i1100010011010111100010 ~n ger_eral, for m-bit contrcl codewords the Hamming distance should preferably be at mj3,~ and ideally at least m/2.
5 Tn pr_nciple the control codeword may be recognised bY
~a) subtracting a codeword frcm the parity bits;
(b) apply the relevant decoding process to the data plus parity bits to ascertain the number of bits that are in error;
(c) repeating (a) and (b) for ~he other codewords;
(d) selecting the codeword giving the lowest error count (if there are no transmission errors this will be zero, of course) .
In some cases it may be necessary to follow this procedure. In the embodiment of Figure 2, however, because (i) a systematic code is used; -(ii) the control word is added only to the parity bits; a more rapid method is proposed.
To appreciate this method it is helpful -to consider the mathematical representation of the coding decoding process.
With an (n,k) cyclic code, the parity bits R(x) are the remainder of the k information bits divided by the generator polynomial GLx) (note that, for systematic codes, D(x) here represents the data shifted left by n-k - i.e.
with n-k trailing zeros). Thus (x) - Q (x) G (x) + R (x) . . . ( 1) where Q(x) is the quotient and "+" represents bit-by-bit modulc-2 addition. The n bit coded result C(x) is then C (x) - D (x) + R (x) . . . (2 ) Suppose at a decoder, the received word is C' (x) ; we then compute the syndrome which is the remainder when C'(x) is divided by G(x).
Under error free conditions C' (x) - C (x) - D (x) + R (x) ~ ~ ~ (3 ) - Q (x) G (x) + R (x) + R (x) . . . (4 ) - Q (x) G (x) . . . (5) and therefore C'(x) is divisible by G(x) and the syndrome or remainder of the division is zero.
Vhen C'(x) contains detectable errors, the syndrome is not zero.
Consider tow the situation when a control word is added to C(x) before transmission; let it be the ith control word I_ (x) .
Hence, equation (2) becomes C (x) - D (x) + R (x) + Ii (x) . . . ( 6 ) Therefore at the receiver a search process is needed in which each possib7.e control word is subtracted from the received signal and the syndrome computed.
S~ (x) - REM [ (C' (x) + I~ (x) ) /G (x) ] j=1. . .B . . .
(7) where B is the size of the control word table (equal to 11 in this example) and the desired word is (under error-free conditions) that for which S~(x) is zero.
Unfortunately, in the presence of errors C'(x) - C(x) + E(x); equation (2) becomes S; (x) - REM [ (C (x) + E (x) + I~ (x) ) /G (x) ] . . . ( 8 ) where E(x) is an error pattern introduced by the transmission channel. This represents a danger of misrecognition if E(x) + I~(x) - Ik(x) for some values of j,k. ~his risk can be minimised by maximising the Hamming distance between the control words, as mentioned above.
n the decoder of Figure 2, the syndrome S(x) is computed, without subtraction of a control word, in a unit 15, i.e.' S (x) - REM [C' (x) /G (x) ]
- REM [ (D (x) + R (x) + E (x) + Ii (x) ) /G (x) ]
As D(x) + R(x) is divisible by G(x) (equations 3-5 above) S(x) is actually equal to S (x) - REM [ (E (x) + Ii (x) /G (x) ) ]
;f E (x) - 0 then S (x) - Ii (x) , otherwise S (x) will a differ from I;(x) in a number of bit positions, depending on the amount of error. Thus the syndrome S(x) is compared in a comparator ~5 with each of the eleven control words from a control word store _7 to ascertain the word having the shortest Hamming distance with S(x) and this word I=(x) is output along with an identity signal ID identifying this word to a control signal output 18. If this best Hamming distance is greater than 9 (i.e. if fewer than 36 bits match) however, the comparator 16 produces an alarm signal FA at an output 19 to indicate that control word recognition is unreliable.
The output control word is subtracted in a subtractor 20 from the received parity bits prior to their receipt by the error correction circuit 13.
In the event that the alarm signal FA is produced this could suppress the operation of the--error correction circuit 13 so that the data bits pass unmodified to the output 14 (the uncorrected data-bits will generally be more usefu~ than they would be after correction using the corrupted parity bits). Also the alarm signal output 19 can signal to following equipment that the ID, output 18 -is inval_and that the data output at i~ are uncorrected.
.n the case that misrecognition of the control word does occur, zor-=example Ii(x) is assumed instead of I~(x), then the syndrome will be corrupted by the pattern I~ (x) - T~ (x) ' _ .n tests, it is found that, using the particular code and control words described, produced ~ instances of incorrect control word recognition (i.e. all misdetections were identified--by the alarm signal) even. at high channel error =ates. However, it is noted that (assuming that the number of channel errors is within the range which the code in use is capable o= correcting) some values of the-syndrome correspond to errors only in the-parity bits, whilst others correspond to data errors. .
WO 96!19054 PCT/GB95l02892 It is therefore possible to choose the control words so that the effect of I~ (x) + I, (x) (for all i, j ) is to simulate only parity-bit errors, so that undetected misrecognition of control words does not result ~r. data S corruption - at least for some error patterns. However, selection of the control words in this way will reduce the Hamming distance between the control words, so that ~he risk of undetected misrecognition will be increased. ~learly there is a trade-off between these Lwo factors.
Claims (8)
1. An apparatus for decoding data which has been coded by coding first data in accordance with a first redundant code having a plurality of allowed codewords to produce first coded bits, coding second data in accordance with a second redundant code having a smaller number of allowed codewords to produce second coded bits, and adding the second coded bits to the first coded bits, the apparatus comprising:
means operable to determine in accordance with the first code a plurality of error values each corresponding to the assumption that the second coded bits of the data to be decoded constitute a respective one of the plurality of allowed codewords of the second code;
means for outputting a signal identifying that one of the said allowed codewords which corresponds to the smallest error value;
means controlled by said output signal for removing from the received data the effects of the identified codeword to produce modified data; and means for decoding the modified data in accordance with the first redundant code.
means operable to determine in accordance with the first code a plurality of error values each corresponding to the assumption that the second coded bits of the data to be decoded constitute a respective one of the plurality of allowed codewords of the second code;
means for outputting a signal identifying that one of the said allowed codewords which corresponds to the smallest error value;
means controlled by said output signal for removing from the received data the effects of the identified codeword to produce modified data; and means for decoding the modified data in accordance with the first redundant code.
2. An apparatus according to Claim 1 in which the first code is a systematic code so that the first coded bits comprise first data bits and parity bits, the second coded bits being added only to the parity bits, and in which the means operable to determine error values comprises (a) means to compute the syndrome of the received data in accordance with the first code; and (b) means to compare the syndrome with each valid codeword of the second redundant code, the error value being the Hamming distance between the codeword and the syndrome.
3. An apparatus according to Claim 2 in which the comparing means is operable to produce an alarm signal if the said smallest Hamming distance is greater than a predetermined threshold value.
4. An apparatus according to Claim 3 in which the decoding means is responsive to presence of the alarm signal to suppress error correction.
5. A method for decoding data which has been coded by coding first data in accordance with a first redundant code having a plurality of allowed codewords to produce first coded bits, coding second data in accordance with a second redundant code having a smaller plurality of allowed codewords to produce second coded bits, and adding the second coded bits to the first coded bits, the method comprising:
processing received data to determine, in accordance with the first code, a plurality of error values each corresponding to the assumption that the second coded bits constitute a respective one of the plurality of allowed codewords of the second code;
outputting a signal identifying that one of the said allowed codewords which corresponds to the smallest error value even if it is a non-zero value;
in response to said output signal, removing from the received data the effects of the identified codeword to produce modified data; and decoding the modified data in accordance with the first redundant code.
processing received data to determine, in accordance with the first code, a plurality of error values each corresponding to the assumption that the second coded bits constitute a respective one of the plurality of allowed codewords of the second code;
outputting a signal identifying that one of the said allowed codewords which corresponds to the smallest error value even if it is a non-zero value;
in response to said output signal, removing from the received data the effects of the identified codeword to produce modified data; and decoding the modified data in accordance with the first redundant code.
6. A method as in claim 5 wherein he first code is a systematic code so that the first coded bits comprise first data bits and parity bits, the second coded bits being added only to the parity bits, and in which the processing step comprises:
(a) computing the syndrome of the received data in accordance with the first code; and (b) comparing the syndrome with each valid codeword of the second redundant code, the error value being the Hamming distance between the codeword and the syndrome.
(a) computing the syndrome of the received data in accordance with the first code; and (b) comparing the syndrome with each valid codeword of the second redundant code, the error value being the Hamming distance between the codeword and the syndrome.
7. ~A method as in claim 6 wherein comparing step produces an alarm signal if the said smallest Hamming distance is greater than a predetermined threshold value.
8. ~A method as in claim 7 wherein the decoding step is responsive to presence of the alarm signal to suppress error correction.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP94309306 | 1994-12-12 | ||
EP94309306.2 | 1994-12-12 | ||
PCT/GB1995/002892 WO1996019054A1 (en) | 1994-12-12 | 1995-12-12 | Digital transmission system for encoding and decoding attribute data into error checking symbols of main data |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2206688A1 CA2206688A1 (en) | 1996-06-20 |
CA2206688C true CA2206688C (en) | 2002-02-19 |
Family
ID=8217942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002206688A Expired - Fee Related CA2206688C (en) | 1994-12-12 | 1995-12-12 | Digital transmission system for encoding and decoding attribute data into error checking symbols of main data, and method therefor |
Country Status (6)
Country | Link |
---|---|
US (1) | US6044482A (en) |
EP (1) | EP0797877A1 (en) |
JP (1) | JPH10510689A (en) |
AU (1) | AU687286B2 (en) |
CA (1) | CA2206688C (en) |
WO (1) | WO1996019054A1 (en) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892464A (en) * | 1997-03-19 | 1999-04-06 | Ericsson Inc. | Message encoding technique for communication systems |
FR2767618B1 (en) * | 1997-08-25 | 1999-12-24 | Canon Kk | METHODS AND DEVICES FOR TRANSMITTING AND RECEIVING DATA AND SYSTEMS USING THE SAME |
US6738935B1 (en) * | 2000-02-07 | 2004-05-18 | 3Com Corporation | Coding sublayer for multi-channel media with error correction |
JP3639184B2 (en) * | 2000-04-18 | 2005-04-20 | 日本電信電話株式会社 | Method for encoding control information in communication system |
US7352770B1 (en) * | 2000-08-04 | 2008-04-01 | Intellon Corporation | Media access control protocol with priority and contention-free intervals |
US7469297B1 (en) | 2000-08-04 | 2008-12-23 | Intellon Corporation | Mechanism for using a quasi-addressed response to bind to a message requesting the response |
US6909723B1 (en) | 2000-08-04 | 2005-06-21 | Intellon Corporation | Segment bursting with priority pre-emption and reduced latency |
US6907044B1 (en) | 2000-08-04 | 2005-06-14 | Intellon Corporation | Method and protocol to support contention-free intervals and QoS in a CSMA network |
US7298691B1 (en) | 2000-08-04 | 2007-11-20 | Intellon Corporation | Method and protocol to adapt each unique connection in a multi-node network to a maximum data rate |
US6987770B1 (en) | 2000-08-04 | 2006-01-17 | Intellon Corporation | Frame forwarding in an adaptive network |
EP1318642A1 (en) * | 2001-12-07 | 2003-06-11 | BRITISH TELECOMMUNICATIONS public limited company | Cancellation of interference in mutlicarrier receivers |
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 |
US8149703B2 (en) * | 2002-06-26 | 2012-04-03 | Qualcomm Atheros, Inc. | Powerline network bridging congestion control |
US7826466B2 (en) * | 2002-06-26 | 2010-11-02 | Atheros Communications, Inc. | Communication buffer scheme optimized for VoIP, QoS and data networking over a power line |
US7120847B2 (en) * | 2002-06-26 | 2006-10-10 | Intellon Corporation | Powerline network flood control restriction |
US8090857B2 (en) * | 2003-11-24 | 2012-01-03 | Qualcomm Atheros, Inc. | Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks |
US7660327B2 (en) * | 2004-02-03 | 2010-02-09 | Atheros Communications, Inc. | Temporary priority promotion for network communications in which access to a shared medium depends on a priority level |
US7715425B2 (en) * | 2004-02-26 | 2010-05-11 | Atheros Communications, Inc. | Channel adaptation synchronized to periodically varying channel |
US7636370B2 (en) * | 2005-03-03 | 2009-12-22 | Intellon Corporation | Reserving time periods for communication on power line networks |
US8175190B2 (en) * | 2005-07-27 | 2012-05-08 | Qualcomm Atheros, Inc. | Managing spectra of modulated signals in a communication network |
US7822059B2 (en) | 2005-07-27 | 2010-10-26 | Atheros Communications, Inc. | Managing contention-free time allocations in a network |
EP2159966A1 (en) | 2007-05-10 | 2010-03-03 | Intellon Corporation | Managing distributed access to a shared medium |
US8483649B2 (en) * | 2007-05-18 | 2013-07-09 | Argon St | System and method for an energy efficient RF transceiver |
US8781016B2 (en) | 2010-04-12 | 2014-07-15 | Qualcomm Incorporated | Channel estimation for low-overhead communication in a network |
US8891605B2 (en) | 2013-03-13 | 2014-11-18 | Qualcomm Incorporated | Variable line cycle adaptation for powerline communications |
US10628246B1 (en) | 2013-05-20 | 2020-04-21 | The Boeing Company | Methods and systems for prioritizing corrective actions in a troubleshooting chart |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3466601A (en) * | 1966-03-17 | 1969-09-09 | Bell Telephone Labor Inc | Automatic synchronization recovery techniques for cyclic codes |
US3745526A (en) * | 1971-12-20 | 1973-07-10 | Ibm | Shift register error correcting system |
US4271520A (en) * | 1979-06-25 | 1981-06-02 | Motorola, Inc. | Synchronizing technique for an error correcting digital transmission system |
GB2139050B (en) * | 1983-04-15 | 1986-10-01 | British Broadcasting Corp | Digital data transmission |
JPS63503016A (en) * | 1986-04-11 | 1988-11-02 | アムペツクス コーポレーシヨン | Apparatus and method for encoding and decoding attribute data into error check symbols of main data |
US5003539A (en) * | 1986-04-11 | 1991-03-26 | Ampex Corporation | Apparatus and method for encoding and decoding attribute data into error checking symbols of main data |
JPH02131625A (en) * | 1988-11-11 | 1990-05-21 | Matsushita Electric Ind Co Ltd | Error correction device |
GB8910255D0 (en) * | 1989-05-04 | 1989-06-21 | Stc Plc | Data stream frame synchronisation |
JPH038175A (en) * | 1989-06-06 | 1991-01-16 | Sony Corp | Synchronizing signal detecting method |
JP2636432B2 (en) * | 1989-08-31 | 1997-07-30 | 松下電器産業株式会社 | Error correction method |
US5430739A (en) * | 1990-03-27 | 1995-07-04 | National Science Council | Real-time Reed-Solomon decoder |
EP0470451A3 (en) * | 1990-08-07 | 1993-01-20 | National Semiconductor Corporation | Implementation of the high-level data link control cyclic redundancy check (hdlc crc) calculation |
JPH07122864B2 (en) * | 1991-07-22 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Data processing system, interface circuit used in data processing system, and communication method between data processors |
GB9126431D0 (en) * | 1991-12-11 | 1992-02-12 | Signal Processors Ltd | Data transmission technique |
GB9218009D0 (en) * | 1992-08-25 | 1992-10-14 | Philips Electronics Uk Ltd | A method of,and transmitter for,transmitting a digital signal |
-
1995
- 1995-12-12 EP EP95940350A patent/EP0797877A1/en not_active Withdrawn
- 1995-12-12 JP JP8518462A patent/JPH10510689A/en not_active Ceased
- 1995-12-12 AU AU41828/96A patent/AU687286B2/en not_active Ceased
- 1995-12-12 CA CA002206688A patent/CA2206688C/en not_active Expired - Fee Related
- 1995-12-12 US US08/849,319 patent/US6044482A/en not_active Expired - Fee Related
- 1995-12-12 WO PCT/GB1995/002892 patent/WO1996019054A1/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US6044482A (en) | 2000-03-28 |
EP0797877A1 (en) | 1997-10-01 |
CA2206688A1 (en) | 1996-06-20 |
AU687286B2 (en) | 1998-02-19 |
AU4182896A (en) | 1996-07-03 |
JPH10510689A (en) | 1998-10-13 |
WO1996019054A1 (en) | 1996-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2206688C (en) | Digital transmission system for encoding and decoding attribute data into error checking symbols of main data, and method therefor | |
US4271520A (en) | Synchronizing technique for an error correcting digital transmission system | |
US4486882A (en) | System for transmitting binary data via a plurality of channels by means of a convolutional code | |
US7461324B2 (en) | Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals | |
US7146553B2 (en) | Error correction improvement for concatenated codes | |
WO1998016016A3 (en) | Error correction with two block codes and error correction with transmission repetition | |
CA3193957C (en) | Forward error correction with compression coding | |
JPH09507118A (en) | Cyclic redundancy check method and apparatus | |
JPH0328094B2 (en) | ||
JP2023145493A (en) | Multi-mode channel coding | |
WO2002035708A2 (en) | Method for detecting errors on parallel links | |
EP1333586A2 (en) | Decoding method, decoding apparatus and digital transmission system of product code | |
US4217660A (en) | Method and apparatus for the coding and decoding of digital data | |
US3544963A (en) | Random and burst error-correcting arrangement | |
US20070174755A1 (en) | Post viterbi error correction apparatus and related methods | |
US4055832A (en) | One-error correction convolutional coding system | |
JPS5846741A (en) | Decoder | |
US7383489B1 (en) | Method and apparatus for detecting viterbi decoder errors due to quasi-catastrophic sequences | |
EP1427109A2 (en) | Apparatus and method of calculating a cyclic redundancy check value for a multi bit input data word | |
US5809042A (en) | Interleave type error correction method and apparatus | |
US4635262A (en) | Method of detecting synchronization errors in a data transmission system using a linear block code | |
US4791485A (en) | System for detecting a transmission error | |
US4521886A (en) | Quasi-soft decision decoder for convolutional self-orthogonal codes | |
US4453249A (en) | System for binary data transmission | |
Mokara et al. | Design and implementation of hamming code using VHDL & DSCH |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |