JP3893383B2 - Ldpc符号用検査行列生成方法および検査行列生成装置 - Google Patents
Ldpc符号用検査行列生成方法および検査行列生成装置 Download PDFInfo
- Publication number
- JP3893383B2 JP3893383B2 JP2003572182A JP2003572182A JP3893383B2 JP 3893383 B2 JP3893383 B2 JP 3893383B2 JP 2003572182 A JP2003572182 A JP 2003572182A JP 2003572182 A JP2003572182 A JP 2003572182A JP 3893383 B2 JP3893383 B2 JP 3893383B2
- Authority
- JP
- Japan
- Prior art keywords
- weight
- row
- column
- check matrix
- 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.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 title claims description 131
- 238000000034 method Methods 0.000 title claims description 105
- 238000009826 distribution Methods 0.000 claims description 42
- 238000012217 deletion Methods 0.000 claims description 40
- 230000037430 deletion Effects 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 10
- 230000006866 deterioration Effects 0.000 claims description 5
- 238000009790 rate-determining step (RDS) Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 40
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000009795 derivation Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1151—Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/134—Non-binary linear block codes not provided for otherwise
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Description
本発明は、誤り訂正符号としてLDPC(Low−Density Parity−Check)符号を採用した場合におけるLDPC符号用検査行列生成方法に関するものである。
背景技術
第27図は、LDPC符号化/復号システムを示す図である。第27図において、101は符号化器であり、102は変調器であり、103は通信路であり、104は復調器であり、105は復号器である。ここでは、従来のLDPC符号用検査行列生成方法を説明する前に、LDPC符号を使用した場合の符号化,復号の流れについて説明する。
まず、送信側の符号化器101では、後述する所定の方法で検査行列Hを生成する。そして、以下の条件に基づいて生成行列Gを求める。
その後、符号化器101では、情報長kのメッセージ(m1m2…mk)を受け取り、上記生成行列Gを用いて符号語Cを生成する。
そして、変調器102では、生成した符号語Cに対して、BPSK,QPSK,多値QAMなどのデジタル変調を行い、送信する。
一方、受信側では、復調器104が、通信路103を介して受け取った変調信号に対して、BPSK,QPSK,多値QAMなどのデジタル復調を行い、さらに、復号器105が、LDPC符号化された復調結果に対して、「sum−productアルゴリズム」による繰り返し復号を実施し、推定結果(もとのm1m2…mkに対応)を出力する。
以下、従来のLDPC符号用検査行列生成方法について説明する。LDPC符号用の検査行列としては、たとえば、LDPCの発案者Gallagerにより以下のような行列が提案されている(第28図参照)。
第28図に示す行列は、「1」と「0」の2値の行列で、「1」の部分を塗りつぶしている。他の部分は全て「0」である。この行列は、1行の「1」の数(これを行の重みと表現する)が4で、1列の「1」の数(これを列の重みと表現する)が3であり、全ての列と行の重みが均一なため、これを一般に「Regular−LDPC符号」と呼んでいる。また、Gallagerの符号では、たとえば、第28図に示すように、行列を3ブロックに分け、2ブロック目と3ブロック目に対してランダム置換を行っている。
しかしながら、このランダム置換には、所定のルールがないため、より特性の良好な符号を見つけるためには、計算機による時間のかかる探索を行わなければならなかった。
そこで、たとえば、計算機探索によらなくても確定的に行列を生成でき、比較的安定した良好な特性を示すLDPC符号として、ユークリット幾何符号を用いる方法が、Y.Kou等(Y.Kou,S.Lin,and M.P.C.Fossorier,″Low Density Parity Check Codes Based on Finite Geometries:A Rediscovery,″ISIT 2000,pp.200,Sorrento,Itary,June 25−30,2000.)によって提案された。この方法では、規則的なensemble(アンサンブル)で構成された「Regular−LDPC符号」について説明されている。
ここでは、有限幾何符号の一種であるユークリット幾何符号EG(2,26)を用いてLDPC符号の検査行列を生成する方法が提案されており、誤り率10−4点において、シャノン限界から1.45dBに接近した特性を得ている。第29図は、たとえば、ユークリット幾何符号EG(2,22)の構成を示す図であり、行,列のそれぞれの重みが4,4の「Regular−LDPC符号」構造をしている。
したがって、ユークリット幾何符号EG(m,2s)の場合、その特性は、以下のように規定される。
符号長: n=22s−1
冗長ビット長: n−k=3s−1
情報長: k=22s−3s
最小距離: dmin=2s+1
密度: r=2s/(22s−1)
第29図を見ても分かるように、ユークリット幾何符号は、各行の「1」の配置が行毎に巡回シフトした構造になっており、符号が容易にかつ確定的に構成できる特長がある。
Y.Kouらによる検査行列の生成方法では、さらに、上記ユークリット幾何符号に基づいて行と列の重みを変更し、行,列を必要に応じて拡張している。たとえば、EG(2,22)の列の重みを1/2に分離する場合、Y.Kouらの論文では、1列内に4つある重みを1つ置きに2個づつ分離する。第30図は、列の重みを4から2に規則的に分離した例を示す図である。
一方、上記「Regular−LDPC符号」の特性よりも「Irregular−LDPC符号」の特性の方が良好であることが、Ludy等(M.G.Luby,M.Mitzenmacher,M.A.Shokrollahi,and D.A.Spielman,″Improved Low−Density Parity−Check Codes Using Irregular Graphs and Belief Propagation,″Proceedings of 1998 IEEE International Symposium on Information Theory,pp.171,Cambridge,Mass.,August 16−21,1998.)により報告された。なお、上記「Irregular−LDPC符号」は、列と行の重みがそれぞれあるいはどちらか一方が均一でないLDPC符号を表す。
そして、それは、Richardson等(T.J.Richardson and R.Urbanke,″The capacity of low−density parity−check codes under message−passing decoding,″IEEE Trans.Inform.Theory,vol.47,No.2,pp.599−618,Feb.2001.)、あるいはChung等(S.−Y.Chung,T.J.Richardson,and R.Urbanke,″Analysis of Sum−Product Decoding of Low−Density Parity−Check Codes Using a Gaussian Approximation,″IEEE Trans.Inform.Theory,vol.47,No.2,pp.657−670,Feb.2001.)によって理論的に解析された。
特に、Chung等は、繰り返し復号器における入力と出力の対数尤度比(LLR)がガウス分布に近似できると仮定してLDPC符号の「Sum−Productアルゴリズム」を解析し、良好な行と列の重みのアンサンブルを求めている。
しかしながら、たとえば、上記Chung等による従来のLDPC符号用検査行列生成方法は、行内の「1」の点の数(後述するバリアブルノードの次数配分に相当)と、列内の「1」の点の数(後述するチェックノードの次数配分に相当)と、の両方を変数として、下記の(1)式(rate:符号化率)が最大となるバリアブルノードの次数配分およびチェックノードの次数配分を求めている。すなわち、SNR(Signal to Noise Ratio)が最小となるアンサンブルを線形計画法により探索している。
そのため、上記「rate」の最大値により得られる検査行列が流動的になり、特性が安定しない、という問題があった。また、従来のLDPC符号用検査行列生成方法は、バリアブルノードの次数配分の導出とチェックノードの次数配分の導出とを所定回数にわたって繰り返し行っているため、探索処理にある程度の時間を要する、という問題もあった。
従って、本発明は、確定的で特性が安定し、かつ任意のアンサンブルに対応したLDPC符号用の検査行列を、容易に探索可能で、さらに、性能の良好なLDPC符号用検査行列生成方法を提供することを目的としている。
発明の開示
本発明にかかるLDPC符号用検査行列生成方法にあっては、Irregular−LDPC符号の検査行列を生成するために、列の重みの最大値を決定する重み決定ステップと、前記列の重みの最大値に基づいて基本となるユークリット幾何符号を決定するユークリット幾何符号決定ステップと、符号化率を決定する符号化率決定ステップと、前記符号化率を固定した状態で、かつガウスノイズが最大になるように、行の重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索ステップと、所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出ステップと、前記ユークリット幾何符号を用いて、前記情報長に基づいた所定の行の削除処理を行う行削除ステップと、前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分割ステップと、を含むことを特徴とする。
つぎの発明にかかるLDPC符号用検査行列生成方法において、前記行削除ステップにあっては、前記アンサンブルに基づいて前記ユークリット幾何符号における各行の重みをランダムに分割し、分割後の行数から前記情報長を減算し、その後、前記アンサンブルにおける各重みの比率を調整しながら、前記減算結果に相当する行数を削除することを特徴とする。
つぎの発明にかかるLDPC符号用検査行列生成方法において、前記行削除ステップにあっては、前記基本のユークリット幾何符号から所定の行数を削除し、その後、前記アンサンブルに基づいて当該削除後のユークリット幾何符号における各行の重みをランダムに分割することを特徴とする。
つぎの発明にかかるLDPC符号用検査行列生成方法にあっては、前記アンサンブルの重み配分を、重み単位の重み総数が整数で、かつ重み単位の重み総数の総和とユークリット幾何符号の「1」の総数とが等しくなるように調整し、調整後のアンサンブルに基づいて前記分割処理を行うことを特徴とする。
つぎの発明にかかるLDPC符号用検査行列生成方法にあっては、基本のランダム系列のラテン方陣を作成し、当該ラテン方陣に基づいて、前記ユークリット幾何符号における各行および各列から重み「1」を抽出することにより、各列および各行をランダムに分割することを特徴とする
つぎの発明にかかるLDPC符号用検査行列生成方法にあっては、Irregular−LDPC符号の検査行列を生成するために、所定の多項式を用いて前記ユークリット幾何符号における行または列の重みを分割し、特性劣化の要因となる前記ユークリット幾何符号に存在する「サイクル数6」を削減することを特徴とする。
つぎの発明にかかる検査行列生成装置にあっては、ユークリット幾何符号を用いてIrregular−LDPC符号の検査行列を生成する構成として、列の重みの最大値を決定する重み決定手段と、前記列の重みの最大値に基づいてユークリット幾何符号を決定するユークリット幾何符号決定手段と、符号化率を決定する符号化率決定手段と、前記符号化率を固定した状態で、かつガウスノイズが最大になるように、行の重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索手段と、所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出手段と、前記ユークリット幾何符号を用いて、前記情報長に基づいた所定の行の削除処理を行う行削除手段と、前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分割手段と、を備えることを特徴とする。
発明を実施するための最良の形態
以下に、本発明にかかるLDPC符号用検査行列生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
第1図は、本発明にかかるLDPC符号用検査行列生成方法を示すフローチャートである。なお、本実施の形態におけるLDPC符号用検査行列生成方法は、たとえば、設定されるパラメータに応じて通信装置内で実行する構成としてもよいし、通信装置外部の他の制御装置(計算機等)で実行することとしてもよい。本実施の形態におけるLDPC符号用検査行列生成方法が通信装置外部で実行される場合は、生成済みのLDPC符号用検査行列が通信装置に格納される。以降の実施の形態では、説明の便宜上、通信装置内で上記方法を実行する場合について説明する。
まず、本実施の形態のLDPC符号用検査行列生成方法を説明する前に、本実施の形態のLDPC符号用検査行列生成方法を実現可能な符号化器および復号器の位置付け、および「Irregular−LDPC符号」用の従来の検査行列生成方法について説明する。なお、LDPC符号化/復号システムの構成については、先に説明した第27図と同様である。
送信側の符号化器101では、後述する本実施の形態のLDPC符号用検査行列生成方法で検査行列Hを生成する。そして、以下の条件に基づいて生成行列Gを求める。
その後、符号化器101では、情報長kのメッセージ(m1m2…mk)を受け取り、上記生成行列Gを用いて符号語Cを生成する。
そして、変調器102では、生成した符号語Cに対して、BPSK,QPSK,多値QAMなどのデジタル変調を行い、送信する。
一方、受信側では、復調器104が、通信路103を介して受け取った変調信号に対して、BPSK,QPSK,多値QAMなどのデジタル復調を行い、さらに、復号器105が、LDPC符号化された復調結果に対して、「sum−productアルゴリズム」による繰り返し復号を実施し、推定結果(もとのm1m2…mkに対応)を出力する。
つぎに、Chung等(S.−Y.Chung,T.J.Richardson,and R.Urbanke,″Analysis of Sum−Product Decoding of Low−Density Parity−Check Codes Using a Gaussian Approximation,″IEEE Trans.Inform.Theory,vol.47,No.2,pp.657−670,Feb.2001.)によって理論的に解析された、「Irregular−LDPC符号」用の従来の検査行列生成方法について詳細に説明する。ここでは、繰り返し復号器における入力と出力の対数尤度比(LLR)がガウス分布に近似できると仮定してLDPC符号の「Sum−Productアルゴリズム」を解析し、良好な行と列の重みのアンサンブルを求めている。
なお、上記論文に記述されたLDPC符号用検査行列生成方法であるガウス近似法(Gaussian Approximation)では、前提として、検査行列における行内の「1」の点をバリアブルノードと定義し、列内の「1」の点をチェックノードと定義する。
まず、チェックノードからバリアブルノードへのLLRメッセージ伝搬を解析する。0<s<∞と0≦t<∞という条件において、以下の関数(2)式を定義する。なお、s=mu0はu0の平均値であり、u0は分散値σn 2のガウスノイズを含む伝送路を経由して受信した信号の対数尤度比(LLR)であり、tは所定の繰り返しの時点におけるチェックノードのLLR出力値のアンサンブル平均である。
なお、上記λ(x)およびρ(x)は、それぞれバリアブルノードおよびチェックノードの次数配分(バリアブルノードとチェックノードの各1行,各1列内の「1」の数を次数と表現する)の生成関数を表し、(3)式および(4)式のように表すことができる。また、λiとρiは、それぞれ次数iのバリアブルノードとチェックノードに属するエッジの比率を表す。また、d1は最大バリアブルノードの次数であり、drは最大チェックノードの次数である。
ただし、φ(x)は下記(5)式のように定義する。
そして、(2)式は、等価的に下記(6)式と表すことができる。
なお、t1は1番目の繰り返し時点におけるチェックノードのLLR出力値のアンサンブル平均である。
ここで、誤りが0となりうるSNRの限界(threshold)を求めるための条件は、1→∞のときにt1(s)→∞(R+と表現する)となることであり、この条件を満たすためには、以下の条件(7)式を満たす必要がある。
つぎに、バリアブルノードからチェックノードへのLLRメッセージ伝搬を解析する。0<s<∞と0<r≦1という条件において、以下の関数(8)式を定義する。なお、rの初期値r0はφ(s)である。
そして、(8)式は、等価的に下記(9)式と表すことができる。
ここで、誤りが0となりうるSNRの限界(threshold)を求めるための条件は、r1(s)→0となることであり、この条件を満たすためには、以下の条件(10)式を満たす必要がある。
さらに、上記Chung等の論文では、上記式を用いて以下の手順でバリアブルノードとチェックノードの最適な次数を探索している(ガウス近似法)。
(1)生成関数λ(x)とガウスノイズσnが与えられていると仮定し、生成関数ρ(x)を変数として、前述した(1)式が最大となる点を探索する。なお、この探索における拘束条件は、ρ(1)=1と正規化することと、上記(7)式を満たすことである。
(2)生成関数ρ(x)とガウスノイズσnが与えられていると仮定し(たとえば、(1)の結果より得られる値)、生成関数λ(x)を変数として、(1)式が最大となる点を探索する。なお、この探索における拘束条件は、λ(1)=1と正規化することと、上記(10)式を満たすことである。
(3)最大「rate」を求めるために、上記(1)と上記(2)を繰り返し実行し、生成関数λ(x)と生成関数ρ(x)のより良好なアンサンブルを線形計画法で探索する。
(4)最後に、ガウスノイズσnより信号電力を1と正規化して、SNRの限界(threshold)を求める。
しかしながら、上記Chung等の論文では、「rate(符号化率)」の最大値により得られる検査行列が流動的になり、設計時の仕様として固定されるrateが変動してしまう、という問題があった。また、上記Chung等の論文では、バリアブルノードの次数配分の導出とチェックノードの次数配分の導出とを所定回数にわたって繰り返し行っているため、探索処理にある程度の時間を要する、という問題や、任意のアンサンブル,任意の符号長,任意の符号化率に容易に対応することができない、という問題もあった。
そこで、本実施の形態においては、確定的で特性が安定し、かつ任意のアンサンブル,任意の符号長,任意の符号化率に対応した「Irregular−LDPC符号」用の検査行列を、短時間で容易に探索する方法について説明する(第1図参照)。具体的にいうと、ここでは、ユークリット幾何符号における1行または1列の「1」の配置を分割および削除することにより、「Irregular−LDPC符号」用の検査行列を生成する。第1図は、実施の形態1のLDPC符号用検査行列生成方法を示す図である。
本実施の形態のLDPC符号用検査行列生成方法では、まず、列の重みの最大値dlを決定する(ステップS1)。ここでは、たとえば、dl=32とする。
つぎに、列の重みdlに基づいてベースとなるユークリット幾何符号EG(2,2s)を選択する(ステップS2)。たとえば、dl=32の場合、ユークリット幾何符号EG(2,2s)の列の重み2sはs=5となるため、ユークリット幾何符号EG(2,25)を選択する。一般には、2s−1<dl<2s+1の条件を満たすsが選択される。
つぎに、符号化率(rate)を決定する(ステップS3)。ここでは、たとえば、rate=0.5の場合について説明する。
つぎに、後述するガウス近似法を用いて、バリアブルノードの次数配分の生成関数λ(x)と、チェックノードの次数配分の生成関数ρ(x)、のアンサンブルを導出する(ステップS4)。第2図は、rate=0.5の時のλ(x)とρ(x)のアンサンブルの一例を示す図である。ただし、xは重みを表し、λxおよびρxはそれぞれバリアブルノードとチェックノードの重み配分を表す。また、表中σGAはガウス近似法により導出した「threshol」時のノイズ分散値を表し、SNRnorm(GA)はガウス近似法により導出した「threshol」時のSNRとシャノン限界のSNRとの差分を表す。
ここで、バリアブルノードの次数配分の生成関数λ(x)とチェックノードの次数配分の生成関数ρ(x)のアンサンブルを探索するための上記ガウス近似法の実行手順について説明する。
(1)「rate」が与えられているものと仮定する。すなわち、要求「rate」を固定する。実際の設計では、目標「rate」が予め指定されている場合が多いためである。
(2)生成関数λ(x)と生成関数ρ(x)を同時に変数として扱い、ガウスノイズσnが最大になるように、線形計画法で最適な生成関数λ(x)と生成関数ρ(x)を探索する。この探索における拘束条件は、λ(1)=1,ρ(1)=1と正規化し、さらに上記(10)式を満たすことである。
このように、本実施の形態では、上記(9)式と上記(10)式を満たす生成関数λ(x)と生成関数ρ(x)を1回の線形計画法で求めることとしたため、上記論文(chung等)のように、生成関数λ(x)の導出と生成関数ρ(x)の導出を繰り返し実行し、双方の最適値を求める方法よりも、容易かつ短時間に、確定的でかつ特性が安定したアンサンブルを生成できる。
ステップS4においてアンサンブルを導出後、つぎに、ブロック長Nを求め、このブロック長Nから情報長Kを確定する(ステップS5)。たとえば、N=5000の場合、
となる。
つぎに、情報長Kに対応した行の削除を行う(ステップS6)。ここでは、本実施の形態における行の削除方法(第1の削除方法,第2の削除方法)について詳細に説明する。なお、ベースとなるユークリット幾何符号EG(2,2s)の行の数と列の数は、それぞれ2s×2s−1で表すことができる。
第1の削除方法では、まず、第2図に示すアンサンブルに基づいて、重み32の1行を、重み10の1行と重み11の2行とに分割する。このケースでは、重み10の比率がρ10=10/32=0.3125となっており、重み6の比率ρ10がρ10=22/32=0.6875となっている。また、ユークリット幾何符号EG(2,25)の行の数REGはREG=25×25−1=1023であるため、重み10の行数が1023となり、重み11の行数が2046となり、その結果、トータルの行数RTは、RT=1023+2046=3069となる。したがって、行の削除数Drは、検査行列の行数が情報長Kと一致することを利用して、
となる。
なお、上記のように、重み32の各行を重み10の1行と重み11の2行に分割する場合は、たとえば、後述するランダム分割、すなわち「乱数系列のラテン方陣を用いた分割方法」を実施する。
このように、上記第1の削除方法では、たとえば、重み32の1行を重み10の1行と重み11の2行とに分割する場合、分割後の行列から、Dr=RT−K=3069−2500=569行を削除する。このとき、比率ρ10,ρ11をできるだけ変えないように、569行の削除を行う。
一方、第2の削除方法では、基本のユークリット幾何符号EG(2,2s)の段階で行の削除を行う。ここでは、基本のユークリット幾何符号EG(2,2s)からの削除数Dr_EGを
により求める。たとえば、Dr_EG=1023×569/3069=189.6667の場合、ユークリット幾何符号EG(2,25)から189行を削除する。
このとき、削除後に行のランダム分割を行った場合であっても、行数は、(1023−569)×3=2502となり、目標の符号長2500に近い値となる。実際には、ユークリット幾何符号EG(2,25)から189行を削除した後、1023−189=834行分のランダム分割を行って834×3=2502行(各行を重み10の1行と重み11の2行に分割する)とし、その後、残りの2行を削除する。
上記第2の削除方法を、図面を用いて具体的に説明する。ここでは、説明の便宜上、ユークリット幾何符号EG(2,22)を用いる。第3図は、ユークリット幾何符号EG(2,22)を示す図(空白は0を表す)である。また、第4図は、第3図に示すユークリット幾何符号EG(2,22)における各行の「1」の列番号を示す図であり、ここでは、各行の「1」の列番号をRow(i,j)と表現する(iは行番号を表し、jは列番号を表す)。たとえば、ユークリット幾何符号EG(2,22)の1行目は、Row(1,j)={1,5,13,14}と表現する。
第4図に基づいて、Row(i,j)の1列目が昇順になるように行の順番を並べ替える。第5図は、並べ替えた後の各行の「1」の列番号を示す図であり、ここでは、並べ替え後の各行の「1」の列番号をRow´(i,j)と表現する。
たとえば、削除する行数を5行とした場合、ここでは、Row´(i,j)の下から5行を削除する。第6図は、第5図の下から5行を削除した後の各行の「1」の列番号を示す図であり、ここでは、削除後の各行の「1」の列番号をRow_5´(i,j)と表現する。また、第7図は、行削除後の列内の重み分布を示す図であり、第6図における、列番号とその列に含まれる「1」の数との関係を表している。また、第8図は、ユークリット幾何符号EG(2,25)における5行削除後の重み分布を示す図である。
上記第2の削除方法と同様の手順で、ユークリット幾何符号EG(2,25)における行を189行だけ削除した場合の重み分布を第9図に示す。
ステップS6における削除処理を実行後、最後に、列の分割処理を行う(第1図、ステップS7)。ここでは、本実施の形態における分割方法を、説明の便宜上、第2図を用いて詳細に説明する。なお、重み配分λxのxの値および重み配分ρxのxの値、すなわち、列と行の重みは、それぞれxの組み合わせで、たとえば、32を構成できる値とする。第10図は、分割テーブルの一例を示す図である。たとえば、7×4と2×2の組み合わせは、重み32の1列を、重み7の4列と重み2の2列に分割できることを表している。第10図のように、基本となる各行と各列の重みが32のユークリット幾何符号EG(2,25)を適切に分割すれば、「Irregular−LDPC符号」用の検査行列が構成できる。また、図示はしていないが、列の重み31,30,29,28,27,26,25,24,23,22,21に関しても(第9図参照)、同様に分割できる。
まず、分割処理を行う前に、第2図に示す生成関数λ(x)と生成関数ρ(x)のアンサンブルの重み配分を以下の手順で調整する。第11図は、重み配分調整用テーブルを示す図である。
(1)ガウス近似法で求めた生成関数λ(x)と生成関数ρ(x)のアンサンブル(第2図参照)をテーブルの2列目と3列目に設定する。
(2)重み配分λxおよびρx(3列目)と、ユークリット幾何符号EG(2,25)における全行列の「1」の総数TP=26688と、を乗算し、重み単位の重み総数を求め、さらに、当該重み単位の重み総数とその総和を4列目に設定する。
(3)重み単位の重み総数(4列目)を対応する重みxで割り、重み単位の総列数を求め、それを5列目に設定する。
(4)重み単位の総列数が小数点以下を含む場合、丸め処理(四捨五入,切上げ,切捨て等)を行い、その結果を6列目に設定する。
(5)丸め処理後の重み単位の総列数(6列目)と対応する重みxとを乗算し、丸め処理後の重み単位の重み総数を求め、それを7列目に設定する。そして、各重み総数の総和(7列目の合計の行)が行列内の「1」の総数(TP=26688)と等しいかどうかを確認する。
(6)行列内の「1」の総数に等しくない場合、丸め処理後の重み単位の重み総数(7列目)を整数単位で調整し、その結果を8列目に設定する。この場合、8列目の総和が、行列内の「1」の総数(TP=26688)に等しくなるように調整する。
(7)調整後の重み単位の重み総数(8列目)を対応する重みxで割り、調整後の重み単位の総列数を求め、それを9列目に設定する。調整後の各重みの配分(11列目)は、可能な限りガウス近似法で求めた値(3列目)に近い値にする。
第12図は、重み配分後の生成関数λ(x)と生成関数ρ(x)のアンサンブルを示す図である。
つぎに、ユークリット幾何符号における1行あるいは1列の分割手順について説明する。たとえば、分割手順に関して、Y.Kou等の論文では、規則的に分割する方法を提示している。第13図は、上記論文における分割手順を示す図である。まず、第13図に示すように行列のナンバリングを行う。ここでは、列番号を左端から順に1,2,3,…とし、行番号を上から順に1,2,3,…とする。そして、たとえば、32点×1列を8点×4列に分割する場合、下記(12)式にしたがって規則的に分割する。
なお、m=1,2,3,4とし、n=0,1,2,3,4,5,6,7とし、1はEG(2,25)の列番号を表す。また、B1(x)はEG(2,25)の1列目の「1」の位置を表し、Sm(n)は分割後の行列のm列目の「1」の位置を表す。
具体的にいうと、EG(2,25)における1列中の「1」の位置を示す行番号は、
となり、その結果、分割後の行列における1〜4列目の「1」の位置を示す行番号は、B1(x)から「1」の番号が規則的に抽出され、
となる。すなわち、32点×1列が8点×4列に分割される。
一方、本実施の形態におけるユークリット幾何符号の分割処理は、上記のように規則的に分割するのではなく、B1(x)から「1」の番号をランダムに抽出する。なお、この抽出処理は、ランダム性が保持されるのであればどのような方法を用いてもよい。
したがって、分割後の行列のm列目の「1」の位置の一例をRm(n)とした場合、Rm(n)は、
となる。
上記のような本実施の形態の分割手順をグラフ上で表現すると、以下のように表現することができる。第14図は、分割前のEG(2,25)のグラフを示す図である。なお、両ノードを結ぶ線はエッジと表現する。第14図では、分割前の1023行×1023列(各行列の重みがそれぞれ32)のユークリット幾何符号を表現している。また、第15図は、EG(2,25)のエッジをランダムに選択した、分割後のグラフを示す図である。
ここで、上記で説明したLDPC符号の特性を比較する。第16図は、Eb/No(情報1ビットあたりの信号電力対ノイズ電力比)と誤り率特性(BER)との関係を示す図である。なお、繰り返し回数は50回で、復号法は「Sum−Productアルゴリズム」である。
なお、図中″Simple regular extended EG(2,25)″は、Y.Kou等の発案によるEG(2,25)の規則的な列の分割(従来技術参照)を実施した場合の、rate=0.5の「Regular−LDPC符号」であり、″Random regular extended EG(2,25)″は、本実施の形態によるEG(2,25)のランダムな列の分割を実施した場合の、rate=0.5の「Regular−LDPC符号」である。第17図は、上記「Regular−LDPC符号」のアンサンブルを示す図である。
また、図中″Simple irregular extended EG(2,25)″は、第18図によって特定されたアンサンブルに対して、Y.Kou等の発案によるEG(2,25)の規則的な列の分割を実施した場合の、rate=0.5の「Irregular−LDPC符号」であり、″Random irregular extended EG(2,25)″は、第18図によって特定されたアンサンブルに対して、本実施の形態によるEG(2,25)のランダムな列の分割を実施した場合の、rate=0.5の「Irregular−LDPC符号」である。第18図は、上記「Irregular−LDPC符号」のアンサンブルを示す図である。
第16図からわかるように、同一レートでは、「Regular−LDPC符号」より「Irregular−LDPC符号」のほうが性能がよい。また、Y.Kou等の論文のような規則的な分割では、「Irregular−LDPC符号」であっても大幅な改善は見込めないが、本実施の形態のランダムな分割を実施すると性能が画期的に改善される。
このように、本実施の形態においては、まず、列の重みの最大値dlを決定し、つぎに、列の重みdlに基づいてベースとなるユークリット幾何符号EG(2,25)を選択し、つぎに、符号化率(rate)を決定し、つぎに、上記ガウス近似法を用いてバリアブルノードの次数配分の生成関数λ(x)とチェックノードの次数配分の生成関数ρ(x)のアンサンブルを導出し、つぎに、所定のブロック長Nから情報長Kを確定し、つぎに、上記所定の手順で情報長Kに対応した行の削除処理を行い、最後に、上記所定の手順で列の分割処理を行う。これにより、確定的で特性が安定し、かつ任意のアンサンブル,任意の符号長,任意の符号化率に対応した「Irregular−LDPC符号」用の検査行列を、短時間で容易に生成できる。
つぎに、上記ランダム分割の一例、すなわち、上記「乱数系列のラテン方陣を用いた分割方法」を詳細に説明する。ここでは、ランダム分割を行う場合のランダム系列を容易かつ確定的に生成する。この方法による利点は、送信側と受信側が同じランダム系列を生成できることにある。これは、現実のシステムではきわめて重要となる。また、符号特性の条件が正確に規定できる、という利点もある。
(1)基本のランダム系列を作成する。
以下に、ランダム系列作成の一例を記述する。ここでは、説明の便宜上、ユークリット幾何符号EG(2,25)を用いる。ユークリット幾何符号EG(2,25)の場合、1行に存在する「1」の数は25=32個である。
PをP≧25を満たす最小の素数とした場合、たとえば、25のときはP=37となる。ここで、系列長P−5=32の基本のランダム系列C(i)を(13)式にしたがって作成する。
ただし、i=0,1,…,P−2とし、G0はガロア体GF(P)の原始元である。その結果、C(i)は、
となる。
(2)系列長が25=32となるように、32より大きい数を削除する。
(3)基本のランダム系列を一定間隔で読み出すためにスキップ間隔S(j)を以下の(14)式のように定義する。
(4)以下の(15)式で置換パターンLBj(i)を作成する。
なお、LBj(i)も2sより大きい数字は削除する。第19図は、基本のランダム系列C(i)と基本のランダム系列の置換パターンLBj(i)を示す図である。
(5)q列i行でj番目のラテン方陣行列Ljq(i)を以下の(16)式で算出する。
第20図は、ラテン方陣行列Ljq(i)を示す図である。このラテン方陣行列Ljq(i)は、拡張する対象の行列(たとえば、第12図に示す行列)のj×32+q列目の分割パターンを決める。たとえば、削除により短縮されたEG(2,25)の670列目g670(l)を
これを重み6の5列と重み2の1列に分割する。対応するラテン方陣Ljq(i)は20*32+30=670であるため、
となる。結果として、分割パターンは以下のようになる。
実施の形態2.
LDPC符号(LDPC符号用検査行列)は、一般的な表現方法として、たとえば、2部グラフ(bipartite graph:2種類の要素(ソフトANDとソフトEXOR)で構成された「tanner graph」)で表現することができる。第21図は、一例として、第29図に示すLDPC符号を2部グラフで表現した場合を示す図である。このように、上記2部グラフ上では、バリアブルノードがソフトANDで表現され、チェックノードがソフトEXORで表現される。
LDPC符号を用いた符号化/復号においては、一般的に、2部グラフ上にサイクル4,サイクル6,およびそれ以上のサイクル、がより少ないほど良好な特性を得ることができる。第22図は、サイクル4およびサイクル6の一例を示す図である。
特に、特性が劣化する要因としては、サイクル4の影響度が最も大きく、サイクル数が大きくなるほどその影響は小さくなる。したがって、LDPC符号としては、サイクル4やサイクル6といった少ないサイクルの発生を抑制する構造が望ましい。
そこで、実施の形態2のLDPC符号用検査行列生成方法においては、ユークリット幾何符号に存在するサイクル数6を削減することによって、復号特性の向上を図る。なお、ベースとなるユークリット幾何符号には、すでにサイクル4が存在せず、この特性は、行および列の分離および削除(実施の形態1における分離および削除を含む)によっても変わらない。
第23図は、前述の第3図に示すユークリット幾何符号EG(2,22)の各列における「1」の行番号を示す図であり、この行列をcol(i,j)と表現する。col(i,j)において「1」の位置を示す多項式W(X)は、1番上の行に関して以下の(17)式のように表現できる。
ユークリット幾何符号は、この一つの多項式を巡回シフトした形式で表現できるため、以下の(18)式のように表現できる。
そして、ユークリット幾何符号に存在するサイクル数6を削減する場合、たとえば、列の重みを4から2に分離する。すなわち、上記(18)式を前半部と後半部に分けて、以下の(19)式のように表現する。
第24図は、第23図に示す行列を上記(19)式により分離して、列の重みを2にした場合の行列を示す図であり、この行列をcol_s2(i,j)と表現する。上記処理により分離した第24図の行列に対応するLDPC符号は、サイクル6をまったく持たない構成となる。なお、多項式をベースにした分離は、どの次数同士のペアでもよい。すなわち、以下の(20)式を用いて分離することとしてもよい。
このように、重みが4のユークリット幾何符号であれば、上記の(19)式または(20)式を用いて列の重みを2に分離することによって、サイクル6を完全に除去できる。ただし、サイクル6を完全に除去できるのは、列の重みをすべて2に分離した場合である。したがって、重みが3以上の列が他に存在する場合、すなわち、「Irregular−LDPC符号」の場合は、サイクル6を削減することはできるが完全には除去できない。
第25図は、重み4の列を重み2の20列と重み4の5列に分離する手順として、上記col(i,j)を単純に前2列と後ろ2列に分離した場合の、行列col_s2_4(i,j)を示す図である。第25図の行列col_s2_4(i,j)では、サイクル6の数が35となる。一方、第26図は、上記式で分離した場合の行列col_s2_4´(i,j)を示す図である。第26図の行列col_s2_4´(i,j)では、サイクル6の数が33となり、第25図の場合よりも少なくなっていることがわかる。
このように、本実施の形態においては、特性劣化の要因となるユークリット幾何符号に存在するサイクル数6を削減するように、列の重みを分離することとしたため、復号特性の向上を実現できる。
なお、上記実施の形態1および2においては、基本となる符号(基本行列)にユークリット幾何符号を用いることとしたが、これに限らず、「行と列の重みが一定」かつ「サイクル数が6以上」という条件を満たす行列であれば、たとえば、射影幾何符号等の、ユークリット幾何符号以外の行列を用いることとしてもよい。
以上、説明したとおり、本発明によれば、まず、列の重みの最大値dlを決定し、つぎに、列の重みdlに基づいてベースとなるユークリット幾何符号EG(2,2s)を選択し、つぎに、符号化率(rate)を決定し、つぎに、上記ガウス近似法を用いてバリアブルノードの次数配分の生成関数λ(x)とチェックノードの次数配分の生成関数ρ(x)のアンサンブルを導出し、つぎに、所定のブロック長Nから情報長Kを確定し、つぎに、上記所定の手順で情報長Kに対応した行の削除処理を行い、最後に、上記所定の手順で列の分割処理を行う。これにより、確定的で特性が安定し、かつ任意のアンサンブル,任意の符号長,任意の符号化率に対応した「Irregular−LDPC符号」用の検査行列を、短時間で容易に生成できる、という効果を奏する。
つぎの発明によれば、所定のアンサンブルに基づいてユークリット幾何符号における各行の重みをランダムに分割し、分割後の行数から情報長を減算し、その後、前記アンサンブルにおける各重みの比率ができるだけ変わらないように前記減算結果に相当する行数を削除する。これにより、任意のアンサンブル,任意の符号長,任意の符号化率に対応した「Irregular−LDPC符号」用の検査行列を容易に生成できる、という効果を奏する。
つぎの発明によれば、基本のユークリット幾何符号から所定の行数を削除し、その後、前記アンサンブルに基づいて当該削除後のユークリット幾何符号における各行の重みをランダムに分割する。これにより、任意のアンサンブル,任意の符号長,任意の符号化率に対応した「Irregular−LDPC符号」用の検査行列を容易に生成できる、という効果を奏する。
つぎの発明によれば、重み配分を、重み単位の重み総数が整数で、かつ重み単位の重み総数の総和とユークリット幾何符号の「1」の総数とが等しくなるように調整することによって、より高精度な分割処理を実現できる、という効果を奏する。
つぎの発明によれば、ランダム系列のラテン方陣を作成することによって、符号特性の条件を正確に規定できる、という効果を奏する。
つぎの発明によれば、特性劣化の要因となるユークリット幾何符号に存在するサイクル数6を削減するように、列の重みを分離することとしたため、大幅に復号特性を向上させることができる、という効果を奏する。
つぎの発明によれば、まず、列の重みの最大値dlを決定し、つぎに、列の重みdlに基づいてベースとなるユークリット幾何符号EG(2,2s)を選択し、つぎに、符号化率(rate)を決定し、つぎに、上記ガウス近似法を用いてバリアブルノードの次数配分の生成関数λ(x)とチェックノードの次数配分の生成関数ρ(x)のアンサンブルを導出し、つぎに、所定のブロック長Nから情報長Kを確定し、つぎに、上記所定の手順で情報長Kに対応した行の削除処理を行い、最後に、上記所定の手順で列の分割処理を行う構成とした。これにより、確定的で特性が安定し、かつ任意のアンサンブル,任意の符号長,任意の符号化率に対応した「Irregular−LDPC符号」用の検査行列を、短時間で容易に生成可能な検査行列生成装置を得ることができる、という効果を奏する。産業上の利用可能性
以上のように、本発明にかかるLDPC符号用検査行列生成方法および検査行列生成装置は、誤り訂正符号としてLDPC符号を採用した通信システムに有用であり、特に、確定的で特性が安定した「Irregular−LDPC符号」を生成する装置に適している。
【図面の簡単な説明】
第1図は、実施の形態1のLDPC符号用検査行列生成方法を示すフローチャートであり、第2図は、rate=0.5の時のλ(x)とρ(x)のアンサンブルの一例を示す図であり、第3図は、ユークリット幾何符号EG(2,22)を示す図であり、第4図は、第3図に示すユークリット幾何符号EG(2,22)における各行の「1」の列番号を示す図であり、第5図は、並べ替えた後の各行の「1」の列番号を示す図であり、第6図は、第5図の下から5行を削除した後の各行の「1」の列番号を示す図であり、第7図は、行削除後の列内の重み分布を示す図であり、第8図は、ユークリット幾何符号EG(2,25)における5行削除後の重み分布を示す図であり、第9図は、ユークリット幾何符号EG(2,25)における行を189行だけ削除した場合の重み分布を示す図であり、第10図は、分割テーブルの一例を示す図であり、第11図は、重み配分調整用テーブルを示す図であり、第12図は、重み配分後の生成関数λ(x)と生成関数ρ(x)のアンサンブルを示す図であり、第13図は、従来の分割手順を示す図であり、第14図は、分割前のEG(2,25)のグラフを示す図であり、第15図は、EG(2,25)のエッジをランダムに選択した分割後のグラフを示す図であり、第16図は、Eb/NoとBERとの関係を示す図であり、第17図は、「Regular−LDPC符号」のアンサンブルを示す図であり、第18図は、「Irregular−LDPC符号」のアンサンブルを示す図であり、第19図は、基本のランダム系列C(i)と基本のランダム系列の置換パターンLBj(i)を示す図であり、第20図は、ラテン方陣行列Ljq(i)を示す図であり、第21図は、第29図に示すLDPC符号を2部グラフで表現した場合を示す図であり、第22図は、サイクル4およびサイクル6の一例を示す図であり、第23図は、第3図に示すユークリット幾何符号EG(2,22)の各列における「1」の行番号を示す図であり、第24図は、第23図に示す行列を(19)式により分離して列の重みを2にした場合の行列を示す図であり、第25図は、行列col(i,j)を単純に前2列と後ろ2列に分離した場合の行列col_s2_4(i,j)を示す図であり、第26図は、実施の形態2の方法で分離した場合の行列col_s2_4´(i,j)を示す図であり、第27図は、LDPC符号化/復号システムを示す図であり、第28図は、従来のLDPC符号用の検査行列を示す図であり、第29図は、ユークリット幾何符号EG(2,22)の構成を示す図であり、第30図は、列の重みを4から2に規則的に分離した例を示す図である。
Claims (10)
- Irregular−LDPC符号の検査行列を生成するためのLDPC符号用検査行列生成方法において、
列の重みの最大値を決定する重み決定ステップと、
前記列の重みの最大値に基づいて、「行と列の重みが一定」かつ「サイクル数が6以上」という条件を満たす基本行列を決定する基本行列決定ステップと、
符号化率を決定する符号化率決定ステップと、
前記符号化率を固定した状態で、かつガウスノイズが最大になるように、行の重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索ステップと、
所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出ステップと、
前記基本行列を用いて、前記情報長に基づいた所定の行の削除処理を行う行削除ステップと、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分割ステップと、
を含むことを特徴とするLDPC符号用検査行列生成方法。 - ユークリット幾何符号を用いてIrregular−LDPC符号の検査行列を生成するためのLDPC符号用検査行列生成方法において、
列の重みの最大値を決定する重み決定ステップと、
前記列の重みの最大値に基づいてユークリット幾何符号を決定するユークリット幾何符号決定ステップと、
符号化率を決定する符号化率決定ステップと、
前記符号化率を固定した状態で、かつガウスノイズが最大になるように、行の重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索ステップと、
所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出ステップと、
前記ユークリット幾何符号を用いて、前記情報長に基づいた所定の行の削除処理を行う行削除ステップと、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分割ステップと、
を含むことを特徴とするLDPC符号用検査行列生成方法。 - 前記行削除ステップにあっては、
前記アンサンブルに基づいて前記ユークリット幾何符号における各行の重みをランダムに分割し、分割後の行数から前記情報長を減算し、その後、前記アンサンブルにおける各重みの比率を調整しながら、前記減算結果に相当する行数を削除することを特徴とする請求の範囲第2項に記載のLDPC符号用検査行列生成方法。 - 前記行削除ステップにあっては、
前記基本のユークリット幾何符号から所定の行数を削除し、その後、前記アンサンブルに基づいて当該削除後のユークリット幾何符号における各行の重みをランダムに分割することを特徴とする請求の範囲第2項に記載のLDPC符号用検査行列生成方法。 - 前記アンサンブルの重み配分を、重み単位の重み総数が整数で、かつ重み単位の重み総数の総和とユークリット幾何符号の「1」の総数とが等しくなるように調整し、調整後のアンサンブルに基づいて前記分割処理を行うことを特徴とする請求の範囲第2項に記載のLDPC符号用検査行列生成方法。
- 基本のランダム系列のラテン方陣を作成し、当該ラテン方陣に基づいて、前記ユークリット幾何符号における各行および各列から重み「1」を抽出することにより、各列および各行をランダムに分割することを特徴とする請求の範囲第2項に記載のLDPC符号用検査行列生成方法。
- Irregular−LDPC符号の検査行列を生成するためのLDPC符号用検査行列生成方法において、
所定の多項式を用いて、「行と列の重みが一定」かつ「サイクル数が6以上」という条件を満たす基本行列における行または列の重みを分割し、特性劣化の要因となる「サイクル数6」を削減することを特徴とするLDPC符号用検査行列生成方法。 - ユークリット幾何符号を用いてIrregular−LDPC符号の検査行列を生成するためのLDPC符号用検査行列生成方法において、
所定の多項式を用いて前記ユークリット幾何符号における行または列の重みを分割し、特性劣化の要因となる前記ユークリット幾何符号に存在する「サイクル数6」を削減することを特徴とするLDPC符号用検査行列生成方法。 - Irregular−LDPC符号の検査行列を生成する検査行列生成装置において、
列の重みの最大値を決定する重み決定手段と、
前記列の重みの最大値に基づいて、「行と列の重みが一定」かつ「サイクル数が6以上」という条件を満たす基本行列を決定する基本行列決定手段と、
符号化率を決定する符号化率決定手段と、
前記符号化率を固定した状態で、かつガウスノイズが最大になるように、行の重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索手段と、
所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出手段と、
前記基本行列を用いて、前記情報長に基づいた所定の行の削除処理を行う行削除手段と、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分割手段と、
を備えることを特徴とする検査行列生成装置。 - ユークリット幾何符号を用いてIrregular−LDPC符号の検査行列を生成する検査行列生成装置において、
列の重みの最大値を決定する重み決定手段と、
前記列の重みの最大値に基づいてユークリット幾何符号を決定するユークリット幾何符号決定手段と、
符号化率を決定する符号化率決定手段と、
前記符号化率を固定した状態で、かつガウスノイズが最大になるように、行の重みと列の重みの最適なアンサンブルを線形計画法で探索する重み探索手段と、
所定のブロック長および前記符号化率に基づいて情報長を算出する情報長算出手段と、
前記ユークリット幾何符号を用いて、前記情報長に基づいた所定の行の削除処理を行う行削除手段と、
前記行削除後の行列の行または列の重みを所定の手順でランダムに分割する分割手段と、
を備えることを特徴とする検査行列生成装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002053888 | 2002-02-28 | ||
JP2002053888 | 2002-02-28 | ||
PCT/JP2003/002331 WO2003073621A1 (fr) | 2002-02-28 | 2003-02-28 | Procede de generation de matrices d'inspection de code ldpc et dispositif de generation de matrices d'inspection |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2003073621A1 JPWO2003073621A1 (ja) | 2005-06-23 |
JP3893383B2 true JP3893383B2 (ja) | 2007-03-14 |
Family
ID=27764375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003572182A Expired - Fee Related JP3893383B2 (ja) | 2002-02-28 | 2003-02-28 | Ldpc符号用検査行列生成方法および検査行列生成装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7089479B2 (ja) |
EP (1) | EP1480346A4 (ja) |
JP (1) | JP3893383B2 (ja) |
CN (1) | CN100592641C (ja) |
WO (1) | WO2003073621A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3808769B2 (ja) * | 2001-12-27 | 2006-08-16 | 三菱電機株式会社 | Ldpc符号用検査行列生成方法 |
JP4163023B2 (ja) * | 2003-02-28 | 2008-10-08 | 三菱電機株式会社 | 検査行列生成方法および検査行列生成装置 |
KR100996029B1 (ko) * | 2003-04-29 | 2010-11-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 장치 및 방법 |
KR101143732B1 (ko) * | 2003-05-30 | 2012-05-09 | 소니 주식회사 | 복호 방법 및 복호 장치, 기록 재생 장치 및 방법과, 재생 장치 및 방법 |
US7814392B2 (en) * | 2003-06-20 | 2010-10-12 | Intel Corporation | System, apparatus and methods of dynamically determined error correction codes in communication systems |
CN100440737C (zh) * | 2003-12-04 | 2008-12-03 | 北京泰美世纪科技有限公司 | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 |
KR20050118056A (ko) * | 2004-05-12 | 2005-12-15 | 삼성전자주식회사 | 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치 |
US7165205B2 (en) * | 2004-05-14 | 2007-01-16 | Motorola, Inc. | Method and apparatus for encoding and decoding data |
JP4138700B2 (ja) * | 2004-05-31 | 2008-08-27 | 株式会社東芝 | 復号装置および復号回路 |
WO2006016751A2 (en) * | 2004-08-09 | 2006-02-16 | Lg Electronics Inc. | Method of encoding and decoding using low density parity check matrix |
US7752520B2 (en) * | 2004-11-24 | 2010-07-06 | Intel Corporation | Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes |
CN100385796C (zh) * | 2004-11-25 | 2008-04-30 | 上海交通大学 | 低密度校验码的信道编码方法 |
KR100641052B1 (ko) | 2004-12-08 | 2006-11-02 | 한국전자통신연구원 | Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법 |
WO2006062351A1 (en) * | 2004-12-08 | 2006-06-15 | Electronics And Telecommunications Research Institute | Ldpc encoder and decoder and ldpc encoding and decoding methods |
US7461328B2 (en) * | 2005-03-25 | 2008-12-02 | Teranetics, Inc. | Efficient decoding |
US7634710B2 (en) * | 2005-03-25 | 2009-12-15 | Teranetics, Inc. | Efficient decoding |
JP4917023B2 (ja) * | 2005-03-31 | 2012-04-18 | 三菱電機株式会社 | 誤り訂正符号化装置 |
EP1900105A1 (en) * | 2005-04-15 | 2008-03-19 | Trellisware Technologies, Inc. | Clash-free irregular-repeat-accumulate code |
US7793190B1 (en) * | 2005-08-10 | 2010-09-07 | Trellisware Technologies, Inc. | Reduced clash GRA interleavers |
US7624334B2 (en) * | 2005-09-07 | 2009-11-24 | Intel Corporation | Construction and use of shortened EG-LDPC codes |
GB2439986B (en) * | 2006-07-07 | 2008-05-21 | Siemens Ag | Method for generating LDPC codes and apparatus using the LDPC codes |
US8316287B1 (en) | 2006-08-24 | 2012-11-20 | Marvell International Ltd. | Low-density parity check codes for holographic storage |
US8504890B2 (en) * | 2006-12-17 | 2013-08-06 | Ramot At Tel Aviv University Ltd. | Scheduling for LDPC decoding |
JP4674226B2 (ja) * | 2007-08-22 | 2011-04-20 | 日本電信電話株式会社 | 通信路符号化方法及び通信路符号化システム及び階層的通信路符号化プログラム及び階層的通信路復号プログラム |
US8261152B2 (en) * | 2007-09-10 | 2012-09-04 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes |
JP5203717B2 (ja) * | 2007-12-19 | 2013-06-05 | パナソニック株式会社 | 符号器、復号器、符号化方法、及び、復号方法 |
JP4563476B2 (ja) * | 2008-07-09 | 2010-10-13 | パナソニック株式会社 | 符号化器、復号化器及び符号化方法 |
US8166364B2 (en) | 2008-08-04 | 2012-04-24 | Seagate Technology Llc | Low density parity check decoder using multiple variable node degree distribution codes |
JP2010114862A (ja) | 2008-10-10 | 2010-05-20 | Panasonic Corp | 符号化器、送信装置及び符号化方法 |
US8413010B1 (en) | 2009-03-12 | 2013-04-02 | Western Digital Technologies, Inc. | Data storage device employing high quality metrics when decoding logical block address appended to a data sector |
CN111628783A (zh) * | 2019-02-27 | 2020-09-04 | 西南科技大学 | 一种eg-ldpc译码器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) * | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US6567465B2 (en) * | 2001-05-21 | 2003-05-20 | Pc Tel Inc. | DSL modem utilizing low density parity check codes |
US6789227B2 (en) * | 2001-07-05 | 2004-09-07 | International Business Machines Corporation | System and method for generating low density parity check codes using bit-filling |
JP3808769B2 (ja) | 2001-12-27 | 2006-08-16 | 三菱電機株式会社 | Ldpc符号用検査行列生成方法 |
US6757122B1 (en) * | 2002-01-29 | 2004-06-29 | Seagate Technology Llc | Method and decoding apparatus using linear code with parity check matrices composed from circulants |
-
2003
- 2003-02-28 CN CN03804524A patent/CN100592641C/zh not_active Expired - Fee Related
- 2003-02-28 JP JP2003572182A patent/JP3893383B2/ja not_active Expired - Fee Related
- 2003-02-28 US US10/482,815 patent/US7089479B2/en not_active Expired - Fee Related
- 2003-02-28 EP EP03743066A patent/EP1480346A4/en not_active Ceased
- 2003-02-28 WO PCT/JP2003/002331 patent/WO2003073621A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP1480346A4 (en) | 2006-05-10 |
CN100592641C (zh) | 2010-02-24 |
US7089479B2 (en) | 2006-08-08 |
CN1639985A (zh) | 2005-07-13 |
US20040199859A1 (en) | 2004-10-07 |
WO2003073621A1 (fr) | 2003-09-04 |
JPWO2003073621A1 (ja) | 2005-06-23 |
EP1480346A1 (en) | 2004-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3893383B2 (ja) | Ldpc符号用検査行列生成方法および検査行列生成装置 | |
JP3808769B2 (ja) | Ldpc符号用検査行列生成方法 | |
JP4163023B2 (ja) | 検査行列生成方法および検査行列生成装置 | |
JP4005084B2 (ja) | 検査行列生成方法および検査行列生成装置 | |
Johnson | Introducing low-density parity-check codes | |
US8799742B1 (en) | QC-LDPC decoder with list-syndrome decoding | |
US10637510B2 (en) | Methods and devices for error correcting codes decoding | |
JP2008035524A (ja) | 反復確率伝搬を使用して記号ブロックを復号化する装置および方法 | |
WO2004107585A1 (ja) | 復号方法および復号装置、プログラム、記録再生装置および方法、並びに、再生装置および方法 | |
Zhang et al. | Toward low LDPC-code floors: a case study | |
WO2017105291A1 (en) | Generalized quasi-cyclic ldpc convolutional codes for digital communication systems | |
JP4772689B2 (ja) | 検査行列生成方法及び通信方法 | |
Kharel et al. | Improved fountain codes for BI-AWGN channels | |
AU2014208194B2 (en) | Improved method for decoding a correcting code with message passing, in particular for decoding LDPC codes or turbo codes | |
Zikry et al. | Performance Analysis of LDPC Decoding Techniques | |
Pal et al. | Error-Control Coding Algorithms and Architecture for Modern Applications Powered by LDPC Codes and Belief Propagation | |
JP2010028408A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
WO2023218050A1 (en) | Quasi-cyclic ldpc codes based on generalised quadrangles | |
Prasad et al. | Irreducible Polynomials: Non-Binary Fields | |
WO2002037731A2 (en) | Decoding of low density parity check codes | |
Mitchell | Mathematical approach to channel codes with a diagonal matrix structure | |
Narang et al. | imAGE PRoCEssiNG | |
Sun | Non-Binary Protograph-Based LDPC Codes: Analysis, Enumerators and Designs | |
Farrell et al. | Graph decoding of array error-correcting codes | |
Kupimai | A high rate non-binary QC-LDPC codes in high order Galois Field for PR2 and EPR2 channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050322 |
|
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: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061211 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091215 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131215 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |