JPWO2009060627A1 - 符号化方法および送信装置 - Google Patents

符号化方法および送信装置 Download PDF

Info

Publication number
JPWO2009060627A1
JPWO2009060627A1 JP2009539970A JP2009539970A JPWO2009060627A1 JP WO2009060627 A1 JPWO2009060627 A1 JP WO2009060627A1 JP 2009539970 A JP2009539970 A JP 2009539970A JP 2009539970 A JP2009539970 A JP 2009539970A JP WO2009060627 A1 JPWO2009060627 A1 JP WO2009060627A1
Authority
JP
Japan
Prior art keywords
column
matrix
ldpc
encoding
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009539970A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2009060627A1 publication Critical patent/JPWO2009060627A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes

Landscapes

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

Abstract

本発明は、LDPC符号の検査行列において設定した拡散符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は前記拡散符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線を双対角線の方向に伸長して、双対角線構造の拡張行列を構成する工程と、(i*m+1)行目のパリティビット部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目(ただし、i=1,2,…,k0−2)まで左方向に移動する工程と、第1の検査関係を起動因子として(n−m+1)列目のパリティビットを計算する工程と、(n−m+1)列目まで左方向に移動した検査関係を利用して、再帰的符号化方式により、複数グループのパリティビットを同時に計算する工程と、を含む符号化方法を提供する。

Description

本発明は符号化の並列度を向上させることによって符号化時間の遅延を低減させる方法に関し、特に、双対角線構造を有する準巡回低密度パリティ検査符号に対して、複数の符号化処理を並列に導入し、拡張後の符号の符号化時間を符号化率の低下に伴って線形的に増加させることなく、基本符号の符号化時間にほぼ一致させることに関する。
近年、無線通信システムはデータを非常に高速で伝送できるように発展している。そのため、従来の符号化方法よりもさらに効率的な符号化方法が求められている。低密度パリティ検査(LDPC:Low Density Parity-Check)符号は、最近十年間で再び注目を集めてきた強力な前方誤り訂正符号の1つである。符号語(codeword)長が非常に長いLDPC符号はシャノン限界に近づきつつあるため、ターボ符号の有効な代替技術と考えられており、次世代移動通信および宇宙通信に用いられる可能性が高い。
LDPC符号は、パリティ検査行列に基づいて定義された符号の1つであり、1962年にGallagerによって提案されている。LDPC符号は、検査行列の列毎に少数j(j>=1)個の「1」を含み、行毎に少数k(k>j)個の「1」を含む特性を有する。この検査行列を用いて情報を符号化して得られる符号語の一般的な最小距離は符号語長の増加にともなって線形的に増加し、かつ、BSC(Binary Symmetric Channel)チャネルにおける復号誤りの一般的な確率は符号語長に伴って指数的に減少することがGallagerによって証明されている。
また、1981年に、Tannerは、図形モデルを用いて符号語を描写するという概念を提案し、LDPC符号の検査行列をタナーグラフ(Tanner graph)と称される検査行列の行と列とで構成される双方向の2つのノードからなる2部グラフに対応させた。タナーグラフにおいて、検査行列の各行はチェックノード(check node)と称され、検査行列の各列は変数ノード(variable node)と称される。タナーグラフの各変数ノードと各チェックノードとは、検査行列での「1」の配置に従って接続され、接続されたノード間で情報の伝達を反復して実施することにより復号処理が行われる。タナーグラフにより表されるLDPC符号は、復号処理を並列化できるため、復号処理の複雑度を著しく低下させることができる。Tannerは、さらに、Min−SumアルゴリズムおよびSum−Productアルゴリズムという2種類の情報伝達アルゴリズムを詳細に分析して、有限長であり、ループ(loop)が無いタナーグラフに基づく最小和復号アルゴリズムおよび積和復号アルゴリズムの最適性を証明した。しかしながら、タナーグラフは実際にはランダムグラフ構造を採用しており、ループ長が短いループ(以下、小ループという)が不可避的に存在する。このような小ループの存在は、復号情報の重複伝達を起こしうるため、LDPC符号化の反復復号過程における復号情報(メッセージ)間での独立性の仮定を満たせなくなり、伝達復号アルゴリズムの収束特性に悪影響を与える。
1996年になって、LDPC符号はターボ符号と比較して同様の優れた性能を有し、符号語長が長い場合には、ターボ符号を超える性能を有することがMackayとSpielmanとにより再発見された。これにより、LDPC符号は新たな研究課題となり、幅広い注目を集めている。
Rechardsonらは、ある制約を満たすLDPC符号構造の集合の研究から始め、無限長LDPC符号の密度発展理論(Density Evolution)を確立し、有限長LDPC符号を構成するための重要な参考情報を提供した。この研究において、復号情報の反復伝達過程において復号処理の閾値(復号閾値)が存在することを発見した。具体的には、Rechardsonらは、信号対雑音比が復号閾値よりも大きい場合には、反復復号を行うことにより復号情報の誤り率をゼロに近づけることが可能であるのに対し、信号対雑音比が復号閾値未満の場合には、いかに長い符号語長のLDPC符号を採用し、どれほどの回数の反復復号を行っても、一定の誤り率に収束することを発見した。また、Richardsonらは中心極限定理を応用して、有限長であり、ランダムグラフ構造であり、ループが存在するタナーグラフの復号閾値が、ループ無しのタナーグラフの復号閾値に近似することを証明した。これにより、ループ無しのタナーグラフ上で確立した密度発展理論に基づいて、ループ無しのタナーグラフ上のLDPC符号の復号閾値を精度良く計算し、その復号の収束条件を分析することにより、ループ有りのタナーグラフにおけるLDPC符号の性能を近似的に推定することができる。また、復号閾値の大きさはLDPC符号の構造パラメータと密接に相関しており、最適な重み分布で設計された非正則(irregular)LDPC符号は復号閾値を改善し得るため、密度発展理論はLDPC符号の設計を最適化するために用いることができることが研究によって明らかになっている。
LDPC符号の構成は、小ループの除去および高速符号化を目的として、主に2つの枠組みのもとで行われる。
一方は、ランダム構造LDPC符号に基づいて、小ループを極力除去したLDPC符号の構成である。このLDPC符号の構成方法として、例えば、Hu Xiaoyuの漸進的エッジ増加(Progressive Edge Growth:PEG)構成方法がある。この構成方法は、LDPC符号のタナーグラフにおいて、小ループを極力避けて、ループのループ長が大きくなるようにする方法である。この方法により構成されるLDPC符号はランダム構造の符号に好適である。また、Tian Taoらは、小ループを選択的に除去し、ストッピングセットの規模(size)を増加して、符号の誤り率を低減するビタビ式(Veterbi-like)アルゴリズムを提案した。ビタビ式アルゴリズムでは、LDPC符号におけるループ、ストッピングセット(stopping set)と、それらと関連する検査行列の列(線形相関列)との間の関係およびメッセージ伝達アルゴリズムにおける符号性能に対する制約を分析し、外部情報次数(extrinsic message degree)によってLDPC符号のタナーグラフの接続特性を測定する。
他方は、代数理論に基づいて、一定の代数構造を有し、高速符号化を実現することが可能な実用LDPC符号の構成方法である。最近の主な成果として、有限幾何構造に基づいた有限幾何LDPC符号がある。有限幾何LDPC符号は、タナーグラフにおいてループ長が4のループ(すなわち、最短ループ長のループ)を除去しており、簡単なフィードバックシフトレジスタを用いて線形時間符号化を実現することができる。有限幾何LDPC符号は、比較的良好な最小距離を有し、例えば、AWGN(Additive White Gaussian Noise:加法的白色ガウス雑音)通信路において、高符号化率、符号語長が長い(ロングコード)場合には、反復復号アルゴリズムの距離は、シャノン限界からわずか0.4dBのみである。
また、Tannerらは、準巡回(Quasi-Cyclic:QC)LDPC符号を設計した。準巡回LDPC符号の検査行列は巡回行列から構成され、準巡回LDPC符号に準巡回特性を与えるため、効率的な符号化を実現することができる。また、準巡回LDPC符号の代数構造は、高速大規模集積回路(VLSI)の実現に有利である。このような特性に基づいて、Tannerは、準巡回LDPC符号の巡回行列を用いたLDPC畳み込み符号を構成した。中・短符号語長の場合、その性能はランダム構造の正規符号に相当し、符号語長が長い(ロングコード)場合、その性能はランダム構造の符号よりもやや劣る。
LDPC符号理論がめざましく発展したことにより、LDPC符号の実用化のプロセスが推進されている。無線通信の規格であるIEEE802.16e規格において、LDPC符号は、符号化および変調を結びつけて考える符号化変調方式の選択肢の1つである。IEEE802.16e規格では、準巡回LDPC符号構成(符号語長は576から2304、符号化率は1/2,2/3,3/4,5/6)を採用し、大規模な行列乗算を小規模な行列乗算の並列構造に分解することにより、LDPC符号の符号化複雑度が高くなるという問題を解決している。
また、LDPC符号語における符号化ビットは異なる誤り保護の特性を備え、すなわち、その符号語における各符号化ビットは異なるノイズ耐性の能力を備える。現在提案されているLDPC符号化ビットの分類は、LDPC符号の検査行列における各符号化ビットの列重み(column degree)に基づいて行われる。符号化ビットの分類に関する文章として例えば、非特許文献1および非特許文献2が挙げられる。
図1は、LDPC符号の検査行列において定義される行重み(row degree)および列重みを示している。図1に示すように、検査行列におけるある行またはある列の非ゼロ要素の数は、それぞれ行の行重みまたは列の列重みを表す。例えば、図1に示すように、1列目〜12列目の列重みは、順に3,3,3,3,2,3,2,2,1,1,1,1となる。非特許文献1により開示された内容によれば、列重みの大きい列に対応する符号化ビットは、より高い誤り訂正能力を備えるため、コンスタレーションに代表されるビット系列における保護能力がより低いビット位置にマッピングされた方が好ましい。これにより、LDPC符号のノイズ耐性能力および符号化変調利得の両方を考慮した符号化変調性能を向上させることができる。ただし、このような分類方法は十分に簡単で直観的であるが、列重みの差が大きくないLDPC符号に対する分類効果は理想的ではない。よって、相応の符号化変調の要求を満たすためには、多くの場合、いくつかの符号化ビットをランダムに選択して大まかに分類せざるを得ず、正確性に欠ける。
図2は図1に示すLDPC符号の検査行列に対応するタナーグラフを示す。LDPC符号などの線形符号は図2に示すようにタナーグラフ(2部グラフ(bipartite graph)とも称される)として表され、G={V∪C,E}と記される。ここで、集合Vは変数ノードからなる集合であり、各変数ノードは符号化ビット、すなわち、LDPC符号の検査行列の各列に対応する。また、集合Cはチェックノードからなる集合であり、各チェックノードは各パリティ検査方程式、すなわち、LDPC符号の検査行列の各行に対応する。また、集合Eは、変数ノードとチェックノードとの間を接続する複数のエッジ(edge)からなる集合である。タナーグラフにおいて、変数ノードに対応する符号化ビットが、あるチェックノードにより表されるパリティ検査方程式に関与する場合、その符号化ビットに対応する検査行列の列ベクトルにおいて、そのチェックノードに対応する行上の要素は「0」ではない(すなわち、非ゼロ要素となる)。例えば、図1に示すLDPC符号の検査行列の5行目の2列目、5列目および9列目の各要素は「0」ではない。よって、図1に対応する図2に示すLDPC符号のタナーグラフにおいて、チェックノード5は、エッジを用いて変数ノード2、5、9とそれぞれ接続される。また、各ノードを接続するエッジの数を、そのノードの次数(degree)と称する。よって、図2に示すように、LDPC符号の検査行列の各列に対応する符号化ビットはタナーグラフにおける変数ノードとして表され、検査行列の各行に対応するパリティ検査方程式はチェックノードとして表される。現在、LDPC符号化ビットの性能についての研究において、LDPC符号化の誤り性能の説明は、主にタナーグラフに基づいて行われている。
LDPC符号では、符号化の複雑度が高く、例えば、符号化の複雑度は、符号語長の2乗に正比例して増加する。Rechardsonらは、符号化の複雑度を低減するために、検査行列をサブ行列に分解する方法を提案した。検査行列をサブ行列に分解する方法では、まず、階数が小さいm行×n列の基本行列を定義する。そして、実際の符号化時には、階数z×zのサブ行列を用いて基本行列を拡張することにより、実際の符号化時に用いる(m×z)×(n×z)の検査行列(以下、拡張行列という)を得る。基本行列における各要素は、それぞれz×zのサブ行列からなる。zの大きさの違いに応じて、同一の基本行列を拡張することにより、符号化率が同じで符号語長が異なる1組のLDPC符号を得ることができる。ここで、要素「0」はz×zの全零行列であるサブ行列を示し、その他の要素はz×zの単位行列の列が{p(f,i,j)}により示される値に基づいて巡回シフトされて得られるサブ行列を表す。zが採る値は、規格において定義された拡張要素z,(f∈[0,18])に対応する。行列における要素「1」は巡回シフト処理されない単位行列を表し、その他の巡回シフトされた値{p(f,i,j)}は、相応の拡張要素zと、行列において‘0’でもなく‘1’でもない要素とを用いて次式(1)に従い算出される(例えば、非特許文献3参照)。
Figure 2009060627
上記のように、zが採る値の違いにより、同一の基本行列から、1系統の離散符号語長の符号語を得ることができる。図1における1列目〜4列目の要素はシステマチックビットに対応し、情報ビットのビット数を表す。また、図1における5列目〜12列目の要素はパリティビットに対応する。Li Pingらは、図3に示すように、検査行列のパリティビットに対応する部分を双対角線構造(または、ジグザグ(Zig-Zag)構造とも称される)にしたセミランダムLDPC符号を提案した。その後、この双対角線構造はブロッキングに基づく準巡回LDPC符号に応用された。
また、LDPC符号の設計時に通常用いられるレートマッチング方法として、検査行列の短縮(shortening)、パンクチャリング(puncturing)および拡張(extension)がある。IEEE802.16では、上記3種類のレートマッチング方法を用いず、異なる符号化率に対してそれぞれ異なる検査行列を提供しているため、レートマッチングの柔軟性に欠けるという問題が生じている。そこで、3GPP LTE(3rd Generation Partnership Project Long Term Evolution)では、異なる符号化率に対してそれぞれ異なる検査行列を提供する代わりに、短縮、パンクチャリングおよび拡張によってレートマッチングすることが検討された。3種類のレートマッチングのうち、短縮および拡張の2種類のレートマッチング方法は、符号語の符号化率を低下させる方法であり、パンクチャリングは符号語の符号化率を増加させる方法である。
短縮によるレートマッチングでは、情報の先頭にいくつかのゼロ(「0」のビット)を追加し、元の検査行列(すなわち、基本行列)を用いて符号化を行う方法である。符号語の伝送時には、レートマッチングを行うために追加された「0」のビットは伝送されない。図4は短縮によるレートマッチング方法を示している。図4に示すように、まず、情報の先頭にいくつかの「0」を追加した情報は、検査行列を用いて符号化され、情報のシステマチックビットおよびパリティビットが構成される。最後に、伝送する符号語の中から、先頭に追加された「0」のビットを取り除くことにより、伝送ビットが短縮される。
パンクチャリングによるレートマッチングでは、符号化して得られる符号語のうち一部分のパリティビットを伝送しないことにより、伝送ビットの符号化率を増加させる。図5はパンクチャチングによるレートマッチング方法を示している。図5に示すように、情報を符号化してシステマチックビットおよびパリティビットを構成する。そして、×印のビットをパンクチャリングして伝送しないことにより、伝送ビットが短縮される。
拡張によるレートマッチングでは、符号化率を低下させるために、パリティビットを増加して本来の検査行列(すなわち、基本行列)を変更する。図6は拡張によるレートマッチング方法を示している。図6に示すように、情報を符号化することにより、システマチックビットおよびパリティビットを構成する。そして、システマチックビットおよびパリティビットの後ろにパリティビットを新たに付加することによって伝送ビットを拡張し、これによって符号化率を低下させる。
ここで、基本行列を用いた符号化により得られるLDPC符号を基本符号とし、中程度の符号化率の基本符号を採用した場合、パンクチャリングにより符号化率を増加させ、短縮または拡張により符号化率を低下させることができる。既存の結果によれば、符号化率(rate)=1/2のLDPC符号を基本符号として、短縮により符号化率を1/3に低下させる場合には、システマチックビットが取り除かれるため、その性能は同一条件のターボ符号よりも劣る。従って、中程度の符号化率をより低符号化率にレートマッチングする場合には、拡張によって基本符号にパリティビットを付加する方法が有効である。
また、基本符号は、双対角線構造を有し、準巡回構造を有する。例えば、基本符号は図7に示すような構造(図7では符号化率R=1/2のLDPC符号を基本符号とする)が採用されている。また、拡張の方法として、図7に示すように、基本行列のパリティビットに対応する部分の双対角線構造(ジグザグ構造)が双対角線方向に直接伸長された検査行列(すなわち、拡張行列)に拡張される。
Yan Li, William E. Ryan著、「Bit-Reliability Mapping in LDPC-Coded Modulation Systems」、2005年、「IEEE Communications Letters, VOL. 9, NO. 1, Jan 2005 1」 Rahnavard, N., Fekri, F.著「Unequal error protection using low-density parity-check codes」、2004年、「International Symposium on Information Theory 2004. Proceedings. 27 June-2 July 2004 Page(s):449」 IEEE Std. 802.16e - 2005
LDPC符号では、符号化処理に再帰的方式が採用されており、例えば、j列目に対応するパリティビットを計算した後に、(j+1)列目に対応するパリティビットの計算を開始することが可能となる。そのため、拡張によってパリティビットが増加することにより、符号化処理に要する時間(符号化時間)が増加してしまう。すなわち、再帰的符号化に基づいて増加する符号化時間、つまり、遅延時間の増加は、拡張によるパリティビットの増加に正比例する。図8は拡張された双対角線構造を有するパリティビットに対応する部分(すなわち、図7に示す7列目〜24列目に対応する部分)における符号化時間と生成されるパリティビットとの関係を示している。図8に示すように、符号化時間は、パリティビットの増加にともなって線形的に増加する。従って、この観点から言えば、再起的符号化は低符号化率を実現する拡張処理には明らかに適していない。
本発明の目的は、双対角線構造(ジグザグ構造)を有する準巡回LDPC符号の符号化並列度を向上させることによって符号化時間増加による遅延を低減し、拡張後のLDPC符号の符号化時間を基本符号の符号化時間にほぼ一致させて、符号化時間が符号化率の低下に伴って線形的に増加するという問題を解決する符号化方法および送信装置を提供することである。
本発明の一つの態様に係る符号化方法は、LDPC符号の検査行列において設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線方向に伸長して、双対角線構造を有する拡張行列を構成する工程と、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビットに対応する部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目まで左方向に移動する工程と、第1の検査関係を起動因子として(n−m+1)列目のパリティビットを計算する工程と、(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、複数グループのパリティビットを並列に同時に計算する工程とを有するようにした。
本発明の一つの態様に係る送信装置は、送信データに対して、LDPC符号の検査行列を用いたLDPC符号化を行ってシステマチックビットとパリティビットとから成る符号語を得る符号化手段と、前記符号語を送信する送信手段と、を具備し、前記符号化手段は、前記LDPC符号の前記検査行列において設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は前記拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線の方向に伸長して、双対角線構造を有する拡張行列を構成し、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビット部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目まで左方向に移動し、第1の検査関係を起動因子として前記(n−m+1)列目のパリティビットを計算し、前記(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、複数グループのパリティビットを並列に計算する構成を採る。
本発明によれば、双対角線構造を有するLDPC符号に対して、複数の符号化処理を並列に導入することで、拡張行列の構造を変更し、複数グループのパリティビットを同時に計算することができる。よって、最終的な符号化時間を拡張前の基本符号の符号化時間にほぼ一致させることができる。なお、符号化率の更なる低下に伴って、本発明における拡張方法によってもたらされる利点はより顕著となる。
LDPC符号検査行列が定義する行重みおよび列重みを示す図 LDPC符号化のタナーグラフを示す図 Zig−Zag構造を有するLDPC検査行列を示す図 短縮により伝送ビットの符号化率を低下させる方法を示す図 パンクチャリングにより伝送ビットの符号化率を上げる方法を示す図 検査行列を拡張することにより伝送ビットの符号化率を低下させる方法を示す図 双対角線構造を直接拡張するLDPC検査行列を示す図 直接拡張時における符号化時間と生成されるパリティビットとの関係を示す図 本発明の一実施の形態に係る送信装置の構成を示すブロック図 本発明の一実施の形態に係る受信装置の構成を示すブロック図 本発明の一実施の形態に係る双対角線構造を直接拡張した検査行列を示す図 本発明の一実施の形態に係る直接拡張時における符号化時間と生成されるパリティビットとの関係を示す図 本発明の一実施の形態に係る双対角線構造を有するサブ行列を用いて単位サブ行列を置換する様子を示す図 本発明の一実施の形態に係る双対角線構造を有するサブ行列を示す図 本発明の一実施の形態に係る単位サブ行列を示す図 本発明の一実施の形態に係る全零サブ行列を示す図 本発明の他の実施の形態に係る双方向符号化の場合に基本符号を変更した後の拡張行列の構造を示す図 本発明の他の実施の形態に係る直接拡張時における符号化時間と生成されるパリティビットとの関係を示す図 本発明の一実施の形態に係る双対角線構造を有する準巡回LDPC符号化処理のフロー図
以下、本発明の一実施の形態について、添付図面を参照して詳細に説明する。なお、以下の説明では、本発明と密接に関連しない不要な細部の処理および機能については、本発明の説明が煩雑になることを避けるために省略する。
本発明の一実施の形態に係る送信装置100の構成を図9に示す。
送信装置100において、LDPC符号化部101には、送信データが入力される。LDPC符号化部101は、LDPC符号の検査行列を用いて、送信データに対してLDPC符号化を行い、システマチックビットとパリティビットとから成るLDPC符号語を得る。また、LDPC符号化部101は、制御部109から入力される符号化率に応じてLDPC符号語から抽出した符号化ビット列(LDPC符号化ビット列)を変調部102に出力する。LDPC符号化部101における符号化方法の詳細については後述する。
変調部102は、制御部109から入力される変調多値数の変調方式に基づいて、LDPC符号化部101から入力されるLDPC符号化ビット列を変調してデータシンボルを生成し、多重部103に出力する。
多重部103は、パイロット信号、変調部102から入力されるデータシンボル、および、制御部109から入力される制御信号を多重し、生成された多重信号を無線送信部104に出力する。
無線送信部104は、多重信号に対しD/A変換、増幅およびアップコンバート等の送信処理を行って、アンテナ105から受信装置200へ送信する。これにより、LDPC符号語が受信装置200へ送信される。
一方、無線受信部106は、受信装置200から送信された制御信号を、アンテナ105を介して受信し、その制御信号に対しダウンコンバート、A/D変換等の受信処理を行って復調部107に出力する。この制御信号には、受信装置200で生成されたCQI(Channel Quality Indicator)およびACK/NACK信号が含まれている。なお、受信装置200から通知されるCQIは、平均SINR、平均SIRまたはMCSパラメータでもよい。
復調部107は、制御信号を復調して復号部108に出力する。
復号部108は、制御信号を復号し、制御信号に含まれているCQIおよびACK/NACK情報を制御部109に出力する。
制御部109は、入力されるCQIに対応する符号化率および変調多値数を決定し、決定した符号化率および変調多値数を示す制御信号をLDPC符号化部101、変調部102および多重部103に出力する。また、制御部109は、入力されるACK/NACK信号に基づいて送信データの再送を制御する。
次に、本発明の一実施の形態に係る受信装置について説明する。本実施の形態に係る受信装置200の構成を図10に示す。
受信装置200において、無線受信部202は、送信装置100(図9)から送信された多重信号をアンテナ201を介して受信し、受信信号に対しダウンコンバート、A/D変換等の受信処理を行う。この受信信号には、パイロット信号、および、データ信号(データシンボルおよび制御信号)が含まれている。そして、無線受信部202は、パイロット信号を回線品質推定部206に出力し、データ信号を分離部203に出力する。
分離部203は、データ信号をデータシンボルと制御信号とに分離する。そして、分離部203は、データシンボルを復調部204に出力し、制御信号をLDPC復号部205に出力する。
復調部204は、データシンボルを復調して受信データを得て、受信データをLDPC復号部205に出力する。
LDPC復号部205は、分離部203から入力される制御信号に示される符号化率に基づいて、復調部204から入力される受信データに対してLDPC復号を行い、受信データを得る。また、LDPC復号部205は、受信データに対して誤り検出を行い、ACK/NACK判定を行う。そして、LDPC復号部205は、ACK/NACK判定の結果であるACK/NACK信号をフィードバック情報生成部207に出力する。
一方、回線品質推定部206は、無線受信部202から入力されるパイロット信号を用いて回線品質(SINR)を推定する。回線品質推定部206は、推定したSINR推定値をフィードバック情報生成部207に出力する。
フィードバック情報生成部207は、入力されたSINR推定値に対応するCQIを生成する。そして、フィードバック情報生成部207は、生成したCQIおよびLDPC復号部205から入力されるACK/NACK信号を含むフィードバック情報用のフレームを生成する。そして、フィードバック情報生成部207は、フィードバック情報を符号化部208に出力する。
符号化部208は、フィードバック情報を符号化し、変調部209に出力する。
変調部209は、フィードバック情報を変調して制御信号を生成し、無線送信部210に出力する。
無線送信部210は、制御信号に対しD/A変換、増幅およびアップコンバート等の送信処理を行って、アンテナ201から送信装置100(図9)へ送信する。
なお、受信装置200の送信部(符号化部208、変調部209および無線送信部210)は、送信装置100の送信部と同様の構成でもよく、任意の構成でもよい。
次に、本発明の一実施の形態に係るLDPC符号化部101(図9)における符号化方法の詳細について説明する。ここでは、双対角線構造を有する検査行列を例に説明する。図11は、符号化率が中程度(符号化率R=1/2)であり、双対角線構造を有する準巡回LDPC符号を基本符号とする。また、図11では、符号化率R=1/3および1/4のLDPC符号に拡張する場合を示す。また、基本行列はm行×n列とし、ここでは、例えば、m=6、n=12とする。また、図11では、拡張された検査行列(拡張行列)の左上方部分の行列(図11の太線で囲まれた行列)が6行×12列の基本行列となる。また、図11に示す基本行列のうち、Hの部分はLDPC行列のシステマチックビットを表す。
ここで、基本行列を拡張するために、本発明に係る符号化方法を実現する送信装置100のLDPC符号化部101は、まず、拡張後の符号(拡張符号)の符号化率を1/k(k=3,4,5,…,k0)に設定する。ただし、1/k0は拡張符号の最小符号化率である。そして、LDPC符号化部101は、以下の方法によって基本行列を拡張することにより、双対角線構造を有する拡張行列を構成する。具体的には、LDPC符号化部101は、まず、図11に示す基本行列が有する双対角線構造を双対角線に沿って直接伸長する。これにより、上記図7に示すような双対角線構造を有する拡張行列が得られる。次いで、図11に示すように、LDPC符号化部101は、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビットに対応する部分の1つ目の非ゼロ要素(すなわち、(i*m+1)行目のパリティビットのうち、列番号が最も小さい非ゼロ要素)を、この行に沿って(n−m+1)列目(すなわち、パリティビットに対応する部分のうち最前列)まで左方向に移動する。
ここで、基本符号の符号化過程では、まず、(n−m+1)列目が計算される。そして、(n−m+1)列目の計算後に、再帰的にその後の列、すなわち、(n−m+2)列目からn列目までが順次計算される。このように、LDPC符号化部101において、本実施の形態に係る符号化方法に基づいて基本符号を拡張した場合には、まず、算出された(n−m+1)列目に、双対角線上のいくつかの非ゼロ要素が移動される。これにより、LDPC符号化部101は、まず、(n−m+1)列目において、移動された非ゼロ要素を含む非ゼロ要素が配置された行を用いて(n−m+1)列目のパリティビットを計算する。次いで、LDPC符号化部101は、(n−m+1)列目の要素を用いて、(n−m+2)列目および(n−m+1+j*m)列目(ただし、j=1,2,…,k0−2)を同時に計算する。さらに、LDPC符号化部101は、(n−m+1+j*m)列目を用いて、局部的な範囲で再帰的符号化の方式を用いて他の列のパリティビットを計算する。
具体的には、LDPC符号化部101は、図11に示すように、7(=1*6+1)行目および13(=2*6+1)行目のパリティビットに対応する部分の1つ目の非ゼロ要素(すなわち、図7に示す7行目12列目の非ゼロ要素、および、13行目18列目の非ゼロ要素)を、それぞれ7行目7列目および13行目7列目まで左方向に移動する。
次いで、LDPC符号化部101は、再帰的方式に従って、パリティビットを順次計算する。具体的には、第1の時間単位では、LDPC符号化部101は、1行目の要素の検査行列における他の要素との関係(検査関係)に基づいて、7(=n−m+1)列目のパリティビットを計算する。つまり、1行目の要素の検査関係(ここでは、第1の検査関係)を起動因子として7(=n−m+1)列目のパリティビットが計算される。ここで、LDPC符号化部101は、さらに、双対角線構造の性質を利用して、2行目7列目の要素を得ることができる。
次いで、第1の時間単位において7列目のパリティビットが計算されることで、2行目、7行目および13行目それぞれの7列目の要素が既に算出されているため、第2の時間単位では、LDPC符号化部101は、7列目の非ゼロ要素の各検査関係に基づいて、同時に複数グループ(すなわち、(n−m+2)列目および(n−m+1+j*m)列目)のパリティビットを並列に計算する。具体的には、第2の時間単位では、LDPC符号化部101は、2行目を用いて8列目のパリティビットを計算し、7行目を用いて13列目のパリティビットを計算し、13行目を用いて19列目のパリティビットを計算する。また、LDPC符号化部101は、双対角構造の性質を利用して、3行目8列目、8行目13列目および14行目19列目の各要素を得る。
同様に、第2の時間単位において3行目8列目、8行目13列目および14行目19列目の各要素が既に算出されているため、第3の時間単位では、LDPC符号化部101は、その各要素の検査関係に基づいて、同時に複数グループのパリティビットを並列に計算する。具体的には、第3の時間単位では、LDPC符号化部101は、3行目を用いて9列目のパリティビットを計算し、8行目を用いて14列目のパリティビットを計算し、14行目を用いて20列目のパリティビットを計算する。また、LDPC符号化部101は、双対角構造の性質を利用して、4行目9列目、9行目14列目および15行目20列目のパリティビットを得る。以降、LDPC符号化部101は、10列目〜12列目、15列目〜18列目および21列目〜24列目のパリティビットを算出するまで、同様の処理を順次行う。
図12は上述した本発明に係る符号化方法における符号化時間と生成されるパリティビットとの関係を示す図である。例えば、第1の時間単位(図12に示す符号化時間:0)では、7(パリティビットインデックス:7)列目のパリティビットが計算され、第2の時間単位(図12に示す符号化時間:1)では、8,13,19(パリティビットインデックス:8,13,19)列目のパリティビットが同時に計算され、第3の時間単位(図12に示す符号化時間:2)では、9,14,20(パリティビットインデックス:9,14,20)列目のパリティビットが同時に計算される。第4〜7の時間単位(図12に示す符号化時間:3〜6)についても同様である。このようにして、本発明に係る符号化方法を実現するLDPC符号化部101は、双対角線構造を有する拡張行列において、図11に示すように双対角線構造を変更し、拡張行列におけるパリティビットを基本行列と並列に計算することにより、拡張符号の符号化時間を基本符号の符号化時間にほぼ一致させることができる。具体的には、図12に示すように、基本符号(符号化率R=1/2)では、時間単位6(符号化時間:0〜5)を要したのに対し、拡張後の拡張符号(符号化率R=1/3および1/4)では、時間単位7(符号化時間:0〜6)を要する。ここで、本発明の一実施の形態に基づく拡張を用いると、双対角線構造を直接拡張する方法(例えば、図7および図8)と比較して、符号化時間を縮小することができる。
また、本発明におけるLDPC符号は、準巡回構造を採用しているため、検査行列の各要素はいずれも1つのサブ行列で表される。具体的には、図11において「0」は全零サブ行列を表し、「1」は単位サブ行列を表す。図11に示すように双対角線構造を変更した本発明に係る拡張行列については、列重みが1であるいくつかの列が存在し得る。列重み1の列の存在は、符号化性能に悪影響を及ぼし得る。そこで、本発明の他の実施の形態として、LDPC符号化部101は、双対角線構造を有する基本行列を拡張行列に変換した後に、双対角線構造を有するサブ行列を用いて列重み1のサブ行列を置換する。置換が完了すると、拡張行列のうち、最終列のみが列重み1となり、その他の列の列重みは2以上となる。図13Aは本発明の他の実施の形態により、列重み1の列を減少させるために、双対角線構造を有するサブ行列(図13B)を用いていくつかの単位サブ行列(図13C)を置換する様子を示す図である。ここで、図13Aにおいて、斜線部分は双対角線構造を有するサブ行列(図13B)を表し、「1」は単位サブ行列(図13C)を表し、「0」は図13Dに示す全零サブ行列を表す。上述した図11において、検査行列のパリティビットに対応する部分の対角線上の12列目、18列目および24列目の列重みは1であり、符号化性能に悪影響を及ぼす可能性がある。そこで、符号化性能の悪影響を低減するために、LDPC符号化部101は、図13Aに示すように、図13Bに示す双対角線構造を有するサブ行列を用いて12列目、18列目および24列目の単位サブ行列を置換する。
そして、LDPC符号化部101は、図13Aに示す拡張行列を用いて、上述した本発明に係る符号化方法に基づいて、パリティビットを並列に計算することにより、符号化時間(遅延時間)を短縮する。
また、上述した双対角線構造を有する準巡回LDPC符号を基本符号とする以外に、双方向符号化特性を有するLDPC符号の構造(例えば、IEEE802.16e規格における符号構造)を基本符号として双方向の符号化を並列に実現することによって、符号化時間(遅延時間)をさらに短縮することができる。この場合、LDPC符号化部101では、拡張構造に若干の調整を行う必要がある。
図14は双方向符号化を用いる場合の基本符号を拡張した後の拡張行列の構造を示す図である。図14において、太線で囲まれた部分は6行×12列の基本行列(LDPC行列)である。また、基本行列のうち、H1の部分(1行目〜6行目および1列目〜6列目の部分)はLDPC行列のシステマチックビットに対応する部分であり、1行目〜6行目および7列目〜12列目の部分は基本符号のパリティビットに対応する部分である。LDPC符号化部101は、基本行列の双対角線構造を双対角線に沿って直接伸長し、図14に示す12行×18列の拡張行列を構成する。ただし、基本符号部分、および、拡張によって新たに生成された各拡張サブブロックのいずれにおいても双方向符号化が実現されるように、LDPC符号化部101は、拡張サブブロック(図14では7行目〜12行目および13列目〜18列目の部分)の最終行(すなわち、12行目)の、拡張サブブロックの1つ前のサブブロック(図14では7行目〜12行目および7列目〜12列目の部分)の最終列(すなわち、12列目)に単位サブ行列(例えば、図13C)を配置する(つまり、12行目12列目の拡張サブブロックに単位サブ行列を配置する)。さらに、LDPC符号化部101は、各拡張サブブロックにおいて列重み1の列がある場合(すなわち、単位サブ行列のみが存在する場合)、単位サブ行列をその拡張サブブロックの中間位置の行まで上方向に移動する。なお、拡張サブブロックの行数が偶数のときは、LDPC符号化部101は、中間位置の2つの行のうち、下側の行に単位サブ量列を移動する。具体的には、図14に示すように、LDPC符号化部101は、12行目12列目に単位サブ行列を配置し、12行目18列目に配置されていた単位サブ行列を10行目18列目に移動する。これにより、各拡張サブブロックのいずれにおいても双方向符号化を行うことが可能となる。
以下、双方向符号化の場合の符号化過程について図14を用いて具体的に説明する。まず、第1の時間単位では、LDPC符号化部101は、符号化理論に従って、基本符号部分の6行を加算して、7列目の各要素、つまり、起動因子を算出する。次いで、第2の時間単位では、LDPC符号化部101は、算出された7列目の各要素を用いて(すなわち、7列目の検査関係に基づいて)、図14に示す検査行列における1行目の矢印が示す方向に8列目のパリティビットを計算する。これと同時に、LDPC符号化部101は、第1の時間単位で算出された6行目7列目の要素の検査関係に基づいて、12列目のパリティビットを計算し、7行目7列目の要素の検査関係に基づいて、13列目のパリティビットを計算することができる。第3の時間単位では、LDPC符号化部101は、第2の時間単位で算出された2行目8列目の要素の検査関係に基づいて、矢印が示す方向に9列目のパリティビットを計算し、5行目12列目の要素の検査関係に基づいて、矢印が示す方向に11列目のパリティビットを計算し、8行目13列目の要素の検査関係に基づいて、矢印が示す方向に14列目のパリティビットを計算することができる。さらに、第3の時間単位では、LDPC符号化部101は、12行目12列目の要素の検査関係に基づいて、17列のパリティビットを計算する。以降、同様の符号化方法によって符号化を行う。図15は、図14における符号化時間と生成されるパリティビットとの関係を示している。図15に示すように、LDPC符号化部101は、第4の時間単位(符号化時間:3)では、10列目、15列目および16列目のパリティビットを計算することができる。また、図15に示すように、LDPC符号化部101は、第5の時間単位(符号化時間:4)では、18列目のパリティビットを計算することができる。
このようにして、送信装置100のLDPC符号化部101は、図15に示すように双対角線構造を変更し、拡張サブブロックにおけるパリティビットを基本行列部分におけるパリティビットと並列に計算する。これにより、LDPC符号化部101は、双方向符号化を行う場合でも、拡張符号の符号化時間(遅延時間)を基本符号の符号化時間にほぼ一致させることができる。
図16は、本発明に係る双対角線構造を有する準巡回LDPC符号の符号化処理を示すフロー図である。ステップ(以下、‘S’という)141では、LDPC符号化部101は、設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線に沿って直接伸長して、双対角線構造を有する拡張行列を構成する。S142では、LDPC符号化部101は、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビットに対応する部分の1つ目の非ゼロ要素を、その行に沿って(n−m+1)列目まで左方向に移動する。S143では、LDPC符号化部101は、第1の検査関係を起動因子として(n−m+1)列目のパリティビットを計算する。S144では、LDPC符号化部101は、(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、並列方式で(n−m+2)列目および(n−m+1+j*m)列目(ただし、j=1,2,…,k0−2)のパリティビットを同時に計算する。以降、その他の列のパリティビットが算出されるまで、同様の方式が順次行われる。
このように、本発明によれば、送信装置は、双対角線構造を有するLDPC符号に対して、複数の符号化処理を並列に導入することで、拡張行列の構造を変更し、複数グループのパリティビットを同時に計算することができる。また、送信装置が複数の符号化処理を並列に行うことにより、符号化時間を短縮することができる。具体的には、最終的な符号化時間を拡張前の基本符号の符号化時間とほぼ一致させることができる。また、符号化率の更なる低下に伴って、この拡張方法によってもたらされる利点はより顕著となる。
以上、本発明を実施する最良の形態と併せて、本発明を説明した。本発明の精神および範囲を逸脱することなく、各種の他の変更、置換および追加が可能であることは、当業者にとって自明である。従って、本発明の範囲は、上記特定された実施の形態にのみ限定されると理解すべきでなく、添付された「請求の範囲」によって限定される。
2007年11月9日出願の中国出願200710186026.Xに含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
本発明に係る符号化方法および送信装置は、移動体通信システムおよび宇宙通信等の用途に適用することができる。
本発明は符号化の並列度を向上させることによって符号化時間の遅延を低減させる方法に関し、特に、双対角線構造を有する準巡回低密度パリティ検査符号に対して、複数の符号化処理を並列に導入し、拡張後の符号の符号化時間を符号化率の低下に伴って線形的に増加させることなく、基本符号の符号化時間にほぼ一致させることに関する。
近年、無線通信システムはデータを非常に高速で伝送できるように発展している。そのため、従来の符号化方法よりもさらに効率的な符号化方法が求められている。低密度パリティ検査(LDPC:Low Density Parity-Check)符号は、最近十年間で再び注目を集めてきた強力な前方誤り訂正符号の1つである。符号語(codeword)長が非常に長いLDPC符号はシャノン限界に近づきつつあるため、ターボ符号の有効な代替技術と考えられており、次世代移動通信および宇宙通信に用いられる可能性が高い。
LDPC符号は、パリティ検査行列に基づいて定義された符号の1つであり、1962年にGallagerによって提案されている。LDPC符号は、検査行列の列毎に少数j(j>=1)個の「1」を含み、行毎に少数k(k>j)個の「1」を含む特性を有する。この検査行列を用いて情報を符号化して得られる符号語の一般的な最小距離は符号語長の増加にともなって線形的に増加し、かつ、BSC(Binary Symmetric Channel)チャネルにおける復号誤りの一般的な確率は符号語長に伴って指数的に減少することがGallagerによって証明されている。
また、1981年に、Tannerは、図形モデルを用いて符号語を描写するという概念を提案し、LDPC符号の検査行列をタナーグラフ(Tanner graph)と称される検査行列の行と列とで構成される双方向の2つのノードからなる2部グラフに対応させた。タナーグラフにおいて、検査行列の各行はチェックノード(check node)と称され、検査行列の各列は変数ノード(variable node)と称される。タナーグラフの各変数ノードと各チェックノードとは、検査行列での「1」の配置に従って接続され、接続されたノード間で情報の伝達を反復して実施することにより復号処理が行われる。タナーグラフにより表されるLDPC符号は、復号処理を並列化できるため、復号処理の複雑度を著しく低下させることができる。Tannerは、さらに、Min−SumアルゴリズムおよびSum−Productアルゴリズムという2種類の情報伝達アルゴリズムを詳細に分析して、有限長であり、ループ(loop)が無いタナーグラフに基づく最小和復号アルゴリズムおよび積和復号アルゴリズムの最適性を証明した。しかしながら、タナーグラフは実際にはランダムグラフ構造を採用しており、ループ長が短いループ(以下、小ループという)が不可避的に存在する。このような小ループの存在は、復号情報の重複伝達を起こしうるため、LDPC符号化の反復復号過程における復号情報(メッセージ)間での独立性の仮定を満たせなくなり、伝達復号アルゴリズムの収束特性に悪影響を与える。
1996年になって、LDPC符号はターボ符号と比較して同様の優れた性能を有し、符号語長が長い場合には、ターボ符号を超える性能を有することがMackayとSpielmanとにより再発見された。これにより、LDPC符号は新たな研究課題となり、幅広い注目を集めている。
Rechardsonらは、ある制約を満たすLDPC符号構造の集合の研究から始め、無限長LDPC符号の密度発展理論(Density Evolution)を確立し、有限長LDPC符号を構成するための重要な参考情報を提供した。この研究において、復号情報の反復伝達過程にお
いて復号処理の閾値(復号閾値)が存在することを発見した。具体的には、Rechardsonらは、信号対雑音比が復号閾値よりも大きい場合には、反復復号を行うことにより復号情報の誤り率をゼロに近づけることが可能であるのに対し、信号対雑音比が復号閾値未満の場合には、いかに長い符号語長のLDPC符号を採用し、どれほどの回数の反復復号を行っても、一定の誤り率に収束することを発見した。また、Richardsonらは中心極限定理を応用して、有限長であり、ランダムグラフ構造であり、ループが存在するタナーグラフの復号閾値が、ループ無しのタナーグラフの復号閾値に近似することを証明した。これにより、ループ無しのタナーグラフ上で確立した密度発展理論に基づいて、ループ無しのタナーグラフ上のLDPC符号の復号閾値を精度良く計算し、その復号の収束条件を分析することにより、ループ有りのタナーグラフにおけるLDPC符号の性能を近似的に推定することができる。また、復号閾値の大きさはLDPC符号の構造パラメータと密接に相関しており、最適な重み分布で設計された非正則(irregular)LDPC符号は復号閾値を改善し得るため、密度発展理論はLDPC符号の設計を最適化するために用いることができることが研究によって明らかになっている。
LDPC符号の構成は、小ループの除去および高速符号化を目的として、主に2つの枠組みのもとで行われる。
一方は、ランダム構造LDPC符号に基づいて、小ループを極力除去したLDPC符号の構成である。このLDPC符号の構成方法として、例えば、Hu Xiaoyuの漸進的エッジ増加(Progressive Edge Growth:PEG)構成方法がある。この構成方法は、LDPC符号のタナーグラフにおいて、小ループを極力避けて、ループのループ長が大きくなるようにする方法である。この方法により構成されるLDPC符号はランダム構造の符号に好適である。また、Tian Taoらは、小ループを選択的に除去し、ストッピングセットの規模(size)を増加して、符号の誤り率を低減するビタビ式(Veterbi-like)アルゴリズムを提案した。ビタビ式アルゴリズムでは、LDPC符号におけるループ、ストッピングセット(stopping set)と、それらと関連する検査行列の列(線形相関列)との間の関係およびメッセージ伝達アルゴリズムにおける符号性能に対する制約を分析し、外部情報次数(extrinsic message degree)によってLDPC符号のタナーグラフの接続特性を測定する。
他方は、代数理論に基づいて、一定の代数構造を有し、高速符号化を実現することが可能な実用LDPC符号の構成方法である。最近の主な成果として、有限幾何構造に基づいた有限幾何LDPC符号がある。有限幾何LDPC符号は、タナーグラフにおいてループ長が4のループ(すなわち、最短ループ長のループ)を除去しており、簡単なフィードバックシフトレジスタを用いて線形時間符号化を実現することができる。有限幾何LDPC符号は、比較的良好な最小距離を有し、例えば、AWGN(Additive White Gaussian Noise:加法的白色ガウス雑音)通信路において、高符号化率、符号語長が長い(ロングコード)場合には、反復復号アルゴリズムの距離は、シャノン限界からわずか0.4dBのみである。
また、Tannerらは、準巡回(Quasi-Cyclic:QC)LDPC符号を設計した。準巡回LDPC符号の検査行列は巡回行列から構成され、準巡回LDPC符号に準巡回特性を与えるため、効率的な符号化を実現することができる。また、準巡回LDPC符号の代数構造は、高速大規模集積回路(VLSI)の実現に有利である。このような特性に基づいて、Tannerは、準巡回LDPC符号の巡回行列を用いたLDPC畳み込み符号を構成した。中・短符号語長の場合、その性能はランダム構造の正規符号に相当し、符号語長が長い(ロングコード)場合、その性能はランダム構造の符号よりもやや劣る。
LDPC符号理論がめざましく発展したことにより、LDPC符号の実用化のプロセス
が推進されている。無線通信の規格であるIEEE802.16e規格において、LDPC符号は、符号化および変調を結びつけて考える符号化変調方式の選択肢の1つである。IEEE802.16e規格では、準巡回LDPC符号構成(符号語長は576から2304、符号化率は1/2,2/3,3/4,5/6)を採用し、大規模な行列乗算を小規模な行列乗算の並列構造に分解することにより、LDPC符号の符号化複雑度が高くなるという問題を解決している。
また、LDPC符号語における符号化ビットは異なる誤り保護の特性を備え、すなわち、その符号語における各符号化ビットは異なるノイズ耐性の能力を備える。現在提案されているLDPC符号化ビットの分類は、LDPC符号の検査行列における各符号化ビットの列重み(column degree)に基づいて行われる。符号化ビットの分類に関する文章として例えば、非特許文献1および非特許文献2が挙げられる。
図1は、LDPC符号の検査行列において定義される行重み(row degree)および列重みを示している。図1に示すように、検査行列におけるある行またはある列の非ゼロ要素の数は、それぞれ行の行重みまたは列の列重みを表す。例えば、図1に示すように、1列目〜12列目の列重みは、順に3,3,3,3,2,3,2,2,1,1,1,1となる。非特許文献1により開示された内容によれば、列重みの大きい列に対応する符号化ビットは、より高い誤り訂正能力を備えるため、コンスタレーションに代表されるビット系列における保護能力がより低いビット位置にマッピングされた方が好ましい。これにより、LDPC符号のノイズ耐性能力および符号化変調利得の両方を考慮した符号化変調性能を向上させることができる。ただし、このような分類方法は十分に簡単で直観的であるが、列重みの差が大きくないLDPC符号に対する分類効果は理想的ではない。よって、相応の符号化変調の要求を満たすためには、多くの場合、いくつかの符号化ビットをランダムに選択して大まかに分類せざるを得ず、正確性に欠ける。
図2は図1に示すLDPC符号の検査行列に対応するタナーグラフを示す。LDPC符号などの線形符号は図2に示すようにタナーグラフ(2部グラフ(bipartite graph)とも称される)として表され、G={V∪C,E}と記される。ここで、集合Vは変数ノードからなる集合であり、各変数ノードは符号化ビット、すなわち、LDPC符号の検査行列の各列に対応する。また、集合Cはチェックノードからなる集合であり、各チェックノードは各パリティ検査方程式、すなわち、LDPC符号の検査行列の各行に対応する。また、集合Eは、変数ノードとチェックノードとの間を接続する複数のエッジ(edge)からなる集合である。タナーグラフにおいて、変数ノードに対応する符号化ビットが、あるチェックノードにより表されるパリティ検査方程式に関与する場合、その符号化ビットに対応する検査行列の列ベクトルにおいて、そのチェックノードに対応する行上の要素は「0」ではない(すなわち、非ゼロ要素となる)。例えば、図1に示すLDPC符号の検査行列の5行目の2列目、5列目および9列目の各要素は「0」ではない。よって、図1に対応する図2に示すLDPC符号のタナーグラフにおいて、チェックノード5は、エッジを用いて変数ノード2、5、9とそれぞれ接続される。また、各ノードを接続するエッジの数を、そのノードの次数(degree)と称する。よって、図2に示すように、LDPC符号の検査行列の各列に対応する符号化ビットはタナーグラフにおける変数ノードとして表され、検査行列の各行に対応するパリティ検査方程式はチェックノードとして表される。現在、LDPC符号化ビットの性能についての研究において、LDPC符号化の誤り性能の説明は、主にタナーグラフに基づいて行われている。
LDPC符号では、符号化の複雑度が高く、例えば、符号化の複雑度は、符号語長の2乗に正比例して増加する。Rechardsonらは、符号化の複雑度を低減するために、検査行列をサブ行列に分解する方法を提案した。検査行列をサブ行列に分解する方法では、まず、階数が小さいm行×n列の基本行列を定義する。そして、実際の符号化時には、階数z×
zのサブ行列を用いて基本行列を拡張することにより、実際の符号化時に用いる(m×z)×(n×z)の検査行列(以下、拡張行列という)を得る。基本行列における各要素は、それぞれz×zのサブ行列からなる。zの大きさの違いに応じて、同一の基本行列を拡張することにより、符号化率が同じで符号語長が異なる1組のLDPC符号を得ることができる。ここで、要素「0」はz×zの全零行列であるサブ行列を示し、その他の要素はz×zの単位行列の列が{p(f,i,j)}により示される値に基づいて巡回シフトされて得られるサブ行列を表す。zが採る値は、規格において定義された拡張要素z,(f∈[0,18])に対応する。行列における要素「1」は巡回シフト処理されない単位行列を表し、その他の巡回シフトされた値{p(f,i,j)}は、相応の拡張要素zと、行列において‘0’でもなく‘1’でもない要素とを用いて次式(1)に従い算出される(例えば、非特許文献3参照)。
Figure 2009060627
上記のように、zが採る値の違いにより、同一の基本行列から、1系統の離散符号語長の符号語を得ることができる。図1における1列目〜4列目の要素はシステマチックビットに対応し、情報ビットのビット数を表す。また、図1における5列目〜12列目の要素はパリティビットに対応する。Li Pingらは、図3に示すように、検査行列のパリティビットに対応する部分を双対角線構造(または、ジグザグ(Zig-Zag)構造とも称される)にしたセミランダムLDPC符号を提案した。その後、この双対角線構造はブロッキングに基づく準巡回LDPC符号に応用された。
また、LDPC符号の設計時に通常用いられるレートマッチング方法として、検査行列の短縮(shortening)、パンクチャリング(puncturing)および拡張(extension)がある。IEEE802.16では、上記3種類のレートマッチング方法を用いず、異なる符号化率に対してそれぞれ異なる検査行列を提供しているため、レートマッチングの柔軟性に欠けるという問題が生じている。そこで、3GPP LTE(3rd Generation Partnership Project Long Term Evolution)では、異なる符号化率に対してそれぞれ異なる検査行列を提供する代わりに、短縮、パンクチャリングおよび拡張によってレートマッチングすることが検討された。3種類のレートマッチングのうち、短縮および拡張の2種類のレートマッチング方法は、符号語の符号化率を低下させる方法であり、パンクチャリングは符号語の符号化率を増加させる方法である。
短縮によるレートマッチングでは、情報の先頭にいくつかのゼロ(「0」のビット)を追加し、元の検査行列(すなわち、基本行列)を用いて符号化を行う方法である。符号語の伝送時には、レートマッチングを行うために追加された「0」のビットは伝送されない。図4は短縮によるレートマッチング方法を示している。図4に示すように、まず、情報の先頭にいくつかの「0」を追加した情報は、検査行列を用いて符号化され、情報のシステマチックビットおよびパリティビットが構成される。最後に、伝送する符号語の中から、先頭に追加された「0」のビットを取り除くことにより、伝送ビットが短縮される。
パンクチャリングによるレートマッチングでは、符号化して得られる符号語のうち一部分のパリティビットを伝送しないことにより、伝送ビットの符号化率を増加させる。図5はパンクチャチングによるレートマッチング方法を示している。図5に示すように、情報を符号化してシステマチックビットおよびパリティビットを構成する。そして、×印のビットをパンクチャリングして伝送しないことにより、伝送ビットが短縮される。
拡張によるレートマッチングでは、符号化率を低下させるために、パリティビットを増加して本来の検査行列(すなわち、基本行列)を変更する。図6は拡張によるレートマッチング方法を示している。図6に示すように、情報を符号化することにより、システマチックビットおよびパリティビットを構成する。そして、システマチックビットおよびパリティビットの後ろにパリティビットを新たに付加することによって伝送ビットを拡張し、これによって符号化率を低下させる。
ここで、基本行列を用いた符号化により得られるLDPC符号を基本符号とし、中程度の符号化率の基本符号を採用した場合、パンクチャリングにより符号化率を増加させ、短縮または拡張により符号化率を低下させることができる。既存の結果によれば、符号化率(rate)=1/2のLDPC符号を基本符号として、短縮により符号化率を1/3に低下させる場合には、システマチックビットが取り除かれるため、その性能は同一条件のターボ符号よりも劣る。従って、中程度の符号化率をより低符号化率にレートマッチングする場合には、拡張によって基本符号にパリティビットを付加する方法が有効である。
また、基本符号は、双対角線構造を有し、準巡回構造を有する。例えば、基本符号は図7に示すような構造(図7では符号化率R=1/2のLDPC符号を基本符号とする)が採用されている。また、拡張の方法として、図7に示すように、基本行列のパリティビットに対応する部分の双対角線構造(ジグザグ構造)が双対角線方向に直接伸長された検査行列(すなわち、拡張行列)に拡張される。
Yan Li, William E. Ryan著、「Bit-Reliability Mapping in LDPC-Coded Modulation Systems」、2005年、「IEEE Communications Letters, VOL. 9, NO. 1, Jan 2005 1」 Rahnavard, N., Fekri, F.著「Unequal error protection using low-density parity-check codes」、2004年、「International Symposium on Information Theory 2004. Proceedings. 27 June-2 July 2004 Page(s):449」 IEEE Std. 802.16e - 2005
LDPC符号では、符号化処理に再帰的方式が採用されており、例えば、j列目に対応するパリティビットを計算した後に、(j+1)列目に対応するパリティビットの計算を開始することが可能となる。そのため、拡張によってパリティビットが増加することにより、符号化処理に要する時間(符号化時間)が増加してしまう。すなわち、再帰的符号化に基づいて増加する符号化時間、つまり、遅延時間の増加は、拡張によるパリティビットの増加に正比例する。図8は拡張された双対角線構造を有するパリティビットに対応する部分(すなわち、図7に示す7列目〜24列目に対応する部分)における符号化時間と生成されるパリティビットとの関係を示している。図8に示すように、符号化時間は、パリティビットの増加にともなって線形的に増加する。従って、この観点から言えば、再起的符号化は低符号化率を実現する拡張処理には明らかに適していない。
本発明の目的は、双対角線構造(ジグザグ構造)を有する準巡回LDPC符号の符号化並列度を向上させることによって符号化時間増加による遅延を低減し、拡張後のLDPC符号の符号化時間を基本符号の符号化時間にほぼ一致させて、符号化時間が符号化率の低下に伴って線形的に増加するという問題を解決する符号化方法および送信装置を提供することである。
本発明の一つの態様に係る符号化方法は、LDPC符号の検査行列において設定した拡
張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線方向に伸長して、双対角線構造を有する拡張行列を構成する工程と、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビットに対応する部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目まで左方向に移動する工程と、第1の検査関係を起動因子として(n−m+1)列目のパリティビットを計算する工程と、(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、複数グループのパリティビットを並列に同時に計算する工程とを有するようにした。
本発明の一つの態様に係る送信装置は、送信データに対して、LDPC符号の検査行列を用いたLDPC符号化を行ってシステマチックビットとパリティビットとから成る符号語を得る符号化手段と、前記符号語を送信する送信手段と、を具備し、前記符号化手段は、前記LDPC符号の前記検査行列において設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は前記拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線の方向に伸長して、双対角線構造を有する拡張行列を構成し、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビット部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目まで左方向に移動し、第1の検査関係を起動因子として前記(n−m+1)列目のパリティビットを計算し、前記(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、複数グループのパリティビットを並列に計算する構成を採る。
本発明によれば、双対角線構造を有するLDPC符号に対して、複数の符号化処理を並列に導入することで、拡張行列の構造を変更し、複数グループのパリティビットを同時に計算することができる。よって、最終的な符号化時間を拡張前の基本符号の符号化時間にほぼ一致させることができる。なお、符号化率の更なる低下に伴って、本発明における拡張方法によってもたらされる利点はより顕著となる。
以下、本発明の一実施の形態について、添付図面を参照して詳細に説明する。なお、以下の説明では、本発明と密接に関連しない不要な細部の処理および機能については、本発明の説明が煩雑になることを避けるために省略する。
本発明の一実施の形態に係る送信装置100の構成を図9に示す。
送信装置100において、LDPC符号化部101には、送信データが入力される。LDPC符号化部101は、LDPC符号の検査行列を用いて、送信データに対してLDPC符号化を行い、システマチックビットとパリティビットとから成るLDPC符号語を得る。また、LDPC符号化部101は、制御部109から入力される符号化率に応じてLDPC符号語から抽出した符号化ビット列(LDPC符号化ビット列)を変調部102に出力する。LDPC符号化部101における符号化方法の詳細については後述する。
変調部102は、制御部109から入力される変調多値数の変調方式に基づいて、LDPC符号化部101から入力されるLDPC符号化ビット列を変調してデータシンボルを生成し、多重部103に出力する。
多重部103は、パイロット信号、変調部102から入力されるデータシンボル、および、制御部109から入力される制御信号を多重し、生成された多重信号を無線送信部104に出力する。
無線送信部104は、多重信号に対しD/A変換、増幅およびアップコンバート等の送信処理を行って、アンテナ105から受信装置200へ送信する。これにより、LDPC符号語が受信装置200へ送信される。
一方、無線受信部106は、受信装置200から送信された制御信号を、アンテナ105を介して受信し、その制御信号に対しダウンコンバート、A/D変換等の受信処理を行って復調部107に出力する。この制御信号には、受信装置200で生成されたCQI(Channel Quality Indicator)およびACK/NACK信号が含まれている。なお、受信装置200から通知されるCQIは、平均SINR、平均SIRまたはMCSパラメータでもよい。
復調部107は、制御信号を復調して復号部108に出力する。
復号部108は、制御信号を復号し、制御信号に含まれているCQIおよびACK/NACK情報を制御部109に出力する。
制御部109は、入力されるCQIに対応する符号化率および変調多値数を決定し、決定した符号化率および変調多値数を示す制御信号をLDPC符号化部101、変調部102および多重部103に出力する。また、制御部109は、入力されるACK/NACK信号に基づいて送信データの再送を制御する。
次に、本発明の一実施の形態に係る受信装置について説明する。本実施の形態に係る受信装置200の構成を図10に示す。
受信装置200において、無線受信部202は、送信装置100(図9)から送信された多重信号をアンテナ201を介して受信し、受信信号に対しダウンコンバート、A/D変換等の受信処理を行う。この受信信号には、パイロット信号、および、データ信号(データシンボルおよび制御信号)が含まれている。そして、無線受信部202は、パイロット信号を回線品質推定部206に出力し、データ信号を分離部203に出力する。
分離部203は、データ信号をデータシンボルと制御信号とに分離する。そして、分離部203は、データシンボルを復調部204に出力し、制御信号をLDPC復号部205に出力する。
復調部204は、データシンボルを復調して受信データを得て、受信データをLDPC復号部205に出力する。
LDPC復号部205は、分離部203から入力される制御信号に示される符号化率に基づいて、復調部204から入力される受信データに対してLDPC復号を行い、受信データを得る。また、LDPC復号部205は、受信データに対して誤り検出を行い、ACK/NACK判定を行う。そして、LDPC復号部205は、ACK/NACK判定の結果であるACK/NACK信号をフィードバック情報生成部207に出力する。
一方、回線品質推定部206は、無線受信部202から入力されるパイロット信号を用いて回線品質(SINR)を推定する。回線品質推定部206は、推定したSINR推定値をフィードバック情報生成部207に出力する。
フィードバック情報生成部207は、入力されたSINR推定値に対応するCQIを生成する。そして、フィードバック情報生成部207は、生成したCQIおよびLDPC復号部205から入力されるACK/NACK信号を含むフィードバック情報用のフレームを生成する。そして、フィードバック情報生成部207は、フィードバック情報を符号化部208に出力する。
符号化部208は、フィードバック情報を符号化し、変調部209に出力する。
変調部209は、フィードバック情報を変調して制御信号を生成し、無線送信部210に出力する。
無線送信部210は、制御信号に対しD/A変換、増幅およびアップコンバート等の送信処理を行って、アンテナ201から送信装置100(図9)へ送信する。
なお、受信装置200の送信部(符号化部208、変調部209および無線送信部210)は、送信装置100の送信部と同様の構成でもよく、任意の構成でもよい。
次に、本発明の一実施の形態に係るLDPC符号化部101(図9)における符号化方法の詳細について説明する。ここでは、双対角線構造を有する検査行列を例に説明する。図11は、符号化率が中程度(符号化率R=1/2)であり、双対角線構造を有する準巡回LDPC符号を基本符号とする。また、図11では、符号化率R=1/3および1/4のLDPC符号に拡張する場合を示す。また、基本行列はm行×n列とし、ここでは、例えば、m=6、n=12とする。また、図11では、拡張された検査行列(拡張行列)の左上方部分の行列(図11の太線で囲まれた行列)が6行×12列の基本行列となる。また、図11に示す基本行列のうち、Hの部分はLDPC行列のシステマチックビットを表す。
ここで、基本行列を拡張するために、本発明に係る符号化方法を実現する送信装置100のLDPC符号化部101は、まず、拡張後の符号(拡張符号)の符号化率を1/k(k=3,4,5,…,k0)に設定する。ただし、1/k0は拡張符号の最小符号化率である。そして、LDPC符号化部101は、以下の方法によって基本行列を拡張することにより、双対角線構造を有する拡張行列を構成する。具体的には、LDPC符号化部101は、まず、図11に示す基本行列が有する双対角線構造を双対角線に沿って直接伸長する。これにより、上記図7に示すような双対角線構造を有する拡張行列が得られる。次いで、図11に示すように、LDPC符号化部101は、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビットに対応する部分の1つ目の非ゼロ要素(すなわち、(i*m+1)行目のパリティビットのうち、列番号が最も小さい非ゼロ要素)を、この行に沿って(n−m+1)列目(すなわち、パリティビットに対応する部分のうち最前列)まで左方向に移動する。
ここで、基本符号の符号化過程では、まず、(n−m+1)列目が計算される。そして、(n−m+1)列目の計算後に、再帰的にその後の列、すなわち、(n−m+2)列目からn列目までが順次計算される。このように、LDPC符号化部101において、本実施の形態に係る符号化方法に基づいて基本符号を拡張した場合には、まず、算出された(n−m+1)列目に、双対角線上のいくつかの非ゼロ要素が移動される。これにより、LDPC符号化部101は、まず、(n−m+1)列目において、移動された非ゼロ要素を含む非ゼロ要素が配置された行を用いて(n−m+1)列目のパリティビットを計算する。次いで、LDPC符号化部101は、(n−m+1)列目の要素を用いて、(n−m+2)列目および(n−m+1+j*m)列目(ただし、j=1,2,…,k0−2)を同時に計算する。さらに、LDPC符号化部101は、(n−m+1+j*m)列目を用いて、局部的な範囲で再帰的符号化の方式を用いて他の列のパリティビットを計算する。
具体的には、LDPC符号化部101は、図11に示すように、7(=1*6+1)行目および13(=2*6+1)行目のパリティビットに対応する部分の1つ目の非ゼロ要素(すなわち、図7に示す7行目12列目の非ゼロ要素、および、13行目18列目の非ゼロ要素)を、それぞれ7行目7列目および13行目7列目まで左方向に移動する。
次いで、LDPC符号化部101は、再帰的方式に従って、パリティビットを順次計算する。具体的には、第1の時間単位では、LDPC符号化部101は、1行目の要素の検査行列における他の要素との関係(検査関係)に基づいて、7(=n−m+1)列目のパリティビットを計算する。つまり、1行目の要素の検査関係(ここでは、第1の検査関係)を起動因子として7(=n−m+1)列目のパリティビットが計算される。ここで、LDPC符号化部101は、さらに、双対角線構造の性質を利用して、2行目7列目の要素を得ることができる。
次いで、第1の時間単位において7列目のパリティビットが計算されることで、2行目、7行目および13行目それぞれの7列目の要素が既に算出されているため、第2の時間単位では、LDPC符号化部101は、7列目の非ゼロ要素の各検査関係に基づいて、同時に複数グループ(すなわち、(n−m+2)列目および(n−m+1+j*m)列目)のパリティビットを並列に計算する。具体的には、第2の時間単位では、LDPC符号化部101は、2行目を用いて8列目のパリティビットを計算し、7行目を用いて13列目のパリティビットを計算し、13行目を用いて19列目のパリティビットを計算する。また、LDPC符号化部101は、双対角構造の性質を利用して、3行目8列目、8行目13列目および14行目19列目の各要素を得る。
同様に、第2の時間単位において3行目8列目、8行目13列目および14行目19列
目の各要素が既に算出されているため、第3の時間単位では、LDPC符号化部101は、その各要素の検査関係に基づいて、同時に複数グループのパリティビットを並列に計算する。具体的には、第3の時間単位では、LDPC符号化部101は、3行目を用いて9列目のパリティビットを計算し、8行目を用いて14列目のパリティビットを計算し、14行目を用いて20列目のパリティビットを計算する。また、LDPC符号化部101は、双対角構造の性質を利用して、4行目9列目、9行目14列目および15行目20列目のパリティビットを得る。以降、LDPC符号化部101は、10列目〜12列目、15列目〜18列目および21列目〜24列目のパリティビットを算出するまで、同様の処理を順次行う。
図12は上述した本発明に係る符号化方法における符号化時間と生成されるパリティビットとの関係を示す図である。例えば、第1の時間単位(図12に示す符号化時間:0)では、7(パリティビットインデックス:7)列目のパリティビットが計算され、第2の時間単位(図12に示す符号化時間:1)では、8,13,19(パリティビットインデックス:8,13,19)列目のパリティビットが同時に計算され、第3の時間単位(図12に示す符号化時間:2)では、9,14,20(パリティビットインデックス:9,14,20)列目のパリティビットが同時に計算される。第4〜7の時間単位(図12に示す符号化時間:3〜6)についても同様である。このようにして、本発明に係る符号化方法を実現するLDPC符号化部101は、双対角線構造を有する拡張行列において、図11に示すように双対角線構造を変更し、拡張行列におけるパリティビットを基本行列と並列に計算することにより、拡張符号の符号化時間を基本符号の符号化時間にほぼ一致させることができる。具体的には、図12に示すように、基本符号(符号化率R=1/2)では、時間単位6(符号化時間:0〜5)を要したのに対し、拡張後の拡張符号(符号化率R=1/3および1/4)では、時間単位7(符号化時間:0〜6)を要する。ここで、本発明の一実施の形態に基づく拡張を用いると、双対角線構造を直接拡張する方法(例えば、図7および図8)と比較して、符号化時間を縮小することができる。
また、本発明におけるLDPC符号は、準巡回構造を採用しているため、検査行列の各要素はいずれも1つのサブ行列で表される。具体的には、図11において「0」は全零サブ行列を表し、「1」は単位サブ行列を表す。図11に示すように双対角線構造を変更した本発明に係る拡張行列については、列重みが1であるいくつかの列が存在し得る。列重み1の列の存在は、符号化性能に悪影響を及ぼし得る。そこで、本発明の他の実施の形態として、LDPC符号化部101は、双対角線構造を有する基本行列を拡張行列に変換した後に、双対角線構造を有するサブ行列を用いて列重み1のサブ行列を置換する。置換が完了すると、拡張行列のうち、最終列のみが列重み1となり、その他の列の列重みは2以上となる。図13Aは本発明の他の実施の形態により、列重み1の列を減少させるために、双対角線構造を有するサブ行列(図13B)を用いていくつかの単位サブ行列(図13C)を置換する様子を示す図である。ここで、図13Aにおいて、斜線部分は双対角線構造を有するサブ行列(図13B)を表し、「1」は単位サブ行列(図13C)を表し、「0」は図13Dに示す全零サブ行列を表す。上述した図11において、検査行列のパリティビットに対応する部分の対角線上の12列目、18列目および24列目の列重みは1であり、符号化性能に悪影響を及ぼす可能性がある。そこで、符号化性能の悪影響を低減するために、LDPC符号化部101は、図13Aに示すように、図13Bに示す双対角線構造を有するサブ行列を用いて12列目、18列目および24列目の単位サブ行列を置換する。
そして、LDPC符号化部101は、図13Aに示す拡張行列を用いて、上述した本発明に係る符号化方法に基づいて、パリティビットを並列に計算することにより、符号化時間(遅延時間)を短縮する。
また、上述した双対角線構造を有する準巡回LDPC符号を基本符号とする以外に、双方向符号化特性を有するLDPC符号の構造(例えば、IEEE802.16e規格における符号構造)を基本符号として双方向の符号化を並列に実現することによって、符号化時間(遅延時間)をさらに短縮することができる。この場合、LDPC符号化部101では、拡張構造に若干の調整を行う必要がある。
図14は双方向符号化を用いる場合の基本符号を拡張した後の拡張行列の構造を示す図である。図14において、太線で囲まれた部分は6行×12列の基本行列(LDPC行列)である。また、基本行列のうち、H1の部分(1行目〜6行目および1列目〜6列目の部分)はLDPC行列のシステマチックビットに対応する部分であり、1行目〜6行目および7列目〜12列目の部分は基本符号のパリティビットに対応する部分である。LDPC符号化部101は、基本行列の双対角線構造を双対角線に沿って直接伸長し、図14に示す12行×18列の拡張行列を構成する。ただし、基本符号部分、および、拡張によって新たに生成された各拡張サブブロックのいずれにおいても双方向符号化が実現されるように、LDPC符号化部101は、拡張サブブロック(図14では7行目〜12行目および13列目〜18列目の部分)の最終行(すなわち、12行目)の、拡張サブブロックの1つ前のサブブロック(図14では7行目〜12行目および7列目〜12列目の部分)の最終列(すなわち、12列目)に単位サブ行列(例えば、図13C)を配置する(つまり、12行目12列目の拡張サブブロックに単位サブ行列を配置する)。さらに、LDPC符号化部101は、各拡張サブブロックにおいて列重み1の列がある場合(すなわち、単位サブ行列のみが存在する場合)、単位サブ行列をその拡張サブブロックの中間位置の行まで上方向に移動する。なお、拡張サブブロックの行数が偶数のときは、LDPC符号化部101は、中間位置の2つの行のうち、下側の行に単位サブ量列を移動する。具体的には、図14に示すように、LDPC符号化部101は、12行目12列目に単位サブ行列を配置し、12行目18列目に配置されていた単位サブ行列を10行目18列目に移動する。これにより、各拡張サブブロックのいずれにおいても双方向符号化を行うことが可能となる。
以下、双方向符号化の場合の符号化過程について図14を用いて具体的に説明する。まず、第1の時間単位では、LDPC符号化部101は、符号化理論に従って、基本符号部分の6行を加算して、7列目の各要素、つまり、起動因子を算出する。次いで、第2の時間単位では、LDPC符号化部101は、算出された7列目の各要素を用いて(すなわち、7列目の検査関係に基づいて)、図14に示す検査行列における1行目の矢印が示す方向に8列目のパリティビットを計算する。これと同時に、LDPC符号化部101は、第1の時間単位で算出された6行目7列目の要素の検査関係に基づいて、12列目のパリティビットを計算し、7行目7列目の要素の検査関係に基づいて、13列目のパリティビットを計算することができる。第3の時間単位では、LDPC符号化部101は、第2の時間単位で算出された2行目8列目の要素の検査関係に基づいて、矢印が示す方向に9列目のパリティビットを計算し、5行目12列目の要素の検査関係に基づいて、矢印が示す方向に11列目のパリティビットを計算し、8行目13列目の要素の検査関係に基づいて、矢印が示す方向に14列目のパリティビットを計算することができる。さらに、第3の時間単位では、LDPC符号化部101は、12行目12列目の要素の検査関係に基づいて、17列のパリティビットを計算する。以降、同様の符号化方法によって符号化を行う。図15は、図14における符号化時間と生成されるパリティビットとの関係を示している。図15に示すように、LDPC符号化部101は、第4の時間単位(符号化時間:3)では、10列目、15列目および16列目のパリティビットを計算することができる。また、図15に示すように、LDPC符号化部101は、第5の時間単位(符号化時間:4)では、18列目のパリティビットを計算することができる。
このようにして、送信装置100のLDPC符号化部101は、図15に示すように双
対角線構造を変更し、拡張サブブロックにおけるパリティビットを基本行列部分におけるパリティビットと並列に計算する。これにより、LDPC符号化部101は、双方向符号化を行う場合でも、拡張符号の符号化時間(遅延時間)を基本符号の符号化時間にほぼ一致させることができる。
図16は、本発明に係る双対角線構造を有する準巡回LDPC符号の符号化処理を示すフロー図である。ステップ(以下、‘S’という)141では、LDPC符号化部101は、設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線に沿って直接伸長して、双対角線構造を有する拡張行列を構成する。S142では、LDPC符号化部101は、(i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビットに対応する部分の1つ目の非ゼロ要素を、その行に沿って(n−m+1)列目まで左方向に移動する。S143では、LDPC符号化部101は、第1の検査関係を起動因子として(n−m+1)列目のパリティビットを計算する。S144では、LDPC符号化部101は、(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、並列方式で(n−m+2)列目および(n−m+1+j*m)列目(ただし、j=1,2,…,k0−2)のパリティビットを同時に計算する。以降、その他の列のパリティビットが算出されるまで、同様の方式が順次行われる。
このように、本発明によれば、送信装置は、双対角線構造を有するLDPC符号に対して、複数の符号化処理を並列に導入することで、拡張行列の構造を変更し、複数グループのパリティビットを同時に計算することができる。また、送信装置が複数の符号化処理を並列に行うことにより、符号化時間を短縮することができる。具体的には、最終的な符号化時間を拡張前の基本符号の符号化時間とほぼ一致させることができる。また、符号化率の更なる低下に伴って、この拡張方法によってもたらされる利点はより顕著となる。
以上、本発明を実施する最良の形態と併せて、本発明を説明した。本発明の精神および範囲を逸脱することなく、各種の他の変更、置換および追加が可能であることは、当業者にとって自明である。従って、本発明の範囲は、上記特定された実施の形態にのみ限定されると理解すべきでなく、添付された「請求の範囲」によって限定される。
2007年11月9日出願の中国出願200710186026.Xに含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
本発明に係る符号化方法および送信装置は、移動体通信システムおよび宇宙通信等の用途に適用することができる。
LDPC符号検査行列が定義する行重みおよび列重みを示す図 LDPC符号化のタナーグラフを示す図 Zig−Zag構造を有するLDPC検査行列を示す図 短縮により伝送ビットの符号化率を低下させる方法を示す図 パンクチャリングにより伝送ビットの符号化率を上げる方法を示す図 検査行列を拡張することにより伝送ビットの符号化率を低下させる方法を示す図 双対角線構造を直接拡張するLDPC検査行列を示す図 直接拡張時における符号化時間と生成されるパリティビットとの関係を示す図 本発明の一実施の形態に係る送信装置の構成を示すブロック図 本発明の一実施の形態に係る受信装置の構成を示すブロック図 本発明の一実施の形態に係る双対角線構造を直接拡張した検査行列を示す図 本発明の一実施の形態に係る直接拡張時における符号化時間と生成されるパリティビットとの関係を示す図 本発明の一実施の形態に係る双対角線構造を有するサブ行列を用いて単位サブ行列を置換する様子を示す図 本発明の一実施の形態に係る双対角線構造を有するサブ行列を示す図 本発明の一実施の形態に係る単位サブ行列を示す図 本発明の一実施の形態に係る全零サブ行列を示す図 本発明の他の実施の形態に係る双方向符号化の場合に基本符号を変更した後の拡張行列の構造を示す図 本発明の他の実施の形態に係る直接拡張時における符号化時間と生成されるパリティビットとの関係を示す図 本発明の一実施の形態に係る双対角線構造を有する準巡回LDPC符号化処理のフロー図

Claims (5)

  1. LDPC符号の検査行列において設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は前記拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線の方向に伸長して、双対角線構造を有する拡張行列を構成する工程と、
    (i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビット部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目まで左方向に移動する工程と、
    第1の検査関係を起動因子として前記(n−m+1)列目のパリティビットを計算する工程と、
    前記(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、複数グループのパリティビットを並列に計算する工程と、
    を有する符号化方法。
  2. 前記複数グループのパリティビットは、(n−m+2)列目および(n−m+1+j*m)列目(ただし、j=1,2,…,k0−2)のパリティビットである、
    請求項1記載の符号化方法。
  3. 前記基本行列を拡張して双対角線構造を有する前記拡張行列に変換した後に、列重みが1のサブ行列が存在する場合に、双対角線構造を有するサブ行列を用いて前記列重みが1の前記サブ行列を置換する工程を、さらに有する、
    請求項1記載の符号化方法。
  4. 低密度パリティ検査符号が双方向符号化特性を有する場合、前記起動因子を用いて、第1のパリティビットを計算した後に、双方向並列方式で前記複数グループのパリティビットを同時に計算する、
    請求項1記載の符号化方法。
  5. 送信データに対して、LDPC符号の検査行列を用いたLDPC符号化を行ってシステマチックビットとパリティビットとから成る符号語を得る符号化手段と、
    前記符号語を送信する送信手段と、を具備し、
    前記符号化手段は、
    前記LDPC符号の前記検査行列において設定した拡張符号の符号化率1/k(ただし、k=3,4,5,…,k0であり、1/k0は前記拡張符号の最小符号化率である)に基づいて、m行n列の基本行列の双対角線構造を双対角線の方向に伸長して、双対角線構造を有する拡張行列を構成し、
    (i*m+1)行目(ただし、i=1,2,…,k0−2)のパリティビット部分の1つ目の非ゼロ要素を当該行に沿って(n−m+1)列目まで左方向に移動し、
    第1の検査関係を起動因子として前記(n−m+1)列目のパリティビットを計算し、
    前記(n−m+1)列目まで左方向に移動した非ゼロ要素の検査関係に基づいて、再帰的符号化方式により、複数グループのパリティビットを並列に計算する、
    送信装置。
JP2009539970A 2007-11-09 2008-11-07 符号化方法および送信装置 Withdrawn JPWO2009060627A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNA200710186026XA CN101431337A (zh) 2007-11-09 2007-11-09 提高编码并行度实现降低编码时延的方法
CN200710186026.X 2007-11-09
PCT/JP2008/003240 WO2009060627A1 (ja) 2007-11-09 2008-11-07 符号化方法および送信装置

Publications (1)

Publication Number Publication Date
JPWO2009060627A1 true JPWO2009060627A1 (ja) 2011-03-17

Family

ID=40625534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009539970A Withdrawn JPWO2009060627A1 (ja) 2007-11-09 2008-11-07 符号化方法および送信装置

Country Status (4)

Country Link
US (1) US20100251062A1 (ja)
JP (1) JPWO2009060627A1 (ja)
CN (1) CN101431337A (ja)
WO (1) WO2009060627A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539304B1 (en) * 2010-04-27 2013-09-17 Marvell International Ltd. Parallel encoder for low-density parity-check (LDPC) codes
WO2013032156A1 (en) * 2011-08-30 2013-03-07 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving information in a broadcasting/communication system
CN102386933B (zh) * 2011-11-11 2013-04-24 中国科学院上海微系统与信息技术研究所 一种准循环ldpc码校验矩阵的构造方法
WO2013097174A1 (zh) * 2011-12-30 2013-07-04 华为技术有限公司 前向纠错编、解码方法、装置及系统
CN102843151A (zh) * 2012-09-27 2012-12-26 苏州威士达信息科技有限公司 一种低延时的cmmb中ldpc并行编码器和编码方法
CN102843146A (zh) * 2012-09-27 2012-12-26 苏州威士达信息科技有限公司 一种低延时的深空通信中ldpc并行编码器和编码方法
US10193570B2 (en) 2013-12-03 2019-01-29 Samsung Electronics Co., Ltd Method of and apparatus for generating spatially-coupled low-density parity-check code
CN104202057B (zh) * 2014-02-12 2019-08-16 中兴通讯股份有限公司 信息处理方法及装置
CN104092536B (zh) * 2014-05-24 2018-02-16 中国人民解放军信息工程大学 便于硬件实现的量子密钥分发中的信息协调方法
CN104967455B (zh) * 2015-07-09 2018-02-23 北京邮电大学 空间耦合低密度奇偶校验码的递归编码方法
EP3232574A1 (en) * 2016-04-14 2017-10-18 Xieon Networks S.à r.l. A decoder for a family of rate compatible low-density parity check (ldpc) codes
CN116827357A (zh) * 2016-05-13 2023-09-29 中兴通讯股份有限公司 一种结构化低密度奇偶校验码ldpc的编码、译码方法及装置
CN107733440B (zh) * 2016-08-12 2022-12-02 中兴通讯股份有限公司 多边类型结构化ldpc处理方法及装置
CN107888198B (zh) * 2016-09-30 2023-05-26 中兴通讯股份有限公司 准循环ldpc编译码方法、装置及ldpc编译码器
WO2018084732A1 (en) * 2016-11-01 2018-05-11 Huawei Technologies Co., Ltd Ldpc codes for incremental redundancy harq (ir-harq) schemes
CN108123776A (zh) 2016-11-30 2018-06-05 华为技术有限公司 一种编码和调制方法、通信装置
EP4187794A1 (en) 2017-06-15 2023-05-31 Huawei Technologies Co., Ltd. Qc-ldpc codes for 3gpp 5g mobile radio
CN109150196B (zh) 2017-06-27 2024-06-18 华为技术有限公司 信息处理的方法、装置和通信设备
CN109327225B9 (zh) * 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
WO2019031925A1 (ko) * 2017-08-10 2019-02-14 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
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
US11588578B2 (en) 2019-12-13 2023-02-21 Samsung Electronics Co., Ltd. System and method for encoding data using punctured low-density parity-check codes
CN114268326B (zh) * 2021-12-06 2024-06-25 西安空间无线电技术研究所 一种自适应qc-ldpc码的确定性构造方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4225163B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号装置および復号方法、並びにプログラム
JP4672015B2 (ja) * 2004-07-27 2011-04-20 エルジー エレクトロニクス インコーポレイティド 低密度パリティ検査コードを用いた符号化及び復号化方法
JP4591371B2 (ja) * 2005-10-07 2010-12-01 ソニー株式会社 Qc符号の符号化方法
US7925965B2 (en) * 2006-02-02 2011-04-12 Samsung Electronics Co., Ltd Method for transmitting/receiving signals in a communications system and an apparatus therefor
KR101154995B1 (ko) * 2006-07-14 2012-06-15 엘지전자 주식회사 Ldpc 부호화를 수행하는 방법
US20110154168A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Effective high-speed ldpc encoding method and apparatus using the same

Also Published As

Publication number Publication date
WO2009060627A1 (ja) 2009-05-14
CN101431337A (zh) 2009-05-13
US20100251062A1 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
JPWO2009060627A1 (ja) 符号化方法および送信装置
KR102539474B1 (ko) 무선 통신 시스템을 위한 sc-ldpc 코드들
KR101021465B1 (ko) 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
US11646818B2 (en) Method and apparatus for encoding/decoding channel in communication or broadcasting system
US7934146B2 (en) Method, apparatus and computer program product providing for data block encoding and decoding
WO2010035501A1 (ja) Ldpc符号を構成する方法、送信装置および受信装置
JP5436688B2 (ja) 線形ブロック符号を使用する通信システムにおけるパリティ検査行列を生成する方法及び装置とそれを用いる送受信装置及び方法
JP2008503975A (ja) Ldpcコードを用いた可変コードレート適応符号化及び復号化方法
JP2007531385A (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
US11101926B2 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system
US11791845B2 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system
KR20190112124A (ko) 높은 레이트의 긴 ldpc 코드
KR20190017594A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20180088423A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
US12021618B2 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system
KR101145673B1 (ko) 특정 구조를 가지는 lt코드를 이용한 부호화 방법 및 이를 기반으로 하는 랩터 코드를 이용한 부호화 방법
Uchoa et al. Repeat accumulate based constructions for LDPC codes on fading channels
Zhu et al. An improved ensemble of variable-rate LDPC codes with precoding
KR101354731B1 (ko) 통신 시스템에서 연접 저밀도 생성 행렬 부호 부호화/복호장치 및 방법
KR20230019636A (ko) 통신 및 방송 시스템에서 데이터 복호화 방법 및 장치
Liu Novel LDPC coding and decoding strategies: design, analysis, and algorithms
Uchoa et al. Repeat Accumulate Based Designs for LDPC Codes on Fading Channels

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110318

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120406