JPH03186031A - Error correction system - Google Patents

Error correction system

Info

Publication number
JPH03186031A
JPH03186031A JP1325008A JP32500889A JPH03186031A JP H03186031 A JPH03186031 A JP H03186031A JP 1325008 A JP1325008 A JP 1325008A JP 32500889 A JP32500889 A JP 32500889A JP H03186031 A JPH03186031 A JP H03186031A
Authority
JP
Japan
Prior art keywords
bit
parity
error
errors
error correction
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.)
Pending
Application number
JP1325008A
Other languages
Japanese (ja)
Inventor
Keiichi Iwamura
恵市 岩村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP1325008A priority Critical patent/JPH03186031A/en
Publication of JPH03186031A publication Critical patent/JPH03186031A/en
Priority to US08/284,289 priority patent/US5459741A/en
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Multi Processors (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】[Detailed description of the invention]

[産業上の利用分野] 本発明は、光デイ、スフや光磁気ディスク、衛星通信等
の通信路において発生するデータの誤りを符号を用いて
検出・訂正する誤り訂正方式に関し、特にデータの同期
ずれによる誤りを検出・訂正する方式に関する6のであ
る。
[Industrial Application Field] The present invention relates to an error correction method that uses codes to detect and correct data errors that occur in communication channels such as optical discs, optical discs, magneto-optical disks, and satellite communications, and in particular, the present invention relates to an error correction method that uses codes to detect and correct data errors that occur in communication channels such as optical discs, optical discs, magneto-optical discs, and satellite communications. Part 6 relates to a method for detecting and correcting errors due to misalignment.

【従来の技術】[Conventional technology]

データの誤りには、あるビットが0かも1或は1からO
に変化する誤りと、あるビットが抜けたり、余分なビッ
トが挿入されたりすることによる誤りとが考えられる。 以下では、ビットが0から1、または1から○に変化す
る誤りを単に誤りと呼び、それを訂正するための符号を
単に誤り符号と呼ぶこととし、これに対して、ビット抜
けまたはビット挿入による誤りを同期誤り、それを訂正
するための符号を同期誤り訂正符号と呼ぶこととする。 誤り訂正符号に関しては、今まで多くの研究が行なわれ
、ランダム誤りゃバースト誤りに対しては、これを訂正
するための優れた符号が提案されている。 しかしながら、従来のハミング距離的な考え方を用いる
訂正符号では、たとえ1ビツトのビット抜けまたはビッ
ト挿入であっても、それ以降のビットが全てずれてしま
うため、ビットずれ以降のビットが全て誤りとされる可
能性があり、誤り訂正能力の限界を越えてしまうため、
同期誤りに対しては有効な訂正を行なうことができなか
った。 従って、従来、同期誤りに対しては、訂正符号は用いず
、再同期を頻繁にとることによって、誤りの発生を防い
でいた。
Data errors include bits that may be 0, 1, or 1 to O.
There are two types of errors that can be considered: errors caused by a change in the number of bits, and errors caused by the omission of a certain bit or the insertion of an extra bit. In the following, an error in which a bit changes from 0 to 1 or from 1 to ○ will be simply referred to as an error, and a code for correcting it will be simply referred to as an error code. The error is called a synchronous error, and the code for correcting it is called a synchronous error correction code. Many studies have been conducted on error correction codes, and excellent codes for correcting random errors and burst errors have been proposed. However, with conventional correction codes that use the Hamming distance concept, even if one bit is missing or inserted, all subsequent bits will be shifted, so all bits after the bit shift will be treated as errors. This may exceed the limits of error correction ability.
It was not possible to effectively correct synchronization errors. Therefore, in the past, correction codes were not used for synchronization errors, and the occurrence of errors was prevented by frequently performing resynchronization.

【発明が解決しようとしている課題】[Problem to be solved by the invention]

同期誤りは、その名の通り、データに対するクロック等
の同期がずれたときに起こるものと考えられる。このよ
うな誤りは、使用する通信系によっては単なる誤りより
多く発生する場合が考えられ、上述のごとき、再同期を
頻繁に取る方式は、全体の伝送効率を少なからず低下さ
せるとし)う欠点があった。 本発明は、上述の課題を解決し、簡単な符号を用いて同
期誤りが訂正可能な誤り訂正方式を提供することを目的
とする。 [課題を解決するための手段および作用]上記課題を解
決するために、本発明の誤り訂正方式は、送信されるデ
ータの各ビットに順次lずつ異なる重みを乗じて加えた
パリティを生成する第1パリティ生成手段と、受信した
データの各ビットに順次1ずつ異なる重みを乗じて加え
たパリティを生成する第2パリティ生成手段と、該第2
パリティ生成手段により生成されたパリティと、前記第
1パリティ生成手段により生成されたパリティとを比較
演算する演算手段と、前記演算手段の演算結果により送
信データに対する受信データの誤りを検出する検出手段
と、該検出手段の検出結果に従って、検出された誤りを
訂正する訂正手段とを備えることにより、1ビツトのビ
ット抜けやビット挿入によって発生する同期誤りを訂正
可能としたものである。 【実施例1 以下では1ビツトの同期誤りを訂正する符号を示す、同
期誤りにはビット抜けとビット挿入と力S考えられるが
、先ず1ビット抜けの場合につし)で説明する。 kビットの情報系列工を[I 、、 I 11−1+・
・・、工、。 ■、]として、送信側ではこの情報系列中の各ビットエ
、に重みlを乗じた次のパリティP+を付加して送信す
る。 P+=Σ111          (1)伝送中にあ
るビットエ、が抜けるビット抜けb1生じたとすれば、
受信側では次のに一1ビットの情報系列工°と(1)式
に示したパリティPtを受は取る。 I’  = [1,、Im−+、−・・IIJIIII
  IJ−II・・・、1..1.]l′からP+と同
様に、L+Ik−’+・・・、IJ+l+IJ−11・
・・、II、IIに、順にに、に−1,・・・、1を乗
じて加算し、Q、を計算する。このとき、I J−1以
降には、添え字より1大きい係数が掛けられ、次のよう
に計算される。 Q、=シエ、・ i+Σ−11・(i+1)ここでP、
 −Q、を計算すると、 (2) となる、ここで、ビット抜けが生じたIJがOで■、=
1であれば、j〉Σ−11より P + −Q + > Oである。従って、P+−Ql
の正負でビット抜けを起こした■4の値が分かる。 また、Pl−Ql≦O(IJ =O)のとき、I J−
1までの、値が1となるビットの総数を示し、■、から
数えて、 IP + ’−Q +11001のところか
らI、=Oのビット抜けによるビットずれが始まってい
ることが分かる。そこで、P r −Q +11001
の左にOを挿入すれば、ビット抜けIJが訂正される。 P+ −(1>Oの場合、pt −Q+ −1=j−1
−Σ−■1は11からI、−3までのビットずれを起こ
したOの総数を示す、(なぜなら、ビットずれを起こし
たビットの総数j−1から、1の総数である土工、を引
けば、Oの総数になる。) そこで、P+ −Q+−1個目の0の左に1を挿入すれ
ば■、=1によるビット抜けが訂正される。 次に1ビツト挿入の場合を考える。 送信側で情報系列として、前出のに一1ビットのI ’
 = [I−、L=−+、・・・+L*l+ IJ−1
+・・・、1..1.]とそのパリティとして次のPl
を送信したとする。 p、=ΣI 1(i−1)  +Σ“11・i    
 (4)この情報系列の伝送中に、I、が挿入されて、
受信側では前記のIを受は取ったと考えると、I = 
[Ii++L+−z・・・、L−1,IJ、L−1,・
・・、1..1.]であるから、Q1およびQ、−P、
が次のように表わされる。 (6)式において、■。 Q+−P+=−Σ丁 ■、=1ならば、 =Oならば、 ≦Oであり、 また。 Q+−P+=j−t−Σ−■、20である。 従って、Q +  P + < Oの場合はIJ =O
Ql −PI >0の場合はI、=1 であり、これらの場合は、(3)式と同様の議論により
、誤り位置を知り、そのビットを削除することによって
、ビット挿入による誤りを削除できる。 また、Q+−P+=Oの場合は、 Q、−pH=QかつI、=Oならば、 −Σl1=0より、  IJ−1=・・・=I+=0ま
た、Q+  P+=0かつI、=1ならば、Σ−J、=
j−1より、I、−1=・・・= I + = 1であ
るから、いずれの場合もIJ=・・・=I、となるので
、最下位ビットを削除すればよい。 以上により1ビツト挿入の誤りが訂正できる。 次に、同期誤りではなく、1ビツトの単なる誤りが生じ
た場合を考える。 送信側で情報系列を1とし、そのパリティとして(1)
式のPlを送信し、伝送中にビットIJに誤りeJが付
加され、I4+eJとなったものと考える。(e、はI
、が1のとき−1、工、が0のとき1と表わされる。) このとき、Ql及びQ、−P、は次のように計算される
。 Q、=Σ■、・ i + e J  ・ j     
 (7)Q+−P+=9.  ・ j        
   (8)ここで、eJは1か−lであるので、(8
)式より、Q、−P、の正負によってe、の値が分かり
、j=  IQI−pHによって、誤りの位置jが分か
る。よってこれを訂正すればよい。 このようにして、1ビツトの単なる誤りが訂正可能とな
る。 以上によって、(1)式に示したごとき情報系列中のビ
ット1.に重みiを掛けた本発明のパリティPlを用い
て、ビットの抜けやビットの挿入による1ビツトの同期
誤りと1ビツトの単なる誤りとが、訂正可能となった。 次に本発明を実際の回路を用いて実現する方法を示す。 第1図は、本発明の送信側で用いる符号器の構成を示す
図である。 同図において、情報系列工の各ビットエ、に、乗算器1
によって重みiを掛け、順にレジスタ2に加えられ、パ
リティP、が生成される。 生成されたパリティP、は、情報系列工とともに、不図
示の送信機を用いて送信される。 第2図は、本発明の受信側で、1ビツトの抜けが生じた
場合に用いる復号器の構成を示す図である。 前記送信機により送信された情報系列工に、伝送中1ビ
ツトの抜けが生じて■゛となった場合、これとともにパ
リティP、を不図示の受信機により受信した受信側では
、符合器3によりパリティQ1を生成する。ここで、符
号器3の構成は、送信側で用いている第1図に示したも
のと同一である。 比較器4では、符号器3で得られたパリティQ、と受信
したパリティP、との大小を比較し、(3)式の議論に
従って、例えば、P、≦Q、なラバ、演算器5で、Ql
−p、を計算し、セレ:り7でその結果をセレクトする
。一方カウンタjで1の数をカウントし、その結果をセ
レクタl(でセレクトし、比較/訂正器11によってセ
レ=り7及び10の値を比較して、Ql−P1100の
左にOを挿入し、1ビツトの抜けが訂正さ才る。 P + > Q Iの場合も、演算器6及びカウンタ≦
を用いて、同様に1ビット抜けが訂正可能とCる。 〔発明の効果] 本発明に用いた符号においては、 k≧P、−Q、≧−に+1であるので、P。 Qlは2にでモジュロをとることができる。こC場合、
2に一1≧P、−Q、≧に+1であ2P + −Q +
は負の値を意味し、P+−Ql−2kによってその負の
値が得られ、その後は、ここに示した手順に従って誤り
の位置を求めることができる。 従って、P+に必要なビットは1og*2にとなるので
、再同期を行なうことなどに比べると十分小さな冗長度
で、同期誤りを効率的に防ぐことができる。
As the name suggests, a synchronization error is thought to occur when a clock or the like is out of synchronization with data. Depending on the communication system used, such errors may occur more frequently than simple errors, and the method described above, which requires frequent resynchronization, has the disadvantage that it reduces the overall transmission efficiency to a considerable extent. there were. An object of the present invention is to solve the above-mentioned problems and provide an error correction method that can correct synchronization errors using simple codes. [Means and operations for solving the problem] In order to solve the above problem, the error correction method of the present invention uses a first method that generates parity by sequentially multiplying each bit of data to be transmitted by a different weight by l. 1 parity generation means, a second parity generation means for generating parity in which each bit of the received data is sequentially multiplied by a different weight by 1;
calculation means for performing a comparison operation between the parity generated by the parity generation means and the parity generated by the first parity generation means; and detection means for detecting an error in the received data with respect to the transmission data based on the calculation result of the calculation means. , and correction means for correcting the detected error according to the detection result of the detection means, thereby making it possible to correct synchronization errors caused by bit omission or bit insertion. [Embodiment 1] Hereinafter, a code for correcting a 1-bit synchronization error will be shown. Synchronization errors can be thought of as bit omissions, bit insertions, and the like, but first, the case of 1-bit omission will be explained. k-bit information sequence [I ,, I 11-1+・
..., engineering. (2), ], the transmitting side adds the next parity P+, which is obtained by multiplying each bit E in this information sequence by a weight l, and transmits it. P+=Σ111 (1) If a bit is missing during transmission (bit missing b1), then
On the receiving side, the next 11 bits of information sequence processing and the parity Pt shown in equation (1) are received. I' = [1,, Im-+, -...IIJIII
IJ-II..., 1. .. 1. ]l' to P+, L+Ik-'+..., IJ+l+IJ-11.
..., II, II are multiplied by -1, ..., 1 and added in order to calculate Q. At this time, I J-1 and subsequent numbers are multiplied by a coefficient that is 1 larger than the subscript, and the calculation is performed as follows. Q,=Sie,・i+Σ−11・(i+1) where P,
-Q, is calculated as (2), where the IJ where the bit loss occurred is O and ■, =
1, then P + -Q + > O from j>Σ-11. Therefore, P+-Ql
The value of ■4 that caused the bit loss can be determined by the positive and negative signs of . Also, when Pl-Ql≦O (IJ = O), I J-
It shows the total number of bits with a value of 1 up to 1, and counting from ■, it can be seen that the bit shift due to the bit omission of I,=O starts from IP+'-Q+11001. Therefore, P r −Q +11001
If O is inserted to the left of , the missing bit IJ will be corrected. P+ −(If 1>O, pt −Q+ −1=j−1
-Σ-■1 indicates the total number of O's that caused bit shifts from 11 to I, -3. (For example, the total number is O.) Therefore, by inserting 1 to the left of the P+-Q+-1st 0, the missing bit due to ■,=1 is corrected. Next, consider the case of 1-bit insertion. On the transmitting side, the 11-bit I' mentioned above is used as an information sequence.
= [I-, L=-+, ...+L*l+ IJ-1
+..., 1. .. 1. ] and its parity as the following Pl
Suppose you send p, =ΣI 1(i-1) +Σ"11・i
(4) During the transmission of this information series, I is inserted,
Considering that the above I is received on the receiving side, I =
[Ii++L+-z..., L-1, IJ, L-1,...
..., 1. .. 1. ], so Q1 and Q, -P,
is expressed as follows. In formula (6), ■. If Q+-P+=-Σd■,=1, If =O, then ≦O, and. Q+-P+=j-t-Σ-■, 20. Therefore, if Q + P + < O, IJ = O
If Ql - PI > 0, I, = 1, and in these cases, the error due to bit insertion can be removed by knowing the error position and deleting that bit, using the same argument as in equation (3). . Also, in the case of Q+-P+=O, if Q, -pH=Q and I,=O, then -Σl1=0, so IJ-1=...=I+=0, and Q+ P+=0 and I , = 1, then Σ−J, =
Since I, -1=...=I+=1 from j-1, IJ=...=I in either case, so the least significant bit can be deleted. With the above steps, a 1-bit insertion error can be corrected. Next, consider the case where a simple 1-bit error occurs instead of a synchronization error. The information sequence is set to 1 on the transmitting side, and its parity is (1)
It is assumed that Pl of the formula is transmitted, and during transmission, error eJ is added to bit IJ, resulting in I4+eJ. (e, is I
When , is 1, it is expressed as -1, and when , is 0, it is expressed as 1. ) At this time, Ql and Q, -P are calculated as follows. Q, = Σ■, ・ i + e J ・ j
(7) Q+-P+=9.・j
(8) Here, eJ is 1 or -l, so (8
), the value of e can be determined by the sign of Q, -P, and the error position j can be determined by j=IQI-pH. Therefore, this should be corrected. In this way, simple errors of one bit can be corrected. As described above, bit 1 in the information sequence as shown in equation (1). By using the parity Pl of the present invention, which is multiplied by a weight i, it has become possible to correct 1-bit synchronization errors due to missing bits or bit insertions, as well as simple 1-bit errors. Next, a method of implementing the present invention using an actual circuit will be described. FIG. 1 is a diagram showing the configuration of an encoder used on the transmitting side of the present invention. In the figure, a multiplier 1 is added to each bit of the information sequence.
is multiplied by weight i by , and sequentially added to register 2 to generate parity P. The generated parity P is transmitted together with an information sequencer using a transmitter (not shown). FIG. 2 is a diagram showing the configuration of a decoder used when one bit is missing on the receiving side of the present invention. If one bit is missing during transmission in the information sequence sent by the transmitter, resulting in a parity P, the receiving side receives the parity P with a receiver (not shown), and the encoder 3 Generate parity Q1. Here, the configuration of the encoder 3 is the same as that shown in FIG. 1 used on the transmitting side. The comparator 4 compares the parity Q obtained by the encoder 3 with the received parity P, and according to the discussion of equation (3), for example, if P, ≦Q, the arithmetic unit 5 , Ql
-p, and select the result with select:ri7. On the other hand, counter j counts the number of 1s, the result is selected by selector l(, the comparator/corrector 11 compares the values of selectors 7 and 10, and inserts O to the left of Ql-P1100. , the omission of one bit is corrected. Also in the case of P + > Q I, the arithmetic unit 6 and the counter ≦
It is assumed that 1-bit omission can be corrected in the same way using . [Effects of the Invention] In the codes used in the present invention, k≧P, −Q, and ≧− +1, so P. Ql can be modulo 2. In this case,
2 to 1 ≧P, -Q, ≧+1 and 2P + -Q +
means a negative value, and the negative value is obtained by P+-Ql-2k, after which the location of the error can be determined according to the procedure shown here. Therefore, since the bits required for P+ are 1og*2, synchronization errors can be efficiently prevented with sufficiently small redundancy compared to performing resynchronization.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、本発明1実施例の符号器のブロック構成を示
す図、 第2図は、本発明l実施例の復号器のブロック構成を示
す図である。 l ・・・ 2 ・・・ 3 ・・・ 4 ・・・ 5 、6 ・・・ 7 、 IO・・・ 8 、9 ・・・ 11・・・ 乗算器 レジスタ 符合器 比較器 演算器 セレクタ カウンタ 比較/訂正器 第 図 第2図
FIG. 1 is a diagram showing a block configuration of an encoder according to a first embodiment of the present invention, and FIG. 2 is a diagram showing a block configuration of a decoder according to a first embodiment of the present invention. l ... 2 ... 3 ... 4 ... 5, 6 ... 7, IO ... 8, 9 ... 11 ... Multiplier Register Signer Comparator Arithmetic unit Selector Counter comparison / Corrector diagram Figure 2

Claims (1)

【特許請求の範囲】 送信データに対する受信データの誤りを訂正する誤り訂
正方式であって、 送信されるデータの各ビットに順次1ずつ異なる重みを
乗じて加えたパリティを生成する第1パリティ生成手段
と、 受信したデータの各ビットに順次1ずつ異なる重みを乗
じて加えたパリティを生成する第2パリティ生成手段と
、 該第2パリティ生成手段により生成されたパリティと、
前記第1パリティ生成手段により生成されたパリティと
を比較演算する演算手段と、前記演算手段の演算結果に
より送信データに対する受信データの誤りを検出する検
出手段と、該検出手段の検出結果に従って、検出された
誤りを訂正する訂正手段とを備えることを特徴とする誤
り訂正方式。
[Claims] An error correction method for correcting errors in received data relative to transmitted data, the first parity generation means generating parity by sequentially multiplying each bit of the transmitted data by a different weight by 1. and a second parity generation means for generating parity by sequentially multiplying each bit of the received data by a different weight by 1, and parity generated by the second parity generation means;
a calculation means for performing a comparison calculation between the parity generated by the first parity generation means; a detection means for detecting an error in the received data relative to the transmitted data based on the calculation result of the calculation means; and detection according to the detection result of the detection means. An error correction system characterized by comprising: a correction means for correcting an error caused by the error.
JP1325008A 1989-12-15 1989-12-15 Error correction system Pending JPH03186031A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1325008A JPH03186031A (en) 1989-12-15 1989-12-15 Error correction system
US08/284,289 US5459741A (en) 1989-12-15 1994-08-02 Error correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1325008A JPH03186031A (en) 1989-12-15 1989-12-15 Error correction system

Publications (1)

Publication Number Publication Date
JPH03186031A true JPH03186031A (en) 1991-08-14

Family

ID=18172110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1325008A Pending JPH03186031A (en) 1989-12-15 1989-12-15 Error correction system

Country Status (1)

Country Link
JP (1) JPH03186031A (en)

Similar Documents

Publication Publication Date Title
EP0609595B1 (en) Method and apparatus for verifying CRC codes by combination of partial CRC codes
US6609225B1 (en) Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes
JP3049296B2 (en) Sequence synchronization method and apparatus
EP0552861B1 (en) Modication of CRC a check fields for data packet retransmission
US8312283B2 (en) Accelerated signature verification on an elliptic curve
JPH0671244B2 (en) Frame check sequence update method
EP0366331A2 (en) System and method for error detection in the result of an arithmetic operation
US20030120992A1 (en) METHOD AND APPARATUS FOR COMPUTING @$apos;N-BIT AT A TIME@$apos; CRC@$apos;s OF DATA FRAMES OF LENGTHS NOT MULTIPLE OF N
US5651015A (en) Apparatus and method for synchronization and error detection of received digital data bursts in a TDM/TDMA system
US20050138525A1 (en) System and method for forward error correction
JPH03186031A (en) Error correction system
EP1271828A1 (en) Apparatus and method for generating a checkbits for error detection using a pseudo-random sequence
JP2710427B2 (en) Data block signal transmission method and apparatus
EP0443753A1 (en) Method and apparatus for producing order independent signatures for error detection
JPH04302242A (en) Method and apparatus for signal transmission
US5459741A (en) Error correction method
EP1345122B1 (en) A distributed 4-bits diagonal interleaved parity (DIP4) checker
EP0740438A1 (en) Method and apparatus for detecting cyclic code
KR100189267B1 (en) Device for establishing cell boundaries in a bit stream and crc calculation
Arazi Self synchronizing digital scramblers
JPH03186032A (en) error correction method
JP2873533B2 (en) ATMHEC synchronization circuit
JPH0964848A (en) Cyclic redundancy code error check method
JP2001197051A (en) Synchronous circuit
KR20020033227A (en) Circuit for parallel cyclic redundancy check in data communication