JP2010114862A - 符号化器、送信装置及び符号化方法 - Google Patents

符号化器、送信装置及び符号化方法 Download PDF

Info

Publication number
JP2010114862A
JP2010114862A JP2008290022A JP2008290022A JP2010114862A JP 2010114862 A JP2010114862 A JP 2010114862A JP 2008290022 A JP2008290022 A JP 2008290022A JP 2008290022 A JP2008290022 A JP 2008290022A JP 2010114862 A JP2010114862 A JP 2010114862A
Authority
JP
Japan
Prior art keywords
matrix
bits
puncture
unit
parity
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.)
Pending
Application number
JP2008290022A
Other languages
English (en)
Other versions
JP2010114862A5 (ja
Inventor
Yutaka Murakami
豊 村上
Shuta Okamura
周太 岡村
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
Priority to JP2008290022A priority Critical patent/JP2010114862A/ja
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to US13/122,942 priority patent/US8473827B2/en
Priority to CN201310296649.8A priority patent/CN103338047B/zh
Priority to BRPI0920457A priority patent/BRPI0920457B1/pt
Priority to EP09819006.9A priority patent/EP2333962B1/en
Priority to PCT/JP2009/005286 priority patent/WO2010041466A1/ja
Priority to CN2009801395405A priority patent/CN102177659B/zh
Publication of JP2010114862A publication Critical patent/JP2010114862A/ja
Publication of JP2010114862A5 publication Critical patent/JP2010114862A5/ja
Priority to US13/900,264 priority patent/US8607131B2/en
Priority to US14/065,020 priority patent/US8745473B2/en
Priority to US14/231,087 priority patent/US8954830B2/en
Priority to US14/584,579 priority patent/US9094044B2/en
Priority to US14/743,591 priority patent/US9787325B2/en
Priority to US15/692,679 priority patent/US10224963B2/en
Priority to US16/245,424 priority patent/US10819370B2/en
Priority to US17/029,488 priority patent/US11043971B2/en
Priority to US17/322,541 priority patent/US11539378B2/en
Priority to US18/058,599 priority patent/US11848683B2/en
Priority to US18/501,757 priority patent/US20240080047A1/en
Pending 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • 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/0041Arrangements at the transmitter end

Abstract

【課題】QC−LDPC等のブロック符号を用いる場合に、受信品質を向上させつつ、伝送量を低減させ、伝送効率の劣化を抑圧すること。
【解決手段】ゼロ行列設定部110は、パリティ生成行列gの部分行列であって、要素が全て“0”から構成されるゼロ行列を設定する。配置部120は、ゼロ行列の列に入力ビットを配置し、ゼロ行列以外の列に“0”を配置する。符号化部130は、パリティ生成行列gを用いて符号化してパリティビットを取得する。パンクチャ部(データ削減部)140は、得られたパリティビットのうち、ゼロ行列の行に対応するパリティビットを、送信しないビットとしてパンクチャする。
【選択図】図6

Description

本発明は、例えば、QC−LDPC(Quasi Cyclic Low Density Parity Check)符号等のように、ゼロ行列を部分的かつ規則的に含むパリティ生成行列を用いて符号化系列を形成する符号化器、送信装置及び符号化方法に関する。
近年、実現可能な回路規模で高い誤り訂正能力を発揮する誤り訂正符号として、低密度パリティ検査(LDPC:Low Density Parity Check)符号に注目が集まっている。LDPC符号は、低密度なパリティ検査行列Hで定義される誤り訂正符号である。なお、低密度とは、行列中に含まれる1の要素数が0の要素数に比べて大幅に少ないことである。LDPC符号は、検査行列Hの列数Nと等しいブロック長をもつブロック符号である。
LDPC符号は、その誤り訂正能力の高さと、実装の容易さとから、IEEE802.11nの高速無線LAN(Local Area Network)システム、デジタル放送システムなどの誤り訂正符号化方式に採用されている。また、ホームネットワークでも、QC(Quasi Cyclic:擬似巡回)−LDPC符号の採用が検討されている。
ブロック符号では、ブロック符号長が長いほど、誤り訂正能力が向上するという特徴がある。例えば、ヘッダのように、制御情報等を送信するシンボルを確実に伝送したい場合には、ヘッダ長に比べ符号長が長いブロック符号を用いることで、ヘッダの受信品質を確保することができる。
また、誤り訂正符号は、情報を伝送するために用いる誤り訂正符号とヘッダを伝送するために用いる誤り訂正符号とを共通にした場合、回路規模の点で有利となる。なお、本願では、制御情報等を送信するシンボルを「ヘッダ」と呼び説明するが、制御情報等を送信するシンボルを、例えば、制御シンボル(制御チャネル又は制御信号)、プリアンブル、テイルシンボル、パイロットシンボル(パイロットチャネル又はパイロット信号)、トレーニングシンボル等と呼んでも良い。
このとき、図1に示すように、送信する必要がある情報ビット数(例えば、ヘッダ長)が、ブロック符号のブロック長に比べ短いような場合、ブロック長の残りの部分の情報ビットを“0”と仮定して、符号化を行い、パリティビットを生成する。
そして、実際に送信する符号化系列としては、例えば、図1に示すように、送信する必要がある情報ビット(例えば、ヘッダ)及びパリティビットのみを送信する。すなわち、“0”と仮定した情報ビットの部分は、実際には送信しないようにする。
一般に、制御情報等のヘッダは、画像等の情報を伝送するペイロードデータに比べビット数が少ない。しかし、図1に示すようにして、ヘッダ及びパリティビットを送信するようにすることで、ヘッダとペイロードデータとを同一のブロック符号を用いて符号化することが可能となる。更に、ヘッダは、ヘッダ長より長いブロック長のブロック符号により符号化されるため、ヘッダの受信品質を確保することができる。この結果、ヘッダを通信相手に確実に伝送することができるようになるので、上述の通信方法は、通信を確立させるために有効である。
「Rate-Compatible LDPC符号のレート推定法」、電子情報通信学会論文誌2006/12 Vol.J89 A N0.12 p.1177 M. P. C. Fossorier, "Quasi-cyclic low-density parity-check codes from circulant permutation matrices," IEEE Trans. Inform. Theory, vol.50, no.8, pp.1788-1793, Nov. 2001. L. Chen, J. Xu, I. Djurdjevic, and S. Lin, "Near-Shannon limit quasi-cyclic low-density parity-check codes," IEEE Trans. Commun., vol.52, no.7, pp.1038-1042, July 2004. IEEE Unapproved Draft Std P802.11n_D3.00, pp.274, Sep 2007 D. J. C. Mackay, "Good error-correcting codes based on very sparse matrices," IEEE Trans. Inform. Theory, vol.45, no.2, pp399-431, March 1999. 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.
しかしながら、従来技術は、ヘッダのようにブロック長に比べデータ長が短いデータに対し、符号化を行うと、受信品質を向上することができるものの、情報ビットを“0”と仮定して符号化して得られたパリティビットをも送信しなくてはならない。そのため、ヘッダ長とブロック長とが同等で、その長さが短い場合には、送信しなければならないパリティビット数が少なくて済む。これに対し、従来技術は、ヘッダ長よりブロック長が長い場合には、送信しなければならないパリティビット数が増え、データの伝送効率が劣化してしまうという課題がある。したがって、データ伝送効率が劣化する点を改善すると、データ伝送効率の向上と、受信品質の向上との両立を図ることができるという利点をもつことになる。
本発明はかかる点に鑑みてなされたものであり、例えば、QC−LDPC符号等のブロック符号を用いる場合に、受信品質を向上させつつ、伝送量を低減させ、伝送効率の劣化を抑圧することができる符号化器、送信装置及び符号化方法を提供することを目的とする。
本発明の符号化器は、情報ビットを入力し、前記情報ビットとQC−LDPCのパリティ生成行列との行列演算によりパリティビットを生成する符号化器であって、前記情報ビットにゼロを挿入し、前記情報ビット及び前記ゼロと、前記パリティ生成行列との行列演算により前記パリティビットを生成し、前記情報ビットを配置する位置と前記パリティ生成行列とに基づいて、前記パリティビットのうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力する、構成を採る。
本発明の送信装置は、上記符号化器を具備し、前記パリティビットのうち、前記値が常にゼロとなるパリティビット以外の前記パリティビットと、前記情報ビットとを送信する送信手段と、を具備する構成を採る。
本発明の符号化方法は、情報ビットを入力し、前記情報ビットとQC−LDPCのパリティ生成行列との行列演算によりパリティビットを生成する符号化方法であって、前記情報ビットにゼロを挿入し、前記情報ビット及び前記ゼロと、前記パリティ生成行列との行列演算によりパリティビットを生成し、前記情報ビットを配置する位置と前記パリティ生成行列とに基づいて、前記パリティビットのうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力するようにした。
本発明の通信装置及び通信方法によれば、例えば、QC−LDPC符号等のブロック符号を用いる場合に、受信品質を向上させつつ、伝送量を低減させ、伝送効率の劣化を抑圧することができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
図2は、本発明の通信装置に用いられる符号化器の入出力データを示す。図2の符号化器100は、QC−LDPC(Quasi Cyclic Low Density Parity Check)符号を形成する。
図2において、情報系列u=(x1,x2,…,xm)は、符号化器100の入力データであり、符号化系列s=(x1,x2,…,xm,p1,p2,…,pn)は、符号化器の出力データを示す。
式(1)は、QC−LDPC符号のパリティ検査行列Hを示す(非特許文献1、非特許文献2、非特許文献3参照)。
Figure 2010114862
式(1)において、0≦j≦J−1、0≦l≦L−1であり、符号長N=p×L(pは自然数)のパリティ検査行列Hである。また、サブブロック行列I(pj,l)は、q行r列(r=(q+pj,l)mod p(0≦q≦p−1))が1であり、その他は“0”であるような巡回置換行列である。なお、pj,lは、乱数により“0”又は“1”に決定される。
図2の符号化器100は、生成行列Gを用いて、符号化系列を生成する。ここで、生成行列Gは、パリティ検査行列Hと、式(2)の関係がある。
Figure 2010114862
符号化系列sは、情報系列u及び生成行列Gより、s=Guと示すことができる。QC−LDPC符号は、組織符号であるので、生成行列Gは、式(3)のように示すことができる。
Figure 2010114862
ここで、Iは、m×mの単位行列である。また、行列gは、符号化系列sのうち、パリティ系列wのみを取り出し、w=(p1,p2,…,pn)と定義した場合に、パリティ系列wを求めるための行列(パリティ生成行列)である。パリティ生成系列wは、w=guを満たす。
図3は、QC−LDPC符号のパリティ生成行列gの一例を示す。図3に示すQC−LDPC符号は、非特許文献4のTable 20-14(LDPC parameters)に記載の符号化率(Coding rate(R))=1/2,LDPC符号情報ブロック長(LDPC code information block length(bits))=648,LDPC符号語ブロック長(LDPC codeword block length(bits))=1296のQC−LDPC符号である。
図3に示すパリティ生成行列gは、複数のサブブロック行列201,202,…,211,212,…から構成される。例えば、図3のサブブロック行列201において、(i+1)行目の各要素は、i行目の各要素を1ビット(1列)右にシフトした値をとる(iは自然数)。同様に、図3のサブブロック行列211において、(i+1)行目の各要素は、i行目の各要素を1ビット右にシフトした値をとる(iは自然数)。
また、図3のサブブロック行列202において、2行目の各要素は、1行目の各要素を1ビット右にシフトした値をとる。同様に、図3のサブブロック行列212において、2行目の各要素は、1行目の各要素を1ビット右にシフトした値をとる。
このように、サブブロック行列201,202,…,211,212は、巡回置換行列といえる。図3に示す例では、サブブロック行列201,202,…,211,212は、27行27列の行列である。
更に、パリティ生成行列gにおいて列が同一のサブブロック行列同士は、関連性を有している。例えば、サブブロック行列201と、サブブロック行列201と列が同一のサブブロック行列211とを比較すると、サブブロック行列211のi行目の要素は、サブブロック行列201の(i+1)行目の要素と2ビット目が異なるだけである(iは自然数)。
同様に、サブブロック行列202と、サブブロック行列202の列とが同一のサブブロック行列212とを比較すると、サブブロック行列212のi行目の要素は、サブブロック行列201の(i+1)行目の要素と同じである(iは自然数)。
なお、27行27列のサブブロック行列を縦に眺めた場合、例えば、サブブロック行列201とサブブロック行列211とを眺めた場合、上述したように、これらサブブロック行列は、関連性を有しているものの、必ずしも同一の行列であるとは限らない。
更に、パリティ生成行列gでは、要素“0”が連続して配置されるのが特徴的である。そのため、図3と同一のパリティ生成行列gを示す図4から分かるように、サブブロック行列202内に、行列を構成する要素が全て“0”の行列221を確保することができる。以下、行列を構成する要素が全て“0”の行列を、ゼロ行列と呼ぶ。
また、サブブロック行列212内には、ゼロ行列221と同じ列から始まり、ゼロ行列221と列数が同じ大きさのゼロ行列222を確保することができる。ゼロ行列221と同じ列から始まり、ゼロ行列221と列数が同じ大きさのゼロ行列は、図示せぬパリティ生成行列g内に多数存在する。
このように、QC−LDPC符号のパリティ生成行列は、ゼロ行列を含み、かつ、パリティ生成行列の同じ列から始まるゼロ行列が、多数存在するのが特徴的である。
本発明者らは、QC−LDPC符号のパリティ生成行列gのこの特徴に着目した。すなわち、m行n列のゼロ行列以外の列に情報ビットとして“0”を配置すると、生成されるm個のパリティビットが、全てゼロになることに着目した。更に、パリティ生成行列gにおいて列が同一のサブブロック行列同士は、要素の配列に関連性があり、QC−LDPC符号のパリティ生成行列gには、同じ列から始まるゼロ行列が多数存在するため、ゼロ行列以外の列に情報ビットとして“0”を配置することにより、全てゼロになるパリティビットが多数生成されることに着目した。
つまり、送信する必要がある情報ビット数が、ブロック符号のブロック長に比べ短く、一部の情報ビットを“0”と仮定して符号化する場合に、送信する必要がある情報ビットをゼロ行列(m行n列)の列に配置し、仮想ビットとして“0”をゼロ行列(m行n列)以外に配置すると、値が“0”となるm個のパリティビットが生成される。これらのパリティビットは、送信する必要がある情報ビットに依存せず、必ず“0”となる。
したがって、受信側は、ゼロ行列の位置から、値が必ず“0”のm個のパリティビットの位置が分かるので、送信側からは、値が必ず“0”のm個のパリティビットが送信せずとも、受信側は全てのデータの復号することができる。また、受信側は、値が必ず“0”のm個のパリティビット分を送信装置が送信しないビットと設定することができる、つまり、冗長ビットとして削減することができる。
再度、図4を用いて詳細に説明する。図4のゼロ行列221に着目する。図4のゼロ行列221は、7行12列の行列であり、ゼロ行列221の列に対応する情報ビットは、x36〜x47である。そこで、x36〜x47に、送信する必要のある情報ビットを配置し、x36〜x47以外に情報ビット“0”を配置して符号化を行うと、p1〜p7は、x36〜x47の値に関わらず、必ず“0”となる。
同様に、パリティ生成行列gにおける列の位置が、ゼロ行列221と同じであるゼロ行列222に着目すると、x36〜x47以外に情報ビット“0”を配置して符号化を行うと、p28〜p34は、x36〜x47の値に関わらず、必ず“0”となる。
したがって、パリティ生成行列gにより生成されたパリティビットp1〜p54のうち、p1〜p7及びp28〜p34は、値が必ず“0”となる。このため、送信装置が、パリティ生成行列gにより生成された、これら値が必ず“0”となるパリティビットp1〜p54を送信しないようにすると、送信装置が送信する必要があるビットとしては、x36〜x47及びp8〜p27,p35〜p54のみとすることができる。なお、以上の説明では、一例として、p1〜p54に着目して説明したが、p55以降についても同様に考えることで、送信装置が送信するパリティビットの数の削減を行うことができる。
図4のゼロ行列221は、7行12列であるため、送信する必要がある情報ビットが12ビット以下の場合には、ゼロ行列221の列に送信する必要がある情報ビットを配置すれば良い。
なお、送信する必要がある情報ビットが、12ビットを超える場合には、例えば、図5に示すように、更にゼロ行列231,232…の列に送信する必要がある情報ビットを配置するようにすれば良い。QC−LDPC符号のパリティ生成行列の特徴として、“0”が連続して配置されているため、図5に示すように、パリティ生成行列gには、ゼロ行列221,222…以外にも、ゼロ行列231,232のようなゼロ行列が多数存在する。
ゼロ行列231,232は、7行7列の行列であり、x71〜x77に送信する必要がある情報ビットを配置した場合においても、p1〜p7及びp28〜p34が全て“0”となる。そのため、送信装置は、ゼロ行列221,222を用いる場合と同様に、p1〜p7及びp28〜p34を送信しなくても良い。
したがって、ゼロ行列221,222に加え、ゼロ行列231,232を利用する場合には、送信する必要がある情報ビットを、x36〜x47及びx71〜x77に配置することができる。これにより、最大ビット数が、19(=12+7)ビットとなり、ゼロ行列221,222のみを利用する場合に比べ、送信する必要がある情報ビットとして配置可能な最大ビット数を増加することができる。
同様に、送信する必要がある情報ビット数が、19ビットを超える場合には、他の部分行列に含まれるゼロ行列を利用すれば良い。図5には、QC−LDPC符号のパリティ生成行列gの一部だけを示しており、QC−LDPCのパリティ生成行列gには、27行27列の巡回置換行列が列方向に24(=648/27)個存在するため、図示せぬ領域にもゼロ行列が多数含まれている。このため、送信装置は、ゼロ行列の部分において、上記と同様にゼロ行列を利用して、送信する必要がある情報ビットとして、配置することができる最大ビット数を増やすことができる。
このように、QC−LDPC符号のパリティ生成行列gには、パリティ生成行列gの同じ列から始まり、列数が同一のゼロ行列が、複数存在することに着目し、本実施の形態では、ゼロ行列の列に送信する必要がある情報ビットを配置し、ゼロ行列以外の列に仮想ビットとして“0”を配置する。これにより、ゼロ行列の行数と同じ数だけ値が“0”となるパリティビットが生成されるようになる。
このとき、送信装置及び受信装置は、パリティ生成行列gに対するゼロ行列の位置を共有していれば、このゼロ行列の行に対応するパリティビットを実際に送信せずとも、受信側では“0”が送信されたとして復号処理を行うことにより、パリティ生成行列gにより符号化された符号化データを復号することができる。このため、送信装置は、送信する必要があるパリティビット数を低減し、伝送効率を向上させることができる。
なお、ゼロ行列は、1行1列であっても良い。すなわち、同一行に1行1列のゼロ行列が複数あり、この複数のゼロ行列と同一列の要素がゼロの行があれば、同一列において要素がゼロとなる行数分だけ、常に“0”となるパリティビットが生成されることになる。
すなわち、送信装置は、情報ビットにゼロを挿入し、情報ビット及びゼロと、QC−LDPC符号のパリティ生成行列との行列演算によりパリティビットを生成する場合において、情報ビットを配置する位置とパリティ生成行列とに基づいて、パリティビットのうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力し、削除後のパリティ系列を送信するようにすることで、送信する必要があるパリティビット数を低減し、伝送効率を向上させることができる。
なお、送信装置は、パリティ生成行列gの同じ列から始まり、列数が同一のゼロ行列(1行1列のゼロ行列も含む)のうち、行数が最も多い行列を、設定するゼロ行列とし、設定したゼロ行列の列以外に“0”を配置することにより、値が“0”となるパリティビットを、設定したゼロ行列の行数分だけ生成するようになる。
したがって、送信装置は、値が”0”となるパリティビットを送信しないビットとしてパンクチャすることにより、伝送効率を向上させることができる。このとき、送信装置は、パリティ生成行列gの同じ列から始まり、列数が同一のゼロ行列のうち、パリティ生成行列gにより多く含まれるような部分行列をゼロ行列として設定することにより、パリティビットをより削減することができる。
なお、このとき、送信装置は、送信する必要がある情報ビットとして、配置することができる最大ビット数を、ゼロ行列の列数とする。例えば、送信装置は、ゼロ行列として、ゼロ行列221,222,…が設定された場合、送信する必要がある情報ビットを配置することができる最大ビット数は12ビットとなる。
また、送信装置は、ゼロ行列として、ゼロ行列221,222に加え、ゼロ行列231,232が設定される場合には、送信する必要がある情報ビットを配置することができる最大ビット数は19ビットとなる。逆に言えば、送信装置は、送信する必要がある情報ビットのデータ長(ビット数)に応じて、ゼロ行列を設定するようすれば良い。なお、上述したように、ゼロ行列は、1行1列でも良く、また、連続していなくても良い。
図6には、上述のようなパリティ生成行列gを用いて符号化を行う符号化器の構成例を示す。図6の符号化器100は、ゼロ行列設定部110、配置部120、符号化部130及びパンクチャ部(データ削減部)140を有する。以下では、ヘッダ等のように、データ長が一定の情報系列が、符号化器100に入力される場合を例に説明する。
ゼロ行列設定部110は、QC−LDPCのパリティ生成行列gの部分行列であって、要素が全て“0”から構成されるゼロ行列を設定する。ゼロ行列の設定方法は、情報系列のデータ長がヘッダ等のように一意に決まっている場合、列数がヘッダ長以上のゼロ行列を設定する。なお、以下では、図4のゼロ行列221,222,…が、ゼロ行列として設定された場合を例に説明する。ゼロ行列設定部110は、パリティ生成行列gにおけるゼロ行列の位置の情報を、配置部120及びパンクチャ部(データ削減部)140に出力する。
配置部120は、ヘッダ等の情報系列を入力し、ゼロ行列設定部110から通知されるゼロ行列の位置の情報に基づいて、ゼロ行列の列に情報ビット(入力ビット)を配置し、ゼロ行列以外の列に仮想ビットとして“0”を配置する。
例えば、ゼロ行列設定部110からゼロ行列221,222の位置が通知された場合、配置部120は、ゼロ行列221の列x36〜x47に、情報ビット(入力ビット)を配置し、x36〜x47以外に、“0”を配置する。配置部120は、配置後のビットを符号化部130に出力する。
符号化部130は、パリティ生成行列gを用いて、配置部120から出力されるビットを符号化して符号化系列(情報ビット及びパリティビット)を取得する。符号化部130は、符号化系列をパンクチャ部(データ削減部)140に出力する。
パンクチャ部(データ削減部)140は、ゼロ行列設定部110から通知されるゼロ行列221,222の位置の情報に基づいて、符号化系列から、x36〜x47以外に配置された“0”を送信しないビットとしてパンクチャ(削除)する。
また、パンクチャ部(データ削減部)140は、ゼロ行列設定部110から通知されるゼロ行列221,222の位置の情報に基づいて、符号化系列から、ゼロ行列221,222の行に対応するパリティビットp1〜p7,p28〜p34,…を送信しないビットとしてパンクチャ(削除)する。
パンクチャ部(データ削減部)140は、符号化系列から送信しないビットとしてパンクチャ(削除)したビット以外の符号化系列を、送信する必要があるビットとして出力する。
図7は、上述した符号化器から送信された信号を復号する復号化器の構成例を示す。
復号化器300は、固定対数尤度比挿入部310及びBP(Belief Propagation)復号部320を有している。
固定対数尤度比挿入部310は、図示せぬ対数尤度比算出部により算出される受信対数尤度比、及び、ゼロ行列の位置に関する情報を示す制御信号を入力し、ゼロ行列の位置に応じて、受信対数尤度比に既知の対数尤度比を挿入する。
例えば、符号化側で、ゼロ行列221,222,…が用いられた場合、固定対数尤度比挿入部310には、x36〜x47及びp8〜p27,p35〜…に対応する受信対数尤度比LLRx36〜LLRx47,LLRp8〜LLRp27,LLRp35〜…が入力される。そこで、固定対数尤度比挿入部310は、x1〜x35,x48,…に対応する受信対数尤度比LLRx1〜LLRx35,LLRx48…,LLRp1〜LLRp7,LLRp28〜LLRp34を挿入する。
具体的には、符号化側で、ゼロ行列221,222,…が用いられた場合、x1〜x35,x48,…、p1〜p7,p28〜p34,…として“0”が送信されていることに相当するので、固定対数尤度比挿入部310は、既知ビット“0”に対応する固定の対数尤度比を、x1〜x35,x48…の対数尤度比LLRx1〜LLRx35,LLRx48…,LLRp1〜LLRp7,LLRp28〜LLRp34…として挿入する。図7において、点線の丸で囲まれた受信対数尤度比は、固定対数尤度比挿入部310によって挿入された受信対数尤度比を示す。
固定対数尤度比挿入部310は、挿入後の対数尤度比をBP復号部320に出力する。
BP復号部320は、例えば、非特許文献5から非特許文献7に記載されたsum-product復号、min-sum復号、Normalized BP復号、offset BP復号などを用いて、復号する。
以下には、上述のように構成された符号化器を有する通信装置#1の構成、及び、上述のように構成された復号化器を有し、通信装置#1から送信された信号を受信する通信装置#2の構成について説明する。
図8には、通信装置#1が送信する変調信号のフレーム構成例を示す。制御情報シンボルは、通信相手(通信装置#2)に、変調方式、使用している誤り訂正符号、符号化率、送信方法、データ長等の制御情報を伝送するためのシンボルである。情報シンボルは、QC−LDPC符号化により得られた情報ビット及びパリティビットを伝送するためのシンボルである。
図9には、通信装置#1の構成例を示す。図9の通信装置400において、符号化部410は、情報系列を入力し、符号化系列をインタリーバ420に出力する。符号化部410は、図6の符号化器100によって構成されている。
インタリーバ420は、符号化系列を入力し、インタリーブを行うことでインタリーブ後のデータを得る。なお、符号の種類によっては、インタリーバ420を設けなくても良い。
マッピング部430は、インタリーブ後のデータを入力し、QPSK(Quadrature Phase Shift Keying)、16QAM(Quadrature Amplitude Modulation)等の変調を行うことでベースバンド信号を得る。
送信部440は、ベースバンド信号を入力し、直交変調、周波数変換等の所定の信号処理を施すことで変調信号を得、変調信号を送信する。
図10は、通信装置#2の構成例を示す。図10の通信装置500において、受信部510は、受信信号を入力し、周波数変換等の所定の無線処理を施すことでベースバンド信号を得る。受信部510は、ベースバンド信号を、制御情報検出部520及び対数尤度比算出部530に出力する。
制御情報検出部520は、ベースバンド信号からゼロ行列に関する情報、インタリーブパターンの情報、符号化率に関する情報等を検出する。そして、制御情報検出部520は、インタリーブパターンの情報をデインタリーバ540に出力し、ゼロ行列に関する情報及び符号化率に関する情報を復号化部550に出力する。
対数尤度比算出部530は、ベースバンド信号を入力し、例えば非特許文献5に示されている方法を用いることで対数尤度比を算出し、ビットごとの対数尤度比を得る。対数尤度比算出部530は、ビットごとの対数尤度比をデインタリーバ540に出力する。
デインタリーバ540は、ビットごとの対数尤度比を入力し、インタリーバ420に対応するデインタリーブの処理を施すことでデインタリーブ後の対数尤度比を得る。なお、復号化部550は、BP復号を行う場合に、デインタリーバ540を設けなくても、デインタリーブを考慮した検査行列を用意することで、復号することが可能である。
復号化部550は、図7の復号化器300によって構成されている。復号化部550は、デインタリーブ後の対数尤度比を入力し、符号化部410に対応する復号を行うことで受信データを得る。
以上のように、本実施の形態では、ゼロ行列設定部110は、パリティ生成行列gの部分行列であって、要素が全て“0”のゼロ行列を設定する。配置部120は、ゼロ行列の列に入力ビットを配置し、ゼロ行列以外の列に“0”を配置する。符号化部130は、パリティ生成行列gを用いて符号化してパリティビットを取得する。パンクチャ部(データ削減部)140は、ゼロ行列設定部110から通知されるゼロ行列の位置の情報に基づいて、ゼロ行列以外の列に配置された“0”を送信しないビットとしてパンクチャ(削除)し、更に、得られたパリティビットのうち、ゼロ行列の行に対応するパリティビットを、送信しないビットとしてパンクチャ(削除)する。
これにより、符号化器100は、情報ビットを入力し、情報ビットとパリティ生成行列との行列演算によりパリティビットを生成する場合において、パリティ生成行列のうち、要素が全てゼロの部分行列の列に対応する位置に情報ビットを配置し、要素が全てゼロの部分行列以外の列に対応する位置にゼロを配置し、配置後の情報ビット及びゼロと、パリティ生成行列との行列演算をする。これにより、符号化器100は、パリティ系列を生成し、パリティ系列のうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力する。
換言すると、符号化器100は、情報ビットにゼロを挿入し、情報ビット及びゼロと、QC−LDPCのパリティ生成行列との行列演算によりパリティビットを生成し、ゼロを挿入する位置及びパリティ生成行列とに基づいて、パリティビットのうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力する。
したがって、符号化器100を有する送信装置400において、送信部440が、入力ビットと、パリティビットのうち、ゼロ行列の行に対応する前記パリティビット以外と、を送信することにより、ゼロ行列の行に対応するパリティビットを受信側に送信せずとも、受信側では、ゼロ行列の行に対応するパリティビットの対数尤度比として既知の固定の対数尤度比を挿入して、復号を行うことができるため、送信するパリティビット数を低減し、伝送効率を向上させることができる。
なお、送信する必要がある情報ビットは、制御情報等を含むヘッダに限られず、ペイロードデータ(情報伝送用のシンボル)等であっても良い。要するに、送信する必要がある情報ビットの数が、QC−LDPC符号に含まれるゼロ行列の列数に比べ小さければ、本発明を適用することができる。送信する必要がある情報ビットがヘッダであり、ヘッダ長が固定の場合には、ゼロ行列設定部110は、ヘッダ長に応じて予め最適なゼロ行列を設定しておくことができる。
一方、送信する必要がある情報ビットが、ペイロードデータの場合には、コンテンツ情報等の大きさによりデータ長が変動する。本発明は、送信する必要がある情報ビットのデータ長が、例えば、ペイロードデータのように変動する場合においても適用することができる。以下の実施の形態2では、送信する必要がある情報ビットのデータ長が変動する場合について説明する。
(実施の形態2)
本実施の形態では、送信する必要がある情報ビットのデータ長が変動する場合に、本発明を適用した場合の形態について説明する。
図11は、QC−LDPC符号を用いた場合の1ブロックの構成例を示す。QC−LDPC符号は、ブロック符号であり、図11に示すように、1ブロックは、情報ビットとパリティビットとから構成される。ここで、1ブロック内の情報ビットのビット数がMビットであるとする。
図12は、本実施の形態に係る符号化器の構成例を示す。なお、図12の本実施の形態に係る符号化器において、図6と共通する構成部分には、図6と同一の符号を付して説明を省略する。図12の符号化器100aは、図6の符号化器100に対し、ゼロ行列設定部110及び配置部120に代えて、ゼロ行列設定部110a及び配置部120aを有している。以下では、Nビットの情報系列が符号化器100aに入力される場合を例に説明する。
ゼロ行列設定部110aは、情報系列として入力される情報ビット(入力ビット)のデータ長Nに応じて、ゼロ行列を設定する。具体的には、ゼロ行列設定部110aは、先ず、情報ビット(入力ビット)のデータ長Nをカウントする。そして、ゼロ行列設定部110aは、データ長NをQC−LDPC符号の1ブロックあたりの情報ビット長Mで除算し、商β及び余りαを算出する。
配置部120aは、除算の結果、N=kM(kは整数)が成立する場合、図13に示すように、k個の全てのブロックの情報ビットの領域に、情報系列として入力される情報ビット(入力ビット)を配置する必要がある。すなわち、k個のブロックでは、QC−LDPC符号のパリティ生成行列gの全ての列に各情報ビット(入力ビット)を配置する必要がある。そのため、N=kM(kは自然数)が成立する場合は、ゼロ行列設定部110aは、ゼロ行列を設定せず、パリティ生成行列gの全ての列に情報ビット(入力ビット)を配置するよう配置部120aに指示信号を出力する。
配置部120aは、除算の結果、N≠kM=βM+α(kは整数、α及びβは自然数)が成立する場合、図13に示すように、β個のブロックの情報ビットの領域には、情報ビット(入力ビット)を配置し、1個のブロック(特殊ブロック)の情報ビットの領域には、αビットの情報ビット(入力ビット)を配置する必要がある。すなわち、配置部120aは、β個のブロックでは、QC−LDPC符号のパリティ生成行列gの全ての列に各情報ビットを配置し、特殊ブロックでは、実施の形態1で述べたように、ゼロ行列の列に情報ビット(入力ビット)を配置するようにする必要がある。
そのため、N≠kM=βM+α(k、α及びβは自然数)が成立する場合には、ゼロ行列設定部110aは、特殊ブロックで送信する必要がある情報ビット(入力ビット)のデータ長αに応じて、ゼロ行列を設定する。このとき、ゼロ行列設定部110aは、データ長αの値に応じて、設定するゼロ行列を切り替える。具体的には、ゼロ行列設定部110aは、余りαと所定の閾値との比較結果に応じて、設定するゼロ行列を切り替える。上述したように、符号化器100aは、ゼロ行列によって、送信する必要がある情報ビットとして配置できるビット数の最大値が変動する。
なお、図13では、特殊ブロックを時間的に最後に配置しているが、配置位置はこれに限ったものではない。
以下、図14を用いて、データ長に応じてゼロ行列を設定する動作について説明する。図14は、ゼロ行列設定部110aが、2つの閾値をa1、a2を有し、データ長αと2つの閾値との比較結果に応じて、ゼロ行列を切り替える場合の例である。送信しないビットとしてパンクチャできる(削減できる)パリティビット数は、ゼロ行列の行数と同じであるため、ゼロ行列を切り替えることは、換言すると、送信するパリティビットの削減方法を切り替えることになる。
0<α≦a1の場合、ゼロ行列#1(削減方法#1)により、送信するパリティビットを削減する。例えば、0<α≦a1(=12)の場合、ゼロ行列設定部110aは、ゼロ行列221,222…をゼロ行列として設定する。
そして、α=10の場合、配置部120aは、10ビットの情報に“0”を2ビット加え、12ビットにする。そして、配置部120aは、この12ビットを、x36〜x47に割り当て、x1〜x35,x48〜に“0”を割り当てる。この結果、符号化部130により得られるパリティビットのうち、パリティビットp1〜p7,p28〜p34,…は、x36〜x47の値によらず常に“0”となる。
したがって、パンクチャ部(データ削減部)140が、常に“0”となるパリティビットp1〜p7,p28〜p34を送信しないビットとしてパンクチャすることにより、復号特性を劣化させることなく、伝送効率を向上させることができる。
また、x36〜x47以外のビット(x1〜x35,x48〜)には、既知ビット“0”が割り当てられているので、パンクチャ部(データ削減部)140は、これらx36〜x47以外のビットもパンクチャする(送信しないビットと設定する)。加えて、α=10の場合には、パンクチャ部(データ削減部)140が、x36〜x47に割り当てられた2ビットの“0”を送信しないビットとしてパンクチャする(送信しないビットと設定する)。これにより、伝送効率を更に向上させることができる。
例えば、配置部120aが、x46,x47に“0”を割り当てた場合に、パンクチャ部(データ削減部)140が、x46,x47をパンクチャすることにより、送信系列は、x36〜x45、パリティp8〜p27,p35〜p54,…となり、伝送効率を更に向上させることができる。
a1<α≦a2の場合、ゼロ行列#2(削減方法#2)により、送信するパリティビットを削減する。例えば、a1=12,a2=19の場合、ゼロ行列設定部110aは、ゼロ行列221,222,…に加え、ゼロ行列231,232,…を、ゼロ行列として設定する。
そして、α=15の場合、配置部120aは、15ビットの情報に“0”を4ビット加え、19ビットにする。そして、配置部120aは、この19ビットを、x36〜x47及びx71〜x77に割り当て、x1〜x35,x48〜x71,x78〜に“0”を割り当てる。この結果、符号化部130により得られるパリティビットのうち、パリティビットp1〜p7,p28〜p34,…は、x36〜x47の値によらず常に“0”となる。
したがって、パンクチャ部(データ削減部)140は、常に“0”となるパリティビットp1〜p7,p28〜p34を送信しないビットとしてパンクチャすることにより、復号特性を劣化させることなく、伝送効率を向上させることができる。
また、x36〜x47,x71〜x77以外のビット(x1〜x35,x48〜x71,x78〜)には既知ビット“0”が割り当てられているので、パンクチャ部(データ削減部)140は、これらx36〜x47,x71〜x77以外のビットをパンクチャする(送信しないビット)と設定する。加えて、α=15の場合には、パンクチャ部(データ削減部)140が、x36〜x47,x71〜x77のいずれかに割り当てられた4ビットの“0”を送信しないビットとしてパンクチャする(送信しないビットと設定する)。
これにより、送信装置は、伝送効率を更に向上させることができる。例えば、配置部120aが、x74〜x77に“0”を割り当てた場合に、パンクチャ部(データ削減部)140が、x74〜x77をパンクチャすることにより、送信系列は、x36〜x45、x71〜x73、p8〜p27,p35〜p54,…となり、送信装置は、伝送効率を更に向上させることができる。
なお、図14に示す例では、a2<α≦M−1の場合、ゼロ行列を設定せず、パリティビットの削減は行わないようにした。すなわち、情報ビット(入力ビット)のデータ長Nをブロック長Mで除算した余りαが所定の閾値以上の場合には、α個の情報ビット(入力ビット)、及び、仮想ビットとして(M−α)個の“0”を、パリティ生成行列gの列に配置するようにする。
このようにして、ゼロ行列設定部110aは、特殊ブロックで送信する必要がある情報ビット(入力ビット)のデータ長αに応じて、ゼロ行列を設定する。そして、ゼロ行列設定部110aは、パリティ生成行列gにおけるゼロ行列の位置の情報を配置部120a及びパンクチャ部(データ削減部)140に通知する。
なお、ゼロ行列設定部110aは、a2<α≦M−1の場合、ゼロ行列を設定せず、パリティビットの削減は行わないようにした。そのため、そのため、a2<α≦M−1の場合、ゼロ行列設定部110aは、パリティビットをパンクチャしないようパンクチャ部(データ削減部)140に通知する。
以上のように、本実施の形態では、ゼロ行列設定部110aは、パリティ生成行列gの部分行列であって、要素が全て“0”のゼロ行列を、情報ビット(入力ビット)のデータ長Nに応じて設定するようにした。このようにすることで、送信装置は、送信する必要があるパリティビット数を低減しつつ、情報ビット(入力ビット)を確実に送信することができる。
なお、図14には、余りαの値に応じて、3つのいずれかに場合分けをする例を示したが、場合分け数は3つに限られない。例えば、ゼロ行列設定部110aが、閾値を更に有し、Z個に場合分けするようにしても良い。
また、本実施の形態を実現するにあたり、復号化器を具備する受信装置が、余りαの値を知っている必要がある。これを実現する簡単な方法としては、符号化器を具備する送信装置が、送信するデータのビット数の情報を、最初に受信装置に通知すれば良い。なおこのとき、受信装置は、αを求めるための演算部を具備する必要がある。
(実施の形態3)
本実施の形態では、QC−LDPC符号におけるパンクチャ方法について説明する。
図15は、本実施の形態に係る符号化器の構成例を示す。図15の符号化器600は、符号化部610、パンクチャパターン設定部620及びパンクチャ部(データ削減部)630を有している。
符号化部610は、QC−LDPCのパリティ生成行列gを用いて、情報系列に符号化を行う。
パンクチャパターン設定部620は、QC−LDPC符号の検査行列Hが、サブブロック行列を基本単位として構成されていることを利用して、パンクチャパターンを探索し、設定する。パンクチャパターンの探索方法については、後述する。パンクチャパターン設定部620は、設定したパンクチャパターンの情報を、パンクチャ部(データ削減部)630に出力する。
パンクチャ部(データ削減部)630は、パンクチャパターン設定部620から通知されるパンクチャパターンに従って、符号化部610から出力される符号化系列のうち、送信しないビットとして情報ビット又はパリティビットをパンクチャする(送信しないビットと設定する)。
次に、パンクチャパターン設定部620が設定するパンクチャパターンの探索方法について説明する。パンクチャパターンは、QC−LDPC符号の検査行列Hが、サブブロック行列を基本単位として構成されていることを利用して、パンクチャパターンを探索する。
パンクチャパターン設定部620は、パンクチャパターンを探索する際、先ず、パンクチャパターンの周期を決定する。例えば、20ビットから送信しないビット(パンクチャビット)をKビット選択する場合、パンクチャパターンの周期は、20ビットとなる。なおこのとき、パンクチャパターンの周期の20ビット内に含まれる送信しないビット(パンクチャビット)の数は、K個とし、常に一定とする。
本発明では、パンクチャパターンの周期を、QC−LDPC符号の検査行列の基本単位であるサブブロック行列I(pj,l)(q行r列(r=(q+pj,l)mod p(0≦q≦p−1)が1であり、その他は“0”であるような巡回置換行列)の列数Lの整数倍、又は、列数Lの約数とする(式(1)参照)。
例えば、図3に示すQC−LDPC符号の検査行列におけるサブブロック行列は、27行27列(L=27)の行列であるので、27の整数倍、又は、27の約数をパンクチャパターンの周期と設定し、送信しないビット(パンクチャビット)K個を設定することを提案する。
一般に、ブロック符号では、ブロック長が長いほど良好な受信特性が得られる。しかし、ブロック長が長い場合には、ブロック長単位で、最良のパンクチャパターンを探索することは困難である。そのため、ブロック長が長い場合には、ランダムにパンクチャビットを選択する方式の採用が考えられる。しかし、この場合には、パンクチャ時の受信品質が大きく劣化する可能性がある。
これに対し、パンクチャパターン設定部620が、QC−LDPC符号の検査行列Hを構成するサブブロック行列が規則的であることに着目し、サブブロック行列の列数の整数倍、又は、列数の約数ごとに、パンクチャパターンを探索する場合には、比較的短い時間で特性が良好となるパンクチャパターンを確実に見つけ出すことができる。
パンクチャパターンの具体的な探索方法としては、例えば、所定のSNR(Signal-to-Noise power ratio:信号電力対雑音電力比)を設定し、パンクチャパターンごとに誤り率を求め、誤り率が低くなるパンクチャパターンを求めれば良い。
送信装置は、このようにして探索されたパンクチャパターンを用いて、符号化系列をパンクチャすることにより、良好な受信品質を維持しつつ、伝送効率を向上させることができる。すなわち、図15の構成で重要な点は、パンクチャ部(データ削減部)630は、符号化系列をQC−LDPC符号の検査行列Hを構成するサブブロック行列の列数の整数倍、又は、列数の約数を単位として、パンクチャを行っている点である。
一例として、パンクチャ部(データ削減部)630が、パンクチャパターンの周期をサブブロック行列の列数Lとし、サブブロック行列の列数Lごとに、送信しないビット(パンクチャビット)の数をK個と一定とする場合について説明する。この場合、パンクチャ部(データ削減部)630は、パンクチャパターンを、QC−LDPC符号の検査行列Hを構成するサブブロック行列の列数の整数倍ごとに切り替える。
パンクチャパターンの切り替え方法について、図16A〜図16Cを用いて具体的に説明する。
図16Aは、図3の検査行列Hに対し、サブブロック行列の列数(列数の1倍)ごとにパンクチャパターンを切り替える様子を示している。図3の検査行列Hは、27列のサブブロック行列から構成されるため、パンクチャ部(データ削減部)630は、x1〜x27に対しては、パンクチャパターン#0を用いて送信しないビット(パンクチャビット)をK個選択する。また、パンクチャ部(データ削減部)630は、x28〜x54に対してはパンクチャパターン#1を用いて、送信しないビット(パンクチャビット)をK個選択する。また、パンクチャ部(データ削減部)630は、p622〜p648に対しては、パンクチャパターン#23を用いて、送信しないビット(パンクチャビット)をK個選択する。
図16Bは、図3の検査行列Hに対し、サブブロック行列の列数の2倍ごとにパンクチャパターンを切り替える様子を示している。図3の検査行列Hは、27列のサブブロック行列から構成されるため、パンクチャ部(データ削減部)630は、x1〜x27,x28〜x54に対しては、パンクチャパターン#0を用いて送信しないビット(パンクチャビット)をK個選択する。
また、パンクチャ部(データ削減部)630は、x55〜x81,x82〜x108に対してはパンクチャパターン#1を用いて、送信しないビット(パンクチャビット)をK個選択する。また、パンクチャ部(データ削減部)630は、x109〜x135,x136〜x162に対しては、パンクチャパターン#2を用いて、送信しないビット(パンクチャビット)をK個選択する。
図16Cは、図3の検査行列Hに対し、サブブロック行列の列数の約数9列を基本周期として、9列ごとにパンクチャパターンを切り替える様子を示している。具体的には、パンクチャ部(データ削減部)630は、x1〜x9に対しては、パンクチャパターン#0を用いて送信しないビット(パンクチャビット)をK個選択する。
パンクチャ部(データ削減部)630は、x10〜x18に対しては、パンクチャパターン#1を用いて送信しないビット(パンクチャビット)をK個選択する。パンクチャ部(データ削減部)630は、x19〜x27に対しては、パンクチャパターン#2を用いて送信しないビット(パンクチャビット)をK個選択する。
同様に、パンクチャ部(データ削減部)630は、x28〜x36に対しては、パンクチャパターン#3を用いて送信しないビット(パンクチャビット)をK個選択する。パンクチャ部(データ削減部)630は、x37〜x45に対しては、パンクチャパターン#4を用いて送信しないビット(パンクチャビット)をK個選択する。パンクチャ部(データ削減部)630は、x46〜x54に対しては、パンクチャパターン#5を用いて送信しないビット(パンクチャビット)をK個選択する。
同様に、パンクチャ部(データ削減部)630は、x622〜x630に対しては、パンクチャパターン#69を用いて送信しないビット(パンクチャビット)をK個選択する。パンクチャ部(データ削減部)630は、x631〜x639に対しては、パンクチャパターン#70を用いて送信しないビット(パンクチャビット)をK個選択する。パンクチャ部(データ削減部)630は、x640〜x648に対しては、パンクチャパターン#71を用いて送信しないビット(パンクチャビット)をK個選択する。
なお、パンクチャ部(データ削減部)630は、パンクチャパターン#0〜#2から構成されるパンクチャパターン#S0を定義し、x1〜x27に、パンクチャパターン#S0を用いて送信しないビット(パンクチャビット)を3K個選択するようにしても良い。同様に、パンクチャ部(データ削減部)630は、パンクチャパターン#3〜#5から構成されるパンクチャパターン#S1を定義し、x28〜x54に、パンクチャパターン#S1を用いて送信しないビット(パンクチャビット)を3K個選択するようにしても良い。
同様に、パンクチャ部(データ削減部)630は、パンクチャパターン#69〜#71から構成されるパンクチャパターン#S23を定義し、x622〜x648に、パンクチャパターン#S23を用いて送信しないビット(パンクチャビット)を3K個選択するようにしても良い。
すなわち、サブブロック行列の列数の約数を基本周期としてパンクチャをすることは、QC−LDPC符号の検査行列Hを構成するサブブロック行列の列数を単位(周期)としてパンクチャすることと等価になる。
以上のように、本実施の形態では、パンクチャパターン設定部620は、QC−LDPC符号の検査行列Hを構成するサブブロック行列の列数の整数倍、又は、列数の約数ごとにパンクチャパターンを探索し、パンクチャ部(データ削減部)630は、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数ごとに、パンクチャパターンを切り替える。これにより、良好な受信品質が得られるパンクチャパターンを、比較的短い時間で確実に探索することができ、良好な受信品質を維持しつつ、伝送効率を向上させることができる。
なお、以上の説明では、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数ごとに、パンクチャパターンを切り替える場合を例に説明したが、パンクチャパターンを必ずしも切り替える必要はない。
例えば、図16Aは、「パンクチャパターン#0」、「パンクチャパターン#1」、・・・「パンクチャパターン#23」が同一のパンクチャパターンであっても良い。また、図16Bは、「パンクチャパターン#0」、「パンクチャパターン#1」、「パンクチャパターン#2」、・・・が同一のパンクチャパターンであっても良い。
また、図16Cは、「パンクチャパターン#0」、「パンクチャパターン#1」、・・・「パンクチャパターン#71」が同一のパンクチャパターンであっても良い。要するに、パンクチャパターンの単位は、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数となっていれば良い。
(実施の形態4)
本実施の形態では、実施の形態1及び実施の形態2において説明した符号化方法を、制御情報に利用する場合の符号化方法の例を説明する。
一例として、以下では、Coding rate(R)=1/2,LDPC code information block length(bits)=168,LDPC codeword block length(bits)=336のQC−LDPC符号を用い、200ビットの制御情報を符号化する場合について説明する。
図17は、200ビットの制御情報を168ビットと32ビットとに分割し、168ビットをブロック#1に配置し、32ビットをブロック#2に配置する場合を示している。図17において、ブロック#2には、ブロック長168ビットに対し、制御情報が32ビットしか配置されない。
以下、ブロック#2のように、送信する必要があるビットが、ブロック長より短いブロックは、実施の形態2において説明した特殊ブロックである。そのため、実施の形態2と同様に、ブロック#2では、情報ビットとして“0”が仮想ビットとして配置され、符号化される。この結果、ブロック#1とブロック#2とでは、受信品質にばらつきが発生し、結局、200ビットの制御情報の受信品質は、受信品質が悪いブロックに依存してしまう。
そこで、本実施の形態では、図18に示すように、200ビットの制御情報を、2つのブロック#1,#2にできるだけ均等に配置し、各ブロックに対し実施の形態1で述べた符号化を行う。具体的には、制御情報が200ビットの場合、ブロック#1及びブロック#2の双方に、100ビットずつ制御情報を配置する。
これにより、ブロック#1及びブロック#2が共に、特殊ブロックになるため、ブロック#1及びブロック#2の双方で、情報ビットとして“0”が仮想ビットとして配置されて、実施の形態1における符号化方法により符号化される。これにより、ブロック#1とブロック#2との受信品質が均等になり、通信相手に的確に伝送できるようになる。
なお、制御情報が201ビットの場合には、ブロック#1には制御情報を101ビット配置し、ブロック#2には制御情報を100ビット配置するようにする。この場合、ブロック#1における制御情報のビットの数とブロック#2における制御情報のビットの数との差は、高々1ビットである。このように、送信装置は、2つのブロックに、送信する必要がある情報をできるだけ均等に配置することにより、各ブロック間の受信品質を均等にすることができるので、制御情報を通信相手に確実に伝送することができるようになる。
以上のように、本実施の形態では、制御情報を複数のブロックにできるだけ均等に配置するようにした。これにより、送信装置は、配置後の各ブロックに対し、実施の形態1において説明した符号化方法を適用することにより、制御情報等の通信確立に必要な情報を確実に通信相手に伝送することができる。
なお、本実施の形態における特殊ブロックの生成方法は、実施の形態2で説明した特殊ブロックの生成方法と同様である。つまり、送信装置は、送信する必要のない情報ビット及びパリティビットの双方を送信しないビットと設定(パンクチャビットと設定)することになる。
(実施の形態5)
本実施の形態では、QC−LDPC符号の一例を示すとともに、当該QC−LDPC符号に最適なパンクチャパターンについて説明する。
QC−LDPC符号の検査行列Hは、式(4)のように定義する。
Figure 2010114862
式(4)の検査行列Hは、m行n列の行列である。ここで、nは、符号長であり、mは、パリティビット数である。従って、システマティックビット数kは、k=n−mとなる。また、式(4)において、Pi,jは、z行z列の巡回置換行列又はz行z列のゼロ行列である。
ここで、式(4)の検査行列Hは、n行m列の行列Hにより展開する。なお、m=z×m、n=z×nの関係が成り立つ。また、行列Hの各要素は、Pi,jにおいて要素が“1”の場合、“1”とし、Pi,jにおいて要素が“0”の場合、“0”とする。
ここで、Pi,jは、巡回置換行列として、z行z列の単位行列、又は、z行z列の単位行列を巡回シフトした行列の集合である。巡回置換行列は、単位行列、又は、単位行列を巡回シフトした行列の集合であるので、行列Hを、行列Hと大きさが同一の行列Hbmに分解すると、行列Hbmは、ゼロ行列、又は、単位行列を巡回シフトした行列で示される。
なお、以降、行列Hbmにおいて、ゼロ行列は“−1”と標記する。また、単位行列は“0”と標記する。また、単位行列の巡回置換行列は、その巡回シフト量p(i,j)(>0)を用いて“p(i,j)”と標記する。このようにコンパクトに標記された行列Hbmの集合として、行列Hを表現することができる。
ところで、行列Hは、式(5)に示すように、2つのサブ行列Hb1,Hb2に分けられる。サブ行列Hb1は、情報ビットに関連する部分行列であり、サブ行列Hb2は、パリティビットに関連する部分行列である。
Figure 2010114862
サブ行列Hb2は、式(6)に示すように、更に、ベクトルhとサブ行列H’b2に分けられる。
Figure 2010114862
式(6)において、サブ行列H’b2は、i行j列(i=j及びi=j+1)の部分が“1”であり、他の部分は“0”の行列である。サブ行列H’b2において、“1”と標記される部分は、単位行列のシフト量が0であることを示す。つまり、サブ行列H’b2は、行列Hに展開される際、z行z列の単位行列によって置き換えられる。
また、ベクトルhの一番上(h(0))と一番下(h(m−1))とには、同じ巡回シフト量が割り当てられるとする。
以下では、式(7)により定義される行列Hを考える。式(7)により定義される検査行列Hは、各符号化率における最大符号長に対応することができる。
Figure 2010114862
式(7)において、p(f,i,j)は、単位行列の巡回シフト量を示し、fは、各符号化率に対応する符号長のインデックスを示す。また、zは、展開ファクタと呼ばれ、z=k/nの関係がある。
式(7)に基づく符号化率1/2(=k/n)の行列Hを、式(8)に示す。
Figure 2010114862
式(8)において、“0”は、単位行列を示す。また、“−1”は、ゼロ行列を示す。また、たとえば、1行2列目の“94”は、単位行列を94だけサイクリックシフトした行列を示す。同様に、4行1列目の“61”は、単位行列を61だけサイクリックシフトした行列を示す。
また、式(7)に基づく符号化率5/6(=k/n)の行列Hを、式(9)に示す。
Figure 2010114862
以上、符号化率1/2及び5/6のQC−LDPCの行列Hの一例を示した。以下、これらQC−LDPCの行列Hに適用可能なパンクチャパターンについて説明する。
図19Aには、式(8)に示した符号化率1/2のQC−LDPCの行列Hを示す。図19Aに示されるように、符号化率1/2の行列Hは、情報ビットに関連する部分行列Hb1が12行であるため、パリティビットに関連する部分行列Hb2は12列となる。
図19Aのパリティビットに関連する部分行列Hb2は、1行1列目及び12行1列目を除き、“−1”,“0”で構成されており、規則的な配列となっている。上述したように、“−1”は、ゼロ行列を示し、“0”は、単位行列を示す。また、1行1列目及び12行1列目の“7”は、単位行列を7だけサイクリックシフトした巡回置換行列である。
このとき、パリティビットに関連する部分行列Hb2の列において、単位行列、ゼロ行列により構成される部分は、同一のパンクチャパターンを用いるようにしても、受信品質に与える影響が低い。そのため、単位行列、ゼロ行列により構成される部分については、同一のパンクチャパターン#Aを用いても、良好な受信特性を得ることができる(図19A参照)。なお、単位行列、ゼロ行列により構成される部分に該当しない列については、異なるパンクチャパターンと設定するものとする。ただし、一部又は全てのパンクチャパターンが同一のパンクチャパターンとなっていても良い。
更に、符号化系列は、実施の形態3で述べたパンクチャ方法と組み合わせることも可能である。つまり、符号化系列は、QC−LDPC符号の検査行列Hを構成するサブブロック行列の列数の整数倍、又は、列数の約数を単位として、パンクチャを行うと更に効果的である。図19B、図19Cでは、パリティビットに関連する部分行列Hb2に対し、QC−LDPC符号の検査行列Hを構成するサブブロック行列の列数の整数倍、又は、列数の約数を単位として、パンクチャを行う場合の例を示している。
図19Bには、式(8)に示した符号化率1/2のQC−LDPCの行列H及びパンクチャパターンの別の適用例について示す。図19Bは、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍(2倍)に、パンクチャパンターンの周期を設定した場合の例である。なお、図19Bは、単位行列、ゼロ行列により構成される部分には、同一のパンクチャパターン#Bを用いるようにした例である。
また、図19Cには、式(8)に示した符号化率1/2のQC−LDPCの行列H及びパンクチャパターンの別の適用例について示す。図19Cは、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の1/2ごとにパンクチャパンターンを生成した場合の例である。なお、図19Cは、単位行列、ゼロ行列により構成される部分には、同一のパンクチャパターンを用いるようにした例である。
具体的には、図19Cは、100行100列のサブブロック行列から構成される検査行列Hに対し、サブブロック行列の列数の1/2である約数50列を基本周期として、50列ごとにパンクチャパターンを切り替える様子を示している。
具体的には、パンクチャ部(データ削減部)630は、p100〜p149に対しては、パンクチャパターン#1を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p150〜p199に対しては、パンクチャパターン#2を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p200〜p249に対しては、パンクチャパターン#3を用いて送信しないビット(パンクチャビット)を選択する。
パンクチャ部(データ削減部)630は、p250〜p299に対しては、パンクチャパターン#4を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p1100〜p1149に対しては、パンクチャパターン#21を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p1150〜p1199に対しては、パンクチャパターン#22を用いて送信しないビット(パンクチャビット)を選択する。
図20Aは、式(9)に示した符号化率5/6のQC−LDPCの行列Hを示す。図20Aに示されるように、符号化率5/6の検査行列Hは、情報ビットに関連する部分行列Hb1が4行であるため、パリティビットに関連する部分行列Hb2は4列となる。
図20Aのパリティビットに関連する部分行列Hb2は、1行1列目及び4行1列目を除き、“−1”,“0”で構成されており、規則的な配列となっている。また、1行1列目及び4行1列目の“80”は、単位行列を80だけサイクリックシフトした巡回置換行列である。
このように、符号化率5/6の場合にも、パリティビットに関連する部分行列Hb2の列において、単位行列、ゼロ行列により構成される部分は、同一のパンクチャパターンを用いるようにしても、受信品質に与える影響が低い。そのため、単位行列、ゼロ行列により構成される部分の列については、同一のパンクチャパターン#Aを用いても、受信装置は、良好な受信特性を得ることができる(図20A参照)。なお、単位行列、ゼロ行列により構成される部分に該当しない列については、異なるパンクチャパターンと設定するものとするが、一部が同一のパンクチャパターンとなっていても良い。
図20Bには、式(9)に示した符号化率5/6のQC−LDPCの行列H及びパンクチャパターンの別の適用例について示す。図20Bは、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍(3倍)に、パンクチャパンターンの周期を設定した場合の例である。
また、図20Cには、式(9)に示した符号化率5/6のQC−LDPCの行列H及びパンクチャパターンの別の適用例について示す。図20Cは、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の1/2ごとにパンクチャパンターンを生成した場合の例である。なお、図20Bと同様に、図20Cは、単位行列、ゼロ行列により構成される部分には、同一のパンクチャパターンを用いるようにした例である。
具体的には、図20Cは、100行100列のサブブロック行列から構成される検査行列Hに対し、サブブロック行列の列数の1/2である約数50列を基本周期として、50列ごとにパンクチャパターンを切り替える様子を示している。
具体的には、パンクチャ部(データ削減部)630は、p100〜p149に対しては、パンクチャパターン#1を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p150〜p199に対しては、パンクチャパターン#2を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p200〜p249に対しては、パンクチャパターン#3を用いて送信しないビット(パンクチャビット)を選択する。
パンクチャ部(データ削減部)630は、p250〜p299に対しては、パンクチャパターン#4を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p300〜p349に対しては、パンクチャパターン#5を用いて送信しないビット(パンクチャビット)を選択する。パンクチャ部(データ削減部)630は、p350〜p399に対しては、パンクチャパターン#6を用いて送信しないビット(パンクチャビット)を選択する。
このように、パリティビットに関連する部分行列Hb2の列において、単位行列、ゼロ行列により構成される部分は、同一のパンクチャパターンを設定し、単位行列、ゼロ行列により構成される部分に該当しない列については、異なるパンクチャパターンと設定する。
なお、単位行列、ゼロ行列により構成される部分に該当しない列は、例えば、実施の形態3で述べたように、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数ごとに、パンクチャパターンを切り替えるようにしても良い。
また、単位行列、ゼロ行列により構成される部分に該当しない列は、パンクチャパターンのパターン長が、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数ごとである同一のパンクチャパターンを適用するようにしても良い。
(実施の形態6)
実施の形態5で説明したQC−LDPC符号を用い、かつ、実施の形態4で説明したQC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数を単位として、パンクチャを行っていて、全てにおいて、同一のパンクチャパターンを用いたときの例を示す。
実施の形態6は、符号化率1/2の式(8)の検査行列をもつQC―LDPC符号からパンクチャにより、符号化率約0.65を実現するためのパンクチャパターンについて説明する。ただし、QC−LDPC符号の検査行列を構成するサブブロック行列のサイズは、行数350、列数350とする。したがって、QC−LDPC符号のInformation block length(bits)は4200となり、LDPC codeword block length(bits)は8400となる。
このとき、LDPC符号のcodewordを以下のようにあらわす。
v=[x0, x1, ・・・, x4198, x4199, p0, p1, ・・・, p4198, p4199]
=[s0, s1, s2, ・・・, s8397, s8398, s8399]
=[v0, v1, v2, ・・・, v167]
ただし、vはcodeword、xは情報、pはパリティを意味する。
なお、v0,v1,・・・,vi・・・,v167は以下のようにあらわされる。
v0=[s0, s1, ・・・, s48, s49]、
v1=[s50, s51, ・・・, s98, s99]、・・・、
vi=[s50*i, s50*i+1, ・・・, s50*i+48, s50*i+49]、・・・、
v167=[s8350, s8351, ・・・, s8398, s8399]
本発明者らは、パンクチャパターンを探索した結果、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の約数である50をパンクチャパターンの周期とすると良好な受信品質を与えることを確認した。
良好な受信品質を与えるパンクチャリングパターンは以下のとおりである。
(1, 8, 19, 20, 25, 28, 29, 31, 38, 40, 41)
別の表現として、パンクチャテーブルwは、
w=[1011111101 1111111110 0111101100 1011111101 0011111111]
であらわされる。
このとき、wに含まれる0が送信しないビットを意味する。つまり、パンクチャテーブルwは、viに対して、図21に示すように送信しないビットを決定する。したがって、vi=[s50*i, s50*i+1, ・・・, s50*i+48, s50*i+49]に対して、送信しないビットを除いた、送信するデータビットvi’は、
vi’=[s50*i, s50*i+2, s50*i+3, s50*i+4, s50*i+5, s50*i+6, s50*i+7, s50*i+9,s50*i+10, s50*i+11, s50*i+12, s50*i+13, s50*i+14, s50*i+15, s50*i+16, s50*i+17, s50*i+18, s50*i+21, s50*i+22, s50*i+23, s50*i+24, s50*i+26, s50*i+27, s50*i+30, s50*i+32, s50*i+33, s50*i+34, s50*i+35, s50*i+36, s50*i+37, s50*i+39, s50*i+42, s50*i+43, s50*i+44, s50*i+45, s50*i+46, s50*i+47, s50*i+48, s50*i+49]とあらわされる。
符号化率5/6の式(9)の検査行列をもつQC―LDPC符号から、パンクチャにより、符号化率約0.95を実現するためのパンクチャパターンについて説明する。ただし、QC−LDPC符号の検査行列を構成するサブブロック行列のサイズは、行数210、列数210とする。したがって、QC−LDPC符号において、Information block length(bits)は4200となり、LDPC codeword block length(bits)は5040となる。
このとき、LDPC符号のcodewordを以下のようにあらわす。
v=[x0, x1, ・・・, x4198, x4199, p0, p1, ・・・, p838, p839]
=[s0, s1, s2, ・・・, s5037, s5038, s5039]
=[v0, v1, v2, ・・・, v79]
ただし、vはcodeword、xは情報、pはパリティを意味する。
なお、v0,v1,・・・,vi・・・,v79は以下のようにあらわされる。
v0=[s0, s1, ・・・, s61, s62]、
v1=[s63, s64, ・・・, s124, s125]、・・・、
vi=[s63*i, s63*i+1, ・・・, s63*i+61, s63*i+62]、・・・、
v79=[s4977, s4978, ・・・, s5038, s5039]。
本発明者らは、パンクチャパターンを探索した結果、63をパンクチャパターンの周期とすると良好な受信品質を与えることを確認した。
良好な受信品質を与えるパンクチャリングパターンは以下のとおりである。
(3, 18, 20, 27, 39, 50, 60)
別の表現として、パンクチャテーブルwは
w=[1110111111 1111111101 0111111011 1111111110 1111111111 0111111111 011]
であらわされる。
このとき、wに含まれる0が送信しないビットを意味する。つまり、パンクチャテーブルwは、viに対して、図22に示すように送信しないビットを決定する。したがって、vi=[s63*i, s63*i+1, ・・・, s63*i+61, s63*i+62]に対して送信しないビットを除いた、送信するデータビットvi’は、
vi’= [s63*i, s63*i+1, 63*i+2, s63*i+4, s63*i+5, s63*i+6, s63*i+7, s63*i+8, 63*i+9, s63*i+10, s63*i+11, s63*i+12, s63*i+13, s63*i+14, s63*i+15, s63*i+16, s63*i+17, s63*i+19, s63*i+21, s63*i+22, s63*i+23, s63*i+24, s63*i+25, s63*i+26, s63*i+28, s63*i+29, s63*i+30, s63*i+31, s63*i+32, s63*i+33, s63*i+34, s63*i+35, s63*i+36, s63*i+37, s63*i+38, s63*i+40, s63*i+41, s63*i+42, s63*i+43, s63*i+44, s63*i+45, s63*i+46, s63*i+47, s63*i+48, s63*i+49, s63*i+51, s63*i+52, s63*i+53, s63*i+54, s63*i+55, s63*i+56, s63*i+57, s63*i+58, s63*i+59, s63*i+61, s63*i+62]とあらわされる。
このとき、パンクチャパターンの周期を20〜90程度とすると、受信時のデータ品質が良好となる。なお、パンクチャパターンの周期とは、パンクチャパターンの最小周期をいう。例えば、パンクチャテーブルw1=[001]のパンクチャパターンの周期は3である。又、パンクチャテーブルw2=[001001]は、周期6の構成であるが、2つのパンクチャテーブルw1=[001]から構成され、パンクチャテーブルw1のパンクチャパターンの周期は3であるため、パンクチャテーブルw2のパンクチャパターンの(最小)周期は、パンクチャテーブルw1と同様に3である。すなわち、パンクチャパターンの周期とは、パンクチャパターンを構成するパターンのうち、最小パターンのパターン長をいう。また、パンクチャテーブルw3=[010]は、w1をサイクリックシフトしたものと同一となるが、上記のw, vi, vi’の関係を考慮すると、w3とw1は異なるパンクチャパターンということができる。すなわち、パンクチャテーブルwxとパンクチャテーブルwyがあったとき、たとえwxをサイクリックシフト(ただし、0ビットサイクリックシフトを除く)してwyと同一となってもwxとwyは異なるパンクチャパターンである。
パンクチャパターンの周期が長すぎると、送信しないビット(パンクチャピット)の配置にランダム性が発生し、バイナリ消失チャネルにおいて、ランダムエラーが発生したモデルに近づくため、受信時のデータ品質は悪くなる。一方、パンクチャパターンの周期が短すぎると、送信しないビット(パンクチャピット)の配置が片寄るため、適切なパンクチャパターンとなる可能性が低くなり、受信時のデータ品質は悪くなる。このため、パンクチャパターンの周期を20〜90程度とすることが重要となる。
また、パンクチャパターンの周期を20〜90程度とした際、パンクチャテーブルwに0が3つ以上含まれるようにすると、受信時のデータ品質は良好となる(受信(復号)時に良好なデータ品質を得ることができるパンクチャパターンを生成できる可能性が高くなる)。パンクチャテーブルwに0が3つ以上含まれると、送信しないビット(パンクチャピット)の配置に規則性がなくなりランダム性が増すため、受信時のデータ品質が良好となる。
更に、パンクチャパターンの周期を20〜90程度とし、かつ、パンクチャテーブルwに0が3つ以上含まれるようにし、かつ、QC−LDPC符号の検査行列を構成するサブブロック行列の列数の整数倍、又は、列数の約数をパンクチャパターンの周期とすると、受信(復号)時に良好なデータ品質を得ることができるパンクチャパターンを生成できる可能性が高くなる。
上記以外におけるパンクチャパターンは以下のとおりである。
QC−LDPC符号の検査行列を構成するサブブロック行列のサイズは、行数80、列数80とし、符号化率1/2の式(8)の検査行列をもつQC―LDPC符号(Information block length(bits)=960, LDPC codeword block length(bits)=1920)からパンクチャにより、符号化率約0.65、0.75を実現するためのパンクチャパターンは以下のとおりである。
符号化率約0.65の場合:w=[1111110110 0100111111]
符号化率約0.75の場合:w=[1100111111 1101111110 0111110001 1110000111]
QC−LDPC符号の検査行列を構成するサブブロック行列のサイズは、行数48、列数48とし、符号化率5/6の式(9)の検査行列をもつQC―LDPC符号(Information block length(bits)=960, LDPC codeword block length(bits)=1152)から、パンクチャにより、符号化率約0.95を実現するためのパンクチャパターンは以下のとおりである。
w= [1111111110 1111111111 0111101111 1111001111 11101111]
QC−LDPC符号の検査行列を構成するサブブロック行列のサイズは、行数180、列数180とし、符号化率1/2の式(8)の検査行列をもつQC―LDPC符号(Information block length(bits)=2160, LDPC codeword block length(bits)=4320)からパンクチャにより、符号化率約0.65、0.75を実現するためのパンクチャパターンは以下のとおりである。
符号化率約0.65の場合:w=[1011111100 0011111101 1111100111 011111]
符号化率約0.75の場合:w=[1111110100 0001101001 1111111110]
QC−LDPC符号の検査行列を構成するサブブロック行列のサイズは、行数108、列数108とし、符号化率5/6の式(9)の検査行列をもつQC―LDPC符号Information block length(bits)=2160, LDPC codeword block length(bits)=2592)から、パンクチャにより、符号化率約0.95を実現するためのパンクチャパターンは以下のとおりである。
w= [1011111111 1111011111 1110111]
(実施の形態7)
実施の形態5では、パリティ検査行列Hにおいて、単位行列及びゼロ行列により構成されるサブ行列H’b2(式(6)参照)とサブ行列H’b2以外のサブ行列(以下「H’b1(=Hb1+h)」と標記する。式(5)及び(6)参照)とで、異なるパンクチャパターンを用いる場合について説明した。その一例として、実施の形態5では、図19A〜図19C、図20A〜図20Cに示すように、単位行列及びゼロ行列により構成されるサブ行列H’b2に、サブブロック行列の列数の整数倍、又は、列数の約数を単位として、同一のパンクチャパターンを用いる場合について説明した。
本実施の形態では、実施の形態5と同様に、パリティ検査行列Hにおいて、単位行列及びゼロ行列により構成されるサブ行列H’b2とサブ行列H’b1とで、異なるパンクチャパターンを用いる場合について説明する。具体的には、図20Bに対応する図23に示すように、サブ行列H’b1には、サブ行列H’b1の列数をパンクチャ周期とするパンクチャパターン#p1を用い、サブ行列H’b2には、サブ行列H’b2の列数をパンクチャパターン周期とするパンクチャパターン#p2を用いて、符号化率20/21を実現する場合について説明する。
以下では、一例として、符号化率5/6の式(9)の検査行列をもつQC―LDPC符号から、パンクチャにより、符号化率20/21を実現するためのパンクチャパターンについて説明する。
図24の検査行列Hは、式(9)に示した符号化率5/6のQC−LDPCの検査行列Hである。式(9)の検査行列Hは、4行24列のサブブロック行列から構成される。なお、以下では、QC−LDPC符号の検査行列を構成するサブブロック行列のサイズが、行数48、列数48とする。したがって、QC−LDPC符号において、Information block length(bits)は960となり、LDPC codeword block length(bits)は1152となる。
このとき、LDPC符号のcodewordを以下のようにあらわす。
v=[x0, x1, ・・・, x958, x959, p0, p1, ・・・, p190, p191]
=[s0, s1, s2, ・・・, s1149, s1150, s1151]
=[v0, v1, v2, ・・・, v24]
ただし、vはcodeword、xは情報、pはパリティを意味する。
なお、v0,v1,・・・,vi・・・,v23は以下のようにあらわされる。
v0=[s0, s1, ・・・, s46, s47]、
v1=[s48, s48, ・・・, s94, s95]、・・・、
vi=[s48*i, s48*i+1, ・・・, s48*i+46, s48*i+47]、・・・、
v23=[s1104, s1105, ・・・, s1150, s1151]。
図24において、#0は、x0,x1,…,x47に対応する部分行列を示し、#1は、x48,x49,…,x95に対応する部分行列を示す。また、#21は、p48,p49,…,p95に対応する部分行列を示し、#22は、p96,p97,…,p143に対応する部分行列を示し、#23は、p144,p145,…,p191に対応する部分行列を示す。
図24において、サブ行列H’b1は、#0〜20により構成され、サブ行列H’b2は、#21,#22,#23により構成される。#21,#22,#23は、単位行列(“0”)及びゼロ行列(“−1”)により構成される。このように、式(9)に示すQC−LDPC符号の検査行列Hは、単位行列及びゼロ行列で構成されるサブ行列H’b2を含んでいる。
本実施の形態では、サブ行列H’b2及びBP復号の特徴を考慮して好適なパンクチャパターンを以下のようにして決定する。
BP復号では、行演算と列演算とを反復して各ビットの対数尤度比を得る。
BP復号の行演算では、対数尤度比が更新される。このとき、送信されなかった(パンクチャ)ビットは、復号時には、消失ビットとして扱われることになり、消失ビットに対しては、初期の対数尤度比が存在しないため、対数尤度比が0に設定される。初期の対数尤度比が存在しない消失ビットが、同一行に2つ以上含まれると、当該行では、列演算により消失ビットの対数尤度比が更新されるまで、行演算単独では対数尤度比が更新されない。そのため、消失ビットは同一行において2ビット未満であるのが好ましい。
BP復号の列演算では、外部値が更新される。消失ビットの外部値は、同一列の自身を除く“1”の対数尤度比の加算結果により更新される。したがって、列重みが大きい場合には、消失ビットの外部値は、同一列の自身を除く複数の“1”の対数尤度比の加算結果により更新されるので、外部値における対数尤度比の絶対値は大きくなり、これにより、対数尤度比が収束しやすい。一方、列重みが小さい場合には、加算される対数尤度比の数が少ないため、外部値における対数尤度比の絶対値は大きくなりづらく、これにより、対数尤度比が収束しにくいという性質をもつことになる。
特に、列重みが2の場合には、検査行列における列重み2に相当する2つの“1”において、外部値が単に交換されるだけとなるため、対数尤度比の絶対値は大きくなりづらく、反復処理を何度行っても信頼度が伝播されず、受信品質の劣化を招く原因となる。したがって、外部値の大きさを適切に更新するためには、消失ビットの列重みが3以上であるのが好ましい。
このように、BP復号の特徴を考慮すると、行演算の観点からは、1)同一行において消失ビットが2ビット未満となるのが好ましく、また、列演算の観点からは、2)消失ビットの列重みが3以上であるのが好ましい。
本実施の形態では、上記1)及び2)を考慮してパンクチャパターンを設定する。なお、以下では、サブブロック行列の列数を単位として符号化系列をパンクチャする場合を例に説明する。
式(9)のパリティ検査行列Hを、サブブロック行列を1単位として表現したとき、サブ行列H’b2では、j列のi行及び(i+1)行には単位行列(“0”)が配置され、j列のi行及び(i+1)行以外の行にはゼロ行列(“−1”)が配置され、かつ、(j+1)列の(i+1)行及び(i+2)行には単位行列(“0”)が配置され、(j+1)列の(i+1)行及び(i+2)行以外の行にはゼロ行列(“−1”)が配置されるという関係が、j=q,q+1,q+2,・・・,q+s−1,q+s(ただし、sは1以上の整数)で成立する。
具体的には、図24から分かるように、22列の1行及び2行には単位行列(“0”)が配置され、22列の1行及び2行以外の行(3行及び4行)にはゼロ行列(“−1”)が配置され、かつ、23列の2行及び3行には単位行列(“0”)が配置され、23列の2行及び3行以外の行(1行及び4行)にはゼロ行列(“−1”)が配置され、かつ、24列の3行及び4行には単位行列(“0”)が配置され、24列の3行及び4行以外の行(1行及び2行)にはゼロ行列(“−1”)が配置される。そのため、図24のサブ行列H’b2に四角枠で囲まれた部分に示すように、単位行列(“0”)が同一行に隣接して配置される。
単位行列は、行列の対角要素のみが“1”であり、他の要素は“0”である。そのため、単位行列の列に対応するビットを送信しないビット(パンクチャビット)とすると、消失ビットは単位行列の各行に1ビットずつのみとなる。しかし、単位行列が、同一行に隣接して配置された場合に、単位行列を含む列に対応するビットを送信しないビット(パンクチャビット)とすると、各行において消失ビットが2ビットとなる。
具体的には、図24における22列、23列の2行目の単位行列(“0”)のように、単位行列が、同一行に隣接して配置される場合に、これら2つの単位行列を含む列に対応するビットを送信しないビット(パンクチャビット)とすると、22列の2行目の単位行列(“0”)の各行では消失ビットが1ビットであり、23列の2行目の単位行列(“0”)の各行では消失ビットが1ビットであり、各単位行列ごとでみると消失ビットは各行に1ビットとなるが、これら単位行列は同一行に隣接して配置されるため、単位行列が配置される同一行でみると、消失ビットは2ビットとなる。
上記1)で説明したように、消失ビットは2ビット未満であるのが望ましい。したがって、2ビット消失を回避するために、単位行列が同一行に隣接して配置されていない#21及び#23の列に対応するビットを送信しないビット(パンクチャビット)とするようなパンクチャパターンを用いることとする。すなわち、#21の列に対応するビットを送信しないビット(パンクチャビット)とする場合、1サブブロック行列の列数以上離れた#23の列に対応するビットを送信しないビット(パンクチャビット)とする。このように、サブブロック行列の列数を単位として符号化系列をパンクチャする場合に、パンクチャする間隔を、1単位(1サブブロック行列の列数)以上とすることにより、単位行列又はゼロ行列から構成されるサブ行列H’b2において、パンクチャにより消失するビットが、各行1ビットのみとなり、2ビット消失を回避することができるため、受信品質の劣化を回避することができる。
一方、#21及び#22の列に対応するビット、又は、#22及び#23の列に対応するビットを送信しないビット(パンクチャビット)とするようなパンクチャパターンを用いる場合には、同一行に隣接する単位行列の列に対応するビットが送信しないビット(パンクチャビット)とされるため、2ビット消失が起こり、受信特性が劣化してしまう。
更に、上記2)を考慮すると、パリティ検査行列Hのうち、サブ行列H’b1では、列重みが3以上であるため、サブ行列H’b1の列に対応するビットを送信しないビット(パンクチャビット)とすることにより、列演算により外部値の対数尤度比の絶対値が大きくなるように更新され、消失ビットの対数尤度比が収束する可能性が高くなり、受信特性が改善される。
図25には、#21,#23に加えて、#4の列に対応するビットが送信しないビット(パンクチャビット)とされる例が示されている。#4には、#23において単位行列(“0”)が配置される行に、ゼロ行列(“−1”)が配置されているため、#4,#21,#23の列に対応するビットを送信しないビット(パンクチャビット)とした場合に、当該行の消失ビットが1ビットに維持されるので、受信品質の劣化を抑えることができる。
なお、#4,#21,#23の列に対応するビットを送信しないビット(パンクチャビット)とした場合のパンクチャテーブル(パンクチャパターン)wは、式(10)のようにあらわされる。
Figure 2010114862
式(10)において、パンクチャテーブルwに含まれる0は、送信しないビット(パンクチャビット)を意味する。すなわち、図25に示す例では、#4,#21,#23の列に対応するビット、すなわち、x192,x193,…,x238,x239、p48,p49,…,p94,p95、p144,p145,…,p190,p191がパンクチャされる。
以上のように、本実施の形態では、パリティ検査行列Hを、サブブロック行列を1単位として表現したとき、j列のi行及び(i+1)行には単位行列(“0”)が配置され、j列のi行及び(i+1)行以外の行にはゼロ行列(“−1”)が配置され、かつ、(j+1)列の(i+1)行及び(i+2)行には単位行列(“0”)が配置され、(j+1)列の(i+1)行及び(i+2)行以外の行にはゼロ行列(“−1”)が配置されるという関係が、j=q,q+1,q+2,・・・,q+s−1,q+s(ただし、sは1以上の整数)で成立するサブ行列H’b2に対し、サブブロック行列の列数を単位として送信しないビット(パンクチャビット)を選択する場合に、1単位(サブブロック行列の列数)以上間隔をあけて送信しないビット(パンクチャビット)とするようにした。
更に、パリティ検査行列Hのうち、上記サブ行列H’b2以外のサブ行列H’b1において、列重みが3以上の列に対応するビットを送信しないビット(パンクチャビット)とすることにより、列演算における外部値の対数尤度比の絶対値が大きくなるよう更新が行われるようになるため、受信品質の劣化を抑えることができるようになる。
なお、列重みが3以上の列に対応するビットを送信しないビット(パンクチャビット)とする場合、サブ行列H’b2において、#21及び#23の列に対応するビットが送信しないビット(パンクチャビット)とされる場合には、例えば、#4のように、#21又は#23に含まれる単位行列のいずれかの行に配置されるゼロ行列の列に対応するビットを送信しないビット(パンクチャビット)とする。このようにして、#4,#21,#23の列に対応するビットを送信しないビット(パンクチャビット)とした場合、#4においてゼロ行列が配置される行の消失ビットを1ビットに抑えることができるため、受信品質の劣化を抑えることができる。
以上、符号化率5/6の式(9)の検査行列をもつQC―LDPC符号から、パンクチャにより、符号化率20/21を実現するための好適なパンクチャパターンについて説明した。また、別の例として、符号化率5/6の式(9)の検査行列をもち、サブブロック行列216×216、つまり、Information size= 4320ビットのQC―LDPC符号から、パンクチャにより、符号化率20/21を実現するための好適なパンクチャテーブル(パンクチャパターン)wは、例えば、式(11−1)〜式(11−3)のようにあらわされる。
Figure 2010114862
なお、以上の説明では、サブブロック行列の列数を単位として符号化系列をパンクチャする場合について説明したが、1単位(サブブロック行列の列数)以上間隔を開けて、サブブロック行列の列数を単位として送信しないビット(パンクチャビット)の候補を設定し、この候補から、送信しないビット(パンクチャビット)を決定するようにしても良い。この場合において、送信しないビット(パンクチャビット)の候補は、サブブロック行列の列数を単位として設定し、かつ、上述したように、同一行に隣接する単位行列を含まない列に対応するビットとする。
例えば、図26に示すように、#4,#21及び#23の列に対応するビットを送信しないビット(パンクチャビット)の候補とし、#4,#21及び#23の列に対応するx192,x193,…,x238,x239、p48,p49,…,p94,p95、p144,p145,…,p190,p191のうち、点線の丸で囲まれた一部のビットを送信しないビット(パンクチャビット)に決定するようにしてもよい。
この方法を用いて、符号化率5/6の式(9)の検査行列をもち、サブブロック行列48×48、つまり、Information size= 960ビットのQC―LDPC符号から、パンクチャにより、符号化率16/18を実現するための好適なパンクチャテーブル(パンクチャパターン)wは、式(12)のようにあらわされる。
Figure 2010114862
また、別の例として、符号化率5/6の式(9)の検査行列をもち、サブブロック行列216×216、つまり、Information size= 4320ビットのQC―LDPC符号から、パンクチャにより、符号化率16/18を実現するための好適なパンクチャテーブル(パンクチャパターン)wは、式(13)のようにあらわされる。
Figure 2010114862
これらの場合においても、各行に消失ビットが2ビット発生するのを回避することができるので、良好な受信品質を得ることができるとともに、パンクチャ後の符号化率を柔軟に設定することができる。
また、以上の説明では、LDPC符号のcodeword vを、v=[x0, x1, ・・・, x958, x959, p0, p1, ・・・, p190, p191]とあらわし説明したが、情報系列及びパリティ系列の並び順は、これに限られず(例えば、v=[p0, p1, ・・・, p190, p191, x0, x1, ・・・, x958, x959]であってもよく、情報とパリティの並び順は一意には決定しない。)、Hv=0の対応関係、換言すると、パリティ検査行列Hに対応するパンクチャパターンとcodeword vとの対応関係から、送信しないビット(パリティビット)を決定すれば良い。
例えば、#4,#21,#23の列に対応するビットを送信しないビット(パンクチャビット)とする場合に、codeword vが、v=[p144, p145,・・・, p190, p191, x0, x1, ・・・, x958, x959, p0, p1,・・・, p46, p47]とあらわされる場合には、x144,x145,…,x190,x191、p0,p1,…,p46,p47、p96,p97,…,p142,p143を送信しないビット(パンクチャビット)とすれば良い。
上述の例では、サブ行列H’b2には、j列のi行及び(i+1)行には単位行列(“0”)が配置され、j列のi行及び(i+1)行以外の行にはゼロ行列(“−1”)が配置され、かつ、(j+1)列の(i+1)行及び(i+2)行には単位行列(“0”)が配置され、(j+1)列の(i+1)行及び(i+2)行以外の行にはゼロ行列(“−1”)が配置されるという関係が、j=q,q+1,q+2,・・・,q+s−1,q+s(ただし、sは1以上の整数)で成立し、単位行列が同一行に隣接して配置される場合について説明したが、単位行列に代えて、単位行列の巡回シフト行列が同一行に隣接して配置される場合に対しても、上述のパンクチャパターンの生成方法を用いて、好適なパンクチャパターンを得ることができる。ただし、サブ行列H’b2に、単位行列の巡回シフト行列が同一行に隣接して配置される場合には、符号化器の構成が複雑になる可能性がある。
なお、式(8)の符号化率1/2のQC−LDPC符号に対しても、同様の方法により、好適なパンクチャパターンを設定することができる。図27を用いて、符号化率1/2の場合について説明する。
符号化率5/6の場合と同様に、式(8)の符号化率1/2のQC−LDPC符号のパリティ検査行列Hに対し、サブ行列H’b1には、サブ行列H’b1の列数をパンクチャ周期とするパンクチャパターン#p1を用い、サブ行列H’b2には、サブ行列H’b2の列数をパンクチャパターン周期とするパンクチャパターン#p2を用いる。
図27は、式(8)の符号化率1/2のQC−LDPC符号のパリティ検査行列Hである。式(8)の検査行列Hは、12行24列のサブブロック行列から構成される。図27において、サブ行列H’b2は、単位行列及びゼロ行列により構成され、サブ行列H’b1は、サブ行列H’b2以外である。
また、図27において、#0〜#23は、各列に対応する部分行列を示し、サブ行列H’b1は、#0〜#12により構成され、サブ行列H’b2は、#13〜#23により構成される。#13〜#23は、単位行列(“0”)及びゼロ行列(“−1”)により構成される。このように、式(8)に示すQC−LDPC符号の検査行列Hは、単位行列及びゼロ行列で構成されるサブ行列H’b2を含んでいる。
以下では、サブブロック行列の列数を単位として符号化系列をパンクチャする場合を例に説明する。
式(8)のパリティ検査行列Hを、サブブロック行列を1単位として表現したとき、サブ行列H’b2では、j列のi行及び(i+1)行には単位行列(“0”)が配置され、j列のi行及び(i+1)行以外の行にはゼロ行列(“−1”)が配置され、かつ、(j+1)列の(i+1)行及び(i+2)行には単位行列(“0”)が配置され、(j+1)列の(i+1)行及び(i+2)行以外の行にはゼロ行列(“−1”)が配置されるという関係が、j=q,q+1,q+2,・・・,q+s−1,q+s(ただし、sは1以上の整数)で成立する。
具体的には、図27から分かるように、14列の1行及び2行には単位行列(“0”)が配置され、14列の1行及び2行以外の行(3〜12行)にはゼロ行列(“−1”)が配置され、かつ、15列の2行及び3行には単位行列(“0”)が配置され、15列の2行及び3行以外の行(1行,4〜12行)にはゼロ行列(“−1”)が配置され、かつ、・・・、24列の11行及び12行には単位行列(“0”)が配置され、24列の11行及び12行以外の行(1〜10行)にはゼロ行列(“−1”)が配置される。そのため、図27のサブ行列H’b2に四角枠で囲まれた部分に示すように、単位行列(“0”)が同一行に隣接して配置される。
符号化率1/2の場合も符号化率5/6の場合と同様に、同一行に単位行列が隣接して配置されていない列に対応するビットを送信しないビット(パンクチャビット)とするようパンクチャパターンを設定する。例えば、サブブロック行列の列数を単位として符号化系列をパンクチャし、#20の列に対応するビットを送信しないビット(パンクチャビット)とする場合、1サブブロック行列の列数以上離れた#15及び#23の列に対応するビットを送信しないビット(パンクチャビット)とする。このように、サブブロック行列の列数を単位として符号化系列をパンクチャする場合に、パンクチャする間隔を、1単位(1サブブロック行列の列数)以上とする。これにより、単位行列又はゼロ行列から構成されるサブ行列H’b2において、パンクチャにより消失するビットが、各行1ビットのみとなり、2ビット消失を回避することができ、受信品質の劣化を回避することができる。
また、例えば、#15,#20の列に対応するビットを送信しないビット(パンクチャビット)としても良い。#15と#20とは、1単位以上離れている。また、#20,#23の列に対応するビットを送信しないビット(パンクチャビット)としても良い。#20と#23とは、1単位以上離れている。
なお、#15,#20,#23の列に対応するビットの全てを送信しないビット(パンクチャビット)としなくても良く、#15,#20,#23の列に対応するビットを送信しないビット(パンクチャビット)の候補とし、符号化率に応じて、この候補から送信しないビット(パンクチャビット)を決定するようにしても良い。このようにすることで、各行の消失ビットを1ビットに抑え良好な受信品質を得ることができるとともに、パンクチャ後の符号化率を柔軟に設定することができる。
また、更に、パリティ検査行列Hのうち、サブ行列H’b1では、列重みが3以上であるため、サブ行列H’b1の列に対応するビットを送信しないビット(パンクチャビット)とすることにより、列演算により外部値の大きさが適切に更新され、消失ビットの対数尤度比が適切に得られるようになり、受信特性が改善される。
図27には、サブ行列H’b1において、#10の列に対応するビットが送信しないビット(パンクチャビット)とされる例が示されている。#10には、#15,#20,#23において単位行列(“0”)が配置される行に、ゼロ行列(“−1”)が配置されているため、#10,#15,#20,#23の列に対応するビットを送信しないビット(パンクチャビット)とした場合に、当該行の消失ビットが1ビットに維持され、受信品質の劣化を抑えることができると可能性が高い。
なお、以上の説明では、サブブロック行列の列数を単位として、サブ行列H’b1から1サブブロック行列を選択し、サブ行列H’b2から複数のサブブロック行列を選択し、選択したサブブロック行列の列に対応するビットを送信しないビット(パンクチャビット)又は送信しないビット(パンクチャビット)の候補とする場合について説明したが、各サブ行列からの選択数は、これに限られず、サブ行列H’b1から複数のサブブロック行列を選択するようにしても良い。
本発明は、QC−LDPC符号のように、検査行列、生成行列に規則性があるような場合に有効である。
本発明は上記全ての実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、主に、符号化器で実現する場合について説明しているが、これに限られるものではなく、電灯線通信装置で実現する場合においても適用可能である。
また、この符号化方法は、ソフトウェアとして行うことも可能である。例えば、上記符号化方法を実行するプログラムは、予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。
また、上記符号化方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
また、本発明は、無線通信に限らず、電灯線通信(PLC:Power Line Communication)、可視光通信、光通信においても有用であることは言うまでもない。
本発明は、例えば、QC−LDPC符号等のブロック符号を用いる場合に、受信品質を向上させつつ、伝送量を低減させ、伝送効率の劣化を抑圧することができ、QC−LDPC等のように、ゼロ行列を部分的に含むパリティ生成行列を用いて符号化系列を形成する符号化器、送信装置及び符号化方法として有用である。
ブロック符号のブロック構成例及び実際に送信する符号化系列を示す図 本発明の実施の形態1にかかる通信装置に用いられる符号化器の入出力データを示す図 QC−LDPC符号のパリティ生成行列gの一例を示す図 ゼロ行列の一例を示す図 ゼロ行列の別の一例を示す図 実施の形態1に係る符号化器の構成例を示す図 実施の形態1に係る復号化器の構成例を示す図 通信装置#1が送信する変調信号のフレーム構成例を示す図 実施の形態1に係る符号化器を有する通信装置#1の構成例を示す図 実施の形態1に係る復号化器を有する通信装置#2の構成例を示す図 QC−LDPC符号の1ブロックの構成例を示す図 本発明の実施の形態2に係る符号化器の構成例を示す図 情報ビットの配置例を示す図 データ長αと送信するパリティビットの削減方法との対応を示す図 本発明の実施の形態3に係る符号化器の構成例を示す図 パンクチャパターンの切り替え方法を説明するための図 パンクチャパターンの切り替え方法を説明するための別の図 パンクチャパターンの切り替え方法を説明するための別の図 制御情報の配置例を示す図 本発明の実施の形態4における制御情報の配置例を示す図 本発明の実施の形態5におけるパンクチャパターンの適用例を示す図 実施の形態5におけるパンクチャパターンの別の適用例を示す図 実施の形態5におけるパンクチャパターンの別の適用例を示す図 実施の形態5におけるパンクチャパターンの別の適用例を示す図 実施の形態5におけるパンクチャパターンの別の適用例を示す図 実施の形態5におけるパンクチャパターンの別の適用例を示す図 本発明の実施の形態6におけるパンクチャパターンの適用例を示す図 実施の形態6におけるパンクチャパターンの別の適用例を示す図 本発明の実施の形態7におけるパンクチャパターンを説明するための図 符号化率5/6のQC−LDPC符号の検査行列Hを示す図 実施の形態7におけるパンクチャパターンの一例を示す図 実施の形態7におけるパンクチャパターンの別の一例を示す図 符号化率1/2のQC−LDPC符号の検査行列H及びパンクチャパターンの一例を示す図
符号の説明
100,100a,600 符号化器
110,110a ゼロ行列設定部
120,120a 配置部
130,610 符号化部
140,630 パンクチャ部(データ削減部)
300 復号化器
310 固定対数尤度比挿入部
320 BP復号部
400,500 通信装置
410 符号化部
420 インタリーバ
430 マッピング部
440 送信部
510 受信部
520 制御情報検出部
530 対数尤度比算出部
540 デインタリーバ
550 復号化部
620 パンクチャパターン設定部

Claims (3)

  1. 情報ビットを入力し、前記情報ビットとQC−LDPCのパリティ生成行列との行列演算によりパリティビットを生成する符号化器であって、
    前記情報ビットにゼロを挿入し、前記情報ビット及び前記ゼロと、前記パリティ生成行列との行列演算により前記パリティビットを生成し、
    前記情報ビットを配置する位置と前記パリティ生成行列とに基づいて、前記パリティビットのうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力する、
    符号化器。
  2. 前記請求項1に記載の符号化器を具備し、
    前記パリティビットのうち、前記値が常にゼロとなるパリティビット以外の前記パリティビットと、前記情報ビットとを送信する送信手段と、
    を具備する送信装置。
  3. 情報ビットを入力し、前記情報ビットとQC−LDPCのパリティ生成行列との行列演算によりパリティビットを生成する符号化方法であって、
    前記情報ビットにゼロを挿入し、前記情報ビット及び前記ゼロと、前記パリティ生成行列との行列演算によりパリティビットを生成し、
    前記情報ビットを配置する位置と前記パリティ生成行列とに基づいて、前記パリティビットのうち、値が常にゼロとなるパリティビットを削除し、削除後のパリティ系列を出力する、
    符号化方法。
JP2008290022A 2008-10-10 2008-11-12 符号化器、送信装置及び符号化方法 Pending JP2010114862A (ja)

Priority Applications (18)

Application Number Priority Date Filing Date Title
JP2008290022A JP2010114862A (ja) 2008-10-10 2008-11-12 符号化器、送信装置及び符号化方法
US13/122,942 US8473827B2 (en) 2008-10-10 2009-10-09 Encoder, transmission device, and encoding method
CN201310296649.8A CN103338047B (zh) 2008-10-10 2009-10-09 解码器、接收装置、解码方法和接收方法
BRPI0920457A BRPI0920457B1 (pt) 2008-10-10 2009-10-09 codificador, aparelho de transmissão, método de codificação e método de transmissão
EP09819006.9A EP2333962B1 (en) 2008-10-10 2009-10-09 Encoder, transmission device, and encoding method
PCT/JP2009/005286 WO2010041466A1 (ja) 2008-10-10 2009-10-09 符号化器、送信装置及び符号化方法
CN2009801395405A CN102177659B (zh) 2008-10-10 2009-10-09 编码器、发送装置以及编码方法
US13/900,264 US8607131B2 (en) 2008-10-10 2013-05-22 Decoder, receiving apparatus, decoding method, and receiving method
US14/065,020 US8745473B2 (en) 2008-10-10 2013-10-28 Encoder, transmitting apparatus, coding method and transmission method
US14/231,087 US8954830B2 (en) 2008-10-10 2014-03-31 Decoder, reception apparatus, decoding method, and reception method
US14/584,579 US9094044B2 (en) 2008-10-10 2014-12-29 Encoder, transmitting apparatus, coding method and transmitting method
US14/743,591 US9787325B2 (en) 2008-10-10 2015-06-18 Encoder and coding method
US15/692,679 US10224963B2 (en) 2008-10-10 2017-08-31 Transmission apparatus, transmission method, reception apparatus, and reception method
US16/245,424 US10819370B2 (en) 2008-10-10 2019-01-11 Transmission apparatus, transmission method, reception apparatus and reception method
US17/029,488 US11043971B2 (en) 2008-10-10 2020-09-23 Integrated circuit for transmission apparatus
US17/322,541 US11539378B2 (en) 2008-10-10 2021-05-17 Integrated circuit for reception apparatus
US18/058,599 US11848683B2 (en) 2008-10-10 2022-11-23 Transmission apparatus
US18/501,757 US20240080047A1 (en) 2008-10-10 2023-11-03 Reception apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008264382 2008-10-10
JP2008290022A JP2010114862A (ja) 2008-10-10 2008-11-12 符号化器、送信装置及び符号化方法

Publications (2)

Publication Number Publication Date
JP2010114862A true JP2010114862A (ja) 2010-05-20
JP2010114862A5 JP2010114862A5 (ja) 2011-06-16

Family

ID=42100427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008290022A Pending JP2010114862A (ja) 2008-10-10 2008-11-12 符号化器、送信装置及び符号化方法

Country Status (6)

Country Link
US (12) US8473827B2 (ja)
EP (1) EP2333962B1 (ja)
JP (1) JP2010114862A (ja)
CN (2) CN103338047B (ja)
BR (1) BRPI0920457B1 (ja)
WO (1) WO2010041466A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015015522A (ja) * 2013-07-03 2015-01-22 日本放送協会 送信装置及び受信装置
JP2020517140A (ja) * 2017-03-30 2020-06-11 エルジー エレクトロニクス インコーポレイティド 無線通信システムにおいてldpc符号のパリティ検査行列に基づいて符号化を行う方法及びそれを用いる端末

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010114862A (ja) 2008-10-10 2010-05-20 Panasonic Corp 符号化器、送信装置及び符号化方法
KR20120059806A (ko) * 2010-12-01 2012-06-11 한국전자통신연구원 에러 정정 부호의 생성방법, 복호 방법 및 그 장치
DE102011084740A1 (de) * 2011-10-19 2013-04-25 Robert Bosch Gmbh Verfahren zum Verarbeiten eines Datenpakets
KR102015121B1 (ko) 2012-10-17 2019-08-28 삼성전자주식회사 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러 및 컨트롤러의 동작 방법
US9281841B2 (en) * 2012-10-31 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Load balanced decoding of low-density parity-check codes
US9774352B2 (en) * 2013-09-17 2017-09-26 Samsung Electronics Co., Ltd. Transmitting apparatus, and puncturing method thereof
CN104868925B (zh) 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
US9350388B2 (en) * 2014-03-07 2016-05-24 Storart Technology Co. Ltd. Data format with ECC information for on-the-fly decoding during data transfer and method for forming the data format
CN105811996B (zh) * 2014-12-30 2019-12-06 华为技术有限公司 一种基于准循环ldpc的数据处理方法及系统
KR101776267B1 (ko) * 2015-02-24 2017-09-07 삼성전자주식회사 송신 장치 및 그의 리피티션 방법
CN112291040B (zh) * 2015-03-02 2024-01-26 三星电子株式会社 发送方法和接收方法
TWI573147B (zh) * 2015-11-05 2017-03-01 大心電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
KR102461293B1 (ko) 2015-12-29 2022-11-01 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
JP6972664B2 (ja) * 2017-05-31 2021-11-24 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法
CN108649963A (zh) * 2018-07-09 2018-10-12 建荣半导体(深圳)有限公司 Qc-ldpc解码器、分层解码方法、存储设备及通信模组
US11239948B2 (en) * 2019-03-06 2022-02-01 Huawei Technologies Co., Ltd. BCC puncturing patterns for data retransmission in wireless network
CN112583419A (zh) * 2019-09-30 2021-03-30 华为技术有限公司 一种译码方法及装置
US11949436B2 (en) * 2022-08-12 2024-04-02 Qualcomm Incorporated Low-density parity-check coding scheme with varying puncturing pattern

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016117A1 (fr) * 2006-08-04 2008-02-07 Mitsubishi Electric Corporation Procédé de génération de matrice d'inspection, procédé d'encodage, dispositif et système de communication et encodeur
WO2008075627A1 (ja) * 2006-12-18 2008-06-26 Mitsubishi Electric Corporation 符号化装置、符号化方法、符号化復号装置及び通信装置
WO2008093717A1 (ja) * 2007-01-31 2008-08-07 Panasonic Corporation 無線通信装置およびパンクチャリング方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089479B2 (en) * 2002-02-28 2006-08-08 Mitsubishi Denki Kabushiki Kaisha LDPC code inspection matrix generation method and inspection matrix generation device
FI121431B (fi) * 2004-09-13 2010-11-15 Tamfelt Pmc Oy Paperikoneessa käytettävä kudosrakenne ja menetelmä sen valmistamiseksi
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7581159B2 (en) * 2004-11-23 2009-08-25 Texas Instruments Incorporated Simplified decoding using structured and punctured LDPC codes
KR100804793B1 (ko) * 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
CN100502245C (zh) * 2005-10-21 2009-06-17 中兴通讯股份有限公司 支持任何码率/码长的低密度奇偶校验码编码装置和方法
JP2008264382A (ja) 2007-04-24 2008-11-06 Aruze Corp 遊技機
JP4950763B2 (ja) 2007-05-25 2012-06-13 大陽日酸株式会社 プラズマ生成装置
EP2099135B1 (en) * 2008-03-03 2018-02-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
JP2010114862A (ja) * 2008-10-10 2010-05-20 Panasonic Corp 符号化器、送信装置及び符号化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016117A1 (fr) * 2006-08-04 2008-02-07 Mitsubishi Electric Corporation Procédé de génération de matrice d'inspection, procédé d'encodage, dispositif et système de communication et encodeur
WO2008075627A1 (ja) * 2006-12-18 2008-06-26 Mitsubishi Electric Corporation 符号化装置、符号化方法、符号化復号装置及び通信装置
WO2008093717A1 (ja) * 2007-01-31 2008-08-07 Panasonic Corporation 無線通信装置およびパンクチャリング方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013012656; Sunghoon Choi et al.: 'Effective Puncturing Schemes for Block-type Low-Density Parity-Check Codes' Vehicular Technology Conference, 2007. VTC2007-Spring. , 20070425, pp.1841-1845 *
JPN6013033346; Song-Nam Hong et al.: 'Optimal Puncturing of Block-Type LDPC Codes and Their Fast Convergence Decoding' Information Theory, 2006 IEEE International Symposium on , 20060714, pp.826-830 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015015522A (ja) * 2013-07-03 2015-01-22 日本放送協会 送信装置及び受信装置
JP2020517140A (ja) * 2017-03-30 2020-06-11 エルジー エレクトロニクス インコーポレイティド 無線通信システムにおいてldpc符号のパリティ検査行列に基づいて符号化を行う方法及びそれを用いる端末
US11211951B2 (en) 2017-03-30 2021-12-28 Lg Electronics Inc. Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this

Also Published As

Publication number Publication date
US11539378B2 (en) 2022-12-27
US20210288665A1 (en) 2021-09-16
BRPI0920457A2 (ja) 2018-01-16
WO2010041466A1 (ja) 2010-04-15
CN102177659B (zh) 2013-08-21
US20140053048A1 (en) 2014-02-20
US20110197105A1 (en) 2011-08-11
US9787325B2 (en) 2017-10-10
US20150288385A1 (en) 2015-10-08
US20190149167A1 (en) 2019-05-16
CN102177659A (zh) 2011-09-07
BRPI0920457B1 (pt) 2020-01-21
US11848683B2 (en) 2023-12-19
US20230109889A1 (en) 2023-04-13
US8745473B2 (en) 2014-06-03
US20130262955A1 (en) 2013-10-03
US20210006266A1 (en) 2021-01-07
US8473827B2 (en) 2013-06-25
US20240080047A1 (en) 2024-03-07
US11043971B2 (en) 2021-06-22
US10819370B2 (en) 2020-10-27
CN103338047B (zh) 2016-12-28
US20140215287A1 (en) 2014-07-31
US8954830B2 (en) 2015-02-10
US8607131B2 (en) 2013-12-10
US9094044B2 (en) 2015-07-28
US20170366200A1 (en) 2017-12-21
US10224963B2 (en) 2019-03-05
EP2333962A1 (en) 2011-06-15
US20150113362A1 (en) 2015-04-23
CN103338047A (zh) 2013-10-02
EP2333962A4 (en) 2013-02-27
EP2333962B1 (en) 2017-06-07

Similar Documents

Publication Publication Date Title
US11848683B2 (en) Transmission apparatus
JP6437682B2 (ja) 変調信号復号方法及び変調信号復号装置
JP2009246927A (ja) 符号化方法、符号化器、復号器
JP2009177228A (ja) 符号化方法、符号化器、復号器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131112