JP4618293B2 - 復号装置及び検査行列生成方法 - Google Patents
復号装置及び検査行列生成方法 Download PDFInfo
- Publication number
- JP4618293B2 JP4618293B2 JP2007321021A JP2007321021A JP4618293B2 JP 4618293 B2 JP4618293 B2 JP 4618293B2 JP 2007321021 A JP2007321021 A JP 2007321021A JP 2007321021 A JP2007321021 A JP 2007321021A JP 4618293 B2 JP4618293 B2 JP 4618293B2
- Authority
- JP
- Japan
- Prior art keywords
- check matrix
- sequence
- parity check
- row
- 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を、図17に示すように、検査行列Hの行方向にwc=3個のブロックに分ける。
第2ブロック以降についても、第1ブロックと同様に乱数(他のブロックとは別の乱数)を用いて列の入れ替え処理を行い、非零要素の配置が各ブロックで異なるようにする。
以上の処理をwc=3個のブロックについて行えば、列重みがwcのパリティ検査行列が生成される。
つまり、検査行列における非零要素の配置には規則性がないため、全ての非零要素の位置を特定しなければ、検査行列を表現することができない。
一方、何らかのルールに基づく検査行列であれば、比較的少ない情報で表現することができるものの、規則的に非零要素が配置されるため、十分な訂正能力が得られないことが多い。もっとも、近年の傾向として、あるルールに従って生成された行列でも訂正能力を確保できるものが発見されている。
(1)前記数列は、行又は列ごとに異なるものである。
(2)前記数列に含まれる数は、1〜Nの自然数である。
(3)前記数列は公差がAである等差数列である(ただし、当該数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)。
(4)同一の公差Aを持つ複数の等差数列において、1〜Nの自然数それぞれの出現回数は、1回以内である。
なお、検査行列の各行又は各列に存在する非零要素の位置を示す「数」からなる数列には、1つの行又は列について、複数パターンをとり得る。例えば、上記(1)〜(4)の条件を満たす検査行列であっても、当該検査行列のある一つの行に存在する非零要素の位置を示す「数」を小さい順に並べた数列は、上記(3)の条件(公差がAである等差数列)を満たすとは限らない。
しかし、上記本発明は、「公差がAである等差数列に含まれる各数に対応した列位置又は行位置に非零要素が配置されている」ことを特徴とするものであり、検査行列における非零要素の並びを基準に考えた数列が、条件(3)を満たすか否かは考慮しなくともよい。つまり、検査行列の各行又は各列が、条件(3)を満たす数列を持ち得るものであれば足りる。
(5)P個の数列は、以下の条件(7)〜(10)を満たす連結数列をP分割したものである。
(6)P個の数列は、前記検査行列に含まれるP個の行又はP個の列に、それぞれ割り当てられている。
(7)前記連結数列は、P個の行又はP個の列に含まれる非零要素の総数に対応した個数の数を有する。
(8)前記連結数列に含まれる数は、1〜Nの自然数である。
(9)前記連結数列において、1〜Nの自然数それぞれの出現回数は、1回以内である。
(10)前記連結数列は、公差がAである等差数列である(ただし、当該連結数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)。
前記条件(6)は、下記の通りであるのが好ましい。
(6)P個の数列は、前記連結数列におけるP個の前記数列の並び順と、連続するP個の行又は連続するP個の列の並び順と、が一致するように、前記検査行列に含まれるP個の行又は列に、それぞれ割り当てられている。
検査行列が上記のように構成されている場合、非零要素の分布がより均一になり、訂正能力を向上させることができる。
それぞれの数列群の公差は、他の数列群とは公差が異なっているとともに、前記Nに対して互いに素であるのが好ましい。
また、前記検査行列は、当該検査行列の行重みに対応した数の前記数列群が存在するように構成されていてもよい。
図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である。
(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も、検査行列の生成情報として必要である。
まず、正則検査行列において、列方向長さ(符号長)を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などの規格(通信方式)では、複数の異なる検査行列を使い分けることが要求されており、WiMAX用通信装置(復号器)において、複数の検査行列を記憶するメモリを削減できるメリットは大である。
つまり、復号器5(通信装置)には、通信状況(エラー状況)に応じて変動する符号化率に応じてwrを決定し、それを他の復号器5(通信装置)へ送信する機能を具備させることができる。そして、wrを受信した復号器5(通信装置)は、数値Aのほか、受信したwrを用いて、検査行列を生成することができる。
図10は、(符号長N,A1,A2,A3)=(192,37,113,137)の生成情報によって前記生成規則に従って生成された検査行列を示している。
図11は、(符号長N,A1,A2,A3)=(567,109,347,463)の生成情報によって前記生成規則に従って生成された検査行列を示している。
図12は、(符号長N,A1,A2,A3)=(1152,349,983,1069)の生成情報によって前記生成規則に従って生成された検査行列を示している。
なお、図10〜図12の検査行列は、(N,A1,A2,A3)以外の検査行列に関するパラメータ(wrなど)については、図7に示す検査行列と同様である。
図13に示すように、図10〜図12の検査行列は、図7の検査行列と同様に、エラーフロアーを引かず良好な特性が得られることがわかる。
上記生成規則では、1行単位で、非零要素の位置を決定していたが、この変形例では、1列単位で、非零要素の位置を決定する。
変形例に係る生成規則は下記の通りである。なお、ここでは、図14(a)に示すように、検査行列H(行列サイズM×N)を、行重みwr(=6)の数に応じた複数の部分行列H1〜H6に分割して考える。なお、行重みwr=6であることに対応して、Mと互いに素である数値Aとしては、A1〜A6までの6個が必要である。ただし、以下の生成規則では、A1のみについて説明する。
(1)検査行列の行方向長さをMとする。
(2)Mと互いに素である数値をA1とする。
(3)変数xが、初期値x1から(x1+(M−1))になるまで下記(3−1)(3−2)の処理を繰り返す(M回の繰り返し処理)。なお、ここでは、初期値x1=1とする。
(3−1:位置算出ステップ)mod(A1×x,M)を計算し、その結果に1を加える。つまり、“mod(A1×x,M)+1”を計算する。なお、mod(A1×x,M)は、(A1×x)をMで割ったときの剰余を求める関数とする。
(3−2:配置ステップ)第1ブロックH1中の、“mod(A1×x,M)+1”の結果(行インデックス)が示す列位置に非零要素「1」を配置する。「1」が配置される列は、第1ブロックH1の1列目からP列目まで順次切り替わる。各列には、列重みwcに対応した数の「1」が順次配置され、一つの列に、列重み分の数の「1」を立てたら、次の列に移って、同様に列重み分の数の「1」を立てる。
2 変調器
3 通信路
4 復調器
5 変調器
H 検査符号
Claims (7)
- 低密度パリティ検査符号の復号処理を検査行列に基づいて行う復号装置であって、
前記検査行列の列又は行のいずれか一方の長さをNとし、
前記Nに対して互いに素である数値をAとしたときに、
前記検査行列の各行又は各列には、以下の条件(1)〜(4)を満たす数列に含まれる各数に対応した列位置又は行位置に非零要素が配置されていることを特徴とする復号装置。
(1)前記数列は、行又は列ごとに異なるものである。
(2)前記数列に含まれる数は、1〜Nの自然数である。
(3)前記数列は公差がAである等差数列である(ただし、当該数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)。
(4)同一の公差Aを持つ複数の等差数列において、1〜Nの自然数それぞれの出現回数は、1回以内である。 - 低密度パリティ検査符号の復号処理を検査行列に基づいて行う復号装置であって、
前記検査行列の列又は行のいずれか一方の長さをNとし、
前記Nに対して互いに素である数値をAとしたときに、
前記検査行列に含まれるP個(Pは2以上の自然数)の行又はP個の列には、以下の条件(5)〜(6)を満たすP個の数列に含まれる各数に対応した列位置又は行位置に非零要素が配置されていることを特徴とする復号装置。
(5)P個の数列は、以下の条件(7)〜(10)を満たす連結数列をP分割したものである。
(6)P個の数列は、前記検査行列に含まれるP個の行又はP個の列に、それぞれ割り当てられている。
(7)前記連結数列は、P個の行又はP個の列に含まれる非零要素の総数に対応した個数の数を有する。
(8)前記連結数列に含まれる数は、1〜Nの自然数である。
(9)前記連結数列において、1〜Nの自然数それぞれの出現回数は、1回以内である。
(10)前記連結数列は、公差がAである等差数列である(ただし、当該連結数列に含まれる任意の数yAと当該数yAに隣り合う数yBとの差がAでない場合があっても、yAと(yB+N)との差がAであれば、yAとyBの差はAであるとみなす)。 - 前記検査行列に含まれるP個の行又はP個の列は、前記検査行列における行又は列の並び順でみて、連続するP個の行又は連続するP個の列であり、
前記条件(6)は、下記の通りである請求項2記載の復号装置。
(6)P個の数列は、前記連結数列におけるP個の前記数列の並び順と、連続するP個の行又は連続するP個の列の並び順と、が一致するように、前記検査行列に含まれるP個の行又は列に、それぞれ割り当てられている。 - 前記検査行列は、同一の公差を持つ複数の前記等差数列からなる数列群を、複数有するように構成され、
それぞれの数列群の公差は、他の数列群とは公差が異なっているとともに、前記Nに対して互いに素である請求項1〜3のいずれか1項に記載の復号装置。 - 前記検査行列は、当該検査行列の列重みに対応した数の前記数列群が存在するように構成されている請求項4記載の復号装置。
- 前記検査行列は、当該検査行列の行重みに対応した数の前記数列群が存在するように構成されている請求項4記載の復号装置。
- 低密度パリティ検査符号の検査行列の列又は行のいずれか一方の長さNと、前記Nに対して互いに素である数値Aと、を用いて、低密度パリティ検査符号の検査行列を生成する方法であって、
検査行列に含まれるP個の行又は列それぞれが有する非零要素の位置を算出する位置算出ステップと、
前記位置算出ステップによって算出された位置に、非零要素を配置する配置ステップと、を含み、
前記位置算出ステップでは、変数xを、初期値x1から(x1+(N−1))まで増加させつつ、(A×x)をNで割ったときの剰余を求める演算を行って、N個の演算結果を取得し、
前記配置ステップでは、N個の演算結果からなる数列を、w個(wは検査行列の行重み又は列重み)の数からなるP個の部分数列に分割し、P個の部分数列に含まれる数を非零要素の列位置又は行位置として、対応するP個の行又は列に非零要素を配置する、
ことを特徴とする検査行列生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007321021A JP4618293B2 (ja) | 2007-12-12 | 2007-12-12 | 復号装置及び検査行列生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007321021A JP4618293B2 (ja) | 2007-12-12 | 2007-12-12 | 復号装置及び検査行列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009147541A JP2009147541A (ja) | 2009-07-02 |
JP4618293B2 true JP4618293B2 (ja) | 2011-01-26 |
Family
ID=40917674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007321021A Expired - Fee Related JP4618293B2 (ja) | 2007-12-12 | 2007-12-12 | 復号装置及び検査行列生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4618293B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5485069B2 (ja) | 2010-08-06 | 2014-05-07 | パナソニック株式会社 | 誤り訂正復号装置及び誤り訂正復号方法 |
CN112558924B (zh) * | 2020-12-11 | 2022-08-26 | 黑龙江大学 | 伪随机二值序列的局部弱随机现象的快速检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001168733A (ja) * | 1999-10-12 | 2001-06-22 | Thomson Csf | Ldpcコードの構築およびコーディングのためのプロセス |
WO2005069492A1 (ja) * | 2004-01-20 | 2005-07-28 | Nec Corporation | 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム |
-
2007
- 2007-12-12 JP JP2007321021A patent/JP4618293B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001168733A (ja) * | 1999-10-12 | 2001-06-22 | Thomson Csf | Ldpcコードの構築およびコーディングのためのプロセス |
WO2005069492A1 (ja) * | 2004-01-20 | 2005-07-28 | Nec Corporation | 検査行列生成方法、データ伝送システム、符号化装置、復号装置および検査行列生成プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2009147541A (ja) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4867980B2 (ja) | 誤り訂正復号装置 | |
JP4672016B2 (ja) | 低密度パリティ検査行列を用いた符号化及び復号化方法 | |
KR101496182B1 (ko) | 최소거리가 확장된 극 부호 생성 방법 및 장치 | |
JP5875713B2 (ja) | 送信機および受信機、並びに符号化率可変方法 | |
EP1798861B1 (en) | LDPC encoding through decoding algorithm | |
KR20090003164A (ko) | 검사 행렬 생성 방법 | |
JP4645645B2 (ja) | 復号装置及び検査行列生成方法 | |
KR102059002B1 (ko) | 무선 통신 시스템에서 ldpc 부호의 패리티 검사 행렬을 기반으로 부호화를 수행하는 방법 및 이를 이용한 단말 | |
JP4618293B2 (ja) | 復号装置及び検査行列生成方法 | |
JP4985843B2 (ja) | 復号装置 | |
JP2009182421A (ja) | 復号化方法及び復号化装置 | |
KR101276845B1 (ko) | 복수의 레이어들을 이용하여 ldpc 복호화를 수행하는방법 | |
JP5385944B2 (ja) | 復号器 | |
JP4645640B2 (ja) | 復号器、受信装置及び符号化データの復号方法 | |
JP4341646B2 (ja) | 復号装置 | |
JP4650485B2 (ja) | 復号装置 | |
JP4766013B2 (ja) | 復号器、受信装置及び符号化データの復号方法 | |
JP4788680B2 (ja) | 復号器 | |
JP4755238B2 (ja) | 復号器 | |
JP5811212B2 (ja) | 誤り訂正復号装置 | |
JP4341643B2 (ja) | 復号装置 | |
JP4973647B2 (ja) | 誤り訂正符号の復号評価装置 | |
KR101435831B1 (ko) | 패리티 검사 행렬 생성 방법 | |
JP2019213217A (ja) | 誤り訂正復号装置 | |
JP2017212758A (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: 20100720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100907 |
|
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: 20100928 |
|
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: 20101011 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4618293 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 |