JPS5949618B2 - 巡回ブロック符号のための直列エンコ−ダ - Google Patents

巡回ブロック符号のための直列エンコ−ダ

Info

Publication number
JPS5949618B2
JPS5949618B2 JP56500692A JP50069281A JPS5949618B2 JP S5949618 B2 JPS5949618 B2 JP S5949618B2 JP 56500692 A JP56500692 A JP 56500692A JP 50069281 A JP50069281 A JP 50069281A JP S5949618 B2 JPS5949618 B2 JP S5949618B2
Authority
JP
Japan
Prior art keywords
word
register
encoder
bits
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP56500692A
Other languages
English (en)
Other versions
JPS57500174A (ja
Inventor
ア−ムド・セイド・ヴイツカ−
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co 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 Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of JPS57500174A publication Critical patent/JPS57500174A/ja
Publication of JPS5949618B2 publication Critical patent/JPS5949618B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】 発明の背景 1、発明の分野 本発明は、一般にBoseChaudhuriHoc一
quenghem(BCH)形の巡回ブロツク符号のた
めのエンコーダに関し、特に単一誤り訂正機能を持つた
直列エンコーダに関する。
2.従来技術の説明 BCH形のエンコーダ及びデコーダに関する !ほとん
どの従来技術は、エンコーダに卦いてパリテイチエツク
ビツトを発生するために2進除算技術を用い、またデコ
ーダではシンドロームとそのシ7卜された形式を用いて
いる。
従来技術では、エンコーダにおいて作られる符号語の
lビツトと、デコーダで順次受信されるデータブロツク
を処理するための同期機能との間の同期を維持するため
に必要な論理機能については無視されていた。1972
年以前に卦いては、2進除算は、直 1列接続されたシ
フトレジスタに、一連の排他的論理和ゲートを分散させ
る方法によつて行われるのが普通であつた。
この構成では、エンコーダでの除算において、入カデー
タの拡張データが被除数として用いられ、符号ジエネレ
ータ語 2が除赦として用いられた。除算の各スナツプ
において、部分剰余の先頭ビツトが、シフトレジスタ列
内に、設けられた多数の排他的論理和ゲートに、フイー
ドバツクされる。この従来の構成では、多数の排他的論
理和回路を必要とし、 〉これは特に符号ジエネレータ
語では顕著である。高速の磁気バルブ素子が進歩するよ
うになつて、多数の排他的論理和ゲートや複雑な論理回
路を用いるのは効率が悪くなつた。代りに、直列エンコ
ーダ装置に対して単一の排他的論理和3Cゲートを用い
る手法が取り入れられ、その最初のものは、BellS
ystemTechnicalJour−nal誌の1
972年2月号の論文゛TheDesignandE)
T1bodimentofMagneticDomai
nEncodersforSing1e−ErrorC
orrect−゛ingDecodersforCyc
11cBlockCodes″”に示されて訃り、また
この論文は、関連する従来技術の文献を示している。こ
の論文は単一の排他的論理和ゲートを用いた回路を示し
ている。しかしこの回路は磁気ドメイン技術を対象とす
るものであつた。この技術では、情報のすべてのビツト
は1つのクロツクサイクルの1周期において伝搬しなけ
ればならないという制約条件があつた。従つて、磁気ド
メイン技術は安価な蓄積装置を与えるにもかかわらず、
半導体回路の瞬間的な動作に較べると、すべての動作(
発生、伝搬、センス、削減等)に長い時間を必要とした
。さらに、半導体のシフトレジスタでは、シフト入力を
ある速度で行い、シフト出力を別の速度で行うことがで
きるのに対し、上記の回路ではこのようなことはできな
かつた。また、−ヒ記の論文で示されているエンコーダ
回路は、パリテイビツトの数がデータビツトの数に比較
した時に十分な大きさを持つという特殊な場合に対する
ものであつた。
チヤネル容量を効率良く用いるためには、パリテイビツ
トの数はデータビツトの数に較べて小さいことが望まし
い。上記の論文はこのようなチヤネルの効率的な使用に
ついて触れてもおらず、また従来技術について参照する
こともしていない。上の論文は、デコーダで用いられる
2進除算の処理についても述べている。
一連の排他的論理和ゲートがシフトレジスタ列とともに
用いられている従来の形のデコーダを明確にするととも
に、磁気ドメイン技術の制約のもとで用いられる直列デ
コーダの設計についても記されている。上記の、磁気ド
メインエンコーダに関する制約はデコーダについても成
立する。さらに、上記の論文は、伝送システムを構成す
るエンコーダーデコーダ対の相互間の同期技術の必要性
については言及しているが、具体的な同期手法について
は記されていない。
発明の要旨 以上のような従来技術における制約条件、効率の悪さ、
及び限界は、本発明に従い、エンコーダに}いてパリテ
イビツトを発生するために直列2進除算を用いるととも
にデコーダにおいてシンドロームの繰返しシフトを用い
、シンドロームを繰返しシフトしたものを符号の特性語
と直列比較することによつて誤り訂正情報を得る同期型
単一誤り訂正データ伝送゛?ステムによつて解決された
一般的に述べると、このエンコーダはジユネレー語及び
データ語シフトレジスタ並びに入力及びバツフアシフト
レジスタと、排他的論理和回路と、ゲート及びクロツク
手段とを含んでいる。レジスタへのシフト入力はデータ
語の速度及びその整数倍で行われ、シフト出力は符号語
の速度で行われる。パリテイビツトの数が小さい時には
エンコーダが正しく動作するために、バツフアレジスタ
の1つがセグメントに分割されている。これらのセグメ
ント化されたレジスタは、データ同期要求を満足すると
ともに、エンコードサイクル内に蓄積手段の各々のシフ
ト入力及びシフト出力が行われるというシフトレジスタ
要求をも満足する長さを持つている。デコーダは2つの
実質的に同じ部分から成り、その各々は2つの動作モー
ドを持つている。
その第1のモードでは、到来するデータブロツクが直列
除算によつて処理されて、シンドロームが作られる。一
方の部分がこの第1のモードで動作している時、他方の
部分は第2のモードで動作して、前″に受信されたブロ
ツクのシンドロームを処理し、シンドロームをシフトし
たものが作られる。順次シフトされたシンドロームを評
価する前に、これが一定パターンの特性語と比較され、
誤りが生じたか否かが決定される。第1のモードはデー
タ語の速度及びその整数倍で動作し、第2のモードは
C符号語の速度及びその整数倍で動作する。デコーダの
該部分の各々は、ジエネレータ語、中性語及びシンドロ
ームシフトレジスタ及び受信データバツフアレジスタと
、2つの排他的論理和回路と、ゲート及びクロツク手段
とを含んでいる。2つの部分は2つの動作モードを交互
に実行するため、2つの連続して受信されたブロツクは
任意の時間間隔において処理される。
直列エンコーダ・デコーダ伝送システムにより多くの利
点及び特徴が得られる。
1つの主栗な利点は、パリテイビツトの数が少い場合に
効率の良いブロツク符号が使えることである。
他の利点は、排他的論理和ゲートの数が減少したことで
あり、特に符号ジエネレータ語に対する高密度のゲート
が大幅に減少している。また他の利点として、(1)エ
ンコーダにおけるデータ及び符号語内のビツトと、(i
i)デコーダにおける受信語と訂正された語内のビツト
、との間の同期が容易に達成されている。また1つの特
徴としてはブロツクによつてジエネレータ語を変える能
力があり、伝送の機密性を増大させることができる。
【図面の簡単な説明】
第1図は、(7、4)・・ミング符号の処理の例を示す
ための、従来技術による直列除算処理装置の回路図であ
り、第2図は、p≧O.414kを満足する一般的な(
n.k)ブロツクコードのための従来技術による直列エ
ンコーダの回路図であり、第3図は第2図のエンコーダ
の種々の処理間隔を示すタイミング図であり、第4図は
、pく0.414kである一般的なブロツク符号の直列
エンコーダの本発明に従つた一実施例を示す回路図であ
り、第5図は、一般的な(n.k)ブロツク符号のため
の直列デコーダの本発明に従つた一実施例を示す回路図
であり、第6図は、第5図のデコーダの種々の処理間隔
を示すタイミング図である。 詳細な説明説明を明確にするために、実施例の説明に当
つては、機能の理論的基礎について述べる。 種々の可能なBHCコードの1つの特定のコードを表わ
す(7、4)・・ミングコードを理論的概念を示すため
の例とする。また基本的概念を例示するために、前述の
論文に記されている特殊なデコーダについて論じる。エ
ンコーダ、デコーダ及びこれらの組合せに関する一般的
な実施の説明は機能の基礎の説明の後に行う。1.機能
の理論的基礎 ここで述べる説明の主たる目的は、巡回ブロツク符号に
付随する用語を確立することど、このようなコードの数
学的取り扱いを定義することにある。 これらの概念のより完全な定義は1961年にJohn
Wi1eyandSons社から出版されたW.W.P
eterson著の本ErrorーCorrectin
gCodesに示されているoブロツク符号は、kケの
情報ビツトからなる2進ブロツクと、これに付随するp
=n−kビツトのパリテイビツトから成る2進ブロツク
とから形成される(n1k)ブロツク符号によつて表わ
される一連の符号からなる。ここで、kビツトブロツク
をデータ語と呼び、またnビツトブロツクをチヤネル語
、pビツトブロツクをパリテイチエツク語と呼ぶ。(注
意すべきことは、ここで1語1と呼ぶものは一定のビツ
ト長を持たない。よつて、例えば、データ語はkビツト
から成り、チヤネル語はnビツトから成るというふうに
使う。)取扱いのために(さらに高度な数学的な目的の
ために)、種々の符号語に多項式を対応させると都合が
良い。 一例として、あるnビツトチヤネル語が1010011
で表わされるビツト流を持つ時、その多項式表示はとな
b1これは第1、第3、第6及び第7の2進位置の1に
対応している。 巡回符号の各々に対し、そのすべてのチヤネル語を除算
する多項式gωが存在する。 この多項式は符号のジエネレータと呼ばれ、その長さは
(P+1)ビツトである。多項式g(x)はこれが定義
される体において既約であり素因数であるO符号語のジ
エネレータ多項式での除算の例を示すために、上のcω
をそのジエネレータg(x)=x3+x+1(1011
)で除算すると次のようになる。 すなわち剰余は図のように3桁の2進ゼロとなる。 上の除算の過程において、5プラス″゛記号は排他的論
理和操作を表わす。除算をこのような規則で行うと、多
項式除算のビツトの扱いのみによ)、よク短い形式で行
うことができる。すなわち上の除算を次のように行うこ
とができるO一般に、c(x)の最初のkビツトはデー
タ多項式を表わし、これをd(x)と記すものとし、ま
たc(x)の最後のp=n−kビツトはパリテイチエツ
ク多項式を表わし、これをp(x)と記すものとする。 各d(x)に対してp(x)を得るために、各d(x)
にpケのゼロを付加することによつて、e(x)と記す
拡張データ多項式を作る。上のc(x)については、d
ω及びe(x)はそれぞれビツト列1010及び101
0000によつて表わされる。e(x)をg0c)で除
算することにより、予想される通り011が得られる。
上の議論に従えば、エンコーダの一般的機能は、データ
源からの連続するブロツクから情報d(x)を受信し、
チヤネル語c(x)を作ク出すことである。 これを2つの機能に分割すると、次のようになる。(1
)拡帳データ語e(x)を作つてこれをジエネレータ関
数g(x)で除算する。(11)剰余p(x)をd(x
)に付加してc(x)を形成する。チヤネル語c(x)
がシステム内を伝送されると、誤りがランダムに発生し
て受信ビツトパタンを変えてしまう可能性がある。単一
誤り訂正システムでは、デコーダはd(x)の元の情報
(ビツト)を復元する。受信されたチヤネル語をr(x
)と記す0誤りを検出し訂正するために、デコーダは先
ずr(x)をg(x)で除算する。この時得られる長さ
pビツトの剰余をシンドロームと呼び、8(x)で表わ
す。このシンドロームは、r6c)で表わされる符号の
特性多項式と比較される。特性多項式はxn−1をg(
x)で除算した時の商として与えられる。もし、シンド
ロームがr(x)に一致していると、誤)が第1のビツ
ト位置、すなわちxn−1に対応する位置で発生してい
ることが示される。一致しない時には、シンドロームが
シフトされ、すなわちxが乗算されて、xs侵)が得ら
れる。このシフトされた多項式がg(x)で除算され、
その剰余がr(x)と比較される。一致すると、xn−
2に対応する位置に誤りのあることが示される0一致し
なければ、さらにシフト及び除算が繰り返えされる。シ
フト、除算及び比較が繰返えされて一致が検出されるか
、あるいは誤りがない場合には、次に受信された語r6
c)の処理へと進む。デコーダの機能に関する上の議論
の例を示すために、上記のチヤネル語c(x)の3番目
のビツ卜位置に誤りが生じたものとし、r(x)=x6
+x+1(1000011)とする。 ジエネレータ語1011に対する特性語r(x)は次の
ように計算できる。すなわち、r(x)=x2+1とな
る。 r(x)をg(x)で割ると、より、s(x)=x2
+xとなる。 このs(x)はr(x)とは一致しないため、シンドロ
ームはシフトされて、さらに除算される。 これらの繰返しを簡略化して記すと、次のようになる。
x2s(x)の剰余とr(x)とが一致するため、 3
番目のビツト位置が訂正(反転)され、d(x)を表わ
す始めのkビツトがデコーダによる後処理のために抽出
される。 上記の除算処理を回路で行う方法を示すために、(7、
4)ハミングコードのエンコーダを表わす第1図の回路
について考える。 この回路は前記の論文に示された符号器を修正したもの
である。g(x)(1011)の下位pビツトをg″ω
(011)で表わすものとすると、これは循環シフトレ
ジスタ100に蓄えられる。 循環の前及び後のいずれに訃いても、レジスタ位置10
1が最上位ビツト(0)を蓄え、レジスタ位置102が
次の上位ビツト(1)を蓄え、レジスタ位置103が残
りのビツトを蓄えている。シフトレジスタ200は2つ
の働きをする。すなわち、(1)最初、レジスタ位置2
01乃至204はd(x)で表わされるデータ語を受信
して位置201が最上位ビツトとなるようK該語を蓄え
る。次に(ii)除算過程が進行する時、レジスタ位置
201乃至204は部分剰余を蓄え、k(4)回の循環
で得られる剰余がパリテイチエツク語p(x)を表わす
ようになる。スイツチS4はレジスタ201の内容に応
動し、レジスタ201の内容が論理1の場合にのみ閉じ
る。シフトレジスタ100及200の内容は最初それぞ
れg′6c)及びd(x)によつて初期化された後は、
同期して循環して排他的論理和回路150によつて比較
される。レジタ100は時計方向に循環するのに対して
、トランジスタ200は反時計方向に循環する。次のデ
ータ語の最初のビツトが現れる前にパリテイチエックビ
ツトを計算してその結果を出力バツフアに送出すること
ができるようK1循環時間が決定される。エンコーダ1
0は、前のサイクルの終了後、空にされた後、次のよう
に動作する。 最初の3ビツト(101)がレジスタ200及び出力バ
ツフア300にシフトして入れられパリテイチエツクビ
ツトがバツフア300に送り出され、シフトレジスタは
空となる。 次にステツプ1に戻り、次のデータ語に対する処理が繰
返えされる。一般化した(n.k)ブロツク符号で、p
〉0.414kを満足する符号に対する従来技術の直列
エンコーダ10が第2図に示されている。 このエンコーダは第1図と同様の除算回路を用いている
。第2図の回路で、到来するデータビツトはnt秒ごと
にリード2011に一様に現れ、符号化された情報はk
t秒ごとにリード2012へ送出される。符号情報はシ
フトレジスタ2400、2500及び2600に分割さ
れて蓄積される。これらのレジスタは、kt秒ごとにそ
れぞれスイツチS6、S7及びS8によつて空にされる
。ある時点に}いて、これらのスイツチの1つのみが閉
じられる。シフトレジスタ2400(R1)は長さpで
あり、パリテイチエツクビツトを蓄える。シフトレジス
タ2500(R2)も長さpであり、現在のデーるOシ
フトレジスタ200がもう1度シフトされ、データの最
上位ビツトが位置201に入り、4+1番目のデータビ
ツト(0)が位置204及び出力バツフア300に同時
に入れられる。 シ7トレジスタ100及び200は1回だけ完全に循環
する。 シフトレジスタ200は1回だけシフトされて、位置2
02のビツトが位置201に入り、位置204にばO″
゛ビツトが入る。 ステツフ)。3及び4はさらに3回繰返えされ、その各
々においてレジスタ位置201の内容がスイツチS4の
セツトのために用いられる。 これで除算は完了する。レジスタ2300においてnt
/p秒ごとにレジスタ位置間を伝搬する。 d′(x)のビツト(p+1)の到着は、d′(x)の
最初のビツトがレジスタ位置2202から位置2にある
スイツチS5を介して位置2201へ動き、第2のビツ
トのビツトの位置2203から位置2202への動き、
等と同期しており、ビツト(p+1)は位置1にあるス
イツチS1を介してレジスタ位置2207へ入れられる
。 レジスタ2200の内容のレジスタ2100の内容(g
′(x))による除算のための循環は、次のk回のnt
間隔にふーいて行われる。レジスタ2100及び220
0におけるレジスタ位置間の循環伝搬はnt/p秒ごと
に行われる。スイツチSA..S4及びS5の動作は、
第1図のスイツチS4、S3及びS5の動作と同じであ
る。2進除算処理は、データ語d′(x)のビツト(p
+1)乃至kの到着に同期して行われる。 これらの(k−p)ビツトは、各ビツトがnt秒ごとに
到着してレジスタ位置2207に蓄えられる度にスイツ
チS1からレジスタ2600に蓄えられる。さらに、除
算処理中において、レジスタ2500に蓄えられていた
データは(2n−k)kt秒の遅延の後、空にされ、続
いてレジスタ2600の内容が送シ出される。レジスタ
2200に入つているpケのパリテイビツトはレジスタ
2600の最後の送り出し動作に先立つてnt間隔中に
シフトレジスタ2400にシフトされる。 また、シフトレジスタ2300は、この同じnt間隔に
おいて、次のデータ語d゛(x)のpビツトを累積する
。レジスタ2400、2500及び2600が適切な時
点で空にされれば、上のサイクルは無限に繰返すことが
できる。第2図のエンコーダ10の動作は、第3図のタ
イミング図のように要約することができる。 行(1)はデータ語d′(x)及びd゛(x)の到着間
隔を示している。行(ii)はこれらのビツトがレジス
タ2300からレジスタ2200及び2500ヘシフト
される間隔を示している。行(111)は、2進除算処
理が行われる間隔を示している。行(v)はパリテイビ
ツトがシフトされる時刻を示している。最後の行(V)
はセグメント化された符号情報がシフトレジスタ240
0、2500及び2600からシフト出力される順番を
示しているO2.エンコーダの実施例 第2図及び第3図を詳細に見るとわかるように、レジス
タ2400、2500、及び2600の構成は、pがk
に較べて小さい場合には不適切なものとなる。 特にp〈(x/2−1)kであると、第2図の従来技術
によるエンコーダは機能しない。これは、ビツト(p+
1)がレジスタ内をレジスタ位置2601へ伝搬する前
にpケのビツトのすべてがレジスタ2500からシフト
して出力されてしまうためである。このときレジスタ2
600はまだシフト入力されているため、シフト出力を
始めるための正しいビツトパタンを蓄えられない。多く
の実用的な符号では、チヤネル容量を効率良く利用する
ために、pを小さくする必要があるため、p〈(sV′
2ー1)kの条件はシステム設計の制約条件となる。従
来技術の効率の悪さを改善する本発明に従つたエンコー
ダの実施例が第4図に示されている。この構成では、ビ
ツト(T5+1)乃至kを蓄えるレジスタ(第2図では
レジスタ2600)は、セグメントレジスタ4600、
4700及び4800に分割されている。この新しい構
成はデータ同期の要求を満足するとともに、シフトレジ
スタはエンコードサイクルに}いて予め定めた期間内に
シフト入力及びシフト出力ができるという規約を満足し
ている。デコーダ12の実施例において、セグメントを
分割するのに一般に2つの方法がある。 その最初の方法では、−般後のセグメントを除くすベて
のセグメントの長さをpにし、最後のセグメントの長さ
は、(k−p)ビツトと、長さpのセグメントに割当て
られたビツト数との差とする。第2の方法では、セグメ
ント長を幾何級数に比例して定める。これらの原理を例
示するために、(15、11)ブロツク符号について考
える。 この符号の時p=4であり、p〈(VΣ−1)k=4.
5となる。レジスタ4600、4700及び4800は
、次のようにして、間隔(p+1)(nt)乃至k(n
t)中に蓄えるために、7(=k−p)ビツトを分割す
るようセグメント化される。上記第1の方法では、レジ
スタ4600は長さ4となり、レジスタ4700は長さ
3となり、レジスタ4800は不必要となる。幾何級数
的構成では、レジスタ4600は長さ4となり、レジス
タ4700は長さ2となり、また最後に到着する1ビツ
トがレジスタ4800に蓄えられる。31,26符号の
場合には、第1の方法では長さ5の4ケのセグメントレ
ジスタと、長さ1の1ケのレジスタを必要とする。 幾何級数的構成では、長さ、1、2、4、8及び6のレ
ジスタを必要とし、このうち最後のレジスタは幾何級数
的には割当てられなかつたビツトに対するものである。
第4図の素子のうち、レジスタセグメント4600、4
700及ひ4800以外のすべての素子の動作は第2図
のものと同じである。 (第2図の参照番号は第4図では2000だけ増分され
ている。)レジスタ4600、4700及び4800の
動作においては、シフト入力は間隔(p+1)(nt)
乃至k(nt)中に生じ、シフト出力は間隔(p+1)
(nt)乃至ニk(nt)中に生じる。具体的には、レ
ジスタ4600は、(p+1)(nt)乃至m(nt)
にシフト入力され、レジスタ4700は(m+1)(n
t)乃至e(nt)に駆動されて、以下同様であり、レ
ジスタ4800は(e+1)(nt)ニ乃至k(nt)
にシフト入力される。値m1 e1・・・、は、一株分
布又は幾何級数技術によつて決められる。スイツチS9
及びS10はビツトのチヤネル4012への伝搬を同期
させる。ここで述べたエンコーダとこれに付随する方5
法論は、例として示した特定の形式に限定されるもので
はなく、添付の請求範囲のみによつて限定される他の実
施例についても適用できることはいうまでもない。 3.デコーダの実施例 j第
5図に示した回路図は、本発明に従つて実現されたデコ
ーダの一実施例を示している。 一般的に、デコーダ操作は次の3ステツプから成る。(
1)受信された語r仮)のシンドロームs(x)の計算
。(6)シンドロームs(x)に対するシフトと除。算
の処■すなわちs(x)にxe e=o、1、k−1を
乗算し、次いで除算XeS(X)/g(X)を行う。0
11)シフト及び除算の後、その部分剰余を特性多項式
r(x)=xn−1/g(x)と比較する。 第5図のデコーダ20は、ともに長さpの2つのシンド
ロームシフトレジスタ5200(SR1)及び6200
(SR2)を持つている。 レジスタ5200はr゛″(x)又はr゛(ビツトr,
″゛、i=1、2、・・・、nとする)と記す1つの受
信語を処理して対応するシンドロームを決定し、レジス
タ6200は、前に受信された語r′ωのシンドローム
に対してシフトと除算を行う。長さpのシフトレジスタ
5100(g″(x))及びレジスタ5200は、排他
的論理和回路5030及びスイツチSA1、及びSB1
とともに基本的直列除算回路を構成する。 シンドロームの計算中に、この直列除算回路はkt秒ご
とに1回循環する。このとき、レジスタ位置からレジス
タ位置への伝搬時間はkt/pである。シフトレジスタ
5400(r″゛(x))は、r゛″ωのシンドローム
が計算されているのと同じ時間中にリード5011に到
着するr゛(x)の最初のkビツトを蓄える。長さpの
シフトレジスタ5300は物性多項式r(x)を計算す
る。 レジスタ5300に付随したデコーダ部がシフト及び除
算モードで動作する時、レジスタ5300の内容は排他
的論理和回路5031によつてレジスタ5200の内容
とビツト毎に比較される。この比較モードにおける循環
のために、nt期間を必要とし、これはレジスタ位置間
の伝搬時間nt/pに対応している。この比較循環と同
期してレジスタ5400のシフト出力動作が行われる。
第e回目のシフト及び除算動作の後のレジスタ5200
の内容であるpビツトのすべてがrωのpビツトのすべ
てに一致すると、『″ω内のe番目のビツトが排他的論
理和ゲート5022で反転されて、誤り訂正が行われる
。 この訂正は、インバータ5020及びトグル回路502
1の助けによつて達成される。比較の各ビツトは回路5
020で反転され、トグル5021は、e番目のデータ
ビツトに対応してnt間隔中に受信されたpビツトのす
べてが論理1のときにのみ論理1出力を発生する。シフ
トレジスタ5200に対応する部分に対して行つたのと
同様の構造及び動作の説明が、レジスタ6200に付随
したもう一方のデコーダ部に対してもそのまま適用でき
る。 後者の部分の参照番号は前者の部分に対して1000だ
け増分されている。データの同期はスイツチSC,.S
D..SE及びSFによつて行われる。 これらのスイツチは一連の受信語に対して位置1と2の
間で切り換えられる。訂正されたデータ語は、排他的論
理和ゲート5022の出力であるリード5012へ現れ
る。第5図のデコーダ20のタイミング図が第6図に示
されている。 行(1)は受信語r′ω及びr゛″ωが、ブロツク長n
で、各ビツト毎にkt秒の間隔で到着することを示して
いる。荏11)は最初のp(kt)間隔において、受信
されるデータビツトr?′ レジスタ6200に入れら
れることを示している。ビツト(p+1)が到着すると
、kステツプの除算が開始されて、次のk(kt)秒だ
け続く。r゛″が受信中でありそのシンドロームを決定
するためにレジスタ5200で処理されている(行(V
))時に、r′0)シフトされて除算されたシンドロー
ムの比較が行われるo行011)は、r゛の最初のkビ
ツトのみがレジスタ6400に蓄えられることを示して
おり、これはkt秒の入力速度で行われる。レジスタ6
400は間隔(n−k)kt乃至nktにおいては消勢
されている。次にレジスタ6400はnt秒に1ビツト
の割合いでシフト出力を行う。行4v)及び〜)は、行
(11)及び(Jil)と同様のタイミングで、もう一
方のデコーダ部で行われる動作を示している。行(VI
)は、正しい同期を行うためのスイツチSC1SD1S
E及びSF(D股定を示している。最後に、行(V:l
)は、第1及び第2のデコーダ部に付随した直列除算ス
イツチSA1、SB1、及びSA2、SB2の駆動を示
している。以上で述べたデコーダ及びそれに付随する方
法論は、例として示した特定の形式に限られるものでは
なく、添付した請求の範囲のみによつて限定される他の
実施例にも適用できることはいうまでもない。

Claims (1)

  1. 【特許請求の範囲】 1 入力のkビットデータ語から巡回符号化されたnビ
    ットチャネル語を発生するために、p個のバリテイビッ
    トを発生するための直列シフト除算手段を含むエンコー
    ダにおいて、予め定めた長さに従つて該データ語のビッ
    ト(p+1)乃至kを蓄えるために該予め定めた長さを
    持つ並列構成のレジスタセグメントに分割されたシフト
    レジスタ手段を有することを特徴とするエンコーダ。 2 請求の範囲第1項記載のエンコーダにおいて、複数
    個の予め定めた長さのレジスタセグメントが実質的に等
    しいことを特徴とするエンコーダ。 3 請求の範囲第1項記載のエンコーダにおいて、複数
    個の予め定めた長さのシフトレジスタセグメントが幾何
    級数に比例することを特徴とするエンコーダ。 4 入力のにビットデータ語4011から巡回符号化さ
    れたnビットチャネル語4012を発生するためのエン
    コーダ(第4図)と、語チャネル語を表現する受信語5
    011の誤り訂正行うためのデコーダ20との組合せに
    おいて、該エンコーダが、p個のパリテイビットを発生
    するための直列シフト除算手段4100、4150、4
    200、SA、S3、S4、S5と、該バリテイビット
    を蓄え、さらに予め定めた長さに従つて該データ語のビ
    ット(p+1)乃至にを蓄えるために、該予め定めた長
    さ(m−p、L−m、K−L)を持つレジスタセグメン
    ト4600−4800を含む並列構成のレジスタに分割
    されたシフトレジスタ手段4400−4800とを含ん
    でおり、前記デコーダが、該受信語のシンドロームを繰
    返しシフトしたものを発生するために、該受信語を直列
    にシフト及び除算するための手段5100、5030、
    5200、SA1、SB2と、直列にシフト及び除算す
    るための該手段と交互に動作し、符号の特性多項式を該
    シンドロームを繰返しシフトしたものと比較するための
    手段6100、6030、6200、SA2、SB2と
    、該比較手段からの予め定めた出力に応動し、該シンド
    ロームを繰返しシフトしたものを発生するために行われ
    た繰返し回数に従つて該受信語の訂正を行うための手段
    5020、5021、5022、6031、6300、
    SF)とを含んでいることを特徴とするエンコーダーデ
    コーダ回路。
JP56500692A 1980-02-07 1981-01-15 巡回ブロック符号のための直列エンコ−ダ Expired JPS5949618B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US000000119420 1980-02-07
US06/119,420 US4312069A (en) 1980-02-07 1980-02-07 Serial encoding-decoding for cyclic block codes

Publications (2)

Publication Number Publication Date
JPS57500174A JPS57500174A (ja) 1982-01-28
JPS5949618B2 true JPS5949618B2 (ja) 1984-12-04

Family

ID=22384320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56500692A Expired JPS5949618B2 (ja) 1980-02-07 1981-01-15 巡回ブロック符号のための直列エンコ−ダ

Country Status (6)

Country Link
US (1) US4312069A (ja)
EP (1) EP0034036A3 (ja)
JP (1) JPS5949618B2 (ja)
CA (1) CA1155229A (ja)
GB (1) GB2069732B (ja)
WO (1) WO1981002352A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0759420B2 (ja) * 1987-08-31 1995-06-28 マンヴイル コーポレーシヨン カートン・パネル錠止構造

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3134831A1 (de) * 1981-09-03 1983-03-10 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt System zur uebertragung digitaler informationssignale
US4723246A (en) * 1982-05-11 1988-02-02 Tandem Computers Incorporated Integrated scrambler-encoder using PN sequence generator
US4488302A (en) * 1983-02-11 1984-12-11 At&T Bell Laboratories Burst error correction using cyclic block codes
US4597090A (en) * 1983-04-14 1986-06-24 Codex Corporation Block coded modulation system
JPS59229709A (ja) * 1983-06-10 1984-12-24 Toshiba Corp 画像情報記録装置
US4623999A (en) 1984-06-04 1986-11-18 E-Systems, Inc. Look-up table encoder for linear block codes
GB2214759B (en) * 1988-01-18 1992-01-02 Plessey Co Plc High speed digital data link
US5040179A (en) * 1989-08-18 1991-08-13 Loral Aerospace Corp. High data rate BCH encoder
US5048056A (en) * 1990-06-08 1991-09-10 General Datacomm, Inc. Method and apparatus for mapping an eight dimensional constellation of a convolutionally coded communication system
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
JP3170920B2 (ja) * 1992-12-25 2001-05-28 ソニー株式会社 エラー訂正方法及び訂正回路
US5481566A (en) * 1993-12-29 1996-01-02 At&T Corp. Method and apparatus to increase efficiency of systematic codes
US5938773A (en) * 1996-03-14 1999-08-17 Intel Corporation Sideband signaling with parity bit schemes
IL122393A0 (en) * 1997-12-01 1998-06-15 Ttr Technologies Ltd A code word for use in digital optical media and a method of generation thereof
CN1111961C (zh) * 2000-10-13 2003-06-18 太原理工大学 快速纠多位错的编码译码器
JP3902763B2 (ja) * 2001-03-30 2007-04-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データビットストリームをデコード及び変換する方法及び装置並びに信号及びレコードキャリア
GB2377346B (en) * 2001-07-02 2003-10-08 Matsushita Comm Ind Uk Ltd Error trapping and correction for cyclic codewords
US20040163030A1 (en) * 2003-02-13 2004-08-19 International Business Machines Corporation Iterative error correcting system
EP1460765A1 (en) 2003-03-19 2004-09-22 STMicroelectronics S.r.l. Method for performing error corrections of digital information codified as a symbol sequence
US8347186B1 (en) * 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3475725A (en) * 1966-12-06 1969-10-28 Ibm Encoding transmission system
US3568148A (en) * 1969-04-02 1971-03-02 Radiation Inc Decoder for error correcting codes
US3774153A (en) * 1971-11-09 1973-11-20 Bell Telephone Labor Inc Field-accessed, single-wall domain apparatus utilizing interacting shift register loops
DE2250307A1 (de) * 1972-10-13 1974-04-25 Licentia Gmbh Verfahren und anordnung zur anpassung der datenuebertragungsgeschwindigkeit eines kanals an die verarbeitungsgeschwindigkeit einer elektronischen datenverarbeitungsanlage
FR2270640B1 (ja) * 1974-02-19 1976-10-08 Cii
GB1500232A (en) * 1974-07-04 1978-02-08 Marconi Co Ltd Digital data signal transmission arrangements

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0759420B2 (ja) * 1987-08-31 1995-06-28 マンヴイル コーポレーシヨン カートン・パネル錠止構造

Also Published As

Publication number Publication date
CA1155229A (en) 1983-10-11
GB2069732B (en) 1984-03-14
GB2069732A (en) 1981-08-26
EP0034036A3 (en) 1982-03-17
WO1981002352A1 (en) 1981-08-20
US4312069A (en) 1982-01-19
JPS57500174A (ja) 1982-01-28
EP0034036A2 (en) 1981-08-19

Similar Documents

Publication Publication Date Title
JPS5949618B2 (ja) 巡回ブロック符号のための直列エンコ−ダ
US4928280A (en) Fast processor for multi-bit error correction codes
EP0114938A2 (en) On-the-fly multibyte error correction
US4473902A (en) Error correcting code processing system
JPH0831803B2 (ja) 誤り訂正のための方法と装置
JPH0452556B2 (ja)
JPH02148225A (ja) 有限体の乗法的逆数元を計算するデータ処理方法及び装置
EP0393080B1 (en) Hypersystolic reed-solomon encoder
EP0753942A2 (en) Word-wise processing for reed-solomon codes
US11552732B2 (en) Polar coding system and parallel computation method for polar coding system
US4488302A (en) Burst error correction using cyclic block codes
JPH0728227B2 (ja) Bch符号の復号装置
US20080040650A1 (en) Symbol Reconstruction in Reed-Solomon Codes
KR19990016134A (ko) 고속 시리얼 에러 위치 다항식 계산회로
CN101273532A (zh) 解码装置及接收装置
JP3345385B2 (ja) チェンサーチ装置
US3571795A (en) Random and burst error-correcting systems utilizing self-orthogonal convolution codes
EP1427109A2 (en) Apparatus and method of calculating a cyclic redundancy check value for a multi bit input data word
EP0991196B1 (en) Method of correcting lost data and circuit thereof
Berlekamp et al. A Hypersystolic Reed-Solomon Decoder¹
EP0341851A2 (en) Method and apparatus for interleaved encoding
Lee et al. Algebraic decoding of the (73, 37, 13) quadratic residue code
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
JP2665268B2 (ja) サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器
JP2752510B2 (ja) 誤り訂正復号器