JP2009060453A - 復号方法、復号装置、インタリーブ方法及び送信装置 - Google Patents

復号方法、復号装置、インタリーブ方法及び送信装置 Download PDF

Info

Publication number
JP2009060453A
JP2009060453A JP2007226822A JP2007226822A JP2009060453A JP 2009060453 A JP2009060453 A JP 2009060453A JP 2007226822 A JP2007226822 A JP 2007226822A JP 2007226822 A JP2007226822 A JP 2007226822A JP 2009060453 A JP2009060453 A JP 2009060453A
Authority
JP
Japan
Prior art keywords
row
check matrix
processing
decoding
unit
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
JP2007226822A
Other languages
English (en)
Other versions
JP4823176B2 (ja
Inventor
Yutaka Murakami
豊 村上
Shuta Okamura
周太 岡村
Masayuki Orihashi
雅之 折橋
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
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2007226822A priority Critical patent/JP4823176B2/ja
Priority to EP08790521.2A priority patent/EP2182639B1/en
Priority to US12/674,898 priority patent/US8286050B2/en
Priority to CN2008801040954A priority patent/CN101785188B/zh
Priority to PCT/JP2008/002367 priority patent/WO2009028206A1/ja
Publication of JP2009060453A publication Critical patent/JP2009060453A/ja
Application granted granted Critical
Publication of JP4823176B2 publication Critical patent/JP4823176B2/ja
Priority to US13/599,905 priority patent/US8448040B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/27Coding, 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 using interleaving techniques
    • H03M13/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

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

Abstract

【課題】高速な復号動作を可能とすること。
【解決手段】検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、行処理演算部405#1〜405#3及び列処理演算部410#1〜410#3は、“(D+1)×N(N:自然数)”毎に検査行列の列が区切られ、かつ“(D+1)×N/n”毎に検査行列の行が区切られて形成されたプロトグラフを、行処理演算及び列処理演算の処理単位として演算を行うようにする。
【選択図】図9

Description

本発明は、低密度パリティ検査畳み込み符号(LDPC-CC:Low-Density Parity-Check Convolutional Code)用又は畳み込み符号用の復号方法、復号装置、インタリーブ方法及び送信装置に関するものである。
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号に注目が集まっている。LDPC符号は、誤り訂正能力が高く、かつ実装が容易なので、IEEE802.11nの高速無線LANシステムやデジタル放送システムなどの誤り訂正符号化方式に採用されている。
LDPC符号は、低密度なパリティ検査行列Hで定義される誤り訂正符号である。また、LDPC符号は、検査行列Hの列数Nと等しいブロック長を持つブロック符号である。
しかし、現在の通信システムの多くは、イーサネット(登録商標)のように、送信情報を、可変長のパケットやフレーム毎にまとめて伝送するという特徴がある。このようなシステムにブロック符号であるLDPC符号を適用する場合、例えば、可変長なイーサネット(登録商標)のフレームに対して固定長のLDPC符号のブロックをどのように対応させるかといった課題が生じる。IEEE802.11nでは、送信情報系列にパディング処理やパンクチャ処理を施すことで、送信情報系列の長さと、LDPC符号のブロック長の調節を行っているが、パディングやパンクチャによって、符号化率が変化したり、冗長な系列を送信することを避けることはできない。
このようなブロック符号のLDPC符号(以降、これをLDPC-BC:Low-Density Parity-Check Block Codeと標記する)に対して、任意の長さの情報系列に対しての符号化・復号化が可能なLDPC-CC(Low-Density Parity-Check Convolutional Code)の検討が行われている(例えば、非特許文献1、非特許文献2参照)。
LDPC-CCは、低密度なパリティ検査行列により定義される畳み込み符号であり、例えば符号化率R=1/2(=b/c)のLDPC-CCのパリティ検査行列H[0,n]は、図20で示される。
ここで、H[0,n]の要素h (m)(t),h (m)(t)は、0または1をとる。また、検査行列H[0,n]に含まれるh (m)(t),h (m)(t)以外の要素は全て0である。MはLDPC-CCにおけるメモリ長、nはLDPC-CCの符号語の長さを表す。図20に示されるように、LDPC-CCの検査行列は、行列の対角項とその近辺の要素にのみに1が立っており、行列の左下および右上の要素はゼロであり、平行四辺形の行列であるという特徴がある。
ここで,符号化率R=1/2(=b/c)の例にとると、h (0)(t)=1,h (0)(t)=1の場合、LDPC-CCの符号化は検査行列H[0,n]に従って、次式を実行することによって行われる。
Figure 2009060453
ここで、uは送信情報系列,v1,n,v2,nは送信符号語系列を表す。
図21に、式(1)を実行するLDPC-CCの符号化器の一例を示す。
図21に示すように、LDPC-CC符号化器10は、シフトレジスタ11−1〜11−M,14−1〜14−M,ウェイト乗算器12−0〜12−M,13−0〜13−M,ウェイト制御部17,mod2加算器15,ビット数カウンタ16で構成されている。
シフトレジスタ11−0〜11−M及びシフトレジスタ14−1〜14−Mは、それぞれ、ν1,n−i,ν2,n−i(i=0,・・・,M)を保持するレジスタであり、次の入力が入ってくるタイミングで、保持している値を右隣のシフトレジスタに送り、左隣のシフトレジスタから送られてきた値を保持する。
ウェイト乗算器12−0〜12−M,13−0〜13−Mは、ウェイト制御部17から送られてくる制御信号に従って、h (m),h (m)の値を0 or 1に切り替える。
ウェイト制御部17は、ビット数カウンタ16から送られてくるカウント数と、ウェイト制御部17内に保持している検査行列に基づいて、そのタイミングにおけるh (m),h (m)の値を、ウェイト乗算器12−0〜12−M,13−0〜13−Mに送る。mod2加算器15は、ウェイト乗算器12−0〜12−M,13−0〜13−Mの出力に対してmod2加算処理を行うことで、ν2,n−iを算出する。ビット数カウンタ16は、入力された送信情報系列uのビット数をカウントする。
このような構成を採ることで、LDPC-CC符号化器10は、検査行列に従ったLDPC-CCの符号化を行うことができる。
LDPC-CCの符号化器は、生成行列の乗算を行う回路や後退(前方)代入法に基づく演算を行うLDPC-BCの符号化器に比べ、非常に簡易な回路で実現できるという特徴がある。また、LDPC-CCは畳み込み符号の符号化器であるため、送信情報系列を固定長のブロックに区切って符号化する必要はなく、任意の長さの情報系列を符号化できる。
ところで、LDPC-CCの復号には、sum-productアルゴリズムを適用することができる。そのため、BCJRアルゴリズムやビタビアルゴリズムのような最尤系列推定を行う復号アルゴリズムを使用する必要がないので、低処理遅延で復号処理を完了できる。さらに、平行四辺形の形に1が立っているという検査行列の形を活かした、パイプライン型の復号アルゴリズムが提案されている(例えば非特許文献1参照)。
LDPC-CCとLDPC-BCの復号特性を、復号器の回路規模が同等になるパラメータで比較した場合、LDPC-CCの復号特性の方が優れると言うことが示されている。
ところで、sum-product復号における反復復号の反復回数を少なくすることで、演算規模を削減したいという要望がある。従来、Sum-product復号よりも反復回数を少なくする技術として、非特許文献3に記載されているshuffled BP (Belief-Propagation)復号や、非特許文献4に記載されているLayered BP復号が提案されている。
A. J. Felstorom, and K. Sh. Zigangirov, "Time-Varying Periodic Convolutional Codes With Low-Density Parity-Check Matrix," IEEE Transactions on Information Theory, Vol.45, No.6,pp2181-2191, September 1999. G. Richter, M. Kaupper, and K. Sh. Zigangirov, "Irregular low-density parity-Check convolutionalcodes based on protographs, "Proceeding of IEEE ISIT 2006, pp1633-1637. J. Zhang, and M. P. C. Fossorier, "Shuffled iterative decoding," IEEE Trans. Commun., vol.53, no.2, pp.209-213, Feb. 2005. D. Hocevar, "A reduced complexity decoder architecture via layered decoding of LDPC codes," in Signal Processing Systems SIPS 2004. IEEE Workshop on, pp.107-112, Oct. 2004. B. Lu, G. Yue, and X. Wang, "Performance analysis and design optimization of LDPC-coded MIMO OFDM systems" IEEE Trans. Signal Processing., vol.52, no.2, pp.348-361, Feb. 2004. B. M. Hochwald, and S. ten Brink, "Achieving near-capacity on a multiple-antenna channel" IEEE Trans. Commun., vol.51, no.3, pp.389-399, March 2003. S. Baro, J. Hagenauer, and M. Wizke, "Iterative detection of MIMO transmission using a list-sequential (LISS) detector" Proceeding of IEEE ICC 2003, pp2653-2657. S. Lin, D. J. Jr., Costello, "Error control coding : Fundamentals and applications," Prentice-Hall. R. D. Gallager, "Low-Density Parity-Check Codes," Cambridge, MA: MIT Press, 1963. M. P. C. Fossorier, M. Mihaljevic, and H. Imai, "Reduced complexity iterative decoding of low density parity check codes based on belief propagation," IEEE Trans. Commun., vol.47., no.5, pp.673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, "Reduced-complexity decoding of LDPC codes," IEEE Trans. Commun., vol.53.,no.8, pp.1288-1299, Aug. 2005.
ところで、通信速度をさらに向上させるためには、上述したshuffled BP復号や、Layered BP復号よりも反復復号の反復回数をさらに削減することで、演算規模をさらに削減し、さらに高速な動作が可能な復号装置が必要である。従来、特に、LDPC-CCにおける反復回数を有効に削減したり、処理遅延を改善するための方法については、ほとんど配慮されていなかった。
本発明は、かかる点を考慮してなされたものであり、高速な復号動作を可能とする、LDPC-CC用又は畳み込み符号用の復号方法、復号装置、インタリーブ方法及び送信装置を提供する。
本発明の復号方法の一つの態様は、検査行列を用いて行処理演算及び列処理演算を行う演算ステップと、前記演算ステップでの演算結果を用いて符号語を推定するステップと、を含み、前記検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、前記演算ステップでは、“(D+1)×N(N:自然数)”毎に前記検査行列の列が区切られ、かつ“(D+1)×N/n”毎に前記検査行列の行が区切られて形成されたプロトグラフを、前記行処理演算及び列処理演算の処理単位として演算を行うようにする。
本発明の復号方法の一つの態様は、検査行列を用いて行処理演算及び列処理演算を行う演算ステップと、前記演算ステップでの演算結果を用いて符号語を推定するステップと、を含み、前記演算ステップでは、前記検査行列を構成するプロトグラフの列数×N(N:自然数)毎に前記検査行列の列が区切られ、かつ前記プロトグラフの行数×M(M:自然数)毎に前記検査行列の行が区切られて形成された複数のブロックを、前記行処理演算及び列処理演算の処理単位として演算を行うようにする。
本発明の復号装置の一つの態様は、検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を有し、前記検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、前記行処理演算部及び前記列処理演算部は、“(D+1)×N(N:自然数)”毎に前記検査行列の列が区切られ、かつ“(D+1)×N/n”毎に前記検査行列の行が区切られて形成されたプロトグラフを、前記行処理演算及び列処理演算の処理単位として演算を行う、構成を採る。
本発明の復号装置の一つの態様は、検査行列を用いて行処理演算を行う行処理演算部と、前記検査行列を用いて列処理演算を行う列処理演算部と、前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、を有し、前記行処理演算部及び前記列処理演算部は、前記検査行列を構成するプロトグラフの列数×N(N:自然数)毎に前記検査行列の列が区切られ、かつ前記プロトグラフの行数×M(M:自然数)毎に前記検査行列の行が区切られて形成された複数のブロックを、前記行処理演算及び列処理演算の処理単位として演算を行う、構成を採る。
本発明のインタリーブ方法の一つの態様は、検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、1フレーム内のデータ区間を2つ以上のブロックに分割し、1ブロックのデータを“(D+1)×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施すようにする。
本発明のインタリーブ方法の一つの態様は、1フレーム内のデータ区間を2つ以上のブロックに分割し、1ブロックのデータを“検査行列を行処理演算及び列処理演算のために分割したプロトグラフの列数×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施すようにする。
本発明の送信装置の一つの態様は、LDPC-CC符号化を行う符号化部と、前記符号化部によって得られた符号化データをインタリーブするインタリーブ部と、を有し、前記インタリーブ部は、検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、1フレーム内の符号化データ区間を2つ以上のブロックに分割し、1ブロックのデータを“(D+1)×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施す、構成を採る。
本発明の送信装置の一つの態様は、LDPC-CC符号化を行う符号化部と、前記符号化部によって得られた符号化データをインタリーブするインタリーブ部と、を有し、前記インタリーブ部は、1フレーム内の符号化データ区間を2つ以上のブロックに分割し、1ブロックのデータを“検査行列を行処理演算及び列処理演算のために分割したプロトグラフの列数×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施す、構成を採る。
本発明によれば、高速な復号動作を可能とする、LDPC-CC用又は畳み込み符号用の復号方法、復号装置、インタリーブ方法及び送信装置を実現できる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。
(実施の形態1)
(1)復号アルゴリズム
(1−1)LDPC-CCの一般的な復号アルゴリズム
先ず、本発明による復号方法を説明する前に、LDPC-CCの一般的な復号アルゴリズムを説明する。
図1に、LDPC―CCの検査行列Hの一例を示す。
受信側での、BP(Belief-Propagation)復号の一種であるsum-product復号アルゴリズムの大きな流れは、以下のとおりである。
以下の説明では、2元(M×N)行列H={Hmn}を、復号対象であるLDPC符号の検査行列とする。集合[1,N]={1,2,・・・,N}の部分集合A(m),B(n)を次式のように定義する。
Figure 2009060453
Figure 2009060453
なお、A(m)は検査行列Hのm行目において“1”である列インデックスの集合を意味し、B(n)は検査行列Hのn行目において“1”である行インデックスの集合を意味する。
・Step A・1(初期化):
mn=1を満たす全ての組(m,n)に対して、対数尤度比β(0) mn=λと設定する。また、ループ変数(反復回数)lsum=1と設定し、ループ最大回数をlsum,maxと設定する。
・Step A・2(行処理):
m=1,2,・・・,Mの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて対数尤度比α(i) mnを更新する。但し、iは反復回数を表す。また、fはGallagerの関数である。
Figure 2009060453
Figure 2009060453
Figure 2009060453
・Step A・3(列処理):
n=1,2,・・・,Nの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて対数尤度比β(i) mnを更新する。
Figure 2009060453
・Step A・4(対数尤度比の計算):
n∈[1,N]について対数尤度比L(i) を、次式のように求める。
Figure 2009060453
・Step A・5(反復回数のカウント):
もしlsum<lsum,maxならばlsumをインクリメントして、step A・2に戻る。lsum=lsum,maxの場合、次式に示すように符号語wを推定して、sum-product復号を終了する。
Figure 2009060453
図2は、sum-product復号における、検査行列Hに対する演算手順を示している。図2の矢印A1は行処理をイメージするための矢印、矢印A2は列処理をイメージするための矢印を示している。Sum-product復号は、以下の順に行われる。
先ず、図2<1>のように検査行列Hに“1”が存在する位置において行処理を施す。
次に、図2<2>のように検査行列Hに“1”が存在する位置において列処理を施す。以上が、反復回数1回目の復号演算である。
次に、図2<3>のように検査行列Hに“1”が存在する位置において行処理を施した後に、図2<4>のように検査行列Hに“1”が存在する位置において列処理を施すことで、反復回数2回目の復号演算を行う。
次に、図2<5>のように検査行列Hに“1”が存在する位置において行処理を施した後に、図2<6>のように検査行列Hに“1”が存在する位置において列処理を施すことで、反復回数2回目の復号演算を行う。
以下、所望の受信品質が得られるまで、反復復号が繰り返される。
次に、LDPC符号の生成手順について簡単に説明する。
検査行列Hと、生成行列Gとの間には、次式の関係式が成立する。
Figure 2009060453
また、送信系列(符号化後のデータ)を、図1のように、n、n、n、n、・・・とし、送信系列のベクトルu=(n,n,n,n,・・・)で表すと、送信系列のベクトルuは、情報系列(符号化前のデータ)のベクトルi=(i,i,・・・)と、生成行列Gとを用いて、次式のように求められる。
Figure 2009060453
符号化側では、式(10)及び式(11)の関係式を利用することで、送信系列を得る。なお、LDPC-CCの場合、非特許文献1、非特許文献2に示されているように、シフトレジスタと排他的論理和回路を用いて比較的簡易な構成で符号化を実現できる。
因みに、sum-product復号の際に使用する対数尤度比λは、検査行列Hに対して、図1に示すように、n、n、n、n、・・・の順に並んだものとなる。
(1−2)本実施の形態の復号方法
ところで、非特許文献3及び非特許文献4でも指摘されているように、sum-product復号は、良好な受信品質得るためには、上記反復復号の反復回数を多く設定しなければならないという欠点がある。
そこで、本実施の形態では、少ない反復回数で良好な受信品質を得ることができる、LDPC-CCに適した復号方法を提案する。本実施の形態の復号方法は、sum-product復号を変形したものである。
図3は、LDPC-CCの検査行列Hの一例を示している。送信系列(符号化後のデータ)をn、nk−1、nk−2、nk−3(k:偶数)と表すと、検査行列Hから以下の検査式が成立する。
Figure 2009060453
ここで、図3の検査行列Hに準じた生成行列Gは、次式の多項式で表現できる。
Figure 2009060453
式(12)及び式(13)は3次の多項式である。
本実施の形態では、検査行列Hによる検査式を多項式で表現した場合に、“検査式の次数+1”毎に検査行列Hの列を区切る。式(12)の例では、検査式の次数が3次なので、“3+1=4”列毎に検査行列Hを区切る。一般形で表現すると、本実施の形態では、“(検査式の次数+1)×N”毎に検査行列Hの列を区切る。ここで、Nは自然数である。
また、LDPC-CCの検査行列Hのj+1行目の検査式と、j行目の検査式は、nビットだけシフトした関係にある。すなわち、LDPC-CCの検査行列Hの検査式は、検査行列Hの列方向にnビットシフトする毎に成立する。そこで、本実施の形態では、“(検査式の次数+1)×N/n”毎に検査行列Hの行を区切る。図3の例では、検査式の次数=3、n=2なので、“(3+1)×1/2=2(但し:N=1)”行毎に検査行列Hの行を区切る。
図3の点線は、上述の方法で、検査行列の列及び行を区切った様子を示している。図3からも分かるように、上述の方法で検査行列Hの列及び行を区切って得られるプロトグラフ(図中の点線で囲まれた部分)は、3種類のパターンのいずれかに属するものとなる。すなわち、検査行列Hは、図中の参照符号P1で示すパターンのプロトグラフ、参照符号P2で示すパターンのプロトグラフ又は参照符号P3で示すパターンのプロトグラフが集まって構成されている。
次に、図4を用いて、本実施の形態によるBP(Belief-Propagation)復号の手順を説明する。なお、図4において、<1>〜<18>は処理の順番を示すものである。
処理<1>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。
処理<2>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。
処理<3>:1列から8列及び3行から4行で構成されるプロトグラフ(列領域C1と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。加えて、5列から8列及び5行から6行で構成されるプロトグラフ(列領域C2と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。
処理<4>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。加えて、5列から8列及び3行から6行で構成されるプロトグラフ(列領域C2と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。
処理<5>:5列から12列及び5行から6行で構成されるプロトグラフ(列領域C2と行領域R3とで形成されたプロトグラフ、及び、列領域C3と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。加えて、9列から12列及び7行から8行で構成されるプロトグラフ(列領域C3と行領域R4とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。
処理<6>:5列から8列及び3行から6行で構成されるプロトグラフ(列領域C2と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。加えて、9列から12列および5行から8行で構成されるプロトグラフ(列領域C3と行領域R3とで形成されたプロトグラフ、及び、列領域C3と行領域R4とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。
以下同様に、処理<7>、処理<8>、・・・において、行処理又は列処理を施す。ここで、行処理とは上述したStep A・2に相当する処理である。なおすでにβが更新されている場合は、その更新値を用いる。同様に、列処理とは上述したStep A・3に相当する処理である。なおすでにαが更新されている場合は、その更新値を用いる。
以上のようなアルゴリズムとすることで、sum-product復号と比較し、良好な受信品質を得るための反復回数を削減することができるという効果を得ることができる。また、非特許文献3に記載されているShuffled BP復号と比較しても、良好な受信品質を得るための反復回数を削減することができるという効果を得ることができる。
次に、図4で説明したBP復号方法とは異なるBP復号方法を、図5を用いて説明する。図5で説明するBP復号方法も、上述したように区切った検査行列H(図3)を用いることを前提としている。
処理<1>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。
処理<2>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。
処理<3>:1列から4列及び1行から2行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。加えて、1列から8列及び3行から4行で構成されるプロトグラフ(列領域C1と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。加えて、5列から8列及び5行から6行で構成されるプロトグラフ(列領域C2と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。
処理<4>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。加えて、5列から8列及び3行から6行で構成されるプロトグラフ(列領域C2と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。
処理<5>:1列から8列及び3行から4行で構成されるプロトグラフ(列領域C1と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。加えて、5列から12列及び5行から6行で構成されるプロトグラフ(列領域C2と行領域R3とで形成されたプロトグラフ、及び、列領域C3と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において行処理を施す。
処理<6>:1列から4列及び1行から4行で構成されるプロトグラフ(列領域C1と行領域R1とで形成されたプロトグラフ、及び、列領域C1と行領域R2とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。加えて、5列から8列及び3行から6行で構成されるプロトグラフ(列領域C2と行領域R2とで形成されたプロトグラフ、及び、列領域C2と行領域R3とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。加えて、9列から12列及び5行から8行で構成されるプロトグラフ(列領域C3と行領域R3とで形成されたプロトグラフ、及び、列領域C3と行領域R4とで形成されたプロトグラフ)の“1”が存在する位置において列処理を施す。
以下同様に、処理<7>、処理<8>、・・・において、行処理又は列処理を施す。ここで、行処理とは上述したStep A・2に相当する処理である。なお、すでにβが更新されている場合は、その更新値を用いる。同様に、列処理とは上述したStep A・3に相当する処理である。なお、すでにαが更新されている場合は、その更新値を用いるものとする。
以上のようなアルゴリズムとすることで、図4のアルゴリズムと同様に、sum-product復号と比較し、良好な受信品質を得るための反復回数を削減することができるという効果を得ることができる。また、非特許文献3に記載されているShuffled BP復号と比較しても、良好な受信品質を得るための反復回数を削減することができるという効果を得ることができる。
(2)構成
図6に、本実施の形態の送信装置の構成例を示す。符号化部102は、送信ディジタル信号101をLDPC―CC符号化し、これにより得た符号化データ103をインタリーブ部104に出力する。
インタリーブ部104は、符号化データ103及びフレーム構成信号112を入力とし、フレーム構成信号112で示されるフレーム構成に基づき符号化データ103をインタリーブし、これにより得たインタリーブ後のデータ105を変調部106に出力する。
変調部106は、インタリーブ後のデータ105、制御情報114及びフレーム構成信号112を入力とし、フレーム構成信号112で示される変調方式及びフレーム構成に基づき、インタリーブ後のデータ105及び制御情報114を変調すると共に送信フレームを形成し、これにより得た変調信号107を無線部108に出力する。無線部108は、変調信号107に対して、周波数変換や増幅等の所定の無線処理を施し、これにより得た送信信号109をアンテナ110に供給する。
フレーム構成信号生成部111は、フレーム構成の情報を含んだフレーム構成信号112を出力する。制御情報生成部113は、フレーム構成信号112を入力とし、通信相手が周波数同期・時間同期を獲得するための情報や通信相手に変調信号の変調方式を通知するための情報等を含んだ制御情報114を生成し、これを出力する。
図7に、本実施の形態の受信装置の構成例を示す。
無線部203は、受信アンテナ201で受信した受信信号202に対して、増幅や周波数変換等の所定の無線処理を施し、これにより得た変調信号204を直交復調部205に出力する。直交復調部205は、変調信号204を直交復調し、これにより得たベースバンド信号206をチャネル変動推定部207、制御情報検波部209及び対数尤度比演算部211に出力する。
チャネル変動推定部207は、ベースバンド信号206から例えばプリアンブルを検出し、このプリアンブルに基づいてチャネル変動を推定し、チャネル変動推定信号208を対数尤度比演算部211に出力する。制御情報検波部209は、ベースバンド信号206からプリアンブルを検出し、このプリアンブルに基づいてベースバンド信号206の時間同期・周波数同期を獲得し、同期獲得されたベースバンド信号206から送信データを除く制御情報を抽出し、この制御情報を制御信号210として出力する。
対数尤度比演算部211は、ベースバンド信号206、チャネル変動推定信号208、制御信号210を入力とし、例えば、非特許文献5、非特許文献6、非特許文献7で示されているように、チャネル変動推定信号208とベースバンド信号206とから、ビット毎の対数尤度比を求め、対数尤度比信号212を出力する。また、データ区間(例えばブロックサイズ)を示すタイミング信号217を出力する。
デインタリーバ213は、対数尤度比信号212を入力とし、対数尤度比信号212の並びをインタリーブ部104(図6)での並び替え前の順番に戻し、これにより得たデインタリーブ後の対数尤度比信号214を復号部215に出力する。
復号部215は、デインタリーブ後の対数尤度比信号214及びタイミング信号217を入力とし、デインタリーブ後の対数尤度比信号214を復号することで、受信データ216を得る。
次に、復号部215の構成について詳しく説明する。先ず、本実施の形態の復号部の構成を説明する前に、図8を用いてsum-product復号を行うための一般的な構成を説明し、次に図9を用いて本実施の形態のBP復号を実現するための構成例について説明する。
図8は、sum-product復号を行う場合の、図7の復号部215の構成例を示している。
対数尤度比記憶部303は、対数尤度比信号301(図7の対数尤度比信号214に相当)及びタイミング信号302(図7のタイミング信号217に相当)を入力とし、タイミング信号302に基づいてデータ区間の対数尤度比を記憶する。記憶された対数尤度比は、必要に応じて適宜出力される。
行処理演算部305は、対数尤度比信号304及び列処理後の信号312を入力とし、検査行列Hに“1”が存在する位置において上述のStep A・2(行処理)の演算を行う。実際上、復号部215は反復復号を行うので、行処理演算部305は1回目の復号時には対数尤度比信号304を用いて行処理を行い(上述のStep A・1の処理に相当する)、2回目の復号時には列処理後の信号312を用いて行処理を行う。
行処理後の信号306は、行処理後データ記憶部307に記憶される。行処理後データ記憶部307は、すべての行処理後の値(信号)を記憶する。
列処理演算部309は、行処理後の信号308及び制御信号314を入力とし、制御信号314から最後の反復演算でないことを確認し、検査行列Hに“1”が存在する位置において上述のStep A・3(列処理)の演算を行う。
列処理後の信号310は、列処理後データ記憶部311に記憶される。列処理後データ記憶部311は、すべての列処理後の値(信号)を記憶する。
制御部313は、タイミング信号302に基づいて反復回数をカウントし、反復回数を制御信号314として出力する。
対数尤度比演算部315は、行処理後の信号308及び制御信号314を入力とし、制御信号314に基づいて最終回の反復演算であると判断した場合、検査行列Hに“1”が存在する位置に対して、行処理後の信号308の信号を用いてStep A・4の演算(対数尤度比の計算)を行うことで、対数尤度比信号316を得る。対数尤度比信号316は、判定部317に出力される。
判定部317は、対数尤度比信号317を用いて例えば式(9)を実行することで符号語を推定し、推定ビット318(図7の受信データ216に相当)を出力する。
次に、図9を用いて本実施の形態のBP復号を実現するための構成例について説明する。
図9は、本実施の形態のBP復号を実現するための、図7の復号部215の構成例を示している。すなわち、図9の復号部215は、図4や図5で説明したBP復号を実現するための構成例である。
対数尤度比記憶部403は、対数尤度比信号401(図7の対数尤度比信号214に相当)及びタイミング信号402(図7のタイミング信号217に相当)を入力とし、タイミング信号402に基づいてデータ区間の対数尤度比を記憶する。記憶された対数尤度比は、必要に応じて適宜出力される。
行処理演算部405#1は、図4又は図5の処理<1>の行処理を行うための演算部であり、対数尤度比信号404及び列処理後の信号413を入力とする。行処理演算部405#1は、1回目の復号時には、対数尤度比信号404を用いて、図4又は図5の処理<1>の行処理を行う。2回目の復号時には、列処理後の信号413を用いて、図4又は図5の処理<1>の行処理を行う。
行処理演算部405#1により得られた行処理後の信号406#1は、行処理後データ記憶部407に記憶される。行処理後データ記憶部407は、記憶している行処理後のデータのうち、行処理後の信号406#1で更新された値のみを更新する。
列処理演算部410#1は、図4又は図5の処理<2>の列処理を行うための演算部であり、行処理後の信号408及び制御信号415を入力とする。列処理演算部410#1は、図4又は図5の処理<2>の列処理を行うことで、列処理後の信号411#1を得る。
列処理演算部410#1により得られた列処理後の信号411#1は、列処理後データ記憶部412に記憶される。列処理後データ記憶部412は、記憶している列処理後のデータのうち、列処理後の信号411#1で更新された値のみを更新する。
行処理演算部405#2は、図4又は図5の処理<3>の行処理を行うための演算部であり、対数尤度比信号404及び列処理後の信号413を入力とする。行処理演算部405#2は、1回目の復号時には、対数尤度比信号404を用いて、図4又は図5の処理<3>の行処理を行う。2回目の復号時には、列処理後の信号413を用いて、図4又は図5の処理<3>の行処理を行う。
行処理演算部405#2により得られた行処理後の信号406#2は、行処理後データ記憶部407に記憶される。行処理後データ記憶部407は、記憶している行処理後のデータのうち、行処理後の信号406#2で更新された値のみを更新する。
列処理演算部410#2は、図4又は図5の処理<4>の列処理を行うための演算部であり、行処理後の信号408及び制御信号415を入力とする。列処理演算部410#2は、図4又は図5の処理<4>の列処理を行うことで、列処理後の信号411#2を得る。
列処理演算部410#2により得られた列処理後の信号411#2は、列処理後データ記憶部412に記憶される。列処理後データ記憶部412は、列処理後のデータのうち、列処理後の信号411#2で更新された値のみを更新する。
行処理演算部405#3以降の行処理演算部、列処理演算部410#3以降の列処理演算部においても上記と同様の演算が行われる。これにより、図4又は図5の手順<5>以降の処理が行われ、順次、行処理後のデータ及び列処理後のデータが更新される。
制御部414は、タイミング信号402に基づいて反復回数をカウントし、反復回数を制御信号415として出力する。
対数尤度比演算部416は、行処理後の信号409及び制御信号415を入力とし、最終回の反復演算における対数尤度比を求め、それを対数尤度比信号417として出力する。
判定部418は、対数尤度比信号417を用いて式(9)を実行することで符号語を推定し、推定ビット419(図7の受信データ216に相当)を出力する。
以上のように、図9のような構成を用いれば、図4及び図5で説明したBP復号を実施することができる。
因みに、図4で説明したBP復号を実現する場合には、各行処理演算部405#1,405#2,・・・及び各列処理演算部410#1,410#2、・・・によって、図4に示したようにプロトグラフを処理する。一方、図5で説明したBP復号を実現する場合には、各行処理演算部405#1,405#2,・・・及び各列処理演算部410#1,410#2、・・・によって、図5に示したようにプロトグラフを処理する。図9のような構成を用いれば、それ以外は同様の基本動作によって、図4及び図5で説明したBP復号を実施できる。
以上説明したように、本実施の形態によれば、検査行列Hによる検査式の次数がDであり、検査行列Hのj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、“(D+1)×N(N:自然数)”毎に検査行列Hの列が区切られ、かつ“(D+1)×N/n”毎に検査行列Hの行が区切られて形成されたプロトグラフを、行処理演算及び列処理演算の処理単位として演算を行う。
これにより、行処理演算と列処理演算との間での更新値の引き継ぎ(つまり確率伝搬)を良好に行いながら高速なBP復号が可能となる。実際上、検査行列Hを、“1”と“0”とを含む2つのパターンのプロトグラフP1,P2と、“0”のみからなるプロトグラフP3との、合計3種類のプロトグラフP1,P2,P3に分割していることが、良好な確率伝搬を実現する上で重要な要素となっている。
なお、本実施の形態では、本発明をLDPC-CCに適用した場合について説明したが、本発明はこれに限らず、例えば非特許文献8に示されているような畳み込み符号に適用することもできる。すなわち、非特許文献8に示されているような畳み込み符号についての検査行列Hを作成し、BP復号を行う場合にも、本実施の形態のBP復号方法を適用することができる。この場合も、上述した実施の形態と同様の効果を得ることができる。
また、本発明は、種々のBP復号に広く適用できる。すなわち、本発明のBP復号とは、例えば非特許文献9〜11に記載されているような、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号等も含むものである。これは、以下に説明する実施の形態においても同様である。
(実施の形態2)
実施の形態1では、LDPC-CCのBP復号において、演算規模が小さく、かつ、良好な受信品質を得ることができる方法及び構成について説明した。
本実施の形態では、実施の形態1の基本原理及び基本構成を有しつつ、実施の形態1を改良することで、実施の形態1よりも高速なBP復号を行うことができる方法及び構成を提示する。
実施の形態1において、図4、図5を用いて説明した処理及び図9の構成は、メッセージ交換を逐次的に行うものである。これに対して、本実施の形態では、図10に示すように、図4、図5の行処理及び列処理である処理<1>,<2>,………をグループ単位に分割し、グループ単位での処理を行うことにより、逐次処理による処理遅延を軽減し、高速なBP復号を行うことができるようになっている。
図10において、処理<1>,<2>,………は、実施の形態1で説明した図4又は図5の処理<1>,<2>,………の行処理及び列処理演算に相当する。図10の例では、処理<1>,<2>,<3>,<4>,<5>,<6>によって一つの処理グループG1を構成し、処理<7>,<8>,<9>,<10>,<11>,<12>によって一つの処理グループG2を構成し、処理<13>,<14>,<15>,<16>,<17>,<18>によって一つの処理グループG3を構成し、処理<19>,<20>,<21>,<22>,<23>,<24>によって一つの処理グループG4を構成した。つまり、全処理<1>,<2>,………を、6つの処理を一つのグループとして分割した。
図11は、本実施の形態の復号部の構成例を示す。図11の復号部500は、例えば図7の復号部215として用いられる。
対数尤度比記憶部#1(503#1)は、対数尤度比信号501(図7の対数尤度比信号214に相当)を入力とし、図10のグループG1の処理に属する対数尤度比を記憶し、記憶した対数尤度比を信号504#1として出力する。
同様に、対数尤度比記憶部#k(503#k)は、対数尤度比信号501(図7の対数尤度比信号212に相当)を入力とし、図10のグループGk(1<k<Z)の処理に属する対数尤度比を記憶し、記憶した対数尤度比を信号504#kとして出力する。また、対数尤度比記憶部#Z(503#Z)は、対数尤度比信号501(図2の対数尤度比信号212に相当)を入力とし、図10のグループGZの処理に属する対数尤度比を記憶し、記憶した対数尤度比を信号504#Zとして出力する。
接続切替部505は、各グループG1〜GZの処理に属する対数尤度比信号504#1〜504#Z及び制御信号527を入力とし、制御信号527に基づいて入出力の接続を切り替えて、後段の行・列処理演算部#1〜#Z(507#1〜507#Z)に対数尤度比信号506#1〜506#Zを出力する。なお、接続切替部505の動作については、後で詳しく説明する。
行・列処理演算部#1(507#1)は、接続切替部505からの対数尤度比信号506#1、接続切替部514からの行処理後のデータ#1(515#1)及び接続切替部520からの列処理後のデータ#1(521#1)を入力とし、実施の形態1の図9を用いて説明したのと同様の行処理・列処理の演算を行うことで、行処理後のデータ508#1及び列処理後のデータ509#1を得る。
行・列処理演算部#k(507#k)は、接続切替部505からの対数尤度比信号506#k、接続切替部514からの行処理後のデータ#k(515#k)及び接続切替部520からの列処理後のデータ#k(521#k)を入力とし、実施の形態1の図9を用いて説明したのと同様の行処理・列処理の演算を行うことで、行処理後のデータ508#k及び列処理後のデータ509#kを得る。
行・列処理演算部#Z(507#Z)は、接続切替部505からの対数尤度比信号506#Z、接続切替部514からの行処理後のデータ#Z(515#Z)及び接続切替部520からの列処理後のデータ#Z(521#Z)を入力とし、実施の形態1の図9を用いて説明したのと同様の行処理・列処理の演算を行うことで、行処理後のデータ508#Z及び列処理後のデータ509#Zを得る。
行・列処理演算部#1〜#Z(507#1〜507#Z)の処理内容については、後で詳しく説明する。
接続切替部510は、行処理後のデータ508#1〜508#Z及び制御信号527を入力とし、制御信号527に基づいて入出力の接続を切り替えて、後段の行処理後データ記憶部#1〜#Z(512#1〜512#Z)に行処理後のデータ511#1〜511#Zを出力する。なお、接続切替部510の動作については、後で詳しく説明する。
行処理後データ記憶部#1(512#1)は、記憶している行処理後のデータのうち、行処理後のデータ511#1で更新された値のみを更新する。また、行処理後データ記憶部#1(512#1)は、列処理を行うための行データ513#1を出力する。
同様に、行処理後データ記憶部#Z(512#Z)は、記憶している行処理後のデータのうち、行処理後のデータ511#Zで更新された値のみを更新する。また、行処理後データ記憶部#Z(512#Z)は、列処理を行うための行データ513#Zを出力する。
接続切替部514は、行データ513#1〜513#Z及び制御信号527を入力とし、制御信号527に基づいて入出力の接続を切り替えて、行・列処理演算部#1〜#Z(507#1〜507#Z)に接続切り替え後の行データ515#1〜515#Zを出力する。なお、接続切替部514の動作については、後で詳しく説明する。
接続切替部516は、列処理後のデータ509#1〜509#Z及び制御信号527を入力とし、制御信号527に基づいて入出力の接続を切り替えて、後段の列処理後データ記憶部#1〜#Z(518#1〜518#Z)に列処理後のデータ517#1〜517#Zを出力する。なお、接続切替部516の動作については、後で詳しく説明する。
列処理後データ記憶部#1(518#1)は、記憶している列処理後のデータのうち、列処理後のデータ517#1で更新された値のみ更新する。また、列処理後データ記憶部#1(518#1)は、行処理を行うための列データ519#1を出力する。同様に、列処理後データ記憶部#Z(518#Z)は、記憶している列処理後のデータのうち、列処理後のデータ517#Zで更新された値のみ更新する。また、列処理後データ記憶部#Z(518#Z)は、行処理を行うための列データ519#Zを出力する。
接続切替部520は、列データ519#1〜519#Z及び制御信号527を入力とし、制御信号527に基づいて入出力の接続を切り替えて、行・列処理演算部#1〜#Z(507#1〜507#Z)に接続切り替え後の列データ521#1〜521#Zを出力する。なお、接続切替部520の動作については、後で詳しく説明する。
制御部526は、タイミング信号502を入力とし、タイミング信号502に基づいて制御信号527を生成し、これを出力する。
対数尤度比演算部522は、行データ513#1〜行データ513#Z及び制御信号527を入力とし、制御信号527に基づいて最終回の反復演算であると判断した場合、対数尤度比を演算により求め、対数尤度比信号523を出力する。
判定部524は、対数尤度比信号523を入力とし、対数尤度比信号523を用いて例えば式(9)を実行することで符号語を推定し、これにより得た推定ビット525を出力する。
以上が、復号部500の基本的な動作である。次に、図11の復号部500の構成と、図10の行・列処理のスケジュールとの関係について、図12及び図13を用いて詳しく説明する。ここでは、グループ数をZとして説明する。
行処理後データ記憶部#1(512#1)は、グループG1(図10)の行処理後のデータを記憶する。同様に、行処理後データ記憶部#Z(512#Z)は、グループGZの行処理後のデータを記憶する。
列処理後データ記憶部#1(518#1)は、グループG1の列処理後のデータを記憶する。同様に、列処理後データ記憶部#Z(518#Z)は、グループGZの列処理後のデータを記憶する。
図12及び図13は、行・列処理演算部#1〜#Z(507#1〜507#Z)それぞれの、時間軸における処理タイミングを示している。図12及び図13において、“L(Low)”の区間は、行・列処理の動作を行っていないことを示し、“H(High)”の区間は、行・列処理の動作を行っていることを示す。
図12に示すように、行・列処理演算部#1は、“H”区間601#1において、グループG1(図10)の行・列処理を行う。この“H”区間601#1において、他の行・列処理演算部#2〜#Zは、まだ、反復復号の動作を開始していない。
行・列処理演算部#1は、“H”区間602#1において、グループG2の行・列処理を行う。この“H”区間602#1と同区間であるH”区間601#2において、行・列処理演算部#2は、グループG1の行・列処理を行う。この区間において、他の行・列処理演算部#3〜#Zは、まだ、反復復号の動作を開始していない。
行・列処理演算部#1は、“H”区間603#1において、グループG3の行・列処理を行う。この“H”区間603#1と同区間である“H”区間602#2において、行・列処理演算部#2は、グループG2の行・列処理を行う。また、“H”区間603#1と同区間である“H”区間601#3において、行・列処理演算部#3は、グループG1の行・列処理を行う。この区間において、他の行・列処理演算部#4〜#Zは、まだ、反復復号の動作を開始していない。
以上のように、行・列処理演算部#1〜#Zは、順次反復復号を開始する。また、それぞれ行・列処理演算部#1〜#Zで行・列処理されるグループは、時間の経過に従って、行・列処理演算部#1〜#Z間で一つずつ移動される。この動作を実現するために、図11の接続切替部505、510、514,516、520は、入力と出力の接続を切り替える。
図13の時間軸における処理タイミングにおいて、区間(N−1)#1は行・列処理演算部#1が(N−1)回目の復号を行っていることを示している。同様に、区間(N−1)#2は行・列処理演算部#2が(N−1)回目の復号を行っていることを示している。このように、(N−1)#kは行・列処理演算部#kが(N−1)回目の復号を行っていることを示している。
また、区間N#1は行・列処理演算部#1がN回目の復号を行っていることを示している。同様に、区間N#2は行・列処理演算部#2がN回目の復号を行っていることを示している。このように、区間N#kは行・列処理演算部#kがN回目の復号を行っていることを示している。
各反復復号回の区間内では、図12で説明したのと同様に、それぞれ行・列処理演算部#1〜#Zで行・列処理されるグループは、時間の経過に従って、行・列処理演算部#1〜#Z間で一つずつ移動される(図13の右半分を参照)。
このような処理を行うことで、本実施の形態の復号部500は、全ての行・列処理演算部#1〜#ZがN回目の復号処理を完了すると、実施の形態1の復号部215(図9)のN回の復号処理のZ倍、つまり、Z×N回の復号処理を行ったことと等価となる。したがって、本実施の形態の復号部500の構成を採用すれば、良好な受信品質を得るのに必要とする反復復号の回数を削減することができるので、実施の形態1の復号部215と比較して処理遅延を短くすることができ、高速なBP復号を行うことができる。すなわち、復号部500では、1回の反復復号においてパラレル処理によって復号部215のZ倍の復号処理を行っているので、復号部215と同等の受信品質を得るまでに要する反復復号回数がほぼ1/Z倍となるので、短時間で復号部215と同等の受信品質を得ることができる。
以上説明したように、本実施の形態によれば、行処理及び列処理を複数のグループG1〜GZに分割し、各グループG1〜GZの行処理及び列処理を、各々の行・列処理演算部#1〜#Z(507#1〜507#Z)によって逐次的に実行し、かつ複数の行・列処理演算部#1〜#Z(507#1〜507#Z)によって時間をずらしながら並列に実行したことにより、実施の形態1よりも高速なBP復号を行うことができる。
なお、行処理及び列処理のグループ分割の仕方は、図10に示したものに限らない。
また、本実施の形態では、本発明をLDPC-CCに適用した場合について説明したが、本発明はこれに限らず、例えば非特許文献8に示されているような畳み込み符号に適用することもできる。すなわち、非特許文献8に示されているような畳み込み符号についての検査行列Hを作成し、BP復号を行う場合にも、本実施の形態のBP復号方法を適用することができる。この場合も、実施の形態と同様の効果を得ることができる。
(実施の形態3)
本実施の形態では、受信側で実施の形態2で説明した復号を行う場合に適した、送信側でのインタリーブ方法を提示する。本実施の形態では、一例として、送信装置が図6のように、符号化を行った後にインタリーブを施す場合の構成について説明する。
図14は、図6の送信装置100が送信する変調信号の時間軸におけるフレーム構成(1フレーム)の一例を示している。図14において、変調信号は、プリアンブル801とデータシンボル802によって構成されている。プリアンブル801には、受信装置がチャネル変動を推定するためのパイロットシンボル、周波数オフセットを推定するためのシンボルやデータ以外の制御情報を伝送するためのシンボル等が含まれている。
データシンボル(データを伝送するためのシンボル)802は、例えば図1の検査行列Hに基づくLDPC-CCの符号化が施されたものである。本実施の形態では、1フレームのデータシンボル802は、3600シンボルで構成され、BPSK変調されているものとする。
図15は、例えば、図6のインタリーブ部104において、図14のデータシンボル802を1フレーム単位(3600シンボル単位)でランダムインタリーブした場合の、受信側での信号処理タイミングを示している。
図15(a)は、受信装置におけるデータシンボル802の受信状況を示している。“H”区間において、受信装置はデータシンボル802を受信している状況であり、“L”区間において、受信装置はデータシンボル802を受信していない状況であるものとする。
図15(b)は、受信装置におけるデインタリーブの処理状況を示している。“H”区間において、受信装置はデインタリーブを行っている状況であり、“L”区間において、受信装置はデインタリーブを行っていない状況であるものとする。
図15(a)及び図15(b)からわかるように、図14のデータシンボル802に対して1フレーム単位(3600シンボル単位)でランダムインタリーブを施した場合、受信装置は3600シンボル全てを受信完了しない限り、デインタリーブを施すことができない。
図15(c)は、受信装置における復号部(図9、図11参照)の処理状況を示している。“H”区間において、復号部は復号動作を行っている状況であり、“L”区間において、復号部は復号動作を行っていない状況である。
このように、1フレーム単位(3600シンボル単位)でランダムインタリーブを施した場合、図15のように、デインタリーブの動作は、1フレームのデータシンボルを全て受信完了した後でなければ開始できない。また、復号動作(例えば図12及び図13)は、デインタリーブが完了した後(図15(b))でなければ開始できない。
これが原因となって、処理遅延が生じる。そこで、本実施の形態では、実施の形態2で説明した、行・列処理をグループ分割し、分割したグループの行・列処理を、逐次的かつ並列に処理するといった特徴を活かしたインタリーブ方法を提案する。
実施の形態1で説明したLDPC―CCの符号化処理においては、検査行列Hによる検査式の次数がDであり、検査行列Hのj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、“(D+1)×N(N:自然数)”毎に検査行列Hの列が区切られ、かつ“(D+1)×N/n”毎に検査行列Hの行が区切られて形成されたプロトグラフを、行処理演算及び列処理演算の処理単位として演算を行うようになされている。
従って、インタリーブのブロックサイズを“(D+1)×N(N:自然数)×M(M:自然数)”ビットに設定してこのブロックサイズ単位のインタリーブを行えば、インタリーブのブロックサイズが、図10のようにグループに分割したブロックサイズの整数倍となるので、図15で説明したような待ち時間を生じさせずに、受信した全てのビットをデインタリーブ処理することができる。この結果、受信装置での処理遅延を軽減できる。
例えば、図10のように検査行列を分割した場合、(次数+1)=4、N=1である。本実施の形態ではこれを考慮して、図16に示すように、3600シンボルのデータシンボル802を6分割することで、1ブロックを600シンボルで構成する。これにより、図16において、データシンボル802は、ブロック#1(901#1)、ブロック#2(901#2)、ブロック#3(901#3)、ブロック#4(901#4)、ブロック#5(901#5)及びブロック#6(901#6)で構成されることになる。
そして、本実施の形態においては、ブロック内のみでインタリーブを施す。例えば、BPSK変調を用いると仮定すると、インタリーブ部104(図6)によってブロック#1(901#1)を構成する600ビットでインタリーブを施す。同様に、ブロック#2(901#2)を構成する600ビットでインタリーブを施す。つまり、ブロック#k(901#k)を構成する600ビットでインタリーブを施す(k=1,2,・・・,6)。 このようにすることで、前述で述べたような、「ブロックサイズを“(次数+1)×N(N:自然数)×M(N:自然数)”ビットをインタリーブのブロックサイズとする」条件を満すインタリーブ処理を実現できる。なぜなら、(次数+1)×1=(3+1)×1=4であり、600/4=150(自然数)となるからである。
このようにすることで、受信装置は、1ブロックの受信を完了した直後にデインタリーブを施すことができ、かつ、図11の復号器の場合、デインタリーブが完了した直後に行・列処理演算を開始することができる。これにより、図15のように、1フレームの受信が完了するまでデインタリーブを待ち、かつ1フレーム分のデインタリーブが完了するまで復号を待つ方法と比較して、演算の遅延を短くすることができる。
次に、図17を用いて、図16のようにデータシンボル区間をブロック分割し、ブロック内のみでインタリーブを施した場合の、図11の復号部500の処理タイミングについて説明する。
図17(a)は、受信装置におけるデータシンボル802の受信状況を示している。“H”区間において、受信装置はデータシンボル802を受信している状況であり、“L”区間において、受信装置はデータシンボル802を受信していない状況であるものとする。
図17(b)は、図16のブロック#1(901#1)を受信完了後に、ブロック#1(901#1)のデータをデインタリーブしていることを示している。すなわち、“H”区間において、ブロック#1(901#1)のデータがデインタリーブされる。
図17(c)は、図11の行・列処理演算部#1(507#1)の動作タイミングを示している。“H”区間において、行・列処理演算部#1(507#1)は、行・列処理演算を行う。因みに、動作開始直後は、図4又は図5の処理<1>を行う。図17(d)は、図11の行・列処理演算部#2(507#2)の動作タイミングを示している。
図17(a)、図17(b)及び図17(c)からわかるように、ブロック#1(901#1)の受信完了直後に、デインタリーバ213(図7)によってブロック#1(901#1)のデータ全てをデインタリーブすることができ、かつデインタリーブ処理の完了直後に、行・列処理演算部#1(507#1)によって行・列処理演算を行うことができる。
そして、図17(d)のように、行・列処理演算部#2(507#2)は、行・列処理演算部#1(507#1)が行・列処理演算を開始してからある一定の時間間隔(図12において、行・列処理演算部#1がグループG1の処理を開始してから行・列処理演算部#2がグループG1の処理を開始するまでの時間間隔に相当)をおいて、行・列処理演算を開始する。行・列処理演算部#2〜#Zも、一定の時間間隔をおきながら、順次、行・列演算を開始する。
図17(e)は、図16のブロック#2(901#2)を受信完了後に、ブロック#2(901#2)のデータをデインタリーブしていることを示している。すなわち、“H”区間において、ブロック#2(901#2)のデータがデインタリーブされる。
図17(a)及び図17(e)からわかるように、ブロック#2(901#2)の受信完了直後に、デインタリーバ213(図7)によってブロック#2(901#2)のデータ全てをデインタリーブすることができる。
なお、当然であるが、ブロック#2(901#2)のデータのデインタリーブ完了前に、図11の行・列処理演算部#k(k=1,2,・・・,Z)が、行・列処理を行うことができるデータは、ブロック#1(901#1)のデータに限定される。
以上説明したように、本実施の形態によれば、LDPC-CCの符号化を行う送信装置において、1フレーム内のデータシンボル区間を2つ以上のブロックに分割し、1ブロックのデータを“(次数+1)×N(N:自然数)×M(M:自然数)”ビットで構成し、ブロック内においてインタリーブを施すようにしたことにより、受信側における復号処理による演算の遅延を短くすることができる。受信側で実施の形態1や実施の形態2で説明したようなBP復号を行う場合に特に有効である。
本実施の形態では、LDPC-CCを例に説明したが、例えば、非特許文献8に示されている畳み込み符号に対し、検査行列Hを作成し、BP復号を行う場合も、同様に実施することができる。
なお、本実施の形態では、本発明の送信方法及び送信装置を、LDPC-CCの符号化及びLDPC-CCのBP復号を行うシステムに適用した場合について説明したが、本発明の送信方法及び送信装置はこれに限らず、例えば非特許文献8に示されているような畳み込み符号に適用することもできる。すなわち、非特許文献8に示されているような畳み込み符号についての検査行列Hを作成し、BP復号を行う場合にも、本実施の形態の送信方法及び送信装置を適用することができる。この場合も、上述した実施の形態と同様の効果を得ることができる。
また、本実施の形態では、BPSKを行う場合を例に説明したが、これに限ったものではなく、QPSK、16QAM、64QAM等の他の変調方式を用いる場合でも、同様に実施することができる。
(他の実施の形態)
ここでは、これまで説明してきたLDPC-CCの検査行列とは異なる形の検査行列を用いたLDPC-CCへの実施方法について説明する。ここでは、特に、非特許文献2に示されているように、プロトグラフと特定の位置とに、“1”が存在する検査行列を用いたLDPC-CCへの実施方法について詳しく説明する。
図18に、LDPC―CCの検査行列Hの一例を示す。図18中の点線で囲まれた行列Hnpはプロトグラフと呼ばれる。検査行列HはプロトグラフHnpを基礎として構成されている。つまり、プロトグラフHnpは、LDPC-CCを構成するためのtransposed parity check matrixである。また、検査行列Hは、プロトグラフHnpとは別に、特定の規則にしたがって、“1”が配置されている(図18の○で囲まれた“1”)。なお、図18のように、送信系列(符号化後のデータ)をnk(k:自然数)と表す。
本実施の形態においては、図19のように検査行列Hを分割する。分割の規則は、以下のとおりである。
1)プロトグラフHnpの列数が4なので、検査行列Hの列を4つごとに区切る。なお、図19では、一例として、“プロトグラフの列数”ごとに区切っているが、“(プロトグラフの列数)×N(N:自然数)”ごとに区切ればよい。
2)プロトグラフHnpの行数が3なので、検査行列Hの行を3つごとに区切る。なお図19では、一例として、“プロトグラフの行数”ごとに区切っているが、“(プロトグラフの行数)×M(M:自然数)”ごとに区切ればよい。
以上の規則1)及び規則2)に従って検査行列Hを区切る。そして、このようにして区切られて形成されたプロトグラフを行処理演算及び列処理演算の処理単位として、図4又は図5に示したような処理手順でBP復号を行えば、実施の形態1や実施の形態2で説明したのと同様の効果を得ることができる。つまり、図18のように、プロトグラフと特定の位置とに、“1”が存在する検査行列を用いたLDPC-CCについても、検査行列Hを上記規則1)及び規則)のように分割するとことにより、実施の形態1と実施の形態2で説明したBP復号を実施することができ、同様の効果を得ることができる。
また、図18のようにプロトグラフHnpと特定の位置とに、“1”が存在する検査行列のLDPC―CCを用いた場合に、実施の形態3と同様に受信側における復号処理による演算の遅延を短くするためには、送信側で次のようなインタリーブ処理を行えばよい。すなわち、1フレーム内のデータシンボル区間を2つ以上のブロックに分割し、1ブロックのデータを、検査行列Hを構成するプロトグラフHnpの列数×N(N:自然数)ビットで構成し、ブロック内においてインタリーブを施せばよい。
本発明は、上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、主に、本発明をハードウェアで実現する場合について説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明の方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしてもよい。
また、上記実施の形態では、主に、シングルキャリア伝送を行う送信装置及び受信装置(図6及び図7)に本発明を適用した場合を例にとって説明したが、本発明はこれに限らず、OFDM等のマルチキャリア伝送方式やスペクトル拡散通信方式を併用した伝送方式にも適用可能である。
本発明は、LDPC―CCや畳み込み符号を用いた無線システムに広く適用できる。
実施の形態1におけるLDPC-CCの検査行列の一例を示す図 sum-product復号(BP復号)における、検査行列Hに対する演算手順を示す図 実施の形態1における、プロトグラフの形成方法の説明に供する図 実施の形態1におけるBP復号手順の説明に供する図 実施の形態1におけるBP復号手順の説明に供する図 LDPC-CC符号化を行う送信装置の構成例を示すブロック図 LDPC-CCの復号を行う受信装置の構成例を示すブロック図 sum-product復号(BP復号)を行う復号部の構成例を示すブロック図 実施の形態1における、BP復号を行う復号部の構成例を示すブロック図 実施の形態2における、行処理演算及び列処理演算のグループ分けの説明に供する図 実施の形態2における、BP復号を行う復号部の構成例を示すブロック図 実施の形態2における、復号部の動作の説明に供するタイミングチャート 実施の形態2の復号部の動作説明に供するタイミングチャート 送信される変調信号のフレーム構成例を示す図 受信側での一般的な信号処理タイミングを示すタイミングチャート 実施の形態3における、データシンボルのブロック分割の説明に供する図 実施の形態3における、受信側での信号処理タイミングを示すタイミングチャート 他の実施の形態におけるLDPC-CCの検査行列の一例を示す図 他の実施の形態における、プロトグラフの形成方法の説明に供する図 LDPC-CCの検査行列を示す図 LDPC-CC符号化器の構成例を示す図
符号の説明
100 送信装置
102 符号化部
104 インタリーブ部
200 受信装置
213 デインタリーバ
215,500 復号部
405#1,405#2,405#3 行処理演算部
407,512#1〜512#Z 行処理後データ記憶部
410#1,410#2,410#3 列処理演算部
412,518#1〜518#Z 列処理後データ記憶部
416,522 対数尤度比演算部
418,524 判定部
505,510,514,516,520 接続切替部
507#1〜507#Z 行・列処理演算部

Claims (12)

  1. LDPC-CC(Low-Density Parity-Check Convolutional Code)をBP(Belief-Propagation)復号する復号方法であって、
    検査行列を用いて行処理演算及び列処理演算を行う演算ステップと、
    前記演算ステップでの演算結果を用いて符号語を推定するステップと、
    を含み、
    前記検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、
    前記演算ステップでは、
    “(D+1)×N(N:自然数)”毎に前記検査行列の列が区切られ、かつ“(D+1)×N/n”毎に前記検査行列の行が区切られて形成されたプロトグラフを、前記行処理演算及び列処理演算の処理単位として演算を行う
    復号方法。
  2. 畳み込み符号をBP(Belief-Propagation)復号する復号方法であって、
    検査行列を用いて行処理演算及び列処理演算を行う演算ステップと、
    前記演算ステップでの演算結果を用いて符号語を推定するステップと、
    を含み、
    前記検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、
    前記演算ステップでは、
    “(D+1)×N(N:自然数)”毎に前記検査行列の列が区切られ、かつ“(D+1)×N/n”毎に前記検査行列の行が区切られて形成されたプロトグラフを、前記行処理演算及び列処理演算の処理単位として演算を行う
    復号方法。
  3. 前記演算ステップは、
    複数のグループに分割された、前記プロトグラフ単位の行処理演算及び列処理演算を、逐次的に行う逐次演算ステップと、
    複数の前記逐次的演算を、時間をずらしながら並列に行う並列演算ステップと、
    を含む請求項1又は請求項2に記載の復号方法。
  4. LDPC-CC(Low-Density Parity-Check Convolutional Code)をBP(Belief-Propagation)復号する復号方法であって、
    検査行列を用いて行処理演算及び列処理演算を行う演算ステップと、
    前記演算ステップでの演算結果を用いて符号語を推定するステップと、
    を含み、
    前記演算ステップでは、
    前記検査行列を構成するプロトグラフの列数×N(N:自然数)毎に前記検査行列の列が区切られ、かつ前記プロトグラフの行数×M(M:自然数)毎に前記検査行列の行が区切られて形成された複数のブロックを、前記行処理演算及び列処理演算の処理単位として演算を行う
    復号方法。
  5. LDPC-CC(Low-Density Parity-Check Convolutional Code)をBP(Belief-Propagation)復号する復号装置であって、
    検査行列を用いて行処理演算を行う行処理演算部と、
    前記検査行列を用いて列処理演算を行う列処理演算部と、
    前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、
    を有し、
    前記検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、
    前記行処理演算部及び前記列処理演算部は、
    “(D+1)×N(N:自然数)”毎に前記検査行列の列が区切られ、かつ“(D+1)×N/n”毎に前記検査行列の行が区切られて形成されたプロトグラフを、前記行処理演算及び列処理演算の処理単位として演算を行う
    復号装置。
  6. LDPC-CC(Low-Density Parity-Check Convolutional Code)をBP(Belief-Propagation)復号する復号装置であって、
    検査行列を用いて行処理演算を行う行処理演算部と、
    前記検査行列を用いて列処理演算を行う列処理演算部と、
    前記行処理演算部及び前記列処理演算部での演算結果を用いて符号語を推定する判定部と、
    を有し、
    前記行処理演算部及び前記列処理演算部は、
    前記検査行列を構成するプロトグラフの列数×N(N:自然数)毎に前記検査行列の列が区切られ、かつ前記プロトグラフの行数×M(M:自然数)毎に前記検査行列の行が区切られて形成された複数のブロックを、前記行処理演算及び列処理演算の処理単位として演算を行う
    復号装置。
  7. LDPC-CC(Low-Density Parity-Check Convolutional Code)のインタリーブ方法であって、
    検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、
    1フレーム内のデータ区間を2つ以上のブロックに分割し、1ブロックのデータを“(D+1)×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施す
    インタリーブ方法。
  8. LDPC-CC(Low-Density Parity-Check Convolutional Code)のインタリーブ方法であって、
    1フレーム内のデータ区間を2つ以上のブロックに分割し、1ブロックのデータを“検査行列を行処理演算及び列処理演算のために分割したプロトグラフの列数×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施す
    インタリーブ方法。
  9. 前記プロトグラフは、LDPC-CCを構成するためのtransposed parity check matrixである
    請求項8に記載のインタリーブ方法。
  10. LDPC-CC符号化を行う符号化部と、
    前記符号化部によって得られた符号化データをインタリーブするインタリーブ部と、
    を有し、
    前記インタリーブ部は、
    検査行列による検査式の次数がDであり、前記検査行列のj+1行目の検査式とj行目の検査式との関係がnビットだけシフトした関係にある場合、
    1フレーム内の符号化データ区間を2つ以上のブロックに分割し、1ブロックのデータを“(D+1)×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施す
    送信装置。
  11. LDPC-CC符号化を行う符号化部と、
    前記符号化部によって得られた符号化データをインタリーブするインタリーブ部と、
    を有し、
    前記インタリーブ部は、
    1フレーム内の符号化データ区間を2つ以上のブロックに分割し、1ブロックのデータを“検査行列を行処理演算及び列処理演算のために分割したプロトグラフの列数×N(N:自然数)”ビットで構成し、当該ブロック内においてインタリーブを施す
    送信装置。
  12. 前記プロトグラフは、LDPC-CCを構成するためのtransposed parity check matrixである
    請求項11に記載の送信装置。
JP2007226822A 2007-08-31 2007-08-31 復号方法及び復号装置 Expired - Fee Related JP4823176B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007226822A JP4823176B2 (ja) 2007-08-31 2007-08-31 復号方法及び復号装置
EP08790521.2A EP2182639B1 (en) 2007-08-31 2008-08-29 Low-density parity check convolution code (ldpc-cc) decoding method and decoding device
US12/674,898 US8286050B2 (en) 2007-08-31 2008-08-29 Decoding method, decoding device, interleaving method, and transmitter
CN2008801040954A CN101785188B (zh) 2007-08-31 2008-08-29 解码方法、解码装置、交织方法以及发送装置
PCT/JP2008/002367 WO2009028206A1 (ja) 2007-08-31 2008-08-29 復号方法、復号装置、インタリーブ方法及び送信装置
US13/599,905 US8448040B2 (en) 2007-08-31 2012-08-30 Decoding method and decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007226822A JP4823176B2 (ja) 2007-08-31 2007-08-31 復号方法及び復号装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011136302A Division JP5171997B2 (ja) 2011-06-20 2011-06-20 復号方法及び復号装置

Publications (2)

Publication Number Publication Date
JP2009060453A true JP2009060453A (ja) 2009-03-19
JP4823176B2 JP4823176B2 (ja) 2011-11-24

Family

ID=40386939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007226822A Expired - Fee Related JP4823176B2 (ja) 2007-08-31 2007-08-31 復号方法及び復号装置

Country Status (5)

Country Link
US (2) US8286050B2 (ja)
EP (1) EP2182639B1 (ja)
JP (1) JP4823176B2 (ja)
CN (1) CN101785188B (ja)
WO (1) WO2009028206A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2292356A1 (en) 2009-09-02 2011-03-09 Isman J Corporation Manufacture of sintered silicon alloy
WO2012017652A1 (ja) * 2010-08-06 2012-02-09 パナソニック株式会社 誤り訂正復号装置及び誤り訂正復号方法
CN112165338A (zh) * 2020-09-30 2021-01-01 电子科技大学 一种卷积码随机交织序列交织关系的估计方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR122019003642A8 (pt) 2007-09-28 2023-01-31 Panasonic Corp Método e aparelho de transmissão que usam um método de codificação de um código convolucional de verificação de paridade de baixa densidade
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9131238B2 (en) * 2010-06-18 2015-09-08 The Trustees Of Princeton University System and method for lossy source-channel coding at the application layer
US8879640B2 (en) * 2011-02-15 2014-11-04 Hong Kong Applied Science and Technology Research Institute Company Limited Memory efficient implementation of LDPC decoder
WO2013097174A1 (zh) 2011-12-30 2013-07-04 华为技术有限公司 前向纠错编、解码方法、装置及系统
US9141470B2 (en) * 2012-03-19 2015-09-22 Panasonic Corporation Decoding device
US9584157B2 (en) * 2012-10-05 2017-02-28 Sun Patent Trust Coding method, decoding method, coder, and decoder
US20170019211A1 (en) * 2014-03-17 2017-01-19 Lg Electronics Inc. Method and device for decoding low density parity check code for forward error correction in wireless communication system
US20160020787A1 (en) * 2014-07-18 2016-01-21 Kabushiki Kaisha Toshiba Decoding apparatus, decoding method and non-transitory computer-readable recording medium containing a decoding program
JP6511284B2 (ja) * 2015-02-13 2019-05-15 パナソニック株式会社 最小値選択回路、復号器及び最小値選択方法
CN108886370B (zh) * 2016-05-16 2020-11-10 华为技术有限公司 一种卷积ldpc译码方法、装置、译码器及系统
US10341053B2 (en) * 2016-10-14 2019-07-02 Marvell World Trade Ltd. Systems and methods for a log-likelihood ratio based dynamic pre-processing selection scheme in a low-density parity-check decoder
CN111373663B (zh) * 2017-11-27 2023-07-18 三菱电机株式会社 纠错装置及光收发装置
EP3977653A4 (en) * 2019-06-03 2023-07-05 The Regents of the University of California CONVOLUTIVE PRECODING AND DECODED POLAR CODE
US11223372B2 (en) * 2019-11-27 2022-01-11 Hughes Network Systems, Llc Communication throughput despite periodic blockages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059688A1 (ja) * 2004-12-02 2006-06-08 Mitsubishi Denki Kabushiki Kaisha 復号装置及び通信装置
JP2008507240A (ja) * 2004-07-19 2008-03-06 テキサス インスツルメンツ インコーポレイテッド 低密度パリティ検査(ldpc)符号用の階層的復号方式の改善

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222289B2 (en) * 2002-09-30 2007-05-22 Certance Llc Channel processor using reduced complexity LDPC decoder
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
WO2006016261A1 (en) * 2004-08-13 2006-02-16 Nokia Corporation Structured puncturing of irregular low-density parity-check (ldpc) codes
US7500172B2 (en) * 2005-02-26 2009-03-03 Broadcom Corporation AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US7343539B2 (en) * 2005-06-24 2008-03-11 The United States Of America As Represented By The United States National Aeronautics And Space Administration ARA type protograph codes
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
JP2007043635A (ja) 2005-06-29 2007-02-15 Samsung Electronics Co Ltd 低密度パリティ検査符号の復号装置、復号方法および復号プログラム
WO2007019187A2 (en) * 2005-08-03 2007-02-15 Novowave, Inc. Systems and methods for a turbo low-density parity-check decoder
CN100544212C (zh) * 2006-01-23 2009-09-23 南京大学 高速的减少存储需求的低密度校验码解码器
JP4550857B2 (ja) 2007-04-06 2010-09-22 株式会社日立製作所 情報処理装置の割当て方法、この方法を実行する管理サーバ及び端末
KR101077552B1 (ko) * 2007-12-14 2011-10-28 한국전자통신연구원 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507240A (ja) * 2004-07-19 2008-03-06 テキサス インスツルメンツ インコーポレイテッド 低密度パリティ検査(ldpc)符号用の階層的復号方式の改善
WO2006059688A1 (ja) * 2004-12-02 2006-06-08 Mitsubishi Denki Kabushiki Kaisha 復号装置及び通信装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2292356A1 (en) 2009-09-02 2011-03-09 Isman J Corporation Manufacture of sintered silicon alloy
WO2012017652A1 (ja) * 2010-08-06 2012-02-09 パナソニック株式会社 誤り訂正復号装置及び誤り訂正復号方法
JP2012039371A (ja) * 2010-08-06 2012-02-23 Panasonic Corp 誤り訂正復号装置及び誤り訂正復号方法
US8996965B2 (en) 2010-08-06 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Error correcting decoding device and error correcting decoding method
CN112165338A (zh) * 2020-09-30 2021-01-01 电子科技大学 一种卷积码随机交织序列交织关系的估计方法

Also Published As

Publication number Publication date
EP2182639B1 (en) 2017-05-17
US8448040B2 (en) 2013-05-21
WO2009028206A1 (ja) 2009-03-05
US20110113300A1 (en) 2011-05-12
JP4823176B2 (ja) 2011-11-24
EP2182639A4 (en) 2010-11-10
US20120324309A1 (en) 2012-12-20
CN101785188A (zh) 2010-07-21
EP2182639A1 (en) 2010-05-05
CN101785188B (zh) 2013-04-03
US8286050B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
JP4823176B2 (ja) 復号方法及び復号装置
US10425258B2 (en) Method and apparatus for transmitting and receiving data in a communication system
US8423876B2 (en) Low-density parity check convolution code (LDPC-CC) encoder and LDPC-CC decoder
US9276611B2 (en) Encoding method, encoder, and decoder
CN104467872B (zh) 编码方法以及解码器
JP2007531385A (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
JP2017163615A (ja) 変調信号復号方法及び変調信号復号装置
KR20100066514A (ko) 패리티 체크 타입의 코드로 심볼을 인코딩하는 방법 및 장치, 및 이에 대응하는 디코딩 방법 및 장치
JP5789014B2 (ja) 符号化方法、符号化器、復号器
JP5171997B2 (ja) 復号方法及び復号装置
KR20180122911A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20190000768A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
JP2009118418A (ja) 復号化装置、符号化装置、復号化方法、及び、符号化方法
Oliveira et al. Polarization-driven puncturing for polar codes in 5g systems
JP2009177649A (ja) 符号化方法、符号化器、復号器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4823176

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees