JP2007503755A - 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法 - Google Patents

移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法 Download PDF

Info

Publication number
JP2007503755A
JP2007503755A JP2006524576A JP2006524576A JP2007503755A JP 2007503755 A JP2007503755 A JP 2007503755A JP 2006524576 A JP2006524576 A JP 2006524576A JP 2006524576 A JP2006524576 A JP 2006524576A JP 2007503755 A JP2007503755 A JP 2007503755A
Authority
JP
Japan
Prior art keywords
matrix
block
parity
partial
permutation
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
JP2006524576A
Other languages
English (en)
Other versions
JP4160617B2 (ja
Inventor
ギュ−ブン・キュン
ホン−シル・ジェオン
ジェ−ヨル・キム
スン−ウン・パク
キョン−チョル・ヤン
セ−ホ・ミュング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007503755A publication Critical patent/JP2007503755A/ja
Application granted granted Critical
Publication of JP4160617B2 publication Critical patent/JP4160617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array 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
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary 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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes

Abstract

本発明は、情報語を前記ブロックLDPC符号で符号化するときに適用される符号化率と、符号語長に基づいてパリティ検査行列のサイズを決定する段階と、決定されたサイズのパリティ検査行列を予め定められた設定個数のブロックに分割する段階と、ブロックを情報部分に対応するブロックと、第1のパリティ部分に対応するブロックと、第2のパリティ部分に対応するブロックに分類する段階と、前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形態で順列行列を配列する段階と、情報部分に分類されたブロックにブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値が不均一にするように順列行列を配列する段階とを有するパリティ検査行列を生成する方法を提供する。

Description

本発明は移動通信システムに関するもので、特に、ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法に関するものである。
1970年代末の米国で、セルラー(cellular)方式の無線移動通信システム(Mobile Telecommunication System)が開発された以来、韓国ではアナログ方式の1世代(1st Generation)移動通信システムと呼ばれるAMPS(Advanced Mobile Phone Service)方式で音声通信サービスを提供し始めた。以後、1990年代中盤から韓国では、2世代移動通信システムとして符号分割多重接続(Code Division Multiple Access:以下、“CDMA”とする)方式のシステムを商用化して音声及び低速データサービスを提供した。
1990年代末から向上した無線マルチメディアサービス、全世界的ローミング(roaming)、高速データサービスなどを目標で始まった3世代移動通信システムであるIMT(International Mobile Telecommunication)-2000は、現在一部商用化されてサービスが提供されている。特に、3世代移動通信システムは、移動通信システムでサービスするデータ量が急速に増加するに従って、より高速のデータを伝送するために開発された。すなわち、3世代移動通信システムは、パケットサービス通信システム形態で発展してきている。パケットサービス通信システムは、バースト(burst)パケットデータを複数の移動局に伝送するシステムとして、大容量データ伝送に適合するように設計されている。その結果、パケットサービス通信システムは高速パケットサービスのために発展している。
一方、現在は3世代移動通信システムから4世代移動通信システムに発展している状態である。4世代移動通信システムは、以前世代の移動通信システムのように単純な無線通信サービスに限定されず、有線通信ネットワークと無線通信ネットワークとの効率的連動及び統合サービスを目標として標準化されている。したがって、無線通信ネットワークで有線通信ネットワークの容量(capacity)に近接する大容量データを伝送できる技術開発が要求されている。
このように、音声サービスデータだけでなく、映像、無線データなどの多様な情報を処理して伝送できる高速大容量通信システムが要求されることによって、適正なチャンネル符号化方式を用いてシステム伝送効率を高くすることが、システム性能向上に必須的な要素で作用するようになる。しかしながら、移動通信システムは、移動通信システムの特性上、データを伝送するときに、チャンネルの状況により雑音と、干渉(interference)及びフェージング(fading)などによって不回避に誤り(error)が発生する。したがって、誤り発生は、情報データの損失をもたらす。
このような誤り発生による情報データ損失を減少させるために、チャンネルの性格によって多様な誤り制御技術を使用することによって、移動通信システムの信頼度を向上させることができる。誤り制御技術の中で、誤り訂正符号(error-correcting code)を使用する技術が一番普遍的である。ここで、誤り訂正符号の代表的な符号であるターボ符号(turbo code)と、低密度パリティ検査(Low Density Parity Check:以下、“LDPC”とする)符号について説明する。
ターボ符号
ターボ符号は、最近第3世代移動通信システムで注目されている同期方式と非同期方式ですべて使用されている誤り訂正符号である。従来から順方向誤り訂正のために主に利用された畳み込み符号(convolutional code)に比べて、このターボ符号は、高速データ伝送時に性能利得が優れると知られている。また、ターボ符号は、伝送チャンネルで発生する雑音による誤りを效果的に訂正してデータ伝送の信頼度を向上するという長所を有する。
LDPC符号
LDPC符号は、因子(factor)グラフで和積(sum-product)アルゴリズムに基づいた反復復号アルゴリズムを用いて復号することができる。LDPC符号の復号器(decoder)は、和積アルゴリズムに基づいた反復復号アルゴリズムを使用するため、ターボ符号の復号器に比べて低い複雑度を有するだけでなく、並列処理復号器で実現することが容易である。LDPC符号を因子グラフで表現すると、LDPC符号の因子グラフ上にサイクルが存在するようになる。このサイクルが存在するLDPC符号の因子グラフ上の反復復号は、準最適(sub-optimal)とは、既によく知られている事実である。また、LDPC符号は、反復復号を通じて優れた性能を有することも実験的に立証された事実である。しかしながら、LDPC符号の因子グラフで短い長さのサイクルが多く存在する場合には、LDPC符号の性能劣化が発生される。そのため、LDPC符号の因子グラフ上に短い長さのサイクルが存在しないようにLDPC符号を設計するための研究が持続的に遂行されている。
LDPC符号の符号化過程は、一般的に高いウェイト(weight)密度を有する生成行列(generating matrix)の特性により低いウェイト密度を有するパリティ検査行列(parity check matrix)を用いる形態で発展されてきた。ここで、“ウェイト”とは、生成行列及びパリティ検査行列を構成する要素(element)のうち0でない値を有する要素の個数を示す。特に、パリティ検査行列でパリティに該当する部分行列(partial matrix)の形態が規則的な形態を有すると、より効率的な符号化が可能である。
一方、LDPC符号は0でない値を有する多様な符号を含んでいるため、LDPC符号の実用化問題において、多様な形態を有するLDPC符号の効率的な符号化アルゴリズムと効率的な復号アルゴリズムを開発することが非常に重要である。また、LDPC符号のパリティ検査行列は、LDPC符号の性能を決定するため、優れた性能を有するパリティ検査行列を設計することも非常に重要である。すなわち、優れた性能を有する効率的なパリティ検査行列と、効率的な符号化アルゴリズム及び復号アルゴリズムを同時に考慮しなければ、高性能のLDPC符号を生成することが可能になる。
また、LDPC符号は、大部分の要素が0の値を有し、0の値を有する要素以外の極少数の要素が1の値を有するパリティ検査行列によって定義される。例えば、(N,j,k)LDPC符号は、ブロック長Nである線形ブロック符号(linear block code)で、各列(column)ごとにj個の1の値を有する要素と、各行(row)ごとにk個の1の値を有する要素を有し、1の値を有する要素を除いた要素は、すべて0の値を有する要素で構成された疎(sparse)構造のパリティ検査行列によって定義される。
上記に説明したように、パリティ検査行列内の各列のウェイト値がj個に一定で、パリティ検査行列内の各行のウェイト値がk個に一定のLDPC符号を“均一LDPC符号”と称する。一方、パリティ検査行列内の各列のウェイト値と各行のウェイト値が一定しないLDPC符号を“不均一LDPC符号”と称する。一般的に、均一LDPC符号の性能に比べて、不均一LDPC符号の性能がさらに優れると知られている。しかしながら、不均一LDPC符号の場合に、パリティ検査行列内の各列のウェイト値と各行のウェイト値が一定しないため、すなわち、不均一なため、パリティ検査行列内の各列のウェイトの個数と各行のウェイトの個数を適切に調節しなければ、優れた性能の保障を受けることができない。
ここで、図1を参照して、(N,j,k)LDPC符号、一例として(8,2,4)LDPC符号のパリティ検査行列を説明する。
図1は、一般的な(8,2,4)LDPC符号のパリティ検査行列を示す図である。図1を参照すると、(8,2,4)LDPC符号のパリティ検査行列Hは、8個の列と4個の行で構成されており、各列のウェイトの個数は2として均一で、各行のウェイトの個数は4として均一である。このように、パリティ検査行列内の各列のウェイトの個数と各行のウェイトの個数が均一である。したがって、図1に示している(8,2,4)LDPC符号は均一LDPC符号となる。
図1では、(8,2,4)LDPC符号のパリティ検査行列について説明する。その次に、図2を参照して、図1に示した(8,2,4)LDPC符号の因子グラフを説明する。
図2は、図1の(8,2,4)LDPC符号の因子グラフを示す図である。図2を参照すると、(8,2,4)LDPC符号の因子グラフは8個の変数ノード(variable node)、すなわち、x211と、x213と、x215、x217と、x219と、x221と、x223と、x225と、4個の検査ノード227,229,231,233で構成される。(8,2,4)LDPC符号のパリティ検査行列のi番目の行とj番目の列が交差する地点にウェイト、すなわち、1の値を有する要素が存在する場合に、変数ノードxとi番目の検査ノードとの間にブランチ(branch)が形成される。
上述したように、LDPC符号のパリティ検査行列は、非常に少ない個数のウェイトを有するため、比較的長い長さを有するブロック符号でも反復復号を通じて復号が可能で、ブロック符号のブロック長さを継続して増加させると、ターボ符号のようにShannonのチャンネル容量限界に近接する形態の性能を示す。流れ伝送方式を使用するLDPC符号の反復復号過程がターボ符号の反復復号過程にほとんど近接する性能を有する。
一方、高性能のLDPC符号を生成するための条件を説明すると、次のようである。
(1)LDPC符号の因子グラフ上のサイクルを考慮すべきである。
サイクルとは、LDPC符号の因子グラフで変数ノードと検査ノードを接続するエッジが構成するループ(loop)を示すのに、サイクルの長さはループを構成するエッジの個数に定義される。サイクルの長さが長いということは、LDPC符号の因子グラフでループを構成する変数ノードと検査ノードを接続するエッジの個数が多いという意味である。その反対に、サイクルの長さが短いということは、LDPC符号の因子グラフでループを構成する変数ノードと検査ノードを接続するエッジの個数が少ないということを意味する。
LDPC符号の因子グラフ上のサイクルを長く生成するほど、LDPC符号の性能が増加するようになる。その理由は、次のようである。LDPC符号の因子グラフ上のサイクルを長く生成する場合に、LDPC符号の因子グラフ上に短い長さのサイクルが多く存在するときに発生する誤りフロア(error floor)のような性能劣化が発生しないためである。
(2)LDPC符号の効率的な符号化を考慮すべきである。
LDPC符号は、LDPC符号の特性上畳み込み符号やターボ符号に比べて符号化の複雑度が高くてリアルタイム符号化が容易でない。LDPC符号の符号化複雑度を減少するために、反復累積(Repeat Accumulate:RA)符号などが提案された。反復累積符号もLDPC符号の符号化複雑度を低下させるのに限界を有する。したがって、LDPC符号の効率的な符号化を考慮しなければならない。
(3)LDPC符号の因子グラフ上の次数分布を考慮すべきである。
一般的に、不均一LDPC符号が均一LDPC符号より性能が優れる。その理由は、不均一LDPC符号の因子グラフが多様な次数を有するためである。ここで、“次数(degree)”とは、LDPC符号の因子グラフ上で各ノード、すなわち変数ノードと検査ノードに接続されているエッジの個数を示す。また、LDPC符号の因子グラフ上の“次数分布”とは、特定次数を有するノードが全体ノードの中にどのくらい存在するかを示す。特定の次数分布を有するLDPC符号の性能が優れるということは、既に証明したところである。
図3は、一般的なブロックLDPC符号のパリティ検査行列を概略的に示す図である。図3の説明に先立って、ブロックLDPC符号は、効率的な符号化だけでなく効率的なパリティ検査行列の貯蔵及び性能改善をすべて考慮した新たなLDPC符号である。このブロックLDPC符号は、均一LDPC符号の構造を一般化させて拡張した概念のLDPC符号である。図3を参照すると、ブロックLDPC符号のパリティ検査行列は、全体パリティ検査行列を複数の部分ブロックに分割し、部分ブロックの各々に順列行列(permutation matrix)))を対応させる形態を有する。図3に示すように、“P”はNxNサイズを有する順列行列を示し、この順列行列Pの上付き添え字aijは0≦aij≦N-1又はaij=∞を有する。図3において、“P”は部分ブロックの行の個数を、“q”は部分ブロックの列の個数を、それぞれ示す。“i”は、対応する順列行列がパリティ検査行列の部分ブロックのi番目の行に位置することを意味し、“j”は対応する順列行列がパリティ検査行列の部分ブロックのj番目の列に位置することを意味する。すなわち、
Figure 2007503755
は、i番目の行とj番目の列で交差する部分ブロックに位置する順列行列である。
ここで、図4を参照して、上記の順列行列について説明する。
図4に示すように、循列行列PはNxNサイズを有する正方形行列として、循列行列Pを構成するN個の行のウェイトがそれぞれ1で、循環行列Pを構成するN個の行のウェイトもそれぞれ1である行列を示す。
一方、図3で、順列行列の上付き添え字aij=0である場合、すなわち、順列行列Pは単位行列
Figure 2007503755
を示し、順列行列Pの上付き添え字aij=∞である場合、すなわち順列行列Pはゼロ行列を示す。
図3で、ブロックLDPC符号の全体パリティ検査行列は、全体列の個数がNxq(p≦q)で、全体行の個数がNxpであるため、ブロックLDPC符号の全体パリティ検査行列が最大ランク(full rank)を有する場合に、部分ブロックのサイズに関係なく符号化率(coding rate)は、下記の<式1>のようである。
Figure 2007503755
すべてのi、jに対してaij≠∞である場合に、部分ブロックの各々に対応する順列行列は、各々ゼロ行列でないことを示し、部分ブロックの各々に対応する順列行列の各行のウェイトはp、各列のウェイトはqである均一LDPC符号となる。ここで、部分ブロックに対応する順列行列を“部分行列”と称する。
また、全体パリティ検査行列にはp-1個の従属的な(dependent)行が存在するため、符号化率は<式1>で計算した符号化率より高い値を有する。このブロックLDPC符号は、全体パリティ検査行列を構成する部分行列それぞれの1番目の行のウェイト位置が決定されると、残りのN-1個の行のウェイト位置が決定される。したがって、全体パリティ検査行列の情報を貯蔵するために、不規則にウェイトを選択する場合に比べて必要とするメモリのサイズが1/Nに縮小される。
図5は、一般的な均一ブロックLDPC符号のパリティ検査行列を示す図である。
図5に示すようにパリティ検査行列は、均一ブロックLDPC符号、すなわち(s,r)配列(array)符号のパリティ検査行列である。(s,r)配列符号は代表的な均一ブロックLDPC符号として、この(s,r)アレイ符号は、図3でN=sで、q=sで、p=rであるブロックLDPC符号に該当する。ここで、sは奇数である素数であり、rは常にr≦sの条件を満足する。
(s,r)配列符号のパリティ検査行列は、s個の列とrxs個の行を有し、ランクはrx(s-1)となる。ここで、(s,r)配列符号のパリティ検査行列のランクがr(s-1)となる理由は、(s,r)配列符号のパリティ検査行列の行方向へのr個の部分行列は、この部分行列内の各々のp個の行をすべて加算すると、すべての要素が1の値を有する行が生成されるためである。すなわち、すべての要素が1の値を有するr個の行が生成されるため、r個の従属である行が存在することが分かる。したがって、(s,r)配列符号の符号化率Rarrayは、下記の<式2>のように示す。
Figure 2007503755
上記に説明したように、(s,r)配列符号は、その代数的(algebraic)な特性から長さが4のサイクルが因子グラフ上に存在しないことがわかり、またメモリ容量も減少させることができる。
しかしながら、(s,r)配列符号は、均一LDPCブロック符号であるため、不均一LDPC符号に比べては性能劣化が発生する。また、ブロックLDPC符号の場合に、ブロックLDPC符号自体のランダムな性質(randomness)が低いため、優れた性能を保障することができない。つまり、(s,r)配列符号は、効率的な符号化を考慮したものであるが、符号化において複雑度は相変わらず高く、長さ4のサイクルが存在しないが、長さ6のサイクルは存在する。次数分布を考慮しないため、性能面で劣化が発生する。
図6は、一般的な不均一ブロックLDPC符号のパリティ検査行列を示す図である。図6の説明に先立って、不均一ブロックLDPC符号は、図5に説明したように、配列符号を効率的な符号化を考慮して変形した形態のブロックLDPC符号である。図6において、不均一ブロックLDPC符号のパリティ検査行列でk、rはk,r≦sの条件を満たす整数で(但し、sは素数)、Iはsxsサイズの単位行列を示し、0はsxsサイズのゼロ行列を示す。図6に示すように、不均一ブロックLDPC符号のパリティ検査行列は、図3でN=sで、q=kで、p=rのブロックLDPC符号のパリティ検査行列に該当する。
一方、LDPC符号の効率的な符号化のために、図6のように全体パリティ検査行列の中でパリティに該当する部分行列を完全下三角行列で構成して線形時間内で符号化が可能にした。全体パリティ検査行列の構造、すなわち情報語に該当する部分行列と、パリティに該当する部分行列構造は下記で説明するため、ここではその詳細な説明を省略する。このようにパリティに該当する部分行列を完全下三角行列で構成する場合に、パリティ検査行列の構造的な特性によってパリティ検査行列は常に最大ランクを有するようになる。そのため、変形された配列符号、すなわち不均一LDPC符号のブロック長さはksとなり、符号化率Rは下記の<式3>のように示す。
Figure 2007503755
しかしながら、図6のようにパリティに該当する部分行列が完全下三角行列形態を有するパリティ検査 行列を有する不均一LDPC符号は、配列符号に比べては符号化面で一層効率的であるが、LDPC符号の生成時に考慮すべき因子グラフ上の次数分布を考慮せず、また長さの短いサイクルに対する除去もやはり考慮しなかった。そのため、ランダムな特性をを有する不均一LDPC符号に比べては低い誤り訂正能力を有する。したがって、誤り訂正能力を最大化する不均一LDPC符号に対する必要性が増大されている。
したがって、本発明の目的は、移動通信システムで誤り訂正能力を最大化するLDPC符号を符号化/復号化する装置及び方法を提供することにある。
本発明の他の目的は、移動通信システムで最小サイクル長さが最大になるLDPC符号を符号化/復号化する装置及び方法を提供することにある。
また本発明の目的は、移動通信システムで符号化の複雑度が最小化されたLDPC符号を符号化/復号化する装置及び方法を提供することにある。
上記した目的を達成するための方法において、本発明は、ブロック低密度パリティ検査(Low Density Parity Check:LDPC)符号のパリティ検査行列が情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成され、誤り訂正性能を向上させるための前記パリティ検査行列を生成する方法であって、前記情報語を前記ブロックLDPC符号で符号化するときに適用される符号化率と、符号語長に基づいて前記パリティ検査行列のサイズを決定する段階と、前記決定されたサイズのパリティ検査行列を予め定められた個数のブロックに分割する段階と、前記ブロックを前記情報部分に対応するブロックと、前記第1のパリティ部分に対応するブロックと、前記第2のパリティ部分に対応するブロックに分類する段階と、前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、前記第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形態で順列行列を配列する段階と、前記情報部分に分類されたブロックに前記ブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値が不均一になるように前記順列行列を配列する段階と、を有することを特徴とする。
また、本発明は、ブロック低密度パリティ検査(LDPC)符号の復号方法であって、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列を生成し、前記パリティ検査行列に対応してデインタリービング方式及びインタリービング方式を決定する段階と、受信信号の確率値を検出する段階と、前記受信信号の確率値から以前復号時に生成された信号を減算して第1の信号を生成する段階と、前記第1の信号を入力して前記デインタリービング方式でデインタリービングする段階と、前記デインタリービングされた信号を入力して確率値を検出する段階と、前記デインタリービングされた信号の確率値で前記デインタリービングされた信号を減算して第2の信号を生成する段階と、前記第2の信号を前記インタリービング方式でインタリービングし、前記インタリービングされた信号を反復復号する段階と、を含むことを特徴とする。
なお、本発明は、ブロック低密度パリティ検査(LDPC)符号の符号化方法であって、情報語と予め生成されている、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列の第1の部分行列と乗算して第1の信号を生成する段階と、前記情報語と前記パリティ検査行列の第2の部分行列と乗算して第2の信号を生成する段階と、前記第1の信号と、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算して第3の信号を生成する段階と、前記第2の信号と第3の信号を加算して第4の信号を生成する段階と、前記第4の信号と前記パリティ検査行列の第5の部分行列を乗算して第5の信号を生成する段階と、前記第2の信号と前記第5の信号を加算して第6の信号を生成する段階と、前記第6の信号と前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算して第7の信号を生成する段階と、前記情報語と、前記第4の信号を第1のパリティで、前記第7の信号を第2のパリティとし、前記ブロックLDPC符号フォーマットに対応するように多重化して出力する段階と、を有することを特徴とする。
本発明は、パリティ検査行列は、複数の情報部分ブロックと複数のパリティ部分ブロックの行と列の行列形態で配列され、前記パリティ検査行列は前記情報部分ブロックの行列で構成された情報部分と前記パリティ部分ブロックの行列で構成されたパリティ部分に区分され、前記情報部分ブロックの各々は複数の情報ビットを示す行列で構成され、前記パリティ部分ブロックの各々は、複数のパリティビットを示す行列で構成され、前記パリティ検査行列は複数の行に存在する情報部分ブロックとパリティ部分ブロックが各々第1の情報行列と第1のパリティ行列及び第2のパリティ行列に分割され、前記複数の行を除いた残りの行に存在する情報部分ブロックとパリティ部分ブロックが各々第2の情報行列と第3のパリティ行列及び第4のパリティ行列に分割され、前記第1及び第2の情報行列と、第1及び第3のパリティ行列と、第2及び第4のパリティ行列は各々同一の列に配列され、誤り訂正性能を向上させるための前記パリティ検査行列を生成する方法であって、前記第4のパリティ行列と第2のパリティ行列の逆行列と前記第1のパリティ行列の積と前記第3のパリティ行列の和が単位行列になるように設定する段階と、前記第1のパリティ行列と前記第3のパリティ行列に対応する第1のパリティベクトルの転置ベクトルは、前記第4のパリティ行列と前記第2のパリティ行列の逆行列と前記第1の情報行列の積と前記第2の情報行列の和を前記第1の情報行列と前記第2の情報行列に対応する情報ベクトルを乗算した値になるように決定する段階と、前記第2のパリティ行列と第4のパリティ行列に対応する第2のパリティベクトルの転置ベクトルは、前記第2のパリティ行列の逆行列と前記第1の情報行列と前記情報ベクトルの転置ベクトルを乗算した値と前記第1のパリティ行列と前記第1のパリティベクトルの転置ベクトルを乗算した値を加算した値を乗算した値になるように決定する段階と、を有することを特徴とする。
さらに、本発明は、ブロック低密度パリティ検査(LDPC)符号のパリティ検査行列は、複数の部分ブロックの行と列の行列形態で配列され、前記複数の部分ブロック各々にはNxNサイズを有する行列が前記複数の部分ブロックの各々に対応して予め定められた指数だけシフトして生成された順列行列が配列され、誤り訂正性能を向上させるための前記パリティ検査行列を生成する方法であって、前記ブロックLDPC符号のブロックサイクルを任意の第1の値に決定する段階と、前記ブロックサイクルを決定した後に、前記部分ブロックの各々に配列された順列行列の中に、その指数が奇数である順列行列の指数の和から前記部分ブロックの各々に配列された順列行列のうち、その指数が偶数である順列行列の指数の和を減算した値と任意の第2の値を乗算した値になるように前記第2の値を決定し、前記部分ブロックの各々が前記第1の値と第2の値を乗算した値に対応するサイクルを有するように制御する段階と、を有することを特徴とする。
上記の目的を達成するための装置において、本発明は、ブロック低密度パリティ検査(LDPC)符号の復号装置であって、所定の制御により、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列を構成する列のそれぞれのウェイトにより変数ノードを接続して受信信号の確率値を検出して出力する変数ノード復号器と、前記変数ノード復号器から出力された信号から以前復号時に生成された信号を減算して出力する第1の加算器と、前記第1の加算器から出力された信号を入力して前記パリティ検査行列に対応して設定されたデインタリービング方式でデインタリービングして出力するデインタリーバと、所定の制御信号により、前記パリティ検査行列を構成する行のそれぞれのウェイトに対応して検査ノードを接続し、前記デインタリーバからの出力信号の確率値を検出して出力する検査ノード復号器と、前記検査ノード復号器の出力信号から、前記デインタリーバから出力された信号を減算する第2の加算器と、前記第2の加算器から出力された信号を前記パリティ検査行列により設定されたインタリービング方式でインタリービングして前記変数ノード復号器及び前記第1の加算器に出力するインタリーバと、前記パリティ検査行列を生成し、前記デインタリービング方式及びインタリービング方式を前記パリティ検査行列に対応して制御する制御器と、を含むことを特徴とする。
また、本発明は、ブロック低密度パリティ検査(LDPC)符号の符号化装置であって、情報語を入力して予め生成されている、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列の第1の部分行列と乗算する第1の行列乗算器と、前記情報語を入力して前記パリティ検査行列の第2の部分行列と乗算する第2の行列乗算器と、前記第1の行列乗算器から出力された信号と、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算する第3の行列乗算器と、前記第2の行列乗算器から出力された信号と第3の行列乗算器から出力された信号とを加算する第1の加算器と、前記第1の加算器から出力された信号と前記パリティ検査行列の第5の部分行列とを乗算する第4の行列乗算器と、前記第2の行列乗算器から出力された信号と前記第4の行列乗算器から出力された信号とを加算する第2の加算器と、前記第2の加算器から出力された信号と前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算する第5の行列乗算器と、前記情報語と、前記第1の加算器の出力信号を第1のパリティとし、前記第5の行列乗算器の出力信号を第2のパリティとして前記ブロックLDPC符号フォーマットに相応するように多重化して出力するスイッチと、を含むことを特徴とする。
本発明は、移動通信システムで最小サイクル長さが最大になるブロックLDPC符号を提案することによって、誤り訂正能力を最大化させてシステム性能を向上させる効果を有する。また、本発明は、効率的なパリティ検査行列を生成することによって、ブロックLDPC符号の符号化複雑度を最小化させる効果も有する。
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
下記の説明で、本発明に関連した公知の機能又は構成に関する説明が本発明の要旨を不明にすると判断された場合に、その詳細な説明を省略する。
本発明は、優秀な性能の不均一低密度パリティ検査(Low Density Parity Check:以下、“LDPC”とする)符号を符号化及び復号化する方案を提示する。すなわち、本発明は、因子(factor)グラフ上の最小サイクルの長さが最大になり、符号化複雑度が最小になり、因子グラフ上の次数分布が最適化される分布を有する不均一LDPC符号の符号化及び復号化方案を提示する。
LDPC符号の因子グラフ上のサイクルとは、因子グラフで変数ノードと検査ノードを接続するエッジ(edge)によって構成されるループを示すが、サイクルの長さはループを構成するエッジの個数に定義される。サイクルの長さが長いということは、因子グラフでループを構成する変数ノードと検査ノードを接続するエッジの個数が多いことを示す。因子グラフ上のサイクルの長さを長く生成するほど、LDPC符号の性能が向上するようになる。その反面、因子グラフ上に長さの短いサイクルが多く存在するほどLDPC符号は誤りフロア(error floor)の性能劣化が示すため、誤り訂正能力が低下する。すなわち、因子グラフ上に長さの短いサイクルが多く存在する場合に、長さの短いサイクルに属している任意のノードから出発した自分の情報が少ない反復回数を経てまた帰ってくるようになり、反復回数が増加するほど、その情報が継続して自分に帰って来るようになる。したがって、情報アップデートがよくなされなくて、結局、LDPC符号の誤り訂正能力が低下される。
図7は、パリティ検査行列が4個の部分行列で構成されたブロックLDPC符号のサイクル構造を概略的に示す図である。
図7を説明するに先立ち、ブロックLDPC符号は効率的な符号化だけでなく効率的なパリティ検査行列の貯蔵及び性能の改善をすべて考慮した新たなLDPC符号である。このブロックLDPC符号は、均一LDPC符号の構造を一般化させて拡張した概念のLDPC符号である。図7に示すように、ブロックLDPC符号のパリティ検査行列は、4個のブロックで構成され、斜線は1の値を有する要素(element)が存在する位置を意味し、死線部分以外の部分はすべて0の値を有する要素が存在する位置を意味する。また、Pは、従来技術の図4で説明した順列行列(permutation matrix)と同一の順列行列を示す。ここで、順列行列Pは、図4で説明したように、NxNサイズを有する正方形行列で、この順列行列Pを構成するN個の行のそれぞれのウェイトが1であり、N個の行のそれぞれのウェイトも1である行列を示す。ここで、“ウェイト”とは、パリティ検査行列を構成する要素のうち、0でない値を有する要素の個数を示す。
図7に示すブロックLDPC符号のサイクル構造を分析するために、部分行列Pのi番目の行に位置する1の値を有する要素を基準として定め、i番目の行に位置する1の値を有する要素を“0-ポイント”と称する。ここで、“部分行列”は、部分ブロックに対応する行列を示す。すると、0-ポイントは部分行列Pの(i+a)番目の列に位置される。
0-ポイントと同一の行に位置した部分行列Pでの1の値を有する要素を“1-ポイント”と称する。この0-ポイントと同じ理由で、1-ポイントは部分行列Pの(i+b)番目の列に位置する。
次に、1-ポイントと同一の列に位置した部分行列Pでの1の値を有する要素を“2-ポイント”と称する。部分行列Pが単位行列Iの列の各々を右にモジューロ(modulo)Nに対してcだけ移動して得られた行列であるため、2-ポイントはこの部分行列Pの(i+b−c)番目の行に位置するようになる。
また、2-ポイントと同じ行に位置した部分行列Pでの1の値を有する要素を“3-ポイント”と称する。3-ポイントは、部分行列Pでの(i+b-c+d)番目の列に位置するようになる。
最後に、3-ポイントと同一の列に位置した部分行列Pでの1の値を有する要素を“4-ポイント”と称する。この4-ポイントは、部分行列Pの(i+b-c+d-a)番目の行に位置するようになる。
図7に示すLDPC符号のサイクル構造で、長さが4であるサイクルが存在すると、0-ポイントと4-ポイントは相互に同一の位置となる。すなわち、0-ポイントと4-ポイントとの間には、下記の<式4>のような関係が成立するようになる。
Figure 2007503755
そして、上記の<式4>をさらに整理すると、下記の<式5>のようである。
Figure 2007503755
その結果、<式5>のような関係が成立するときに、長さ4のサイクルが生成される。一般的に、0-ポイントと4m-ポイントが最初に同一になる場合は、i≡i+m(b-c+d-a)関係が成立され、下記の<式6>のような関係が成立される。
Figure 2007503755
さらに説明すると、与えられたa、b、c、dに対して<式6>を満たす正の整数の中で最小値を有する正の整数をmとする場合に、図7に示すようなブロックLDPC符号のサイクル構造では長さが4mであるサイクルが最小長さを有するサイクルとなる。
結果的に、上記したように、(a-b+c-d)≠0である場合にgcd(N,a-b+c-d)=1を満たすと、m=Nになる。ここで、gcd(N,a-b+c-d)は、整数Nとa-b+c-dの最大公約数の計算のための機能をする。したがって、長さが4Nであるサイクルが最小長さを有するサイクルとなる。
図7に説明したように、ブロックLDPC符号のサイクルに関する分析は、ブロックLDPC符号のパリティ検査行列を構成するブロックの個数が4を超える場合、すなわちパリティ検査行列を構成する部分行列の個数が4を超える場合にも適用可能である。ここで、図8を参照して、パリティ検査行列を構成する部分行列の個数が4を超える場合のLDPC符号のサイクル構造について説明する。
図8は、パリティ検査行列が6個の部分行列で構成されたブロックLDPC符号のサイクル構造を概略的に示す図である。
図8に示すブロックLDPC符号のパリティ検査行列は、6個のブロックで構成されており、図7で説明したように、斜線は1の値を有する要素が存在する位置を示し、この斜線部分以外の部分はすべて0の値を有する要素が存在する位置を示す。また、Pも従来技術である図4で説明した順列行列と同一の順列行列を示す。図7で説明したような方法で、図8におけるブロックLDPC符号のサイクル構造を分析すると、長さが6mであるサイクルが最小長さを有するサイクルとなる。
一般的に、0-ポイントと6m-ポイントが最初に同一になる場合は、i≡i+m(b-c+d-e+f-a)(mod N)の関係が成立され、下記の<式7>のような関係を満たすようになる。
Figure 2007503755
これら与えられたa、b、c、d、e、fに対して<式7>を満たす正の整数の中で、最小値を有する正の整数を“m”とすると、図8に示すブロックLDPC符号のサイクル構造では長さが6mであるサイクルが最小長さを有するサイクルになる。
上記に述べたように、(a-b+c-d+e-f)≠0である場合にgcd(N,a-b+c-d+e-f)=1を満たすと、m=Nになる。したがって、長さが6Nであるサイクルが最小長さを有するサイクルになる。
上記に説明したように、ブロックLDPC符号について、次のような規則が推定可能である。
<規則1>
ブロックLDPC符号で長さが2lであるサイクルが存在すると、下記の<式8>の条件を満たすべきである。
Figure 2007503755
<式8>d、a(i=1,2,…,21)は長さが2lであるサイクルが順次的に通過する順列行列の指数を示す。すなわち、ブロックLDPC符号のパリティ検査行列を構成する部分ブロックに対して長さが2lであるサイクルが
Figure 2007503755
の順に通過することを示す。ここで、すべてのaが相互に異なる必要はなく、重複的に通過する部分ブロックが存在することも可能であることはもちろんである。
<規則2>
mは、下記の<式9>を満たす最小の正の整数であると定義する。
Figure 2007503755
<式9>で、aは、全体パリティ検査行列でブロック単位のサイクルが形成されるように適切に選択された順列行列の指数である。そして、aは<規則1>の説明と同様に、すべて相互に異なる必要はなく、重複的に通過する部分ブロックが存在することも可能であることはもちろんである。つまり、部分行列
Figure 2007503755
は最小長さが2lmであるサイクル構造を有する。
<規則1>と<規則2>を用いると、ブロックLDPC符号のサイクル構造の特性を分析することが容易になる。一例として、<規則1>と<規則2>を用いると、配列符号で最小長さが6であるサイクルが正確にどのくらい分布しているかが分かるだけでなく、下記で説明するブロックLDPC符号のブロック単位のサイクル(以下、“ブロックサイクル”と称する)構造の特性分析も容易になる。ここで、ブロックサイクルは、パリティ検査行列の構成において、サイクル長さを調整するのに重要な要素であり、ブロックサイクルを図9及び<規則1>と<規則2>を使用して説明する。
図9は、ブロックLDPC符号のブロックサイクル構造を概略的に示す図である。図9を参照すると、ブロックLDPC符号を構成するブロックの各々がウェイト1を有すると仮定し、このブロックがサイクルを構成する場合に“ブロックサイクルを構成する”と定義する。図9には、左側から4個のブロックで構成されたブロックサイクルと、6個のブロックで構成されたブロックサイクルと、8個のブロックで構成されたブロックサイクルが示している。そして、<規則1>と<規則2>で説明したように、短い長さのブロックサイクルが構成されるとしてもブロックサイクルを構成するブロックの各々に該当する部分行列を適切に選択するようになると、実際のパリティ検査行列では短い長さのサイクルが生成されないように制御できる。しかしながら、ブロックLDPC符号で複数のブロックサイクルが重複される場合は、ブロックサイクル内の実際のサイクルの最小長さが減少される。その結果、実際のパリティ検査行列で短い長さのサイクルが生成されるという問題点が発生する。
ここで、図10及び<規則1>と<規則2>を用いてブロックLDPC符号で複数のブロックサイクルが重複される問題点について説明する。また、ブロックLDPC符号のパリティ検査行列を生成するときに、重複されたブロックサイクルを避けるべき理由についても説明する。
図10は、パリティ検査行列の6個の部分行列が重複されたブロックLDPC符号のブロックサイクル構造を概略的に示す図である。図10に示している矢印に従って、次のような順次的なブロック順序を考慮することができる。
Figure 2007503755
順次的なブロック順序による部分行列の指数は、Nの値に関係なく下記の<式10>の条件を常に満たす。
Figure 2007503755
<式10>を<規則2>で説明した<式9>に適用させると、m=1となる。したがって、図10に示すような6個の部分行列が重複されたブロックサイクルが存在するブロックLDPC符号の場合に、全体パリティ検査行列を構成するいずれの部分行列を選択しても、常にその長さが12であるサイクル構造を含むようになる。すなわち、図10に示すような6個の部分行列が重複されたブロックサイクルが存在するブロックLDPC符号の場合に、パリティ検査行列の最小サイクル長さは最大12に制限されるものである。
図11は、パリティ検査行列の7個の部分ブロックが重複されたブロックLDPC符号のブロックサイクル構造を概略的に示す図である。図11に示している矢印に従って、次のような順次的なブロック順序を考慮することができる。
Figure 2007503755
順次的なブロック順序による部分行列の指数は、Nの値に関係なく下記の<式11>の条件を常に満たす。
Figure 2007503755
<式11>を<規則2>で説明した<式9>に適用すると、m=1となる。したがって、図11に示すようなパリティ検査行列の7個の部分行列が重複されたブロックサイクルが存在するブロックLDPC符号の場合に、全体パリティ検査行列を構成するいずれの部分行列を選択しても、常にその長さが14であるサイクル構造を含む。すなわち、図11に示すように、パリティ検査行列の7個の部分行列が重複されたブロックサイクルが存在するブロックLDPC符号の場合に、パリティ検査行列の最小サイクル長さは最大14に制限される。
上述したように、ブロックLDPC符号でパリティ検査行列を構成するブロックの間にブロックサイクルが多く重複されている場合に、パリティ検査行列の部分行列を選択する方法に関係なく、サイクルの最小長さをを最大化するのに制限が発生してその性能が劣化することが分かる。したがって、ブロックLDPC符号でパリティ検査行列を生成する場合に、できるだけブロックサイクル自体を少なく生成して重複ブロックサイクルが発生しないように考慮しなければならない。
次に、ブロックサイクル以外に効率的な符号化を考慮してブロックLDPC符号のパリティ検査行列を生成する方法について説明する。
本発明では、ブロックLDPC符号の符号化方式としてRichardson-Urbanke方式を使用することにする。このRichardson-Urbanke方式を符号化方式で使用するため、パリティ検査行列は完全下三角行列と類似した形態を有するほど符号化の複雑度も最小化させることができる。
図12は、完全下三角行列形態を有するパリティ検査行列を示す図である。
図12に示すように、パリティ検査行列は、完全下三角行列形態を有し、情報部分(information part)とパリティ部分(parities part)で構成される。ここで、情報部分は、ブロックLDPC符号を符号化する過程で、実際の情報語にマッピングされるパリティ検査行列の部分を示し、パリティ部分はブロックLDPC符号を符号化する過程で実際パリティにマッピングされるパリティ検査行列の部分を示す。パリティ部分は、図12に示すように、単位行列Iに基づいて0行列と部分行列が存在し、部分行列が完全下三角形態を有する。
図13は、完全下三角行列形態と類似した形態を有するパリティ検査行列を示す図である。図13に示すように、パリティ検査行列が、図12に示した完全下三角行列形態のパリティ検査行列に比べてはパリティ部分の形態が完全下三角行列形態から外れる。図13において、情報部分の順列行列Pの上付き添え字aijは0≦aij≦N-1又はaij=∞である。この順列行列Pの上付き添え字aij=0である場合、すなわち順列行列Pは単位行列
Figure 2007503755
を示し、順列行列Pの上付き添え字aij=∞である場合、すなわち順列行列Pはゼロ行列を示す。図13で、“m”は情報部分にマッピングされる部分ブロックの行の個数を、“q”はパリティ部分にマッピングされる部分ブロックの列の個数を、それぞれ示す。“i”は、対応する順列行列がパリティ検査行列の部分ブロックのi番目の行に位置することを意味し、“j”は対応する順列行列がパリティ検査行列の部分ブロックのj番目の列に位置することを意味する。すなわち、
Figure 2007503755
は、i番目の行とj番目の列で交差する部分ブロックに位置する順列行列である。
また、上記のパリティ部分の順列行列の上付き添え字a、x、yは、順列行列Pの指数(上付き添え字)を示し、但し、説明の便宜上、このa、x、yは情報部分との区分のために相互に異なるように設定しただけである。すなわち、図13で、
Figure 2007503755
も順列行列で、パリティ部分の対角部分に位置する。上付き添え字a〜aは部分行列に順次にインデックスが付けられることを示す。図13で、pとpも順列行列で、説明の便宜上、情報部分との区分のために相互に異なるように設定して示す。
図13に示すようなパリティ検査行列を有するブロックLDPC符号のブロック長さをNであると仮定すると、ブロックLDPC符号の符号化複雑度はブロック長さNに対して線形的に増加する。
図13のパリティ検査行列を有するLDPC符号の一番大きい問題点は、部分ブロックの長さがNであるときに、ブロックLDPC符号の因子グラフ上に常に次数(degree)が1であるN個の検査ノードが生成されることである。ここで、次数が1である検査ノードは、反復復号による性能改善に影響を与えることができない。したがって、Richardson-Urbanke方式に基づいた標準LDPC符号は、次数が1である検査ノードを含んでいない。したがって、次数が1である検査ノードを含まずに効率的な符号化が可能なようにパリティ検査行列を設計するために、図13のパリティ検査行列を基本的なパリティ検査行列として仮定する。図13のように、部分行列で構成されたパリティ検査行列で部分行列の選択は、ブロックLDPC符号の性能改善において非常に重要な要素で、したがって部分行列の適切な選択基準を探すことも非常に重要な要素となる。
したがって、ブロックLDPC符号の生成において、次のような設計基準を考慮してパリティ検査行列を構成する。
<ブロックLDPC符号のパリティ検査行列の設計基準>
(1)パリティ部分は固定された形態を有するように構成される。
パリティ部分が固定された形態を有するということは、後術する図16に示すように単位行列が位置する形態を有することを意味する。
(2)優先的に次数の低い部分行列から順次的に選択する。
本発明で、部分行列の“次数”とは、3と5との間の次数を呼ばれる。また、部分行列は、次数の低い部分行列から順次に選択するときに、ブロックサイクルができるだけ少なく生成されるように配列し、次数の低い部分行列間の最小長さを有するサイクルをできるだけ長く構成する。
(3)次数の低い部分行列をすべて構成した後に、次数の高い部分行列を順次に構成する。次数の高い部分行列を配列するときに、できるだけ全体的に最小長さのサイクルを長く構成する。
上記したブロックLDPC符号のパリティ検査行列設計基準に基づいて、ブロックLDPC符号のパリティ検査行列の設計方法を説明する。
ここで、ブロックLDPC符号のパリティ検査行列の設計方法とブロックLDPC符号の符号化方法を容易にするために、図13に示すようなパリティ検査行列を図14のように6個の部分行列で構成された形態であると仮定する。
図14は、図13のパリティ検査行列を6個の部分ブロックに分割した図である。図14を参照すると、図13に示したように、ブロックLDPC符号のパリティ検査行列を情報部分sと、第1のパリティ部分pと、第2のパリティ部分pの部分ブロックに分割する。ここで、情報部分は、図12及び図13で説明した情報部分のようにブロックLDPC符号を符号化する過程で、実際の情報語にマッピングされるパリティ検査行列の部分を示し、但し、説明の便宜上、情報部分sは参照符号を異にして表示しただけである。また、第1のパリティ部分pと第2のパリティ部分pは、図12及び図13に説明したパリティ部分のようにブロックLDPC符号を符号化する過程で、実際のパリティにマッピングされるパリティ検査行列の部分を示し、パリティ部分を2個の部分に分割した。
部分行列A、Cは情報部分sの部分ブロック、すなわち部分ブロックA、Cに対応し、部分行列B、Dは第1のパリティ部分pの部分ブロックB、Dに対応し、部分行列T、Eは第2のパリティ部分pの部分ブロックT、Eに対応する。ここで、図14にパリティ検査行列が7個の部分ブロックに分割されるように示しているが、‘0’は別途の部分ブロックでなく、部分ブロックTに対応する部分行列Tが完全下三角形態を有するため、対角線を中心としてゼロ行列が配置された領域を‘0’で表示する。情報部分sと、第1のパリティ部分pと、第2のパリティ部分pの部分行列を用いて符号化方法を簡略にする過程は、下記の図17で説明する。
以下に、図14の部分行列は、図15を参照して説明する。
図15は、図14の部分行列Bの転置行列と、部分行列Eと、部分行列Tと、部分行列Tの逆行列を示す図である。図15を参照すると、
Figure 2007503755
を示す。また、図15に示す順列行列、例えば、
Figure 2007503755
は単位行列となりうる。上記したように、順列行列の指数、すなわちaが0である場合には、順列行列
Figure 2007503755
が単位行列となる。また、順列行列の指数、すなわち、aが予め設定された値により増加する場合には、順列行列が増加した設定値により循環シフトされ、つまり、順列行列
Figure 2007503755
が単位行列になる。
図17は、本発明の実施形態によるブロックLDPC符号のパリティ検査行列の生成過程を示すフローチャートである。図17の説明に先立って、ブロックLDPC符号を生成するためには、生成しようとするブロックLDPC符号の符号語サイズと符号化率を決定し、この決定された符号語サイズと符号化率によりパリティ検査行列のサイズを決定すべきである。ブロックLDPC符号の符号語サイズがNで、符号化率をRであると仮定すると、パリティ検査行列のサイズはN(1-R)xNとなる。また、図17に示すようにブロックLDPC符号のパリティ検査行列生成過程は、最初に通信システムのシステム状態に応じて生成され、この生成されたパリティ検査行列を用いることによって、実質的にパリティ検査行列の生成過程は1回のみを遂行すると良い。
図17を参照すると、制御器は、ステップ1711で、サイズN(1-R)xNのパリティ検査行列を横軸にp個のブロックに分割し、縦軸でq個のブロックに分割して総pxqブロックに分割した後に、ステップ1713に進行する。ここで、ブロックそれぞれのサイズはNxNであるため、パリティ検査行列はNxq個の行と、Nxp個の列で構成される。ステップ1713で、制御器は、pxq個のブロックに分割したパリティ検査行列を情報部分sとパリティ部分、すなわち第1のパリティ部分pと第2のパリティ部分pに分類し、ステップ1715及びステップ1721に進行する。
ステップ1715で、制御器は、情報部分sをブロックLDPC符号の高性能を保障する次数分布による‘0’でないブロック又は非ゼロ行列、‘0’であるブロック又はゼロ行列であるブロックを決定し、ステップ1717に進行する。ここで、ブロックLDPC符号の高性能を保障する次数分布は上記したようであるため、その詳細な説明を省略する。ステップ1717で、制御器は、ブロックLDPC符号の高性能を保障する次数分布により決定したブロックの中に低い次数を有するブロックのうち、非ゼロ行列部分に上記したようにブロックサイクルの最小サイクル長さが最大になるように順列行列
Figure 2007503755
を決定し、ステップ1719に進行する。ここで、順列行列
Figure 2007503755
を決定するとき、情報部分sだけでなく第1及び第2のパリティ部分P、Pのブロックサイクルも考慮して決定すべきである。
ステップ1719で、制御器は、ブロックLDPC符号の優れた性能を保障する次数分布により決定されたブロックの中に、高い次数を有するブロックのうちの非ゼロ行列部分にランダムに順列行列
Figure 2007503755
を決定して終了する。ここで、高い次数を有するブロックのうちの非ゼロ行列部分に適用する順列行列
Figure 2007503755
を決定するときにも、ブロックサイクルの最小サイクルサイズが最大になるように順列行列
Figure 2007503755
を決定すべきである。また、情報部分sだけでなく第1のパリティ部分pと第2のパリティ部分pのブロックサイクルも考慮して決定すべきである。上記のように、パリティ検査行列の情報部分sに順列行列
Figure 2007503755
を配列した形態を図16に示す。
ステップ1721で、制御器は、第1及び第2のパリティ部分p、pを4個の部分行列B、T、D、Eに分割した後に、ステップ1723に進行する。ステップ1723で、制御器は、部分行列Bを構成する部分ブロックの中に2個の部分ブロックに0でない順列行列P
Figure 2007503755
を入力し、ステップ1725に進行する。ここで、部分行列Bを構成する部分ブロックの中に2個の部分ブロックに0でない順列行列P
Figure 2007503755
を入力する構造は、既に図15を参照して説明した。
ステップ1725で、制御器は、部分行列Tの対角部分ブロックには単位行列Iを入力し、部分行列Tの対角成分の下に(i,i+1)番目の部分ブロックには任意の順列行列
Figure 2007503755
を入力し、ステップ1727に進行する。ここで、部分行列Tの対角部分ブロックには単位行列Iを入力し、この部分行列Tの対角成分の下の(i,i+1)番目の部分ブロックには任意の順列行列
Figure 2007503755
を入力する方法は、図15を参照して説明した。
ステップ1727で、制御器は、部分行列Dに順列行列Pを入力した後に、ステップ1729に進行する。ステップ1729で、制御器は、部分行列Eには最後の部分ブロックのみに
Figure 2007503755
を入力して終了する。ここで、部分行列Eを構成する部分ブロックの中に最後の部分ブロックに2個の
Figure 2007503755
を入力する構造は、既に図15を参照して説明した。
ブロックLDPC符号のパリティ検査行列で、部分行列Bと、部分行列D、及び部分行列Eを適切に構成すると、ブロックLDPC符号の符号化過程を容易に制御することができる。ここで、ブロックLDPC符号の符号化過程を容易にするために、パリティ検査行列の部分行列Bと、部分行列D、及び部分行列Eを構成する過程について説明する。
上記に説明したように、図13のパリティ検査行列を図14に説明したような部分行列に分割する場合に、図15のように示すことができる。
符号語ベクトルは図14に示すように情報部分sと、第1のパリティ部分pと第2のパリティ部分pに分割する場合に、符号語ベクトルは、情報語ベクトル と、第1のパリティベクトル 1 と、第2のパリティベクトル 2 に分割可能である。この場合、パリティ検査行列と符号語ベクトルの積は、下記の<式12>及び<式13>のように示す。
Figure 2007503755
Figure 2007503755
<式12>で、Tは転置(transpose)演算を示し、<式13>で第1のパリティベクトル 1 と関連した部分、すなわち
Figure 2007503755
は下記の<式14>を用いて得られる。
Figure 2007503755
<式14>で、行列φのサイズの自乗に比例してブロックLDPC符号の符号化複雑度が発生されるため、本発明では第1のパリティベクトル 1 を求めるために使用される行列φを単位行列Iとなるように設定する。このように、行列φを単位行列Iになるように設定することによって、ブロックLDPC符号の符号化複雑度が最小化される。ここで、図15を参照して、行列φを単位行列Iになるように設定する過程について説明する。
まず、順列行列
Figure 2007503755
は、単位行列Iに固定可能である。図15に示した部分行列T-1の部分ブロックで、
Figure 2007503755
部分は行列
Figure 2007503755
から行列
Figure 2007503755
までの積である
Figure 2007503755
を示す。行列φは、下記の<式15>〜<式17>を用いて求められる。
まず、図15で部分行列Eは、一つの部分ブロックを除いてはすべてゼロ行列であるため、部分行列Eと部分行列Tの逆行列であるT-1の乗算は部分行列Tの逆行列であるT-1の最後行と部分行列Eの最後ブロックの乗算形態で<式15>のように示す。
Figure 2007503755
部分行列Eと部分行列Tの逆行列T-1の積に部分行列Bを乗算すると、<式16>のように示す。
Figure 2007503755
(ここで、kはPの位置により決定される任意の自然数である。)
<式16>に示すように、部分行列Eと部分行列Tの逆行列であるT-1の積に部分行列Bを乗算する場合に、部分行列Bが2個の部分ブロックを除いてはすべてゼロ行列を含むため、部分行列Bの2個のブロックのみに対して乗算を遂行することで、簡単に演算される。
もし、
Figure 2007503755
に設定すると、φ≒ET-1B+D=Iになる。したがって、行列φは単位行列Iとなる。そして、<式17> は、行列φが単位行列Iになる条件を簡略に示すものである。
Figure 2007503755
<式15>〜<式17>に示すように、行列φが単位行列Iになるように設定すると、ブロックLDPC符号の符号化過程は、その複雑度が最小化できる。
次に、図18を参照して、本発明によるパリティ検査行列を使用してブロックLDPC符号を符号化する過程を説明する。
図18は、本発明の実施形態によるブロックLDPC符号の符号化過程を示すフローチャートである。図18を参照すると、制御器は、ステップ1811で、ブロックLDPC符号で符号化するための情報語ベクトルsを受信し、ステップ1813及びステップ1815に進行する。ここで、ブロックLDPC符号で符号化するために受信された情報語ベクトルsの長さはkであると仮定する。ステップ1813で、制御器は、この情報語ベクトルsとパリティ検査行列(As)の部分行列Aを行列乗算を遂行した後に(s)、ステップ1817に進行する。ここで、部分行列Aに存在する1の値を有する要素の個数は、0の値を有する要素の個数に比べて非常に少ないため、情報語ベクトルsとパリティ検査行列の部分行列Aの行列乗算は、比較的少ない回数の和積(sum-product)演算のみで可能になる。また、部分行列Aで1の値を有する要素の位置は0でないブロック位置とそのブロックの順列行列の指数で示すことができ、それによって、所定のパリティ検査行列に比べて非常に簡単な演算のみでも行列乗算が遂行可能である。ステップ1815で、制御器は、パリティ検査行列の部分行列Cと情報語ベクトルsの行列乗算を遂行し(Cs)、ステップ1819に進行する。
一方、ステップ1817で、制御器は、情報語ベクトルsとパリティ検査行列(ET-1s)の部分行列Aの行列乗算結果と行列ET-1の行列乗算を遂行し、ステップ1819に進行する。上述したように、行列ET-1で1の値を有する要素の個数は非常に少ないため、ブロックの順列行列の指数がわかるだけでも、行列乗算を容易に遂行することができる。ステップ1819で、制御器は、ET-1sとCsを加算して第1のパリティベクトルp 1 を計算した後(p 1 =ET-1s+Cs )、ステップ1821に進行する。ここで、加算演算は、排他的加算(exclusive OR)演算で同一のビットが加算されるときには0となり、相違したビットが加算されるときには1となる。その結果、ステップ1819までの過程は、<式14>で説明したような第1のパリティベクトルp 1 を計算するためのことである。
ステップ1821で、制御器は、パリティ検査行列の部分行列Bと第1のパリティベクトルp 1 を乗算し(Bp 1 )、その値にAsを加算した後に(As+Bp 1 )、ステップ1823に進行する。ここで、<式12>に説明したように、情報語ベクトルsと第1のパリティベクトルp 1 を知ると、第2のパリティベクトルp 2 を求めるために、パリティ検査行列の部分行列Tの逆行列T-1を乗算しなければならない。したがって、ステップ1823で、制御器は、第2のパリティベクトルp 2 を求めるために、ステップ1821で計算したベクトルに部分行列Tの逆行列T-1を乗算した後(p 2 =T-1(As+Bp 1 ))、ステップ1825に進行する。上記したように、符号化するためのブロックLDPC符号の情報語ベクトルsのみを知ると、第1のパリティベクトルp 1 と、第2のパリティベクトルp 2 を求めることができ、その結果、符号語ベクトルすべてが得られる。そして、制御器は、ステップ1825で、情報語ベクトルsと、第1のパリティベクトルp 1 と、第2のパリティベクトルp 2 で生成された符号語ベクトルcを生成して伝送し、上記の手順を終了する。
図19は、本発明の実施形態での機能を遂行するためのブロックLDPC符号の符号化装置の内部構造を示すブロック構成図である。
図19を参照すると、ブロックLDPC符号の符号化装置は、行列A乗算器1911と、行列C乗算器1913と、行列ET-1乗算器1915と、第1の加算器1917と、行列B乗算器1919と、第2の加算器1921と、行列ET-1乗算器1923と、スイッチ1925,1927,1929とを含む。
まず、入力信号、すなわちブロックLDPC符号で符号化しようとする長さkの情報語ベクトルsが入力され、入力された長さkの情報語ベクトルsはスイッチ1925、行列A乗算器1911、及び行列C乗算器1913に入力される。この行列A乗算器1911は、情報語ベクトルsと全体パリティ検査行列の部分行列Aを乗算した後に、行列ET-1乗算器1915と加算器1921に出力する。また、行列C乗算器1913は、情報語ベクトルsと全体パリティ検査行列の部分行列Cを乗算した後に、第1の加算器1917に出力する。行列ET-1を乗算器1915は、行列A乗算器1911から出力した信号に全体パリティ検査行列の部分行列ET-1を乗算した後に、第1の加算器1917に出力する。
第1の加算器1917は、行列ET-1乗算器1915から出力された信号と行列C乗算器1913から出力された信号を入力して加算した後に、行列B乗算器1919及びスイッチ1927に出力する。ここで、第1の加算器1917は、ビット別に排他的論理和(XOR)演算を遂行する。例えば、長さ3であるベクトルx=(x,x,x)と長さ3であるベクトルy=(y,y,y)が加算器1917に入力される場合に、加算器1917は長さ3であるベクトルx=(x,x,x)と長さ3であるベクトルy=(y,y,y)を排他的論理和演算して長さ3であるベクトル
Figure 2007503755
同一のビットが演算されると0になり、相異なるビットが演算されると1になる排他的論理和演算を示す。すなわち、第1の加算器1917から出力される信号が第1のパリティベクトルp 1 になる。
また、行列B乗算器1919は、第1の加算器1917から出力された信号、すなわち第1のパリティベクトルp 1 を入力して全体パリティ検査行列の部分行列Bを乗算した後に、加算器1921に出力する。加算器1921は、行列B乗算器1919から出力された信号と行列A乗算器1911から出力された信号を加算した後に、行列T-1乗算器1923に出力する。ここで、加算器1921は、加算器1917で説明したように、行列B乗算器1919から出力された信号と行列A乗算器1911から出力された信号を排他的論理和演算した後に、行列T-1乗算器1923に出力する。
行列T-1乗算器1923は、加算器1921から出力された信号と行列T-1を乗算した後に、スイッチ1929に出力する。ここで、行列T-1乗算器1923の出力が、結局第2のパリティベクトルp 2 になる。一方、スイッチ1925,1927,1929は、各々自分の伝送する時点のみでスイッチオン(switch on)されて該当信号を伝送する。すなわち、情報語ベクトルsが伝送される時点で、スイッチ1925がスイッチオンされ、第1のパリティベクトルp 1 が伝送される時点でスイッチ1927がスイッチオンされ、第2のパリティベクトルp 2 が伝送される時点でスイッチ1929がスイッチオンされる。
上記したように、全体パリティ検査行列の部分行列を適切に選択することによって、行列乗算ET-1が比較的簡単になり、それによって、ET-1s の計算が容易になる。なお、行列φが単位行列Iになってp 1 を計算するためのφ-1の演算過程が省略される。
上記では、効率的な符号化を考慮したブロックLDPC符号の生成方法について説明した。上記のブロックLDPC符号は、ブロックLDPC符号の構造的な特性によって、パリティ検査行列に関連した情報を貯蔵するためのメモリ効率が高いだけでなく、パリティ検査行列で部分行列を適切に選択することによって効率的な符号化が可能になる。しかしながら、ブロック単位でパリティ検査行列を生成することによって、不規則性(randomness)は減少し、それによるブロックLDPC符号の性能の劣化をもたらす。すなわち、上記のように、不均一ブロックLDPC符号が均一ブロックLDPC符号に比べて性能が良いため、ブロックLDPC符号を設計することにおいて、全体パリティ検査行列で部分行列を選択することは非常に重要な要素として作用するようになる。
ここで、図16を参照してブロックLDPC符号のサイクル特性を考慮して効率的な符号化が可能であり、かつ優れた性能を有するブロックLDPC符号の具体的な生成方法について説明する。
図16は、本発明の実施形態によるブロックLDPC符号のパリティ検査行列を示す図である。図16を参照すると、ブロックLDPC符号のパリティ検査行列は構造の単純性を考慮して、上述したように
Figure 2007503755
に設定する。この場合、行列φは単位行列Iとなって効率的な符号化を可能にする。ここで、パリティ検査行列の部分行列のブロック長さN=31で、したがってP-1=P30である。パリティ検査行列の全体列に対するブロックの個数は32個であるため、全体ブロック長さが32x31=992で、符号化率1/2のブロックLDPC符号のパリティ検査行列が生成される。
その結果、図16に示すようにブロックLDPC符号は、パリティ検査行列の列を基準としてウェイト値が2である15個のブロックと、ウェイト値が3である12個のブロックと、ウェイト値が11である5個のブロックで構成された不均一ブロックLDPC符号になる。したがって、図16に示すように、ブロックLDPC符号の次数分布は、下記の<式18>のように示す。
Figure 2007503755
<式18>で、fはブロックLDPC符号の因子グラフで全体変数ノードに対する次数がiである変数ノードの比率を示し、fρiはブロックLDPC符号の因子グラフで全体検査ノードに対する次数がiである検査ノードの比率を示す。その一例として、ブロック長さがN=32であるブロックLDPC符号において、ブロックLDPC符号の因子グラフ上で全体32個の変数ノードの中に15個の変数ノードに該当するパリティ検査行列の列がウェイト値32を有し、12個の変数ノードに該当するパリティ検査行列の列がウェイト値3を有し、5個の変数ノードに該当するパリティ検査行列の列がウェイト値11を有する。これら変数ノードだけでなく、検査ノードに対応するパリティ検査行列に対しても、変数ノードに対して遂行したことと同一の形態でウェイト値を考慮することができる。一方、<式18>に示すように、次数分布は、しきい値(threshold value)を有するLDPC符号の次数分布にほとんど近接した形態を有する。また、図16に示しているブロックLDPC符号の場合は、次数が2,3であるノード間に存在するサイクルの最小サイズが12であり、全体ノード間の場合は最小サイズが6である。
次に、図20を参照して、本発明の実施形態によるパリティ検査行列を用いてブロックLDPC符号を復号する段階について説明する。
図20は、本発明の実施形態によりブロックLDPC符号の復号装置の内部構造を示す図である。図20を参照すると、ブロックLDPC符号の復号装置は、変数ノード部2000と、加算器2015と、デインタリーバ(deinterleaver)2017と、インタリーバ2019と、制御器2021と、メモリ2023と、加算器2025と、検査ノード部2050と、硬判定器2029とを含んで構成される。変数ノード部2000は、変数ノード復号器2011と、スイッチ2013で構成され、検査ノード部2050は検査ノード復号器2027で構成される。
無線チャンネルを通じて受信される受信信号は、変数ノード部2000の変数ノード復号器2011に入力される。変数ノード復号器2011は、この受信された受信信号の確率値を計算し、計算された確率値をアップデートした後にスイッチ2013及び加算器2015に出力する。ここで、変数ノード復号器2011は、ブロックLDPC符号の復号装置に予め設定されているパリティ検査行列に対応して変数ノードを接続し、変数ノードに接続された‘1’の個数だけの入力値と出力値を有するアップデート演算が遂行される。変数ノードの各々に接続された‘1’の個数は、パリティ検査行列を構成する列のそれぞれのウェイト値と同一である。したがって、パリティ検査行列を構成する列のそれぞれのウェイトにより、変数ノード復号器2011の内部演算が異なるように遂行される。
第1の加算器2015は、変数ノード復号器2011から出力される信号と以前反復復号過程でインタリーバ2019の出力信号を入力し、変数ノード復号器2011からの信号から以前反復復号過程でインタリーバ2019の出力信号を減算した後に、デインタリーバ2017に出力する。ここで、復号過程が最初の復号過程である場合に、インタリーバ2019の出力信号は‘0’であるとみなすことはもちろんである。
デインタリーバ2017は、第1の加算器2015から出力された信号を入力して予め設定されている設定方式に対応してデインタリービングした後に、第2の加算器2025と検査ノード復号器2027に出力する。ここで、デインタリーバ2017の内部構造は、パリティ検査行列に対応する構造を有し、その理由は、パリティ検査行列の‘1’の値を有する要素の位置によりデインタリーバ2017に対応するインタリーバ2019の入力値に対する出力値が相互に異なるためである。
第2の加算器2025は、以前反復復号過程での検査ノード復号器2027の出力信号とデインタリーバ2017の出力信号を受信し、以前反復復号過程での検査ノード復号器2027の出力信号からデインタリーバ2017の出力信号を減算した後に、インタリーバ2019に出力する。検査ノード復号器2027は、ブロックLDPC符号の復号装置に予め設定されているパリティ検査行列に対応して検査ノードを接続し、検査ノードに接続された‘1’の個数だけの入力値と出力値を有するアップデート演算が遂行される。検査ノードの各々に接続された‘1’の個数は、パリティ検査行列を構成する行のそれぞれのウェイト値と同一である。したがって、パリティ検査行列を構成する行のそれぞれのウェイト値により検査ノード復号器2027の内部演算が相互に異なるようになる。
インタリーバ2019は、制御器2021の制御によって予め設定されている設定方式で、加算器2025から出力された信号をインタリービングした後に、加算器2015及び変数ノード復号器2011に出力する。ここで、制御器2021は、メモリ2023に貯蔵されているインタリービング方式に関連した情報を読み出してインタリーバ2019のインタリービング方式を制御するようになる。また、この復号化過程が最初の復号過程である場合には、デインタリーバ2017の出力信号は‘0’であるとみなすことはもちろんである。
上記のような過程を反復して遂行することによって、誤りなしの高信頼度の復号化を遂行し、予め設定された設定反復回数に該当する反復復号化を遂行した後に、スイッチ2013は変数ノード復号器2011と加算器2015との間をスイッチオフする。その後、スイッチ2013は、変数ノード復号器2011と硬判定器2029との間をスイッチオンして変数ノード復号器2011から出力された信号を硬判定器2029に出力する。硬判定器2029は、変数ノード復号器2011から出力された信号を入力して硬判定した後に、その硬判定結果を出力し、この硬判定器2029の出力値が最終的に復号された値になる。
一般的な(8,2,4)LDPC符号のパリティ検査行列を示す図である。 図1の(8,2,4)LDPC符号の因子グラフを示す図である。 一般的なブロックLDPC符号のパリティ検査行列を概略的に示す図である。 図3の循環行列Pを示す図である。 一般的な均一ブロックLDPC符号のパリティ検査行列を示す図である。 一般的な不均一ブロックLDPC符号のパリティ検査行列を示す図である。 パリティ検査行列が4個の部分行列で構成されたブロックLDPC符号のサイクル構造を概略的に示す図である。 パリティ検査行列が6個の部分行列で構成されたブロックLDPC符号のサイクル構造を概略的に示す図である。 ブロックLDPC符号のブロックサイクル構造を概略的に示す図である。 パリティ検査行列の6個の部分行列が重複されたブロックLDPC符号のブロックサイクル構造を概略的に示す図である。 パリティ検査行列の7個の部分行列が重複されたブロックLDPC符号のブロックサイクル構造を概略的に示す図である。 完全下三角行列形態を有するパリティ検査行列を示す図である。 完全下三角行列形態に類似した形態を有するパリティ検査行列を示す図である。 図13のパリティ検査行列を6個の部分ブロックに分割した図である。 図14の部分行列Bの転置行列と、部分行列Eと、部分行列Tと、部分行列Tの逆行列を示す図である。 本発明の実施形態によるブロックLDPC符号のパリティ検査行列を示す図である。 本発明の実施形態によるブロックLDPC符号のパリティ検査行列の生成過程を示すフローチャートである。 本発明の実施形態によるブロックLDPC符号の符号化過程を示すフローチャートである。 本発明の実施形態によるブロックLDPC符号の符号化装置の内部構造を示すブロック構成図である。 本発明の実施形態によるブロックLDPC符号の復号装置の内部構造を示す図である。
符号の説明
1911 行列A乗算器
1913 行列C乗算器
1915 行列ET-1乗算器
1917 第1の加算器
1919 行列B乗算器
1921 第2の加算器
1923 行列ET-1乗算器
1925,1927,1929 スイッチ

Claims (39)

  1. ブロック低密度パリティ検査(Low Density Parity Check:LDPC)符号のパリティ検査行列が情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成され、誤り訂正性能を向上させるための前記パリティ検査行列を生成する方法であって、
    前記情報語を前記ブロックLDPC符号で符号化するときに適用される符号化率と、符号語長に基づいて前記パリティ検査行列のサイズを決定する段階と、
    前記決定されたサイズのパリティ検査行列を予め定められた個数のブロックに分割する段階と、
    前記ブロックを前記情報部分に対応するブロックと、前記第1のパリティ部分に対応するブロックと、前記第2のパリティ部分に対応するブロックに分類する段階と、
    前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、前記第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形態で順列行列を配列する段階と、
    前記情報部分に分類されたブロックに前記ブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値が不均一になるように前記順列行列を配列する段階と、
    を有することを特徴とする方法。
  2. 前記情報部分に分類されたブロックにウェイト値が不均一になるように前記順列行列を配列する段階は、
    前記情報部分に分類されたブロックの中に前記順列行列が配列されるブロックを決定する段階と、
    前記順列行列が配列されるように決定されたブロックの中に予め設定された次数未満の次数を有するブロックに対しては前記最小サイクル長さが最大になるように前記順列行列を配列する段階と、
    前記順列行列が配列されるように決定されたブロックのうちに、前記設定次数以上の次数を有するブロックに対してはランダムに前記順列行列を配列する段階と、
    を有することを特徴とする請求項1記載の方法。
  3. 前記第2のパリティ部分に分類されたブロックの中に、予め決定されたブロックに完全下三角形で配列された順列行列が単位行列であることを特徴とする請求項1記載の方法。
  4. 前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、前記第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形で単位行列を配列する段階は、
    前記第1のパリティ部分を構成するブロックを第1の部分ブロックに対応するブロックと第2の部分ブロックに対応するブロックに分割し、前記第2のパリティ部分を構成するブロックを第3の部分ブロックに対応するブロックと第4の部分ブロックに対応するブロックに分類する段階と、
    前記第1の部分ブロック及び第2の部分ブロックに分類されたブロックの中に予め定められたブロックに前記順列行列を配列する段階と、
    前記第3の部分ブロックに分類されたブロックの中に予め定められたブロックに前記完全下三角形で単位行列を配列する段階と、
    前記第4の部分ブロックに分類されたブロックの中に予め定められたブロックに前記順列行列を配列する段階と、
    を有することを特徴とする請求項3記載の方法。
  5. 前記第3の部分ブロックに分類されたブロックの中に前記単位行列が配列されるブロックは、前記第3の部分ブロックに分類されたブロックの中に対角をなすブロックであることを特徴とする請求項4記載の方法。
  6. 前記第3の部分ブロックに分類されたブロックの中に、前記単位行列が配列されたブロックと平行した下位ブロックに前記順列行列を配列する段階をさらに有することを特徴とする請求項4記載の方法。
  7. 前記第4の部分ブロックに分類されたブロックの中に、前記順列行列が配列されるブロックは、前記第4の部分ブロックに分類されたブロックのうちの最後ブロックであることを特徴とする請求項4記載の方法。
  8. 前記第4の部分ブロックに配列された順列行列、前記第3の部分ブロックに配列された順列行列の逆行列、及び前記第1の部分ブロックに配列された順列行列の行列の積と前記第2の部分ブロックに配列された順列行列とを加算した行列が単位行列となるように前記順列行列を決定することを特徴とする請求項4記載の方法。
  9. ブロック低密度パリティ検査(LDPC)符号の復号装置であって、
    所定の制御により、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列を構成する列のそれぞれのウェイトにより変数ノードを接続して受信信号の確率値を検出して出力する変数ノード復号器と、
    前記変数ノード復号器から出力された信号から以前復号時に生成された信号を減算して出力する第1の加算器と、
    前記第1の加算器から出力された信号を入力して前記パリティ検査行列に対応して設定されたデインタリービング方式でデインタリービングして出力するデインタリーバと、
    所定の制御信号により、前記パリティ検査行列を構成する行のそれぞれのウェイトに対応して検査ノードを接続し、前記デインタリーバからの出力信号の確率値を検出して出力する検査ノード復号器と、
    前記検査ノード復号器の出力信号から、前記デインタリーバから出力された信号を減算する第2の加算器と、
    前記第2の加算器から出力された信号を前記パリティ検査行列により設定されたインタリービング方式でインタリービングして前記変数ノード復号器及び前記第1の加算器に出力するインタリーバと、
    前記パリティ検査行列を生成し、前記デインタリービング方式及びインタリービング方式を前記パリティ検査行列に対応して制御する制御器と、
    を含むことを特徴とする装置。
  10. 前記制御器は、前記情報語を前記ブロックLDPC符号で符号化するときに適用される符号化率と、符号語長に対応するようにパリティ検査行列のサイズを決定し、前記決定されたサイズのパリティ検査行列を予め定められた設定個数のブロックに分割し、前記ブロックを前記情報部分に対応するブロックと、前記第1のパリティ部分に対応するブロックと、前記第2のパリティ部分に対応するブロックに分類し、前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、前記第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形で単位行列を配列した後に、前記情報部分に分類されたブロックに前記ブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値を不均一にするように前記順列行列を配列して前記パリティ検査行列を生成することを特徴とする請求項9記載の装置。
  11. 前記第2のパリティ部分に分類されたブロックの中に、予め決定されたブロックに完全下三角形で配列された順列行列が単位行列であることを特徴とする請求項10記載の装置。
  12. 前記制御器は、前記情報部分に分類されたブロックの中に前記順列行列が配列されるブロックを決定し、前記順列行列が配列されるように決定されたブロックの中に予め設定された次数未満の次数を有するブロックに対しては前記最小サイクル長さが最大になるように前記順列行列を配列した後に、前記順列行列が配列されるように決定されたブロックの中に前記設定された次数以上の次数を有するブロックに対してはランダムに前記順列行列を配列することを特徴とする請求項11記載の装置。
  13. 前記制御器は、前記第1のパリティ部分を構成するブロックを第1の部分ブロックに対応するブロックと第2の部分ブロックに対応するブロックに分割し、前記第2のパリティ部分を構成するブロックを第3の部分ブロックに対応するブロックと第4の部分ブロックに対応するブロックに分類し、前記第1の部分ブロック及び第2の部分ブロックに分類されたブロックの中に予め定められたブロックに前記順列行列を配列し、前記第3の部分ブロックに分類されたブロックの中に予め定められたブロックに前記完全下三角形で単位行列を配列した後に、前記第4の部分ブロックに分類されたブロックの中に予め定められたブロックに前記順列行列を配列することを特徴とする請求項11記載の装置。
  14. 前記制御器は、前記第3の部分ブロックに分類されたブロックの中に対角をなすブロックに前記単位行列を配列することを特徴とする請求項13記載の装置。
  15. 前記制御器は、前記第3の部分ブロックに分類されたブロックの中に前記単位行列が配列されたブロックと平行した下位ブロックに前記順列行列を配列することを特徴とする請求項13記載の装置。
  16. 前記制御器は、前記第4の部分ブロックに分類されたブロックの中に最後ブロックに前記順列行列を配列することを特徴とする請求項13記載の装置。
  17. 前記制御器は、前記第4の部分ブロックに配列された順列行列、前記第3の部分ブロックに配列された順列行列の逆行列、前記第1の部分ブロックに配列された順列行列の行列の積と前記第2の部分ブロックに配列された順列行列とを加算することによって前記順列行列になるように決定することを特徴とする請求項13記載の装置。
  18. ブロック低密度パリティ検査(LDPC)符号の復号方法であって、
    情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列を生成し、前記パリティ検査行列に対応してデインタリービング方式及びインタリービング方式を決定する段階と、
    受信信号の確率値を検出する段階と、
    前記受信信号の確率値から以前復号時に生成された信号を減算して第1の信号を生成する段階と、
    前記第1の信号を入力して前記デインタリービング方式でデインタリービングする段階と、
    前記デインタリービングされた信号を入力して確率値を検出する段階と、
    前記デインタリービングされた信号の確率値で前記デインタリービングされた信号を減算して第2の信号を生成する段階と、
    前記第2の信号を前記インタリービング方式でインタリービングし、前記インタリービングされた信号を反復復号する段階と、
    を含むことを特徴とする方法。
  19. 前記パリティ検査行列を生成する段階は、
    前記情報語を前記ブロックLDPC符号で符号化するときに適用される符号化率と、符号語長に基づいて前記パリティ検査行列のサイズを決定する段階と、
    前記決定されたサイズのパリティ検査行列を予め定められた個数のブロックに分割する段階と、
    前記ブロックを前記情報部分に対応するブロックと、前記第1のパリティ部分に対応するブロックと、前記第2のパリティ部分に対応するブロックに分類する段階と、
    前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、前記第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形態で順列行列を配列する段階と、
    前記情報部分に分類されたブロックに前記ブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値が不均一になるように前記順列行列を配列する段階と、
    を有することを特徴とする請求項18記載の方法。
  20. 前記第2のパリティ部分に分類されたブロックの中に、予め決定されたブロックに完全下三角形で配列された順列行列が単位行列であることを特徴とする請求項19記載の方法。
  21. 前記情報部分に分類されたブロックにウェイト値が不均一にするように前記順列行列を配列する段階は、
    前記情報部分に分類されたブロックの中に前記順列行列が配列されるブロックを決定する段階と、
    前記順列行列が配列されるように決定されたブロックの中に予め設定された次数未満の次数を有するブロックに対しては前記最小サイクル長さが最大になるように前記順列行列を配列する段階と、
    前記順列行列が配列されるように決定されたブロックのうちに、前記設定次数以上の次数を有するブロックに対してはランダムに前記順列行列を配列する段階と、
    を有することを特徴とする請求項20記載の方法。
  22. 前記第1のパリティ部分に分類されたブロックの中に予め定められたブロックに順列行列を配列し、前記第2のパリティ部分に分類されたブロックの中に予め定められたブロックに完全下三角形で単位行列を配列する段階は、
    前記第1のパリティ部分を構成するブロックを第1の部分ブロックに対応するブロックと第2の部分ブロックに対応するブロックに分割し、前記第2のパリティ部分を構成するブロックを第3の部分ブロックに対応するブロックと第4の部分ブロックに対応するブロックに分類する段階と、
    前記第1の部分ブロック及び第2の部分ブロックに分類されたブロックの中に予め定められたブロックに前記順列行列を配列する段階と、
    前記第3の部分ブロックに分類されたブロックの中に予め定められたブロックに前記完全下三角形で単位行列を配列する段階と、
    前記第4の部分ブロックに分類されたブロックの中に予め定められたブロックに前記順列行列を配列する段階と、
    を有することを特徴とする請求項20記載の方法。
  23. 前記第3の部分ブロックに分類されたブロックの中に前記単位行列が配列されるブロックは、前記第3の部分ブロックに分類されたブロックの中に対角をなすブロックであることを特徴とする請求項22記載の方法。
  24. 前記第3の部分ブロックに分類されたブロックの中に、前記単位行列が配列されたブロックと平行した下位ブロックに前記順列行列を配列する段階をさらに有することを特徴とする請求項22記載の方法。
  25. 前記第4の部分ブロックに分類されたブロックの中に、前記順列行列が配列されるブロックは前記第4の部分ブロックに分類されたブロックの中に最後ブロックであることを特徴とする請求項22記載の方法。
  26. 前記第4の部分ブロックに配列された順列行列、前記第3の部分ブロックに配列された順列行列の逆行列、前記第1の部分ブロックに配列された順列行列の行列の積と前記第2の部分ブロックに配列された順列行列とを加算した行列が単位行列になるように前記順列行列を決定することを特徴とする請求項22記載の方法。
  27. ブロック低密度パリティ検査(LDPC)符号の符号化装置であって、
    情報語を入力して予め生成されている、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列の第1の部分行列と乗算する第1の行列乗算器と、
    前記情報語を入力して前記パリティ検査行列の第2の部分行列と乗算する第2の行列乗算器と、
    前記第1の行列乗算器から出力された信号と、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算する第3の行列乗算器と、
    前記第2の行列乗算器から出力された信号と第3の行列乗算器から出力された信号とを加算する第1の加算器と、
    前記第1の加算器から出力された信号と前記パリティ検査行列の第5の部分行列とを乗算する第4の行列乗算器と、
    前記第2の行列乗算器から出力された信号と前記第4の行列乗算器から出力された信号とを加算する第2の加算器と、
    前記第2の加算器から出力された信号と前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算する第5の行列乗算器と、
    前記情報語と、前記第1の加算器の出力信号を第1のパリティとし、前記第5の行列乗算器の出力信号を第2のパリティとして前記ブロックLDPC符号フォーマットに相応するように多重化して出力するスイッチと、
    を含むことを特徴とする装置。
  28. 前記第1の部分行列及び第2の部分行列は前記情報部分に対応する部分行列で、前記ブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値が不均一にするように前記順列行列を配列された行列であることを特徴とする請求項27記載の装置。
  29. 前記第3の部分行列と第4の部分行列は前記第1のパリティ部分に対応する部分行列で、前記第5の部分行列と第6の部分行列は前記第2のパリティ部分に対応する部分行列で、前記第3の部分行列と第4の部分行列は予め定められた位置に順列行列が配列された行列で、前記第5の部分行列は完全下三角形で単位行列が配列された行列であることを特徴とする請求項27記載の装置。
  30. 前記第2のパリティ部分に分類されたブロックの中に、予め決定されたブロックに完全下三角形で配列された順列行列が単位行列であることを特徴とする請求項29記載の方法。
  31. ブロック低密度パリティ検査(LDPC)符号の符号化方法であって、
    情報語と予め生成されている、情報語に対応する情報部分と、パリティに対応する第1のパリティ部分及び第2のパリティ部分で構成される前記パリティ検査行列の第1の部分行列と乗算して第1の信号を生成する段階と、
    前記情報語と前記パリティ検査行列の第2の部分行列と乗算して第2の信号を生成する段階と、
    前記第1の信号と、前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算して第3の信号を生成する段階と、
    前記第2の信号と第3の信号を加算して第4の信号を生成する段階と、
    前記第4の信号と前記パリティ検査行列の第5の部分行列を乗算して第5の信号を生成する段階と、
    前記第2の信号と前記第5の信号を加算して第6の信号を生成する段階と、
    前記第6の信号と前記パリティ検査行列の第3の部分行列と第4の部分行列の逆行列の行列積を乗算して第7の信号を生成する段階と、
    前記情報語と、前記第4の信号を第1のパリティで、前記第7の信号を第2のパリティとし、前記ブロックLDPC符号フォーマットに対応するように多重化して出力する段階と、
    を有することを特徴とする方法。
  32. 前記第1の部分行列及び第2の部分行列は前記情報部分に対応する部分行列で、前記ブロックLDPC符号の因子グラフの最小サイクル長さが最大になり、ウェイト値が不均一にするように前記順列行列を配列された行列であることを特徴とする請求項31記載の方法。
  33. 前記第3の部分行列と第4の部分行列は前記第1のパリティ部分に対応する部分 行列で、前記第5の部分行列と第6の部分行列は前記第2のパリティ部分に対応する部分行列で、前記第3の部分行列と第4の部分行列は予め定められた位置に順列行列が配列された行列で、前記第5の部分行列は完全下三角形で単位行列が配列された行列であることを特徴とする請求項31記載の方法。
  34. 前記第2のパリティ部分に分類されたブロックの中に、予め決定されたブロックに完全下三角形で配列された順列行列が単位行列であることを特徴とする請求項33記載の方法。
  35. パリティ検査行列は、複数の情報部分ブロックと複数のパリティ部分ブロックの行と列の行列形態で配列され、前記パリティ検査行列は前記情報部分ブロックの行列で構成された情報部分と前記パリティ部分ブロックの行列で構成されたパリティ部分に区分され、前記情報部分ブロックの各々は複数の情報ビットを示す行列で構成され、前記パリティ部分ブロックの各々は、複数のパリティビットを示す行列で構成され、前記パリティ検査行列は複数の行に存在する情報部分ブロックとパリティ部分ブロックが各々第1の情報行列と第1のパリティ行列及び第2のパリティ行列に分割され、前記複数の行を除いた残りの行に存在する情報部分ブロックとパリティ部分ブロックが各々第2の情報行列と第3のパリティ行列及び第4のパリティ行列に分割され、前記第1及び第2の情報行列と、第1及び第3のパリティ行列と、第2及び第4のパリティ行列は各々同一の列に配列され、誤り訂正性能を向上させるための前記パリティ検査行列を生成する方法であって、
    前記第4のパリティ行列と第2のパリティ行列の逆行列と前記第1のパリティ行列の積と前記第3のパリティ行列の和が単位行列になるように設定する段階と、
    前記第1のパリティ行列と前記第3のパリティ行列に対応する第1のパリティベクトルの転置ベクトルは、前記第4のパリティ行列と前記第2のパリティ行列の逆行列と前記第1の情報行列の積と前記第2の情報行列の和を前記第1の情報行列と前記第2の情報行列に対応する情報ベクトルを乗算した値になるように決定する段階と、
    前記第2のパリティ行列と第4のパリティ行列に対応する第2のパリティベクトルの転置ベクトルは、前記第2のパリティ行列の逆行列と前記第1の情報行列と前記情報ベクトルの転置ベクトルを乗算した値と前記第1のパリティ行列と前記第1のパリティベクトルの転置ベクトルを乗算した値を加算した値を乗算した値になるように決定する段階と、
    を有することを特徴とする方法。
  36. 前記第2のパリティ行列は完全下三角行列であることを特徴とする請求項35記載の方法。
  37. 前記第1の情報行列及び第2の情報行列は不均一のウェイト値を有することを特徴とする請求項35記載の方法。
  38. ブロック低密度パリティ検査(LDPC)符号のパリティ検査行列は、複数の部分ブロックの行と列の行列形態で配列され、前記複数の部分ブロック各々にはNxNサイズを有する行列が前記複数の部分ブロックの各々に対応して予め定められた指数だけシフトして生成された順列行列が配列され、誤り訂正性能を向上させるための前記パリティ検査行列を生成する方法であって、
    前記ブロックLDPC符号のブロックサイクルを任意の第1の値に決定する段階と、
    前記ブロックサイクルを決定した後に、前記部分ブロックの各々に配列された順列行列の中に、その指数が奇数である順列行列の指数の和から前記部分ブロックの各々に配列された順列行列のうち、その指数が偶数である順列行列の指数の和を減算した値と任意の第2の値を乗算した値になるように前記第2の値を決定し、前記部分ブロックの各々が前記第1の値と第2の値を乗算した値に対応するサイクルを有するように制御する段階と、
    を有することを特徴とする方法。
  39. 前記指数は1以上で、前記第1の値以下であることを特徴とする請求項38記載の方法。
JP2006524576A 2003-08-26 2004-08-26 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法 Active JP4160617B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030059206A KR100809619B1 (ko) 2003-08-26 2003-08-26 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
PCT/KR2004/002144 WO2005020500A1 (en) 2003-08-26 2004-08-26 Apparatus and method for coding/decoding block low density parity check code in a mobile communication system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008044898A Division JP5219552B2 (ja) 2003-08-26 2008-02-26 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法

Publications (2)

Publication Number Publication Date
JP2007503755A true JP2007503755A (ja) 2007-02-22
JP4160617B2 JP4160617B2 (ja) 2008-10-01

Family

ID=36830604

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006524576A Active JP4160617B2 (ja) 2003-08-26 2004-08-26 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP2008044898A Active JP5219552B2 (ja) 2003-08-26 2008-02-26 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008044898A Active JP5219552B2 (ja) 2003-08-26 2008-02-26 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法

Country Status (9)

Country Link
US (4) US7313752B2 (ja)
EP (1) EP1511177B1 (ja)
JP (2) JP4160617B2 (ja)
KR (1) KR100809619B1 (ja)
CN (2) CN1836394B (ja)
AU (1) AU2004302428B2 (ja)
CA (1) CA2531806C (ja)
RU (1) RU2316111C2 (ja)
WO (1) WO2005020500A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008026740A1 (fr) * 2006-08-31 2008-03-06 Panasonic Corporation procédé de codage, codeur et émetteur
JP2010521128A (ja) * 2007-03-09 2010-06-17 クゥアルコム・インコーポレイテッド 低密度パリティ検査(ldpc)符号を符号化し復号するための方法及び装置
JP2011019282A (ja) * 2004-06-24 2011-01-27 Lg Electronics Inc 無線通信システムにおける低密度パリティチェックコードを用いた符号化、復号化方法及びその装置
JP2012109839A (ja) * 2010-11-18 2012-06-07 Jvc Kenwood Corp 符号化装置
US8438459B2 (en) 2004-12-22 2013-05-07 Lg Electronics Inc. Apparatus and method for decoding using channel code
JP2013126028A (ja) * 2011-12-13 2013-06-24 Toshiba Corp 符号化装置及びこれを用いた半導体メモリシステム
WO2014069464A1 (ja) * 2012-11-05 2014-05-08 三菱電機株式会社 誤り訂正符号化方法および誤り訂正符号化装置

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR101009785B1 (ko) * 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
WO2005096510A1 (en) * 2004-04-02 2005-10-13 Nortel Networks Limited Ldpc encoders, decoders, systems and methods
CA2559818C (en) * 2004-04-28 2011-11-29 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
US7171603B2 (en) * 2004-05-06 2007-01-30 Motorola, Inc. Method and apparatus for encoding and decoding data
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7526717B2 (en) * 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7458010B2 (en) * 2004-08-05 2008-11-25 Nokia Corporation Irregularly structured, low density parity check codes
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
US7992066B2 (en) * 2004-08-09 2011-08-02 Lg Electronics Inc. Method of encoding and decoding using low density parity check matrix
RU2348103C2 (ru) 2004-08-10 2009-02-27 Самсунг Электроникс Ко., Лтд. Устройство и способ кодирования и декодирования блочного кода разреженного контроля четности
US7506238B2 (en) 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
CA2560852C (en) * 2004-08-16 2011-11-01 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100612047B1 (ko) * 2004-09-09 2006-08-14 한국전자통신연구원 성장 네트워크 모델을 이용한 엘디피시 부호의 형성방법
KR100684168B1 (ko) * 2004-12-09 2007-02-20 한국전자통신연구원 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법
KR101065693B1 (ko) * 2004-09-17 2011-09-19 엘지전자 주식회사 Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법
KR101208547B1 (ko) * 2004-09-17 2012-12-05 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
JP2008515342A (ja) * 2004-10-01 2008-05-08 トムソン ライセンシング 低密度パリティ検査(ldpc)復号器
US7996746B2 (en) 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
KR100913876B1 (ko) * 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
KR20060097503A (ko) 2005-03-11 2006-09-14 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
KR20060108959A (ko) 2005-04-13 2006-10-19 삼성전자주식회사 블록단위의 저밀도 패리티 체크 행렬 생성 방법 및 장치와그 기록매체
JP4617985B2 (ja) * 2005-04-25 2011-01-26 ソニー株式会社 符号装置および符号化方法
CN1983861B (zh) 2005-06-21 2012-09-26 三星电子株式会社 通信系统中发送/接收数据的装置和方法
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
KR20060135451A (ko) * 2005-06-25 2006-12-29 삼성전자주식회사 저밀도 패리티 검사 행렬 부호화 방법 및 장치
KR100941680B1 (ko) 2005-07-01 2010-02-12 삼성전자주식회사 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
US7657816B2 (en) * 2005-07-13 2010-02-02 Leanics Corporation Low-complexity hybrid LDPC code encoder
US7559008B1 (en) * 2005-10-03 2009-07-07 Maxtor Corporation Nested LDPC encoders and decoder
KR100809616B1 (ko) 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR20070063851A (ko) 2005-12-15 2007-06-20 삼성전자주식회사 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
JP4558638B2 (ja) * 2005-12-15 2010-10-06 富士通株式会社 符号器および復号器
US8151161B2 (en) * 2005-12-27 2012-04-03 Lg Electronics Inc. Apparatus and method for decoding using channel code
WO2007075106A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Fast low-density parity-check code encoder
CN100438394C (zh) * 2006-01-12 2008-11-26 北京大学 非规则置换矩阵ldpc码的构造方法及装置
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
KR100899738B1 (ko) * 2006-02-02 2009-05-27 삼성전자주식회사 노드 메모리 기반의 ldpc 복호기 및 복호방법
US20070198905A1 (en) * 2006-02-03 2007-08-23 Nokia Corporation Transmitter for a communications network
KR100933139B1 (ko) 2006-02-22 2009-12-21 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7657821B1 (en) * 2006-05-09 2010-02-02 Cisco Technology, Inc. Error detecting code for multi-character, multi-lane, multi-level physical transmission
US8020062B2 (en) 2006-06-15 2011-09-13 Samsung Electronics Co., Ltd. Apparatus and method of encoding/decoding block low density parity check codes in a communication system
KR101154995B1 (ko) * 2006-07-14 2012-06-15 엘지전자 주식회사 Ldpc 부호화를 수행하는 방법
CA2663235A1 (en) * 2006-09-22 2008-03-27 Mcgill University Stochastic decoding of ldpc codes
KR101311634B1 (ko) * 2006-10-09 2013-09-26 엘지전자 주식회사 무선 통신 시스템의 부호어 생성 방법
US8271851B2 (en) 2006-11-13 2012-09-18 France Telecom Encoding and decoding a data signal as a function of a correcting code
US8117514B2 (en) 2006-11-13 2012-02-14 Qualcomm Incorporated Methods and apparatus for encoding data in a communication network
KR101433375B1 (ko) * 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
EP2568612A1 (en) * 2007-01-24 2013-03-13 Qualcomm Incorporated LDPC encoding and decoding of packets of variable sizes
KR100975696B1 (ko) 2007-04-05 2010-08-12 삼성전자주식회사 통신 시스템에서 부호화 장치 및 방법
JP4788650B2 (ja) * 2007-04-27 2011-10-05 ソニー株式会社 Ldpc復号装置およびその復号方法、並びにプログラム
KR20080102902A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
TW200906073A (en) * 2007-07-31 2009-02-01 Univ Nat Chiao Tung Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
US8196010B1 (en) 2007-08-17 2012-06-05 Marvell International, Ltd. Generic encoder for low-density parity-check (LDPC) codes
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
US8301963B2 (en) * 2007-10-23 2012-10-30 Spansion Llc Low-density parity-check code based error correction for memory device
US8219876B2 (en) * 2007-10-24 2012-07-10 Core Wireless Licensing, S.a.r.l. Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
KR101447751B1 (ko) * 2007-11-19 2014-10-13 삼성전자주식회사 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
KR101502624B1 (ko) * 2007-12-06 2015-03-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
US8429486B2 (en) 2007-12-13 2013-04-23 Nec Corporation Decoding device, data storage device, data communication system, and decoding method
KR100949519B1 (ko) 2007-12-18 2010-03-24 한국전자통신연구원 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
KR101445080B1 (ko) * 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
SI2091156T1 (sl) * 2008-02-18 2013-12-31 Samsung Electronics Co., Ltd. Aparat in postopek za kodiranje in dekodiranje kanala v komunikacijskem sistemu z uporabo paritetnih kod z nizko gostoto
KR101503058B1 (ko) * 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
CN101272223B (zh) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
CN101286819B (zh) * 2008-05-07 2010-05-12 中兴通讯股份有限公司 一种数据接收方法及装置
KR20090117580A (ko) * 2008-05-08 2009-11-12 엘지전자 주식회사 부호어의 생성 방법
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20110154151A1 (en) * 2008-07-04 2011-06-23 Mitsubishi Electric Corporation Check matrix creation device, check matrix creation method, check matrix creation program, transmitter, receiver, and communication system
WO2010006430A1 (en) * 2008-07-15 2010-01-21 The Royal Institution For The Decoding of linear codes with parity check matrix
US8443033B2 (en) * 2008-08-04 2013-05-14 Lsi Corporation Variable node processing unit
CN101686061A (zh) * 2008-09-27 2010-03-31 松下电器产业株式会社 构造低密度奇偶校验码的方法及发送/接收装置和系统
JP5320964B2 (ja) * 2008-10-08 2013-10-23 ソニー株式会社 サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム
US8612823B2 (en) * 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
TWI383617B (zh) * 2008-10-31 2013-01-21 Ind Tech Res Inst 具排列架構之無線通訊方法及系統
CN101442318B (zh) * 2008-11-06 2012-04-25 上海交通大学 基于近似下三角结构校验矩阵的低时延ira码编码器
US8719655B2 (en) 2009-02-06 2014-05-06 Marvell Hispania S.L. Method and device for communicating data across noisy media
JP4898858B2 (ja) 2009-03-02 2012-03-21 パナソニック株式会社 符号化器、復号化器及び符号化方法
JP5344228B2 (ja) * 2009-03-26 2013-11-20 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
US8407555B2 (en) * 2009-03-30 2013-03-26 Broadcom Corporation LDPC codes robust to non-stationary narrowband ingress noise
US8464123B2 (en) 2009-05-07 2013-06-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
US8423861B2 (en) * 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8359515B2 (en) * 2009-12-02 2013-01-22 Lsi Corporation Forward substitution for error-correction encoding and the like
US8443257B1 (en) 2010-02-01 2013-05-14 Sk Hynix Memory Solutions Inc. Rate-scalable, multistage quasi-cyclic LDPC coding
US8448041B1 (en) * 2010-02-01 2013-05-21 Sk Hynix Memory Solutions Inc. Multistage LDPC encoding
US8572463B2 (en) * 2010-02-01 2013-10-29 Sk Hynix Memory Solutions Inc. Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size
US8504894B1 (en) 2010-03-04 2013-08-06 Sk Hynix Memory Solutions Inc. Systematic encoding for non-full row rank, quasi-cyclic LDPC parity check matrices
US8527831B2 (en) * 2010-04-26 2013-09-03 Lsi Corporation Systems and methods for low density parity check data decoding
US8443249B2 (en) * 2010-04-26 2013-05-14 Lsi Corporation Systems and methods for low density parity check data encoding
US8381065B2 (en) * 2010-10-01 2013-02-19 Nec Laboratories America, Inc. Modified progressive edge-growth LDPC codes for ultra-high-speed serial optical transport
KR20120071511A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 이동통신 시스템의 데이터 레이트 매칭 방법 및 장치
KR101702358B1 (ko) * 2011-01-06 2017-02-03 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR20120088369A (ko) * 2011-01-31 2012-08-08 삼성전자주식회사 방송 및 통신시스템에서 송?수신 방법 및 장치
KR101772008B1 (ko) 2011-03-03 2017-09-05 삼성전자주식회사 통신 및 방송시스템에서 송수신 방법 및 장치
EP3547550A1 (en) * 2011-03-30 2019-10-02 Samsung Electronics Co., Ltd. Apparatus and method for mapping and demapping signals in a communication system using a low density parity check code
KR101865068B1 (ko) * 2011-03-30 2018-06-08 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 시스템에서 신호 맵핑/디맵핑 장치 및 방법
JP5637393B2 (ja) * 2011-04-28 2014-12-10 ソニー株式会社 データ処理装置、及び、データ処理方法
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
DE102011078645A1 (de) * 2011-07-05 2013-01-10 Robert Bosch Gmbh Verfahren zum sicheren Prüfen eines Codes
CN102255693B (zh) * 2011-07-18 2014-01-29 国网信息通信有限公司 用于电力线通信的纠错编码方法
KR101791477B1 (ko) * 2011-10-10 2017-10-30 삼성전자주식회사 통신/방송 시스템에서 데이터 송수신 장치 및 방법
KR101922990B1 (ko) * 2011-11-11 2018-11-28 삼성전자주식회사 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법
KR101685010B1 (ko) 2012-06-01 2016-12-13 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc 부호
CN105075128B (zh) * 2013-02-13 2018-07-17 高通股份有限公司 用于经提升ldpc码的方法、计算机可读存储介质和设备
US8930792B2 (en) * 2013-02-14 2015-01-06 Lsi Corporation Systems and methods for distributed low density parity check decoding
JP6229900B2 (ja) * 2013-05-02 2017-11-22 ソニー株式会社 データ処理装置、及びデータ処理方法
WO2014178299A1 (ja) * 2013-05-02 2014-11-06 ソニー株式会社 データ処理装置、及びデータ処理方法
CN105210299B (zh) * 2013-05-02 2019-06-21 索尼公司 数据处理装置以及数据处理方法
WO2015020395A1 (ko) * 2013-08-05 2015-02-12 엘지전자 주식회사 무선접속시스템에서 신호 수신 방법 및 장치
US9104589B1 (en) * 2013-10-16 2015-08-11 L-3 Communications Corp. Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions
KR102254102B1 (ko) * 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10404284B1 (en) 2015-07-21 2019-09-03 L-3 Communications Corp. Parallel-to-parallel conversion and reordering of a block of data elements
US10382064B2 (en) * 2015-10-13 2019-08-13 SK Hynix Inc. Efficient LDPC encoder for irregular code
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10129178B1 (en) 2015-12-02 2018-11-13 L-3 Communications Corp. Combining and processing as a whole portions of a ordered segment of data elements split between two communications channels
US10635909B2 (en) * 2015-12-30 2020-04-28 Texas Instruments Incorporated Vehicle control with efficient iterative triangulation
WO2017123273A1 (en) * 2016-01-14 2017-07-20 Intel IP Corporation Informationally efficient error correction coding
JP6699738B2 (ja) * 2016-01-29 2020-05-27 日本電気株式会社 情報処理装置、情報処理方法、及び、コンピュータプログラム
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
BR112019000612A2 (pt) * 2016-07-15 2019-04-24 Sharp Kabushiki Kaisha aparelho de transmissão, aparelho de recepção, mé-todo de comunicação e circuito integrado
TWI602188B (zh) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
US10484134B2 (en) 2017-03-30 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR102348466B1 (ko) * 2017-03-30 2022-01-10 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN109120276B (zh) 2017-05-05 2019-08-13 华为技术有限公司 信息处理的方法、通信装置
CA3055231C (en) 2017-06-15 2022-10-04 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
WO2019114992A1 (en) 2017-12-15 2019-06-20 Huawei Technologies Co., Ltd. Design of base parity-check matrices for ldpc codes that have subsets of orthogonal rows
KR102523059B1 (ko) * 2018-04-18 2023-04-19 에스케이하이닉스 주식회사 에러 정정 회로 및 그것을 포함하는 메모리 시스템
US10886944B2 (en) * 2018-09-24 2021-01-05 National Chiao Tung University Low-density parity-check code scaling method
RU2708349C1 (ru) * 2019-06-03 2019-12-05 Акционерное общество "Концерн "Созвездие" Способ передачи данных на основе кодов с низкой плотностью проверок на четность
CN112671504A (zh) * 2019-10-15 2021-04-16 普天信息技术有限公司 5g nr标准的ldpc编码的实现方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0156440B1 (en) 1984-03-24 1990-01-24 Koninklijke Philips Electronics N.V. An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
FR2799592B1 (fr) 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
ATE414349T1 (de) * 1999-12-20 2008-11-15 Research In Motion Ltd Hybrid-wiederholungsaufforderungsystem und - verfahren
US6539367B1 (en) * 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
JP2004503979A (ja) 2000-06-16 2004-02-05 アウェア, インコーポレイテッド Ldpc変調用システムおよびその方法
US7072417B1 (en) * 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US7000177B1 (en) * 2000-06-28 2006-02-14 Marvell International Ltd. Parity check matrix and method of forming thereof
US6567465B2 (en) 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6938196B2 (en) 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC 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
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US7000167B2 (en) * 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
KR100848779B1 (ko) 2001-08-27 2008-07-28 엘지전자 주식회사 반복 복호기에서 두 가지 레벨 이상의 복호능력 표시방법
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
CN1185796C (zh) * 2002-11-15 2005-01-19 清华大学 改进的非规则低密度奇偶校验码纠错译码方法
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
JP4163023B2 (ja) * 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
JP4167276B2 (ja) * 2006-06-23 2008-10-15 株式会社住化分析センター 導電体の溶断試験方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011019282A (ja) * 2004-06-24 2011-01-27 Lg Electronics Inc 無線通信システムにおける低密度パリティチェックコードを用いた符号化、復号化方法及びその装置
US8438459B2 (en) 2004-12-22 2013-05-07 Lg Electronics Inc. Apparatus and method for decoding using channel code
WO2008026740A1 (fr) * 2006-08-31 2008-03-06 Panasonic Corporation procédé de codage, codeur et émetteur
JP2008086008A (ja) * 2006-08-31 2008-04-10 Matsushita Electric Ind Co Ltd 符号化方法、符号化装置、及び送信装置
JP2010521128A (ja) * 2007-03-09 2010-06-17 クゥアルコム・インコーポレイテッド 低密度パリティ検査(ldpc)符号を符号化し復号するための方法及び装置
US8261155B2 (en) 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
JP2012109839A (ja) * 2010-11-18 2012-06-07 Jvc Kenwood Corp 符号化装置
JP2013126028A (ja) * 2011-12-13 2013-06-24 Toshiba Corp 符号化装置及びこれを用いた半導体メモリシステム
US8966351B2 (en) 2011-12-13 2015-02-24 Kabushiki Kaisha Toshiba Encoding apparatus, encoding method and semiconductor memory system
WO2014069464A1 (ja) * 2012-11-05 2014-05-08 三菱電機株式会社 誤り訂正符号化方法および誤り訂正符号化装置
US9484959B2 (en) 2012-11-05 2016-11-01 Mitsubishi Electric Corporation Error correction encoding method and error correction encoding device

Also Published As

Publication number Publication date
AU2004302428B2 (en) 2008-02-07
CA2531806C (en) 2014-04-08
JP4160617B2 (ja) 2008-10-01
WO2005020500A1 (en) 2005-03-03
US9319068B2 (en) 2016-04-19
EP1511177B1 (en) 2018-06-06
US7962828B2 (en) 2011-06-14
EP1511177A3 (en) 2006-07-26
US20050050435A1 (en) 2005-03-03
RU2006109470A (ru) 2006-07-10
CN102164022A (zh) 2011-08-24
KR100809619B1 (ko) 2008-03-05
US20140344639A1 (en) 2014-11-20
RU2316111C2 (ru) 2008-01-27
US7313752B2 (en) 2007-12-25
CN1836394B (zh) 2011-05-25
EP1511177A2 (en) 2005-03-02
AU2004302428A1 (en) 2005-03-03
JP5219552B2 (ja) 2013-06-26
US8719683B2 (en) 2014-05-06
KR20050021108A (ko) 2005-03-07
CA2531806A1 (en) 2005-03-03
US20070283221A1 (en) 2007-12-06
JP2008172824A (ja) 2008-07-24
CN1836394A (zh) 2006-09-20
US20110167315A1 (en) 2011-07-07
CN102164022B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
JP4160617B2 (ja) 移動通信システムにおけるブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4555334B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4545793B2 (ja) ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
JP4519902B2 (ja) 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
JP4555333B2 (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
Zhang et al. VLSI implementation-oriented (3, k)-regular low-density parity-check codes
KR100913876B1 (ko) 저밀도 패리티 검사 부호의 생성 방법 및 장치
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
KR100941680B1 (ko) 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
JP2009177775A (ja) 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器
KR101447751B1 (ko) 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101267654B1 (ko) 가변 부호어 길이를 지원하는 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
JP2009177649A (ja) 符号化方法、符号化器、復号器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080226

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: 20080617

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: 20080717

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4160617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130725

Year of fee payment: 5

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

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