JPWO2011062111A1 - 誤り訂正符号化方法および装置ならびにそれを用いた通信システム - Google Patents
誤り訂正符号化方法および装置ならびにそれを用いた通信システム Download PDFInfo
- Publication number
- JPWO2011062111A1 JPWO2011062111A1 JP2011541901A JP2011541901A JPWO2011062111A1 JP WO2011062111 A1 JPWO2011062111 A1 JP WO2011062111A1 JP 2011541901 A JP2011541901 A JP 2011541901A JP 2011541901 A JP2011541901 A JP 2011541901A JP WO2011062111 A1 JPWO2011062111 A1 JP WO2011062111A1
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- matrix
- parity check
- row
- check matrix
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 180
- 238000012937 correction Methods 0.000 title claims abstract description 98
- 238000004891 communication Methods 0.000 title claims abstract description 64
- 239000011159 matrix material Substances 0.000 claims abstract description 406
- 239000013598 vector Substances 0.000 claims description 16
- 238000010276 construction Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000009826 distribution Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000008707 rearrangement Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 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
-
- 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/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized 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/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/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1182—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the structure of the parity-check matrix is obtained by reordering of a random parity-check matrix
-
- 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
-
- 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
列重み分布は、LDPC符号の誤り訂正能力に大きく影響するが、最適な列重み分布は密度発展法などから計算することが可能である。
また、パリティ検査行列は、タナーグラフと呼ばれる2部グラフによって表現することが可能であるが、タナーグラフに含まれる最短ループの長さが大きいほど、LDPC符号のエラーフロアは軽減される。
したがって、複数の符号化率のLDPC符号を1つの通信システムに搭載する場合には、符号化率ごとに異なる符号化器や復号器を用意しなければならない。
RC−LDPC符号の設計においては、符号化率の高いLDPC符号のパリティ検査行列が、符号化率の低いパリティ検査行列の部分行列と一致するように構成されることが多いが、2種の符号化率の双方で最適な列重み分布とすることは困難である。
ただし、この手法では、行を1つ分割する(パリティビットを1ビット増やす)ごとに列重み「2」の列を1つ追加するので、可変する2種の符号化率の間で情報系列長kは等しく、符号長は、列を追加した分だけ増加してしまう。
任意の符号長および符号化率で、タナーグラフの最短ループ長が大きいパリティ検査行列を構成することは困難である。
なお、パディングとは、送信時に情報ビットの一部を或る決まった値として、情報系列長kを小さくする技術である。また、パンクチャとは、送信時にパリティビットの一部を送信しないことにより、パリティビット長を小さくする技術である。
また、上記特許文献1による方法によって符号化率を調整することも可能であるが、この場合も符号長が変化してしまう。
LDPC符号の符号化法はいくつか知られており、下三角行列や階段行列を用いる手法も提案されている(たとえば、非特許文献1参照)。
ここでは、上記非特許文献1に記載の下三角行列を用いた符号化について説明する。
下三角行列とは、m×n行列(ただし、m<n)の最も右側にあるm×m部分行列の対角成分がすべて「1」となり、かつ、対角成分よりも上の行の要素がすべて「0」となる行列である。
たとえば、符号語における1番目のパリティビットは、パリティ検査行列の1行目で「1」となっている列に対応する情報ビットに対して、排他的論理和を行えば算出可能である。
ただし、上記非特許文献1に記載されたように、パリティ検査行列の行をベクトルとしたときの行ベクトルが1次独立であれば(つまり、パリティ検査行列の階数と行数とが一致すれば)、パリティ検査行列は、基本行操作と列交換(ガウス消去法)によって下三角行列に変換することが可能である。
基本行操作が行われても、LDPC符号の情報ビットと符号語との対応関係は変化しない。つまり、基本行操作によって変形したパリティ検査行列に基づき符号化しても、基本行操作を行う前のパリティ検査行列に基づいて符号化したのと同じ結果となる。一方、列交換が行われると、情報ビットと符号語との対応関係は崩れてしまう。
また、上記手法を用いてLDPC符号の符号化率を調整する際においても、符号長が変化するという課題があった。
以下、図面を参照しながら、この発明の実施の形態1に係る誤り訂正方法(または、装置)について説明する。
なお、この発明の実施の形態1においては、扱うLDPC符号を組織符号とし、パリティ検査行列をm×n行列としたときに、最も右側のm列がパリティビットに対応するものとする。ただし、このパリティビットの対応位置は、便宜的に設定したものであり、これに限らず、列の対応位置を適切に入れ替えても、この発明と同様の構成が適用可能であることは言うまでもない。
図1において、「行分割」とは、パリティ検査行列の1つの行(1点鎖線枠参照)が含む「1」を、新たな2つ以上の行(破線枠参照)に分割して配置し、行数を増加させることによって符号化率を下げる手法である。
このとき、行分割の前後において、(1)符号長(=9)が同一であること、(2)各列の列重み(「1」の数)が同一であること、(3)パリティ検査行列のタナーグラフの内周(girth)が減少しないこと、が特徴である。特に、後者2つの特徴(2)、(3)は、行分割後においても誤り訂正能力が高いことを示している。
そこで、たとえば前述の特許文献1においては、この問題に対処するために、図1の行分割後に、列を新たに追加していたが、列の追加によって符号化率ごとに異なる符号長となっていた。
図2はこの発明の実施の形態1における行分割前後のパリティ検査行列を示す説明図である。
図2で示すように、行分割の前後において、符号長nは同一であり、各列で列重みも同一である。
さらに、以下の符号化行列を用いた符号化法によれば、行分割によって行列の構造が崩れるという第1の問題と、可変する符号化率ごとに異なる符号長となるという第2の問題と、の両方を解決することができる。
図3はこの発明の実施の形態1による符号化行列G2の生成方法を示すフローチャートであり、図4は図3内の各ステップS1〜S6で扱う行列を示す説明図である。なお、この発明の実施の形態1に係る誤り訂正装置は、各ステップS1〜S6を、それぞれ手段に置き換えることにより実現可能である。
続いて、行分割前(下三角化の操作を行う前)のパリティ検査行列H1に対して、ステップS1の列交換を行い、パリティ検査行列H1の列の並び順を、符号化行列G1の列の並び順と一致させる(ステップS2)。
ただし、ステップS3の行分割は、行分割後のパリティ検査行列H2の各行ベクトルが1次独立となるように行われる。この条件を満たせば、分割前のパリティ検査行列H1の行のうち、どの何行を分割するかに制限はなく、また、1つの行をいくつの行に分割してもよい。
また、行分割の他の例として、行分割後の各行の行重みが、可能な限り「2の累乗」の数になるよう分割する方法もある。この方法によれば、誤り訂正回路のメモリ量や回路規模の削減を計ることが可能となる。
例として、ランダムに配分する方法や、行分割を施す行に属する「1」のうち最も列番号の小さいものから順に1つずつ行分割後の行に順番に配置していく配分の仕方がある。
たとえば、パリティ検査行列H1の1つの行のみに行分割を施して、q行に分割した場合、q行のうち任意の1行を除いた「q−1」行を符号化行列G1に付加する。
また、パリティ検査行列H1の行のうち、2行以上を行分割した場合も同様に、各行分割で生じた行のうちの任意の1行を除いたすべての行を、それぞれ符号化行列G1に付加する。
このとき、図4に示すように、行列Aの下側m行は、符号化行列G1であって既に下三角化されているので、ステップS4で付加した上側r行のみに対して基本行操作を行い、また必要であれば、行列Aの全体に対して列交換を行う。
まず、基本行操作を行う際、ステップS4で付加した行と下側m行との間では、行交換を行わないものとする。つまり、行交換は、ステップS4で付加したr行の行同士のみで行われる。ただし、ステップS4で付加した行に対し、下側m行に属す行を加算する(要素ごとの排他的論理和を行う)操作は、行うものとする。
以上の制限を加えたとしても、パリティ検査行列H2の各行ベクトルが1次独立であるならば、行列Aを下三角化することは可能である。
また、符号化行列G2の各行は、行分割後のパリティ検査行列H2に対して、基本行操作および列交換して得られる行列なので、符号化行列G2は、列交換後のパリティ検査行列H2に対応した符号化行列である。
一方、行分割後のLDPC符号を用いる場合には、符号化行列G2のすべての行を用いて符号化を行い、復号においては、列交換後のパリティ検査行列H2’を用いれば可能である。
この場合、図3、図4内のステップS6の列交換は、パリティ検査行列H1、H2のいずれか一方(復号演算部で記憶する方)のみに対して行えばよい。
行分割工程は、行分割後のパリティ検査行列H2の各行に含まれる非ゼロ要素の数が、行によって偏った数とならないように、行分割を行う。
また、行分割工程は、行分割後のパリティ検査行列H2の各行をベクトルとしてみたときに、ベクトルが1次独立の関係となるように行分割を行う。
符号化工程は、複数のLDPC符号のうち最も符号化率(行数)の大きい最大LDPC符号に対応する符号化行列G1のみを用意し、最大LDPC符号以外のLDPC符号を符号化する際に、最大LDPC符号に対応する符号化行列G1の部分行列に基づいて符号化を行う。
最大LDPC符号に対応する符号化行列G1は、下三角の構造を有する。
符号化行列生成工程は、複数のLDPC符号のうち最も符号化率の小さい最小LDPC符号のパリティ検査行列を下三角化する第1の下三角化工程(ステップS1)と、第1の下三角化工程(ステップS1)の際に行われた列交換を、複数のLDPC符号のパリティ検査行列H1に施す第1の列交換工程(ステップS2)と、を備えている。
また、符号構成工程は、1つのパリティ検査行列H1に新たな行を追加して、新たなパリティ検査行列を生成することにより、1つのパリティ検査行列H1のLDPC符号よりも符号化率の大きいLDPC符号を構成する。
また、この発明の実施の形態1を通信システムに適用した場合、2種の符号化率のLDPC符号に対応した通信システムにおいて、2種の符号化率における符号長を一定とすることができる。
さらに、列重み分布は、2種の符号化率で等しく、行分割前のパリティ検査行列H1の列重み分布が最適値であれば、2種の符号化率の双方で高い誤り訂正能力となる。
これにより、自由度が高く、行分割によって増加行数を設定できるので、幅広い符号化率を可変にすることができる。
これにより、符号長nを変えずに、情報系列長kとパリティビット長とを1ビット単位で調整し、フレームフォーマットに合致させることが可能である。
たとえば、LDPC符号を用いて連接符号を構成する際に、フレームフォーマットの要求によって、連接符号全体で用いるパリティビット長が定まってはいるものの、連接符号を構成する各誤り訂正符号の符号化率が定まっていない場合に、上記手法によってLDPC符号の符号化率を1ビット単位で調整することができる。
つまり、パリティ検査行列H1のどの列に対応するビットかによって、誤りやすさが異なっているので、上記のように行分割工程を行うと、パリティ検査行列が変化することから、残留ビット誤りの発生しやすい列(符号語におけるビット位置)が変化してしまう可能性がある。
たとえば、ランダムな順序で並び替えを行えば、上記問題による影響は小さくなる。ただし、このとき、パリティ検査行列H2と符号化行列G2とに対して同一の並び替えを行う必要がある。
なお、上記実施の形態1(図1〜図4)では、パリティ検査行列H1を行分割してパリティ検査行列H2を生成したが、行分割に代えて行結合を用いてもよい。
この場合、前述の行分割工程に代えて、1つのパリティ検査行列に基づいて2つ以上の行を結合する行結合工程が用いられる。
すなわち、パリティ検査行列H2に行結合を施し、パリティ検査行列H2の行数を減少させたパリティ検査行列H1を生成した場合においても、前述(図3)の符号化行列G2の生成方法により、符号化行列G2を生成することができる。
また、ステップS3においては、パリティ検査行列H1を生成する際の行結合とは全く逆の行分割を行うものと見なし、行の配置を上記の通りにしたパリティ検査行列H2を生成する。
その後のステップS4〜S6は、前述(図3)の通りに行えばよい。
たとえば、ランダムな順序で並び替えを行えば、上記問題による影響は小さくなる。ただし、このとき、パリティ検査行列H2と符号化行列G2とに対して同一の並び替えを行う必要がある。
なお、上記実施の形態1(図1〜図4)では、パリティ検査行列H1と、パリティ検査行列H1を行分割したパリティ検査行列H2と、の2種類の符号化率に対応する符号化行列G2を生成したが、パリティ検査行列H2をさらに行分割して生成したパリティ検査行列H3(図5参照)に対して、符号化行列G3(図6参照)を生成し、さらに、図7のように、同様の操作を繰り返して、c(≧3)種類の符号化率(c−1回の行分割)に対応した符号化行列Gcおよびパリティ検査行列Hcを生成してもよい。
また、図7はこの発明の実施の形態3による符号化行列G3の生成方法を示すフローチャートである。
ただし、ここでは、前述(図3)の符号化行列G2の生成方法によって既に符号化行列G2が得られているものとし、さらに、符号化行列G2に対応した列交換が施されたパリティ検査行列H1、H2が得られているものとする。
同様に、図6において、符号化行列G3(3種類の符号化率に対応)は、行分割1回目に対応した符号化行列G2に対して、さらにri(i=3)分だけ行数が増加している。
最終のループ処理(ステップS15)は、ステップS11〜S14の処理を繰り返し行うためのものであり、ステップS14が終了するごとに、ステップS10の処理に復帰させる。
なお、以下の説明において、行列H(i−1)は、行列Hs(s=i−1)を表すものとする。
ステップS11の行分割は、前述の実施の形態1と同様に、パリティ検査行列Hiに属する各行ベクトルが1次独立となるように行われる。
ステップS12においては、前述の実施の形態1で述べたように、各行分割で生じた行のうち、1行を除いたすべての行をそれぞれ付加する。
次に、前述の実施の形態1の場合と同様の制限下で下三角化を行い、図6に示すように、符号化行列Giを生成する(ステップS13)。
以上のステップS11〜S14(前述のステップS3〜S6に対応)は、ステップS13(前述のステップS5に対応)の処理が、最も符号化率(行数)の大きいLDPC符号のパリティ検査行列に対して行われるまで、繰り返し行われる。
なぜなら、各ループにおいて、パリティ検査行列Hiのみに対して列交換していけば、パリティ検査行列Hcを得ることができるからである。
さらに、列重み分布は、可変設定される符号化率のすべてにおいて等しいので、パリティ検査行列H1の列重み分布が最適値であれば、可変される符号化率のすべてにおいて、高い誤り訂正能力を達成することができる。
なお、上記実施の形態1〜3(図1〜図7)では、誤り訂正方法(または、装置)における符号化行列Gの生成方法(または、装置)を示したが、図8に示すように、誤り訂正方法(または、装置)を用いて、通信システムを構成してもよい。
受信側装置は、変調器200から受信した変調信号を復調する復調器400と、復調器400からの復調信号に基づいて誤り訂正符号の復号を行う復号器500とを備えている。
変調器200は、符号語にしたがって変調を行い、通信方式に応じて、電波、光または電気信号を生成し、変調信号として送信する。
復調器400は、受信した変調信号を復調し、復調信号を復号器500に入力する。
復号器500は、復号した結果を、送信情報となる推定ビット列として出力する。
図9において、符号化器100は、LDPC符号の符号化率を切り換える符号化率切換器101と、送信ビット列が入力される入力回路102と、入力回路102を介した入力信号を符号化する符号化回路103と、入力信号を選択するセレクタ104と、セレクタ104を介した入力信号を符号化する符号化回路105と、符号化回路105の出力信号を制御して符号語を生成する出力回路106と、各種情報を記憶するメモリ107とを備えている。
また、符号化率切換器101は、2種の情報系列長(kビット、「k−r」ビット)に対応した2種の符号化率(「k/n」、「(k−r)/n」)の切り換えが可能に構成されている。
なお、通信システムで使用する符号化率は、あらかじめ設定されるか、受信側装置と同期しながら自動的に設定されるか、外部の切り換えスイッチ(図示せず)などにより手動で切り換えられるか、または、その他の任意手段によって決定される。
このとき、符号化回路103で生成されるのは、図4内の符号化行列G2の第1行から第r行に基づいて計算されるパリティビットである。つまり、行分割によって増加されたr行と、入力された「k−r」ビットの送信ビット列とを用いて、rビットのパリティビット列を生成する。
符号化行列G2の下側「n−k」行は、元のパリティ検査行列H1と行分割後のパリティ検査行列H2との双方に対応しているので、両方の符号化率で共有可能となる。
符号化回路105は、生成した「n−k」ビットを入力ビット列に結合し、最終的なnビットのビット列を出力回路106に入力する。
なお、上記説明では、入力回路102および出力回路106のみにおいてメモリ107を用いたが、通信システムの仕様に合わせて、それ以外の部分で用いてもよい。
これにより、上述した通り、符号化器100内の最も出力側の符号化回路105を2種の符号化率(「k/n」、「(k−r)/n」)のLDPC符号で共有化可能なので、回路規模を削減することができる。
なお、上記実施の形態4(図8、図9)では、2種の符号化率を可変設定する符号化器100を用いたが、図10に示すように、3種の符号化率を可変設定する符号化器100Aを用いてもよい。
また、図10内の符号化器100A、符号化率切換器101Aおよび入力回路102Aは、前述(図9)の符号化器100、符号化率切換器101および入力回路102に対応している。
セレクタ109は、入力回路102Aと符号化回路103との間に挿入されており、符号化回路108は、入力回路102Aとセレクタ109との間に挿入されている。
符号化回路108は、入力されたビット列にriビットのパリティビットを追加して、riビットのビット列をセレクタ109に入力する。このとき、符号化回路108で追加されるパリティビットは、図6内の符号化行列G3の上側ri行に基づいて算出される。
すなわち、セレクタ109は、2回行分割したLDPC符号を用いる場合には、符号化回路108からのビット列(k−rビット)を選択して符号化回路103に入力し、1回行分割したLDPC符号を用いる場合には、入力回路102Aからのビット列(k−rビット)を選択して符号化回路103に入力する。
以下、前述の実施の形態3(図9)と同様に、符号化回路103〜出力回路106により、符号化器100Aの出力信号(符号語)が生成されて変調器200に入力される。
なお、上記実施の形態1〜3(図1〜図7)では、基本となるパリティ検査行列と、行分割により生成したパリティ検査行列との間で、符号化行列を共通化する符号化行列生成方法を適用した誤り訂正方法(または、装置)を示したが、他の場合においても、同様の符号化行列生成方法は構成可能である。
この発明の実施の形態6においては、列数の等しい2つのパリティ検査行列H1、H2の一方が、他方のパリティ検査行列の部分行列となっている場合に、前述と同様の符号化行列生成方法を適用するものとする。
この発明の実施の形態6においては、前述の実施の形態1のように、2つのLDPC符号で共有化可能な符号化行列G2の生成方法を示す。
なお、図11内のステップS21〜S25は、概して、前述(図3参照)のステップS1、S2、S4〜S6に対応している。
続いて、パリティ検査行列H2に対しても、ステップS21の列交換を施す(ステップS21)。
ここで行う基本行操作および列交換は、前述(図3、図4)のステップS5と同様の制限下で行われる。すなわち、行交換は、ステップS24で付加した行と符号化行列G1との間で行わず、列交換は、既に下側m行が下三角行列となっている部分(右側のm列)に対しては行わない、ものとする。
ただし、復号方法(および装置)において、パリティ検査行列H2のみを記憶し、パリティ検査行列H2のどの部分行列がパリティ検査行列H1となるかの情報を記憶するように構成すれば、ステップS25の列交換処理は、パリティ検査行列H2のみに対して行えばよい。
すなわち、あらかじめ、列および行の並びを変更して2つのパリティ検査行列H1、H2が部分行列の関係となるようにしておき、上記方法で符号化行列を生成すればよい。なお、行や列の並びを変更しても、誤り訂正能力への影響はほとんど生じない。
また、この発明の実施の形態6に係る誤り訂正方法(または、装置)を可変符号化率の通信システムに適用すれば、前述と同様に、符号化演算または符号化器の記憶領域や演算量を小さくすることができる。
さらに、この発明の実施の形態6によれば、可変する符号化率のLDPC符号において、符号長をすべて同一とすることができる。
また、上記手法を用いてLDPC符号の符号化率を調整する際においても、符号長が変化するという課題があった。
以下、図面を参照しながら、この発明の実施の形態1に係る誤り訂正符号化方法(または、装置)について説明する。
なお、この発明の実施の形態1においては、扱うLDPC符号を組織符号とし、パリティ検査行列をm×n行列としたときに、最も右側のm列がパリティビットに対応するものとする。ただし、このパリティビットの対応位置は、便宜的に設定したものであり、これに限らず、列の対応位置を適切に入れ替えても、この発明と同様の構成が適用可能であることは言うまでもない。
図3はこの発明の実施の形態1による符号化行列G2の生成方法を示すフローチャートであり、図4は図3内の各ステップS1〜S6で扱う行列を示す説明図である。なお、この発明の実施の形態1に係る誤り訂正符号化装置は、各ステップS1〜S6を、それぞれ手段に置き換えることにより実現可能である。
一方、行分割後のLDPC符号を用いる場合には、符号化行列G2のすべての行を用いて符号化を行い、復号においては、列交換後のパリティ検査行列H2’を用いれば可能である。
行分割工程は、行分割後のパリティ検査行列H2の各行に含まれる非ゼロ要素の数が、行によって偏った数とならないように、行分割を行う。
符号化工程は、複数のLDPC符号のうち最も符号化率(行数)の大きい最大LDPC符号に対応する符号化行列G1のみを用意し、最大LDPC符号以外のLDPC符号を符号化する際に、最大LDPC符号に対応する符号化行列G1の部分行列に基づいて符号化を行う。
最大LDPC符号に対応する符号化行列G1は、下三角の構造を有する。
また、この発明の実施の形態1を通信システムに適用した場合、2種の符号化率のLDPC符号に対応した通信システムにおいて、2種の符号化率における符号長を一定とすることができる。
ただし、ここでは、前述(図3)の符号化行列G2の生成方法によって既に符号化行列G2が得られているものとし、さらに、符号化行列G2に対応した列交換が施されたパリティ検査行列H1、H2が得られているものとする。
なお、上記実施の形態1〜3(図1〜図7)では、誤り訂正符号化方法(または、装置)における符号化行列Gの生成方法(または、装置)を示したが、図8に示すように、誤り訂正符号化方法(または、装置)を用いて、通信システムを構成してもよい。
また、図10内の符号化器100A、符号化率切換器101Aおよび入力回路102Aは、前述(図9)の符号化器100、符号化率切換器101および入力回路102に対応している。
なお、上記実施の形態1〜3(図1〜図7)では、基本となるパリティ検査行列と、行分割により生成したパリティ検査行列との間で、符号化行列を共通化する符号化行列生成方法を適用した誤り訂正符号化方法(または、装置)を示したが、他の場合においても、同様の符号化行列生成方法は構成可能である。
この発明の実施の形態6においては、列数の等しい2つのパリティ検査行列H1、H2の一方が、他方のパリティ検査行列の部分行列となっている場合に、前述と同様の符号化行列生成方法を適用するものとする。
また、この発明の実施の形態6に係る誤り訂正符号化方法(または、装置)を可変符号化率の通信システムに適用すれば、前述と同様に、符号化演算または符号化器の記憶領域や演算量を小さくすることができる。
Claims (15)
- 1つのパリティ検査行列に基づいて、一部またはすべての行を2つ以上ごとの行に分割する行分割工程と、
任意の符号化率の複数のLDPC符号を構成する符号構成工程と
を備えた誤り訂正方法。 - 前記行分割工程は、
行分割後のパリティ検査行列の各行に含まれる非ゼロ要素の数が、行によって偏った数とならないように、行分割を行うことを特徴とする請求項1に記載の誤り訂正方法。 - 前記行分割工程は、
行分割後のパリティ検査行列において、可能な限り多くの行が2の累乗数個の非ゼロ要素を含むように、行分割を行うことを特徴とする請求項1に記載の誤り訂正方法。 - 前記行分割工程は、
行分割後のパリティ検査行列の各行をベクトルとしてみたときに、前記ベクトルが1次独立の関係となるように行分割を行うことを特徴とする請求項1に記載の誤り訂正方法。 - 符号長が等しく符号化率が異なる複数のLDPC符号のそれぞれを符号化する符号化工程を備え、
前記符号化工程は、
前記複数のLDPC符号のうち最も符号化率の大きい最大LDPC符号に対応する符号化行列のみを用意し、
前記最大LDPC符号以外のLDPC符号を符号化する際に、前記最大LDPC符号に対応する符号化行列の部分行列に基づいて符号化を行うことを特徴とする請求項1に記載の誤り訂正方法。 - 前記最大LDPC符号に対応する符号化行列は、下三角の構造を有することを特徴とする請求項5に記載の誤り訂正方法。
- 前記符号化工程は、前記最大LDPC符号に対応した符号化行列を生成する符号化行列生成工程を含み、
前記符号化行列生成工程は、
前記複数のLDPC符号のうち最も符号化率の小さい最小LDPC符号のパリティ検査行列を下三角化する第1の下三角化工程と、
前記第1の下三角化工程の際に行われた列交換を、前記複数のLDPC符号のパリティ検査行列に施す第1の列交換工程と、
前記複数のLDPC符号のうち既に第1の下三角化が行われた最小LDPC符号の次に符号化率が小さい準最小LDPC符号のパリティ検査行列の一部の行を、前記第1の下三角化が既に行われた行列の最も上の行から追加する行追加工程と、
前記行追加工程により行が追加された行列に対し、追加された行以外が有する下三角構造を壊さずに行列全体を下三角化する第2の下三角化工程と、
前記第2の下三角化工程の際に行われた列交換を、前記複数のLDPC符号のパリティ検査行列に施す第2の列交換工程と、
を含むことを特徴とする請求項5に記載の誤り訂正方法。 - 前記符号化行列生成工程は、
前記第2の下三角化工程が、前記最大LDPC符号のパリティ検査行列に対して行われるまで、前記行追加工程、前記第1の下三角化工程、第1の列交換工程、前記行追加工程、前記第2の下三角化工程、および第2の列交換工程を繰り返し行う繰り返し工程を含むことを特徴とする請求項7に記載の誤り訂正方法。 - 前記符号構成工程は、
前記1つのパリティ検査行列の部分行列を抜き出して、新たなパリティ検査行列を生成することにより、前記1つのパリティ検査行列のLDPC符号よりも符号化率の小さいLDPC符号を構成することを特徴とする請求項5に記載の誤り訂正方法。 - 前記符号構成工程は、
前記1つのパリティ検査行列に新たな行を追加して、新たなパリティ検査行列を生成することにより、前記1つのパリティ検査行列のLDPC符号よりも符号化率の大きいLDPC符号を構成することを特徴とする請求項5に記載の誤り訂正方法。 - 1つのパリティ検査行列に基づいて2つ以上の行を結合する行結合工程と、
任意の符号化率の複数のLDPC符号を構成する符号構成工程と
を備えた誤り訂正方法。 - 請求項1から請求項11までのいずれか1項に記載の誤り訂正方法を用いた通信システムであって、前記複数のLDPC符号を切り換え可能に構成されたことを特徴とする通信システム。
- 1つのパリティ検査行列に基づいて、一部またはすべての行を2つ以上ごとの行に分割する行分割手段と、
任意の符号化率の複数のLDPC符号を構成する符号構成手段と、
前記符号構成手段によって生成された符号長が等しく符号化率が異なる複数のLDPC符号のそれぞれを符号化する符号化手段と
を備えた誤り訂正装置であって、
前記符号化手段は、
前記複数のLDPC符号のうち最も符号化率の大きい最大LDPC符号に対応する符号化行列のみを有し、
前記最大LDPC符号以外のLDPC符号を符号化する際には、前記最大LDPC符号に対応する符号化行列の部分行列に基づいて、符号化を行うことを特徴とする誤り訂正装置。 - 前記符号化手段は、
前記最大LDPC符号に対応した符号化行列に基づく最大符号化手段と、
前記複数のLDPC符号から1つを選択する符号化率選択手段と、
前記符号化行列から、前記符号化率選択手段で選択したLDPC符号に対応する部分行列を選択する部分行列選択手段と、
前記最大符号化手段のうち前記部分行列選択手段で選択された部分行列に基づく部分のみを用いて符号化を行う部分行列符号化手段と
を含むことを特徴とする請求項13に記載の誤り訂正装置。 - 請求項13または請求項14に記載の誤り訂正装置を用いた通信システムであって、前記複数のLDPC符号を切り換え可能に構成されたことを特徴とする通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011541901A JP5442024B2 (ja) | 2009-11-17 | 2010-11-11 | 誤り訂正符号化方法および装置ならびにそれを用いた通信システム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009262332 | 2009-11-17 | ||
JP2009262332 | 2009-11-17 | ||
JP2011541901A JP5442024B2 (ja) | 2009-11-17 | 2010-11-11 | 誤り訂正符号化方法および装置ならびにそれを用いた通信システム |
PCT/JP2010/070118 WO2011062111A1 (ja) | 2009-11-17 | 2010-11-11 | 誤り訂正方法および装置ならびにそれを用いた通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011062111A1 true JPWO2011062111A1 (ja) | 2013-04-04 |
JP5442024B2 JP5442024B2 (ja) | 2014-03-12 |
Family
ID=44059590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011541901A Active JP5442024B2 (ja) | 2009-11-17 | 2010-11-11 | 誤り訂正符号化方法および装置ならびにそれを用いた通信システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US8631299B2 (ja) |
EP (1) | EP2503698B1 (ja) |
JP (1) | JP5442024B2 (ja) |
CN (1) | CN102612806B (ja) |
WO (1) | WO2011062111A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5523064B2 (ja) * | 2009-11-13 | 2014-06-18 | 三菱電機株式会社 | 復号装置及び方法 |
JP5485069B2 (ja) * | 2010-08-06 | 2014-05-07 | パナソニック株式会社 | 誤り訂正復号装置及び誤り訂正復号方法 |
US8839069B2 (en) * | 2011-04-08 | 2014-09-16 | Micron Technology, Inc. | Encoding and decoding techniques using low-density parity check codes |
EP2717479B1 (en) * | 2011-05-31 | 2018-12-26 | Mitsubishi Electric Corporation | Error correction coding device, error correction decoding device and method therefor |
US8751906B2 (en) * | 2011-06-13 | 2014-06-10 | Marvell World Trade Ltd. | Systems and methods for operating on a storage device using a life-cycle dependent coding scheme |
KR101922990B1 (ko) | 2011-11-11 | 2018-11-28 | 삼성전자주식회사 | 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법 |
US9154261B2 (en) * | 2013-01-16 | 2015-10-06 | Broadcom Corporation | Low density parity check (LDPC) coding in communication systems |
US9178653B2 (en) * | 2013-01-16 | 2015-11-03 | Broadcom Corporation | Very short size LDPC coding for physical and/or control channel signaling |
US9003257B1 (en) * | 2013-09-19 | 2015-04-07 | U-Blox Ag | Low density parity check encoder and encoding method |
JP5792256B2 (ja) | 2013-10-22 | 2015-10-07 | 日本電信電話株式会社 | 疎グラフ作成装置及び疎グラフ作成方法 |
WO2015133288A1 (ja) * | 2014-03-04 | 2015-09-11 | 三菱電機株式会社 | Fecフレーム処理装置およびfecフレーム処理方法 |
US9800266B2 (en) * | 2014-08-14 | 2017-10-24 | Electronics And Telecommunications Research Institute | Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same |
US9432052B2 (en) * | 2014-09-18 | 2016-08-30 | Broadcom Corporation | Puncture-aware low density parity check (LDPC) decoding |
CN105811996B (zh) | 2014-12-30 | 2019-12-06 | 华为技术有限公司 | 一种基于准循环ldpc的数据处理方法及系统 |
US9722633B2 (en) * | 2015-02-11 | 2017-08-01 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for reliable data communications with adaptive multi-dimensional modulations for variable-iteration decoding |
WO2017082750A1 (en) * | 2015-11-10 | 2017-05-18 | Huawei Technologies Co., Ltd. | Method and apparatus for encoding data for storage |
EP3264610A1 (en) * | 2016-06-27 | 2018-01-03 | Alcatel Lucent | Forward error correction with variable coding rate |
US10509603B2 (en) | 2016-07-29 | 2019-12-17 | Western Digital Technologies, Inc. | Hierarchical variable code rate error correction coding |
EP3477865B1 (en) * | 2016-08-19 | 2021-07-28 | Huawei Technologies Co., Ltd. | Basis matrix generating method, coding/decoding method and apparatus for ldpc codes |
JP2018098774A (ja) * | 2016-12-14 | 2018-06-21 | 日本放送協会 | 送信装置、受信装置及びチップ |
WO2019013663A1 (en) * | 2017-07-13 | 2019-01-17 | Huawei Technologies Co., Ltd | GENERAL LOW DENSITY PARITY CHECK CODES (GLDPC) |
WO2019229846A1 (ja) * | 2018-05-29 | 2019-12-05 | 三菱電機株式会社 | 送信機、受信機、通信システム、および符号化率の変更方法 |
US11016844B2 (en) * | 2019-03-15 | 2021-05-25 | Toshiba Memory Corporation | Error correction code structure |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895547B2 (en) | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
JP4601675B2 (ja) | 2006-02-09 | 2010-12-22 | 富士通株式会社 | Ldpc検査行列生成方法及び検査行列生成器並びに符号再送方法 |
KR20080102902A (ko) | 2007-05-22 | 2008-11-26 | 삼성전자주식회사 | 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체 |
JP4858335B2 (ja) | 2007-07-10 | 2012-01-18 | ソニー株式会社 | 符号化方法および符号化装置 |
JP4856608B2 (ja) * | 2007-09-07 | 2012-01-18 | 日本放送協会 | 送信装置及び受信装置、並びに送信方法 |
JP4645645B2 (ja) * | 2007-12-28 | 2011-03-09 | 住友電気工業株式会社 | 復号装置及び検査行列生成方法 |
US8433971B2 (en) * | 2009-04-29 | 2013-04-30 | Broadcom Corporation | Communication device architecture for in-place constructed LDPC (low density parity check) code |
-
2010
- 2010-11-11 CN CN201080051934.8A patent/CN102612806B/zh active Active
- 2010-11-11 EP EP10831506.0A patent/EP2503698B1/en active Active
- 2010-11-11 US US13/502,420 patent/US8631299B2/en active Active
- 2010-11-11 JP JP2011541901A patent/JP5442024B2/ja active Active
- 2010-11-11 WO PCT/JP2010/070118 patent/WO2011062111A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2503698B1 (en) | 2018-02-14 |
CN102612806A (zh) | 2012-07-25 |
WO2011062111A1 (ja) | 2011-05-26 |
US20120210189A1 (en) | 2012-08-16 |
US8631299B2 (en) | 2014-01-14 |
CN102612806B (zh) | 2015-01-28 |
EP2503698A1 (en) | 2012-09-26 |
EP2503698A4 (en) | 2013-06-26 |
JP5442024B2 (ja) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5442024B2 (ja) | 誤り訂正符号化方法および装置ならびにそれを用いた通信システム | |
JP4602418B2 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
CN101073205B (zh) | 低密度奇偶校验编码器和解码器以及低密度奇偶校验编码和解码方法 | |
US7992066B2 (en) | Method of encoding and decoding using low density parity check matrix | |
KR20210064163A (ko) | 길이가 64800이며, 부호율이 7/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
US8826096B2 (en) | Method of decoding LDPC code for producing several different decoders using parity-check matrix of LDPC code and LDPC code system including the same | |
US8689093B2 (en) | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code | |
KR20210064162A (ko) | 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
CN101888251B (zh) | 纠错编码方法及其装置、纠错译码方法及其装置 | |
KR20210097680A (ko) | 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
KR102240741B1 (ko) | 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
JP4836884B2 (ja) | 誤り訂正符号化装置および方法ならびにデジタル伝送システム | |
KR20210098896A (ko) | 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
KR20210098414A (ko) | 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
KR20210097684A (ko) | 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
JP2008526086A (ja) | チャネルコードを用いた復号化装置及び方法 | |
US20100050045A1 (en) | Method of generating a parity check matrix for ldpc encoding and decoding | |
KR102240736B1 (ko) | 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 | |
KR20120100086A (ko) | 통신 및 방송시스템에서 송수신 방법 및 장치 | |
JP5523064B2 (ja) | 復号装置及び方法 | |
KR20220110712A (ko) | 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 4096-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법 | |
KR20120088369A (ko) | 방송 및 통신시스템에서 송?수신 방법 및 장치 | |
DK2495879T3 (en) | Channel coding method with variable length information using a (32, 11) -blokkode | |
US20190222230A1 (en) | Systems and methods for an efficiently routable low-density parity-check (ldpc) decoder | |
KR20210042074A (ko) | 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130820 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131010 |
|
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: 20131119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5442024 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |