JPH04181833A - Synchronization error correction system - Google Patents
Synchronization error correction systemInfo
- Publication number
- JPH04181833A JPH04181833A JP30849890A JP30849890A JPH04181833A JP H04181833 A JPH04181833 A JP H04181833A JP 30849890 A JP30849890 A JP 30849890A JP 30849890 A JP30849890 A JP 30849890A JP H04181833 A JPH04181833 A JP H04181833A
- Authority
- JP
- Japan
- Prior art keywords
- parity
- error
- bits
- received data
- symbol
- 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
Links
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
本発明は誤り訂正システムに関し、例えば、光ディスク
や光磁気ディスク、光通信、衛星通信等の通信路に対す
るデータの誤り、特に同期ずれを有効に検出・訂正可能
な誤り訂正システムに関するものである。The present invention relates to an error correction system, and more particularly, to an error correction system capable of effectively detecting and correcting data errors, particularly synchronization shifts, in communication channels such as optical disks, magneto-optical disks, optical communications, and satellite communications.
例えば、光ディスクや光磁気ディスク、光通信、衛星通
信等の通信路に対するデータの誤りには、ビットが0か
ら1、または1からOに反転する誤りと、ビット抜け、
またはビット挿入による誤りが考えられる。
以下の説明においては、以後、あるビットに誤りが付加
され、その値がOから1、または1からOに反転する誤
りを単に「誤り」と称し、それを訂正する符号を「誤り
訂正符号」と称す。さらに、ビット抜けまたはビット挿
入によってビットがずれた誤りを「同期誤り」、それを
訂正する符号を「同期誤り訂正符号Aと呼ぶことにする
・誤り訂正符号については今まで多くの研究が行われ、
ランダム誤りやバースト誤りに対して優れた符号が提案
されている。For example, errors in data on communication channels such as optical disks, magneto-optical disks, optical communications, and satellite communications include errors in which bits are reversed from 0 to 1 or from 1 to O, missing bits,
Or the error may be due to bit insertion. In the following explanation, an error in which an error is added to a certain bit and its value is reversed from O to 1 or from 1 to O will be simply referred to as an "error", and the code that corrects it will be referred to as an "error correction code". It is called. Furthermore, errors in which bits are shifted due to bit omission or bit insertion are referred to as ``synchronization errors,'' and the code that corrects them is referred to as ``synchronization error correction code A.'' Much research has been conducted on error correction codes until now. ,
Codes that are superior to random errors and burst errors have been proposed.
しかし、誤り訂正符号は同期誤りに対して有効な訂正を
行うことができなかった。
なぜならば、同期誤りが例え1ビツトのビット抜け、ま
たはビット挿入であっても、それ以降のビットが全てず
れてしまい、従来のハミング距離的な考えではビットず
れ以降のビットが全て誤りとなる可能性があり、誤り訂
正能力の限界を越えてしまうためである。
また、同期誤り訂正符号は同期誤りのみを対象とし、他
にビット反転による誤りが起こった場合を想定していな
いため実用上あまり有効ではなかった。
同期誤りは、その名の通りデータに対するクロック等の
同期がずれたときに起こると考えられる。このような同
期誤りは、使用する通信系によっては、単なる誤りより
も多く起こる場合が考えられる。更にこのような同期誤
りが生じる場合、その前後に集中してビット反転による
誤りも生じることが予想される。しかし、今まで誤りと
同期誤りを同時に訂正する符号は提案されていなかった
。However, error correction codes cannot effectively correct synchronization errors. This is because even if the synchronization error is one bit missing or one bit inserted, all the bits after that will be shifted, and according to the conventional Hamming distance concept, all the bits after the bit shift will be errors. This is because the error correction capability exceeds the limit. In addition, synchronous error correction codes are not very effective in practice because they only deal with synchronous errors and do not consider cases where other errors occur due to bit reversal. As the name suggests, a synchronization error is thought to occur when a clock or the like is out of synchronization with data. Such synchronization errors may occur more often than simple errors, depending on the communication system used. Furthermore, when such a synchronization error occurs, it is expected that errors due to bit inversion will also occur concentrated before and after the synchronization error. However, until now no code has been proposed that simultaneously corrects errors and synchronization errors.
本発明は上述の課題を解決することを目的として成され
たもので、上述の課題を解決する一手段として第1図に
示す以下の構成を備える。
第1図は本発明に係る一実施例の機能ブロック図であり
、係る機能はハードウェア構成で達成しても、またCP
Uを備え、該CPUをプログラムを用いて動作させて達
成してもよい。
即ち、所定ビットからなる複数のシンボルによって構成
される送信データに対する受信データの誤りを訂正する
誤り訂正システムであって、少なくとも送信側100に
、送信データ101に対する受信データの重みが異なる
場合の誤り位置を検出するパリティを生成する重みパリ
ティ生成手段102と、送信データに対する受信データ
の重みが異ならないとき誤りシンボルのパターンがずれ
た場合以外の誤り位置を検出するパリティを生成する誤
りパリティ生成手段103と、送信データに対する受信
データの重みが異ならず、かつ誤りシンボルのパターン
がずれただけの場合その誤り位置を検出するパリティを
生成するずれパリティ生成手段104とを備え、少な(
とも受信側200に、送信データ201に対する受信デ
ータの重みが異なる場合の誤り位置をパリティから検出
する重みパリティ検出手段202と、送信データに対す
る受信データの重みが異ならないとき誤りシンボルパタ
ーンがずれた場合以外の誤り位置をパリティから検出す
る誤りパリティ検出手段203と、送信データに対する
受信データの重みが異ならず、かつ誤りシンボルのパタ
ーンがずれただけの場合その誤り位置をパリティから検
出するずれパリティ検出手段204とを備える。
または第2図に示す以下の構成を備える。
即ち、所定ビットからなる複数のシンボルによって構成
される送信データに対する受信データの誤りを訂正する
誤り訂正システムであって、少な(とも送信側に、送信
データ101の1が立つビットの総和によりパリティを
生成する第1のパリティPa生成手段151と、送信デ
ータの1シンボル内の1が立つビットの総和に一定の異
なる重みを乗じて加える第2のパリティPa生成手段1
52と、送信データの1シンボル内の最初に1が立つビ
ットを最下位ビットとして2進数表現した値の総和をと
る第3のパリティPa生成手段153と、送信データの
1シンボル内の最初に1が立つビットを最下位ビットと
して2進数表現した値に一定の異なる重みを乗じて加え
る第4のパリティPa生成手段154と、送信データを
反転し、lシンボル内の最初に1が立つビットを最下位
ビットとして2進数表現した値の総和をとる第5のパリ
ティPa生成手段155と、送信データを反転し1シン
ボル内の最初に1が立つビットを最下位ビットとして2
進数表現した値に一定の異なる重みを乗じて加える第6
のパリティP、生成手段156と、送信データのシンボ
ル間にかけて連続する1のビット数の総和からなる第7
のパリティPa生成手段157と、送信データのシンボ
ル間にかけて連続する1のビット数に一定の異なる重み
を乗じて加える第8のパリティP、生成手段158と、
送信データのシンボル間にかけて連続するOのビット数
の総和からなる第9のパリティPa生成手段159と、
送信データのシンボル間にかけて連続するOのビット数
に一定の異なる重みを乗じて加える第10のパリティP
a生成手段160と、送信データの1シンボル内の最初
に1が立つまでのOが連続するビット数の総和からなる
第11のパリティP、。生成手段161と、送信データ
の1シンボル内の最初に0が立つまでの1が連続するビ
ット数の総和からなる第12のパリティPa生成手段1
62とを備え、少なくとも受信側に、受信データ201
の1が立つビットの総和によりパリティを生成する第1
のパリティPa生成手段251と、受信データの1シン
ボル内の1が立つビットの総和に一定の異なる重みを乗
じて加える第2のパリティPa生成手段252と、受信
データの1シンボル内の最初に1が立つビットを最下位
ビットとして2進数表現した値の総和をとる第3のパリ
ティPa生成手段253と、受信データの1シンボル内
の最初に1が立つビットを最下位ビットとして2進数表
現した値に一定の異なる重みを乗じて加える第4のパリ
ティPa生成手段254と、受信データを反転し、1シ
ンボル内の最初に1が立つビットを最下位ビットとして
2進数表現した値の総和をとる第5のパリティPa生成
手段255と、受信データを反転し1シンボル内の最初
に1が立つビットを最下位ビットとして2進数表現した
値に一定の異なる重みを乗じて加える第6のパリティP
a生成手段256と、受信データのシンボル間にかけて
連続する1のビット数の総和からなる第7のパリティP
a生成手段257と、受信データのシンボル間にかけて
連続する10ビツト数に一定の異なる重みを乗じて加え
る第8のパリティPa生成手段258と、受信データの
シンボル間にかけて連続する0のビット数の総和からな
る第9のパリティPa生成手段259と、受信データの
シンボル間にかけて連続するOのビット数に一定の異な
る重みを乗じて加える第1OのパリテイP9生成手段2
60と、受信データの1シンボル内の最初に1が立つま
でのOが連続するビット数の総和からなる第11のパリ
テイP Io生成手段261と、受信データの1シンボ
ル内の最初にOが立つまでの1が連続するビット数の総
和からなる第12のパリテイP z生成手段262と、
前記第1のパリティPoと第2のパリティP1及び第1
のパリテイP、と第2のパリテイP1から生成される直
線と、実際の通信データのシンボルのずれを表す直線と
の交点から送信データに対する受信データの重みが1よ
り大きくずれた場合の誤り位置を検出する第1の誤り位
置検出手段270と、送信データに対する受信データの
重みが1以内のずれである場合、他のシンボルの重みの
ずれか、前記22〜P−、Qz〜Q9のパリティから生
成される(P+++ −Q+++)/ (P i−Q
i ) (i =2゜4.6.’8)のいずれかによ
って誤り位置を検出を検出する第2の誤り位置検出手段
271と、Pi−Qi (i=10.11)によって誤
り位置をチェックする誤り位置チェック手段271とを
備える。The present invention has been made for the purpose of solving the above-mentioned problems, and includes the following configuration shown in FIG. 1 as a means for solving the above-mentioned problems. FIG. 1 is a functional block diagram of an embodiment according to the present invention, and the function can be achieved by a hardware configuration or by a CPU.
This may also be achieved by providing a CPU and operating the CPU using a program. That is, it is an error correction system that corrects errors in received data with respect to transmitted data constituted by a plurality of symbols consisting of predetermined bits, and at least on the transmitting side 100, error positions are detected when the weights of received data with respect to transmitted data 101 are different. weighted parity generation means 102 that generates parity for detecting error positions; and error parity generation means 103 that generates parity for detecting error positions in cases other than when the weight of received data with respect to transmission data is not different and the pattern of error symbols deviates. , deviation parity generating means 104 for generating parity for detecting the error position when the weight of the received data is not different from the weight of the transmitted data and the pattern of the error symbol is only shifted,
In both cases, the receiving side 200 includes a weight parity detection means 202 for detecting an error position from parity when the weight of the received data is different from the weight of the transmitted data 201, and when the error symbol pattern deviates when the weight of the received data is not different from the transmitted data. Error parity detection means 203 that detects error positions other than the above from parity; and shifted parity detection means that detects error positions from parity when the weight of received data with respect to transmission data is not different and the pattern of error symbols is only shifted. 204. Alternatively, the following configuration shown in FIG. 2 is provided. In other words, it is an error correction system that corrects errors in received data with respect to transmitted data consisting of a plurality of symbols consisting of predetermined bits. A first parity Pa generation means 151 that generates parity Pa, and a second parity Pa generation means 1 that multiplies the sum of bits that are set to 1 in one symbol of transmission data by a certain different weight.
52, a third parity Pa generation means 153 that calculates the sum of the binary representation of the bit that is the first 1 in one symbol of the transmission data as the least significant bit; The fourth parity Pa generating means 154 adds a value expressed in binary by multiplying the bit expressed as a binary number by a certain different weight, with the bit where 1 is set as the least significant bit; A fifth parity Pa generating means 155 calculates the sum of the values expressed in binary as the lower bits, and a fifth parity Pa generating means 155 calculates the sum of the values expressed in binary numbers as the lower bits, and inverts the transmission data and sets the first bit of 1 in one symbol to 2 as the least significant bit.
The sixth step is to multiply and add a value expressed in base numbers by a certain different weight.
The parity P of the generation means 156 and the seventh parity P consisting of the sum of the number of consecutive 1 bits between symbols of transmission data
parity Pa generating means 157, and eighth parity P generating means 158 which multiplies the number of consecutive 1 bits between symbols of transmission data by a certain different weight and adds the result.
a ninth parity Pa generating means 159 consisting of the sum of the number of consecutive O bits between symbols of the transmission data;
A tenth parity P that is added by multiplying the number of consecutive O bits between symbols of transmission data by a certain different weight.
a generation means 160, and an eleventh parity P consisting of the sum of the number of consecutive O bits up to the first 1 in one symbol of the transmission data. a generating means 161, and a twelfth parity Pa generating means 1 consisting of the sum of the number of consecutive 1 bits up to the first 0 in one symbol of transmission data;
62, at least on the receiving side, the received data 201
The first one that generates parity by the sum of the bits that are set to 1.
a second parity Pa generating means 252 that multiplies and adds a certain different weight to the sum of bits that are set to 1 in one symbol of received data; A third parity Pa generating means 253 calculates the sum of the values expressed in binary numbers with the bit where 1 is set as the least significant bit, and a value expressed in binary numbers where the first bit where 1 is set in one symbol of the received data is the least significant bit. a fourth parity Pa generating means 254 which multiplies and adds a certain different weight to the received data, and a fourth parity Pa generating means 254 which inverts the received data and calculates the sum of the values expressed in binary numbers with the first bit set to 1 in one symbol as the least significant bit. 5 parity Pa generation means 255, and a sixth parity P that inverts the received data and adds a value expressed in binary with the first bit set to 1 in one symbol as the least significant bit, multiplied by a certain different weight.
a generating means 256, and a seventh parity P consisting of the sum of the number of consecutive 1 bits between symbols of received data.
a generation means 257, an eighth parity Pa generation means 258 which multiplies the number of consecutive 10 bits between the symbols of the received data by a fixed different weight, and adds the sum of the number of consecutive 0 bits between the symbols of the received data. a ninth parity Pa generation means 259 consisting of; and a first O parity P9 generation means 2 which multiplies the number of consecutive O bits between symbols of received data by a fixed different weight and adds the result.
60, an eleventh parity P Io generating means 261 consisting of the sum of the number of bits in which O stands at the beginning in one symbol of received data, and O stands at the beginning in one symbol of received data. a twelfth parity Pz generating means 262 consisting of the sum of the number of consecutive bits of 1 up to;
the first parity Po, the second parity P1 and the first parity Po;
The error position when the weight of the received data relative to the transmitted data deviates by more than 1 from the intersection of the straight line generated from the parity P, and the second parity P1, and the straight line representing the symbol deviation of the actual communication data. If the first error position detecting means 270 to detect and the weight of the received data with respect to the transmitted data differ within 1, the error position is generated from the difference in weight of other symbols or the parity of the above-mentioned 22 to P- and Qz to Q9. (P+++ -Q+++)/ (P i-Q
i) (i = 2゜4.6.'8), and the second error position detection means 271 detects the error position using Pi-Qi (i = 10.11). Error position checking means 271 is provided.
【作用】
以上の構成において、通信データに発生する誤りを含む
同期誤りを訂正する符号を提案し、該符号により誤りを
含む同期誤りを訂正する同期誤り訂正システムを提供で
きる。
この同期誤り訂正符号はqビットを1シンボルとしたに
シンボルの情報系列において、1シンボル内であれば任
意の誤りを含む同期誤りを訂正できるものである。[Operation] With the above configuration, it is possible to propose a code for correcting synchronization errors including errors that occur in communication data, and to provide a synchronization error correction system that corrects synchronization errors including errors using the code. This synchronization error correction code is capable of correcting synchronization errors including any errors within one symbol in an information sequence of symbols with q bits as one symbol.
以下、図面を参照して本発明に係る一実施例を詳細に説
明する。
〈本実施例システムの構成〉
第3図は本発明に係る一実施例の同期誤り訂正システム
のブロック構成図であり、図中、1はROM2に格納さ
れた制御手順に従い本実施例全体の制御を司る制御部、
2は後述するプログラム等の格納されたROM、3は通
信路11よりのパリティを含む受信データを受信する受
信部、4は受信部3で受信した受信データのパリティを
解析するパリティ解析部、5は受信バッファ、6は制御
部1よりの送信データより同期誤り訂正パリティ等を生
成するパリティ生成部、6はパリティの附加された送信
データを一時記憶する送信バッファである。
また、15は通信データを送受するホストである。
く本実施例の誤り訂正原理〉
以上の構成を備える本実施例の制御部1、パリティ解析
部4及びパリティ生成部6で行なわれる同期誤り訂正原
理の概略を以下に説明する。
今、送信部7よりデータを送信する情報系列■を、[1
,,1,9、・・・、I2.I、] とする。
ただし、工、は次のようにqビットからなるシンボルで
ある。(I+、=はビットを表す)L= [L9、、L
Q−9、・・・L、2. L9、]送信側で工から次の
パリティP。−P++を生成し、■とともに送信する。
ただし、以下は整数演算である。
p、=Σ(Σ 1.9、) (1)P、
=Σ(Σ 11.。)・i (2)P2=Σr
all (3)P3=ΣI
*z ・i (4)p、=Σ工、。
1 (5)Ps”Σ■1゜、・i
(6)Pg”Σ (s 1 、+r
1 +−+) (7)P、=Σ (s 1
、+r 1 +−+) ・i (8)P、=Σ
(s O+、+ r O+−+) (9)P、
=Σ (s O+・+ r O=−+) ・i
(10)P、。=Σ sl、 (
11)P3.=Σ so+ (1
2)ここで、Sl9、So、はi番目のシンボルにおい
てLSBから数えて各々1または0が最初に立つまでの
ビット数を表す。またI allはi番目のシンボルに
おいて81□+1番目のビットを最下位ビットとして2
進数表現した値、即ち。
I 5+1 ” I 1.h ・2h−1・2情゛目
sod Qlを表し、I sa+はi番目のシンボルに
おいて1゜0を反転した値をR+、r+ = (I +
、h + 1 ) mod 2としたときsol+1番
目のビットを最下位ビットとして2進数表現した値、即
ち。
I8゜I =R1,h ・2h−1・2−(iol+″
06q)を表す。
(1,9、,1,。1は各々1.0が最初に立ったビッ
トから見た1、0による2進法表現になっており、ここ
では各々lによる枝鎖、Oによる枝鎖と呼ぶ。)
また、r 1 l−+ 、 r 0I−rはi−1番目
のシンボルにおいてMSBから逆に数えて各々1.0が
最後に立っているビットまでのビット数を表す。
従って、S1+ +r 1+−+ 、sO+ +rO+
−+はi−1番目のシンボルからi番目のシンボルにか
けて連続する1または0のビット数を表す。
また、i′は正の奇数を表す。
従って、式(7)〜(lO)において、sl+ +rl
B−+ 、so+ +rO+−+はlシンボルおきに演
算される。
ここで、伝送中にシンボル■3中のビット■1..が抜
け、■、の他のビットに誤りeJ、hが付加したとする
と、シンボルIjのIj、9を除く各ビットは、I、1
.h+6,1.hと表される(eJ、hは工jhがOか
ら1に誤るとき1、工9、hが1から0に誤るとき−l
、誤りなしのときOと表される)。また、受信側はパリ
ティP o ”” P r 、と情報系列Iから構成さ
れる符号語の全ビット数を予め知っており、同期誤りが
生じていることは受信データのビット数が符号語のビッ
ト数と異なっていることから検出できるとする。
このとき次の3つの手順によって誤りを含む同期誤りが
訂正できる。
(手順1)重みが異なる誤りの訂正
誤りを含む同期誤りによって誤ったシンボルの重みが、
送信時と受信時で変化している場合の誤り訂正。または
、誤りを含む同期誤りによって誤ったシンボルの重みが
送信時と受信時で変化していない場合でもその同期誤り
シンボルの前後で、ずれが生じたシンボルの重みが異な
る場合の誤り訂正。この場合、送信データの重みから生
成されるパリティP。、Plによって誤り位置が求めら
れる。
(手順2)重みが変わらず核僅の異なる誤りの訂正
手順1で訂正できなかった誤りを含む同期誤りによって
誤ったシンボルの重みが、送信時と受信時で変化せず、
かつずれたシンボルの重みも変化していない場合の誤り
訂正。P2〜P5で誤り位置を求める。ただし、誤った
シンボルの枝鎖は送信時と受信時で異なるとする。
(手順3)重みと枝鎖が異ならない誤りの訂正手順1.
2で訂正できなかった誤りを含む同期誤りによって誤っ
たシンボルの重みと枝鎖が送信時と受信時で変換せず、
かつずれたシンボルの重みも変化していない場合の誤り
訂正。
以後、手順1〜3を詳細に説明する。
[手順1] 重みが異なる誤りの訂正方式受信データか
らP9、P、と同様の演算によって次のQ。、Qlを生
成する。
Qo” Po−I9、 p・j+Σe1.。
(13)Ql= PI−IJ、p’j+Σ ej、
h’コー+ Σ L9、 (14)従って、Po−Q
9、P、−Q、は次のように表される。
P、−Q、 =I9、、−Σ eJ、 h
(15)P、−Q、 =(L、−ΣqeJ、 h)
j−’X−I 1 、 q= (P、−Qo) ・j
−’X−I、 、 (16)[(P、−Q。
)<Oの場合]
式(16)において未確定であるのは、jとΣ 1,9
である。そこでj;Xとし、x−1までのシンボル毎の
1ずれの総和であるΣ I 1.qをyとすると、Xと
yの関係は式(16)から次のようになる。
y=(Po Q。) X−(PI −Q、 ) (
17)式(16)からPI−Q、<Oであるので、式(
17)は第4図の直線aのようにx=00とき正の値Q
、−P、からXにの増加に従って単調減少する直線で表
される。
ところが、実際のシンボルの位置を表すXと、そこまで
の1のずれの総和yの関係は、第4図の直線すのように
x=Oのときy=Oの値からXに従って単調非減少とな
る(1.、=1のときは増加するが、1.Q=Oのとき
はXに対して変化しない)。従って、直線aとbは必ず
1つの交点を持つ。jは式(17)である直線aと、実
際のずれを表す直線すを、同時に満足するはずであるの
で、直&i aとbの交点となるXの値がJとなる。
[(P、−Q、 )>1の場合コ
j=xとし、x−1までのシンボル毎の0のずれの総和
である(x−1)〜Σ ■、9をyとする式(16)は
、次のようになる。
3’ = (P o Q o 1 ) x+
(P、−Q、−1) (18)式(16)
から(P、−Q、−1)>Oであるので、式(18)は
式(17)と同様に第1図の直線aのようにX=Oのと
きの正の値P、−Q、−1からXに従って単調減少する
直線で表される。
また、実際のシンボルの位置を表すXとここまでのOの
ずれの総和yの関係も、第1図の直線すのようにx=O
のときy=Qの値からXに従った単調非減少となる。従
って、(Pa Qo)<Qの時と同様の議論が成り立
ち、直線aとbの交点のXの値がjとなる。
[PO−Qo =QまたはPa −Qo =lの場合]
Po−Q0:かP。−Q0=1のときは、式(17)
、 (18)を表す直線aは第5図のようにX軸に対
して平行になる。このとき、実際のずれを表す直線すが
直線aとの交点の前後で単調に増加し続ければ、直線a
とbは1点で交わり誤り位置jを特定できる。しかし、
第5図に示すように直線すが直線aに交わったところか
ら増加しなくなる場合、直線aとbは1点で交わらず誤
り位置jが特定できない。
P、−Q0=Oの場合は、誤りが生じたシンボルの重み
が変わらないことを意味し、直線すが増加しない部分は
1.9、=0が連続していることを意味する。即ち、シ
ンボルの重みがずれによって変わらないことを意味する
。
Po−Q0=1の場合は、0の重みで考えると同様の議
論が成り立つ。従って、手順1の操作で訂正できないの
は誤りを含む同期誤りによって各シンボルの0か1の重
みが変わらないように誤った場合だけであることがわか
る。
そこで、手順1の操作で誤り位置が特定できなかった場
合は、P2〜P、を用いて次のようにして誤りを含む同
期誤り位置を求める。
受信データからP9、P、と同様の演算によって次のQ
。+Q+を生成する。
Qo” P(+−,IJ、 p’j+ΣeJ、h(13
)貼= P+−I=、 p’j+Σqe7. l’l’
j+ ’X−L、 、 (14)従って、P、−Q9
、P、−Qoは次のように表される。
Po−Go=IJp−ΣeJ、 n (
15)P、−貼 =(IJ9、−Σ eJo)・j−Σ
−■、9= (P Q−QO) −j−’ニー Il、
Q (t6)式(16)において未確定で
あるのは、jとΣ 1.、Qである。そこで(Pa −
Q、 ) <。
のとき、j=x、x−1までのシンボル毎の1ずれの総
和である
Σ I 1.Qをyとすると、Xとyの関係は式(16
)から次のようになる。
3’= (Po Qo ) x (P + Q+
) (17)P、−Q、のとき式(16)からP
+−Q+<0であるので、式(17)は第4図の直線a
のようにx=Oのときの正の値Q、−P、から単調減少
する直線で表される。ところが、実際シンボルの位置を
表すXと、そこまでの1のずれの総和yの関係は、第4
図に示す直線すのように、x=oのときy=Qの値から
Xに従って単調非減少となる(I、Q=1のときは増加
するが、I9、Q=OのときはXに対して変化しない)
。従って、直線aとbは必ず1つの交点を持つ。
jは式(17)である直線aと実際のずれを表す直線す
を同時に満足するはずであるので、直leaと直線すの
交点となるXの値がjとなる。
また、(Pa −Qo )> iのときくj=x。
x−1までのシンボル毎のOのずれの総和である(x−
1)−Σ−L9、をyとすると、式(16)%式%
(Po −Qo )>1のとき、式(16)から(PI
−Q、−B >oであるので、式(18)は式(17)
と同様に第4図の直線aのようにx=0のときの正の値
(P、−Q、−1)からXに従って単調減少する直線で
表される。また、実際のシンボルの位置を表すXとそこ
までの0のずれの総和yの関係も第4図の直11 bの
ようにx=Oのときy=Qの値からXに従って単調非減
少となる。
従って、(P、−Q。)〈0の時と同様の議論が成り立
ち、直線aと直線すの交点のXの値がjとなる。
このとき誤りの生じたIJの本来の値を求めるために、
ずれの生じたj以降のシンボルのずれを元に戻しI、以
外のシンボルを確定する。
P R+ P 10から、確定したシンボルのIall
+ Sll (1”1”’n+ 1≠j)を各々引
くことによって、1.、J、SL、が得られ、■、。・
21m1J mo6 Ill =: ■9、。・2h−
1の演算から工、の本来の値が求められる。
以上はo> (po −Qo )< 1の場合の誤りを
含む同期誤りの訂正手法である。
しかし、P、−Q、=QかPa−Qo=tのときは、式
(17) 、 (18)を表す直線aは第5図のよう
にX軸に対して平行になる。このとき実際のずれを表す
直線すが直線aとの交点の前後で単調に増加し続ければ
、直線aと直線すは1点で交わり誤り位置jを特定でき
る。しかし、第5図に示すように直IS bが直線aに
交わったところから増加しなくなる場合、直線aと直線
すとは1点で交わらず誤り位置jが特定できない。
P、−Qo=Oは誤りが生じたシンボルの1の重みが変
わらないことを意味し、直線すが増加し、ない部分はI
9、q=Oが連続している、即ち、シンボルの1の重み
がずれによって変わらないことを意味する。従って、手
順1の操作で訂正できないのは、誤りを含む同期誤りに
よって各シンボルのOか1の重みが変わらないように誤
った場合だけであることがわかる。
゛ そこで、手順lの操作で訂正できなかった場合は、
P2〜P、を用いて次のようにして誤りを含む同期誤り
を行う。
(手順2)重みが変わらず核僅の異なる誤りの訂まず、
ここではP、−Q。=0の場合について考える。
手順1の操作によって誤り位置Jが特定できなかった場
合、誤り位置が特定できなかったシンボル以外は誤って
いないので、まず、ずれを元に戻し、p2.p、からず
れを元に戻したシンボルのIall+811の値を引い
た値P2° p 、°を計算する。シンボル位置X1か
らx2の間でjが特定できないとすると、p2’ 、p
、°は次のように表せる。
P2″=Σ Is++ (19)Ps
””Σ Im++ e i (20)次
に、受信系列から誤り位1が特定できない部分のQg
’ 、Q−” を計算する。
前述したように、誤り位置が特定できない部分はIl9
、二〇が連続していることを示し、シンボルの1による
重みがずれによって変わらないことを意味する。これは
、ずれがシンボル間に影響せずにlシンボル内で完結し
、最初に1が立ったところを最下位ビットと考えるとず
れに関係なく1による枝鎖が変わらないと考えることが
できる。
ただし、誤りが生じているシンボルの枝鎖は異なると考
えられる。従って、誤りが生じていないシンボルの枝鎖
■3,1は変わらず、誤り位置jの枝鎖がI !IJか
らI slJoになってとすると、Q2°、Q、°は次
のように表せる。
従って、Pa“−Q2°P3′−Q3°は。
P2°−Q2°=I□、−I g9、 ’ (23
)P3’−Q3°= (1,lJ −Iall ’ )
・jとなり、P2’−Q2° =I Sll −I
$lj° ≠Oの場合、誤り位置jを
(P3°−Q、°)/ (Pa ”−Q2°)から求め
ることができる。
次に、P o Qo = 1の場合、誤り位置が特定
できない部分はI9、、=1が連続しており、Oの重み
について考えればシンボルの重みがずれによって変わら
ない。
従って、P o Q o ” 1の場合、0.1を反
転して考えたP4.P5について同様の議論を行えば、
P4° Q 4 ’ = I 5oJ−I soJ’
≠0のとき誤り位置jを
(Ps’Qs°)/(P4°−Q4°)から求めること
ができることは明かである。
以上によって誤り位置jを特定した後は、手順1と同じ
手法によってシンボルエ、の本来の値を求める。
しかし、ここで、Q2°−p、’ =o、またはQ4°
−p、°=Oの場合、誤り位置jを特定できない。従っ
て、手順1,2の操作で誤り位置jを特定できないのは
、誤りを含む同期誤りによって核シンボル毎の重みが事
ならず、かつ、接値も異ならないように誤った場合であ
る。
手順1,2によって訂正できない誤りは、26〜2口を
用いて次のようにして訂正を行う。
(手順3)重みと接値が異ならない誤りの訂正手順1.
2によって訂正できない誤りを含む同期誤りによって重
みと接値が異ならない場合は、誤りが生じているシンボ
ル内で接値を構成するビットがまとまってずれたときで
ある。
このとき、手順3では、接値を構成しないビット系列の
長さの変化によって訂正を行う。
くP。−Qo=0の場合シ
lによる接値を構成しないビット系列の長さは、P6を
生成するsl+ +rltによって示される。ここで誤
り位置j以降のシンボルは、ずれによって接値の始まり
がsl+からsi+ +1になり、r1□はr 1 +
−1となるので、ずれによって1による接値を構成し
ないビット系列の長さは変化しない。しかし、誤り位置
jにおいて1による接値の始まりが誤りによってsl、
からsl、+xにずれた場合、誤り位置jにおけるrl
、はrl、−(x+1)になるので、誤り位置jにおい
てのみ1による接値を構成しないビット系列の長さが変
化する。
この時、p6.p9、Ploと同じ演算でQslQ9、
Q、。を計算すると次のように表せる。
Q6=Σ (S11’+rll−+)+a
(25)Q、=Σ (sL’+rL9、l・i’+a
−y (26)ここで、Pa、P=のi゛は奇
数としているので、誤り位置jが奇数の時slJがSI
J+Xに変化して、y= J + a = Xとなる。
誤り位置jが偶数の時rlJ−1がrlJ−+ −(x
+1)に変化するのでy = j + 1 、 a =
−(x + 1 )となる。
a、yは
(P−Qa ) =a (28)P y
−Q7 = −a−y (29)(P、−Q
、)/ (P、−Q−)=y (30)から得られる。
また、
Pro−Q10=−(j −1+x) (31
)であるので、誤り位置jの値が奇数であるか、偶数で
あるかは、式(28) 、 (30)から得られたa
+ yと式(31)から
(y−1+a)=P+o Q+oであれば奇数(y3
+ a ) = P + o Q + aであれば
偶数であることがわかる。
また、式(28)から得られるaがOである場合を考え
る。
仮に、y=j、a=x=oであるとすると、j+1にお
けるずれの大きさは
−(x+1)=−1、ずれの位置は式(31)からj
+ 1 ”2 (Plo−Q+。)となる。
また、y=j+1.a==−(x+1)=Oと仮定して
も、同様に、ずれの大きさX=−1、ずれの位置は2−
CP、0−Q、。)となる。従って、式(28)が0
である場合は2− (P、。−Q、。)番目のシンボル
の接値の始まりがOビット抜けによって1ずれているこ
とになる。
< P o −Qo = 1の場合〉
0による接値を構成しないビット系列の長さによって同
様に求めることができる。
従って、P、−Qo =Qの場合のp9、p、。
P、。に対応してp9、p9、p9、によって同様の演
算を行えば誤り位置jが求められる。
以上、この符号によってビット抜けの場合の誤りを含む
同期誤りの位置が求められることを説明したが、誤りの
生じたI、の本来の値は次のようにして求められる。
まず、ずれの生じたj以降のシンボルのずれを元に戻し
、工、以外のシンボルを確定する。
P9、P、。から確定したシンボルの、■、l□。
sl+ (i=1・−n、1sj)を各々引くことに
よって、■、。、sl、が得られる。従って、I 9、
、 m 2 f@IJ man Ql =IJ、l、
2+’l−1(7)演算から■、の本来の値が求めら
れる。
また、ビット挿入の場合はビット抜けの場合の逆、即ち
ビット抜けの場合の受信系列とそれから生成されるパリ
テイP0〜C+ +が送信され、通信路でI12.のビ
ットが挿入され、 e4.r+の誤りが付加されると
考えれば、同様の処理によって誤りを含む同期誤りが訂
正できることは明かである。
更に、同期誤りを含まない羊なるlシンボル誤りも、シ
ンボル間に誤りが影響しない場合のパリティP2〜P1
1を用いて訂正できることは明かである。
以上によって、パリティが誤らないと仮定したときに1
シンボル内の誤りを含む同期誤り訂正できる符号を示し
た。ここではこの符号の冗長度とそのパリティが誤った
場合について考案する。
まず冗長度について考察する。
パリティP0は、q≧Po Qa≧−q+1であり、
Po、Qoは2qでモジュロをとることができる。
この場合2q−1≧Po−Qo≧q+1であるPo−Q
oは負の値を意味し、Po −Qo −2qによってそ
の負の値が得られる。その後は、以上の手順で同期誤り
の位置を求めることができるので、Paに必要なビット
はlog22qとなる。
以下同様に、P、−P9、に必要なビットは、各々P、
−Ql (i=1・・・11)の最大値から次のように
なる。ただし、PO〜pHに必要なビット数を各々pa
ゞp+、で表す。
1)o =10gz 2Q、I)+ =lOga k。
p2 =Q 、 p3 = 10g2k。
pa =Q 、 ps = 10 g2k。
pg =1oga 2q、 pt =
logz k/2゜ps ”1 Ogz 2q、p
i =l Ogz k/2゜p+o:10 gx 2
k、 p目= 10 g2に次に、パリティが誤った場
合について考察する。
パリティP0〜P、を第6図のように配置し、受信デー
タを次のように区切る。先頭に配置したパリティとデー
タは受信データの先頭から所定のビット数毎に区切り、
符号語の語尾に配置したパリティPa 、p9、p9、
p9、p9、p、は受信データの終わりから所定のビッ
ト数毎に区切る。また、p9、p、は先頭のパリティも
データとして扱い、生成したものとする。
誤りが生じた場所を次の場合に分けて考える。
■先頭のパリティに誤りが生じた場合
手順lで用いるp9、p、は誤っていないので、手順1
は誤った先頭パリティを誤り位置として特定するか、重
みが異ならず誤り位置を特定できない2つの状態が考え
られる。
誤り位置が特定できない場合、手順2を行うが、語尾の
パリティP 3 、 P s 、 P 7 、P 9は
正しく、かつ先頭パリティをデータとして扱わないので
、P、−Q、=O(i=3.5,7.9)となる。Po
−Qo=Oのとき、P、−Q、=0(i=3.5,7.
9)となるのは、情報系列がオールOであって0が1ビ
ット抜けた場合であり、PG−QO=1のとき、Pl−
Q= =O(i=3.5,7.9)となるのは、情報系
列がオール1であって1が1ビット抜けた場合である。
このため、受信データの情報系列部がオール0かオール
1でなければパリティの誤り、オール0かオール1であ
れば任意の位置にOかlを挿入すればよい。
■P9、P9、P9、P、が誤った場合先頭のパリティ
と、手順1で用いるパリティpo、p、は正しく区切ら
れる。従って、Po−Q、=0かつP+ Ql =O
(i=2.4,6゜8)となる。
この場合も、上述した■と同様に情報系列がオールOの
場合以外ないので、受信データの情報系列がオールOで
なければパリティの誤りであることがわかる。
■Po、P+が誤った場合
手順1において先頭パリティを誤り位置として特定する
か、誤り位置を特定できないとなれば、■と同様の処理
を行う。情報系列のあるバイトを誤りと誤って判定した
場合、ますのそ誤り位置の誤りパターンを導出して誤り
訂正を行った後、P 10+ =0 (i =O,・・
・、11)となることを確かめる。正しく訂正している
場合はP I Ql = (i=0.・・・、11)と
なるが、誤訂正している場合は
P r Ql =O(i =O,・・・、11)と
ならない。P + Ql =O(1=0. 1 )で
なければ誤訂正であることは明かであるが、P+ Q
+=0(i=0.1)となる場合にも、次のような理由
で誤訂正が検出できる。即ち、誤訂正を行ったことによ
り誤りのない情報系列にビット挿入が行われ、更に、P
’+ −Ql = N =o、 1)となれば手順1
において誤り位置の特定ができないことになる。従って
、手順2.3を実行すれば、誤っていない先頭のパリテ
ィによって誤訂正したビット挿入が検出され、P+ −
Ql =O(i=2.4゜6.8,10.11)にはな
らない。
このため、手順1で誤り訂正を行った後に、P +
Ql =O(i =O・・・11)となることを確認
することにより、Pa、P+の誤りを検出できる。
■情報系列部が誤った場合
■〜■の場合以外であれば情報系列の誤りであるので、
前述の手順によって正しく訂正される。
また、前述したようにパリティは1バイトの単位である
qビット毎には区切れない。しかし、符号系列は先頭パ
リティ部と情報系列部、話尾パリティ部に分けられ、そ
の3つのブロックに誤りがまたがらず、かつ1バイト以
内の誤りを含む同期誤りであれば訂正できることが言え
る。(パリティの誤りは1つのブロック内であれば複数
のパリティにまたがっていてもよい)。従って、先頭パ
リティ部と語尾パリティ部が各々qの倍数ビットで構成
されていれば、全ての1バイトの誤りを含む同期誤りを
訂正できる符号となる。
各パリティ部を9倍数ビツトで構成するためには次のp
m++ 9m2ビツトのダミービットを各々図3の符号
系列の前後に挿入すればよい。
p wa r = m 1・q−
(pz + p< +I)a + p+o+ pz)・
Pa2: m 2・q−
(1)3+1)8+1) フ + pe +p
、 )ただし、
m 1 ” r (pz +p4+p6+p1o+ 1
)+□)/q」
m2= r (1)s +ps +p7 +pe +p
l ) /q」
以上から、1シンボル誤りであればパリティが誤っても
判定可能であることがわかる。
〈誤りを含む同期誤り訂正処理の説明〉以上の結果に基
づいた、受信側における誤りを含む同期誤り訂正のアル
ゴリズムを第7図に示す。このアルゴリズムの動作を検
証するために、q=3.に=5として簡単な例を示す。
以下に説明する処理は、第3図の制御部1、パリティ解
析部4及びパリティ生成部6により行なわれる。
送信側では次の情報系列IとパリティPo〜P目を、第
6図に示すデータフォーマットのように配置して送る。
Po、P+は先頭のパリティもデータとして含むので、
まずP2以降のパリティを生成し、その後でPo、Pl
を生成する。(ただし、ダミービットは省いて説明する
。)
IIs lI4113112 III 11 = [1
00110001010011]P2 = 1 +3+
1 + 1 +3=9=Omod3P3=5・1+4
・3+3・1+2・1+’l ・3=25=Omod5
P4 ==3+1+3+5+1=13=1 mod3
P s ” 5 ・ 3+4 ・ 1 +3 ・
3+2 ・ 5+ 1 ・ 1 =39=4
mod5P a = 2 + 1 + O= 3
= 3 mod6P7 =5 ・ 2+3 ・ 1
+1 ・ 0= 1 3= 1 mod3
Pa =2+ 1 +2=5=5 mod6P
9 =5 ・ 2+3 ・ 1+1 ・ 2=15=
Omod3
P+o=2+ 1 +o+ 1 +○+=4=
4mod7P++=O+O+ 1 +O+2=3=
3 mod7Po =O+1+2+2+1+2+1
+2+1+ 1 +2= 1 5=3 mod
6P + = 1 1 ・ O+10 ・ 1
+9 ・ 2+8 ・ 2十7・l+6・2+5・1
+4・2
+3・1+2・1+1・2
=83=3mod5
これによって、送信データは次のようになる。
P21P41P61P81P101P11118114
11311211ロc = [00010111011
00011100110001010011P31P5
1P71P91POIP1
0[]01000100011011]この場合におい
て、例えば伝送中にj=3のシンボル1.= [000
コが[01]と誤った場合を例として主に説明する。
受信側のパリティ解析部4では、まずステップS1で受
信データのビット数を数える。そしてステップS2でパ
リティPO〜pHを先頭と語尾から所定ビット数毎に区
切ることによって正しく分離する。そしてステップS3
に進み、符号語のビット数と受信データのビット数とが
等しいか否かを調べる。ビット数が等しい場合にはステ
ップS21に進む。ステップS21ではPl−Qi(i
=o、・・・、11)を計算し、Pi−Qi=○か否か
を調べる。Pi−Qi=○であれば誤りなしでありステ
ップS22に進み訂正処理を終了する。
一方、Pi−Qi=0でなければ誤りがあり、ステップ
SIOに進む。
上述の例のような場合には、受信データは送信データの
ビット数より1ビツト少ないため、ステップS3でビッ
ト数が異なることになり、情報系列の誤りであるのでス
テップS4に進み、第8図に詳細を示す上述した手順1
の処理を実行する。
続いてステップS5で誤り位置が特定できたか否かを調
べ、誤り位置Jを特定できればステップS5よりステッ
プS6に進み、上述した処理で誤りパターンを求め訂正
する。そして続くステップ$7でPi−Qi=Oか否か
を調べる。Pi−Qi=0であれば誤りなしであり訂正
終了となる。
一方、Pi−Qi=OでなければPo、P+に誤りがあ
り、誤り位置を特定して訂正処理に移行する。
一方ステップS5で誤り位置が特定出来ない時にはステ
ップS5よりステップSIOに進み、Pi−Qi (
i=2.4,8,10.11)を計算し、Pi−Qi=
OであればステップSllに進み、P3+ Ps、Pt
、pHに誤りがあり、誤り位置を特定して訂正処理に移
行する。
Pi−Qi=OでなければステップS12に進み、Pi
−Qi (i =3.5,7.9)を計算する。Pi−
Qi=OであればステップS13に進み、先頭パリティ
が誤りであり、誤り位置を特定して訂正処理に移行する
。
Pi−Qi=OでなければステップS15に進む。
手順1において誤り位置jが特定されない場合、例えば
、上述した例の場合には、手順1において、受信情報系
列工°と先頭パリティ、それから計算されるQo、Q+
は次のようになる。
P21P41P61P81PlOIP111Is” l
I4°113’l12°lll’IC’=[00010
1110110001110011001010011
]Qo =O+1+2+2+1+2+1+2+1+ 1
+2= 15=3 mod3
Ql=11・0+10弓+9・2+8・2十7・1+6
・2+5弓+4・2
+3・1+2・1+1・2
=83 =3mod3
この場合にはPa Qo ”O,Pl−Q+ =0と
なり、y“=ΣIi、qも常にOであるので、手順1で
は誤り位置を特定できない。この様な場合にはステップ
S15に進み、第9図に詳細を示す上述した手順2の処
理を実行する。続いてステップS8で誤り位置が特定で
きたか否かを調べ、誤り位置Jを特定できればステップ
S18に進む。
一方、上述した例の場合には、手順2でQ2゜Q3を計
算すると、
Q2 = 1 +3+ 1 + 1 +3=9=3
mod3Q3=5・1+4・3+3・1+2・1+1−
3=25=○ mod5
となり、P2 Q2 =O,P3 Qs =Oとf
するので手順2でも誤り位置を特定できない。この様な
場合にはステップS16よりステップS17に進み、第
10図に詳細を示す上述した手順3の処理を実行する。
そしてステップS18で上述した処理で誤りパターンを
求め訂正処理を行う。そしてステップS19で、Pi−
Qi (i=o、・・・。
11)を計算し、Pi−Qi=Oか否かを調べる。Pi
−Qi=Oであれば誤りなしであり訂正を終了する。
一方、Pi−Qi=Oでなければ誤りがあり、ステップ
S20に進み誤り位置を検出して訂正処理に移行する。
例えば、上述の例の場合には、Qa 、Q7゜Q+oか
らPa −Qa 、 Pt −Q7 、 P t
o Q+oを計算して
Qa=2+l+○=3=3mod6
Qフ=5・2+3弓+1・O
=13=1mod3
Q+o=2+ 1 + 1 +2=6=6 mod?P
a Qs ”Pt −Q? =O
P 1.− Q 9、=−2
従って、2− (P to Q+。)=4番目以降の
シンボルが1ビツトずれていることがわかる。
また、P、。−Ql。≠0 、 P s Qs≠Oか
らパリティの誤りでないとかわかるので、情報系列I°
の4番目のシンボルの前にOを挿入するか、j=3とし
てそれ以外のシンボルのずれを次のように元に戻しP2
.PIOから■3の正しいパターンを計算する。
ll5lI4+131121111
1 = [1001107?7010011]Is+3
=Pz −(1+3+1+3)” 8=1 mo
d3
S 1 s ”P to (2+ 1 + 1 +O
)=0=Omod7
I3=I+113・2″′3=1・2゜=1=[OO1
]
以上によって、誤り部分が[001]であることが解り
、正しく誤り訂正されることになる。他の誤り例の場合
にも、全く同様に正しく誤り訂正されることは明らかで
ある。
以上説明したように、本実施例の誤りを含む同期誤りを
訂正する符号化方法、及び誤り訂正装置によれば、同期
誤りが生じるような通信路における同期誤りの前後に誤
りが集中して起こると予想される様な場合にも、いまま
で発表されている誤り訂正符号または同期誤り訂正符号
の様な、単なる誤りか同期誤りかのどちらカルか訂正の
対象と成らないのに比し、1シンボル内であれば任意の
誤りを含む同期誤りが訂正できるので、前述した誤りに
対処でき、また簡単な演算で訂正が行える。
以上説明した様に本実施例によれば、通信路に対する同
期ずれを含むデータの誤りを検出・訂正できる。
また、すべて整数演算から成り立っているので、パリテ
ィ解析部4及びパリティ生成部6は、符号語を蓄えるメ
モリと整数演算回路によって簡単に実現できる。Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings. <Configuration of the system of this embodiment> FIG. 3 is a block diagram of a synchronization error correction system according to an embodiment of the present invention. The control unit that controls the
Reference numeral 2 denotes a ROM in which a program, etc., which will be described later, is stored; 3, a reception section that receives reception data including parity from the communication path 11; 4, a parity analysis section that analyzes the parity of the reception data received by the reception section 3; 5; 6 is a reception buffer, 6 is a parity generation unit that generates synchronous error correction parity etc. from the transmission data from the control unit 1, and 6 is a transmission buffer that temporarily stores the transmission data to which parity has been added. Further, 15 is a host that sends and receives communication data. Error Correction Principle of this Embodiment> The principle of synchronous error correction carried out in the control section 1, parity analysis section 4, and parity generation section 6 of this embodiment having the above configuration will be outlined below. Now, the information series ■ to which data is transmitted from the transmitter 7 is set to [1
,,1,9,...,I2. I, ]. However, 〈〉 is a symbol consisting of q bits as shown below. (I+, = represents bit) L= [L9,,L
Q-9,...L, 2. L9, ] Next parity P from the transmitter. -P++ is generated and sent together with ■. However, the following is an integer operation. p, = Σ (Σ 1.9,) (1) P,
=Σ(Σ 11..)・i (2)P2=Σr
all (3) P3=ΣI
*z ・i (4) p, = Σengine. 1 (5) Ps”Σ■1゜,・i
(6) Pg”Σ (s 1 , +r
1 +-+) (7) P, = Σ (s 1
, +r 1 +-+) ・i (8)P, =Σ
(s O+, + r O+-+) (9) P,
=Σ (s O+・+ r O=−+) ・i
(10) P. =Σ sl, (
11) P3. =Σ so+ (1
2) Here, Sl9 and So represent the number of bits counting from the LSB in the i-th symbol until the first 1 or 0, respectively. Also, I all is 2 in the i-th symbol with 81□+1st bit as the least significant bit.
Value expressed in base number, ie. I 5+1 ” I 1.h ・2h−1・2nd information sod Ql is expressed, I sa+ is the value obtained by inverting 1°0 in the i-th symbol, R+, r+ = (I +
, h + 1) mod 2, the value expressed in binary with the sol+1st bit as the least significant bit, ie. I8゜I = R1,h ・2h−1・2−(iol+″
06q). (1, 9, , 1, . 1 is a binary representation of 1 and 0 from the bit where 1.0 is set first, and here, it is a branch chain due to l and a branch chain due to O, respectively. In addition, r 1 l-+ and r 0I-r represent the number of bits counting backward from the MSB in the i-1th symbol to the last bit where 1.0 stands. Therefore, S1+ +r 1+-+ , sO+ +rO+
−+ represents the number of consecutive 1 or 0 bits from the i-1th symbol to the i-th symbol. Further, i' represents a positive odd number. Therefore, in formulas (7) to (lO), sl+ +rl
B-+, so+ +rO+-+ are calculated every l symbol. Here, bits ■1 in symbol ■3 during transmission. .. is omitted and the error eJ,h is added to the other bits of ■, then each bit of symbol Ij except Ij,9 becomes I,1
.. h+6,1. It is expressed as h (eJ, h is 1 when the engineering jh is incorrect from O to 1, and -l when the engineering 9, h is incorrect from 1 to 0.
, expressed as O when there is no error). In addition, the receiving side knows in advance the parity P o "" P r and the total number of bits of the code word consisting of the information sequence I, and a synchronization error occurs because the number of bits of the received data is the same as the code word. Suppose that it can be detected because it is different from the number of bits. At this time, synchronization errors including errors can be corrected by the following three procedures. (Step 1) Correction of errors with different weights The weight of the incorrect symbol due to a synchronization error including an error is
Error correction when it changes between sending and receiving. Alternatively, even if the weight of a symbol erroneously caused by a synchronization error that includes an error does not change between transmission and reception, error correction is performed when the weights of symbols that have been shifted are different before and after the synchronization error symbol. In this case, parity P is generated from the weight of the transmitted data. , Pl determines the error position. (Step 2) Correcting errors with slightly different weights without changing the weights of symbols erroneously caused by synchronization errors, including errors that could not be corrected in step 1, do not change between transmission and reception;
Error correction when the weight of the shifted symbol also does not change. The error position is determined in P2 to P5. However, it is assumed that the branch chain of erroneous symbols differs between transmission and reception. (Procedure 3) Procedure for correcting errors where weights and branches are not different 1.
The weights and branch chains of incorrect symbols due to synchronization errors, including errors that could not be corrected in step 2, are not converted between transmission and reception, and
Error correction when the weight of the shifted symbol also does not change. Hereinafter, steps 1 to 3 will be explained in detail. [Procedure 1] Error correction method with different weights From the received data, perform the same calculation as P9 and P to obtain the next Q. , Ql is generated. Qo” Po−I9, p・j+Σe1.
(13) Ql= PI-IJ, p'j+Σ ej,
h'ko+Σ L9, (14) Therefore, Po−Q
9, P, -Q, is expressed as follows. P, -Q, =I9,, -Σ eJ, h
(15) P, -Q, = (L, -ΣqeJ, h)
j-'X-I 1, q= (P, -Qo) ・j
-'
It is. Therefore, let j; When q is y, the relationship between X and y is as follows from equation (16). y=(Po Q.) X-(PI-Q, ) (
17) From equation (16), PI-Q<O, so equation (
17) is a positive value Q when x=00, like the straight line a in Figure 4.
, -P, is expressed by a straight line that monotonically decreases as X increases. However, the relationship between X representing the actual symbol position and y, the total deviation of 1 up to that point, is monotonically non-decreasing from the value of y=O when x=O as shown by the straight line in Figure 4. (When 1.,=1, it increases, but when 1.Q=O, it does not change with respect to X). Therefore, straight lines a and b always have one intersection. Since j should simultaneously satisfy the straight line a in Equation (17) and the straight line S representing the actual deviation, J is the value of X at the intersection of a and b. [When (P, -Q, ) > 1, let j = x, and the sum of the deviations of 0 for each symbol up to x-1 (x-1) ~ Σ ■, 9 is the equation (16 ) becomes as follows. 3' = (P o Q o 1) x+
(P, -Q, -1) (18) Formula (16)
Since (P, -Q, -1)>O, equation (18), like equation (17), is a positive value P, -Q when X=O, as shown by straight line a in Figure 1. , expressed as a straight line that monotonically decreases from -1 to X. Also, the relationship between X, which represents the actual symbol position, and y, the total deviation of O up to this point, is as shown by the straight line in Figure 1, where x = O.
When y=Q, the value becomes monotonically non-decreasing according to X. Therefore, the same argument as when (Pa Qo)<Q holds true, and the value of X at the intersection of straight lines a and b becomes j. [When PO-Qo = Q or Pa-Qo = l]
Po-Q0:KaP. - When Q0=1, formula (17)
, (18) is parallel to the X axis as shown in FIG. At this time, if the straight line representing the actual deviation continues to increase monotonically before and after the intersection with straight line a, then straight line a
and b intersect at one point, and the error position j can be specified. but,
As shown in FIG. 5, when the straight line stops increasing from the point where it intersects with the straight line a, the straight lines a and b do not intersect at one point and the error position j cannot be specified. When P, -Q0=O, it means that the weight of the symbol in which the error occurred does not change, and the part where the straight line does not increase means that 1.9,=0 is continuous. That is, it means that the weight of the symbol does not change due to the shift. In the case of Po-Q0=1, a similar argument holds when considered with a weight of 0. Therefore, it can be seen that the only case that cannot be corrected by the operation in step 1 is when the weight of 0 or 1 of each symbol is erroneously changed so as not to change due to a synchronization error including an error. Therefore, if the error position cannot be identified by the operation in step 1, the synchronization error position including the error is determined using P2 to P as follows. The next Q is calculated from the received data by calculations similar to P9 and P.
. Generates +Q+. Qo'' P(+-, IJ, p'j+ΣeJ, h(13
) Paste = P+-I=, p'j+Σqe7. l'l'
j+'X−L, , (14) Therefore, P, −Q9
, P, -Qo is expressed as follows. Po-Go=IJp-ΣeJ, n (
15) P, - pasted = (IJ9, -Σ eJo)・j-Σ
-■, 9= (P Q-QO) -j-'nee Il,
Q (t6) What is undetermined in equation (16) are j and Σ 1. , Q. So (Pa −
Q, ) <. When j=x, Σ I 1, which is the sum of 1 shifts for each symbol up to x-1. When Q is y, the relationship between X and y is expressed by equation (16
) becomes the following. 3'= (Po Qo) x (P + Q+
) (17) When P, -Q, from equation (16) P
Since +-Q+<0, equation (17) is the straight line a in Figure 4.
It is expressed by a straight line that monotonically decreases from the positive value Q, -P when x=O. However, the relationship between X, which represents the actual symbol position, and y, the total deviation of 1 up to that point, is the fourth
As shown in the straight line shown in the figure, when x=o, the value of y=Q is monotonically non-decreasing according to X (when I, Q=1, it increases, but when I9, Q=O, it increases with (no change)
. Therefore, straight lines a and b always have one intersection. Since j should simultaneously satisfy the straight line a in Equation (17) and the straight line S representing the actual deviation, the value of X at the intersection of the straight line lea and the straight line S is j. Also, when (Pa - Qo) > i, j=x. It is the sum of the deviations of O for each symbol up to x-1 (x-
1) -Σ-L9, is y, then from equation (16), when (Po -Qo ) > 1, (PI
-Q, -B >o, so equation (18) becomes equation (17)
Similarly, it is expressed by a straight line that monotonically decreases in accordance with X from the positive value (P, -Q, -1) when x=0, like the straight line a in FIG. In addition, the relationship between X representing the actual symbol position and the sum y of the deviations of 0 up to that point is also monotonically non-decreasing from the value of y = Q according to X when x = O, as shown in Figure 4, line 11b. Become. Therefore, the same argument as when (P, -Q.)<0 holds true, and the value of X at the intersection of straight line a and straight line S becomes j. At this time, in order to find the original value of IJ where the error occurred,
The deviations of the symbols after j, where deviations have occurred, are restored to the original state, and the symbols other than I are determined. From P R+ P 10, Iall of the confirmed symbol
+ Sll (1"1"'n+ 1≠j), 1. ,J,SL, is obtained,■,.・
21m1J mo6 Ill =: ■9.・2h-
From the operation of 1, the original value of . The above is a method for correcting synchronization errors including errors when o>(po-Qo)<1. However, when P, -Q,=Q or Pa-Qo=t, the straight line a representing equations (17) and (18) becomes parallel to the X axis as shown in FIG. At this time, if the straight line representing the actual deviation continues to increase monotonically before and after the intersection with the straight line a, the straight line a and the straight line A intersect at one point, and the error position j can be identified. However, as shown in FIG. 5, when the straight line IS b stops increasing from the point where it intersects the straight line a, the straight line a and the straight line A do not intersect at one point, making it impossible to identify the error position j. P, -Qo=O means that the weight of 1 of the symbol with an error does not change, the straight line increases, and the missing part is I
9, q=O is continuous, meaning that the weight of 1 in the symbol does not change due to the shift. Therefore, it can be seen that the only case that cannot be corrected by the operation in step 1 is when the weight of O or 1 of each symbol is erroneously unchanged due to a synchronization error including an error.゛ Therefore, if the correction could not be made using step 1,
Using P2 to P, synchronization errors including errors are performed as follows. (Step 2) Without correcting errors with only a few different kernels without changing the weight,
Here P, -Q. Consider the case where =0. If the error position J could not be identified by the operation in step 1, there are no errors other than the symbols for which the error position could not be identified, so first, restore the deviation to p2. A value P2° p,° is calculated by subtracting the value of Iall+811 of the symbol whose deviation has been restored from p,. If j cannot be specified between symbol positions X1 and x2, then p2', p
, ° can be expressed as follows. P2″=Σ Is++ (19) Ps
""Σ Im++ e i (20) Next, Qg of the part where the error rank 1 cannot be identified from the received sequence
', Q-''. As mentioned above, the part where the error position cannot be identified is
, 20 are consecutive, meaning that the weight of the symbol by 1 does not change due to the shift. This is because the shift is completed within l symbols without affecting the symbols, and if we consider that the first 1 is the least significant bit, it can be considered that the branch chain caused by 1 does not change regardless of the shift. However, the branch chain of the symbol in which the error occurs is considered to be different. Therefore, the branch chain ■3,1 of the symbol in which no error has occurred remains unchanged, and the branch chain at the error position j is I! When IJ becomes I slJo, Q2°, Q, and ° can be expressed as follows. Therefore, Pa"-Q2°P3'-Q3° is. P2°-Q2°=I□, -I g9, ' (23
)P3'-Q3°= (1,lJ-Iall')
・j becomes P2'-Q2° =I Sll -I
If $lj° ≠ O, the error position j can be found from (P3° - Q, °) / (Pa '' - Q2°). Next, if P o Qo = 1, the error position cannot be specified. In the part, I9,, = 1 is continuous, and when considering the weight of O, the weight of the symbol does not change due to the shift. Therefore, in the case of P o Q o '' 1, P4. If we make a similar argument regarding P5,
P4° Q 4' = I5oJ-IsoJ'
It is clear that when ≠0, the error position j can be found from (Ps'Qs°)/(P4°-Q4°). After identifying the error position j as described above, the original value of symbol E is determined using the same method as in step 1. But here, Q2°-p,' = o, or Q4°
If −p,°=O, the error position j cannot be specified. Therefore, the error position j cannot be specified by the operations in steps 1 and 2 when the weights of each kernel symbol do not change due to synchronization errors including errors, and the tangent values do not differ. Errors that cannot be corrected by steps 1 and 2 are corrected using 26 to 2 ports as follows. (Step 3) Procedure for correcting errors where the weight and tangent value are not different 1.
If the weight and the tangent value do not differ due to a synchronization error including an error that cannot be corrected by 2, it is when the bits constituting the tangent value are collectively shifted within the symbol in which the error occurs. At this time, in step 3, correction is performed by changing the length of the bit sequence that does not constitute a tangent value. KuP. When -Qo=0, the length of the bit sequence that does not form a tangent value due to sl is indicated by sl+ +rlt which generates P6. Here, for the symbols after the error position j, the start of the tangent value changes from sl+ to si+ +1 due to the shift, and r1□ becomes r1+
-1, so the length of the bit sequence that does not constitute a tangent value of 1 does not change due to the shift. However, at the error position j, the beginning of the tangent value due to 1 becomes sl,
sl, +x, rl at error position j
, becomes rl, -(x+1), so the length of the bit sequence that does not constitute a tangent value of 1 changes only at error position j. At this time, p6. p9, QslQ9 with the same operation as Plo,
Q. can be expressed as follows. Q6=Σ (S11'+rll-+)+a
(25) Q, = Σ (sL'+rL9, l・i'+a
-y (26) Here, since i' of Pa and P= is an odd number, when the error position j is an odd number, slJ is SI
It changes to J+X and becomes y=J+a=X. When the error position j is an even number, rlJ-1 is rlJ-+ -(x
+1), so y = j + 1, a =
−(x + 1). a, y are (P-Qa) = a (28) P y
−Q7 = −a−y (29)(P, −Q
, )/(P, -Q-)=y (30). Also, Pro-Q10=-(j-1+x) (31
), so whether the value of error position j is odd or even is determined by a obtained from equations (28) and (30).
+ y and equation (31), if (y-1+a)=P+o Q+o, then odd number (y3
+ a ) = P + o Q + a, it can be seen that it is an even number. Also, consider the case where a obtained from equation (28) is O. If y=j, a=x=o, the magnitude of the deviation at j+1 is -(x+1)=-1, and the position of the deviation is determined from equation (31) by j
+ 1 "2 (Plo-Q+.) Also, even if we assume that y=j+1.a==-(x+1)=O, the size of the shift is X=-1 and the position of the shift is 2-
CP, 0-Q,. ). Therefore, equation (28) is 0
In this case, the start of the tangent value of the 2-(P, .-Q, .)-th symbol is shifted by 1 due to the omission of O bits. <When P o −Qo = 1> It can be similarly determined by the length of the bit sequence that does not constitute a tangent value due to 0. Therefore, p9,p, when P,-Qo =Q. P. If similar calculations are performed using p9, p9, and p9 corresponding to , the error position j can be found. It has been explained above that the position of synchronization errors, including errors in the case of missing bits, can be found using this code, but the original value of I, where the error has occurred, can be found as follows. First, the deviations of the symbols after j, where deviations have occurred, are restored to their original positions, and the symbols other than ``k'' are determined. P9, P. ■, l□ of the symbols determined from. By subtracting sl+ (i=1・-n, 1sj) respectively, ■. , sl, is obtained. Therefore, I9,
, m 2 f@IJ man Ql = IJ, l,
From the operation 2+'l-1 (7), the original value of . In addition, in the case of bit insertion, the reverse of the case of bit omission, that is, the received sequence in the case of bit omission and the parity P0 to C++ generated from it are transmitted, and I12. bit is inserted, e4. Considering that r+ errors are added, it is clear that synchronization errors including errors can be corrected by similar processing. Furthermore, even when there is no synchronization error and no error occurs, the parity P2 to P1 when no error affects between symbols.
It is clear that the correction can be made using 1. As a result of the above, assuming that the parity is correct, 1
We have shown a code that can correct synchronous errors, including errors within symbols. Here, we will discuss the redundancy of this code and the case where its parity is incorrect. First, consider redundancy. Parity P0 is q≧Po Qa≧−q+1,
Po and Qo can be modulo 2q. In this case, Po-Q with 2q-1≧Po-Qo≧q+1
o means a negative value, and the negative value is obtained by Po −Qo −2q. After that, the position of the synchronization error can be found using the above procedure, so the bits required for Pa become log22q. Similarly, the bits required for P and -P9 are P and -P9, respectively.
The maximum value of -Ql (i=1...11) is as follows. However, the number of bits required for PO to pH is
It is expressed as ゞp+. 1) o = 10gz 2Q, I) + = lOga k. p2 = Q, p3 = 10g2k. pa = Q, ps = 10 g2k. pg = 1 oga 2q, pt =
logz k/2゜ps ”1 Ogz 2q, p
i = l Ogz k/2゜p+o:10 gx 2
k, pth = 10 g2 Next, consider the case where the parity is incorrect. Parities P0 to P are arranged as shown in FIG. 6, and the received data is divided as follows. Parity and data placed at the beginning are separated by a predetermined number of bits from the beginning of the received data,
Parity Pa placed at the end of the code word, p9, p9,
p9, p9, p are separated by a predetermined number of bits from the end of the received data. It is also assumed that p9 and p are generated by treating the leading parity as data. Consider the following cases where the error occurred. ■If an error occurs in the first parity, p9 and p used in step l are not incorrect, so step 1
There are two possible situations: either the incorrect leading parity is identified as the error position, or the error position cannot be identified because the weights are different. If the error position cannot be identified, step 2 is performed, but since the parities at the end of the word P 3 , P s , P 7 , and P 9 are correct, and the first parity is not treated as data, P, −Q, = O(i= 3.5, 7.9). Po
When -Qo=O, P, -Q,=0(i=3.5,7.
9) occurs when the information sequence is all O and one bit of 0 is missing, and when PG-QO=1, Pl-
Q= =O (i=3.5, 7.9) when the information sequence is all 1 and one bit of 1 is missing. Therefore, if the information sequence part of the received data is all 0's or all 1's, there is a parity error, and if it is all 0's or all 1's, O or 1 may be inserted at any position. (2) If P9, P9, P9, P are incorrect The first parity and the parities po, p used in step 1 are correctly separated. Therefore, Po−Q,=0 and P+ Ql =O
(i=2.4, 6°8). In this case as well, as in case (2) above, there is no case other than the case where the information sequence is all O's, so if the information sequence of the received data is all O's, it can be seen that there is a parity error. (2) If Po or P+ is incorrect, the first parity is specified as the error position in step 1, or if the error position cannot be specified, the same process as (2) is performed. If a certain byte in the information sequence is mistakenly determined to be an error, after deriving the error pattern at the error position of the square and performing error correction, P 10+ = 0 (i = O, . . .
・, 11). If the correction is correct, P I Ql = (i = 0..., 11), but if the correction is incorrect, P r Ql = O (i = O,..., 11). No. It is clear that it is an erroneous correction unless P + Ql = O (1 = 0. 1), but P + Q
Even when +=0 (i=0.1), incorrect correction can be detected for the following reasons. In other words, bits are inserted into an error-free information sequence due to error correction, and furthermore, P
'+ -Ql = N = o, 1), then step 1
In this case, the error position cannot be identified. Therefore, if step 2.3 is executed, the incorrectly corrected bit insertion will be detected by the correct leading parity, and P+ −
Ql = O (i = 2.4°6.8, 10.11) does not hold. Therefore, after performing error correction in step 1, P +
By confirming that Ql = O (i = O...11), errors in Pa and P+ can be detected. ■If the information sequence part is incorrect If it is other than ■~■, it is an error in the information sequence, so
Corrected correctly by the above steps. Furthermore, as described above, parity cannot be divided into q bits, which is a unit of one byte. However, the code sequence is divided into a leading parity section, an information sequence section, and a trailing parity section, and it can be said that if the error does not span these three blocks and the synchronization error includes an error within 1 byte, it can be corrected. (A parity error may span multiple parities within one block.) Therefore, if the leading parity part and the ending parity part each consist of bits that are multiples of q, the code can correct synchronization errors including all 1-byte errors. In order to configure each parity part with nine multiple bits, the following p
Dummy bits of m++9m2 bits may be inserted before and after each of the code sequences shown in FIG. p war = m 1・q− (pz + p< +I) a + p+o+ pz)・
Pa2: m2・q− (1)3+1)8+1) fu + pe +p
, ) However, m 1 ” r (pz +p4+p6+p1o+ 1
)+□)/q” m2= r (1)s +ps +p7 +pe +p
l ) /q'' From the above, it can be seen that even if the parity is incorrect, it can be determined if there is a one symbol error. <Description of synchronous error correction processing including errors> An algorithm for correcting synchronous errors including errors on the receiving side, based on the above results, is shown in FIG. To verify the operation of this algorithm, we set q=3. A simple example is shown with =5. The processing described below is performed by the control section 1, parity analysis section 4, and parity generation section 6 shown in FIG. On the transmitting side, the next information series I and parities Po to P are arranged and sent as in the data format shown in FIG. Po and P+ also include the leading parity as data, so
First, generate parity after P2, then Po, Pl
generate. (However, the explanation will omit the dummy bits.) IIs lI4113112 III 11 = [1
00110001010011]P2 = 1 +3+
1 + 1 +3=9=Omod3P3=5・1+4
・3+3・1+2・1+'l ・3=25=Omod5 P4 ==3+1+3+5+1=13=1 mod3
P s ” 5 ・ 3 + 4 ・ 1 + 3 ・
3+2 ・5+ 1 ・1 =39=4
mod5P a = 2 + 1 + O = 3
= 3 mod6P7 =5 ・ 2 + 3 ・ 1
+1 ・ 0= 1 3= 1 mod3 Pa =2+ 1 +2=5=5 mod6P
9 = 5 ・ 2 + 3 ・ 1 + 1 ・ 2 = 15 =
Omod3 P+o=2+ 1 +o+ 1 +○+=4=
4mod7P++=O+O+ 1 +O+2=3=
3 mod7Po =O+1+2+2+1+2+1
+2+1+ 1 +2= 1 5=3 mod
6P + = 1 1 ・O+10 ・1
+9 ・2+8・27・l+6・2+5・1
+4.2 +3.1+2.1+1.2 =83=3mod5 As a result, the transmitted data becomes as follows. P21P41P61P81P101P11118114
11311211roc = [00010111011
00011100110001010011P31P5
1P71P91POIP1 0[]01000100011011] In this case, for example, symbols 1. of j=3 during transmission. = [000
The following will mainly explain the case where ko is mistaken as [01] as an example. The parity analysis unit 4 on the reception side first counts the number of bits of received data in step S1. Then, in step S2, the parities PO to pH are correctly separated by dividing them into a predetermined number of bits from the beginning and end. and step S3
Then, it is checked whether the number of bits of the code word and the number of bits of the received data are equal. If the bit numbers are equal, the process advances to step S21. In step S21, Pl-Qi(i
=o, . . . , 11) and check whether Pi−Qi=◯. If Pi-Qi=◯, there is no error, and the process advances to step S22 to end the correction process. On the other hand, if Pi-Qi=0, there is an error and the process proceeds to step SIO. In a case like the above example, the received data is 1 bit less than the transmitted data, so the number of bits differs in step S3, and since there is an error in the information sequence, the process advances to step S4, and the process shown in FIG. Step 1 described above with details shown in
Execute the process. Subsequently, in step S5, it is checked whether the error position has been identified. If the error position J has been identified, the process proceeds from step S5 to step S6, where an error pattern is determined and corrected using the above-described process. Then, in the following step $7, it is checked whether Pi-Qi=O. If Pi-Qi=0, there is no error and the correction ends. On the other hand, if Pi-Qi=O, there is an error in Po and P+, and the error position is identified and the process proceeds to correction processing. On the other hand, if the error position cannot be specified in step S5, the process proceeds from step S5 to step SIO, and Pi-Qi (
i=2.4, 8, 10.11), and Pi−Qi=
If O, proceed to step Sll, P3+ Ps, Pt
, there is an error in the pH, the error position is identified, and the process moves to correction processing. If Pi−Qi=O, the process advances to step S12, and Pi
-Qi (i = 3.5, 7.9). Pi-
If Qi=O, the process proceeds to step S13, where the leading parity is in error, the error position is identified, and the process proceeds to correction processing. If Pi−Qi=O, the process advances to step S15. If the error position j is not specified in step 1, for example in the case of the above example, in step 1, the received information sequence processing and the leading parity, Qo and Q+ calculated therefrom are
becomes as follows. P21P41P61P81PlOIP111Is” l
I4°113'l12°llll'IC'=[00010
1110110001110011001010011
]Qo =O+1+2+2+1+2+1+2+1+ 1
+2= 15=3 mod3 Ql=11・0+10 bow+9・2+8・27・1+6
・2+5 bow+4・2 +3・1+2・1+1・2 =83 =3mod3 In this case, Pa Qo ”O, Pl−Q+ =0, and y”=ΣIi, q is also always O, so step 1 is incorrect. Unable to determine location. In such a case, the process proceeds to step S15, and the process of step 2 described above, the details of which are shown in FIG. 9, is executed. Subsequently, in step S8, it is checked whether the error position has been identified, and if the error position J has been identified, the process advances to step S18. On the other hand, in the case of the above example, when Q2゜Q3 is calculated in step 2, Q2 = 1 + 3 + 1 + 1 + 3 = 9 = 3
mod3Q3=5・1+4・3+3・1+2・1+1−
3=25=○ mod5, P2 Q2 =O, P3 Qs =O and f
Therefore, even in step 2, the error position cannot be specified. In such a case, the process advances from step S16 to step S17, and the process of step 3 described above, the details of which are shown in FIG. 10, is executed. Then, in step S18, an error pattern is obtained through the process described above and a correction process is performed. Then, in step S19, Pi-
Calculate Qi (i=o, . . . 11) and check whether Pi−Qi=O. Pi
If -Qi=O, there is no error and the correction ends. On the other hand, if Pi-Qi=O, there is an error, and the process advances to step S20 to detect the error position and proceed to correction processing. For example, in the case of the above example, from Qa, Q7゜Q+o, Pa -Qa, Pt -Q7, Pt
o Calculate Q+o, Qa=2+l+○=3=3mod6 Qfu=5・2+3bow+1・O=13=1mod3 Q+o=2+ 1 + 1 +2=6=6 mod? P
a Qs ``Pt -Q? = O P 1.- Q 9, = -2 Therefore, it can be seen that 2- (P to Q+.) = the symbols after the fourth are shifted by 1 bit. Also, P. -Ql.≠0, Ps Qs≠O, so it can be seen that there is no parity error, so the information series I°
Insert O in front of the fourth symbol of P2, or set j=3 and return the other symbols to their original positions as follows:
.. Calculate the correct pattern in ■3 from PIO. ll5lI4+131121111 1 = [1001107?7010011]Is+3
=Pz -(1+3+1+3)" 8=1 mo
d3 S 1 s ”P to (2+ 1 + 1 +O
)=0=Omod7 I3=I+113・2″′3=1・2゜=1=[OO1
] From the above, it can be seen that the error part is [001], and the error will be correctly corrected. It is clear that errors can be correctly corrected in exactly the same way in other error cases as well. As explained above, according to the encoding method and error correction device for correcting synchronization errors including errors of the present embodiment, errors occur in a concentrated manner before and after the synchronization error in the communication channel where the synchronization error occurs. Even in cases where it is expected that 1. Since synchronization errors including any errors within a symbol can be corrected, the above-mentioned errors can be dealt with and correction can be performed with simple calculations. As described above, according to this embodiment, data errors including synchronization errors with respect to the communication channel can be detected and corrected. Moreover, since they are all made up of integer operations, the parity analysis section 4 and the parity generation section 6 can be easily realized using a memory for storing code words and an integer operation circuit.
以上説明した様に本発明によれば、簡単な構成で、通信
路に対する同期ずれを含むデータの誤りを検出・訂正で
きる。As described above, according to the present invention, data errors including synchronization errors with respect to a communication channel can be detected and corrected with a simple configuration.
第1図は本発明に係る一実施例の機能ブロック図、
第2図は本発明に係る他の実施例の機能ブロック図、
第3図は本発明に係る一実施例の構成を示すブロック図
、
第4図は本実施例の手順1で誤り位置特定可能な場合を
説明する図、
第5図は本実施例の手順1で誤り位置特定不能な場合を
説明する図、
第6図は本実施例の符号を送信するときのデータフォー
マットを示す図、
第7図は本実施例の受信側における誤り訂正処理を示す
フローチャート、
第8図は第7図の手順1の詳細を示すフローチャート、
第9図は第7図の手順2の詳細を示すフローチャート、
第10図は第7図の手順3の詳細を示すフローチャート
である。
図中、1・・・制御部、2・・・ROM、3・・・受信
部、4・・・パリティ解析部、5・・・受信バッファ、
6・・・パリティ生成部、6・・・送信バッファ、15
・・・ホスト、100・・・送信側、102・・・重み
パリティ生成手段、103・・・誤りパリティ生成手段
、104・・・ずれパリティ生成手段、151・・・第
1のパリティPo生成手段、152・・・第2のパリテ
ィPo生成手段、153・・・第3のパリティPo生成
手段、154・・・第4のパリティPo生成手段、15
5・・・第5のパリティPo生成手段、156・・・第
6のパリティPo生成手段、157・・・第7のパリテ
ィPo生成手段、15B・・・第8のパリティPo生成
手段、159・・・第9のパリティPo生成手段、16
0・・・第10のパリティPo生成手段、161・・・
第11のパリティP to生成手段、162・・・第1
2のパリティP’++生成手段、200・・・受信側、
202・・・重みパリティ検出手段、203・・・誤り
パリティ検出手段、204・・・ずれパリティ検出手段
、251・・・第1のパリテイP。生成手段、252・
・・第2のパリテイP、生成手段、253・・・第3の
パリテイP2生成手段、254・・・第4のパリテイP
3生成手段、255・・・第5のパリテイP4生成手段
、256・・・第6のパリテイP5生成手段、257・
・・第7のパリテイP6生成手段、258・・・第8の
パリテイP、生成手段、259・・・第9のパリテイP
8生成手段、260・・・第1OのパリテイP9生成手
段、261・・・第11のパリテイP to生成手段、
262・・・第12のパリテイP l+生成手段、27
0・・・第1の誤り位置検出手段、271・・・第2の
誤り位置検出手段である。
7□1□−一一□□FIG. 1 is a functional block diagram of an embodiment according to the present invention, FIG. 2 is a functional block diagram of another embodiment according to the present invention, and FIG. 3 is a block diagram showing the configuration of an embodiment according to the present invention. , Fig. 4 is a diagram explaining the case where the error location can be identified in step 1 of this embodiment, Figure 5 is a diagram explaining the case where the error location cannot be identified in step 1 of this embodiment, and Figure 6 is the diagram FIG. 7 is a flowchart showing error correction processing on the receiving side of this embodiment; FIG. 8 is a flowchart showing details of step 1 in FIG. 7; FIG. 9 is a flowchart showing details of step 2 in FIG. 7, and FIG. 10 is a flowchart showing details of step 3 in FIG. In the figure, 1... control unit, 2... ROM, 3... receiving unit, 4... parity analysis unit, 5... receiving buffer,
6... Parity generation unit, 6... Transmission buffer, 15
. . . host, 100 . . . sending side, 102 . . . weight parity generation means, 103 . , 152... Second parity Po generation means, 153... Third parity Po generation means, 154... Fourth parity Po generation means, 15
5... Fifth parity Po generation means, 156... Sixth parity Po generation means, 157... Seventh parity Po generation means, 15B... Eighth parity Po generation means, 159. ... Ninth parity Po generation means, 16
0... 10th parity Po generation means, 161...
Eleventh parity P to generation means, 162...first
2 parity P'++ generation means, 200...receiving side,
202... Weighted parity detection means, 203... Error parity detection means, 204... Shifted parity detection means, 251... First parity P. generation means, 252.
...Second parity P, generation means, 253...Third parity P2 generation means, 254...Fourth parity P
3 generation means, 255...Fifth parity P4 generation means, 256...Sixth parity P5 generation means, 257.
...Seventh parity P6 generation means, 258...Eighth parity P, generation means, 259...Ninth parity P
8 generation means, 260... 10th parity P9 generation means, 261... 11th parity P to generation means,
262... 12th parity P l+ generation means, 27
0: first error position detection means, 271: second error position detection means. 7□1□−11□□
Claims (3)
される送信データに対する受信データの誤りを訂正する
誤り訂正システムであつて、 少なくとも送信側に、 送信データに対する受信データの重みが異なる場合の誤
り位置を検出するパリテイを生成する重みパリテイ生成
手段と、送信データに対する受信データの重みが異なら
ないとき誤りシンボルのパターンがずれた場合以外の誤
り位置を検出するパリテイを生成する誤りパリテイ生成
手段と、送信データに対する受信データの重みが異なら
ず、かつ誤りシンボルのパターンがずれただけの場合そ
の誤り位置を検出するパリテイを生成するずれパリテイ
生成手段とを備え、 少なくとも受信側に、 送信データに対する受信データの重みが異なる場合の誤
り位置をパリテイから検出する重みパリテイ検出手段と
、送信データに対する受信データの重みが異ならないと
き誤りシンボルパターンがずれた場合以外の誤り位置を
パリテイから検出する誤りパリテイ検出手段と、送信デ
ータに対する受信データの重みが異ならず、かつ誤りシ
ンボルのパターンがずれただけの場合その誤り位置をパ
リテイから検出するずれパリテイ検出手段とを備えるこ
とを特徴とする誤り訂正システム。(1) An error correction system that corrects errors in received data with respect to transmitted data consisting of multiple symbols consisting of predetermined bits, and at least on the transmitting side, errors that occur when the weight of received data with respect to transmitted data is different weight parity generation means for generating parity for detecting a position; error parity generation means for generating parity for detecting an error position except when the weight of the received data relative to the transmitted data is not different and the pattern of the error symbol is shifted; deviated parity generation means for generating parity for detecting the error position when the weight of the received data with respect to the transmitted data is not different and the pattern of error symbols is only shifted; weight parity detection means for detecting error positions from parity when the weights of the received data are different; and error parity detection means for detecting error positions from parity except when the error symbol pattern is shifted when the weights of received data with respect to transmission data are not different. and a deviation parity detection means for detecting the error position from the parity when the weight of the received data is not different from that of the transmitted data and the pattern of error symbols is only shifted.
される送信データに対する受信データの誤りを訂正する
誤り訂正システムであつて、 少なくとも送信側に、 送信データの1が立つビットの総和によりパリテイを生
成する第1のパリテイP_0生成手段と、送信データの
1シンボル内の1が立つビットの総和に一定の異なる重
みを乗じて加える第2のパリテイP_1生成手段と、送
信データの1シンボル内の最初に1が立つビットを最下
位ビットとして2進数表現した値の総和をとる第3のパ
リテイP_2生成手段と、送信データの1シンボル内の
最初に1が立つビットを最下位ビットとして2進数表現
した値に一定の異なる重みを乗じて加える第4のパリテ
イP_3生成手段と、送信データを反転し、1シンボル
内の最初に1が立つビットを最下位ビットとして2進数
表現した値の総和をとる第5のパリテイP_4生成手段
と、送信データを反転し1シンボル内の最初に1が立つ
ビットを最下位ビットとして2進数表現した値に一定の
異なる重みを乗じて加える第6のパリテイP_5生成手
段と、送信データのシンボル間にかけて連続する1のビ
ット数の総和からなる第7のパリテイP_6生成手段と
、送信データのシンボル間にかけて連続する1のビット
数に一定の異なる重みを乗じて加える第8のパリテイP
_7生成手段と、送信データのシンボル間にかけて連続
する0のビット数の総和からなる第9のパリテイP_8
生成手段と、送信データのシンボル間にかけて連続する
0のビット数に一定の異なる重みを乗じて加える第10
のパリテイP_9生成手段と、送信データの1シンボル
内の最初に1が立つまでの0が連続するビット数の総和
からなる第11のパリテイP_1_0生成手段と、送信
データの1シンボル内の最初に0が立つまでの1が連続
するビット数の総和からなる第12のパリテイP_1_
1生成手段とを備え、 少なくとも受信側に、 受信データの1が立つビットの総和によりパリテイを生
成する第1のパリテイQ_0生成手段と、受信データの
1シンボル内の1が立つビットの総和に一定の異なる重
みを乗じて加える第2のパリテイQ_1生成手段と、受
信データの1シンボル内の最初に1が立つビットを最下
位ビットとして2進数表現した値の総和をとる第3のパ
リテイQ_2生成手段と、受信データの1シンボル内の
最初に1が立つビットを最下位ビットとして2進数表現
した値に一定の異なる重みを乗じて加える第4のパリテ
イQ_3生成手段と、受信データを反転し、1シンボル
内の最初に1が立つビットを最下位ビットとして2進数
表現した値の総和をとる第5のパリテイQ_4生成手段
と、受信データを反転し1シンボル内の最初に1が立つ
ビットを最下位ビットとして2進数表現した値に一定の
異なる重みを乗じて加える第6のパリテイQ_5生成手
段と、受信データのシンボル間にかけて連続する1のビ
ット数の総和からなる第7のパリテイQ_6生成手段と
、受信データのシンボル間にかけて連続する1のビット
数に一定の異なる重みを乗じて加える第8のパリテイQ
_7生成手段と、受信データのシンボル間にかけて連続
する0のビット数の総和からなる第9のパリテイQ_8
生成手段と、受信データのシンボル間にかけて連続する
0のビット数に一定の異なる重みを乗じて加える第10
のパリテイQ_9生成手段と、受信データの1シンボル
内の最初に1が立つまでの0が連続するビット数の総和
からなる第11のパリテイQ_1_0生成手段と、受信
データの1シンボル内の最初に0が立つまでの1が連続
するビット数の総和からなる第12のパリテイQ_1_
1生成手段と、前記第1のパリテイP_0と第2のパリ
テイP_1及び第1のパリテイQ_0と第2のパリテイ
Q_1から生成される直線と、実際の通信データのシン
ボルのずれを表す直線との交点から送信データに対する
受信データの重みが1より大きくずれた場合の誤り位置
を検出する第1の誤り位置検出手段と、送信データに対
する受信データの重みが1以内のずれである場合、他の
シンボルの重みのずれか、前記P_2〜P_9、Q_2
〜Q_9のパリテイから生成される(Pi+1−Qi+
1)/(Pi−Qi)(i=2、4、6、8)のいずれ
かによつて誤り位置を検出する第2の誤り位置検出手段
と、Pi−Qi(i=10、11)によつて誤り位置を
チェックする誤り位置チェック手段を有することを特徴
とする誤り訂正システム。(2) An error correction system that corrects errors in received data with respect to transmitted data consisting of a plurality of symbols consisting of predetermined bits, in which at least the transmitting side calculates parity by the sum of bits that are set to 1 in the transmitted data. a first parity P_0 generation means for generating a parity P_0; a second parity P_1 generation means for multiplying and adding a sum of bits that are 1 in one symbol of transmission data by a certain different weight; The third parity P_2 generating means calculates the sum of the values expressed in binary numbers, with the bit that is set to 1 being the least significant bit, and the bit that is set to 1 first in one symbol of the transmission data is expressed in binary numbers as the least significant bit. a fourth parity P_3 generation means that multiplies the value by a certain different weight, and a fourth parity P_3 generation means that inverts the transmitted data and calculates the sum of the values expressed in binary with the first bit set to 1 in one symbol as the least significant bit. 5 parity P_4 generation means, and sixth parity P_5 generation means that inverts the transmission data and multiplies a value expressed in binary with the first bit set to 1 in one symbol as the least significant bit by a predetermined different weight. , a seventh parity P_6 generating means consisting of the sum of the number of consecutive 1 bits between the symbols of the transmission data, and an eighth parity P_6 generating means that adds a sum of the number of consecutive 1 bits between the symbols of the transmission data by multiplying the number of consecutive 1 bits between the symbols of the transmission data. Parity P
_7 generation means and a ninth parity P_8 consisting of the sum of the number of consecutive 0 bits between symbols of transmission data.
a 10th generation means for multiplying and adding a constant different weight to the number of consecutive 0 bits between symbols of the transmission data;
an eleventh parity P_1_0 generating means consisting of the sum of the number of consecutive 0 bits up to the first 1 in one symbol of the transmission data; The twelfth parity P_1_ consists of the sum of the number of consecutive 1 bits until .
1 generation means, at least on the receiving side, first parity Q_0 generation means for generating parity by the sum of bits in which 1 is set in the received data; a second parity Q_1 generating means which multiplies and adds different weights, and a third parity Q_2 generating means which calculates the sum of the values expressed in binary with the first bit set to 1 in one symbol of the received data being the least significant bit. and a fourth parity Q_3 generating means which multiplies and adds a value expressed in binary with the first bit set to 1 in one symbol of the received data as the least significant bit by a certain different weight, and a fourth parity Q_3 generating means which inverts the received data and A fifth parity Q_4 generating means that takes the sum of the values expressed in binary numbers, with the first bit set to 1 in a symbol as the least significant bit, and a fifth parity Q_4 generation means that inverts the received data and sets the first bit set to 1 in one symbol as the least significant bit. A sixth parity Q_5 generating means that multiplies and adds a value expressed as a binary number by a fixed different weight, and a seventh parity Q_6 generating means that consists of a sum of the number of consecutive 1 bits between symbols of received data; Eighth parity Q that multiplies and adds a certain different weight to the number of consecutive 1 bits between symbols of received data
_7 generation means and a ninth parity Q_8 consisting of the sum of the number of consecutive 0 bits between symbols of received data.
a 10th generation means for multiplying and adding a constant different weight to the number of consecutive 0 bits between symbols of received data;
an eleventh parity Q_1_0 generating means consisting of the sum of the number of consecutive 0 bits up to the first 1 in one symbol of the received data; The 12th parity Q_1_ consists of the sum of the number of consecutive 1 bits until .
1 generation means, the straight line generated from the first parity P_0 and the second parity P_1, the first parity Q_0 and the second parity Q_1, and the straight line representing the deviation of the symbol of the actual communication data. a first error position detection means for detecting an error position when the weight of received data relative to transmitted data deviates by more than 1; Weight shift, P_2 to P_9, Q_2
It is generated from the parity of ~Q_9 (Pi+1−Qi+
1)/(Pi-Qi) (i=2, 4, 6, 8); An error correction system characterized by comprising an error position checking means for checking an error position.
た場合としない場合を組み合わせて訂正する誤り訂正手
段を備えることを特徴とする誤り訂正システム。(3) The error correction system according to claim 2, further comprising error correction means for correcting the expressions of 1 and 0 in each of the parity generation means by combining cases where they are inverted and cases where they are not. system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30849890A JPH04181833A (en) | 1990-11-16 | 1990-11-16 | Synchronization error correction system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30849890A JPH04181833A (en) | 1990-11-16 | 1990-11-16 | Synchronization error correction system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04181833A true JPH04181833A (en) | 1992-06-29 |
Family
ID=17981741
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30849890A Pending JPH04181833A (en) | 1990-11-16 | 1990-11-16 | Synchronization error correction system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04181833A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6973610B1 (en) * | 1999-07-22 | 2005-12-06 | Siemens Aktiengesellschaft | Method of providing error protection for a data bit flow |
-
1990
- 1990-11-16 JP JP30849890A patent/JPH04181833A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6973610B1 (en) * | 1999-07-22 | 2005-12-06 | Siemens Aktiengesellschaft | Method of providing error protection for a data bit flow |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6095640A (en) | Method and device for correcting error | |
| US9106388B2 (en) | Parallel CRC computation with data enables | |
| US20140281538A1 (en) | Accelerated signature verification on an elliptic curve | |
| CA2466080C (en) | Obtaining cyclic redundancy code | |
| EP0366331B1 (en) | System and method for error detection in the result of an arithmetic operation | |
| JP2597872B2 (en) | Block synchronization method | |
| US6802038B1 (en) | Cyclic redundancy check computation algorithm | |
| US11128475B2 (en) | Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof | |
| JPH04181833A (en) | Synchronization error correction system | |
| US8015478B2 (en) | Data processing | |
| EP0443753A1 (en) | Method and apparatus for producing order independent signatures for error detection | |
| Jain et al. | Cyclic redundancy codes: study and implementation | |
| EP0619654A2 (en) | Error correction by detection of a degree difference between dividend and divisor polynomials used in euclidean algorithm | |
| JPH04302242A (en) | Method and apparatus for signal transmission | |
| CN111130562A (en) | CRC parallel computing method and system | |
| US7020836B2 (en) | One's complement pipelined checksum | |
| US8250447B2 (en) | Convolution encoder, encoding device, and convolution encoding method | |
| CN113609511A (en) | Data processing and key protection method, device, apparatus, storage medium, and program | |
| JPH03186032A (en) | error correction method | |
| Iwamura et al. | A code to correct synchronization errors | |
| JP2021027542A (en) | Transmission device and transmission method | |
| JPS58162152A (en) | System for transmitting loop | |
| KR20020033227A (en) | Circuit for parallel cyclic redundancy check in data communication | |
| JP2600130B2 (en) | Error correction circuit | |
| JP2717987B2 (en) | Phase uncertainty elimination method using shortened BCH code |