JP2829678B2 - 順方向誤り訂正コード方式 - Google Patents

順方向誤り訂正コード方式

Info

Publication number
JP2829678B2
JP2829678B2 JP3507122A JP50712291A JP2829678B2 JP 2829678 B2 JP2829678 B2 JP 2829678B2 JP 3507122 A JP3507122 A JP 3507122A JP 50712291 A JP50712291 A JP 50712291A JP 2829678 B2 JP2829678 B2 JP 2829678B2
Authority
JP
Japan
Prior art keywords
symbols
symbol
unknown
codeword
cell
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 - Lifetime
Application number
JP3507122A
Other languages
English (en)
Other versions
JPH05508750A (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.)
BERU KOMYUNIKEESHONZU RISAACHI Inc
Original Assignee
BERU KOMYUNIKEESHONZU RISAACHI 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 BERU KOMYUNIKEESHONZU RISAACHI Inc filed Critical BERU KOMYUNIKEESHONZU RISAACHI Inc
Publication of JPH05508750A publication Critical patent/JPH05508750A/ja
Application granted granted Critical
Publication of JP2829678B2 publication Critical patent/JP2829678B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/17Burst error correction, e.g. error trapping, Fire codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 発明の分野 本発明は、電気通信チャネルによって送信されたデー
タにおける消去を訂正するための順方向誤り訂正コード
の方法とその機構に関する。特に本発明は、データ破損
の主なる原因がスイッチ停滞である広帯域電気通信ネッ
トワークにおいて有用である。
ネットワークの背景 広帯域電気通信ネットワークでは、ネットワーク機能
に対する色々な利用法の必要条件を満たし、終端間にて
さまざまのチャネルにおいて情報転送を行なうため、移
送プロトコルが使用されている。移送プロトコルにおけ
る一つの問題点として誤り制御がある。通信ネットワー
クが受け入れ不可能な誤り率を示した場合、移送プロト
コルは誤りを検知し、失われた情報を回復しなければな
らない。、移送プロトコルは、スループット、遅延、費
用などの面での条件で無理することなく、許容の信頼性
をもったチャネルであるのが理想的と言える。
チャネルの信頼性を改善するため、現在数種のコーデ
ィング技術が採用されている。「自動繰り返し要求(Au
tomatic Repeat reQuest:ARQ)」システムでは、誤り検
知コードを使用して誤りを検知するよう十分なパリティ
ビットが送信される(参照:P.G.Farrell,“Influence o
f LSI and VLSI Technology on the Design of Error C
orrection Coding Systems,[誤り訂正コード方式の設
計におけるLSI及びVLSI技術の影響]"Proc.IEE,Vol.12
9,Pt.F,No.5,1982年10月など)。しかしながら、破損さ
れたデータは、検知された誤りを訂正するための十分な
情報がパリティビットにないため常に再送信されなけれ
ばならない。再送信回数はチャネルの誤りの分散によっ
て決定されるので、遅延時間には上限がないとも言え
る。
順方向誤り訂正(Forward Error Correction:FEC)コ
ードにおいては、十分に余分のパリティビットが送信さ
れるため、さらに再送信することなく、予期最大量の破
損データを受信器側が訂正することができる。(参照:
R.J.McEliece,“The Theory of Information and Codin
g,"[情報とコーディングの理論]Addison Wesley,197
7;I−S.Hsu,I.Reed,T.Truong,K.Wang,C−S Yeh and L.D
eutch,“The VLSI Implementation of a Reed−Solomon
Encoder Using Berlekamp′s Bit−Serial Multiplier
Algorthm,"[バーレキャンプのビット・シリアル乗数
アルゴリズムを使用したReed−SolomonエンコーダのVLS
I実行]IEEE Transactions on Computers,Vol.33,No.1
0,pp.906−911,1984年10月;H.Shoa,T.Truong,L.Deutch,
J.Yuen and I.Reed,“A VLSI Design of a Reed−Solom
on Decoder,"[Reed−SolomonデコーダのVLSI設計]IEE
E Transaction on Computers,Vol.33,No.10,pp.906−91
1,1984年10月;H.Shoa and I.Reed,“On the VLSI Desig
n of a Reed−Solomon Decoder Using Systolic Array
s,"[収縮アレイを使用したReed−SolomonデコーダのVL
SI設計について]IEEE Transaction on Computers,Vol.
37,No.10,pp.1273−1280,1988年10月など)。FECコード
は、戻りチャネルがない場合、または遅すぎる場合に使
用される。一般的に、FECコードは衛星や遠隔宇宙での
電気通信に使用されている。
また、ARQとFECコード両方の特色を組み合わせたハイ
ブリッドシステムもある。一方のハイブリッドシステム
においては、送信されたパリティビット使用して受信器
が誤り訂正および誤り検知を行なう。受信器は誤り訂正
コード(FECなど)を使用してある程度までの数の誤り
は訂正するが、誤り数が多すぎると受信器は誤り検知コ
ード(ARQなど)を使用して再送信を要求する。もう一
方のハイブリッドシステムでは、元のメッセージはARQ
システムと全く同様に生成されるが、受信器が誤り検知
を実施できる分だけの余分のビットと共に送信される。
しかしながら、再送信が要求された場合、メッセージ全
部を再送信するのではなく、送信器はFECコードからパ
リティビットを送り、失われたデータを受信器側で再構
築できるようにする。
現在の商用電気通信およびコンピュータシステムで
は、ARQがほとんど独占的に使用されている。特に、電
話チャネルは可変容量を有しているためEFCでは非能率
的であり、または信頼できない。さらに、現存するFEC
アルゴリズムは非常に複雑であるため、FECでは遅すぎ
る、または高価になり過ぎる傾向がある。
しかしながら、ARQ訂正コードは概して広帯域ネット
ワークでの使用に適していない。具体的に言うと、ビデ
オ送信のような実時間使用の際に、絶対確実な終端間遅
延が必要である。つまり、人間の反応時間、一般的には
50msから500msが必要になる。5000キロメートルの大陸
横断リンクにおける約25msから50msの一方向通信遅延
は、必要な再送信数が受け入れ可能範囲を越えるような
遅延を引き起こすため、単にARQのみを使用することは
できない。
広帯域ネットワークでARQを使う際のもう一つの難点
は、帯域幅が増加するに従いARQに必要なハードウェア
が急速に増大して行くという点である。
広帯域ネットワークにおけるARQでのさらにの問題は
マルチキャスティングの方法に関する。マルチキャステ
ィングの方法では、データは1つのソースから特定数の
複数の受信器に送信されるが、マルチキャスティング・
システムでは受信器数が多いため、ARQは大幅な性能低
下を起こす。再送信数は受信器数によって決定されるの
で、低い誤り率にも関わらず待ち時間が大きくなる。ま
た、送信されたデータのブロックは、マルチキャスティ
ング・グループ全体からアック(肯定または否定)を受
けるまで送信器から削除できないため、送信器の複雑さ
は受信器数と比例していると言える。
広帯域ネットワークでは、FECはARQよりも効率が高
い。FEC符号化(encoding)およびデコーディング遅延
は通信時間と比較して小さくしたままにできる。具体的
には、FECは一方向通信のみで最大の待ち時間を有する
ということになる。さらに、ARQとは対照的に、FECは誤
りを常にデコードし訂正しようとし、それによって送信
されたデータをソースで記憶・管理する必要性が削減さ
れる。故に、ARQと比較して、FECは広帯域マルチキャス
ティングよる送信に、より望ましい形態である。さら
に、FECハードウェアは、高ビット率でARQハードウェア
ほど複雑になる必要がない。
現在入手できる高性能で待ち時間の少ないFECコード
は計算上たいへん複雑になっている。例えば、Reed−So
lomon(RS)巡回ワード誤り訂正コードはつい最近にな
ってようやく1秒間に100メガビットの速度で実行でき
るVLSIチップ1枚で使用されるようになった。
その他のFECコードは(参照:M.O.Rabin,“Efficient
Dispersal of Information for Securiry,Load Balanci
ng,and Fault Tolerance,"[保護、ロードバランス、お
よび故障許容の情報の効率的分散]Journal of the AC
M,Vol.36,No.2,pp335−348,1989年4月など)さまざま
な欠点があり、例えば、元のデータが明確な形態で送信
されず、コードが計算上複雑なため遅く、また実施が困
難である。
上記の見解により、未発明の目的は、既存のFECコー
ドよりも計算上単純なFECコードを提供することにあ
る。さらに本発明のもう一つの目的は広帯域ネットワー
クで使用されるのに適したRSコードの単純化バージョン
を提供することにある。
既存の電気通信ネットワークでは、リンク誤りの特性
はインパルス雑音(例えば電話の銅線近辺での落雷な
ど)に強く影響され、誤りはランダムな時間に起こり、
ランダムな持続時間のバーストで起こる。広帯域ネット
ワークでは光ファイバ送信設備が使用され、この種の誤
りが頻繁に起こらないようになっている。むしろ、広帯
域ネットワークでは多くの誤りはネットワークスイッチ
の停滞が原因になっている。広帯域ネットワークでは、
データはセル内に編成され、一連のスイッチを経てソー
スから行先へ道筋に従って発送される。もしスイッチが
道筋を決定できなかったりセルを緩衝できない場合は、
そのセルは損失となってしまう。故に、広帯域ネットワ
ークで起こる誤りは、一つまたはそれ以上のセルからな
るバースト消去の形態になっている。この特質により広
帯域ネットワークで使用されるFECコードは、誤りの位
置が既知となるような方法でデータが送信されているた
め、大きく単純化される。
コーディングの理論では、誤りとは位置が未知で、未
知の値の破損したビットまたは記号であると定義されて
いる。また、消去とは、位置が既知であり、未知の値の
破損したビットまたは記号であると定義されている。こ
れに示されるように、広帯域ネットワークにおけるスイ
ッチ停滞による損失は、消去のカテゴリーに入る。
従って、本発明のもう一つの目的は、送信されたデー
タにおいて消去を訂正できる非常に単純なFECコードを
提供することにある。さらに、広帯域ネットワークにお
いて消去訂正に使用できるFECコードを提供することも
本発明の目的である。
発明のまとめ 本発明によれば、データは、n個のm−bit記号
(「シンボル」ともいうが、以下明細書では「記号」と
いう用語にする)からなるコードワードの形で、送信器
から受信器へ送信チャネル経由で送信される。送信され
るコードワードにおけるn個の記号で、kは既知情報記
号、hはパリティ記号で、これらは消去訂正に使用され
る。
コードワードにおける記号は2m整数要素の閉じたフィ
ールドから選ばれる。フィールドは、加算や乗算の数学
的操作に関して閉じており、それは加算や乗算を使用し
フィールドから2つの整数を組み合わせると、そのフィ
ールド内にもう一つの整数を作る結果になるということ
である。例証的には、整数のフィールドとはガロアフィ
ールドまたはモジューラー演算に従う整数のフィールド
である。
送信されるn個の記号のコードワードにおけるhパリ
ティ記号を決定するには、送信器にあるエンコーダ回路
が、k既知情報記号およびh未知パリティ記号を使って
hの連立線形代数的方程式のシステムを作りだす。次
に、エンコーダはhパリティ記号の方程式を解き、k情
報記号およびhパリティ記号からなるn個の記号コード
ワードがエンコーダから受信器に送信される。
受信器側では、nの記号コードワードが受信される。
本発明のコーディング技術は、正しく受信された記号を
使用し、受信されたコードワードにおいてhまでの記号
消去を訂正するのに使用できる。これは、正しく受信さ
れた記号およびh個までの記号消去についての線形代数
的方程式のシステムを形成し、hの消去の値を決定する
ため方程式を解くデコーダ回路によって成される。
この同一の回路はエンコーダとして、そしてデコーダ
として使用できる。例証的には、この回路は、わずか3
つの基本的セルを使用した低複雑性収縮チップアーキテ
クチャからなる。この回路は1μCMOSで1秒間に1ギガ
ビット以上のスループットの能力を有する。これとは対
照的に、既存のReed−Solomonコードは、はるかに多く
のセル数を必要とするもっと複雑なコーディング回路を
使用している。
本発明のFECコードは高い適応性がある。仮にn<2m
であるとすると、hおよびnはほとんど任意に変化す
る。ブロックサイズ(換言すればコードワードサイズ
n)を増加させるためエンコーダおよびデコーダにおけ
る余分なハードウェアを必要としない。しかしながら、
必要なハードウェアのサイズはhと共に二次式的に増加
していく。
本発明のFECコードは低冗長度で非常に能率的に作動
する。冗長度とはパリティ記号と情報記号の比率であ
る。光ファイバ広帯域ネットワークはほんのわずかの誤
りしか起こさないため、本発明のコードはこの用途に非
常に適している。
一言で述べるならば、本発明は非常に単純なFECコー
ドであるため非常に単純なハードウェアしか必要ではな
く、特に広帯域ネットワークで有用であると言うことが
できる。
本発明のコード構成の基本をモジュラー演算を使った
下記の例で説明できる。この例ではn=7記号に、k=
4既知情報記号およびh=3パリティ記号を使用してい
る。故に、送信されるコードワードは c=(a,b,c,d,e,f,g) (1) の形態となり、そのa,b,cはパリティ記号、そしてd,e,
f,gは既知情報記号である。この記号a,b,c,d,e,fおよび
gはmod7演算に従う8個の整数のフィールド(例えば、
0,1,2,3,4,5,6,7)より選ばれる。
次の、mod7演算システムにおける7つの整変数(a−
g)を伴った3つの連立方程式一式について考えてみよ
う: a+c+e+g=0 mod7 b+c+f+g=0 mod7 (2) d+e+f+g=0 mod7 記号a,b,c,d,e,f,gの内4つが既知である場合、残りの
3つの記号について固有の解決法があるように方程式が
選ばれた。これらの方程式は、既知情報記号からコード
ワードのパリティ記号を決定するためエンコーダ回路に
よって使用することも可能である。仮にkの既知情報記
号がd=4,e=3,f=2,およびg=5であった場合、上記
の方程式のシステムはエンコーダ回路で解かれ、a=6,
b=0,c=0となる。よって、送られたコードワードは次
のようになる。
C=(6,0,0,4,3,2,5) (3) では、送信においてh=3消去が起こり、デコーダで受
信されたコードワードが下記のようになったと仮定しよ
う。
C=(a,0,0,d,3,2,g) (4) コードワードC全体を再構築するため、デコーダ回路は
方程式(2)一式を下記のように使用することができ
る: a+3+g =0 mod7 2+g =0 mod7 (5) d+3+2+g =0 mod7 デコーダ回路はa=6,d=4,g=5を得るためこれらの方
程式を解き、それによって全てのコードワードが送信さ
れたものと全く同様に再構成される。
図の簡単な説明 図1は、本発明の具体的な形態に従いFECコードを使
用した通信チャネルを概略的に表したものである。
図2は、本発明のFECコードを実行するためのセルの
配列の形態でのエンコーダ/デコーダ回路を概略的に表
したものである。
図3、図4および図5は、図2のエンコーダ/デコー
ダ回路を使用したセルを表したものである。
図6は、本発明のFECコードの広帯域ネットワークに
おける使用を表したものである。
発明の詳細な説明 発明の詳細な説明は次の副セクションに分かれてい
る。副セクションAは本発明のFECコーディング技術の
概括的な数学的説明であり、副セクションBは本発明の
FECコーディング技術の実施例をあげ、副セクションC
は本発明のFECコーディング技術を実行するために使用
できるエンコーダ/デコーダ回路を説明、そして副セク
ションDは本発明のこのコーディング技術が広帯域ネッ
トワークでどのように使用されるかを示している。
A.コードの数学的説明 図1は電気通信チャネル10を概略的に示している。こ
のチャネルには送信器12、光ファイバケーブルのような
通信媒体14、そして受信器16がある。送信器12は、FEC
コードを使用して送信されるデータを符号化するエンコ
ーダ17を含んでいる。データは送信器から受信器にブロ
ックまたはコードワードの形で送信される。各コードワ
ードは情報記号およびパリティ記号の両方をもってい
る。エンコーダ17は、各コードワードの情報記号を使用
してパリティ記号を構成する。受信器16が符号化(enco
de)されたコードワードを受信した場合、デコーダ19は
正しく受信された情報とパリティ記号を使用して送信さ
れたコードワードにおける消去を訂正する。パリティ記
号を決定するためエンコーダで使用され、また消去を訂
正するためデコーダで使用されたコードを下記に詳しく
説明する。
nのm−bit記号からなるコードワードCを考えてみ
よう: C=(cn-1,cn-2,…,c0) (6) コードワードで使用できる全ての記号はガロアフィー
ルドGF(2m)のような整数のフィールドから選ばれる。
ガロアフィールドとは、ある演算規則に従うフィールド
または一式の整数である。特に、ガロアフィールドは加
算および乗算のようなある操作に関して閉じられてお
り、これらの内の一つの操作を使用して2つのフィール
ド要素が組み合わされた場合、3つ目のフィールド要素
が生じる。このコードワードは、コードワードの記号を
使って形成された多項式の係数で、n度の多項式によっ
て数学的に表現することができる。
C(x)=cn-1xn-1+cn-2xn-2+…+c0 (7) k情報記号(k*m bits)およびhパリティ記号(h*m
bits)を送信したい。コードワードにおいて送られた記
号の総数は: n=h+k (8) 有効なコードワードは: n<2m (9) 本発明のコードはeまでの消去を訂正することがで
き、また下記の条件でさらにdの追加の誤りを検知する
ことができる: h≦d+e (10) コードワードC(x)は、下記の構成規則を使用し
て、h度の生成多項式g(x)により分割できるn度の
多項式となるよう構成される: g(x)=(x−a1)(x−a2)…(x−ah) (11) この式における各ajはGF(2m)の2m要素の一つである。
送信される情報Iはkのm−bit記号からなってい
る: I=(Ik-1,Ik-2,…I0) (12) これはk度の多項式で表現することもできる: I(x)=Ik-1xk-1+Ik-2xk-2+…+I0 (13) このコードワード最下位のk記号がk情報記号と同等
にされたとすると: C(x)=cn-1xn-1+cn-2xn-2+…+ckxk+Ik-1xk-1
Ik-2xk-2+…I0 (14) 残りのh記号cn-1,cn-2,…ck(換言すればコードワ
ードのパリティ)は確実にg(x)がC(x)を分割す
るように選ばれる。方程式11から次のことが分かる: C(x)=0 for x=a1,x=a2,…,x=ah (15) 故に、確実にg(x)がC(x)を分割するようにす
るには、下記のh方程式が真でなければならない: 0=cn-1a1(n-1)+cn-2a1(n-2)…+cka1k+Ik-1a1(k-1)
+Ik-2a1(K-2)…+I0a1(0) … 0=cn-1a2(n-1)+cn-2a2(n-2)…+cka2k+Ik-1a2(k-1)
+I…k-2a2(K-2)…+I0a2(0) (16) 0=cn-1ah(n-1)+cn-2ah(n-2)…+ckahk+Ik-1ah(k-1)
+Ik-2ah(K-2)…+I0ah(0) これは、ガロアフィールド演算システムにおける、n
の項とhの未知を有するh連立線形代数的方程式の一式
である。この方程式を固有に解くことによってh未知記
号(cn-1,cn-2,…cx)が分かる。これらのこれまで未
知であったパリティ記号が決定される際、コードワード
全てを遠隔の受信器に送信することができる。
連立方程式を解く方法の一つとして行列処理がある。
ここでは上記のh連立方程式は下記の行列(h−matri
x)で表されている。
[a1(n-1) a1(n-2) a1k x1] [a2(n-1) a2(n-2) a2k x2] [… ] (17) [ah(n-1) ah(n-2) ahk xh] そこではxj=Ik-1aj(k-1)+Ik-2aj(k-2)+…+I0a
j(0) 生じたコードワードが送信され、そして(最高)h個
までの記号が失われたとした場合、その位置が分かって
いればミッシング記号を埋めることが可能である。仮に
その未知の記号が変数で表されている場合、エンコーダ
で行なわれるのと同様に(最高)h個までの連立方程式
を構成し解くことができる。故に、デコーディングの場
合、未知はコードワードにおいて異なる位置にあるとい
うこと以外はアルゴリズムの符号化(encoding)とデコ
ーディングアルゴリズムは全く同一である。よって、h
個の消去より数が少ないという条件であれば、全ての消
去は再構築が可能である。
B.実施例 h=3,k=4,n=7そしてm=4としよう(これらは方
程式(8)および(9)に従う)。これは、記号ごとに
3ビットである7記号ブロックコードである。これはブ
ロックにつき3個のミッシング記号を訂正することがで
き、ユーザ情報の4個の記号を有する。この情報は右4
個の記号を、そしてパリティは左3個の記号を占める。
上記に示されたように、コードワードを形成するため
に使用できる全ての記号は固有のフィールド中の整数か
ら選ばれる。
本実施例では、a3=a+1を基本として使用してフィ
ールド要素を定義してみよう(参考:R.J.McEliece,“Th
e Theory of Information and Coding,"[情報およびコ
ーディングの理論]Addison Wesley,1977年など)。故
に、フィールドの8つの要素とは下記のものである: a0=001 a1=010 a2=100 a3=011 (18) a4=110 a5=111 a6=101 a7=000 フィールド要素(記号)は、2進コード表示またはフ
ィールド要素aの累乗を用いて表現できる。「累乗表
現」を用いて(ここでajは累乗jで表現されている)、
フィールドにおける加算と乗算は表19および表20にそれ
ぞれ定義されている。(ゼロ要素7は基本要素の累乗で
はないが、基本要素のように扱われていることに注
意。) ここで送信器(図1参照)に送信したい情報(I)を与
えて、下記のようにするとしよう: I=(6,5,7,1) (21) 未知のコード記号はcn-1=t,cn-2=sおよびcn-h=rと
しよう。生成多項式は次の式で定義される: g(x)=(x−1)*(x−2)*(x−3) (22) 方程式15から下記のことが分かる: C(x)=0 for x=1,x=2およびx=3 (23) 未知のパリティ記号t,s,rは次の方程式(16)一式か
ら導くことができる: 0=t.(61)+s.(51)+r.(41)+6.(31)+5.
(21)+7.(11)+1.(01) (24) 0=t.(62)+s.(52)+r.(42)+6.(32)+5.
(22)+7.(12)+1.(02) 0=t.(63)+s.(53)+r.(43)+6.(33)+5.
(23)+7.(13)+1.(03) よって下記のようになる: 0=t.(6)+s.(5)+r.(4)+6.(3)+5.
(2)+7.(1)+1.(0) (25) 0=t.(5)+s.(3)+r.(1)+6.(6)+5.
(4)+7.(2)+1.(0) 0=t.(4)+s.(1)+r.(5)+6.(2)+5.
(6)+7.(3)+1.(0) 3個の未知のパリティ記号は次の行列に行列処理を応
用することで知ることができる。
[654(2+0+7+1)] [531(5+2+7+1)] (26) [415(1+4+7+1)] これらの3つの連立方程式を解く固有の方法は:t=1,
s=6およびr=7である。つまり、コードワードは下
記のようになる: C=(1,6,7,6,5,7,1) (27) そしてこのコードワードは、デコーダを有する受信器
に送信される(図1参照)。デコーダは7個の記号のう
ちのどれでも3個までの消去を訂正することができる。
3個の消去を“f"で表したとすると下記のようになる: C*=(1,6,7,f,5,f,f,) (28) 受信器は3つの未知について3つの連立方程式を生成
する。仮にc*3=w、c*1=vおよびc*0=uとすると下
記のようになる: 0=1.(6)+6.(5)+7.(4)+w.(3)+5.
(2)+v.(1)+u.(0) 0=1.(5)+6.(3)+7.(1)+w.(6)+5.
(4)+v.(2)+u.(0) (29) 0=1.(4)+6.(1)+7.(5)+w.(2)+5.
(6)+v.(3)+u.(0) 3個の未知記号は、次の行列に行列処理技術を応用し
て知ることができる。
[310(0+4+7+0)] [620(6+2+7+2)] (30) [230(5+0+7+4)] 固有の解決法はw=6、v=7およびu=1であるか
ら、再構築されたコードワードは下記のように送られた
ときと全く同じになる。
C=(1,6,7,6,5,7,1) (31) C.FECコーダ/デコーダのハードウェアの実現 図1のエンコーダ17およびデコーダ19のアーキテクチ
ャは同一である。どちらの場合もn記号のコードワード
Cが構成され(または再構成され)、(最高)h個まで
の記号が未知である。
図2はエンコーダ/デコーダ回路のアーキテクチャを
示している。エンコーダ/デコーダ回路30は3つの機能
的部分に分割されている。「入力累積部(LAS)」50は
セル52から形成され、コードワードのnの入力記号を、
最下位記号から始めて、回線51を経て、順次に受け取
る。未知記号は余分のビットでマークが付けられる。IA
S50は未知記号位置マーカと既知入力記号の適切に重み
付けられた累積を「方程式生成部(EGS)」70へ渡す。E
GS70はセル72から形成され、一列ごとに、h行列を「連
立方程式部(SES)」90へ送り出す。SES90はセル92から
形成され、h行列を解くことによって未知の変数の値を
導きだす。
IAS50、EGS70およびSES90の説明において、下記のn
の記号コードワード C=(cn-1,cn-2,…,c0) (32) は、下記の位置におけるhのミッシング記号 (cH,cG,…,cA) (33) で使用される。例証的には、コードワードCで用いられ
る全ての記号はフィールドGF(23)内の整数である。
図3は、図2のIAS50からの入力累積セルIAC52のブロ
ック図である。入力累積セルIAC52は線形収縮アレイ
(その長さは訂正が必要な記号数と同じ(h))の複製
を作るように設計されている。例えば、3個の消去が訂
正されなければならない場合(h=3)、図2の一番上
の列に示されたように、3つのIACは連鎖の形でつなが
れなければならない。
h−1のある最も単純な例を最初に考えてみると、IA
S50はIAC52をたった一つしか必要としない。図3に示さ
れるように、セル52は累積レジスタDa、消去レジスタD
e、およびカウンタ54を有している。セル52はまたクロ
ック信号の入力ckを持っている。初めのうちは、レジス
タDaおよびDeはゼロにリセットされる(例えば、a7=00
0)。また、カウンタ54もフィールド要素にリセットさ
れる(例えば、a1=010)。
最初のクロックサイクル中、符号化(encode)または
デコードされるコードワードの最初の記号(c0)がセル
に(ピンCiを通って)ロードされる。ピンCiは余分のビ
ット(Cim)と共に記号(Cim-1−Ci0)のmビットを含
み、これはセットされれば、入力された記号が未知であ
るということになる(換言すれば、決定されるパリティ
記号または消去)。この例で、c0が既知でありCimがリ
ッセトであるとしよう。Ciでの値はカウンタ54(換言す
れば、a1)の初期の内容で乗じられる。この乗算はガロ
アフィールド乗算器56で行なわれる。積(c0 *a1)がガ
ロアフィールド加算器58を用いて累積レジスタDaの現在
の内容に加算され、その結果はDaに記憶される。では、
Daの初期の内容(時間t=−1で)をDa(0)-1とし(こ
こでDa(0)は、0≦j≦h−1であるIACの連鎖にお
けるj=0 IACの累積レジスタを示す)、最初のクロッ
クサイクル(時間t=0で)後の内容をDa(0)0とすると
下記のようになる、 Da(0)0=Da(0)-1+(c0 *a1) =a7+(c0 *a1) (34) =(c0 *a1) カウンタ54は、フィールドの全ての非ゼロ要素(例え
ば、a7ではないもの)を段階的に順次に通っていく。ま
ずある要素(例えば、a1)から始まり、ステージピンの
値により決定されたステップへと上がっていく。j=0
IACでは、カウンタ54はフィールド要素の順に、つま
り、下記のように通っていく。
a1,a2,a3,a4,… (35) よって、2回目のクロックサイクル(時間t=1で)
の間、カウンタ54の内容はa2となる。これは、次の記号
C1によって乗算され、その積(c1 *a2)がDaの内容に加
算される: Da(0)1=Da(0)0+(c1 *a2) =(c0 *a1)+(c1 *a2) (36) 一般的に、時間t=jで下記のようになる: Da(0)j=Da(0)j-1+(cj *aj+1) (37) この過程は、記号が完全になくなってしまうか(時間
t=n−1で)または記号が未知であるとラベルを付け
られる(例えば、cmがセットされている)まで繰り返さ
れる。仮に記号cA(そこでは0≦A<n)が未知である
とラベルを付けられた場合、時間Aで、カウンタ
(aA+1)の現在の内容はマルチプレクサ60を経て消去レ
ジスタDeにロードされる。レジスタDeは、クロックとCm
の両方がhighのときANDゲート59を経てロードされるこ
とが可能になる。よって、時間Aで消去レジスタDeの値
は下記のようになる: De(0)A=aA+1 (38) Cmがセットされているとき、入力記号が内部でゼロ
(例えば、a7)になるよう強いて表わされるので、Daの
内容は影響を受けない: Da(0)A=Da(0)A-1+(a7 *aA+1) Da(0)A-1+a7 (39) Da(0)A-1 仮に、A番目の記号(cA)のみが消去であるとする
と、コードワードのnの記号が受信され、消去と累積レ
ジスタの内容は下記のようになる: De(0)n-1=aA+1 (40) Da(0)n-1={(cn-1 *an)+(cn-2 *an-1)+…+(c0 *a
1)}−{cA *aA+1)} 図3のように、Daに記憶された値は出力Aoで使用可能
であり、Deで記憶された値は出力Eoで使用可能である。
仮に、Cが有効なコードワードであったとすると: 0=cn-1a1(n-1)+cn-2a1(n-2)+…+c0a1(0) (41) となり、よって下記のようになる: 0=Da(0)n-1+cA *De(0)n-1 (42) これは、2つの既知(DaおよびDe)と1つの未知
(cA)からなる方程式である。
より一般的には、hの消去があるため、hの連鎖とし
て結び付けられるIAC52がある(図2参照)。各IAC52は
回線51を経て同じ入力記号を受信し、同時に入力ピンCi
を受信する。しかし、各IACのカウンタは異なる順番で
フィールドの要素を通っていく(言え換えれば、セル52
はステージピンで異なる入力を有する)。一般的には、
j番目のIACでは、カウンタの順序はaj,a2j,a3j,…
となる。
j番目のIACと0番目のIAC間の二つ目の大きな相違点
は、消去があった時どうなるかという点である。j=0
セルのみがカウンタの内容と共にDeをロードする。他の
全てのセルは、連鎖の左のセルのDeの内容を、左のセル
の出力Eo、接続回線59(図2参照)および入力Eiを経
て、Deにロードする。マルチプレクサ60は固有のIAC52
において、Deがカウンタ54の内容でロードされている
か、それとも入力Eiでロードされているかを決定する。
時間t=n−1でj番目の消去および累積レジスタであ
るDeおよびDaの値は下記のようになる: De(f)n-1=aG+1 Da(f)n-1={(cn-1 *a(f+1)(n-1))+(cn-2 *a
(f+1)(n-2))+…+(c0 *a(f+1)(0))} (43) −{(cH *aH+1)+(cG *aG+1)+…+(cA *aA+1)} 仮に、Cが有効なコードワードであるとすると: 0=cn-1a1(n-1)+cn-2a1(n-2)+…c0a1(0) 0=cn-1a2(n-1)+cn-2a2(n-2)+…c0a2(0) (44) 0=cn-1ah(n-1)+cn-2ah(n-2)+…c0ah(0) となり、よって下記のようになる: 0=CH *(De(h-1)n-11+cG *(De(h-2)n-11+…+cA
*(De(0)n-11+Da(0)n-1 0=CH *(De(h-1)n-12+cG *(De(h-2)n-12+…+cA
*(De(0)n-12+Da(1)n-1 (45) 0=cH *(De(h-1)n-1h-1+cG *(De(h-2)n-1h-1+…
+cA *(De(0)n-1h-1+Da(h-1)n-1 これは、2hの既知(DaとDe)およびhの未知(cH,cG
…,cA)からなる方程式(16)の縮小された形態であ
る。上記の方程式は次のh行列で表すことができる: [(De(0)n-11 (De(h-2)n-11 (De(h-
1)n-11 Da(0)n-1 ] [
] [(De(0)n-12 (De(h-2)n-12 (De(h-
1)n-12 Da(1)n-1 ] (46) [
] […
] [
] [[(De(0)n-1h-1 (De(h-2)n-1h-1 (De(h-1)
n-1h-1 Da(h-1)n-1] このh行列はSES70の起点である。しかし、SES90(図
2参照)が開始する前に、EGS70(図2参照)によって
必要なDe(j)n-1の累乗が生成される。
図2に示されるように、「方程式生成部(EGS)」70
は、IAS50およびSES90と平行に作動するhの「方程式生
成セル(EGC)」72の線形アレイである。このセル72
は、Pバス73および制御回線79によって連鎖に接続され
る。制御回線79は一つのセル72のpco出力を次のセル72
のpci入力に接続する。各EGC72はIASの対応するセル52
からのDeおよびDaレジスタの最終値を受信し、IASは次
のコードワードが受信できるよう開放状態となる。特
に、図2に示されるように、各セル72は、そのちょうど
上にあるIASのセル52から、セル52の出力Eo、回線61、
およびセル72の入力Diを経てDeレジスタの最終値、そし
てセル52の出力Ao、回線63、およびセル72の入力Aiを経
てDaレジスタの最終値を受信する。
図4はEGCセル72を説明したものである。セル72は、
レジスタDi、Do、およびDa、マルチプレクサ74、ガロワ
フィールド乗算器76、ANDゲート78、そしてトライステ
ート装置81および82を有している。セル52に対応するDa
の最終値は(Aiピンを経て)Duレジスタに記憶される。
Deの最終値は(Diピンとマルチプレクサ74を経て)Diお
よびDo両方のレジスタに記憶される。DiおよびDuレジス
タは、リセット(rst)とクロック(ck)ピンの両方がh
ighのとき、ANDゲート78からの信号によってローディン
グのために起動される。Di、DoおよびDuレジスタに記憶
された値から、セル72は、SASによって必要なhの縮小
された連立方程式を計算する。
EGC72はそのDuレジスタの値を交替で出力する。一番
左のEGCは最初のクロックサイクルでPバス73(図2参
照)に、 Da(0)n-1 (47) を出力する。一般的には、j番目のEGCは、j番目のク
ロックサイクルにおいてトライステート装置81を経てP
バスに、 Da(j)n-1 (48) を出力する。特に、トライステート装置81は、pciがhig
hのとき、Duレジスタの内容をPバスに読み取るようオ
ープンされる。セル72において、pci入力とpco出力はラ
ッチDで分けられていることに注意。全てのセル72にお
けるラッチDはシフトレジスタを形成し、pci高信号が
次のクロックサイクルの連鎖における各セル72に届くよ
うにする。
また、各EGCはDoレジスタをQバス75にも出力する
(図2参照)。故に、j番目のEGCは、最初のクロック
サイクルの間に、トライステート装置82を経て、Qバス
75に、 (De(j)n-11 (49) を出力する。Qバスはqciピンの制御下に作動する。一
般的には、j番目のEGCはk番目のクロックサイクルで
Qバス75に、 (De(j)n-1k (50) を出力する。これらの量は次のように計算される。最初
のクロックサイクル間において、Da(j)n-1はDiおよびDo
にロードされる。次のクロックサイクルで、DoおよびDi
の内容はガロアフィールド乗算器76を用いて乗算され、
結果として生じた積は、希望の累積De(j)n-1を形成する
ためマルチプレクサ74を経てDoにロードされる。この累
乗の量は、Qバスを経てSES90内の、対応するセル92へ
送信される。
さて、「連立方程式部(SES)」90をもう少し詳しく
見てみよう。図2に示されるように、SES90はh列の行
と(h+1)列のカラムで編成されたセル92の2次元ア
レイを有している。SESからの各セル92は「連立方程式
セル(SEC)」と呼ばれる。図5はSEC92のブロック図を
示している。各SECは、Dnのラベルが付けられたレジス
タにおける方程式(46)のh行列からの要素を記憶す
る。
図2に見られるように、セル92はWバス94によって横
に接続されている。Wバス94は、wc入力で各セルに入
り、ec出力で各セルを出る制御回線95によって制御され
る。図5に示されるように、wc入力とec出力の間の各セ
ル92の中にはラッチDがある。wcでの信号がhighの場
合、トライステート装置96はORゲート97を経てオープン
され、Dnレジスタの内容はインバータ98で反転され、W
バス上へ出力される。
図2に示されたように、セル92はNバス100で縦に接
続されている。Nバス100は制御回線102によって制御さ
れる。図2に見られるように、制御回線102はVi入力で
各セル92に入り、Vo出力で各セル92から出る。図5に見
られるように、各セル92の中に、ラッチDはViおよびVo
出力を分けている。Vi入力がhighのとき、トライステー
ト装置104はオープンされ、レジスタDnの内容はNバス
上に書き込まれる。故に、セルDnの内容は、wcおよびVi
入力の制御下、WおよびNバスを経て読み出される。
さらに、レジスタDnのもう一つの読みだし操作は入力
dと関連がある。図2では、セル92の一番右のカラムを
考えないとき、残りのセル92はhxhアレイを形成してい
る。このアレイの対角線上にない全てのセルで、d入力
は常にlowである。対角線上のセルは、dがhighのと
き、トライステート装置96はORゲート97を経てオープン
され、対角線上のセルのDnの内容はWバス上に読み出さ
れる。
情報は、マルチプレクサ110を経て図5のセル92のレ
ジスタDnに書き込まれる。マルチプレクサ110は、0,1,
2,3とラベルを付けられた4つの入力を持っている。選
ばれた一つの入力での信号は、制御112によって供給さ
れる信号次第で、マルチプレクサ110の出力へ送信され
る。入力3での信号はNバスにある信号である。セルに
対するLi入力がhighの場合、レジスタDnにロードされ
る。図2に示されるように、セル92は制御回線108によ
って縦に接続される。制御回線108は一つのセルのLo出
力から縦に隣接したセルのLi入力に伸びる。図5に示さ
れるように、各セル内で、Li入力はラッチDを経てLo出
力に接続される。
マルチプレクサの入力Oでの信号はガロアフィールド
乗算器112の出力から得られる。乗算器112はWバスでの
値のDnに記憶された現在の値を乗算する。この積は、ck
/2がlowで、wcがhighのとき、マルチプレクサ110を経
て、レジスタDnに記憶される。信号ck/2はクロック信号
ckの半分である。
マルチプレクサの入力1での信号はDnの現在の値で、
この値は、ck/2がhighで、Viがhighのとき、Dnに再度書
き込まれる。
マルチプレクサ110の入力2での信号は、ガロアフィ
ールド加算器114の出力から来る。加算器114はNバス上
の現在の値と乗算器112の出力を加えたものである。こ
の値は、ck/2がhighで、Viがlowのとき、Dnに書き込ま
れる。
上に述べられたセル92の読み取りと書き込みの操作は
方程式(46)のh行列を解くことに使用できる。各SEC9
2のDnレジスタの内容を、中括弧内の変数′S′、およ
びそれに続く行指標(0からh−1まで)とカラム指標
(0からhまで)で表わしてみよう。このh行列は下記
のように表すことができる: [S[0,0] S[0,1] … S[0,h−1] S[0,
h] ] [
] [S[1,0] S[1,1] … S[1,h−1] S[1,
h] ] (51) [
] [S[h−1,0] S[h−1,1] … S[h−1,h−
1] S[h−1,h] ] 右側のカラムはPバスからの値を記憶する。例えば、
右側のカラムでのj+1番目のセルは、 S[j,h]=(Da(j)n-1) (52) という値をそのDnレジスタに記憶する。
残りのセル(h行列によってhを形成する)はQバス
からの値を記憶する。例えば、k+1番目のカラムのj
+1番目のセルは、下記のものをそのDnレジスタに記憶
する: S[j,k]=(De(k)n-1j (53) 故に、このアレイはh行列からの全ての項を含んでい
る。
h行列が記憶されたら、SESは未知を解く準備が整っ
ている。この操作は全部で(h+1)クロックサイクル
を必要とし、各サイクルに乗算と加算が必要である。
最初のクロックサイクルの間、h行列を記憶した後
に、最初のSESカラムのセルは、そのDnレジスタの逆を
計算する。つまり、結果を対応する横のWバスに置く。
そして、各セルは、Wバス値をそのDnの現在の内容によ
って乗算する。次に、最初の列のそれぞれのセルはその
積を直接Dnに渡し、対応する縦のNバスに積を出力す
る。最初の列以外の全てのセルは、セルがNバス上で読
み込む値をそれ自体の積に加算し、結果をDnに記憶す
る。最初のクロックサイクル後のアレイの内容は下記の
ようになる: [s[0,0].s[0,0]-1 s[0,1].s[0,0]-1
… s[0,h−1].s[0,0]-1 s[0,h].s[0,
0]-1 ] [ ] [s[0,0].s[1,0]-1 s[1,1].s[1,0]-1
… s[1,h−1].s[1,0]-1 s[1,h].s[1,
0]-1 ] [+s[0,0].s[0,0]-1 +s[0,1].s[0,0]-1
… +s[0,h−1].s[0,0]-1 +s[0,h].s
[0,0]-1 ] [ ] [… ] [ ] [s[h−1,0].s[h−1,0]-1 s[h−1,1].s[h
−1,0]-1 … s[h−1,h−1].s[h−1,0]-1 s
[h−1,h] ] [+s[0,0].s[0,0]-1 +s[0,1].s[0,0]-1
… +s[0,h−1].s[0,0]-1 +s[0,h].s
[0,0]-1 ] i番目のクロックサイクルの間、h行列を記憶した後
に、i番目のカラムの全てのSECはDnレジスタの内容の
逆を計算する。結果を対応する横のWバスに置く。次
に、全てカラムの全てのセルは、Dnの現在の内容によっ
てセルがWバス上で読み込む値を乗算する。i番目の列
にある全てセルはその積を直接Dn上に渡し、そして対応
する縦のNバスに出力する。i番目以外の全ての列の全
てのセルは、Nバス上にセルが読み込む値をそのセル自
体の積に加算し、結果をDnに記憶する。
この乗算と加算はhクロックサイクル続く。最後に、
乗算がもう一度行なわれる。しかしながら、今回は、縦
にではなく、s[0,0]からs[h−1,h−1]まで対角
線上の全てのセルから逆が計算される。最後の乗算の
後、最後の列の内容が連立方程式の解決法となる。
セクションBで行なわれた符号化(encoding)からの
例で考えてみよう。この例のh行列(方程式26)は次の
ようになる: [654(2+0+7+1) ] [531(5+2+7+1) ] (55) [415(1+4+7+1) ] 加算表を使用すると(表19参照) [6545] [5310] (56) [4154] 1回目のクロックサイクルa)乗算すると(表20参照) [0656] [0532] (57) [0410] 1回目のクロックサイクルb)加算すると(表19参照) [0656] [7120] (58) [7362] 2回目のクロックサイクルa)乗算すると(表20参照) [1060] [7016] (59) [7036] 2回目のクロックサイクルb)加算すると(表19参照) [1752] [7016] (60) [7707] 3回目のクロックサイクルa)乗算すると(表20参照) [3704] [7605] (61) [7707] 3回目のクロックサイクルb)加算すると(表19参照) [3774] [7675] (62) [7707] 4回目のクロックサイクルa)乗算すると(表20参照) [0771] [7076] (63) [7707] 最後のカラムの内容は変数(1,6,7)の値のどれでも
よい。
D.広帯域ネットワークへの応用 前述したように、広帯域ネットワークでは、送信され
るデータはセルの形に編成されている。セルは順次のス
イッチを経て希望の先行に達するまでネットワーク経路
をたどって行く。広帯域ネットワークは光ファイバ送信
設備を使用しているので、インパルス雑音(例えば、銅
製電話ケーブル近辺での落雷など)はデータ破損の大き
な原因にはならない。むしろデータ破損の原因のほとん
どは停滞消去である。セルが広帯域ネットワークの使用
中スイッチの経路をたどる際、停滞の可能性がある。仮
に、スイッチがセルを異なる経路に送れなかったり、セ
ルを緩衝できない場合、セルは損失される。故に、バケ
ットネットワークでの損失は、いくつかのセルを続けて
損失する傾向がある。
ここで述べられている本発明のコードは、広帯域ネッ
トワークのスイッチにおける停滞オーバーフローによっ
て起こる消去から情報を守ることに特に有用である。図
6はセルを基本にしたエンコーダ/デコーダ200のブロ
ック図で、これは本発明のコーディング法を使用してい
る。最小マルチプレクサユニットのあるネットワークで
使用される図6のエンコーダ/デコーダ200は、各セル
がc記号を有し、各記号がmビットを有するセルであ
る。
セルはエンコーダ/デコーダ200に入力220で到達す
る。図6では、kのセルは、セル0、セル1、…セルk
−1とラベルが付けらている。
本発明のコーディングの方法を用いて、パリティセル
は形成されるか、または消去されたセルは再構成され
る。冗長パリティセルを形成するか、または消去セルを
再構成するため、既知のセルは、セル一つずつ、入力バ
ッフア240に同時にロードされる。バッファ240は、ワー
ドにつきc*mのビットでnのワード(換言すれば、行)
に編成され、各セルはメモリーの1ワードを占めること
になる。各ワードはまた、1ビットのフラグを有する。
全てのフラグは最初高くセットされ、ワードがロードさ
れた時点でリセットされる。ロードされないワードは、
不確定パリティセルまたは消去セルであると考えられ
る。
kの既知セルがバッファにロードされると、コーディ
ングアレイ250(図2参照)はh個までのパリティセル
または消去セルを決定する。これを成し遂げるために
は、入力バッファ240からの記号の1番左カラムが、フ
ラグビットと共にコーディングアレイ250にロードさ
れ、記号につきm+1ビットがコーディングアレイ250
にロードされるようにする。図2に示されるように、コ
ーディングアレイ250は入力累積セクション、方程式生
成セクション、および連立方程式解決部を有しており、
記号の一番左のカラムにあるhのミッシングmビット記
号を見つけだし、そしてこれらのmビット記号を出力す
る。アレイ250で計算されたhのmビット記号は、出力
バッフア270の一番左のカラムにロードされる。この過
程は、入力バッファ240の全てのカラムにおけるミッシ
ング記号を見つけるために繰り返され、その結果として
出力バッファ270におけるhのワードまたはセルが形成
される。
次に、hのセルはマルチプレクサに送信され、そこで
セルは適切な順序でkの既知セルと多重化される。故
に、図6の左下に示されるように、hのミッシングセル
(この場合はパリティセル)は出力290に既知セル(こ
の場合は情報)を追っているように示されている。
結論 ここで公開されたFECコードは、単純なコードで、ハ
ードウェアも単純であり、その上広帯域ネットワークに
おいて特に有用である。
最後に、上述の発明は説明のみを意図してかかれたも
のである。技術的に優れた者は次の主張の精神と範囲を
逸脱することなくさまざまな形態として具体化すること
ができるであろう。
フロントページの続き (56)参考文献 特開 昭63−164627(JP,A) 特開 昭63−157525(JP,A) 特開 昭62−122332(JP,A)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】下記のステップを有する、広帯域通信ネッ
    トワークにおいて順方向誤り訂正コードを用いて情報通
    信を行う方法。 (a)エンコーダにおけるつぎのステップ。 (a1)1シンボルあたりmビットを有するn個のシンボ
    ルからなるコードワードを表すための信号を生成するス
    テップ。上記コードワードは上記コードワードにおいて
    予め定められた位置にそれぞれ配されたk個の情報シン
    ボルとh個のパリティシンボルとを有し、上記シンボル
    は加算および乗算に関して閉じられている2m個の整数か
    らなるフィールドから選ばれている。 (a2)上記k個の既知の情報シンボルおよび上記h個の
    パリティシンボルに関して1組の連立線形代数的方程式
    を表す信号を電子的に生成するステップ。 (a3)上記パリティシンボルを未知として上記1組の連
    立線形代数的方程式の解を表す信号を電子的に決定して
    上記h個のパリティシンボルを決定するステップ。 (b)上記k個の情報シンボルおよび上記h個のパリテ
    ィシンボルを含む、上記エンコーダからのコードワード
    を表す信号を伝送するステップ。 (c)デコーダにおけるつぎのステップ。 (c1)上記コードワードを表す上記伝送された信号を受
    信するステップ。 (c2)シンボル消去の位置をマークするステップ。 (c3)上記コードワードの最高でh個までのシンボル消
    去を訂正するステップ。 このシンボル消去は消去された情報シンボルおよびパリ
    ティシンボルの組み合わせである。この訂正するステッ
    プは、上記マークした位置のシンボルを未知として上記
    1組の連立線形代数的方程式を電子的に生成し、上記1
    組の連立線形代数的方程式の解を表す信号を決定して最
    高で上記h個までのシンボル消去を決定するステップを
    含む。
  2. 【請求項2】つぎの構成要素を有する、順方向誤り訂正
    デコーディング回路。 (a)既知入力シンボルおよび最高でh個までの未知消
    去シンボルを含むコードワードのn個の入力シンボルを
    受信し、上記未知消去シンボルに対し位置マーカを生成
    し、上記既知入力シンボルの重み付け累積値を生成する
    ための、相互接続された入力累積セルの線形アレイを含
    む入力累積回路。 (b)上記入力累積セルのそれぞれに対応する方程式生
    成セルの線形アレイを含み、上記未知消去シンボルの位
    置マーカおよび上記既知入力シンボルの重み付け累積値
    を対応する上記入力セルから対応する上記方程式生成セ
    ルにおいて受け取り、上記未知消去シンボルを決定する
    ための連立方程式のシステムに対応する行列を出力する
    ための、方程式生成回路。 (c)相互接続された連立方程式セルの2次元アレイを
    含み、上記方程式生成セルから上記行列を受け取り、上
    記未知消去シンボルを得るため上記行列を解くための、
    連立方程式解決回路。
  3. 【請求項3】つぎのステップを有する、広帯域伝送ネッ
    トワークにおいて信号を通信する電子的コーディング方
    法。 エンコーダおよびデコーダにおいて、1組の線形代数的
    方程式を用いて1シンボルにつきmビットを有するn個
    のシンボルからなるコードワードを表す信号を生成する
    ステップ。上記コードワードはk個の情報シンボルとh
    個のパリティシンボルとを含む。上記エンコーダにおい
    て、上記k個の情報シンボルは値および位置が既知とい
    う性質を有し、上記パリティシンボルは位置が既知で値
    が未知という性質を有する。上記デコーダにおいて、n
    個の上記シンボルのうち、最高でh個までの任意のシン
    ボルは位置が既知で値が未知という性質を有する。上記
    コードワードのすべてのシンボルは2m個の要素からなる
    閉じた整数フィールドの要素である。 さらに上記生成するステップはつぎのステップを有す
    る。 デコーダにおいて、値が未知のシンボルの位置をマーク
    するステップ。 デコーダにおいて、上記コードワードを用いて生成した
    多項式を、係数が生成多項式により割り切れるように拘
    束して導出した、上記マークされた位置の値を未知とす
    る上記1組の線形代数的方程式に対応する値の行列を表
    す信号を電子的に生成するステップ。 上記デコーダにおいて、上記行列を解くことにより最高
    でh個までの未知シンボルの値を表す信号を電子的に決
    定するステップ。
  4. 【請求項4】請求項3記載の広帯域伝送ネットワークに
    おいて信号を通信する電子的コーディング方法におい
    て、さらにつぎのステップを有する電子的コーディング
    方法。 (a)エンコーダにおいて生成されたn個の既知シンボ
    ルのコードワードを上記デコーダに送信するステップ。 (b)上記デコーダにおいて、上記エンコーダから受信
    したコードワードの未消去のシンボルを用いて最高でh
    個までの未知シンボルを生成するステップ。
JP3507122A 1990-05-04 1991-02-13 順方向誤り訂正コード方式 Expired - Lifetime JP2829678B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US521,114 1990-05-04
US07/521,114 US5115436A (en) 1990-05-04 1990-05-04 Forward error correction code system

Publications (2)

Publication Number Publication Date
JPH05508750A JPH05508750A (ja) 1993-12-02
JP2829678B2 true JP2829678B2 (ja) 1998-11-25

Family

ID=24075423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3507122A Expired - Lifetime JP2829678B2 (ja) 1990-05-04 1991-02-13 順方向誤り訂正コード方式

Country Status (6)

Country Link
US (1) US5115436A (ja)
EP (1) EP0527772B1 (ja)
JP (1) JP2829678B2 (ja)
CA (1) CA2037027C (ja)
DE (1) DE69128347T2 (ja)
WO (1) WO1991017503A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0584864B1 (en) * 1992-08-21 1997-11-05 Koninklijke Philips Electronics N.V. A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes
US5771244A (en) * 1994-03-09 1998-06-23 University Of Southern California Universal Reed-Solomon coder/encoder
JP3614907B2 (ja) * 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
FR2759218B1 (fr) * 1997-01-31 1999-05-07 Canon Kk Dispositif et procede de traitement de symboles d'information
US6516435B1 (en) 1997-06-04 2003-02-04 Kabushiki Kaisha Toshiba Code transmission scheme for communication system using error correcting codes
US6081918A (en) * 1997-11-06 2000-06-27 Spielman; Daniel A. Loss resilient code with cascading series of redundant layers
US6081909A (en) * 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6163870A (en) * 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6073250A (en) * 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
EP1040611B1 (en) 1997-12-12 2002-06-05 3Com Corporation A forward error correction system for packet based real-time media
US6170075B1 (en) 1997-12-18 2001-01-02 3Com Corporation Data and real-time media communication over a lossy network
US6243846B1 (en) * 1997-12-12 2001-06-05 3Com Corporation Forward error correction system for packet based data and real time media, using cross-wise parity calculation
US6151636A (en) * 1997-12-12 2000-11-21 3Com Corporation Data and media communication through a lossy channel using signal conversion
US6145109A (en) * 1997-12-12 2000-11-07 3Com Corporation Forward error correction system for packet based real time media
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6711709B1 (en) * 1998-06-24 2004-03-23 Unisys Corporation Integrated block checking system for rapid file transfer of compressed data
US6437892B1 (en) * 1998-09-09 2002-08-20 Sprint Communications Company L. P. System for reducing the influence of polarization mode dispersion in high-speed fiber optic transmission channels
US6421803B1 (en) * 1999-06-25 2002-07-16 Telefonaktiebolaget L M Ericsson (Publ) System and method for implementing hybrid automatic repeat request using parity check combining
US6463563B1 (en) 1999-11-30 2002-10-08 International Business Machines Corporation Single symbol correction double symbol detection code employing a modular H-matrix
US6965615B1 (en) * 2000-09-18 2005-11-15 Cisco Technology, Inc. Packet striping across a parallel header processor
US6732325B1 (en) 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US7036138B1 (en) 2000-11-08 2006-04-25 Digeo, Inc. Method and apparatus for scheduling broadcast information
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
FR2830637A1 (fr) * 2001-10-05 2003-04-11 St Microelectronics Sa Code de detection et/ou de correction d'erreurs a haute efficacite
KR100458878B1 (ko) * 2002-05-03 2004-12-03 학교법인 경희대학교 Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법
US6792391B1 (en) * 2002-11-15 2004-09-14 Adeptec, Inc. Method and system for three disk fault tolerance in a disk array
US7093159B1 (en) * 2002-12-12 2006-08-15 Adaptec, Inc. Method and system for four disk fault tolerance in a disk array
US7894468B2 (en) * 2003-03-20 2011-02-22 Alcatel-Lucent Usa Inc. Transmission methods for communication systems supporting a multicast mode
GB2421599B8 (en) * 2004-12-22 2008-10-22 Martin Tomlinson A system for the correction of missing or deleted symbols
EP1699158A1 (en) * 2005-03-02 2006-09-06 Evolium S.A.S. A method for selection of the appropriate HARQ retransmission scheme for data transmission, a base station and a program therefor
JP4808054B2 (ja) 2006-03-17 2011-11-02 富士通株式会社 データ転送方法及び,これを適用する通信システム及びプログラム
US8341484B2 (en) * 2007-06-14 2012-12-25 Telefonaktiebolaget L M Ericsson (Publ) Data block size management in a communication system utilizing hybrid automatic repeat requests with soft combining
RU2485702C1 (ru) * 2012-02-06 2013-06-20 Федеральный научно-производственный центр Открытое акционерное общество "Научно-производственное объединение "Марс" Система исправления стираний с защитой номера кластера

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62122332A (ja) * 1985-11-21 1987-06-03 Mitsubishi Electric Corp 復号化装置
JPS63157525A (ja) * 1986-12-22 1988-06-30 Canon Inc 消失位置多項式生成回路
JPS63164627A (ja) * 1986-12-26 1988-07-08 Canon Inc 消失位置多項式生成回路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2132393B (en) * 1982-12-17 1986-05-14 Sony Corp Methods and apparatus for correcting errors in binary data
JPS60186942A (ja) * 1984-02-24 1985-09-24 Victor Co Of Japan Ltd デイジタル乗算回路
JPS62180617A (ja) * 1986-02-04 1987-08-07 Victor Co Of Japan Ltd パリテイ生成回路
FR2605769B1 (fr) * 1986-10-22 1988-12-09 Thomson Csf Operateur polynomial dans les corps de galois et processeur de traitement de signal numerique comportant un tel operateur
JPH0697559B2 (ja) * 1987-09-24 1994-11-30 三菱電機株式会社 半導体記憶装置
US4835775A (en) * 1987-10-13 1989-05-30 Cyclotomics, Inc. Hypersystolic reed-solomon encoder
US4958348A (en) * 1988-02-12 1990-09-18 Eastman Kodak Company Hypersystolic Reed-Solomon decoder
US5007067A (en) * 1989-09-29 1991-04-09 At&T Bell Laboratories Diversity coding for transparent self-healing communications networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62122332A (ja) * 1985-11-21 1987-06-03 Mitsubishi Electric Corp 復号化装置
JPS63157525A (ja) * 1986-12-22 1988-06-30 Canon Inc 消失位置多項式生成回路
JPS63164627A (ja) * 1986-12-26 1988-07-08 Canon Inc 消失位置多項式生成回路

Also Published As

Publication number Publication date
CA2037027A1 (en) 1991-11-05
EP0527772A1 (en) 1993-02-24
DE69128347D1 (de) 1998-01-15
DE69128347T2 (de) 1998-06-10
JPH05508750A (ja) 1993-12-02
EP0527772B1 (en) 1997-12-03
US5115436A (en) 1992-05-19
WO1991017503A1 (en) 1991-11-14
CA2037027C (en) 1997-09-30
EP0527772A4 (en) 1993-09-08

Similar Documents

Publication Publication Date Title
JP2829678B2 (ja) 順方向誤り訂正コード方式
McAuley Reliable broadband communication using a burst erasure correcting code
US5343481A (en) BCH error-location polynomial decoder
US6990624B2 (en) High speed syndrome-based FEC encoder and decoder and system using same
US5440570A (en) Real-time binary BCH decoder
JP4389373B2 (ja) 2元巡回符号を反復型復号するための復号器
KR101354288B1 (ko) 통신 시스템에서 에러 검출 방법 및 장치
US5883907A (en) Asymmetrical digital subscriber line (ADSL) block encoder circuit and method of operation
US6516436B1 (en) Error control coding for transmission equipment protection
US6865710B2 (en) Butterfly processor for telecommunications
US20050204268A1 (en) Decoding and error correction for algebraic geometric codes
US20100070825A1 (en) Fast Low-Density Parity-Check Code Encoder
CN102170327B (zh) 超强前向纠错的硬件译码方法及装置
US7020214B2 (en) Method and apparatus for path metric processing in telecommunications systems
CN101373978B (zh) 一种Turbo码译码方法以及装置
CN112468161A (zh) 一种rs高速编码电路
US7266760B1 (en) Method and apparatus for calculating cyclic redundancy checks for variable length packets
JPH09505952A (ja) プログラム可能な冗長/シンドローム生成装置
Manasse et al. A reed-solomon code for disk storage, and efficient recovery computations for erasure-coded disk storage
Saleh et al. Design and simulation of CRC encoder and decoder using VHDL
US8046671B2 (en) Method and apparatus for adapting data to a transport unit of a predefined size prior to transmission
Chien Block-coding techniques for reliable data transmission
JP3173713B2 (ja) エラー訂正符号化方法および送受信装置
Lee et al. An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes
Sahu et al. Design and implementation of encoder and decoder for cyclic redundancy check