JP4645645B2 - 復号装置及び検査行列生成方法 - Google Patents
復号装置及び検査行列生成方法 Download PDFInfo
- Publication number
- JP4645645B2 JP4645645B2 JP2007340090A JP2007340090A JP4645645B2 JP 4645645 B2 JP4645645 B2 JP 4645645B2 JP 2007340090 A JP2007340090 A JP 2007340090A JP 2007340090 A JP2007340090 A JP 2007340090A JP 4645645 B2 JP4645645 B2 JP 4645645B2
- Authority
- JP
- Japan
- Prior art keywords
- parity check
- check matrix
- row
- sequence
- column
- 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.)
- Expired - Fee Related
Links
Landscapes
- Error Detection And Correction (AREA)
Description
まず、生成対象の検査行列Hは、列重み(列のハミング重み;各列の1(非零要素)の個数)がwc、行重み(行のハミング重み;各行の1(非零要素)の個数)がwrであるものとする。この場合、検査行列Hを、図22に示すように、検査行列Hの行方向にwc=3個のブロックに分ける。
第2ブロック以降についても、第1ブロックと同様に乱数(他のブロックとは別の乱数)を用いて列の入れ替え処理を行い、非零要素の配置が各ブロックで異なるようにする。
以上の処理をwc=3個のブロックについて行えば、列重みがwcのパリティ検査行列が生成される。
そして、S/N比が劣悪な時は符号化率の低い検査行列の構成をとり、S/N比が良好な時は符号化率を高めることで復号スループットを高めることができる。
の3つの場合が示されており、符号化率に応じて検査行列を分割することにより、各符号化率での符号長Nは、それぞれ、1536ビット、2048ビット、3072ビットになることが示されている。
よって、符号化率(訂正能力)は、符号長が連動して変化することなく変更できるのが望ましい。
また、本発明の他の目的は、ルールに基づいて表現できる検査行列を提供することである。
そして、本発明では、複数の検査行列において列重みも共通しているため、「検査行列における非零要素の総数」=「列重み×検査行列の列数(符号長)」という関係式より、符号化率の異なる複数の検査行列間でも、非零要素の総数は共通する。つまり、検査行列に含まれる非零要素の列位置を示す数の集合の要素数が、複数の検査行列間で共通する。
このように、符号化率を変えるために、共通した符号長において行重みを変えると、検査行列の行数が変化し、これは冗長ビットを増減することになる。つまり、行重みの変更は、ある符号長において情報ビットの占める割合を変更することになり、符号化率を変更する際の一般的な考え方に準拠したものとなる。
そして、上記本発明では、非零要素の列位置を示す数の集合の要素である「列位置を示す数」それぞれが、検査行列のどの行に配置されるかを、行重みに応じて変更すればよい。
(A)検査行列の行数に応じた数の数列それぞれは、以下の条件(C)〜(D)を満たす基礎数列を、wr個の数ごとに分割した部分数列である。
(B)検査行列の行数に応じた個数の部分数列は、それぞれ、検査行列のいずれか一の行に割り当てられている。
(C)前記基礎数列に含まれる数は、1〜Nの自然数である。
(D)前記基礎数列において、1〜Nの自然数それぞれの出現回数は、列重みの値wcと同じである。
(E)前記基礎数列は、公差がA1,・・,AjのいずれかであるX個の等差数列(ただし、当該数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)を連結したものである。
なお、検査行列の各行に存在する非零要素の位置を示す「数」からなる数列には、1つの行について、複数パターンをとり得る。例えば、上記(A)〜(E)の条件を満たす検査行列であっても、当該検査行列のある一つの行に存在する非零要素の位置を示す「数」を小さい順に並べた数列は、上記(E)の条件(等差数列)を満たすとは限らない。
しかし、本発明では、「等差数列に含まれる各数に対応した列位置に非零要素が配置されて」いればよく、検査行列における非零要素の並びを基準に考えた数列が、条件(E)を満たすか否かは考慮しなくともよい。つまり、検査行列の各行が、条件(E)を満たす数列を持ち得るものであれば足りる。
図1は、本発明の実施形態に係る復号装置(復号器)5を有する通信システムの構成の一例を示す図である。図1において、通信システムの送信側通信装置は、送信情報に誤り訂正用の冗長ビットを付加して送信符号を生成する符号化器1と、この符号化器1からの(K+M)ビットの符号を所定の方式に従って変調して通信路3へ出力する変調器2とを含む。
図2においては、8段階に受光レベルが量子化された場合の受信信号強度を示す。すなわち、受光レベルがデータ"7"のときには、発光強度がかなり強く、受光レベルが"0"のときには、光強度がかなり弱い状態である。各受光レベルは、符号付きデータに対応づけられ、復調器4から出力される。この復調器4の出力は、受光レベルが"7"のときにはデータ"3"が出力され、受光レベルが"0"のときには、データ"−4"が出力される。したがってこの復調器4からは、1ビットの受信信号に対し、多値量子化された信号が出力される。
このアナログ/デジタル変換回路4bの出力データXnが復号器5へ与えられる。この復号器5へ与えられるデータXnは、L値(L≧2)のデータである。以下、データXnは、多値量子化データであるため、シンボルと称す。復号化器5は、この入力シンボルXn系列に対しsum-product復号法又はmin-sum復号法などの復号法に従って復号処理を行なって符号ビットCnを生成する。
しかしながら、本実施の形態においては、この対数尤度比算出部6は、バッファ回路または定数乗算回路で形成され、対数尤度比λnは、Xn・fで与えられる。ここで、fは非ゼロの正の数である。また、min-sum復号方法においては、検査行列に基づく復号処理(行処理)において、最小値を利用して演算を行なうため、信号処理において線形性が維持される。このため、ノイズ情報に従って出力データを正規化するなどの処理は不要である。この場合ノイズ情報を利用せずに、対数尤度比を算出することにより、回路構成が簡略化され、また計算処理も簡略化される。
外部値対数比算出部7は、次式(1)及び(2)に従って演算処理を行い、パリティ検査行列の行の各要素(非零要素:1)についての処理(行処理)、及び列についての各要素(非零要素:1)についての処理(列処理)を繰り返し実行する。
外部値対数比αmnについては、n’≠nであり、事前値対数比βmnについては、m’≠mである。また、αおよびβの行列内の位置を示す添え字"mn"は、通常は下付文字で示されるが、本明細書においては、読みやすさのために、「横並びの文字」で示す。
A(m)={n:Hmn=1} …(4)
B(n)={m:Hmn=1} …(5)
A(2)={3,4}
A(3)={4,5,6}
B(1)=B(2)={1}
B(3)={1,2}
B(4)={2,3}
B(5)=B(6)={3}
図6を参照して、一次推定語生成部180は、Qn算出部140と、Cn算出部141とを含む。
(C1,C2,・・・,CN)・Ht=0(ただし、Htは、Hの転置を表す・・・(8)
さて、図7は、本実施形態の復号器5において用いられるLDPC符号の検査行列H96の具体例を示している。図7の検査行列H96は、符号長N=96、行重みwr=6、列重みwc=3の正則な検査行列(行列サイズ=48×96)を示している。図7においては、検査行列の「1」(非零要素)のあるところは、点で示されている。図7の検査行列H96において、非零要素を示す点は288個ある。
図8の検査行列は、規則性がないため、この検査行列を表現するための情報としては、少なくとも2016ビットが必要である。つまり、図8の検査行列を表現するためには、各行における点の位置(列番号;列インデックス)を列挙しておき、1行当たりの点数が6個であることを利用して、各行内で列挙された点の位置を記録すれば各行を再現することができる。したがって、この方式では、それぞれの点が、1〜96の数値をとり、1点あたり7ビット必要であるため、288点で、7×288×=2016が必要である。
なお、Nに対して互いに素である複数の数値A1,A2,A3を区別せずに総称する場合は、単に「数値A」という。
図7の各ブロックH1〜H3では、斜め方向を向く点(非零要素)の列が、略一定間隔をおいて略規則正しく並んでいる。点の列の傾きや点の列の間隔はブロックH1〜H3ごとに異なる。
本実施形態の復号器5は、上記のような特性を持つ検査行列H96を用いて復号を行う。この検査行列H96の第1ブロックH1の生成規則は、次のとおりである。なお、各ブロックH1〜H3に含まれる行数Pは、P=行長さM/列重みwr=48/3=16である。
(1)符号長(検査行列の列方向長さ)をNとする。
(2)Nと互いに素である数値をA1とする。
(3)変数xが、初期値x1から(x1+(N−1))になるまで下記(3−1)(3−2)の処理を繰り返す(N回の繰り返し処理)。なお、ここでは、初期値x1=1とする。
(3−1:位置算出ステップ)mod(A1×x,N)を計算し、その結果に1を加える。つまり、“mod(A1×x,N)+1”を計算する。なお、mod(A1×x,N)は、(A1×x)をNで割ったときの剰余を求める関数である。
(3−2:配置ステップ)第1ブロックH1中の、“mod(A1×x,N)+1”の結果(列インデックス)が示す列位置に非零要素「1」を配置する。例えば、“mod(A1×x,N)+1”の演算結果が「10」であれば、指定された行の10列目に「1」を立てる。「1」が配置される行は、第1ブロックH1の1行目からP行目まで順次切り替わる。各行には、行重みwrに対応した数の「1」が順次配置され、一つの行に、行重み分の数の「1」を立てたら、次の行に移って、同様に行重み分の数の「1」を立てる。
つまり、N回の計算結果として、1〜Nまでの数値を重複させることなく、全ての値を生成でき、このため、この計算結果を基に、検査行列(の各ブロックH1〜H3)に非零要素「1」を配置すれば、それぞれのブロックには、全ての列に対して、それぞれ1点のみ非零要素「1」を配置することができる。
前記位置算出ステップ3−1を初期値x1から6回(行重みの値)まで繰り返すと、下記のように{30,59,88,21,50,79}の計6個の数が求まる。
mod(29×1,96)+1=30
mod(29×2,96)+1=59
mod(29×3,96)+1=88
mod(29×4,96)+1=21
mod(29×5,96)+1=50
mod(29×6,96)+1=79
同様に、13回目〜18回目の繰り返しでは、3行目に「1」を立て、以下、これを繰り返していき、第1ブロックH1を構成する1行目〜P行目(16行目)までにN個の「1」を立てることができる。
1行目:30,59,88,21,50,79
2行目:12,41,70, 3,32,61
3行目:90,23,52,81,14,43
4行目:72, 5 34,63,92,25
5行目:54,83,16,45,74, 7
6行目:36,65,94,27,56,85
7行目:18,47,76, 9,38,67
8行目:96,29,58,87,20,49
9行目:78,11,40,69, 2,31
10行目:60,89,22,51,80,13
11行目:42,71, 4,33,62,91
12行目:24,53,82,15,44,73
13行目: 6,35,64,93,26,55
14行目:84,17,46,75, 8,37
15行目:66,95,28,57,86,19
15行目:48,77,10,39,68, 1
17行目:32,63,94,29,60,91
18行目:26,57,88,23,54,85
19行目:20,51,82,17,48,79
20行目:14,45,76,11,42,73
21行目: 8,39,70, 5,36,67
22行目: 2,33,64,95,30,61
23行目:92,27,58,89,24,55
24行目:86,21,52,83,18,49
25行目:80,15,46,77,12,43
26行目:74, 9,40,71, 6,37
27行目:68, 3,34,65,96,31
28行目:62,93,28,59,90,25
29行目:56,87,22,53,84,19
30行目:50,81,16,47,78,13
31行目:44,75,10,41,72, 7
32行目:38,69, 4,35,66, 1
33行目:38,75,16,53,90,31
34行目:68, 9,46,83,24,61
35行目: 2,39,76,17,54,91
36行目:32,69,10,47,84,25
37行目:62, 3,40,77,18,55
38行目:92,33,70,11,48,85
39行目:26,63, 4,41,78,19
40行目:56,93,34,71,12,49
41行目:86,27,64, 5,42,79
42行目:20,57,94,35,72,13
43行目:50,87,28,65, 6,43
44行目:80,21,58,95,36,73
45行目:14,51,88,29,66, 7
46行目:44,81,22,59,96,37
47行目:74,15,52,89,30,67
48行目: 8,45,82,23,60, 1
上記からも明かであるように、上記生成規則の配置ステップ3−2は、N個(=96個)
N個の演算結果からなる数列を、検査行列H96の行重wrの数(=6)からなるP個(=16個)の部分数列S1〜SPに分割し、P個の部分数列S1〜SPに含まれる数を非零要素の列位置として、対応するP個の行(1行目〜P行目)に非零要素を配置して各ブロックH1〜H3を生成するものということができる。
第1ブロックH1
1行目:21,30,50,59,79,88
2行目: 3,12,32,41,61,70
3行目:14,23,43,52,81,90
4行目: 5,25,34,63,72,92
5行目: 7,16,45,54,74,83
6行目:27,36,56,65,85,94
7行目: 9,18,38,47,67,76
8行目:20,29,49,58,87,96
9行目: 2,11,31,40,69,78
10行目:13,22,51,60,80,89
11行目: 4,33,42,62,71,91
12行目:15,24,44,53,73,82
13行目: 6,26,35,55,64,93
14行目: 8,17,37,46,75,84
15行目:19,28,57,66,86,95
16行目: 1,10,39,48,68,77
17行目:29,32,60,63,91,94
18行目:23,26,54,57,85,88
19行目:17,20,48,51,79,82
20行目:11,14,42,45,73,76
21行目: 5, 8,36,39,67,70
22行目: 2,30,33,61,64,95
23行目:24,27,55,58,89,92
24行目:18,21,49,52,83,86
25行目:12,15,43,46,77,80
26行目: 6, 9,37,40,71,74
27行目: 3,31,34,65,68,96
28行目:25,28,59,62,90,93
29行目:19,22,53,56,84,87
30行目:13,16,47,50,78,81
31行目: 7,10,41,44,72,75
32行目: 1,4,35,38,66,69
33行目:16,31,38,53,75,90
34行目: 9,24,46,61,68,83
35行目: 2,17,39,54,76,91
36行目:10,25,32,47,69,84
37行目: 3,18,40,55,62,77
38行目:11,33,48,70,85,92
39行目: 4,19,26,41,63,78
40行目:12,34,49,56,71,93
41行目: 5,27,42,64,79,86
42行目:13,20,35,57,72,94
43行目: 6,28,43,50,65,87
44行目:21,36,58,73,80,95
45行目: 7,14,29,51,66,88
46行目:22,37,44,59,81,96
47行目:15,30,52,67,74,89
48行目: 1, 8,23,45,60,82
また、第2ブロックH2においては、数を小さい順に置きかえた数列の隣り合う数の差が、3前後の値又は28前後の値となっている。このため、図7に示すように、第2ブロックH2では、斜め方向の「点の列」の間隔が、列方向に約30となっている。
さらに、第3ブロックH3においては、数を小さい順に置きかえた数列の隣り合う数の差が、7前後の値、15前後の値、又は22前後の値となっている。このため、図7に示すように、第3ブロックH3では、斜め方向の「点の列」の間隔が、列方向に約7となっている。
なお、第1〜第3ブロックH1,H2,H3では、数値A1,A2,A3がそれぞれ異なることから、「点の列」の傾きも、それぞれ異なる。
本実施形態に係る検査行列H96の性質は、以下の通りである。
ここで、上記のように“mod(A1×x,N)+1”をx=1〜NまでN回繰り返して得られた演算結果を、その算出順に並べた数列Sとして考え、下記のように表現する。なお、以下では、{}を、数列を囲む記号として用いる。
数列S:{y1,y2,・・・,yN}
1行目に対応する部分数列 S1:{y1,y2,・・・,y6}
2行目に対応する部分数列 S2:{y7,y8,・・・,y12}
・ ・
・ ・
・ ・
P−1行目に対応する部分数列SP-1:{yN-11,yN-10,・・・,yN-6}
P行目に対応する部分数列 SP:{yN-5,yN-4,・・・,yN}
数列S={y1,y2,・・・,yN}={S1,S2,・・・,SP-1,SP}
(性質1)前記部分数列S1〜SPは、行ごとに異なるものである。
(性質2)前記部分数列S1〜SPに含まれる数は、1〜Nの自然数である。
これは、mod(A1×x,N)の演算で、xを1つずつ増加させると、A1×xは、A1(=29)ずつ大きくなり、mod(A1×x,N)によって算出される剰余もA1(=29)ずつ大きくなるからである。
他の項についても同様に差が29であるが、第4項の「88」と第5項の「21」との間の差は、「−67」であり、「29」ではない。
これは、mod(A1×x,N)という剰余を求める演算の性質上、mod(A1×x,N)の演算結果がNを超えず、xを順次増加させると、mod(A1×x,N)も増加するものの、1〜Nの間で循環的に増加するからである。
このような例外は、他の部分数列S2〜SPにおいても存在するが、このような例外について数値間の差を、A1であるとみなすことで、全ての部分数列S1〜SPは、「公差A1の等差数列である」ということができる。
(性質3)部分数列S1〜SPは公差がA1である等差数列である(ただし、当該部分数列S1〜SPに含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)。
(性質4)同一の公差Aを持つ複数の等差数列(部分数列S1〜SP)において、1〜Nの自然数それぞれの出現回数は、1回以内である。
(性質5)P個の部分数列S1〜SPは、連結数列SをP分割したものである。
(性質6)P個の部分数列S1〜SPは、前記連結数列SにおけるP個の前記部分数列S1〜SPの並び順と、P個の連続する行(1行目〜P行目)の並び順と、が一致するように、前記検査行列H96に含まれるP個の連続する行(1行目〜P行目)に、それぞれ割り当てられている。
(性質7)前記連結数列Sは、P個の連続する行(1行目〜P行目)に含まれる非零要素の総数に対応した個数の「数」を有する。
(性質8)前記連結数列Sに含まれる数は、1〜Nの自然数である。
(性質9)前記連結数列Sにおいて、1〜Nの自然数それぞれの出現回数は、1回以内である。
(性質10)前記連結数列Sは、公差がA1である等差数列である(ただし、当該連結数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がA1でない場合があっても、yAと(yB+N)との差がA1であれば、yAとyBの差はA1であるとみなす)
また、性質1〜10を満たす検査行列を生成した後、検査行列に含まれる行(列)同士の行置換(列置換)を行った場合も、(性質6)が失われる。
ただし、このような特殊な切り替えルールを採用しても、数値A1から、性質1〜4を満たすブロックが生成されることに変わりはない。
また、上記のような場合、上記(性質6)を下記のように言い換えることで、行置換等を行って上記(性質5)を満たさなくなった場合も、性質5〜10を満たすということができる。
したがって、性質1〜10は、検査行列H96全体で成り立つ。また、性質1〜10は、符号長Nに関係なく成立するため、性質1〜10は、任意の符号長(列長さ)の検査行列Hに、一般化できる。
検査行列H96を生成するための生成情報である数値A1,A2,A3の決定手順は、例えば、下記の通りである。ここで、数値A1,A2,A3は、それぞれ、Nと互いに素な数値である。また、数値A1,A2,A3は、それぞれ異なる数値である。なお、ここでは、数値A1,A2,A3<Nとする。
Nを因数分解することで得られた数の集合を集合1とする。Nが96の場合、集合1は、(2,2,2,2,2,3)である。
Nまでの素数を集合2とする。Nが96の場合、集合2は、(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47)である。
集合2より集合1の要素を取り除いたものを集合3とする、Nが96の場合、集合2は、(5,7,11,13,17,19,23,29,31,37,41,43,47)である。
集合3より、列重みwc(=3)に相当する数の要素を取りし、それらの3つの数値A1,A2,A3の組を候補の一つとする。候補は、集合3の要素数が13個あることから、13C3=286通りできる。286通りの候補を集合4とする。
また、Nと互いに素である数値Aを使って検査行列を生成する本実施形態の方法においては、上記の決定手順に従うことで、大量の候補の組(A1,A2,A3)をコンピュータ演算によって自動的に生成することができる。よって、多数の候補について評価を行うことができ、当該評価を経て決定された数値(A1,A2,A3)は、訂正能力が非常に優れた検査行列を生成するものとなることが期待できる。
本実施形態の検査行列の上記生成規則によれば、復号器5が、当該生成規則に従って検査行列を生成するには、少なくとも列重みwcに対応した数の数値A1,A2,A3が検査行列の生成情報としてあれば良い。従って、復号器5は、検査行列に含まれる全ての「1」の位置を示す情報を記憶していなくとも、より少ない数の数値A1,A2,A3を記憶しておくことで、前記生成規則を実行する生成部(図示省略)によって、当該数値A1,A2,A3を用いて、動的に検査行列を生成することができる。
また、上記生成規則に従って、検査行列に「1」を立てるには、1つの行に含まれる「1」の個数(行重み)wrも、検査行列の生成情報として必要である。この行重みwrの情報を用いることで、異なる符号化率に対応する複数の検査行列を生成することができる。
まず、正則検査行列において、列方向長さ(符号長)をN、行方向長さをM、1行当たりの「1」の個数(行重み)をwr、1列当たりの「1」の個数(列重み)をwcとする。この検査行列に含まれる「1」の全数は、次のように表現される。
(1の全数)=wr×M=wc×N
上記式より、M/N=wc/wrが成り立つ。
符号化率R=K/N
=(N−M)/N
=1−M/N
=1−wc/wr
となる。
上記式において、M/Nは、検査行列のサイズを示しており、wc/wrは「1」を立てる割合を示している。
つまり、前述のように、復号器5は、復号器5(通信装置)が備えている記憶部(図示省略)に記憶された数値A1,A2,A3を、当該記憶部から取得し、前記生成規則に従って検査行列を生成して復号を行うことができる。この場合、復号器5が、複数種類の検査行列を記憶しておく場合でも、検査行列を記憶するためのメモリの大きさを小さくできる。
特に、WiMAXなどの規格(通信方式)では、複数の異なる検査行列を使い分けることが要求されており、このようなシステムにおいて、上記検査行列を活用する事は、複数の検査行列を記憶するメモリを削減する上でメリットは大である。
つまり、本実施形態の復号器5(通信装置)には、通信品質状況(エラー状況)に応じて変動する符号化率に応じてwrを決定し、それを他の復号器5(通信装置)へ送信する機能を具備させることができる。そして、wrを受信した復号器5(通信装置)は、数値Aのほか、受信したwrを用いて、検査行列を生成することができる。
図10は、符号化率Rと行重みの関係を示す図である。まず、検査行列全体に含まれる“1”の列位置を示す数列を「基礎数列」というものとすると、基礎数列は、前述の検査行列H96は、数値A1によって生成される第1の連結数列(公差がA1の等差数列)S、数値A2によって生成される第2の連結数列(公差がA2の等差数列)S、及び数値A3によって生成される第3の連結数列(公差がA3の等差数列)Sを連結したものである。
また、部分数列の個数Pは、連結数列の長さNを、1個の部分数列の長さwrで割った数に等しい。したがって、M=N・j/wrである。
ここで、符号化率R=1−M/Nであるから、Mを変えることで、符号化率Rを変更することにある。
このように、本実施形態では、符号化率が異なる検査行列が、共通の基礎数列に基づいて、行重みを変更することで得られる。したがって、異なる符号化率に対応した複数の検査行列が必要であっても、基礎行列は共通のものを用いることができる。
(性質A)検査行列の行数に応じた数の数列それぞれは、以下の条件(C)〜(D)を満たす基礎数列を、wr個の数ごとに分割した部分数列である。
(性質B)検査行列の行数に応じた個数の部分数列は、それぞれ、検査行列のいずれか一の行に割り当てられている。
(性質C)前記基礎数列に含まれる数は、1〜Nの自然数である。
(性質D)前記基礎数列において、1〜Nの自然数それぞれの出現回数は、列重みの値wcと同じである。
(性質E)前記基礎数列は、公差がA1,・・,AjのいずれかであるX個の等差数列(ただし、当該数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)を連結したものである。
図16に示すように、図12〜図15の検査行列は、符号化率Rに応じた訂正能力を有している。また、図12〜図15の検査行列を用いると、エラーフロアーを引かず良好な特性になることを示している。
図17は、図3に示した復号器5における外部値対数比算出部7のブロック図を示している。外部値対数比算出部7は、min−sum復号法による場合、前述の式(1)の行処理及び式(2)の列処理の繰り返しによって復号が行われる。したがって、外部値対数比算出部7は、図17に示すように行処理を行う行処理部7aと列処理を行う列処理部7bを備えている。
したがって、行処理部7aは、図18に示すように、λnとβmnの加算を行う加算部7a−1、式(1)のsing演算を行う符号処理部7a−2、式(1)の最小値探索を行う最小値探索部7aを備えている。そして、符号処理部7a−2と最小値探索部7a−3の結果は符号乗算部7a−4によって乗算され、式(1)に示すαmnが求められる。
したがって、図19及び図20では、各処理回路300,301内の比較器200の数が異なり、処理回路300,301の総数も異なる。つまり、図19及び図20では、最小値探索部7a−3の回路構成が異なる。
図21の処理回路302では、複数の行重みについての出力を共に出力できるため、処理回路302を行重みごとに設ける必要がない。しかも、比較器200は、異なる行重み間で共用されているため、素子数の増加が抑えられている。
例えば、本実施形態の検査行列に基づく処理(行処理又は列処理)は、ハードウェアによって実行される必要はなく、コンピュータプログラムによって実行されてもよい。また、基礎数列は、等差数列を連結したものに限られず、どのような数列であってもよい。さらに、最小値を求める処理回路は、トーナメント方式に限られず、分布数えソートをベースとした方式であってもよい。なお、分布数えソートをベースとした方式は、例えば、“前畠貴、「FUMP−APP復号法によるLDPC復号器の実装」、電子情報通信学会、信学技報、CAS2006、pp.8−20 2006年6月”に開示されている。
2 変調器
3 通信路
4 復調器
5 変調器
H 検査行列
N 符号長
wc 列重み
wr 行重み
R 符号化率
Claims (5)
- 検査行列を用いて、低密度パリティ検査符号の復号を行う復号装置であって、
符号化率の異なる複数の検査行列を使い分けることができるよう構成され、
符号化率の異なる前記複数の検査行列は、低密度パリティ検査符号の符号長を示す列数が共通しているとともに、行数が符号化率に応じて異なっており、
検査行列に含まれる非零要素の総数が前記複数の検査行列間で共通しており、
前記非零要素の「列位置を示す数」を要素とする集合が前記複数の検査行列間で共通し、かつ、列重みが前記複数の検査行列間で共通し、かつ、行重みが符号化率に応じて前記複数の検査行列間で異なるように、前記非零要素が配置されている
ことを特徴とする復号装置。 - 検査行列を用いて、低密度パリティ検査符号の復号を行う復号装置であって、
符号化率の異なる複数の検査行列を使い分けることができるよう構成され、
符号化率の異なる前記複数の検査行列は、低密度パリティ検査符号の符号長及び検査行列の列重みが共通しており、行重みが複数の検査行列間で異なることで複数の検査行列の符号化率が異なっているものを含んでおり、
さらに、
前記符号長をNとし、
前記検査行列の列重みをwcとし、
前記検査行列の行重みをwrとし、
前記Nに対して互いに素である少なくともwc個の数をA1,・・,Aj(ただし、jは、wc以上の数であり、A1,・・・,Ajはそれぞれ異なる数)としたときに、
前記検査行列のそれぞれの行には、当該検査行列の行数に応じた個数の数列であって、それぞれが以下の条件(A)〜(B)を満たす数列に含まれる各数に対応した列位置に非零要素が配置されていることを特徴とする復号装置。
(A)検査行列の行数に応じた数の数列それぞれは、以下の条件(C)〜(D)を満たす基礎数列を、wr個の数ごとに分割した部分数列である。
(B)検査行列の行数に応じた個数の部分数列は、それぞれ、検査行列のいずれか一の行に割り当てられている。
(C)前記基礎数列に含まれる数は、1〜Nの自然数である。
(D)前記基礎数列において、1〜Nの自然数それぞれの出現回数は、列重みの値wcと同じである。
(E)前記基礎数列は、公差がA1,・・,AjのいずれかであるX個の等差数列(ただし、当該数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)を連結したものである。 - 前記基礎数列における複数の部分数列の並び順と、前記部分数列が割り当てられている検査行列の各行の並び順とが一致するように、複数の部分数列が検査行列の各行に割り当てられている請求項2記載の復号装置。
- 検査行列を用いて、低密度パリティ検査符号の復号を行う復号装置であって、
符号化率の異なる複数の検査行列を使い分けることができるよう構成され、
符号化率の異なる前記複数の検査行列は、低密度パリティ検査符号の符号長及び検査行列の列重みが共通しているとともに、検査行列に含まれる非零要素の列位置を示す数の集合が前記複数の検査行列間で共通しており、行重みが複数の検査行列間で異なることで複数の検査行列の符号化率が異なっているものを含んでおり、
通信レートに応じて検査行列の行重みを変更することでマルチレートに対応する復号装置。 - 低密度パリティ検査符号の符号長Nと、前記Nに対して互いに素である数値Aと、検査行列の行重みwrを用いて、低密度パリティ検査符号の検査行列を生成する方法であって、
通信レートに応じて前記wrを変更する行重み変更ステップと、
検査行列に含まれるP個(Pは2以上の自然数)の行それぞれが有する非零要素の位置を算出する位置算出ステップと、
前記位置算出ステップによって算出された位置に、非零要素を配置する配置ステップと、を含み、
前記位置算出ステップでは、変数xを、初期値x1から(x1+(N−1))まで増加させつつ、(A×x)をNで割ったときの剰余を求める演算を行って、N個の演算結果を取得し、
前記配置ステップでは、N個の演算結果からなる数列を、wr個の数からなるP個の部分数列に分割し、P個の部分数列に含まれる数を非零要素の列位置として、対応するP個の行に非零要素を配置する、
ことを特徴とする検査行列生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007340090A JP4645645B2 (ja) | 2007-12-28 | 2007-12-28 | 復号装置及び検査行列生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007340090A JP4645645B2 (ja) | 2007-12-28 | 2007-12-28 | 復号装置及び検査行列生成方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010265293A Division JP4985843B2 (ja) | 2010-11-29 | 2010-11-29 | 復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009164759A JP2009164759A (ja) | 2009-07-23 |
JP4645645B2 true JP4645645B2 (ja) | 2011-03-09 |
Family
ID=40966884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007340090A Expired - Fee Related JP4645645B2 (ja) | 2007-12-28 | 2007-12-28 | 復号装置及び検査行列生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4645645B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2503698B1 (en) * | 2009-11-17 | 2018-02-14 | Mitsubishi Electric Corporation | Error correction method and device, and communication system using the same |
US9077377B2 (en) | 2010-02-10 | 2015-07-07 | Panasonic Intellectual Property Management Co., Ltd. | Transmission device and reception device for communication in an environment with strong external noise, and transmission method and reception method for the same |
US8910014B2 (en) | 2010-04-27 | 2014-12-09 | Nec Corporation | Coding device, error-correction code configuration method, and program thereof |
JP7543654B2 (ja) | 2020-02-13 | 2024-09-03 | 株式会社リコー | リソース予約システム、利用管理方法、端末装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005069492A1 (ja) * | 2004-01-20 | 2005-07-28 | Nec Corporation | 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム |
JP2007215089A (ja) * | 2006-02-13 | 2007-08-23 | Fujitsu Ltd | 復号装置及び復号方法 |
-
2007
- 2007-12-28 JP JP2007340090A patent/JP4645645B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005069492A1 (ja) * | 2004-01-20 | 2005-07-28 | Nec Corporation | 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム |
JP2007215089A (ja) * | 2006-02-13 | 2007-08-23 | Fujitsu Ltd | 復号装置及び復号方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2009164759A (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4867980B2 (ja) | 誤り訂正復号装置 | |
JP4296949B2 (ja) | 復号装置及び方法、並びに情報処理装置及び方法 | |
KR101944526B1 (ko) | 송신 장치 및 그의 인터리빙 방법 | |
KR101227264B1 (ko) | Ldpc 코드용 디코더 | |
WO2014122772A1 (ja) | 誤り訂正符号の検査行列のデータ構造、並びに誤り訂正符号の符号化率可変装置および可変方法 | |
EP1798861A1 (en) | LDPC encoding through decoding algorithm | |
JP4591371B2 (ja) | Qc符号の符号化方法 | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
JP4645645B2 (ja) | 復号装置及び検査行列生成方法 | |
KR101370903B1 (ko) | Ldpc 코드를 이용한 부호화 및 복호화 방법 | |
KR102059002B1 (ko) | 무선 통신 시스템에서 ldpc 부호의 패리티 검사 행렬을 기반으로 부호화를 수행하는 방법 및 이를 이용한 단말 | |
JP4985843B2 (ja) | 復号装置 | |
JP4618293B2 (ja) | 復号装置及び検査行列生成方法 | |
JP2009182421A (ja) | 復号化方法及び復号化装置 | |
JP5385944B2 (ja) | 復号器 | |
JP4341646B2 (ja) | 復号装置 | |
JP4645640B2 (ja) | 復号器、受信装置及び符号化データの復号方法 | |
KR101405961B1 (ko) | Ldpc 코드를 이용한 부호화/복호화 방법 | |
JP4755238B2 (ja) | 復号器 | |
JP4341643B2 (ja) | 復号装置 | |
JP5811212B2 (ja) | 誤り訂正復号装置 | |
JP4650485B2 (ja) | 復号装置 | |
JP4766013B2 (ja) | 復号器、受信装置及び符号化データの復号方法 | |
JP4973647B2 (ja) | 誤り訂正符号の復号評価装置 | |
JP2019213217A (ja) | 誤り訂正復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100927 |
|
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: 20101109 |
|
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: 20101122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4645645 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |