JP2005516459A - 誤り訂正復号器内の二重チェン・サーチ・ブロック - Google Patents

誤り訂正復号器内の二重チェン・サーチ・ブロック Download PDF

Info

Publication number
JP2005516459A
JP2005516459A JP2003563106A JP2003563106A JP2005516459A JP 2005516459 A JP2005516459 A JP 2005516459A JP 2003563106 A JP2003563106 A JP 2003563106A JP 2003563106 A JP2003563106 A JP 2003563106A JP 2005516459 A JP2005516459 A JP 2005516459A
Authority
JP
Japan
Prior art keywords
error
codeword
block
decoder
polynomial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003563106A
Other languages
English (en)
Other versions
JP2005516459A5 (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2005516459A publication Critical patent/JP2005516459A/ja
Publication of JP2005516459A5 publication Critical patent/JP2005516459A5/ja
Pending legal-status Critical Current

Links

Images

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
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1555Pipelined decoder implementations
    • 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
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1585Determination of error values

Landscapes

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

Abstract

符号語からシンドローム生成器(410)でシンドロームが計算され、シンドロームに基づいて誤り多項式生成器(420)で誤り多項式が生成され、誤り多項式から誤り位置生成器(430)で誤り位置が決定され、誤り多項式から誤り度合生成器(440)で誤り度合が計算され、位置および誤り度合に応答して、誤り訂正符号語生成器(450)により、符号語が訂正される復号器および復号方法について説明する。1つまたは複数の構成要素(410、420、430、440、450)が不活動メッセージ(640、650)を生成して、次の符号語に対応するデータを処理する機能を知らせる復号器内ブロック・メッセージ処理方式を説明する。チェン・ブロック(930)を用いて、チェン/フォーニー・ブロック(940)により実施される誤り位置および度合の計算とは別に、指定された符号語に対応する誤りの数を決定する二重チェン・サーチ・ブロック(930、940)の実施形態を説明する。追加のガロア体加算器(1140)を使用して符号語と誤りベクトルの同期をとり、それにより、LIFOレジスタ(952)と共に実施される誤り訂正ブロック(950)に伴う遅延およびコストを低減する、強化型チェン・サーチ・セル・アーキテクチャを説明する。

Description

本発明は、ディジタル通信システムの誤り検出および訂正に関する。
本特許出願は、2002年1月23日に本願と同時出願の「INTRA−DECODER COMPONENT BLOCK MESSAGING」という名称の米国特許出願第10/055,114号(整理番号PU020002)および2002年1月23日に本願と同時出願の「CHIEN SEARCH CELL FOR AN ERROR−CORRECTING DECODER」という名称の米国特許出願第10/055,470号(整理番号PU020001)に関連する。
現在のディジタル通信システムの重要な機能は、誤り制御符号化処理(error control coding)である。誤り制御符号化処理は、ディジタル・システムにおける誤りの検出(detecting)および訂正(correcting)に関する技術を扱う通信の分野である。一般に、誤り検出/訂正方式は、ディジタル・データの送信時またはディジタル・データの記憶により、データに誤りが生じないようにするか、或いは、データに誤りが生じた場合には、生じた誤りの訂正が行われるようにすることが望まれるときに必ず用いられる。データの誤り検出および/または訂正を行う機能は、データに冗長性を付加することにより実現される。送信または記憶するデータ中に冗長ビットを含めると、元の符号化していない信号またはフィールドよりも多くのビットからなる符号化された信号またはフィールドが得られる。
誤り検出/訂正に頻繁に用いられる1つの方式は、いわゆるリード・ソロモン(RS:Reed−Solomon)符号の使用によるものである。リード・ソロモン符号は、非2値組織的線形ブロック符号である。非2値符号は、幾つかのビットからなるシンボルを扱う。リード・ソロモン符号などの非2値符号は、これらの符号による訂正がシンボル・レベルで行われるので、バースト誤りを訂正するのに適している。リード・ソロモン符号などの組織的符号は、不変形式のメッセージ・シンボルを含む符号語を生成する。符号器は、これらのメッセージ・シンボルに可逆的な数学関数を適用して、冗長またはパリティ・シンボルを生成する。次いで、このパリティ・シンボルをメッセージ・シンボルに付加することにより符号語を形成する。リード・ソロモン符号は、任意の有効符号語を巡回シフトしても別の有効符号語が生成されるので、巡回符号とみなされる。巡回符号は、それを実施する効率的で安価な復号技術が存在するので一般に普及している。最後に、リード・ソロモン符号は、任意の2つの有効符号語を追加すると、別の有効符号語が得られるので線形とみなされる。
典型的なリード・ソロモン復号器は、(i)シンドローム(syndrome)生成ブロック、(ii)誤り多項式ブロック、(iii)誤り位置ブロック、(iv)誤り度合ブロック、(v)誤り訂正ブロック、および(vi)遅延ブロックという主要な構成要素ブロックからなる。シンドローム生成ブロックは、符号語を受信し、符号語からシンドロームを生成するのに用いる。シンドロームを用いて、誤り多項式ブロックで誤り多項式を生成する。誤り多項式を誤り位置ブロックおよび誤り度合ブロックに渡し、そこで符号語の誤りの位置および大きさがそれぞれ決まる。誤りの位置および大きさから誤りベクトルを生成する。特定の符号語に対応する誤りベクトルを用いて、誤り訂正ブロックで、受信し遅延させたバージョンの符号語を訂正する。
(発明の概要)
本発明は、復号器により符号語の誤り位置および度合を決定する方法および装置である。符号語の誤りの数に対応する値が計算される。符号語の誤りの数に対応する値が閾値よりも大きいと、この符号語は復号器の出力として転送される。符号語の誤りの数に対応する値が閾値以下だと、この符号語に対応する誤り位置および誤り度合が決定される。本発明は、符号語の誤りの数に対応する値を計算する動作が、第1の符号語に対応するデータに対して実行され、第2の符号語に対応するデータに対して誤り位置および誤り度合を決定する動作が同時に実行されることを特徴とする。
添付の図面と併せて本発明の以下の説明を参照されたい。
図1を参照すると、本発明で実施する原理による誤り検出/訂正方式を組み込んだディジタル・データ伝送システム100を示すブロック図が示されている。一般に、誤り検出/訂正方式は、ディジタル・データの送信時またはディジタル・データの記憶により、データに誤りが生じないようにするか、或いは、データに誤りが生じた場合には、生じた誤りの訂正が行われるようにすることが望まれるときに必ず用いられる。データの誤り検出および/または訂正を行う機能は、データに冗長性を付加することにより実現される。送信または記憶するデータ中に冗長ビットを含めると、元の符号化していない信号またはフィールドよりも多くのビットからなる符号化された信号またはフィールドが得られる。この追加のオーバーヘッドを許容する見返りとして、誤りを検出する機能、或いは、誤りを検出し訂正する機能が得られる。誤り制御符号化処理を用いて得られる性能の改善は、符号化利得について評価されることが多い。符号化処理を行わない通信システムで、30dBのSNR(Signal−To−Noise Ratio:信号対雑音比)で所定のBER(Bit Error Rate:ビット誤り率)が実現されるとする。このシステムに3dBの符号化利得の誤り制御符号化方式を加える場合、この符号化処理を行うシステムは、27dBという更に低いSNRでこのBERを実現することができる。或いは、このシステムを30dBのSNRで稼働させる場合、符号化処理を行うシステムにより実現されるBERは、符号化処理を行わないシステムが33dBのSNRで実現するものと同じBERとなる。符号化利得の威力は、通信システムが、(i)符号化処理を行わずに所望のBERを維持することが可能であったSNRよりも低いSNRでそのBERを維持できるか、或いは、(ii)符号化処理を行わないシステムが所定のSNRで得ることができるはずのものよりも高いBERを実現できることである。
例として、符号器110の機能は、データ源からディジタル・データを受信し、チャネルを介してデータを送信するか、または記憶媒体にデータを記憶するか(図には、全体としてチャネルまたは記憶装置115として示す)、或いは、他の方法でこのデータを操作または処理することである。データの処理、送信または記憶時に、データにノイズまたは誤り125が導入され、そのためしばしば、データが破損するか、或いは元のディジタル・データから変質した形式になる。復号器120は、ディジタル・データの規定部分が破損したかどうかを検出し訂正するか、或いは、単に検出するように機能する。
図2を参照すると、送信機/チャネル/受信機環境の状況で利用可能な様々な誤り検出/訂正プロセスを示す流れ図が示されている。このような状況で説明するが、当業者には、このような誤り検出/訂正プロセスが、ブロードキャスト送信、ディジタル・データ記憶、または(データ・フィールド、パケット、ストリームなどの形態にあろうが)ディジタル・データを処理または操作する任意の他のプロセスにも同様に適用されることが明らかであろう。網羅的または排他的ではなく単なる例として、(i)テープ、CD(コンパクト・ディスク)、DVD(ディジタル多用途ディスク)、バーコードなどの様々な記憶装置(ただし、これらに限定されるものではない)、(ii)(携帯電話、双方向トランシーバ、マイクロ波リンクなどの)無線または携帯通信、(iii)、衛星通信、(iv)ディジタル・ラジオ、DTV(ディジタル・テレビジョン)、DVB(ディジタル・ビデオ放送)など、(v)ケーブル、V.pcm、ADSL、xDSLなどに用いるモデム(ただし、これらに限定されるものではない)という技術/装置が、誤り検出/訂正方式を用いて、それらの性能、完全性および信頼性を改善させることができる。
ステップ210によれば、最初にリンクを確立し、送信チャネル・パラメータを調停した後で、送信元は、送信に適当な形式でディジタル・データを処理する。ステップ215によれば、送信元は送信を行う前に、少なくとも部分的に送信ディジタル・データの値に基づいて、ある程度のデータ冗長度が得られる誤り符号を生成する。ステップ220によれば、この生成された誤り符号を、添付、付加、多重化その他の方法でディジタル・データと共に含め、送信機から受信機に送信する。ステップ225によれば、このディジタル・データおよび誤り符号を受信機で受信する。ステップ230によれば、必要な場合には、受信機で初期信号処理を実施する。ステップ235によれば、受信機は、用いられている誤り制御符号化方式に従って誤り符号の冗長ビットにアクセスし、その中に含まれる情報を処理する。ステップ240によれば、受信したディジタル・データと処理された冗長ビットの照合が肯定的であった場合、このデータは破損していないとみなされる。ステップ245によれば、受信機において、このディジタル・データの更なる信号処理を(それがある場合には)継続して行う。
しかし、処理された冗長ビットが、受信したディジタル・データが破損していることを示す(少なくとも1つのビット誤りを含む)場合、ステップ250によれば、このデータ誤りの値を求めて、この誤りが、用いられている誤り制御方式で訂正可能かどうかを判定する。即ち、幾つかの誤り制御方式は、誤り検出しか行うことができず、これらの誤りを訂正することができる特質およびタイプの冗長データは含んでいない。他の誤り制御方式は、検出および訂正機能を共に有し得るにも関わらず、誤り検出機能しか利用しないことがある。これは、個々のデータ信号、メッセージまたはパケットの正確さがさほど重要ではなく、一貫し時宜を得たデータの配信が最も重要であるときにしばしば用いられる方式である。このような応用例は、会話、音声およびビデオ用途の同期ストリーム・データである。或いは、誤り訂正方式を用いて誤りを検出し訂正するときでも、検出された誤りの数または連続して生じた誤りが、誤り訂正機能を上回る場合(即ち、誤り符号ビットにより提供される冗長情報では不足の場合)、このデータは絶対に復元不可能である。ステップ255によれば、データが訂正可能な場合、受信機でデータ誤りを訂正し、更なる信号処理を(それがある場合には)継続する。しかし、データが訂正不可能な場合、ステップ260によれば、データの正確さが本質的なことであるかどうかを決める評価を実施する。純粋なデータ・システムではそうであるように、データの正確さが本質的なことである場合、単一のビット誤りが決定的なものである可能性が大きく、ステップ265によれば、送信元に再送要求を送り返す。しかし、(会話、音声またはビデオなどの)同期的な性質のデータ・メッセージの場合がそうであるように、訂正不可能なデータの正確さが本質的なことではない場合、ステップ270によれば、破損し訂正不可能なデータを単に破棄し、次の連続したデータ・メッセージを処理する。
図3を参照すると、様々な誤り符号の分類および方式の階層図が示されている。誤り符号310は、(i)自動再送要求(ARQ:Automatic Retransmission Request)または検出符号315、および(ii)前方誤り訂正(FEC:Forward Error Corrction)符号320という2つの基本的な分類に分けることができる。ARQは、検出だけを行うタイプの符号であり、受信機により送信時の誤りを検出することができるが、誤りを訂正することはできない。受信機は、受信されたデータを調べ、誤りが検出された受信データを送信し直す要求を出さなければならない。このような再送は、貴重な帯域を横取りすることになるので、一般に、ARQ符号は「クリーン」な(誤りの可能性がより低い)送信媒体に用いられる。最も一般的な例の1つは、単純なパリティ・チェック325であり、RAM中のデータ誤りを検出するのにしばしば用いられる。別の例は、CRC(巡回冗長検査)330であり、例えば、イーサネット(登録商標)上の送信における誤りを検出するのに用いられる。誤りが検出された場合、そのメッセージが再送されることになる。イーサネット(登録商標)は主に電線上を送信されるので、誤りの確率は他の幾つかの媒体よりも少ない。CRCおよびARQは、誤り検出符号方式の単なる2つの例であり、当業者には他の誤り検出符号方式が知られている。単に誤りを検出するだけでそれらを訂正しない誤り符号は、加えられる冗長度が誤り訂正符号よりもかなり少ない。更に、誤り検出用の復号器は、誤り訂正用の復号器よりもはるかに簡単である。一般に、誤り検出符号方式を利用するシステムは、データの再送で生じるオーバーヘッドに関して帯域許容性が高い。即ち、データを再送しても、全体的なシステムのスループットに大きく影響しない。
ノイズの多い媒体では、所定の送信中に誤りが生じる確率が高いので、自動再送要求(ARQ)法を用いると常時データの再送が生じることになり、それにより、システムのスループットが許容できないレベルまで落ちる。このような例では、誤り訂正符号により、その名前が示すとおり、受信側で誤りを検出するだけでなく、誤りの訂正を行うこともできる。こうすると、データを再送する必要が減り、用いられる誤り訂正方法により訂正することができる数よりも誤りの数が多いときだけデータの再送が必要になる。誤り訂正は、受信機が送信元に再送を要求する機会がない一方向通信にも用いられる。このような一方向経路の例には、一部の衛星送信および磁気テープ記憶媒体が含まれる。
誤り訂正符号は、2つの主要な副分類に分けることができる。第1はブロック符号335であり、第2は畳込み符号340である。ブロック符号335は、定義された有限長のメッセージ・ブロックを扱う誤り訂正符号であり、しばしば用いられている。ブロック符号335は、この副分類では、ブロック単位のメッセージ・シンボルを処理し、次いで、ブロック単位の符号語シンボルを出力する符号器を利用するのでこの名前がついている。一般に、ブロック符号は、2値符号345および非2値符号355の2つのタイプに分類することができる。2値符号345の一例はハミング符号350であり、1文字当たり4つの情報ビットおよび3つの検査ビットを有するという特徴がある。非2値符号の例は、リード・ソロモン符号360である。
対照的に、畳込み符号340用の符号器は、連続したストリームのメッセージ・シンボルを扱い、同時に、符号化された連続出力ストリームを生成する。これらの符号は、その符号化プロセスを、メッセージ・シンボルと符号器のインパルス応答の畳込み処理とみなすことができることからこの名前がついている。畳込み符号340の例には、TCM(トレリス(Trellis)符号化変調)365および2値畳込み符号化処理370の2つがある。
図4は、RS(リード・ソロモン)復号器の例を示すブロック図である。前に説明したように、リード・ソロモン符号は、非2値組織的線形ブロック符号である。非2値符号は、幾つかのビットからなるシンボルを扱う。非2値符号用の一般的なシンボル・サイズは、8ビット即ち1バイトである。リード・ソロモン符号などの非2値符号は、これらの符号の訂正がシンボル・レベルで行われるので、バースト誤りを訂正するのに適している。復号プロセスでシンボルを扱うことにより、これらの符号は、1個のビット誤りを伴うシンボルを訂正することができるのと同じように簡単に、8個の誤りのバーストを伴うシンボルを訂正する。リード・ソロモン符号などの組織的符号は、不変形式のメッセージ・シンボルを含む符号語を生成する。符号器は、これらのメッセージ・シンボルに可逆的な数学関数を適用して、冗長またはパリティ・シンボルを生成する。次いで、このパリティ・シンボルをメッセージ・シンボルに付加することにより符号語を形成する。リード・ソロモン符号は、任意の有効符号語を巡回シフトしても別の有効符号語が生成されるので、巡回符号とみなされる。巡回符号は、それを実施する効率的で安価な復号技術が存在するので一般に普及している。最後に、リード・ソロモン符号は、任意の2つの有効符号語を追加すると、別の有効符号語が得られるので線形とみなされる。
誤り制御符号の理論では、有限体またはガロア体として知られている数学的な構造体を用いる。ガロア体は、有限個の元を含む1つの組である。この組に対する加算および乗算演算が定義される。これらの演算は、通常の算術から予想されるように動作する。例えば、加算の単位元はゼロであり、乗算の単位元は1である。リード・ソロモン符号は、この符号の巡回且つ線形な性質を司るガロア体の数学的処理を用いて実施され、q=p次のガロア体上で演算が行われる。ただし、pは正の素数であり、mは正の整数である。q次のガロア体はGF(q)で表し、q個の別個の元を含んでいる。
所定のリード・ソロモン符号は、それを(n,k)符号と称することにより示す。パラメータnは、符号語中のシンボルの数で表した符号語長を示す。パラメータkは、符号語中のメッセージ・シンボルの数を示す。従って、加えられるパリティ・シンボルの数はn−k個になる。この符号の誤り訂正機能は、t=(n−k)/2である。この符号は、T個の誤りを検出し訂正する。ただし、0≦T≦tである。この符号語は、メッセージ・シンボルに基づくものであり、リード・ソロモン符号器により生成される。リード・ソロモンは組織的符号(systematic code:システマティック・コード)なので、n個のメッセージ・シンボルはそのまま送信され、これらのメッセージ・シンボルにn−k個のパリティ・シンボルが付加されて符号語が形成される。送信される符号語に冗長度を加えるこのパリティ・シンボルの値は、メッセージ・シンボルにより決まる。受信機の復号器はこの冗長度を利用して、誤りを検出し訂正する。
受信機の復号器で、シンドローム生成ブロック410への入力として符号語を受信する。復号器により実施される最初のステップはシンドローム計算であり、(しばしばシンドローム生成モジュールまたは単にシンドローム生成器とも称する)シンドローム生成ブロック410により実施される。このシンドロームはn−k個のシンボルからなり、これらの値は受信した符号語から計算する。このシンドロームは、誤りベクトルのみにより決まり、送信された符号語とは無関係である。即ち、各誤りベクトルは固有のシンドローム・ベクトルを有するが、受信された多くの異なる符号語は、それらの誤りパターンが同じ場合には同じシンドロームを有することになる。最初にシンドロームを計算する理由は、そうすると誤りベクトルの探索範囲が狭まるからである。まず、シンドロームが分かると、妥当な誤りベクトルの数が、全部で2個の可能な誤りベクトルから2n−k個の誤りベクトルに減る。
シンドローム生成ブロック410がシンドロームを計算する1つの方法は、ガロア体代数を用いて、受信した符号語を生成多項式で割ることによるものである。この除算の剰余をシンドローム多項式s(x)と呼ぶ。実際のシンドローム・ベクトルS(x)は、α〜αn−kでs(x)の値を求めることにより計算する。ただし、この方法は、ハードウエアの観点から最も効率的でないことがあり、ハードウエア内で頻繁に用いられる代替方法では、直接α〜αn−kで受信済み符号語R(x)の値を求める。シンドローム生成ブロック410は、α〜αn−kで受信した符号語Rの値を求めることにより、即ちR(α)〜R(αn−k)によりシンドロームSを計算する。リード・ソロモン符号では、n−k=2tであり、従って、計算しようとする2t個のシンドローム値[S1 S2 S3...S(2t)]がある。一般に、これらの値は、第1シンドローム生成器がαで受信済み符号語の値を求めてS1を形成し、次のシンドローム生成器がαで受信済み符号語の値を求めてS2を形成し、以下同様に行って、並列に計算する。
シンドローム生成ブロック410によりシンドロームが計算されると、この値は、誤り多項式ブロック420に渡される。そこで、このシンドロームを用いて誤り位置多項式を生成する。このプロセスでは、t個の未知数の連立方程式を解くことが必要である。これらの計算を行うのに、バーレカンプ・マッシィ(Berlekamp−Massay)アルゴリズムまたはユークリッド・アルゴリズムを含めて、幾つかの高速アルゴリズムが利用可能である。これらのアルゴリズムは、リード・ソロモン符号の特別な行列構造を利用し、必要な計算の労力を大きく減らす。
誤り多項式ブロック420は、誤り位置多項式を(それが決定された後で)誤り位置ブロック430および誤り度合ブロック440に渡す。誤り位置ブロック430は、この誤り位置多項式の根を見つけて誤り位置を決定する。一般に、これは、チェン・サーチ・アルゴリズムまたはチェン・セルを利用して行われる。誤り位置ブロック430により決定された誤り位置は、前に決定された誤り位置多項式と共に誤り度合ブロック440に渡される。誤り度合ブロック440は、t個の未知数を有する連立方程式を解くことにより誤り度合を決定する。誤り度合ブロック440を実施する際に用いる高速で広く用いられているアルゴリズムは、フォーニー(Forney)アルゴリズムである。
計算された誤り位置および誤り度合は、誤り訂正ブロック450に転送されて、符号語が破損している場合には、符号語が訂正されて復元される。誤り位置および誤り度合の組合せを、しばしば誤りベクトルと称する。この誤りベクトルは、符号語と同じサイズであり、誤りに対応する位置で非ゼロ値を含んでいる。他の全ての位置にはゼロが入る。誤り訂正ブロック450への別の入力は遅延ブロック460の出力である。遅延ブロック460は、受信した符号語を取り込み、この受信した同じ符号語を遅延させて出力する。一実施形態では、誤り訂正ブロック450は、(最後に入力されたものが最初に出力される)LIFOブロック454と共にガロア体加算器452を使用して実施する。受信した符号語中の誤りは、ガロア体加算器452を使用して、この受信した符号語に誤りベクトルを加えることにより訂正される。LIFOブロック454を使用するのは、誤りベクトルが受信した符号語とは逆の順序で生成され、従って、受信した符号語または誤りベクトルの何れかにLIFO演算を適用して、両方のベクトル中のバイトの順序を整合させなければならないからである。誤り訂正ブロック450の出力は、復号器による元の符号語の推定値である。
図5は、RS(リード・ソロモン)復号器の実施形態の例を示すブロック図である。入力は受信した符号語であり、それをシンドローム生成ブロック510に転送する。シンドローム生成ブロック510によりシンドロームS(x)が計算されると、その値は、ユークリッド・アルゴリズム・ブロック520に渡される。ユークリッド・アルゴリズムによりシンドロームS(x)が処理され、それにより、誤り位置多項式Λ(x)および誤り度合多項式Ω(x)が生成される。即ち、ユークリッド・アルゴリズムにより、キー(Key)方程式と称する以下の方程式が解かれる。
Figure 2005516459
リード・ソロモン復号処理で用いるアルゴリズムは、2つの多項式の最大公約数(GCD)を求めるのにユークリッド・アルゴリズムに基づいている。ユークリッド・アルゴリズムは、周知の反復多項式除算アルゴリズムである。
誤り位置多項式Λ(x)が計算されると、この多項式の値を求めてその根を見つける必要がある。チェン・サーチ・アルゴリズムを用いて、これらの根を見つける。チェン・サーチは、全ての可能な入力値に対して多項式の値を求める総当たり式アルゴリズムであり、次いで、どの出力がゼロに等しいかを決める。位置iで誤りが生じる場合、次式がゼロに等しくなる。
Figure 2005516459
チェン・サーチにより、全てのiおよびjの値について式2の値が求まり、この式がゼロに等しくなる回数が数えられる。ゼロの位置は誤りの位置であり、ゼロの数は誤りのあるシンボルの数である。
ある実施形態の例では、(t+1)個のチェン・サーチ・ステージがあり、これらはハードウエアで実施される。これらのステージ(ステージは、乗算器、マルチプレクサおよびレジスタからなる)はそれぞれ、上記チェン・サーチ方程式中のjについて異なる値を示す。このサーチは、nクロック・サイクルに亘って実行され(上記方程式中の異なるiの値が、各クロック・サイクルを表す)、加算器出力がゼロに等しいかどうか検査される。加算器出力がゼロに等しい場合、ゼロ検出ブロックが1を出力することになり、そうでない場合には、ゼロが出力されることになる。このように、チェン・サーチ・ブロックの出力は、「0」または「1」の何れかの値をとるn個のビット列になる。「1」はそれぞれ、誤りのあるシンボルの位置を表す。
第1クロック・サイクルで、マルチプレクサが、誤り位置多項式の係数をレジスタに送る。残りの(n−1)個のクロック・サイクルに亘って、乗算器出力は、マルチプレクサを介してレジスタに送られることになる。これらの乗算器のベキ指数は負の値を有する。ただし、これらの値は、モジュロ演算子を用いてあらかじめ計算することができる。α−iのベキ指数は、(−i modulo n)=(−i modulo 255)に等しい。例えば、α−1はα254に等しく、α−2はα253に等しい。以下同様である。
フォーニー・アルゴリズムを用いて、誤りの値Yを計算する。これらの値を計算するために、フォーニー・アルゴリズムでは、誤り位置多項式Λ(x)および誤り度合多項式Ω(x)を用いる。誤りの値を求める式は次のようになる。
Figure 2005516459
形式的導関数Λ′(x)の計算は、実際には極めて簡単である。例えば、Λ(x)=α+α+αX+αと仮定する。こうすると、Λ′(x)は次式のようになる。
Figure 2005516459
Xの奇数の指数の係数をとり、それらを次に低い指数(偶数)のXに割り当てることにより導関数を形成する。
次いで、チェン・サーチに用いたのと同じタイプのハードウエアを用いて、Λ′(x)多項式と共にΩ(x)多項式の値を求める。Ω(x)の値を求めるには、Ωの係数にΩの係数にα−1を掛けたものを加え、続けて、Ωの係数にα−2を掛けたもの、以下同様に、Ωの係数にα−tを掛けたものまで加える。次いで、これらの乗算器の出力を合計する。
次いで、逆数の乗算器を用いて分子に分母を掛ける。この逆数の乗算器は、分母の逆数を見つけ出すルックアップ・テーブルを含んでいる。例えば、分母がαの場合、逆数はα−3になる。次いで、これを次式のように表すことができる。
Figure 2005516459
チェン・サーチおよびフォーニー・アルゴリズムには共に同じタイプのハードウエアが必要なので、チェン/フォーニー・ブロック530として示すように、これら2つの機能を同じブロック内で組み合わせることができる。この実施形態では、チェン・サーチの出力のところで2つの加算器を用いる。第1加算器は偶数ステージの値を合計し、他方の加算器は奇数ステージの値を合計する。最終的なチェン・サーチ出力を形成するには、次いで、これら2つの加算器の出力を合計し、ゼロ検出ブロックが根の位置を検出する。フォーニー・アルゴリズムでは、奇数ステージ用加算器の出力も用いる。奇数ステージの合計は、フォーニー方程式の分母を表す。この合計値の逆数をとり、次いで、誤り度合多項式の値を求めることにより形成された分子の値を掛ける。この出力とゼロ検出出力のアンド(AND)演算を行う。というのは、これらの誤りの値は、実際の誤り位置でしか有効でないからである(そうでない場合には、誤りの値はゼロにしようとするである)。
このように、チェン/フォーニー・ブロック530は、誤り位置多項式および誤り度合多項式を用いて誤りベクトルを生成し、それを誤り訂正ブロック540に転送する。この誤りベクトルは、符号語と同じサイズであり、誤りに対応する位置で非ゼロ値を含んでいる。他の全ての位置にはゼロが入る。誤り訂正ブロック540への別の入力は遅延ブロック550の出力である。遅延ブロック550は、受信した符号語を取り込み、この受信した同じ符号語を遅延させて出力する。この実施形態では、誤り訂正ブロック540は、LIFOブロック542と共にガロア体加算器544を使用して実施する。受信した符号語中の誤りは、ガロア体加算器544を使用して、この受信した符号語に誤りベクトルを加えることにより訂正される。LIFOブロック542を使用するのは、誤りベクトルが受信した符号語とは逆の順序で生成され、従って、受信した符号語または誤りベクトルの何れかにLIFO演算を適用して、両方のベクトルについてバイトの順序を同期させなければならないからである。誤り訂正ブロック540の出力は、復号器による元の符号語の推定値である。
復号器内構成要素ブロック・メッセージ処理
前に説明したように、リード・ソロモン復号器は、少なくとも4つの主要な構成要素即ち機能ブロックを有する。それらは、シンドローム生成器、誤り多項式ブロック、誤り位置ブロックおよび誤り度合ブロックである。復号器が誤りを検出するのに加えてそれを訂正する場合、復号器は誤り訂正ブロックも含んでいる。従来技術の復号器では、これらのブロックにより、ある1つのブロックへの入力は前のブロックの出力によりのみ決まる「伝送パイプライン」が形成される。即ち、1つのブロックから前のブロックへのフィードバックはない。リード・ソロモン復号器は、(図4および図5の遅延ブロックにより示す)個々の符号語に対する復号プロセスを実施する間に、受信した符号語を記憶するためのメモリまたはバッファ・ブロックを実現することも必要である。誤り位置/度合ブロックは、復号プロセスの完了時に誤りベクトルを生成し、この誤りベクトルとメモリ中に記憶させた受信済み符号語のXOR演算を行って復号器出力を形成する。一般に、使用するメモリのサイズは1符号語に等しく、そのため、この復号器は、一度に1つの符号語しか処理することができない。
図6は、本発明の原理による復号器内ハンドシェイク・プロトコルの実施形態の例を示すブロック図である。復号器内ブロックA 610および復号器内ブロックB 620は、(上記で説明した機能ブロックから選択した)リード・ソロモン復号器内の任意の2つのブロックを表し、これらのブロック間でフィードバックまたは通信を利用する。復号処理用「伝送パイプライン(delivery pipeline)」はデータ・チャネル630であり、これは、リード・ソロモン復号器の機能ブロック間の従来技術による任意の一方向チャネルを表す。それに加えて、本発明によれば、フィードバック・チャネルも示されている。このフィードバック・チャネルは、ある1つの機能ブロックが、その機能ブロックの現在または今後の非活動状態を上流側または下流側の機能ブロックに伝えるための手段とみなすことができる。例えば、復号器内ブロックA 610が、ある特定の符号語に対してその処理機能を完了したと仮定する。復号器内ブロックA 610は、指定された符号語に対するその計算機能の結果を復号器内ブロックB 620に転送する準備ができていることを示す非活動メッセージを復号器内ブロックB 620に送る。そのため、このタイプの非活動メッセージをRTS(Ready−To−Send:送信準備完了)メッセージ650と呼ぶ。逆に、復号器内ブロックB 620が、ある特定の符号語に対してその処理機能を完了したと仮定する。復号器内ブロックB 620は、それが受信する準備ができていることを示す非活動メッセージを復号器内ブロックA 610に送る。そのため、このタイプの非活動メッセージをRTR(Ready−To−Receive:受信準備完了)メッセージ640と呼ぶ。
機能ブロック間のフィードバックまたはハンドシェイク処理を伴う復号器の実施形態である本発明のこの実施形態は、こうすると、ユーザが構成可能な、IP(知的財産)コアに適当なアーキテクチャが可能になり、それにより、実現して使用したいメモリ・サイズに基づいて、ユーザが復号器の性能をカスタマイズすることができるという点で有利である。
図7は、RS(リード・ソロモン)復号器の実施形態の例の機能ブロック間のハンドシェイク・プロトコルを示すブロック図である。シンドローム生成ブロック410、誤り多項式ブロック420、誤り位置ブロック430、誤り度合ブロック440、(ガロア体加算器452およびLIFOブロック454を含む)誤り訂正ブロック450および遅延ブロック460の機能、目的および動作は、図4に関して十分に説明されており、従ってここでは繰り返さない。図7に新たに含めた上記非活動メッセージ(またはハンドシェイク信号)が示されている。これらの処理ブロックは、ハンドシェイク信号(例えば、RTSおよびRTRメッセージ)を用いて、これらの処理ブロックが送信データをもっている時点、および/またはそれらがデータを受信する準備が整っている時点を示す。こうすると、シンドローム生成ブロック410と誤り多項式ブロック420は、RTSチャネル710を介してRTSメッセージを、或いは、RTRチャネル712を介してRTRメッセージを交換する。誤り多項式ブロック420と誤り位置ブロック430は、RTSチャネル718を介してRTSメッセージを、或いは、RTRチャネル720を介してRTRメッセージを交換する。誤り多項式ブロック420と誤り度合ブロック440は、RTSチャネル724を介してRTSメッセージを、或いは、RTRチャネル726を介してRTRメッセージを交換する。誤り度合ブロック440と誤り訂正ブロック450は、RTSチャネル730を介してRTSメッセージを、或いは、RTRチャネル732を介してRTRメッセージを交換する。シンドローム生成ブロック410は、RTRチャネル740を介してRTRメッセージを送信することにより次に受信する符号語を要求するようにも適合される。誤り訂正ブロック450は、RTSチャネル760を介して出力処理ステージにRTSメッセージを送信するようにも適合される。更に、本発明の選択した実施形態により、遅延を適切に調整して、誤り訂正ブロック450において受信した符号語が誤りベクトルに同期して検査され、正しく訂正されるように、(メッセージ・チャネル750を介して)遅延ブロック460にRTRまたはRTSメッセージを送信することが必要になることがある。
本発明から得られる有利な有用性は、復号器内機能ブロック間のハンドシェイク処理を可能にすることにより、機能ブロックが非活動状態になったときに(即ち、機能ブロックがその最後の手順を完了したときに)、機能ブロックがより多くの処理データの受信を要求できることである。同様に、機能ブロックは、その機能ブロックがその手順を完了しており、且つ下流側の機能ブロックがその結果を受信することができるときにはいつでもその結果を転送することができることを下流側の機能ブロックに示すことができる。例えば、一般に、シンドローム生成ブロック410は、特定の長さの受信した符号語に対して固定された(既知の)数のクロック・サイクルを用いてシンドロームを生成することになるが、誤り多項式ブロック420は、その実行時間が変化し得る反復プロセスである。更に、一般に、誤り位置ブロック430および誤り度合ブロック440は、固定された(既知の)数のクロック・サイクルの時間が掛かることになるが、符号語中に存在する誤りの数が多すぎて符号語が訂正不可能と判定された場合には、その符号語に対する更なる処理を中断することができ、誤り位置ブロック430および誤り度合ブロック440は、適切なRTRチャネル720、726を介して誤り多項式ブロック420にRTRメッセージを送信することにより、次の符号語に対する処理を開始するように要求する。従って、誤り位置ブロック430および誤り度合ブロック440も、その処理を完了するのにかけるクロック・サイクルを可変にする。
ただし、図7に示す本発明の実施形態は、本発明の趣旨および範囲から逸脱することなく実施することができる幾つかの実施形態の1つであることに留意されたい。例えば、復号器の各機能ブロックがRTSおよびRTRメッセージを送信するように構成される必要はない。そうではなくて、設計上の選択事項として、シンドローム生成ブロック410と誤り多項式ブロック420の間だけでハンドシェイク処理を行うことができることが望ましいことがある。多くの他の変形形態も可能である。更に、RTSおよびRTRチャネルを介して通信されるようにRTSおよびRTRメッセージを示し説明するが、このような説明は単なる論理上の説明であり、メッセージ・チャネルは、データ・チャネルとは別の1つの共通物理層メッセージ・チャネル上に組み込むこともできるし、或いは、データ・チャネル自体と同じ物理層上に組み込むこともできる。
本発明の原理によれば、ユーザは、メモリ割当てサイズを変更することにより復号器の性能をカスタマイズする。従って、1符号語長に等しいメモリ・サイズを割り当てた実施形態は、ハードウエアおよび電力が効率的に使用される設計になるが、一度に1つの符号語しか処理することができなくなる。1符号語長よりも長いメモリ・サイズを割り当てられた実施形態は、1つの符号語を処理しながら、第2の符号語の取込みを開始する。2つの符号語のメモリ・サイズを割り当てられた実施形態は、2つの符号語を同時に処理する。以下同様である。もちろん、組み込まれるメモリのサイズを増やすと、それに対応して、ハードウエアおよび電力の点でより高価になるが、所定の時間内により多くの数の符号語を処理することができるので、それに対応して復号プロセスのスピードが速くなり、且つ待ち時間が少なくなるという利益が得られる。ハンドシェイク信号によりプロセスが完全に自動化され、それにより、ユーザは、復号器が使用するメモリ・サイズを入力するだけでよい。この単一のパラメータを制御することにより、ユーザは、スピード、電力およびサイズ(ゲート数)の点で復号器の性能をカスタマイズする。
図8は、本発明の原理によるブロック内ハンドシェイク処理を用いた復号器に関する効率を示す、RS(リード・ソロモン)復号器の例のタイミング図である。タイミング図の上側部分810に、ブロック内ハンドシェイク処理を用いない典型的な復号器における処理に必要な時間を示す。この方式では、CW1(CodeWord 1:符号語1)の処理は時間tから始まる。CW1のシンドロームは時間tで生成され、その結果は誤り多項式ブロックに渡される。誤り多項式ブロックは時間tでCW1の処理を完了し、以下同様に行われ、最後に時間tでCW1の処理が完了する。従って、CW2(CodeWord 2:符号語2)の処理は時間tから始まる。CW2に対するこの単一機能逐次処理は、CW2に対する誤り位置および誤り度合計算が完了する時間tまで続く。ブロック内ハンドシェイク処理を用いないと、2つの符号語を処理するのに、全部で(t−t)単位の時間が掛かることに留意されたい。
タイミング図の下側部分820に、ブロック内ハンドシェイク処理を用いた復号器における処理時間を示す。3つの符号語に用いるのに十分な大きさのメモリを実現することにより、この復号器は、一度に3つの符号語を同時に処理できることに留意されたい。各ブロックは、準備が整っていることを前のブロックに伝えるので、各ブロックは処理を終了した時点でより多くのデータを受信することができるため、このように効率的に行われる。図に示した例では、CW3(CodeWord 3:符号語3)の処理は、t〜tの間のどこかの時点で完了する。
誤り訂正復号器内の二重チェン・サーチ・ブロック
本発明の実施形態の一例では、二重チェン・サーチ・ブロックを用いて誤り訂正プロセスを実施する。本発明のこの実施形態の原理を利用する復号器により、復号器の待ち時間および復号器の記憶/メモリ要件が共に低減する。
図9は、本発明の原理による二重チェン・サーチ・ブロックを使用するRS(リード・ソロモン)復号器の実施形態の例を示すブロック図である。入力は受信した符号語であり、これをシンドローム生成ブロック910に転送する。シンドローム生成ブロック910によりシンドロームS(x)が計算されると、このシンドロームは、ユークリッド・アルゴリズム・ブロック920に転送される。ユークリッド・アルゴリズムを用いて、シンドロームS(x)を処理して、誤り位置多項式Λ(x)および誤り度合多項式Ω(x)を生成する。
本発明のこの実施形態では、符号語中の誤りの数を決定するために新しいチェン・ブロック930が組み込まれる。誤り位置多項式Λ(x)が計算されると、チェン・ブロック930は、チェン・サーチ・アルゴリズムを適用して根の値を求める。チェン・サーチは、全ての可能な入力値に対して多項式の値を求める総当たり式アルゴリズムであり、次いで、どの出力がゼロに等しいかを決める。位置iで誤りが生じる場合、次式がゼロに等しくなる。
Figure 2005516459
チェン・ブロック930により、全てのiおよびjの値について上式の値が求まり、この式がゼロに等しくなる回数が数えられる。得られた数は、検出された誤りの数である。
前に説明したように、誤り位置および誤り度合の両方についてこの誤り多項式の値を求めなければならない。チェン・サーチおよびフォーニー・アルゴリズムを共に実施するには同じタイプのハードウエアが必要なので、チェン/フォーニー・ブロック940として示すように、これら2つの機能を同じブロック内で組み合わせることができる。この実施形態では、チェン・サーチの出力のところで2つの加算器を用いる。第1加算器は偶数ステージの値を合計し、他方の加算器は奇数ステージの値を合計する。最終的なチェン・サーチ出力を形成するには、次いで、これら2つの加算器の出力を合計し、ゼロ検出ブロックが根の位置を検出する。フォーニー・アルゴリズムでは、奇数ステージ用加算器の出力も用いる。奇数ステージの合計は、フォーニー方程式の分母を表す。この合計値の逆数をとり、次いで、誤り度合多項式の値を求めることにより形成された分子の値を掛ける。この出力とゼロ検出出力のアンド(AND)演算を行う。というのは、これらの誤りの値は、実際の誤り位置でしか有効でないからである(そうでない場合には、誤りの値はゼロにすべきである)。
このように、チェン/フォーニー・ブロック940は、誤り位置多項式および誤り度合多項式を用いて誤りベクトルを生成し、それを誤り訂正ブロック950に転送する。この誤りベクトルは、符号語と同じサイズであり、誤りに対応する位置で非ゼロ値を含んでいる。他の全ての位置にはゼロが入る。誤り訂正ブロック950への別の入力は遅延ブロック960の出力である。遅延ブロック960は、受信した符号語を取り込み、この受信した同じ符号語を遅延させて出力する。この実施形態では、誤り訂正ブロック950は、LIFOブロック952と共にガロア体加算器954を使用して実施する。受信した符号語中の誤りは、ガロア体加算器954を使用して、この受信した符号語に誤りベクトルを加えることにより訂正される。LIFOブロック952を使用するのは、誤りベクトルが受信した符号語とは逆の順序で生成され、従って、受信した符号語または誤りベクトルの何れかにLIFO演算を適用して、両方のベクトル中のバイトの順序を整合させなければならないからである。誤り訂正ブロック950の出力は、復号器による元の符号語の推定値である。
リード・ソロモン復号器は、t個の誤りまでしか訂正することができない。ただし、含まれるパリティ・バイトの数は2tである。検出された誤りの数がt個よりも多い場合には、一般に、この受信した符号語を変更せず且つ訂正せずに復号器の出力に転送することが望ましい。というのは、検出された誤りの数がt個よりも多い場合、この符号語は訂正不可能だからである。従来技術のチェン/フォーニーの実施形態では、誤りの数を決定することが可能になる前に、符号語全体を処理しなければならない。そのため、この操作にはNクロック・サイクルが掛かる。ただし、Nは符号語の長さである。チェン/フォーニーの計算が完了すると、誤りの数が決定され、値tと比較される。誤りの数がt以下の場合、チェン/フォーニー・ブロックからの誤りの値は、受信した符号語とのXOR(排他的論理和)演算にかけられて誤りが訂正され、それにより最終的な復号器出力が生成される。しかし、誤りの数がtよりも多い場合、受信した符号語は、変更されずに復号器出力として転送される。従って、従来技術の方法では、チェン/フォーニー・ブロックによる処理が完了するまで、受信した符号語全体を記憶する必要がある。このような方式では、待ち時間による遅延も生じる。というのは、このブロックのNクロック・サイクル全体が完了するまで、復号器の出力を転送することができないからである。
対照的に、本発明のこの実施形態では、符号語をチェン・アルゴリズムに2回かける。1回目で誤りの数を決定し、2回目で誤りの位置を決定する。従って、チェン・ブロック930が、誤りの数が閾値tよりも多いことを検出すると、この受信した符号語は復号器出力として渡され、メモリが解放される。逆に、誤りの数が閾値t以下であるときには、このデータは、チェン/フォーニー・ブロックに渡されて、実際の誤り位置および度合が決定される。このような実施形態は、図6〜図8に示す本発明のハンドシェイク処理の実施形態と共に用いると最適であろう。このような組合せにより、チェン/フォーニー・ブロック940が誤りを計算しながら、チェン・ブロック930が次の符号語の誤りの数を決定する。従って、チェン/フォーニー・ブロック940の出力を直ちに送出し、それに対応するメモリを解放する。
誤り訂正復号器用に強化されたチェン・サーチ・セル
前に説明したように、チェン/フォーニー・ブロックは、入力として、誤り位置および誤り度合多項式という2つの多項式を受信し、出力として誤りベクトルを生成する。この誤りベクトルは、受信した符号語中の誤りの復号器の推定値を表すNバイトのベクトルである。この誤りベクトルを、受信した符号語とのXOR(排他的論理和)演算にかけて誤りを訂正し、それにより復号器による元の符号語の推定値が形成される。誤りベクトルを決定するためにチェン/フォーニー・ブロックを使用する従来型復号器は、符号語ベクトルに対して逆の順序で誤りベクトルを生成する。即ち、符号語および誤りベクトルは、誤りベクトルに(または逆に符号語に)更なる処理をかけずにXOR演算にかけることができない。一般に、この更なる処理は、誤りベクトルまたは受信した符号語の何れかに対する(最後に入力されたものが最初に出力される)LIFO操作の形式をとる。これは、入力の順序を逆にして、符号語および誤りベクトルをXOR演算にかけることができるようにするためである。残念ながら、このために、Nクロック・サイクルの遅延が生じる。ただし、Nは符号語のバイト数である。更に、一部の従来方式の実施形態では、1符号語長よりも大きいメモリ・サイズを用いるので、このメモリを2つ以上の別々のLIFOブロックに分割する必要がある。そうすると、アドレス指定が複雑になり得て、メモリ・サイズも符号語長の整数倍に制限される。
本発明の実施形態の一例は、符号語に対して正しく同期がとれている出力を生成する新しいチェン・サーチ・セルである。即ち、誤りベクトルも符号語ベクトルもXOR演算にかける前に逆にする必要がなく、そのため、LIFOブロックその他の反転手段が不要になる。従って、Nクロック・サイクルの遅延の必要がないので、待ち時間がより短くなる。更に、本発明のこの実施形態では、(従来技術に比べて)アドレス指定方式が簡略化され、符号語長の単なる整数倍以外のメモリ・サイズがサポートされる。例えば、符号語長の2.5倍のメモリを使用することができ、それにより、復号器が2つの符号語を処理する間に、次の符号語の一部を取り込むことができる。
図10は、チェン・サーチおよびチェン/フォーニー・ブロックの基本的な構成単位である典型的な従来技術のチェン・サーチ・セル1000を示すブロック図である。このチェン・サーチ・ブロックを用いて、誤り位置多項式Λの値を求め、それによりその根を見つける。この根の位置は、受信した符号語中の誤りのある位置に対応する。図10のチェン・サーチ・セルを用いて次式を実施する。
Figure 2005516459
式7を計算すると、符号語中の誤りに対応するバイト位置でヌル(ゼロ)値が得られる。チェン・サーチ・セル1000は、上記の式の1つのステージを実施するのに用いるハードウエア・アーキテクチャである。各ステージでは、誤り位置多項式Λの1つの係数を処理するので、全部で(t+1)個のステージがある(というは、誤り位置多項式の最大次数はtであり得、次数tの多項式は(t+1)個の係数を有するからである)。
チェン・サーチ・セル1000は、誤り位置多項式の係数を反復して処理する。最初の反復で、マルチプレクサ1020は、処理中の符号語に対応する適切な多項式係数1010を受信し、この多項式の係数をレジスタ1030に送る。後続のクロック・サイクルで、このレジスタの出力は、まず乗算器1040に転送され、そこでα−jが掛けられ、次いで、マルチプレクサ1020によりレジスタに戻されて記憶される。このプロセスを全部でNクロック・サイクルに亘って実施する。再度、式7を参照すると、指数iは反復数を示し、指数jはチェン・サーチ・セルのステージを示す。即ち、jの値はゼロからtまで増え、そのため、ハードウエア内で実施されるチェン・サーチ・セル・ステージは全部で(t+1)個ある。
例として、このセルは、第2ステージ(j=1)を表すものと仮定する。即ち、各クロック・サイクルで、レジスタ出力にはα−1が掛けられ、その結果をレジスタに戻して記憶する。こうすると、以下の数列が生成される。
λ+λα−1X+(λα−1)α−1+((λα−1)α−1)α−1
...
ただし、Xはnクロック・サイクルの遅延を表す。
各項を合成することにより、最終的な数列は次式のようになる。
λ+λα−1X+λα−2+λα−3+...+λα−(N−1)N−1
この実施形態に関連する問題は、誤り位置が、対応する符号語のバイトと逆の順序で生成され、そのため、誤り位置を符号語に加えて訂正が行われる前に、LIFOブロックにより逆にする必要があることである。LIFOブロックは、複数のレジスタを含むハードウエア記憶要素である。全てのレジスタが一杯になると、LIFOブロックはその出力を送出する。入力時の最後の要素が出力時には最初の要素になり、以下同様に続く。LIFOブロックを用いると2つの問題が生じる。1つは、LIFOブロックが大規模な記憶/メモリ素子であり、そのため、ICのゲート数および電力消費量が増えることである。別の問題は、LIFOブロックによりNクロック・サイクルの待ち時間が生じることである。この待ち時間が生じるのは、LIFOブロックが最初に一杯になるのにNクロック・サイクル掛かり、最後の要素がLIFOに読み込まれるまで出力を生成することができないからである。
図11は、本発明の原理に従ってメモリ要件および遅延が共に低減された改良型チェン・サーチ・セル1100を示すブロック図である。本発明のこの実施形態の基礎となる原理は、チェン・サーチ・ブロックに、係数が逆の順序(以下では、「正規化された順序」と称する)で生成されるにも関わらず、標準チェン・サーチにより生成されるものと数学的に等価な数列を生成させることができることである。この実施形態では、正規化された順序で誤り位置を生成して符号語を訂正するのに用いる以下の2つの式(式8および式9)を実施する。
Figure 2005516459
Figure 2005516459
図10の従来技術のチェン・サーチ・セル1000では、誤り位置多項式の係数を、各クロック・サイクル毎に減らすαのベキ指数を「ゼロ」から始め、−j(N−1)の値まで減らして反復的に処理することを想起されたい。図11のチェン・サーチ・セル1100の実施形態では、αのベキ指数の値を−j(N−1)から始めて、ベキ指数がゼロに達するまで各クロック・サイクル毎に増やす。
従って、最初のクロック・サイクルの際に、前段乗算器1150により多項式の係数1110にα−j(N−1)が掛けられ(ただし、jはステージ番号)、それがマルチプレクサ1120に転送され、レジスタ1130に送られて記憶される。後続のクロック・サイクルで、レジスタ1130の出力は乗算器1140に転送され、そこでαが掛けられ、次いで、マルチプレクサ1120によりレジスタに戻される。
例として、このセルは、第2ステージ(j=1)を表すものと仮定する。こうすると、以下の数列が生成される。
λα−(N−1)X+(λα−(N−1))αX+((λα−(N−1))α)αX+...
各項を合成すると、以下の数列が生成される。
λα−(N−1)+λα−(N−2)X+λα−(N−3)+...+λα−1N−2+λXN−1
この数列中で生成される係数は、図10の標準チェン・サーチ・セル1000により生成されるものと、それらがこの時点では(遅延係数が逆の順序で示されるように)逆の順序である点を除いて同じであることに留意されたい。図11のチェン・サーチ・セル1100は、追加のガロア体乗算器(1つではなく2つ)を用いるが、これらは、ハードウエアで実施するのに小規模且つ安価なものである。反転させるのにLIFOブロックがもはや不要であることと、LIFOを一杯にするのに必要とされる遅延が回避されることから得られる利点および有用性は、各チェン・サーチ・セル毎に追加のガロア体乗算器を供給することの欠点を補って余りあるものである。
単一ブロック内でチェン・サーチをフォーニー・アルゴリズムと組み合わせることは、これらのアルゴリズムが共に類似の機能の実行を必要とすることから、一般の設計実務慣行となっている。図11に即して示し説明される本発明のこの実施形態の原理は、フォーニー・ブロック・セルにも同様に適用される。というのは、フォーニー・アルゴリズムが極めて類似したハードウエアを使用して誤り度合多項式を処理するからである。本発明の原理を、フォーニー・ブロック・セルおよびチェン/フォーニー・ブロック・セルの設計に拡張することができることは当業者には周知のことであろう。
多くの既存のシステムは、リード・ソロモン符号を符号化し復号する「既成」の集積回路を使用する。これらのICは、ある分量のプログラム可能性(例えば、RS(255,k)。ただし、tは1〜16個のシンボルを表す)をサポートする傾向がある。最近の傾向は、VHDL即ちベリログ(Verilog)設計(論理コアまたは知的財産コア)に向かいつつある。こうすると、標準ICに比べて多くの利点がある。論理コアを、他のVHDL即ちベリログ・コンポーネントと一体化し、FPGA(現場で書込み可能なゲート・アレイ)またはASIC(特定用途向け集積回路)に統合することができ、これにより、複数のモジュールを単一ICに組み合わせることができるいわゆる「システム・オン・チップ」設計が可能になる。生産量によりは、論理コアにより、「標準」ICよりもシステム・コストをしばしば大きく下げることができる。
ハードウエアによる実施形態の状況で本発明を説明しているが、本発明の原理をそのように限定されると解釈すべきではない。最近まで、「リアルタイム」でのソフトウエアによる実施形態は、最も簡単なリード・ソロモン符号(即ち、tの値が小さい符号)以外は全てあまりにも多くの計算能力を必要とした。ソフトウエアでリード・ソロモン符号を実施する際の主要な難点は、汎用プロセッサが、ガロア体算術演算をサポートしていないことである。例えば、ソフトウエアでガロア体乗算を実施するには、ゼロの検査、2つの対数テーブル索引、モジュロ加算および真数テーブル索引を必要とする。しかし、注意深く設計するとプロセッサ性能の増加とあいまって、ソフトウエアによる実施形態は、比較的高速なデータ・レートで動作し得る。
例示の実施形態および/または構成に関して本発明を説明してきたが、本発明は、この開示の趣旨および範囲内で更に改変することができる。従って、本出願は、本発明の一般原理を用いた本発明の任意の変形形態、使用形態または適応形態を包含するためのものである。更に、本出願は、本発明に関連し、特許請求の範囲の制限に含まれる、当技術分野において周知の、または実務上の慣行に収まるようなこの開示からの派生物を包含するためのものである。
誤り訂正方式を組み込んだディジタル・データ伝送システムを示すブロック図である。 典型的な誤り訂正方式の方法を示す流れ図である。 様々な誤り訂正方式を示す階層図である。 RS(リード・ソロモン)復号器を示すブロック図である。 本発明の原理に従って用いられるRS(リード・ソロモン)復号器の実施形態の例を示すブロック図である。 本発明の原理による復号器内ハンドシェイク・プロトコルの例を示すブロック図である。 本発明の原理によるRS(リード・ソロモン)復号器の実施形態の例の機能ブロック間のハンドシェイク・プロトコルを示すブロック図である。 本発明の原理によるブロック内ハンドシェイク処理を用いた復号器に関する効率を示す、RS(リード・ソロモン)復号器の例のタイミング図である。 本発明の原理によるチェン/フォーニー・ブロックに加えて、チェン・ブロックを使用するRS(リード・ソロモン)復号器の実施形態の例を示すブロック図である。 RS(リード・ソロモン)復号器で実施する典型的な従来技術のチェン・サーチ・セルを示すブロック図である。 本発明の原理に従ってメモリ要件および遅延が共に低減されたRS(リード・ソロモン)復号器で実施する改良型チェン・サーチ・セルを示すブロック図である。

Claims (19)

  1. 符号語中のデータの誤り訂正を実行する復号器であって、
    前記符号語からシンドロームを計算する手段(910)と、
    前記シンドロームから誤り多項式を生成する手段(920)と、
    前記誤り多項式から前記符号語中のデータの誤りの数に対応する値を決定する手段(930)と、
    前記誤り多項式から誤り位置を決定する手段(940)と、
    前記誤り多項式から誤り度合を計算する手段(940)とを備え、
    データの誤りの数に対応する前記値を決定する前記手段(930)が、第1の符号語に対応するデータに対して実行され、前記誤り位置を決定する前記手段(940)および前記誤り度合を決定する前記手段(940)が、第2の符号語に対応するデータに対して実行されることを特徴とする、復号器。
  2. 前記符号語中のデータの誤りの数に対応する前記値が閾値よりも大きい場合、前記符号語が前記復号器の出力として転送されることを更に特徴とする、請求項1に記載の復号器。
  3. 前記符号語、前記誤り位置および前記誤り度合を受信することに応答して、前記符号語中の誤りを訂正し、その結果を前記復号器の前記出力として転送する手段(950)を更に備える、請求項2に記載の復号器。
  4. 前記符号語中のデータの誤りの数に対応する前記値が前記閾値以下の場合、前記符号語に対応する前記誤り位置および前記誤り度合の計算が完全に行われることを更に特徴とする、請求項3に記載の復号器。
  5. 誤り多項式を生成する前記手段(920)が、ユークリッド・アルゴリズム・ブロックを用いて実現される、請求項1に記載の復号器。
  6. 前記符号語中のデータの誤りの数に対応する値を決定する前記手段(930)が、第1チェン・ブロックを用いて実現される、請求項1に記載の復号器。
  7. 前記誤り多項式から誤り位置を決定する前記手段(940)が、第2チェン・ブロックを用いて実現される、請求項6に記載の復号器。
  8. 前記誤り多項式から誤り度合を決定する前記手段(940)が、フォーニー・アルゴリズムを用いて実現される、請求項7に記載の復号器。
  9. 前記誤り多項式から誤り位置を決定する前記手段(940)および前記誤り多項式から誤り度合を決定する前記手段(940)が、チェン/フォーニー・ブロックを用いて実現される、請求項6に記載の復号器。
  10. 符号語の誤り訂正に用いる復号器において、誤り位置および誤り度合を決定する方法であって、
    符号語の誤りの数に対応する値を計算する動作と、
    符号語の誤りの数に対応する前記値が閾値よりも大きい場合、前記符号語を前記復号器の出力として転送する動作と、
    符号語の誤りの数に対応する前記値が前記閾値以下の場合、前記符号語に対応する前記誤り位置および前記誤り度合を決定する動作とを含み、
    符号語の誤りの前記数に対応する前記値を計算する前記動作が、第1の符号語に対応するデータに対して実行され、前記誤り位置および前記誤り度合を決定する前記動作が、第2の符号語に対応するデータに対して同時に実行されることを特徴とする、方法。
  11. 符号語の誤りの数に対応する値を計算する前記動作が、第1チェン・サーチ・ブロックを用いて実現されることを更に特徴とする、請求項10に記載の方法。
  12. 前記誤り位置を決定する前記動作が、第2チェン・サーチ・ブロックを用いて実現されることを更に特徴とする、請求項11に記載の方法。
  13. 前記誤り度合を決定する前記動作が、フォーニー・アルゴリズム・ブロックを用いて実現されることを更に特徴とする、請求項12に記載の方法。
  14. 前記誤り位置および前記誤り度合を決定する前記動作が、チェン/フォーニー・ブロックを用いて実現されることを更に特徴とする、請求項11に記載の方法。
  15. 符号語の誤り訂正用復号器であって、
    符号語の誤りの数に対応する値を計算する手段(930)と、
    符号語の誤りの数に対応する前記値が閾値よりも大きい場合、前記符号語を前記復号器の出力として転送する手段と、
    符号語の誤りの数に対応する前記値が前記閾値以下の場合、前記符号語に対応する誤り位置および誤り度合を決定する手段(940)とを備え、
    符号語の誤りの前記数に対応する前記値を計算する前記手段(930)が、第1の符号語に対応するデータに対して実行され、前記誤り位置および前記誤り度合を決定する前記手段(940)が、第2の符号語に対応するデータに対して同時に実行されることを特徴とする、復号器。
  16. 符号語の誤りの数に対応する前記値を計算する前記手段が、第1チェン・サーチ・ブロックを用いて実現されることを更に特徴とする、請求項15に記載の復号器。
  17. 前記誤り位置を決定する前記手段が、第2チェン・サーチ・ブロックを用いて実現されることを更に特徴とする、請求項16に記載の復号器。
  18. 前記誤り度合を決定する前記手段が、フォーニー・アルゴリズム・ブロックを用いて実現されることを更に特徴とする、請求項17に記載の復号器。
  19. 前記誤り位置および前記誤り度合を決定する前記手段が、チェン/フォーニー・ブロックを用いて実現されることを更に特徴とする、請求項16に記載の復号器。
JP2003563106A 2002-01-23 2003-01-22 誤り訂正復号器内の二重チェン・サーチ・ブロック Pending JP2005516459A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/055,076 US6920600B2 (en) 2002-01-23 2002-01-23 Dual chien search blocks in an error-correcting decoder
PCT/US2003/001995 WO2003063364A1 (en) 2002-01-23 2003-01-22 Dual chien search blocks in an error-correcting decoder

Publications (2)

Publication Number Publication Date
JP2005516459A true JP2005516459A (ja) 2005-06-02
JP2005516459A5 JP2005516459A5 (ja) 2006-03-09

Family

ID=21995421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003563106A Pending JP2005516459A (ja) 2002-01-23 2003-01-22 誤り訂正復号器内の二重チェン・サーチ・ブロック

Country Status (9)

Country Link
US (1) US6920600B2 (ja)
EP (1) EP1470647A4 (ja)
JP (1) JP2005516459A (ja)
KR (1) KR20040075954A (ja)
CN (1) CN1623280A (ja)
BR (1) BR0302844A (ja)
MX (1) MXPA04007077A (ja)
MY (1) MY134591A (ja)
WO (1) WO2003063364A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018019401A (ja) * 2016-07-28 2018-02-01 インディアン インスティチュート オブ サイエンス リード・ソロモン復号器及び復号方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140302A1 (en) * 2002-01-23 2003-07-24 Litwin, Louis Robert Chien search cell for an error-correcting decoder
JP4289854B2 (ja) * 2002-09-20 2009-07-01 京セラ株式会社 無線基地装置、移動端末装置、参照信号制御方法および参照信号制御プログラム
US7225391B1 (en) * 2002-12-17 2007-05-29 Altera Corporation Method and apparatus for parallel computation of linear block codes
US20040194002A1 (en) * 2003-03-27 2004-09-30 Lucent Technologies Inc. System and method for decoding noise-corrupted reed-solomon codes and communications terminal incorporating the same
JP2005151299A (ja) * 2003-11-18 2005-06-09 Sanyo Electric Co Ltd 無線通信装置、誤り訂正方法、および誤り訂正プログラム
US7581155B2 (en) * 2003-12-18 2009-08-25 Electronics And Telecommunications Research Institute Apparatus for FEC supporting transmission of variable-length frames in TDMA system and method of using the same
KR100780958B1 (ko) * 2005-09-13 2007-12-03 삼성전자주식회사 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치
US8312345B1 (en) * 2006-09-29 2012-11-13 Marvell International Ltd. Forward error correcting code encoder apparatus
US7949927B2 (en) * 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
KR100847560B1 (ko) * 2006-12-11 2008-07-21 삼성전자주식회사 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법
JP4313391B2 (ja) * 2006-12-13 2009-08-12 株式会社日立コミュニケーションテクノロジー 光集線装置および光加入者装置
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
JP4856110B2 (ja) * 2008-03-01 2012-01-18 株式会社東芝 チェンサーチ装置およびチェンサーチ方法
US8276047B2 (en) * 2008-11-13 2012-09-25 Vitesse Semiconductor Corporation Continuously interleaved error correction
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8473808B2 (en) 2010-01-26 2013-06-25 Qimonda Ag Semiconductor memory having non-standard form factor
EP2671337B1 (en) * 2011-02-04 2018-04-11 Marvell World Trade Ltd. Control mode phy for wlan
JP5699737B2 (ja) * 2011-03-28 2015-04-15 富士通株式会社 誤り訂正装置及び誤り訂正方法
KR101892251B1 (ko) * 2011-05-09 2018-08-29 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
TWI500038B (zh) * 2012-09-28 2015-09-11 Univ Nat Chiao Tung 記憶體系統之全套平行編碼方法與全套平行解碼方法
US11658684B2 (en) * 2021-03-19 2023-05-23 Synopsys, Inc. Multi-port—multi mode Reed Solomon decoder

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1500232A (en) * 1974-07-04 1978-02-08 Marconi Co Ltd Digital data signal transmission arrangements
AU544259B2 (en) * 1980-04-16 1985-05-23 Sony Corporation Detecting + correcting errors in digital video signals
GB2132393B (en) * 1982-12-17 1986-05-14 Sony Corp Methods and apparatus for correcting errors in binary data
US4567594A (en) 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4649541A (en) 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder
US4875211A (en) 1986-12-10 1989-10-17 Matsushita Electric Industrial Co., Ltd. Galois field arithmetic logic unit
US5107503A (en) 1987-08-24 1992-04-21 Digital Equipment Corporation High bandwidth reed-solomon encoding, decoding and error correcting circuit
US5099482A (en) 1989-08-30 1992-03-24 Idaho Research Foundation, Inc. Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes
JPH04315332A (ja) * 1991-04-15 1992-11-06 Hitachi Ltd 誤り訂正装置
US5414719A (en) 1992-04-24 1995-05-09 Sharp Kabushiki Kaisha Operating circuit for galois field
US5373511A (en) 1992-05-04 1994-12-13 Motorola, Inc. Method for decoding a reed solomon encoded signal with inner code and apparatus for doing same
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
JP3310185B2 (ja) 1996-11-21 2002-07-29 松下電器産業株式会社 誤り訂正装置
JPH113573A (ja) 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
JP3850511B2 (ja) 1997-05-07 2006-11-29 日本テキサス・インスツルメンツ株式会社 リードソロモン復号装置
JPH1131977A (ja) 1997-07-10 1999-02-02 Sony Corp 誤り訂正符号演算器
US6061826A (en) 1997-07-29 2000-05-09 Philips Electronics North America Corp. Hardware-optimized reed-solomon decoder for large data blocks
US6058500A (en) 1998-01-20 2000-05-02 3Com Corporation High-speed syndrome calculation
US6092233A (en) 1998-03-20 2000-07-18 Adaptec, Inc. Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
US6192497B1 (en) 1998-08-27 2001-02-20 Adaptec, Inc. Parallel Chien search circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018019401A (ja) * 2016-07-28 2018-02-01 インディアン インスティチュート オブ サイエンス リード・ソロモン復号器及び復号方法
JP7012479B2 (ja) 2016-07-28 2022-01-28 インディアン インスティチュート オブ サイエンス リード・ソロモン復号器及び復号方法

Also Published As

Publication number Publication date
MY134591A (en) 2007-12-31
EP1470647A1 (en) 2004-10-27
WO2003063364A1 (en) 2003-07-31
CN1623280A (zh) 2005-06-01
US6920600B2 (en) 2005-07-19
KR20040075954A (ko) 2004-08-30
EP1470647A4 (en) 2005-12-14
MXPA04007077A (es) 2004-10-29
BR0302844A (pt) 2004-04-27
US20030140303A1 (en) 2003-07-24

Similar Documents

Publication Publication Date Title
JP2005516458A (ja) 復号器内構成要素ブロックによるメッセージ処理
JP2005516459A (ja) 誤り訂正復号器内の二重チェン・サーチ・ブロック
JP3996205B2 (ja) 連接符号データの送受信方法および送受信装置
KR101355761B1 (ko) 통신 시스템의 다중 필드 기반 코드 발생기 및 디코더
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
JP2005516457A (ja) 誤り訂正復号器用のチェン・サーチ・セル
Shrivastava et al. Error detection and correction using Reed Solomon codes
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
US8631307B2 (en) Method for encoding and/or decoding multimensional and a system comprising such method
Panem et al. Polynomials in error detection and correction in data communication system
EP1102406A2 (en) Apparatus and method for decoding digital data
Chaudhary et al. Error control techniques and their applications
CN110741562B (zh) 向量信令码信道的流水线式前向纠错
Sonawane et al. Implementation of RS-CC Encoder and Decoder using MATLAB
US7155656B1 (en) Method and system for decoding of binary shortened cyclic code
Manu et al. A New approach for parallel CRC generation for high speed application
Agrawal Implementation of reed solomon error correcting codes
Shimizu et al. FPGA-based reconfigurable adaptive FEC
Tingilkar et al. Improvement Of Memory Data Corrections By Using CRC Technique For Fault Torrent Applications
Mohan VHDL IMPLEMENTATION OF REED SOLOMON CODING

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060117

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060929

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20080318

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080422