JPWO2007080827A1 - 検査行列生成方法 - Google Patents
検査行列生成方法 Download PDFInfo
- Publication number
- JPWO2007080827A1 JPWO2007080827A1 JP2007553887A JP2007553887A JPWO2007080827A1 JP WO2007080827 A1 JPWO2007080827 A1 JP WO2007080827A1 JP 2007553887 A JP2007553887 A JP 2007553887A JP 2007553887 A JP2007553887 A JP 2007553887A JP WO2007080827 A1 JPWO2007080827 A1 JP WO2007080827A1
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- parity check
- check matrix
- coding rate
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
LDPC(Low-Density Parity Check)符号用のパリティ検査行列を生成する検査行列生成方法として、マスク化擬似巡回行列と巡回置換行列を階段状に配置した行列とを所定位置に配置した、LDGM(Low Density Generation Matrix)構造の非正則なパリティ検査行列を取得し、複数の符号化率のうちの一つの符号化率に対応可能なマスク行列を生成するとともに、生成したマスク行列を用いて、前記正則なパリティ検査行列をマスクし、一つの符号化率を満たすように前記マスクした非正則なパリティ検査行列と階段状下三角行列とを組み合わせたパリティ検査行列を生成することとした。
Description
この発明は、ディジタル通信における符号化技術に関するものであり、特に、LDPC(Low-Density Parity Check)符号用のパリティ検査行列を生成する検査行列生成方法、当該パリティ検査行列を用いて所定の情報ビットを符号化する符号化方法、および通信装置に関するものである。
以下、符号化方式としてLDPC符号を採用する従来の通信システムについて説明する。ここでは、LDPC符号の一例として擬似巡回(QC:Quasi-Cyclic)符号(非特許文献1参照)を採用する場合について説明する。
まず、符号化方式としてLDPC符号を採用する従来の通信システムにおける、符号化/復号処理の流れを簡単に説明する。
送信側の通信装置(送信装置と呼ぶ)内のLDPC符号化器では、後述する従来の方法でパリティ検査行列Hを生成する。さらに、LDPC符号化器では、たとえば、K行×N列の生成行列G(K:情報長,N:符号語長)を生成する。ただし、LDPC用のパリティ検査行列をH(M行×N列)とした場合、生成行列Gは、GHT=0(Tは転置行列)を満たす行列となる。
その後、LDPC符号化器では、情報長Kのメッセージ(m1,m2,…,mK)を受け取り、このメッセージおよび上記生成行列Gを用いて、式(1)のように、符号語Cを生成する。ただし、H(c1,c2,…,cN)T=0とする。
C=(m1,m2,…,mK)G
=(c1,c2,…,cN) …(1)
C=(m1,m2,…,mK)G
=(c1,c2,…,cN) …(1)
そして、送信装置内の変調器では、LDPC符号化器で生成した符号語Cに対して、BPSK(Binary Phase Shift Keying),QPSK(Quadrature Phase Shift Keying),多値QAM(Quadrature Amplitude Modulation)等の所定の変調方式によりディジタル変調を行い、その変調信号x=(x1,x2,…,xN)を受信装置に送信する。
一方、受信側の通信装置(受信装置と呼ぶ)では、復調器が、受け取った変調信号y=(y1,y2,…,yN)に対して、上記BPSK,QPSK,多値QAM等の変調方式に応じたディジタル復調を行い、さらに、受信装置内のLDPC復号器が、復調結果に対して「sum−productアルゴリズム」による繰り返し復号を実施し、その復号結果(元のメッセージm1,m2,…,mKに対応)を出力する。
ここで、LDPC符号用の従来のパリティ検査行列生成方法を具体的に説明する。LDPC符号用のパリティ検査行列としては、たとえば、非特許文献1において、以下のQC符号のパリティ検査行列が提案されている。図10に示すQC符号のパリティ検査行列は、p行×p列の巡回置換行列(p=5)が縦方向(J=3)と横方向(L=5)に配置された行列となっている。
一般的には、M(=pJ)行×N(=pL)列の(J,L)QC符号のパリティ検査行列HQCは、式(2)のように定義することができる。なお、pは奇数(2以外)の素数であり、Lはパリティ検査行列HQCにおける巡回置換行列の横方向(列方向)の個数であり、Jはパリティ検査行列HQCにおける巡回置換行列の縦方向(行方向)の個数である。
ただし、0≦j≦J−1,0≦l≦L−1において、I(pj,l)は、行番号:r(0≦r≦p−1),列番号:「(r+pj,l)mod p」の位置が“1”となり、その他の位置が“0”となる巡回置換行列である。
また、LDPC符号の設計の際には、一般的に、長さが短いループが多く存在するときに性能の劣化を引き起こすため、内径を大きくし、長さが短いループ(ループ4,ループ6等)の数を少なくする必要がある。
なお図11に、検査行列の一例をタナーグラフで表現した場合を示す。図の{0,1}の2元のM行×N列のパリティ検査行列Hにおいて、各列に対応するノードをビットノードbn(1≦n≦N)と呼び(図中の○に相当)、各行に対応するノードをチェックノードcm(1≦m≦M)と呼び(図中の□に相当)、さらに、検査行列の行と列の交点に“1”がある場合にそのビットノードとチェックノードを枝で接続する2部グラフをタナーグラフと呼ぶ。また、ループとは、図11に示すように、特定のノード(図中の○や□に相当)から始まりそのノードで終わる閉路のことを表し、また、内径とは、その最小ループを意味する。また、ループの長さは、閉路を構成する枝の数で表現され、長さに応じて、簡易的にループ4,ループ6,ループ8…と表現する。
また、非特許文献1においては、(J,L)QC−LDPC符号のパリティ検査行列HQCにおける内径gの範囲が、「4≦g≦12(gは偶数)」とされている。ただし、g=4を回避することは容易であり、多くの場合、g≧6である。
M.Fossorier "Quasi-Cyclic Low Density Parity Check Code" ISIT2003, pp150, Japan, June 29-July 4, 2003
しかしながら、上記従来の技術によれば、符号化率を変化させる為に複数の異なる検査行列が必要でありメモリ量が大きくなり、回路も複雑になるという問題があった。
かかる問題を解決するために、この発明における検査行列生成方法では、LDPC(Low-Density Parity Check)符号用のパリティ検査行列を生成する検査行列生成方法であって、巡回置換行列が行方向と列方向に配置されかつ当該巡回置換行列に特定の規則性を持たせた正則(行と列の重みが一様)な擬似巡回行列を生成する擬似巡回行列生成ステップと、マスク化擬似巡回行列と巡回置換行列を階段状に配置した行列とを所定位置に配置した、LDGM(Low Density Generation Matrix)構造の非正則なパリティ検査行列を取得するステップと、前記正則な擬似巡回行列を非正則(行と列の重みが非一様)にするための、複数の符号化率のうちの一つの符号化率に対応可能なマスク行列を生成するマスク行列生成ステップと、生成したマスク行列を用いて、前記正則なパリティ検査行列をマスクするとともに、一つの符号化率を満たすように前記マスクした非正則なパリティ検査行列と階段状下三角行列とを組み合わせたパリティ検査行列を生成する検査行列生成ステップと、を有することとした。
この発明によれば、ある情報長に対して複数の符号化率を得る為に必要な検査行列は一つで対応できる為、回路規模を大幅に削減することができる。
1 送信装置
2 通信路
3 受信装置
11 LPDC符号化器
12 パリティ検査行列生成器
13 変調器
14 復調器
21 QC−LDPC検査行列記憶手段
22 マスキング手段
2 通信路
3 受信装置
11 LPDC符号化器
12 パリティ検査行列生成器
13 変調器
14 復調器
21 QC−LDPC検査行列記憶手段
22 マスキング手段
実施の形態1.
以下に、本発明にかかる検査行列生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
以下に、本発明にかかる検査行列生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
図1は、この発明の実施の形態1に係る送信装置及び受信装置を含む通信システムの構成例を示す図である。図において、送信装置1は、LDPC符号化器11とパリティ検査行列生成器12、変調器13とを含む構成とされている。また通信路2は典型的には無線伝送ネットワークや光伝送ネットワークなどの情報伝送路である。受信装置3は、復調器14とLDPC復号器15を含む構成とされている。
なお、通信路2は、必ずしも双方向通信が可能である必要はなく、例えば記憶媒体を直接搬送する形で情報伝送するような構成であってもよい。その場合には、送信装置1は例えば記憶媒体に情報を書き込む側の装置であり、受信装置2は記憶媒体から情報を読みとる側の装置が該当することになる。
ここで、図1に示す通信システムにおける符号化処理,復号処理の流れを簡単に説明する。
送信装置1のLDPC符号化器11は、情報長Kのメッセージu=(u1,u2,…,uK)を受け取る。そして、パリティ検査行列生成器12から出力されるパリティ検査行列HMを用いて、メッセージuを符号化し、式(3)を満たす長さNの符号語vを生成する。
v={(v1,v2,…,vN)∈GF(2)|(v1,v2,…,vN)HM T=0} (3)
v={(v1,v2,…,vN)∈GF(2)|(v1,v2,…,vN)HM T=0} (3)
ここでパリティ検査行列生成器12が出力するパリティ検査行列HMは、所定のマスキングルールに基づいてマスキング処理が行われたM行×N列のパリティ検査行列である。
変調器13は、LDPC符号化器12が生成した符号語vに対して、BPSK,QPSK,多値QAM等の所定の変調方式によりディジタル変調を行い、変調信号x=(x1,x2,…,xN)を生成する。変調信号xは、通信路2を介して送信され、受信装置3において変調信号y=(y1,y2,…,yN)として受信される。
受信装置3において、復調器14は、受信した変調信号yに対して、BPSK,QPSK,多値QAM等の送信装置側で採用される変調方式に応じたディジタル復調を行う。その復調結果はLDPC復号器15に入力される。LPDC復号器15は、復調結果に対して繰り返し復号を実施し、推定結果U(元のメッセージu=(u1,u2,…,uK)に対応)を出力する。
従来のLDPC符号化復号方式による送受信システムでは、このような場合に情報長K、符号語長Nとなるような生成行列Gを用いて情報ビットの符号化を行っていたが、この発明の実施の形態による通信システムでは、パリティ検査行列を用いて符号化を行う点に特徴がある。
そこで、次にパリティ検査行列生成器12における検査行列HMの生成方法を詳細に説明する。図2は、パリティ検査行列生成器12の詳細な構成を示すブロック図である。図において、QC−LDPC(擬似巡回LDPC)検査行列記憶手段21はLDGM構造のQC−LDPC検査行列HQCL(以下、単に検査行列HQCLという)を記憶する記憶素子又は回路、媒体である。
また、マスキング手段22は、QC−LDPC検査行列記憶手段21より検査行列HQCLを取得するとともに、符号化率23に応じて検査行列HQCLをマスキングし、イレギュラー(非正則、重み分布が非一様)なパリティ検査行列HM24を出力する部位である。符号化率23としては複数の符号化率が想定されている。すなわち、この実施の形態の通信システムは、共通の検査行列HQCLを、想定される複数の符号化率に適合させて、それぞれの符号化率に応じたパリティ検査行列HMを生成する点に特徴がある。
そこで次に、QC−LDPC検査行列記憶手段21によって記憶される検査行列HQCLの構成について説明する。
検査行列HQCL(=[hm,n])を、M(=pJ)行×N(=pL+pJ)列で構成する場合、式(4)のように定義される。
なお、hm,nは、検査行列HQCLにおいて、行番号m,列番号nの要素(行列成分)を表すものとする。またpJは情報ビット数がKであって、符号化率23として想定される最小の符号化率が1/Mである場合には、pJ=K×Mで与えられる。またpLはpL=K×(M+1)で与えられる。
また、0≦j≦J−1,0≦l≦L−1において、I(pj,l)は、行番号r(ただし、0≦r≦p−1),列番号「(r+pj,l)mod p」の要素が“1”となり、その他の要素が“0”となる正則なp×pの巡回置換行列である。たとえば、I(1)は、式(5)のように表される。
またpとしては通常2以外の素数が選択される。しかしながら、pを可変とする場合は奇数としてもよい。pを素数としたまま可変としようとすると、素数をメモリに記憶させる必要があるが、奇数の場合はメモリを必要としないという利点を有する。またpを素数とした場合に比べて、奇数としても、高符号化率のパンクチャ時に性能が劣化する場合があってもその劣化は僅かにとどまる。
なお、以下の説明において、検査行列の成分のうち、情報ビットに対応する部分、すなわち情報ビット数に等しい列までの部分行列を”左側の行列”と呼ぶこととする。すなわち情報ビット数がKであるならば、1列目からK列目までの列成分のみを切り出した部分行列が左側の行列に相当する。また、パリティ検査行列の成分のうち、パリティビットに対応する部分、すなわち左側の行列を除く列成分のみを切り出した部分行列を”右側の行列”と呼ぶこととする。
同様に、以下の説明において、左側という場合には、情報ビットに対応する成分のことを指し、右側という場合にはパリティビットに対応する成分のことを指すものとする。
式(4)に示した検査行列HQCLは、左側の行列が、式(2)で示したQC符号のパリティ検査行列と同一の擬似巡回行列HQCとなる。また、検査行列HQCLの右側の成分は、式(6)に示すようなI(0)を階段状に配置した行列HT(階段状下三角行列)となっている。
式(4)に示した検査行列HQCLは、左側の行列が、式(2)で示したQC符号のパリティ検査行列と同一の擬似巡回行列HQCとなる。また、検査行列HQCLの右側の成分は、式(6)に示すようなI(0)を階段状に配置した行列HT(階段状下三角行列)となっている。
なお、行列HTの部分は式(7)に示すHDのようにしても構わない。
なお、式(6)及び式(7)において階段状に配置される巡回置換行列としては、I(0)の他、任意のI(s|s∈[0,p−1])を用いてもよいし、異なるI(s1)とI(s2)(ただし、s1,s2∈[0,p−1]かつs1≠s2)を組み合わせて用いてもよい。
ここで、LDGM構造とは、式(4)に示す行列のように、パリティビットに対応する行列の成分(右側の成分)が下三角行列となるように巡回置換行列を配置した構造のことをいう。この構造を用いることにより、生成行列Gを用いずに符号化を容易に実現できる。たとえば、組織符号語vを式(8)のように表し、情報メッセージu=(u1,u2,…,uK)が与えられた場合、パリティ要素pm=(p1,p2,…,pM)は、「HQCL・vT=0」を満たすように、すなわち、式(9)のように生成する。
v=(v1,v2,…,vK,vK+1,vK+2,…,vN)
=(u1,u2,…,uK,p1,p2,…,pM) …(8)
ここで、N=K+Mである。
v=(v1,v2,…,vK,vK+1,vK+2,…,vN)
=(u1,u2,…,uK,p1,p2,…,pM) …(8)
ここで、N=K+Mである。
さらに、この実施の形態による通信システムでは、式(4)で定義された検査行列HQCLの左側の擬似巡回行列HQC部分において、特定の規則性を設けることとする。すなわち、擬似巡回行列HQC部分の行番号j(=0,1,2,…J−1),列番号l(=0,1,2,…L−1)に配置されるp行×p列の巡回置換行列I(pj,l)の成分を定めるにあたって、p0,lを任意の整数とし、式(10)または式(11)によってpj,lが求められるように巡回置換行列I(pj,l)の成分を定める。
pj,l=p0,l(j+1)mod p …(10)
pj,l=((p−p0,l)(j+1))mod p …(11)
pj,l=p0,l(j+1)mod p …(10)
pj,l=((p−p0,l)(j+1))mod p …(11)
以上がQC−LDPC検査行列記憶手段21において記憶されている検査行列HQCLの構成である。
続いて、マスキング手段22において行われる検査行列HQCLに対するマスク処理について説明する。
たとえば、式(4)によって示されるHQCL左側の行列を、式(12)に示すように、J×Lの擬似巡回行列HQCと表すものとする。
そうすると、マスク行列Z(=[zj,l])をGF(2)上のJ行×L列の行列とした場合、後述する所定のルールを適用すると、マスク処理後の行列HMQCは、式(13)のように表すことができる。
なお、式(13)におけるzj,lI(pj,l)は、式(14)のように定義される。
式(14)における0行列は、p行×p列の0行列である。また、行列HMQCは、擬似巡回行列HQCをマスク行列Zの0要素によりマスクすることによって、重み分布を非一様(イレギュラー)にした行列であり、また、行列HMQCの巡回置換行列の分布は、マスク行列Zの次数分布と同じである。
ただし、HMQCの重み分布を非一様にする場合のマスク行列Zの重み分布は、後述するように、所定の密度発展法で求めることとする。たとえば、情報ビット数K=32とした場合、符号化率23が1/3として与えられた場合には、64行×32列のマスク行列を準備すればよい。このようなマスク行列は、符号化率1/2に対応するマスク行列ZAを用いて、密度発展法による列次数分布から式(15)のように表すことができる。
式(15)において、[]は行列を表しており、[]中のバー(横線)より上の成分はZAと同じ成分となることを意味する。
また前述の通り、ZAは符号化率1/2に対応するマスク行列であって、例えば式(16)のようなものである。
式(15)において、バーより下の成分はZA(1:32,2:5)ZA(1:32,1)ZA(1:32,7:16)032×15とすることを意味している。またZA(1:32,2:5)とは行列ZAの1行目から32行目、2列目から5列目までを切りだした部分行列を意味する。ZA(1:32,1)は1行目から32行目までの1列目の成分を切り出した部分行列である。またZA(1:32,7:16)は1行目から32行目までの7列目から16列目までの成分を切り出した部分行列である。
また、符号化率に応じた各マスク行列は、列方向に同一パターンができないように、マスク行列ZAの部分行列をシフトしながら使用している点にも注意すべきである。具体的には、マスク行列ZAの部分行列を列次数の重い部分行列(重み14)と軽い部分行列(重み4以下)とに分け、それぞれをシフトしながら用いている。
たとえば、マスク行列ZAにおいて、ZA(1:32,1:5)は列次数14の部分行列であるが、マスク行列ZA(1/3)においては、これを列単位で左シフトさせ、シフト後のZA(1:32,2:5)ZA(1:32,1)をマスク行列ZAのZA(1:32,1:5)の下に連結させている。
また、マスク行列ZAにおいて、ZA(1:32,6:32)は列次数4以下の部分行列であるが、マスク行列ZA(1/3)においては、ZA(1:32,6:32)の中から必要な列数の部分行列ZA(1:32,7:16)を使用し、このZA(1:32,7:16)をマスク行列ZAのZA(1:32,6:15)の下に連結させている。これにより、HTを用いた場合に発生しやすい小さいループを、回避することができる。
マスキング手段22は、このようなマスク行列Zを用いることによって、イレギュラーなパリティ検査行列HMを出力する。このパリティ検査行列HMは、たとえば、64行×32列のマスク行列Z、64(行番号jは0〜63)×32(列番号lは0〜31)の擬似巡回行列HQC、および64(行番号jは0〜63)×64(列番号lは0〜31)のHTを用いて、式(17)のように表すことができる。
HM=[Z×HQC|HT]=[HMQC|HT] …(17)
HM=[Z×HQC|HT]=[HMQC|HT] …(17)
このように、LDPC符号Cを生成するためのパリティ検査行列HMQCは、マスク行列Zと擬似巡回行列HQCの行番号j=0の巡回置換行列を決定し、マスク行列Zを与えてやれば定めることができる。
また符号化率1/3に対応したマスク行列Zは、符号化率1/2に対応したマスク行列の部分行列を組み合わせることで求めることが可能であるため、異なる符号化率に対応させるために複数のマスク行列を記憶しておく必要もない。すなわちマスク行列を記憶させるための記憶容量を削減することが可能となるのである。
実施の形態2.
実施の形態1におけるパリティ検査行列生成方法は、符号化率1/3に対応したものであったが、符号化率がその他の値をとる場合であっても対応可能である。次に、符号化率1/5までのパリティ検査行列生成方法について説明する。なお、通信システムの構成としては図1に示したものと同じであり、またパリティ検査行列生成器の構成方法は図2に示したものと同じである。
実施の形態1におけるパリティ検査行列生成方法は、符号化率1/3に対応したものであったが、符号化率がその他の値をとる場合であっても対応可能である。次に、符号化率1/5までのパリティ検査行列生成方法について説明する。なお、通信システムの構成としては図1に示したものと同じであり、またパリティ検査行列生成器の構成方法は図2に示したものと同じである。
ここで、情報ビット数が32の場合、符号化率23が1/5とすると、擬似巡回行列HQCは128(行番号jは0〜127)×32(列番号lは0〜31)となる。この場合、マスキング手段22は、擬似巡回行列HQCを、128行×32列のマスク行列Zの0要素によりマスクする。
なお、マスク行列Zを生成した後、マスキング手段22が出力するイレギュラーなパリティ検査行列HMは、128行×32列のマスク行列Z、上記128×32の擬似巡回行列HQC、および128(行番号jは0〜127)×128(列番号lは0〜127)のHTを用いて、式(18)のように表すことができる。
HM=[Z×HQC|HT]=[HMQC|HT] …(18)
HM=[Z×HQC|HT]=[HMQC|HT] …(18)
なお、式(18)のHTは式(19)として与えられる。
また式(19)のHTにおけるTDは式(20)のように与えられる。
ここで、符号化率1/2の符号に対応するイレギュラーなパリティ検査行列を「HM(1/2)=[ZA×HQC(1/2)|HT(1/2)]」と表す。ただし、ZA(=ZA(1/2))は式(16)で与えられた符号化率1/2に対応する32行×32列のマスク行列である。またHQC(1/2)は、擬似巡回行列HQCにおける上から1/4の32(行番号jは0〜31)×32(列番号lは0〜31)の擬似巡回行列を表し、HT(1/2)は式(20)で与えられるTDである。
同じように、符号化率1/3,1/4,1/5に対応して、イレギュラーなパリティ検査行列をHM(1/3),HM(1/4),HM(1/5)(=HM)と表すこととする。また、マスク行列をZA(1/3),ZA(1/4),ZA(1/5)(=Z)と表し、擬似巡回行列をHQC(1/3),HQC(1/4),HQC(1/5)(=HQC)と表し、HT(1/3),HT(1/4),HT(1/5)(=HT)と表すこととする。
実施の形態2におけるマスキング手段22は、式(21)によって表されるマスク行列Zを用いてHQCLをマスクする。
図3は、マスク行列Zを用いてマスクすることで生成されたイレギュラーなパリティ検査行列HMの構成を示す図である。
このように、符号化率1/5に対応するマスク行列Z(マスク行列ZA(1/5))であっても、符号化率1/2に対応するマスク行列ZAの部分行列のみを使って構成しているため、符号化率に応じてマスク行列が大きくなった場合であっても、マスク行列を記憶するためのメモリを少なくすることができる。
また、符号化率1/3の場合のマスク行列と同様に、符号化率1/5の場合も、列方向に同一パターンができないように、マスク行列ZAの部分行列をシフトしながら使用している。具体的には、マスク行列ZAの部分行列を列次数の重い部分行列(重み14)と軽い部分行列(重み4以下)とに分け、それぞれをシフトしながら用いている。すなわちマスク行列ZA(1/3)においてシフトさせた部分行列の下に、さらに、マスク行列ZA(1/4),ZA(1/5)について、列方向に同一パターンができないように、マスク行列ZAの部分行列をシフトしながら使用する。これにより、HTを用いた場合に発生しやすい小さいループを、回避することができる。
実施の形態3.
次に1/6よりも小さな符号化率の下限を設定する構成について次に説明する。実施の形態1及び実施の形態2の通信システムにおいては、符号化率の下限を1/3から1/6までの値とすることが望ましい。それ以下の符号化率を達成する場合は、実施の形態1や2で述べた方法で構成するよりも、繰り返し送信を用いて達成した方が良好な性能が得られるため有利である。
次に1/6よりも小さな符号化率の下限を設定する構成について次に説明する。実施の形態1及び実施の形態2の通信システムにおいては、符号化率の下限を1/3から1/6までの値とすることが望ましい。それ以下の符号化率を達成する場合は、実施の形態1や2で述べた方法で構成するよりも、繰り返し送信を用いて達成した方が良好な性能が得られるため有利である。
図4に実施の形態1及び2で示した符号構成法で1/10まで作成した場合と、以降述べる符号語の繰り返し送信を用いた場合(符号化率1/5までは前述の符号を用い、それより小さい符号化率では繰り返し送信を用いた)を示す。なお、図4では符号は情報長1312ビットのLDPC符号を用いている。また通信路はAWGNであり、変調はBPSK方式を仮定している。
この実施の形態においても、送信装置の構成は図1に示したものを用いる。この実施の形態ではLPDC符号化器11の構成が実施の形態1および2と異なる。次に実施の形態3におけるLPDC符号化器11の処理について説明する。
図5は、LPDC符号化器11における符号構成法を示す図である。このように、LPDC符号化器11は、符号化率0.5の符号を基準符号語としておき、それよりも高い符号化率(=0.75)の符号語を生成する場合はパリティのパンクチャを行う。なお、この際の復号には符号化率1/2の検査行列を使って、パンクチャリングビットに対応する受信LLRに0を挿入し、通常のLDPC復号を行えばよい。
一方、LPDC符号化器11は、基準符号語より低い符号化率(=1/3)の符号語を生成する場合にパリティを追加する。LPDC復号器15において、この符号を復号するには図3に示すように符号化率に対応した検査行列HMの部分行列のみを用いて復号するようにする。
ここで、複数の符号化率に対応したLDPC符号の構成法を具体的に説明する。たとえば、システムで用意する一番低い符号化率をR0=1/3以下とする。図6では、たとえば、システムで用意する一番低い符号化率をR0=1/5とした場合の符号を示す図である。
たとえば、符号化率R0=1/5に対応する符号がメモリに記憶され、符号化率R1の符号を構成する場合、符号化率R1が1/2未満であれば、すなわち、符号化率R1が1/2〜1/5の間であれば、パリティビットを符号語の最後尾から順にパンクチャする。
ここで、もし1/5以下の符号化率が必要となった場合、図7に示すように情報長K、符号長Nの符号化率K/N=1/5の符号語(図6中のA+パリティビット)に,列重みの重い順から選択した符号語ビットB(長さb:各列に対応するビットの情報はAと同じ)を加えて符号化率K/(N+b)の符号語を生成することが可能となる。例えばb=Kの場合、符号化率1/6となり、b=Nの場合、符号化率1/10となる。
またb=Nの場合のように符号語が全て繰り返し2回送られて、システムで用意する一番低い符号化率よりも低い符号化率が必要な場合は、再度列重みの重い順から選択した符号語ビットを送り、同様な操作を繰り返す。これによって、原理的にはどんなに低い符号化率でも実現可能となる。
このような方法により符号化された符号語vが通信路を通って受信装置3で受信され、LPDC復号器15で誤りを訂正する際に、符号語の一部、あるいは全てが重複した際、その重複したビットの受信値を重複した個数分、加算平均してLPDC復号器15に渡す処理を行い復号する。
この手法の効果として、列重みの重い列に対応する符号語ビットの信頼度が高い(誤り確率が低い)場合には復号性能がよくなることが知られている為、列重みの重い順に繰り返し送り、受信側で加算平均により、ノイズ成分の分散値を下げる処理を行なう事で信頼度が上がり(対応するビットの誤り確率が下がり)、復号性能を向上させる事ができる効果がある。
実施の形態4.
なお、実施の形態1から3の通信システムにおいて、正則(行と列の重みが一様)なp×pの擬似巡回行列の大きさpを可変とした場合に、情報長K(情報ビット数)がp×rで表現できないときは、K/rの切り上げした整数値をpに選び、k−(k/rを切り上げた整数)×pの数だけ検査行列における列次数の重い箇所に対応するビット順に既知の値の“0”か“1”を挿入して符号化し、LPDC復号器15側では検査行列の同一のビットに対応する値は既知数“0”か“1”を確定して復号するようにしてもよい。
なお、実施の形態1から3の通信システムにおいて、正則(行と列の重みが一様)なp×pの擬似巡回行列の大きさpを可変とした場合に、情報長K(情報ビット数)がp×rで表現できないときは、K/rの切り上げした整数値をpに選び、k−(k/rを切り上げた整数)×pの数だけ検査行列における列次数の重い箇所に対応するビット順に既知の値の“0”か“1”を挿入して符号化し、LPDC復号器15側では検査行列の同一のビットに対応する値は既知数“0”か“1”を確定して復号するようにしてもよい。
こうすることで、既知データを信頼度の最も高い(100%誤り無し)既知の値を列次数の重いビットに割り振ることができ、復号性能がよくなる効果がある。
実施の形態5.
また、実施の形態1から4の通信システムにおいて、非正則(行と列の重みが非一様)なパリティ検査行列を用いて符号化し符号長Nの符号語を生成する際に、パリティ検査行列の行数Mと列数Nによって決まる符号化率(N−M)/N以下の符号化率を用意する為に、図8に示すように情報ビットに対応する検査行列の中で列次数の重い順に既知の値の“0”か“1”を挿入して符号化し、復号器側では検査行列の同一のビットに対応する値は既知数“0”か“1”を確定して復号することにより低符号化率の符号の符号化復号を可能とする。この方法により、低符号化率の符号を構成でき、既知データを信頼度の最も高い(100%誤り無し)既知の値を列次数の重いビットに割り振る事が出来る為、復号性能がよくなる効果がある。
また、実施の形態1から4の通信システムにおいて、非正則(行と列の重みが非一様)なパリティ検査行列を用いて符号化し符号長Nの符号語を生成する際に、パリティ検査行列の行数Mと列数Nによって決まる符号化率(N−M)/N以下の符号化率を用意する為に、図8に示すように情報ビットに対応する検査行列の中で列次数の重い順に既知の値の“0”か“1”を挿入して符号化し、復号器側では検査行列の同一のビットに対応する値は既知数“0”か“1”を確定して復号することにより低符号化率の符号の符号化復号を可能とする。この方法により、低符号化率の符号を構成でき、既知データを信頼度の最も高い(100%誤り無し)既知の値を列次数の重いビットに割り振る事が出来る為、復号性能がよくなる効果がある。
実施の形態6.
実施の形態5では、パリティ検査行列の行数Mと列数Nによって決まる符号化率(N−M)/N以下の符号化率を用意するために、既知の数を列次数の重い列に対応するビットに割り振ったが、既知の数が多すぎた場合、性能劣化を起こすことがある。このような場合には、以下の方法により、低符号化率を用意することも可能である。
実施の形態5では、パリティ検査行列の行数Mと列数Nによって決まる符号化率(N−M)/N以下の符号化率を用意するために、既知の数を列次数の重い列に対応するビットに割り振ったが、既知の数が多すぎた場合、性能劣化を起こすことがある。このような場合には、以下の方法により、低符号化率を用意することも可能である。
非正則(行と列の重みが非一様)なパリティ検査行列を用いて符号化し符号長Nの符号語を生成する際に、パリティ検査行列の行数Mと列数Nによって決まる符号化率(N−M)/N以下の符号化率を用意する為に、情報ビットが割り当て可能な検査行列に対応する列の中でN−Mより小さい情報ビット数に対応する列を図9に示すようにほぼ一様な間隔で選択し、それ以外の列に既知の値の“0”か“1”を挿入して符号化し、復号器側では検査行列の既知のビットに対応する値は既知数“0”か“1”を確定して復号することにより低符号化率の符号の符号化復号を行なう。
例えば情報ビット数が検査行列の情報ビットに対応する列数の1/2である場合、情報ビット系列をu={u1,u22,…,uK}とすると既知数“0”を挿入した情報系列u0はu0={u1,u2,…,uK,0}となる。符号化率1/5の符号構成で構成した符号では、この操作により符号化率が1/10となる。同様に情報ビット数を検査行列の情報ビットに対応する列数の1/3とした場合は、既知数が大きくても劣化が発生しない場合がある。
この方法により、低符号化率の符号を用意でき、既知数が大きい場合の劣化を抑えられる。
この発明によるパリティ検査行列生成方法によれば、幅広い符号化率に対応した符号化が可能となる。
Claims (1)
- LDPC(Low-Density Parity Check)符号用のパリティ検査行列を生成する検査行列生成方法であって、
巡回置換行列が行方向と列方向に配置されかつ当該巡回置換行列に特定の規則性を持たせた正則(行と列の重みが一様)な擬似巡回行列を生成する擬似巡回行列生成ステップと、
マスク化擬似巡回行列と巡回置換行列を階段状に配置した行列とを所定位置に配置した、LDGM(Low Density Generation Matrix)構造の非正則なパリティ検査行列を取得するステップと、
前記正則な擬似巡回行列を非正則(行と列の重みが非一様)にするための、複数の符号化率のうちの一つの符号化率に対応可能なマスク行列を生成するマスク行列生成ステップと、
生成したマスク行列を用いて、前記正則なパリティ検査行列をマスクするとともに、一つの符号化率を満たすように、前記マスクした非正則なパリティ検査行列と階段状下三角行列とを組み合わせたパリティ検査行列を生成する検査行列生成ステップと、
を有することを特徴とする検査行列生成方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003023 | 2006-01-10 | ||
JP2006003023 | 2006-01-10 | ||
PCT/JP2007/050021 WO2007080827A1 (ja) | 2006-01-10 | 2007-01-05 | 検査行列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007080827A1 true JPWO2007080827A1 (ja) | 2009-06-11 |
JP4598085B2 JP4598085B2 (ja) | 2010-12-15 |
Family
ID=38256234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007553887A Expired - Fee Related JP4598085B2 (ja) | 2006-01-10 | 2007-01-05 | 検査行列生成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100229066A1 (ja) |
JP (1) | JP4598085B2 (ja) |
KR (1) | KR20090003164A (ja) |
WO (1) | WO2007080827A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4283829B2 (ja) * | 2006-08-17 | 2009-06-24 | 株式会社モバイルテクノ | 低密度パリティチェック符号復号装置 |
JP2010508728A (ja) * | 2006-10-26 | 2010-03-18 | クゥアルコム・インコーポレイテッド | 無線通信送信のための符合化スキーム |
US8892979B2 (en) | 2006-10-26 | 2014-11-18 | Qualcomm Incorporated | Coding schemes for wireless communication transmissions |
CN101414833B (zh) * | 2007-10-19 | 2010-08-04 | 中兴通讯股份有限公司 | 低密度生成矩阵码的编码方法及装置 |
TWI497920B (zh) * | 2007-11-26 | 2015-08-21 | Sony Corp | Data processing device and data processing method |
US8219868B1 (en) * | 2007-11-30 | 2012-07-10 | Marvell International Ltd. | Quasi-cyclic low-density parity-check (QC-LDPC) encoder |
CN101453297B (zh) * | 2007-12-07 | 2010-12-01 | 中兴通讯股份有限公司 | 低密度生成矩阵码的编码方法和装置、及译码方法和装置 |
US8464123B2 (en) | 2009-05-07 | 2013-06-11 | Ramot At Tel Aviv University Ltd. | Matrix structure for block encoding |
KR101644656B1 (ko) | 2009-11-02 | 2016-08-10 | 삼성전자주식회사 | 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법 |
US8910014B2 (en) | 2010-04-27 | 2014-12-09 | Nec Corporation | Coding device, error-correction code configuration method, and program thereof |
KR101125100B1 (ko) * | 2010-12-03 | 2012-03-21 | 한국과학기술원 | 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치. |
KR101922990B1 (ko) | 2011-11-11 | 2018-11-28 | 삼성전자주식회사 | 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법 |
WO2013136523A1 (ja) | 2012-03-16 | 2013-09-19 | 株式会社 東芝 | パリティ検査行列作成方法、符号化装置及び記録再生装置 |
WO2014141484A1 (ja) * | 2013-03-15 | 2014-09-18 | 株式会社 東芝 | パリティ検査行列作成方法、符号化装置及び記録再生装置 |
US9577675B1 (en) * | 2013-12-03 | 2017-02-21 | Marvell International Ltd. | System and method for encoding user data with low-density parity-check codes with flexible redundant parity check matrix structures |
JP2016213701A (ja) * | 2015-05-11 | 2016-12-15 | 富士通株式会社 | 誤り訂正方法、半導体装置、送受信モジュールおよび伝送装置 |
WO2016204578A1 (ko) * | 2015-06-18 | 2016-12-22 | 삼성전자 주식회사 | 통신 시스템에서 부호율 호환 저밀도 패리티 검사 부호를 이용하는 부호화 방법 및 장치 |
JP6282325B2 (ja) * | 2016-09-07 | 2018-02-21 | パナソニック株式会社 | 受信装置及び受信方法 |
EP3771105B1 (en) * | 2018-05-29 | 2022-10-05 | Mitsubishi Electric Corporation | Transmitter, receiver, communication system, and coding rate revision method |
US11595155B2 (en) * | 2019-01-09 | 2023-02-28 | Lg Electronics Inc. | Method for decoding low density parity check (LDPC)-coded signal, and terminal therefor |
RU2743784C1 (ru) * | 2020-11-13 | 2021-02-26 | Акционерное Общество "Крафтвэй Корпорэйшн Плс" | Способ кодирования данных на основе LDPC кода |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072130A (ja) * | 2001-07-18 | 2004-03-04 | Sony Corp | 符号化方法および符号化装置 |
JP2005045735A (ja) * | 2003-07-25 | 2005-02-17 | Sony Corp | 符号検出装置及び方法、復号装置及び方法、並びに情報処理装置及び方法 |
JP2005110251A (ja) * | 2003-09-26 | 2005-04-21 | Mitsubishi Electric Research Laboratories Inc | N個のサンプルを含む入力信号を、q元アルファベットから選択されたk個のシンボルのストリングに量子化する方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757122B1 (en) * | 2002-01-29 | 2004-06-29 | Seagate Technology Llc | Method and decoding apparatus using linear code with parity check matrices composed from circulants |
DE60332501D1 (de) * | 2003-05-28 | 2010-06-17 | Mitsubishi Electric Corp | Neuübertragungssteuerverfahren und kommunikationseinrichtung |
EP1746732A4 (en) * | 2004-04-28 | 2008-02-27 | Mitsubishi Electric Corp | RETRANSMISSION CONTROL METHOD AND COMMUNICATION DEVICE |
-
2007
- 2007-01-05 KR KR1020087019450A patent/KR20090003164A/ko not_active Application Discontinuation
- 2007-01-05 WO PCT/JP2007/050021 patent/WO2007080827A1/ja active Application Filing
- 2007-01-05 US US12/160,432 patent/US20100229066A1/en not_active Abandoned
- 2007-01-05 JP JP2007553887A patent/JP4598085B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072130A (ja) * | 2001-07-18 | 2004-03-04 | Sony Corp | 符号化方法および符号化装置 |
JP2005045735A (ja) * | 2003-07-25 | 2005-02-17 | Sony Corp | 符号検出装置及び方法、復号装置及び方法、並びに情報処理装置及び方法 |
JP2005110251A (ja) * | 2003-09-26 | 2005-04-21 | Mitsubishi Electric Research Laboratories Inc | N個のサンプルを含む入力信号を、q元アルファベットから選択されたk個のシンボルのストリングに量子化する方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20090003164A (ko) | 2009-01-09 |
US20100229066A1 (en) | 2010-09-09 |
JP4598085B2 (ja) | 2010-12-15 |
WO2007080827A1 (ja) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4598085B2 (ja) | 検査行列生成方法 | |
JP4901871B2 (ja) | 検査行列生成方法、符号化方法、通信装置、通信システムおよび符号化器 | |
JP4602418B2 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
US7617439B2 (en) | Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices | |
JP4563454B2 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、通信システム、符号化器および復号器 | |
US7222284B2 (en) | Low-density parity-check codes for multiple code rates | |
US8171371B2 (en) | Inspection matrix generation method, encoding method, communication device, communication system, and encoder | |
KR100856235B1 (ko) | 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 | |
JP4987079B2 (ja) | 検査行列生成装置 | |
JP4820368B2 (ja) | Ldpcコードを用いた符号化及び復号化方法 | |
US8386880B2 (en) | Method for transmitting non-binary codes and decoding the same | |
US9432052B2 (en) | Puncture-aware low density parity check (LDPC) decoding | |
JP4163023B2 (ja) | 検査行列生成方法および検査行列生成装置 | |
US10374632B2 (en) | Low density parity check coded modulation for optical communications | |
WO2007108396A1 (ja) | 通信装置、復号装置、情報伝送方法および復号方法 | |
JPWO2010001565A1 (ja) | 検査行列生成装置、検査行列生成方法、検査行列生成プログラム、送信装置、受信装置及び通信システム | |
KR102557432B1 (ko) | 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 16-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법 | |
US8190977B2 (en) | Decoder of error correction codes | |
KR102487767B1 (ko) | 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법 | |
KR102536691B1 (ko) | 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 bicm 수신 장치 및 이를 이용한 방법 | |
KR102476079B1 (ko) | 길이가 64800이며, 부호율이 3/15인 ldpc 부호어 및 qpsk에 상응하는 bicm 수신 장치 및 방법 | |
KR102487817B1 (ko) | 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법 | |
KR102477739B1 (ko) | 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 qpsk에 상응하는 bicm 수신 장치 및 방법 | |
KR102538292B1 (ko) | 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 qpsk를 위한 bicm 수신 장치 및 이를 이용한 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20100921 |
|
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: 20100922 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |