JP2002118474A - 2元巡回符号を反復型復号するための復号器 - Google Patents

2元巡回符号を反復型復号するための復号器

Info

Publication number
JP2002118474A
JP2002118474A JP2000311095A JP2000311095A JP2002118474A JP 2002118474 A JP2002118474 A JP 2002118474A JP 2000311095 A JP2000311095 A JP 2000311095A JP 2000311095 A JP2000311095 A JP 2000311095A JP 2002118474 A JP2002118474 A JP 2002118474A
Authority
JP
Japan
Prior art keywords
processor
metric
parity check
metrics
code
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.)
Granted
Application number
JP2000311095A
Other languages
English (en)
Other versions
JP4389373B2 (ja
Inventor
Robert Morelos Zaragoza
モレロス−ザラゴザ ロバート
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000311095A priority Critical patent/JP4389373B2/ja
Priority to US09/974,675 priority patent/US6751770B2/en
Publication of JP2002118474A publication Critical patent/JP2002118474A/ja
Application granted granted Critical
Publication of JP4389373B2 publication Critical patent/JP4389373B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6594Non-linear quantization
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1134Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/152Bose-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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】異なる巡回符号ファミリを復号可能とする。 【解決手段】 ビリーフプロパゲーションに基づく巡回
符号の軟判定反復復号を行う復号器は、情報交換制御ユ
ニットと、Xプロセッサと、Zプロセッサとを有してい
る。情報交換制御ユニットは、符号のパリティ検査多項
式のn回の巡回シフトの各々において、Xプロセッサに
よって非ゼロ要素に対して計算されたπ−メトリック
を取り込み、これをZプロセッサへ分配する。情報交換
制御ユニットは符号のパリティ検査多項式のn回の逆順
での巡回シフトの各々において、Zプロセッサによって
非ゼロ要素に対して計算されたλ−メトリックを取り
込み、これらを、Xプロセッサへ分配する。グラフによ
って表される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2元巡回符号を反復型
復号するための復号器に関する。
【0002】
【従来の技術】巡回符号は、符号化を組織的に行なえ、
且つ、符号化を帰還接続を有するシフトレジスタを用い
て簡単に実施化できるという点で魅力的である。
【0003】反復型軟判定復号器は、デジタル受信機内
の整合フィルターの出力値を用いる。この点で、整合フ
ィルターの出力値の符号(sign)に基づくビットを用い
る硬判定復号器とは異なっている。軟判定復号器の性能
は、硬判定復号器に比べ、ビットにおける信号対雑音比
で約2dB程度優れている。2元巡回符号用の軟判定復
号器は、ビタビ・アルゴリズムを、トレリスに適用して
用いる。
【0004】
【発明が解決しようとする課題】互いに異なる多数の2
元巡回符号を復号するための単一の軟判定復号器を作成
することが考えられる。しかし、このような復号器に
は、各巡回符号に対して異なるトレリス構造が必要であ
る。相異なるトレリスは、それぞれ、サイズ、即ち、状
態の数や枝の数が異なっており、又、異なる構造を有し
ている。したがって、大容量のメモリや大がかりなハー
ドウエアが必要となる。
【0005】単一の復号器構成にて、特定のファミリー
(family)の2元巡回符号のみならずより多くのファミ
リーの符号をも復号することができれば望ましい。
【0006】本発明者は、2元(n、k)巡回符号をビ
リーフプロパゲーション(belief propagation)に基づ
き反復復号しても、良い結果が得られないことを発見し
た。このようになるのは、2元(n,k)巡回符号の
(n−k)行n列のパリティ検査行列が、非常に低いハ
ミング重みを有する列、即ち、非ゼロ要素を1つしか有
しないような列を有しているためであると考えられる。
【0007】また、簡単な構成にて良い結果が得られる
ように2元巡回符号をビリーフプロパゲーション(beli
ef propagation)に基づく反復型復号を用いて復号する
ことができる復号器を作成することが望ましい。
【0008】そこで、本発明は、多くの異なる巡回符号
のファミリーを復号可能な復号器を提供することを目的
とする。
【0009】また、本発明は、ビリーフプロパゲーショ
ン(belief propagation)に基づく反復型復号を用いて
2元巡回符号を復号し良好な結果を得ることができる復
号器を作成することを目的とする。
【0010】本発明による復号器は、ノイズが発生して
いる通信路からのデータストリームを、推定ビット(es
timated bits)へ復号するためのものである。なお、こ
のデータストリームは、ノイズの発生している通信路を
介して送信される前に、符号器によって、巡回符号に従
い複数の符号語へと順次符号化されたものである。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明の復号器は、入力手段、スケーラ、Zプロセ
ッサ、Xプロセッサ、及び、情報交換制御手段を有して
いる。
【0012】入力手段は、iを0≦i≦n−1として、
データストリームのノイズを含む受信値r(i)のベク
トル入力と、該符号語の符号長nと、該巡回符号に対応
するパリティ検査多項式h(x)とを受けとる。該パリ
ティ検査多項式h(x)は、J個の非ゼロ係数を有して
いる。
【0013】スケーラは、ノイズを含む各受信値r
(i)と定数との積を求め、各積を対数ゆう度比LLR
(i)として出力する。
【0014】Zプロセッサは、jを0≦j≦J−1とし
て、各組がJ個のπz(i,j)メトリックからなるn
組のπz(i,j)メトリックを受けとる。Zプロセッ
サは、該πz(i,j)メトリックに基づいて、各組が
J個のλz(i,j)メトリックからなるn組のλz
(i,j)メトリックを計算する。
【0015】Xプロセッサは、各組がJ個のλx(i,
j)メトリックからなるn組のλx(i,j)メトリッ
クを受けとる。Xプロセッサは、該λx(i,j)メト
リックと該対数ゆう度比LLR(i)とに基づき、n個
の事後値q(i)を計算する。Xプロセッサは、該λx
(i,j)メトリックと該事後値q(i)とに基づき、
各組がJ個のπx(i,j)メトリックからなるn組の
πx(i,j)メトリックを計算する。Xプロセッサ
は、該事後値q(i)に基づきn個の推定符号ビット を決定する。
【0016】情報交換制御手段は、該パリティ検査多項
式h(x)の巡回シフトに基づき該πx(i,j)メト
リックを分配して、πz(i,j)メトリックを生成す
る。情報交換制御手段は、該パリティ検査多項式h
(x)の逆順での巡回シフトに基づき該λz(i,j)
メトリックを分配して、λx(i,j)メトリックを生
成する。
【0017】この構成によれば、多くの異なる巡回符号
のファミリーに基づく巡回符号を、同一の簡単な構成を
用いて反復軟判定復号することができる。2元巡回符号
は、ビリーフプロパゲーション(belief propagation)
に基づき反復的に復号され、良好な結果が得られる。
【0018】復号器は、更に、πRAMとλRAMとを
有していることが望ましい。πRAMは、Xプロセッサ
の出力とZプロセッサの入力とに接続されている。λR
AMは、Zプロセッサの出力とXプロセッサの入力とに
接続されている。
【0019】情報交換制御手段は、入力された前記符号
長n及び入力されたパリティ検査多項式h(x)に基づ
き、該πRAMをJ列n行のアレイに組織化する。情報
交換制御手段は、該パリティ検査多項式h(x)の巡回
シフトに基づき前記πx(i,j)メトリックを該Xプ
ロセッサから該πRAMへ分配し、該πRAMの各列中
のJ個のπx(i,j)メトリックを、n組のπz
(i,j)メトリックの内の1つとして、該Zプロセッ
サへ転送する。
【0020】情報交換制御手段は、また、入力された該
符号長n及び入力された該パリティ検査多項式h(x)
に基づき該λRAMをn行J列のアレイに組織化する。
情報交換制御手段は、該パリティ検査多項式h(x)の
逆順での巡回シフトに基づき該λz(i,j)メトリッ
クを該Zプロセッサから該λRAMへ分配し、該λRA
Mの各列内のJ個のλz(i,j)メトリックを、n組
のλx(i,j)メトリックの内の1つとして、該Xプ
ロセッサへ転送する。
【0021】この構成によれば、本発明による復号器
を、最小限のハードウェアによりシリアルな構成として
実現することができる。
【0022】もしくは、復号器は、ZプロセッサとXプ
ロセッサと情報交換制御手段とを互いに接続するバスを
更に有していることが望ましい。この場合、該Zプロセ
ッサは、個別のアドレスにて該バスに接続されたn個の
プロセッサを有し、該Xプロセッサは、個別のアド
レスにて該バスに接続されたn個のXプロセッサを有
している。該情報交換制御手段は、該バスを介して、該
プロセッサからの該πx(i,j)メトリックを、
該パリティ検査多項式h(x)の該巡回シフトに基づき
決定されるZプロセッサへπz(i,j)メトリック
として転送し、該Zプロセッサからの該λz(i,
j)メトリックを、該パリティ検査多項式h(x)の逆
順での該巡回シフトに基づき決定されるXプロセッサ
へλx(i,j)メトリックとして転送するためのアド
レス計算手段を有している。
【0023】この構成によれば、本発明による復号器
を、処理の速いパラレルな構成として実現できる。
【0024】Zプロセッサは、 及び、F(x)を、関数F(x)=log[(e
1)/(e−1)]の量子化バージョンとして、 に基づき該λz(i、j)メトリックを演算することが
望ましい。
【0025】この構成によれば、λz(i,j)メトリ
ックを信頼性よく計算することができる。この場合、Z
プロセッサは、以下に示される関数F(x)=log
[(e +1)/(e−1)]の量子化バージョン を用いて該λz(i,j)メトリックを演算することが
好ましい。量子化されていない場合とほとんど同一の結
果が得られ、しかも、演算がずっと簡単になるからであ
る。
【0026】該Xプロセッサは、 に基づき該事後値q(i)を計算し、πx(i,j)=q(i)-λ
x(i,j)に基づき該πx(i,j)メトリックを計算し、 に基づきn個の該推定符号ビットを決定することが好ま
しい。この構成によれば、事後値q(i)を、信頼性よ
く計算することができる。
【0027】該スケーラが用いる定数は4/ノイズ通信
路スペクトル密度Nと等しいことが望ましい。この構
成によれば、“0”又は“1”である確率が1又は0に
近くなりすぎてしまうオーバーフローが発生するのを高
い信頼性で抑えることができる。
【0028】該入力手段は、更に、反復の固定した回数
の入力を受けとることが望ましい。この場合には、該X
プロセッサは、該固定した回数の反復の後に、該n個の
推定符号ビット を決定する。この構成によれば、復号の遅延量は固定さ
れる。この結果、データをその送り先に送るときにバッ
ファが必要とならなくなるため、ハードウェア構成を簡
単化することができる。
【0029】該情報交換制御手段は、該パリティ検査多
項式h(x)にx〜xn−1を順々に掛けることによ
り該パリティ検査多項式h(x)の該巡回シフトを行な
い、該パリティ検査多項式h(x)の相反多項式(reci
procal)h−1(x)(xh(x−1))にx〜x
n−1を順々に掛けることにより該パリティ検査多項式
h(x)の該逆順での巡回シフトを行なうことが好まし
い。この構成によれば、パリティ検査行列全体を格納す
る必要がなく、入力しなければならないのはパリティ検
査多項式と符号長だけになる。
【0030】また、該Xプロセッサは、第1回目の反復
において、該事後値q(i)に対して予備的に硬判定を
行ない、高信頼性位置についての硬判定値を生成するこ
とが好ましい。この場合には、該情報交換制御手段は、
該πx(i,j)メトリックと該λz(i,j)メトリ
ックとを分配するときに該硬判定を用いる。この構成に
より、復号エラーを特に増加させることなく、復号をよ
り容易に行うことができる。この場合、該Zプロセッサ
は事後値q(i)がしきい値Tを越えているか否かに基
づき、該予備的な硬判定を行なうことが好ましい。簡単
な構成にて、高信頼性位置を特定することができるから
である。
【0031】上述した本発明の目的、特徴、及び、効果
を、以下の実施の形態の記載により、添付の図面を参照
しながら、明確に説明する。
【0032】
【発明の実施の形態】本発明の実施の形態による復号器
ついて、添付の図面に基づき説明する。
【0033】図1は本発明の実施の形態による復号器1
の機能的構成を示すブロック図である。復号器1は、入
力ユニット2、スケーラ(scaler)3、Xプロセッサ
4、情報交換制御ユニット5、及びZプロセッサ6を有
している。
【0034】復号器1は、ノイズの発生しているチャン
ネルを介して送信されてきたデータストリームの2元送
信を、n個の推定ビット(estimated bits) へ復号するためのものである。本実施の形態では、1シ
ンボル当たりエネルギーEsを伴う2元送信(すなわ
ち、“0”や“1”が、それぞれ として送信される)が、片側スペクトル密度(one-side
d spectral density)N を伴う加法的白色ガウスノイ
ズ(AWGN)通信路上で行なわれていると仮定する。
【0035】データストリームは、ノイズが生ずる通信
路を介して送信される前に、符号器により従来の符号化
方法にて2元巡回(n,k)符号Cに基づき複数の符号
語へと順次符号化される。ここで、符号器がデータスト
リームを巡回(n,k)符号Cにより符号化する処理に
ついて、簡単に説明する。
【0036】巡回(n,k)符号Cは、符号長がnで、
メッセージ(情報系列)長がkである。巡回符号Cは、
生成多項式g(x)とパリティ検査多項式h(x)=
(x−1)/g(x)=h+hx+…+h
とに関連付けられている。パリティ検査多項式h(x)
は、次の等式で示されるパリティ検査行列Hで表され
る。
【0037】
【0038】等式(1)のパリティ検査行列Hの各行に
は、j個の非ゼロ要素が含まれている。等式(1)のパ
リティ検査行列Hのj番目の行内の要素は、巡回シフト
h(x)mod(x−1)の係数である(ここ
で、j=0,1,…,n−k−1である)。
【0039】符号器は、以下のように、データストリー
ムを組織的に符号化する。符号化されるメッセージシン
ボルは、次数が(k−1)の情報多項式m(x)=m
+m x+…+mk−1の係数 である(ここで、 である)。巡回符号Cの符号多項式c(x)は、情報多
項式m(x)に対応している。
【0040】まず、第1のステップでは、複数の符号シ
ンボル が複数の係数 と同一とされる(ここで、 符号は巡回構造を有しているため、後続のステップで
は、以下のパリティ検査の関係により、(n−k)冗長
シンボル が再帰的に得られる(ここで、 とする)。
【0041】
【0042】ここで、加算はGF(q)上で行われ、 はGF(q)上の乗算を意味し、 は、パリティ検査行列Hの 番目の行中のj番目の要素(entry)を意味している。
【0043】上述した巡回符号Cを用いた組織的な符号
化の例では、符号化率k/nは0.5以下であると仮定
しており、したがって、符号化は、パリティ検査多項式
h(x)を用いて再帰的に行われる。符号化率k/nが
0.5よりも大きい巡回(n,k)符号に対しては、符
号化は、xn−km(x)を生成多項式g(x)で除算
することにより、より効率的に行われる。
【0044】パリティ検査多項式h(x)を用いて再帰
的に行う場合でも、生成多項式g(x)での除算によっ
て行う場合でも、いずれの場合も、符号多項式の係数は
組織的となり、最初のk番目までの係数はメッセージシ
ンボル、残りのn−k個の係数は冗長シンボルとなる。
【0045】例として、h(x)=1+x+x+x
というパリティ検査多項式と以下の等式で示されるパリ
ティ検査行列Hとを備えた2元巡回(7,4)ハミング
符号について考える。
【0046】
【0047】メッセージ を符号語 として符号化する際、まず、 とし、次に、冗長位置を以下のように求める。
【0048】
【0049】この符号化の過程に関しては、符号器は、
従来の2元巡回符号の符号化のための符号器と同一であ
る。しかし、本実施の形態によれば、この符号器を有す
る送信機は、さらに、2元巡回(n,k)符号Cに関す
る情報を、例えばヘッダー中に含めて、送信する。例え
ば、符号と関連付けられているパリティ検査多項式h
(x)や、符号長、パリティ検査多項式中の係数の位置
を、そして、さらに、パリティ検査多項式のハミング重
みJをも任意に、例えばヘッダー中に含めて、送信す
る。
【0050】復号器1の入力ユニット2は、このように
符号化されたデータストリームを、ノイズの発生してい
る通信路の影響を受けノイズが混じった受信(軟)シン
ボル値r(i)(0≦i≦n−1)のベクトルとして、
受信する。又、入力ユニット2には、符号語の符号長n
や2元巡回符号Cのパリティ検査多項式h(x)の係数
位置といったパラメータも入力される。入力パラメータ
の総数は、整数でJ+2、もしくは、約(J+2)lo
nビットである。パリティ検査多項式h(x)はハ
ミング重みJを有しているので、この値Jが任意に入力
されるようにしてもいい。入力ユニット2には、反復回
数Niterを示す固定値も入力されるようにしてもよ
く、このNiterが反復の行われる回数を設定する。
【0051】入力ユニット2は、受取った値r(i)
(i∈{0,1,…,n−1})をスケーラ(scaler)
3へ送出し、パリティ検査多項式h(x)を情報交換制
御ユニット5へ送出する。又、図1には示されていない
が、入力ユニット2は符号長n及び反復回数固定値N
iterを、スケーラ3、Xプロセッサ4、情報交換制
御ユニット5、及び、Zプロセッサ6に送出する。
【0052】スケーラ3は、入力ユニット2からノイズ
の混じった受信値r(i)と符号長nとを受取り、i∈
{0,1,…,n−1}について、ノイズの混じった各
受信値r(i)に、ノイズ分散N/2(=σ)に反
比例する定数4/N(=2/σ)を掛ける。スケー
ラ3は、得られた積を、対応する各受信シンボルr
(i)のゆう度比(likelihood ratio)の対数(logari
thm)、即ち、対数ゆう度比(log-likelihood ratio)
LLR(i)として算出し出力する。このスケーラ3の
動作は、次式で表される。
【0053】
【0054】Xプロセッサ4は、スケーラ3からのLL
R(i)と、情報交換制御ユニット5からのλ−メト
リックとに基づき、π−メトリックを算出する。Zプ
ロセッサ6は、情報交換制御ユニット5からのπ−メ
トリックに基づき、λ−メトリックを算出する。情報
交換制御ユニット5は、入力ユニット2から受取ったパ
リティ検査多項式h(x)と符号長nとに基づき、Xプ
ロセッサ4からのπ−メトリックをπ−メトリック
としてZプロセッサ6へと分配し、Zプロセッサ6から
のλ−メトリックをλ−メトリックとしてXプロセ
ッサ4へと分配する。
【0055】情報交換制御ユニット5におけるメトリッ
クの交換方法は、巡回符号Cの拡張パリティ検査行列H
とこれに関連づけられたターナー(Tanner)グ
ラフとで表すことにより、容易に理解することができ
る。情報交換制御ユニット5の動作を示すパリティ検査
行列は、巡回(n,k)符号Cのパリティ検査行列Hを
k行拡張しn行n列の行列をGF(q)上に作ることに
よって作成される。この行列を、以下、拡張パリティ検
査行列Hという。
【0056】例として、2元巡回(7,4)ハミング符
号の拡張パリティ検査行列Hを、以下の等式で示す。
【0057】
【0058】一見して分かるように、加えられた各行の
要素は、パリティ検査多項式の以下の巡回シフト:x
n−kh(x)、xn−k+1h(x)、…、xn−1
h(x)の係数である。拡張パリティ検査行列Hのn
個の行は、h(x)modulo(x−1)という全
n個の巡回シフトの係数を要素として含んでいる。換言
すれば、拡張パリティ検査行列Heの行は、iを1つの
符号語における個々の位置を表すものとすると、連続す
る巡回シフトxh(x)によって生成される。
【0059】複数のターナーグラフ及びそれらとパリテ
ィ検査行列との関連については、よく知られており、米
国特許第4,295,218号に詳述されているので、
併せて参照されたい。ターナーグラフは、符号語の複数
の位置を示す複数の符号点(code nodes)からなる1組
の符号点と、複数のパリティ検査等式を示す複数の検査
点(check nodes)からなる1組の検査点とを備えた二
部グラフである。複数の符号点は、同一のパリティ検査
等式に係わっている場合にのみ、同一の検査点に接続さ
れる。符号点と検査点との間の接続は、符号のパリティ
検査行列内の非ゼロ要素の位置によって決定される。例
えば、図2に、2元巡回(7,4)符号のターナーグラ
フが示されている。符号点X〜Xと検査点Z〜Z
との間の接続は、等式(2)で示されるパリティ検査
行列H内の非ゼロ(即ち、1)の係数の位置によって決
定される。
【0060】拡張パリティ検査行列Hに関連付けられ
たターナーグラフを、図3(a)、3(b)、及び、図
4を参照して説明する。巡回符号(0≦m≦n)の拡張
パリティ検査行列Hに関連付けられたターナーグラフ
において、図3(a)は、1つの一般的な検査点とその
複数の親(parent)符号点とが接続されている様子を示
しており、図3(b)は、1つの一般的な符号点とその
複数の子(children)検査点とが接続されている様子を
示している。ここで、添え字をmodulonとする。
図4に、2元巡回(7,4)ハミング符号に対する等式
(3)の拡張パリティ行列Hに関連付けられたターナ
ーグラフを示す。
【0061】拡張パリティ検査行列Hに関連付けられ
たターナーグラフでは、特定の1つの検査点Z(j=
0,1,…,n−1)とその複数の親符号点 との間の接続は、 で示される。拡張パリティ検査行列Hが巡回構造をし
ていることより、添え字をmodulo nとして、次
の検査点 に対する接続が で示されることが導かれる。結果として、図3(a)に
示すように、各検査点 とその複数の親符号点との一般的な接続は、以下のよう
に示される。
【0062】
【0063】かかる各検査点(j)とその複数の親符号
点との接続は、パリティ検査多項式xh(x)の非ゼ
ロ係数によって特定される。換言すれば、全ての検査点
から全ての符号点への接続は、パリティ検査多項式h
(x)のn回の巡回シフトにおける非ゼロ係数によって
特定される。
【0064】同様に、ある特定の符号点xとその複数
の子検査点 との接続は、 で示される。図3(b)に示すように、任意の符号点 とその複数の子検査点との接続は、一般に以下のように
示される。
【0065】
【0066】これは、拡張パリティ検査行列Hの特別
な特性、つまり、全ての要素がパリティ検査多項式h
(x)の全ての、即ち、全n個の逆順での巡回シフトの
係数である、という特別な特性を有していることによ
る。このため、任意の符号点(i)からその子検査点へ
の接続は、パリティ検査多項式xi+n−1
(x−1)の非ゼロ係数によって特定することができ
る。換言すれば、全ての符号点から全ての検査点への接
続は、多項式xn−1h(x−1)のn回の巡回シフト
の非ゼロ係数によって特定することができる。
【0067】情報交換制御ユニット5は、π−メトリ
ック,π−メトリック,λ−メトリック,及び,λ
−メトリックを、Xプロセッサ4とZプロセッサ6と
の間で交換する。この交換は、拡張パリティ検査行列H
と関連付けられたターナーグラフの符号点と検査点と
の間で情報の交換を行うために説明される方法により行
われる。ここで、Xプロセッサ4が複数の符号点として
機能し、Zプロセッサ6が複数の検査点として機能す
る。即ち、情報交換制御ユニット5は、パリティ検査多
項式h(x)のn回巡回シフトの各シフト 毎に、Xプロセッサ4が非ゼロ要素 に対し計算したπxメトリックを取込み、それらを、対
応する検査点 のためのπzメトリックとしてZプロセッサ6に分配す
る。情報交換制御ユニット5は、パリティ検査多項式h
(x)の逆順でのn回巡回シフトの各シフト 毎に、Zプロセッサ6が非ゼロ要素 に対し計算したλzメトリックを取込み、それらを、対
応する符号点 のためのλxメトリックとしてXプロセッサ4に分配す
る。
【0068】情報交換制御ユニット5は、パリティ検査
多項式h(x)にx〜xn−1のうちの1つを順次掛
けていくことによって、パリティ検査多項式h(x)の
n回巡回シフトを決定し、パリティ検査多項式h(x)
の相反多項式(reciprocal)h−1(x)(xh(x
−1))にx〜xn−1のうちの1つを順次掛けてい
くことによって、パリティ検査多項式h(x)の逆順で
のn回巡回シフトを決定する。
【0069】既に着目したように、2元(n,k)巡回
符号の(n−k)行n列パリティ検査行列は、ハミング
重みが非常に小さい列、即ち、非ゼロ要素が1つだけし
かない列を有している。例えば、等式(2)のパリティ
検査行列Hの最初の列と最後の2つの列には、非ゼロ要
素が1つしかない。これは、ビリーフプロパゲーション
(belief propagation)に基づく反復型復号が、関連す
るターナーグラフでは動作しないことを意味している。
【0070】しかし、パリティ検査行列Hをk行拡張す
ることによって拡張パリティ検査行列Hを作ると、列
のハミング重みが大きくなる。即ち、巡回符号Cの拡張
パリティ検査行列Hは、各列についてハミング重みw
を有し、各行についてハミング重みwを有してお
り、これらは、以下に示すパリティ検査多項式h(x)
のハミング重みwに等しい。
【0071】w = |{i;h≠0,0≦i≦
k}|、ここで、|S|=集合Sにおける要素の数であ
る。例えば、巡回(7,4)ハミング符号についての等
式3の拡張パリティ検査行列Hでは、ハミング重み
は、w=w=w=4となる。
【0072】このように列の重みが増えることは、符号
のシンボルが、より多く、チェック等式中に取り込ま
れ、ビリーフプロパゲーション(belief propagation)
に基づく反復型復号がより良好に動作することを意味す
る。
【0073】加えて、拡張パリティ検査行列H中の拡
張されたk行は、最初のn−k上に対して線形に従属し
ており、符号の次元は同一のままである。即ち、パリテ
ィ検査行列の密度を増加させることなく、列のハミング
重みが増加している。ここで、パリティ検査行列の密度
とは、非ゼロ要素の数を要素の総数で割った値をいい、
低密度のパリティ検査行列を備える符号に対してはビリ
ーフプロパゲーション(belief propagation)に基づく
反復型復号がよりよく動作することが知られている。こ
のように、密度を増加させることなく列の重みが増加す
るため、ビリーフプロパゲーション(belief propagati
on)に基づく反復型復号は、拡張パリティ検査行列H
に関連付けられたターナーグラフ上の方が、パリティ検
査行列Hに関連付けられたTannnerグラフ上より
も良好に動作することになる。
【0074】復号器1の動作についてより詳細に説明す
る。先ず、情報交換制御ユニット5は、i∈{0,1,
…,n−1}、j∈{0,1,…,J−1}について、
メトリックπ(i,j)を、スケーラ3からのLLR
(i)の値に初期化し、メトリックλ(i,j)を0
に初期化する。そして、i∈{0,1,…,n−1}に
ついて、情報交換制御ユニット5は、情報交換の際転送
先の点を決定するのに用いられることになるインデック
スの組I(i),I(i)を、0に初期化する。
【0075】次に、情報交換制御ユニット5は、i∈
{0,1,…,n−1}について、以下の方法により、
メトリックを伝搬してゆく。図1には示されていない
が、情報交換ユニット5は、π−メトリックを保持する
ための検査点メモリとλ−メトリックを保持するための
符号点メモリーとを有している。
【0076】X(符号点)からZ(検査点)への伝搬に
対しては、情報交換制御ユニット5は、j∈{0,1,
…,J−1}に対し、検査点メモリー内に、π−メトリ
ックを、π(Px(i,j),I(Px(i,
j))) = π(i,j)、I(Px(i,
j)) = I(Px(i,j))+1となるよう
に、格納する。ここで、Px(i,j)は、符号点x
から検査点Px(i,j)へのリンクを表す整数であ
る。
【0077】Px(i,j)は、パリティ検査多項式h
(x)の(右側への)i番目の巡回シフトを表してい
る。jの値は、パリティ検査多項式の非ゼロ係数を示す
インデックスとして機能し、したがって、1つの符号点
iと1つの検査点との間の接続を決定する。各符号点は
J個の検査点に接続されており、したがって、jの値は
0からJ−1までの範囲の値を採る。拡張パリティ検査
行列Hで考えれば、等価的に、iは行を示すインデッ
クスであり、jはその行におけるj番目の非ゼロ要素を
示すインデックスである。各符号点iに対して、Px
(i,j)の値は0からn−1までの範囲を採り、Px
(i,j)の値は検査点を示すのに用いられる。
【0078】Z(検査点)からY(符号点)への伝搬に
おいては、情報交換制御ユニット5は、j∈{0,1,
…,J−1}に対し、λ−メトリックを、符号点メモリ
ー内に、λ(Pz(i,j),Iz(Pz(i,
j))) = λ(i,j)、I(Pz(i,
j)) = I(Pz(i,j))+1となるよう
に、格納する。ここで、Pz(i,j)は、検査点z
から符号点Pz(i,j)へのリンクを表す整数であ
る。
【0079】Pz(i,j)の値は、Px(i,j)の
値と同様に定義される。すなわち、Pz(i,j)の値
は、1つの検査点iとこれに接続されたJ個の符号点と
の接続を決定する役割を果たす。拡張パリティ検査行列
で考えれば、iは列のインデックスであり、jは、
j番目の非ゼロ要素のインデックスである。
【0080】結果として、Zプロセッサ6は、0≦j≦
J−1について、各組にJ個のメトリックπz(i,
j) を含むn組のメトリックπz(i,j)を、情報交換制
御ユニット5から受け取る。Zプロセッサ6は、このメ
トリックπz(i,J)に基づき、各組にJ個のメトリ
ックλz(i,j) を含むn組のメトリックλz(i,j)を計算する。
【0081】Zプロセッサ6は、以下の式に基づき、各
i∈{0,1,…,n−1}について、メトリックλz
(i,j)を演算する。
【0082】
【0083】ここで、x<0のときsgn(x)=1、
x≧0のときsgn(x)=0であり、|x|は、x
の絶対値(又は、大きさ)であり、 また、F(x)は、 の量子化バージョンである。
【0084】ここで、復号器1は、Zプロセッサ6が以
下に示される量子化バージョンF(x)を用いてメト
リックλz(i,j)の計算を行うことにより、量子化
を行わない場合と実用上同等のエラーパフォーマンスを
達成することができ、しかも、処理がずっと簡単にな
る。図5は、関数F(x)を、量子化バージョンF
(x)と比較して示している。
【0085】
【0086】Xプロセッサ4は、スケーラ3から複数の
対数ゆう度比LLR(i)を受け取り、これらと、情報
交換制御ユニット5からのλx(i,j)メトリック とを用いて、各i∈{0,1,…,n−1}について、
メトリックπx(i,j) とn個の推定符号ビット とを演算する。Xプロセッサは、入力ユニット2から受
け取った固定値の回数だけ反復を行った後、n個の推定
符号ビット を決定する。
【0087】図6に示されるように、Xプロセッサ4
は、事後値(a-posteriori values)q(i)計算器1
0と、メトリックπx(i,j)計算器11と、推定符
号ビット 決定器12とを有している。事後値(a-posteriori val
ues)q(i)計算器10は、各組にJ個のメトリック
λx(i,j)を含むn組のメトリックλx(i,j)
を、情報交換制御ユニット5から受け取る。そして、符
号シンボル(「軟出力」)の事後対数ゆう度比(a-post
eriori log-likelihood ratio)である、n個の事後値
(a-posteriori values)q(i)を計算する。事後値
(a-posteriori values)q(i)計算器10は、メト
リックλx(i,j)、及び、スケーラ3から送られて
きた対数ゆう度比(log-likelihood ratios)LLR
(i)に基づき、事後値(a-posteriori values)q
(i)を、以下の式で、計算する。
【0088】
【0089】πx(i,j)メトリック計算器11は、
メトリックλx(i,j)及び事後値(a-posteriori v
alues)q(i)に基づき、各組にJ個のメトリックπ
x(i,j)を含むn組のメトリックπx(i,j)を
計算する。特に、πx(i,j)メトリック計算器11
は、以下の式に基づき、メトリックπx(i,j)を計
算する。
【0090】
【0091】固定回数Niterだけ、X、Yプロセッ
サ4、6はメトリックを計算し、情報交換制御ユニット
5はこれらメトリックを分配する。反復の回数が固定さ
れているため、復号遅延量は一定となる。このため、デ
ータを一定のレートで送り先(又は、情報源復号器)に
伝達する場合には、バッファが必要にならず、ハードウ
エアの実施化を容易にすることができる。もしくは、入
力した固定値に依る代わりに、反復回数が最大値に達し
たときに反復を停止するようにしてもよい。しかしなが
ら、この場合には、復号遅延量は可変となり、また、停
止させるための何らかのルールが必要となる。
【0092】一旦、所定回数の反復が完了すると、推定
符号ビット 決定器12が、i∈{0,1,…,n−1}について、
事後値(a-posteriori values)q(i)計算器10か
らの事後値(a-posteriori values)q(i)に基づ
き、n個の推定符号ビット を決定する。特に、推定符号ビット 決定器12は、以下の式に基づき、LLRの符号(sig
n)ビットとしてn個の推定符号ビットを決定する。
【0093】
【0094】図7には、(7,4)ハミング符号を4回
の反復により復号したシミュレーション結果が示されて
いる。ここでは、復号が復号器1のHeで示される方法
によって行われた場合を、パリティ検査行列Hに関連付
けられたターナーグラフによって表される方法により行
われた場合と比較して示されている。また、図7には、
参考として、この符号の最ゆう復号(MLD)によるビ
ットエラーレートにおけるユニオンバウンド(union bo
und)(UB)も示されている。
【0095】図8〜図10には、2元巡回符号を復号器
1の方法により復号したコンピュータシミュレーション
結果が示されている。これらすべての場合において、メ
トリックは、パリティ検査多項式の巡回シフト、及び、
逆順での巡回シフトに基づき分配された。対数ゆう度
比、及び、浮動小数点精度を用いたパールアルゴリズム
(Pearl’s algorithm)に基づく反復型復号を、Cプロ
グラムによって実行した。
【0096】図8には、2元BCH(15,11)符号
のシミュレーション結果が示されており、図9には、2
元BCH(15,7,5)符号のシミュレーション結果
が示されており、図10には、2元BCH(15,5,
7)符号のシミュレーション結果が示されている。参考
として、符号の重み分布に基づく最ゆう復号(MLD)
によって得られたビットエラーレートにおけるユニオン
バウンド(union bound)が、これらの符号に対して示
されている。
【0097】図11には、2元(273,191)差集
合(difference-set)(DS)符号を反復型復号したシ
ミュレーション結果が示されている。これは、「有限幾
何(Finite Geometries)に基づく低密度パリティ検査
符号:再発見及び更なる発見」と題され、1999年1
1月にハワイのホノルルで行われたAECC−13会議
において発表されたプレゼンテーションにおいて、Kou
らによって導びき出された2元射影幾何(projective g
eometry)(PG)符号である。2元(273,19
1)差集合(difference-set)(DS)符号は、未知の
重み分布を有しており、したがって、ユニオンバウンド
(union bound)は図11にはプロットされていない。
【0098】図8から図11までに示される結果を比較
すると、図10のBCH(15,5,7)符号について
の反復動作は、非常にゆっくり収斂していることが分か
る。他の巡回符号まで広範囲にシミュレーションした結
果、高いレートの符号については、反復型復号は最ゆう
復号へと非常に速く、すなわち、少ない回数の反復で、
収斂するが、中程度から低いレートの符号については、
反復型復号は多くの場合非常にゆっくりと収斂すること
が分かった。
【0099】次に、本実施の形態によるビリーフプロパ
ゲーション(belief propagation)に基づく反復型復号
器1についての構成例を、図12乃至図18に基づき説
明する。図12には、第1の実施例によるシリアル復号
器10が示されている。復号器10は、スケーラ30
と、LLRバッファ35と、Xプロセッサ40と、バッ
ファ45と、X−to−Z伝搬ユニット50Aと、Zプ
ロセッサ60と、Z−to−X伝搬ユニット50Bとを
有している。図13には、Xプロセッサ40の構成の詳
細が示されており、図14には、Zプロセッサ60の構
成の詳細が示されている。
【0100】X−to−Z伝搬ユニット50Aは、πR
AM制御器51及びπRAM52を有している。πRA
M制御器51はX−to−Zアドレス発生器51aを有
している。本実施の形態では、X−to−Zアドレス発
生器51aは、図15(a)に示されるような循環バッ
ファである。
【0101】Z−to−X伝搬ユニット50Bは、λR
AM制御器53及びλRAM54を有している。λRA
M制御器53はZ−to−Xアドレス発生器53aを有
している。本実施の形態では、Z−to−Xアドレス発
生器53aは、図15(b)に示されるような循環バッ
ファである。
【0102】次に、シリアル復号器10の動作の一例を
示す。この例では、復号器10は、ノイズの発生してい
る通信路より、2元巡回(7,4)ハミング符号により
符号化されたデータストリーム、即ち、パリティ検査行
列Hを用いて符号化されたデータストリームを受信す
る。従って、復号器10は、ノイズを含む受信値r0…
r6のベクトルを受信し、そして、符号長7とパリティ
検査多項式h(x)=1+x+x+xとの入力も受
けとる。ノイズを含む受信値r0…r6はスケーラ30
に入力され、パリティ検査多項式h(x)=1+x+x
+xは、X−to−Z伝搬ユニット50AとZ−t
o−X伝搬ユニット50Bとに入力される。符号長7は
全ての構成要素に入力される。
【0103】パリティ検査多項式h(x)は4つ(J=
4)の非ゼロ係数を有しており、また、符号長は7(n
=7)であるため、初期化を行っているときには、πR
AM52とλRAM54とは、それぞれπRAM制御器
51とλRAM制御器53によって、4行7列のアレイ
に組織化される。
【0104】スケーラ30は、ノイズを含む受信値r0
…r6のそれぞれに、定数4/No(=2/σ)を掛
け、対数ゆう度比LLR(0)−LLR(6)(LLR
(i)、ここでi=0,…,6である)を得る。対数ゆ
う度比LLR(0)−LLR(6)は、LLRバッファ
35内に格納される。
【0105】次に、πRAM制御器51内の全てのメト
リックπx(i,j)が、LLR(i)へと初期化され
る。例えば、i=0のとき、4つのメトリックπx
(0,j:j=0〜3とする)はLLR(0)に初期化
される。λRAM制御器53内の全てのメトリックλz
(i,j)(ここでi=0〜7,j=0〜3)は、0へ
と初期化される。
【0106】初期化の後、図15(a)の一番上に示さ
れているように、πRAM制御器51のX−to−Zア
ドレス発生器51aが、パリティ検査多項式h(x)=
1+x+x+xに対応するπRAM52中のアドレ
スを発生する。πRAM制御器51は、これらのアドレ
スに従い、πRAM52中に、メトリックπx(0,
j)−πx(6,j)(すなわち、LLR(0)−LL
R(6))を分配する。即ち、πRAM52の第1の列
(i=0)は、パリティ検査多項式h(x)=1+x+
+xに対応しており、このため、等式(3)の拡
張パリティ検査行列Hの第1行に対応している。非ゼ
ロ係数は、等式(3)の拡張パリティ検査行列Hの第
1行中の、i=0,1,2,4の位置にある。従って、
πRAM制御器51は、0〜3の値を採るインデックス
Iに関連付けながら、πRAM52の第1列に、メトリ
ックπx(0,0)、πx(1,0)、πx(2,
0)、πx(4,0)を、この順番で格納する。
【0107】次に、図15(a)の第2番目に示される
ように、X−to−Zアドレス発生器51aは、パリテ
ィ検査多項式xh(x)に対応するπRAM52へのア
ドレスを発生する。πRAM52の第2列(i=1)
は、パリティ検査多項式xh(x)に対応しており、等
式(3)の拡張パリティ検査行列Hの第2行によって
表されるからである。非ゼロ係数は、等式(3)の拡張
パリティ検査行列Hの第2行中には、i=1,2,3
及び5の位置にある。即ち、非ゼロ係数の位置は、第1
行目の位置に対して巡回的にシフトされている。従っ
て、πRAM制御器51は、0〜3の値を採るインデッ
クスIに関連付けながら、πRAM52の第2列目に、
メトリックπx(1,1)、πx(2,1)、πx
(3,0)、πx(5,0)をこの順で格納する。
【0108】X−to−Zアドレス発生器51aが、図
15(a)に示されるように、パリティ検査多項式h
(x)における巡回シフトによりアドレスを発生してい
る間に、πRAM制御器51は、上述の第1、2列に対
して行った方法と同一の方法によって、πRAM52の
第3列から第6列(i=2〜6)に対してメトリックπ
x(i,j)を分配する。図15(a)に示されるX−
to−Zアドレス発生器51aの動作は、Px(i,
j)の値の変化に対応している。この結果、図16に示
されるように、πRAMの4行7列のアレイ中にメトリ
ックπx(i,j)が格納される。その後、πRAM5
2中のメトリックπx(i,j)は、メトリックπz
(i,j)としてZプロセッサ60に送られる。一例と
して、図16中のπRAM54の第1列(即ち、i=
0)を用いると、メトリックπx(0,0)、πx
(1,0)、πx(2,0)、πx(4,0)が、メト
リックπz(0,0)、πz(0,1)、πz(0,
2)、πz(0,3)としてXプロセッサ40へ送られ
る。
【0109】次に、Zプロセッサ60は、πRAM52
のi番目の列で、且つj番目の行にある値(i,j)を
πz(i,j:ここで、i=0〜6、j=0〜3)とし
て用い、等式(4)を用いてλz(i,j)を演算す
る。例えば、Zプロセッサ60は、πRAM52の第1
列i=0中の4つの値をπz(0,j:ここでj=0〜
3)として用いて、λz(0,0)、λz(0,1)、
λz(0,2)、λz(0,3)を計算する。
【0110】図15(b)の一番上に示されているよう
に、λRAM制御器53のZ−to−Xアドレス発生器
53aは、パリティ検査多項式xh(x−1)に対応
するλRAM54内のアドレスを発生する。λRAM制
御器53は、これらのアドレスに従いλRAM54中に
λzメトリック(i,j)(ここで、i=0〜6、j=
0〜3)を格納する。即ち、λRAM54の第1列(i
=0)は、パリティ検査多項式xh(x−1)に対応
しており、従って、等式(3)の拡張パリティ検査行列
の第1列に対応している。非ゼロ係数は、等式
(3)の拡張パリティ検査行列Hの第1列中の、i=
0,3,5及び6の位置にある。従って、λRAM制御
器53は、0〜3の値を採るインデックスIに関連付け
ながら、λRAM54中の第1列目に、メトリックλx
(0,0)、λx(3,0)、λx(5,0)、λx
(6,0)をこの順で格納する。
【0111】次に、図15(b)の第2番目に示される
ように、X−to−Zアドレス発生器53aは、パリテ
ィ検査多項式xh(x−1)に対応するλRAM54
へのアドレスを発生する。λRAM54の第2列(i=
1)は、パリティ検査多項式xh(x−1)に対応し
ており、等式(3)の拡張パリティ検査行列Hの第2
列によって表されるからである。非ゼロ係数は、等式
(3)の拡張パリティ検査行列Hの第2列中の、i=
0,1,4及び6の位置にある。即ち、非ゼロ係数の位
置は、等式(3)の拡張パリティ検査行列Hの第1列
目の位置から巡回的にシフトしている。従って、λRA
M制御器53は、0〜3の値を採るインデックスIに関
連付けながら、λRAM54の第2列目にメトリックλ
x(0,1)、λx(1,0)、λx(4,0)、λx
(6,1)をこの順で各々格納する。
【0112】Z−to−Xアドレス発生器53aが、図
15(b)に示されるように、パリティ検査多項式x
h(x−1)における巡回シフトによりアドレスを発生
している間に、λRAM制御器53は、上述の第1、2
列に対して行った方法と同一の方法によって、λRAM
54の残りの第3列から第6列(i=2〜6)に対して
メトリックλz(i,j)を分配する。図15(b)に
示されるZ−to−Xアドレス発生器53aの動作は、
Pz(i,j)の値の変化に対応している。この結果、
図17に示されるように、λRAM54の4行7列のア
レイにメトリックλz(i,j)が格納される。その
後、λRAM54中のメトリックλz(i,j)は、メ
トリックλx(i,j)としてXプロセッサ40に送ら
れる。一例として、図17中のλRAM54の第1列
(即ち、i=0)を用いると、メトリックλz(0,
0)、λz(3,0)、λz(5,0)、λz(6,
0)は、メトリックλx(0,0)、λx(0,1)、
λx(0,2)、λx(0,3)としてXプロセッサ4
0へ送られる。
【0113】復号器10は、以下の方法に従い、反復の
過程において第2のステップ、及び更に続く反復のステ
ップを行う。Xプロセッサ40は、λRAM54中のi
列、j行の値を、メトリックλx(i,j)(ここでi
=0〜6,j=0〜3)として用い、等式(6)を用い
て事後的値(a-posteriori values)q(i)を演算
し、又、等式(7)を用いてメトリックπx(i,j)
を演算する。例えば、Xプロセッサ40は、λRAM5
4中の第1列n=0の4つの値を、λx(0,j)(こ
こで、j=0〜3)として用いて、事後的値(a-poster
iori values)q(0)を計算し、メトリックπx
(0,j)を計算する。X−to−Z伝搬ユニット50
A、Zプロセッサ60、Z−to−X伝搬ユニット50
Bは、全て、上述した第1の反復のステップと同一の処
理を行う。
【0114】反復が固定の反復回数Niter回行われ
た後、Xプロセッサ40は、等式(8)に基づき、推定
符号ビットci(i=0〜6とする)を決定し、これら
を出力のためにバッファ45に格納する。Xプロセッサ
40は、軟出力値(soft output values)q(i)を
も、出力のためにバッファ45中に格納する。軟出力値
は、復号化されたビットの信頼性を表す。即ち、q
(i)の絶対値が大きくなればなるほど、ビットの信頼
性は高くなる。q(i)の値は、復号器の図示せぬ復調
器へのフィードバック情報内で用いられる。
【0115】図18には、第2の実施例によるパラレル
復号器100が示されている。復号器100は、n個の
Xプロセッサ400〜400n−1と、n個のZプロ
セッサ600〜600n−1と、アドレス計算ユニッ
ト(ACU)500とを有しており、これらは全てλバ
ス503とπバス504とに接続されている。レジスタ
505〜505n−1が設けられており、それぞれ
が、Xプロセッサ400 〜400n−1の各々と接続
されている。レジスタ505〜505n−1は、シリ
アル復号器10のλRAM54の複数の異なる列に対応
している。同様に、レジスタ506〜506n−1
設けられており、それぞれが、Zプロセッサ600
600n−1の各々と接続されている。レジスタ506
〜506 n−1は、シリアル復号器10のπRAM5
2の複数の異なる列に対応している。ACU500はX
−to−Zアドレス発生器501とZ−to−Xアドレ
ス発生器502とを有しており、これらの機能は、基本
的には、それぞれ、第1の実施例によるX−to−Zア
ドレス発生器51aと、第1の実施例によるZ−to−
Xアドレス発生器53aと同一である。Xプロセッサ、
Zプロセッサの各々が、入力されたパリティ検査多項式
のN回巡回シフトによって作られる拡張パリティ検査行
列Hに関連付けられたターナーグラフ中の複数の点の
1つに対応していること、及び、ACU500によって
決定された点間で接続がなされることが、容易に理解で
きる。
【0116】シリアル復号器10は、パラレル復号器1
00よりも簡単なハードウェア構成とすることができる
が、パラレル復号器100の方がシリアル復号器10よ
りも速い。表1には、これらの2つの実施例による構成
のパラメータの幾つかが、まとめられている。
【0117】
【表1】
【0118】表1において、Nは、メトリックに用い
られる量子化ビットの数を表している。必要なメモリー
素子の数を決定する際には、復号器中の全てのメトリッ
ク、即ち、通信路からの事前LLR(a-priori LLR)、
事後LLR q(i)、及びπ、λメトリックが、全て
同一のビット数で表されていると仮定する。
【0119】次に、本実施の形態の変形例について説明
する。本変形例では、入来した通信路シンボルの事後対
数ゆう度比q(i)に基づき予備的な硬判定がなされ
る。硬判定の値は、復号の過程を通して固定されたまま
となる。このため、復号器のエラー量の重大な増加を起
こさせることなく、複雑な処理を減じて、復号器の短時
間当たりの情報処理量を増加させることができる。
【0120】ここで、AWGN通信路における2元送信
を仮定する。このとき、受信されたシンボルはr=s
gn(r)|r|で与えられる。シンボルrの信
頼性は、その大きさ で定義することができる。本変形例によれば、信頼性が
所定のしきい値Tを超える、即ち、rel>Tである
受信シンボルは、信頼性が高いと判断され、そのシンボ
ルに関連付けられた符号点が、高信頼性位置(highly r
eliable position)(HRP)として選択される。硬判
定は、高信頼性があると判断された受信シンボルに対し
て行われる。シンボルrの硬判定は で定義される。
【0121】高信頼性位置(符号点)の集合が選択さ
れ、対応する受信シンボルがそれらの硬判定(HD)値
に固定されると、メトリックπx(i,j)(0≦j≦
j−1)の最大絶対値|πMAX|が、推定符号ビット としての受信通信路値の符号と共に、符号点構成(即
ち、Xプロセッサ6)から出力される。換言すれば、高
信頼性位置の符号点に関連付けられた構成は、復号処理
では用いられない。この結果、入力値の内の幾つかが高
信頼性であると推定できるため、検査点構成(即ち、Z
プロセッサ6)は、F(||)の値を足し合わせて総数
Sを計算するときに、より少ない加算演算を行うだけで
済む。これは、F(x)の定義から、F(|π
MAX|)=0が得られるからである。実用化にあたっ
ては、量子化された関数を用い、値F(|π
MAX|)=0.1をHRPに対して固定して反復過程
全体を通して用いる。
【0122】検査点構成(即ち、Zプロセッサ 6)
は、符号点構成(即ち、Xプロセッサ4)に対する入力
用として、高信頼性位置に関連付けられたメトリックを
計算する必要がないため、メッセージの伝達及びメトリ
ックの計算を行うにあたり、より少ない計算を行えばよ
いことになる。メッセージの伝達については、高信頼性
位置に関する符号点構成用のメトリックλが固定され
ているため、メトリックλを対応する検査点構成から
伝達する必要がない。メトリックの演算については、符
号点構成における高信頼性位置の高信頼性の故に、検査
点構成におけるλメトリックの演算にこれらのπメトリ
ックを含ませないで済む。等式(4)、(5)のλメト
リックの計算においては、代わりに、高信頼性位置に対
してはF (X)の最小値が常に用いられる。
【0123】結果として、高信頼性位置についてのメッ
セージ伝達やメトリック演算に関する動作を大幅に減ら
すことができる。このことは、通信路の状況が良好であ
るとき、即ち、ノイズ出力レベルNが低いときには、
特に顕著である。メッセージの伝達においては、符号点
構成用のXからZへの伝搬については同一のままであ
る。しかしながら、前述のように、高信頼性位置におい
ては、検査点構成から符号点構成へのZからXへの伝搬
が必要ではなくなる。これらの値は、予め決定されてい
るからである。このステップは、i=0,1,…,n−
1について、j∈{0,1,…,j−1}及び に対して、λメトリックが符号点メモリー中に次のよう
に格納されるように、変更される。
【0124】λ(Pz(i,j),I(Pz(i,
j)))=λ(i,j),I(Pz(i,j))=
(Pz(i,j))+1
【0125】ここで、Lは高信頼性位置のインデックス
の集合である。
【0126】図17の例を用いると、n=0が高信頼性
位置として特定されるときには、Xプロセッサ40へ
は、メトリックλz(0,0)、λz(3,0)、λz
(5,0)、及び、λz(6,0)がメトリックλx
(0,0)、λx(0,1)、λx(0,2)、及び、
λx(0,3)として送られることはない。
【0127】図19は、高信頼性位置を示すための複数
の異なるしきい値Tが、4回反復を行う2元BCH(1
5,7,5)符号の反復型復号のエラーパフォーマンス
にどのように影響を及ぼすかを示している。比較例とし
て、公知のバーレカンプ・マッシー(bm)アルゴリズ
ムを用いた硬判定復号によるビットエラーレートと、ユ
ニオンバウンド(union bound)(UB)とがそれぞれ
示されている。しきい値T=1.0は、高信頼性位置を
用いない反復型復号のパフォーマンスよりたった0.1
7dBしか離れていない10−4というビットエラーレ
ートを得ており、優れたパフォーマンスを得ていること
が分かる。換言すれば、平均50%の位置において高い
信頼性位置を設定することができ、それでもなお優れた
パフォーマンスを達成している。更に、しきい値TがT
=1.5の場合には、高信頼性と考えられるシンボルが
あたかも無い場合と実用上同等のパフォーマンスが得ら
れており、ノイズ電力スペクトル密度(noise power sp
ectral density)Nによっては、30%の位置までが
高信頼性位置となる。
【0128】図20は、異なるしきい値Tが、2元BC
H(15,7,5)符号についての受信語内で高信頼性
位置と判断される位置の平均パーセント値に、どのよう
に影響するかを示している。
【0129】位置が高信頼性であるか否かをを判断する
のにしきい値を用いる代わりに、予め定められたN
hard個の最も高い信頼性のある受信シンボル値を、
高信頼性であると判断することもできる。しかしなが
ら、この場合には、Nhardの最適値を決定するため
に、個々の符号毎に「細かいチューニング」が必要とな
る。実施化のためには、しきい値法の方が好ましい。H
RP値を固定するためには、受信通信路の信頼値を順番
に並べることが必要となり、反復型復号器の構成を複雑
にしてしまうからである。
【0130】本発明について、具体的な実施の形態を参
照しながら詳細にわたり説明してきたが、本発明は、特
許請求の範囲に記載した本発明の範囲で種々の変形や改
良が可能である。
【0131】例えば、パリティ検査多項式を復号器に入
力することに代えて、行列Hの構造を直接復号器に入
力するようにしてもよい。しかしながら、この場合に
は、nxJの整数、又は、nxJxlognビットが
必要となる。
【0132】又、本実施の形態では、パリティ検査多項
式h(x)、コード長、パリティ検査多項式の係数の位
置、パリティ検査多項式のハミング重み、といった復号
パラメータは、ヘッダー中に格納された状態で符号器を
有する送信器から送信される。しかしながら、復号パラ
メータは、第2の通信路を介してサイド情報(side inf
ormation)として送信されてもよい。若しくは、復号器
を有する受信機のプロセッサが、復号ビットエラーの数
が所定のしきい値より小さくなるまで、可能な限り全て
の復号パラメータについて試してみるのでもよい。
【0133】本実施の形態では、本発明を2元巡回符号
の復号のための復号器に適用している。しかしながら、
本発明を非2元巡回符号の復号のための復号器に適用す
ることもできる。メモリーの容量がより多く必要となる
が、非2元符号の反復型復号器も、その実施化は相対的
には簡単である。
【図面の簡単な説明】
【図1】本発明の実施の形態による復号器の機能的構成
を示すブロック図。
【図2】2元巡回(7,4)符号のターナーグラフ(Ta
nner graph)を示す図。
【図3】(a)は拡張パリティ検査行列Hに関連する
ターナーグラフ中の一般的な検査点とその親符号点との
間の接続を示す概略図、(b)は拡張パリティ検査行列
に関連するターナーグラフ中の一般的な符号点とそ
の子検査点との間の接続を示す概略図。
【図4】2元巡回(7,4)ハミングコードの拡張パリ
ティ検査行列Hに関連したターナーグラフを示す図。
【図5】関数F(x)をzの量子化バージョンFQ
(x)と比較するグラフ。
【図6】図1に示される復号器のXプロセッサの構成を
示すブロック図。
【図7】本発明に従い反復を4回を行なうことにより復
号を行って得られた、(7,4)ハミングコードの反復
型復号のシュミレーション結果を示すグラフ。
【図8】本発明に従い2元BCH(15,11)符号を
復号したシュミレーション結果を示すグラフ。
【図9】本発明に従い2元BCH(15,7,5)符号
を復号したシュミレーション結果を示すグラフ。
【図10】本発明に従い2元BCH(15,5,7)符
号を復号したシュミレーション結果を示すグラフ。
【図11】本発明に従い2元BCH(273,191)
差集合(DS)コードを復号したシュミレーション結果
を示すグラフ。
【図12】本実施の形態の第1の実施例によるシリアル
復号器を示すブロック図。
【図13】図12に示されるシリアル復号器のXプロセ
ッサを示すブロック図。
【図14】図12に示されるシリアル復号器のZプロセ
ッサを示すブロック図。
【図15】(a)は、図12に示されるシリアル復号器
のX−to−Z伝搬ユニットのX−to−Zアドレス発
生器におけるアドレスの発生を示す概略図、(b)は、
図12に示されるシリアル復号器のZ−to−X伝搬ユ
ニットの、Z−to−Xアドレス発生器におけるアドレ
スの発生を示す概略図。
【図16】図12に示されたX−to−Z伝搬ユニット
のπRAMにメトリックπx(i,j)が記憶された状
態を示す概略図。
【図17】図12に示されたZ−to−X伝搬ユニット
のλRAMにメトリックλz(i,j)が記憶された状
態を示す概略図。
【図18】本実施の形態の第2の実施例によるパラレル
復号器を示すブロック図。
【図19】高信頼性位置を示すための複数の異なるしき
い値がエラーパフォーマンスにどのように影響を与える
かを示すグラフ。
【図20】複数の異なるしきい値が、高信頼性位置であ
ると判断される位置の平均パーセント値にどのように影
響を与えるかを示すグラフ。
【符号の説明】
1 復号器 2 入力ユニット 3 スケーラ 4 Xプロセッサ 5 情報交換制御ユニット 6 Zプロセッサ 10 事後値q(i)計算器 11 πx(i,j)メトリック計算器 30 スケーラ 35 LLRバッファ35 40 Xプロセッサ 45 バッファ 50A X−to−Z伝搬ユニット 50B Z−to−X伝搬ユニット 51 πRAM制御器 51a X−to−Zアドレス発生器 52 πRAM 53 λRAM制御器 53a Z−to−Xアドレス発生器 54 λRAM 60 Zプロセッサ 100 パラレル復号器 400 Xプロセッサ 500 アドレス計算ユニット(ACU) 501 X−to−Zアドレス発生器 502 Z−to−Xアドレス発生器 503 λバス 504 πバス 505 レジスタ 506 レジスタ 600 Zプロセッサ

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 iを0≦i≦n−1として、データスト
    リームのノイズを含む受信値r(i)のベクトル入力
    と、該符号語の符号長nと、J個の非ゼロ係数を有し該
    巡回符号に対応するパリティ検査多項式h(x)とを受
    けとる入力手段と、 ノイズを含む各該受信値r(i)と定数との積を求め、
    各積を対数ゆう度比LLR(i)として出力するスケー
    ラと、 jを0≦j≦J−1として、各組がJ個のπz(i,
    j)メトリックからなるn組のπz(i,j)メトリッ
    クを受けとり、該πz(i,j)メトリックに基づい
    て、各組がJ個のλz(i,j)メトリックからなるn
    組のλz(i,j)メトリックを計算するためのZプロ
    セッサと、 各組がJ個のλx(i,j)メトリックからなるn組の
    λx(i,j)メトリックを受けとり、該λx(i,
    j)メトリックと該対数ゆう度比LLR(i)とに基づ
    き、n個の事後値q(i)を計算し、該λx(i,j)
    メトリックと該事後値q(i)とに基づき、各組がJ個
    のπx(i,j)メトリックからなるn組のπx(i,
    j)メトリックを計算し、該事後値q(i)に基づきn
    個の推定符号ビット を決定するためのXプロセッサと、 該パリティ検査多項式h(x)の巡回シフトに基づき該
    πx(i,j)メトリックを分配してπz(i,j)メ
    トリックを生成し、該パリティ検査多項式h(x)の逆
    順での巡回シフトに基づき該λz(i,j)メトリック
    を分配してλx(i,j)メトリックを生成するための
    情報交換制御手段とを有することを特徴とする、巡回符
    号に基づき順次複数の符号語に符号化されノイズの発生
    している通信路を介して送信されてきたデータストリー
    ムを推定ビットへ復号するための復号器。
  2. 【請求項2】 前記Xプロセッサの出力と前記Zプロセ
    ッサの入力とに接続されたπRAMと、該Zプロセッサ
    の出力と該Xプロセッサの入力とに接続されたλRAM
    とを、更に有し、 前記情報交換制御手段が、前記入力された符号長n及び
    パリティ検査多項式h(x)に基づき該πRAMをJ列
    n行のアレイに組織化し、該パリティ検査多項式h
    (x)の巡回シフトに基づき前記πx(i,j)メトリ
    ックを該Xプロセッサから該πRAMへ分配し、該πR
    AMの各列中のJ個のπx(i,j)メトリックを、n
    組のπz(i,j)メトリックの内の1つとして、該Z
    プロセッサへ転送し、 該情報交換制御手段は、また、入力された該符号長n及
    び該パリティ検査多項式h(x)に基づき該λRAMを
    n行J列のアレイに組織化し、該パリティ検査多項式h
    (x)の逆順での巡回シフトに基づき該λz(i,j)
    メトリックを該Zプロセッサから該λRAMへ分配し、
    該λRAMの各列内のJ個のλz(i,j)メトリック
    を、n組のλx(i,j)メトリックの内の1つとし
    て、該Xプロセッサへ転送することを特徴とする請求項
    1記載の復号器。
  3. 【請求項3】 該Zプロセッサと該Xプロセッサと該情
    報交換制御手段とを互いに接続するバスを更に有し、 該Zプロセッサは、個別のアドレスにて該バスに接続さ
    れたn個のZプロセッサを有し、 該Xプロセッサは、個別のアドレスにて該バスに接続さ
    れたn個のXプロセッサを有し、 該情報交換制御手段は、該バスを介して、該Xプロセ
    ッサからの該πx(i,j)メトリックを、該パリティ
    検査多項式h(x)の該巡回シフトに基づき決定される
    プロセッサへπz(i,j)メトリックとして転送
    し、該Zプロセッサからの該λz(i,j)メトリッ
    クを、該パリティ検査多項式h(x)の該逆順での巡回
    シフトに基づき決定されるXプロセッサへλx(i,
    j)メトリックとして転送するためのアドレス計算手段
    を備えていることを特徴とする請求項1記載の復号器。
  4. 【請求項4】 該Zプロセッサは、 及び、 F(x)を、関数F(x)=log[(e+1)/
    (e−1)]の量子化バージョンとして、 に基づき該λz(i、j)メトリックを演算することを
    特徴とする請求項1記載の復号器。
  5. 【請求項5】 該Zプロセッサは、以下に示される関数
    F(x)=log[(e+1)/(e−1)]の量
    子化バージョン を用いて該λz(i,j)メトリックを演算することを
    特徴とする請求項2記載の復号器。
  6. 【請求項6】 該Xプロセッサは、 に基づき該事後値q(i)を計算し、πx(i,j)=q(i)-λ
    x(i,j)に基づき該πx(i,j)メトリックを計算し、 に基づきn個の該推定符号ビットを決定することを特徴
    とする請求項1記載の復号器。
  7. 【請求項7】 該スケーラが用いる定数は、4/ノイズ
    通信路スペクトル密度Nと等しいことを特徴とする請
    求項1記載の復号器。
  8. 【請求項8】 該入力手段は、更に、反復の固定した回
    数の入力を受けとり、該Xプロセッサは、該固定した回
    数の反復の後に、該n個の推定符号ビット を決定することを特徴とする請求項1記載の復号器。
  9. 【請求項9】 該情報交換制御手段は、該パリティ検査
    多項式h(x)にx 〜xn−1を順々に掛けることに
    より該パリティ検査多項式h(x)の該巡回シフトを行
    ない、該パリティ検査多項式h(x)の相反多項式(re
    ciprocal)h −1(x)(xh(x−1))にx
    n−1を順々に掛けることにより該パリティ検査多項
    式h(x)の該逆順での巡回シフトを行なうことを特徴
    とする請求項1記載の復号器。
  10. 【請求項10】 該Xプロセッサは、第1回目の反復に
    おいて、該事後値q(i)に対して予備的に硬判定を行
    ない、高信頼性位置についての硬判定値を生成し、該情
    報交換制御手段は、該πx(i,j)メトリックと該λ
    z(i,j)メトリックとを分配するときに該硬判定を
    用いることを特徴とする請求項1記載の復号器。
  11. 【請求項11】 該Zプロセッサは事後値q(i)がし
    きい値Tを越えているか否かに基づき、該予備的な硬判
    定を行なうことを特徴とする請求項10記載の復号器。
JP2000311095A 2000-10-11 2000-10-11 2元巡回符号を反復型復号するための復号器 Expired - Fee Related JP4389373B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000311095A JP4389373B2 (ja) 2000-10-11 2000-10-11 2元巡回符号を反復型復号するための復号器
US09/974,675 US6751770B2 (en) 2000-10-11 2001-10-10 Decoder for iterative decoding of binary cyclic codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000311095A JP4389373B2 (ja) 2000-10-11 2000-10-11 2元巡回符号を反復型復号するための復号器

Publications (2)

Publication Number Publication Date
JP2002118474A true JP2002118474A (ja) 2002-04-19
JP4389373B2 JP4389373B2 (ja) 2009-12-24

Family

ID=18790919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000311095A Expired - Fee Related JP4389373B2 (ja) 2000-10-11 2000-10-11 2元巡回符号を反復型復号するための復号器

Country Status (2)

Country Link
US (1) US6751770B2 (ja)
JP (1) JP4389373B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004102810A1 (ja) * 2003-05-13 2004-11-25 Sony Corporation 復号方法および復号装置、並びにプログラム
KR100888096B1 (ko) * 2004-08-02 2009-03-11 콸콤 인코포레이티드 메모리 효율적인 ldpc 디코딩 방법 및 장치
US7676734B2 (en) 2004-02-03 2010-03-09 Sony Corporation Decoding apparatus and method and information processing apparatus and method
JP2011129981A (ja) * 2009-12-15 2011-06-30 Internatl Business Mach Corp <Ibm> ノイズ分散による入力対数尤度比のスケーリングに基づくsum−product復号法(ビリーフプロパゲーション法)の計算手法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243288B1 (en) * 2000-06-24 2007-07-10 Motorola Inc. Method and apparatus for turbo decoding block codes
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US7673223B2 (en) * 2001-06-15 2010-03-02 Qualcomm Incorporated Node processors for use in parity check decoders
US6901103B2 (en) * 2002-01-15 2005-05-31 Qualcomm, Incorporated Determining combiner weights and log likelihood ratios for symbols transmitted on diversity channels
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
US7577207B2 (en) * 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
KR100674523B1 (ko) * 2002-07-03 2007-01-26 휴우즈 일렉트로닉스 코오포레이션 저밀도 패리티 검사(ldpc) 디코더의 라우팅을 위한방법 및 시스템
US7020829B2 (en) * 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
US7266750B1 (en) 2002-07-10 2007-09-04 Maxtor Corporation Error recovery strategies for iterative decoders
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
US7864869B2 (en) * 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
JP4225163B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号装置および復号方法、並びにプログラム
US7103825B2 (en) * 2003-08-19 2006-09-05 Mitsubishi Electric Research Laboratories, Inc. Decoding error-correcting codes based on finite geometries
US7395495B2 (en) * 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
US7519898B2 (en) * 2004-03-25 2009-04-14 Krishna Rama Narayanan Iterative decoding of linear block codes by adapting the parity check matrix
WO2007075098A1 (en) * 2005-12-26 2007-07-05 Intel Corporation Generalized multi-threshold decoder for low-density parity check codes
JP4138700B2 (ja) * 2004-05-31 2008-08-27 株式会社東芝 復号装置および復号回路
FR2871631B1 (fr) * 2004-06-10 2006-09-22 Centre Nat Rech Scient Cnrse Procede de decodage iteractif de codes blocs et dispositif decodeur correspondant
CN101341659B (zh) * 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
JP4551740B2 (ja) * 2004-11-08 2010-09-29 株式会社東芝 低密度パリティチェック符号復号器及び方法
WO2006059280A2 (en) * 2004-12-02 2006-06-08 Koninklijke Philips Electronics N.V. Turbo decoder with stake heritage for data block redundant version decoding
US7461328B2 (en) * 2005-03-25 2008-12-02 Teranetics, Inc. Efficient decoding
US7634710B2 (en) * 2005-03-25 2009-12-15 Teranetics, Inc. Efficient decoding
US7757149B2 (en) * 2005-10-12 2010-07-13 Weizhuang Xin Broadcast message passing decoding of low density parity check codes
US8001452B2 (en) * 2006-11-17 2011-08-16 Agere Systems Inc. Methods and apparatus for soft decision decoding using reliability values based on a log base two function
US8375077B2 (en) * 2008-09-29 2013-02-12 Intel Corporation Method, apparatus and media for performing GF(2) polynomial operations
US8832309B2 (en) * 2012-06-13 2014-09-09 Ixia Generating packets with low overhead or selectable sequence number generation
WO2014120138A1 (en) 2013-01-30 2014-08-07 Hewlett-Packard Development Company, L.P. Data-bearing media
FR3032571B1 (fr) 2015-02-11 2017-03-10 Commissariat Energie Atomique Methode de decodage iteratif de sequences lfsr a faible probabilite de fausse alarme
EP3265998B1 (en) * 2015-07-09 2021-04-07 Hewlett-Packard Development Company, L.P. Multi-dimensional cyclic symbols

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2778289B1 (fr) * 1998-05-04 2000-06-09 Alsthom Cge Alcatel Decodage iteratif de codes produits
US6499128B1 (en) * 1999-02-18 2002-12-24 Cisco Technology, Inc. Iterated soft-decision decoding of block codes
US6539367B1 (en) * 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
US6671852B1 (en) * 2000-09-06 2003-12-30 Motorola, Inc. Syndrome assisted iterative decoder for turbo codes

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004102810A1 (ja) * 2003-05-13 2004-11-25 Sony Corporation 復号方法および復号装置、並びにプログラム
US7318186B2 (en) 2003-05-13 2008-01-08 Sony Corporation Decoding method, decoding apparatus, and program to decode low density parity check codes
US7676734B2 (en) 2004-02-03 2010-03-09 Sony Corporation Decoding apparatus and method and information processing apparatus and method
KR100888096B1 (ko) * 2004-08-02 2009-03-11 콸콤 인코포레이티드 메모리 효율적인 ldpc 디코딩 방법 및 장치
JP2011129981A (ja) * 2009-12-15 2011-06-30 Internatl Business Mach Corp <Ibm> ノイズ分散による入力対数尤度比のスケーリングに基づくsum−product復号法(ビリーフプロパゲーション法)の計算手法
US8578239B2 (en) 2009-12-15 2013-11-05 International Business Machines Corporation Calculation technique for sum-product decoding method (belief propagation method) based on scaling of input log-likelihood ratio by noise variance

Also Published As

Publication number Publication date
US6751770B2 (en) 2004-06-15
JP4389373B2 (ja) 2009-12-24
US20020116677A1 (en) 2002-08-22

Similar Documents

Publication Publication Date Title
JP2002118474A (ja) 2元巡回符号を反復型復号するための復号器
JP5329239B2 (ja) 通信システムのための多体ベース符号の生成器および復号化器
JP4062435B2 (ja) 誤り訂正符号復号装置
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
US8250449B2 (en) Decoding method for LDPC code based on BP arithmetic
JP4221503B2 (ja) パリティチェックデコーダで使用するノードプロセサ
JP3791013B2 (ja) データ・ブロックの畳み込み符号化方法及び装置及び対応する復号方法及び装置
US7058873B2 (en) Encoding method using a low density parity check code with a column weight of two
US7774689B2 (en) Encoding and decoding methods and systems
US7493551B2 (en) Method and device for delivering punctured code words encoded with a LDPC code
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
CN110999093B (zh) 用于非二进制ldpc码的扩展最小和(ems)解码的校验节点处理的混合架构
CN108199723B (zh) 一种基于双递归的分组马尔可夫叠加编码方法
Thi et al. Basic-set trellis min–max decoder architecture for nonbinary ldpc codes with high-order galois fields
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
Wu et al. Polar codes for low-complexity forward error correction in optical access networks
CN111034055A (zh) 在非二进制ldpc解码器中简化的校验节点处理
US11545998B2 (en) Offset value determination in a check node processing unit for message-passing decoding of non-binary codes
Heloir et al. Stochastic chase decoder for reed-solomon codes
JP5523064B2 (ja) 復号装置及び方法
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
KR102635444B1 (ko) 비이진 저밀도 패리티 검사 코드 디코더, 그것의 동작방법 및 메모리 시스템
Adde et al. Design and implementation of a soft-decision decoder for cortex codes
Mahdy et al. Design and implementation of parallel branches for concatenated BCH and LDPC coding on FPGA
Sharanya et al. Performance analysis of concatenated codes for different channels

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040601

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040601

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090928

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees