ldpc符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/de_日本人... · low...

58
LDPC符号と Belief propagationに基づく復号法 岡山県立大学 情報工学部 和田山 正

Upload: volien

Post on 07-Mar-2018

299 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPC符号とBelief propagationに基づく復号法

岡山県立大学 情報工学部

和田山正

Page 2: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

本講演の概要

• 低密度パリティ検査符号とその復号法– LDPC符号の定義– sum-product復号法の概要

• 密度発展法とイレギュラーLDPC符号– 密度発展法の考え方– イレギュラーLDPC符号

• StructuredイレギュラーLDPC符号– irregular repeat accumulate符号

Page 3: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

Part I 低密度パリティ検査符号とその復号法Low density parity check code (LDPC符号)

Page 4: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPC符号の特徴

• 優れた復号特性– Shannon限界に迫る性能(イレギュラー) 

• 例えば、Shannon限界から0.3dBという実験結果(Irregular LDPC 符号、符号長100万)

– 密度発展法による詳細な解析・設計が可能– ブロック誤り率特性がよい(レギュラー)

• 最小距離が符号長に比例(確率的)

• 線形時間復号 • 並列実装に適している

Page 5: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPC符号:実用化への検討

• 符号長・符号化率によってはターボ符号よりも誤り率特性が良い

• LDPC符号のメリット– 復号性能– スループット– (基本特許)パテントフリー

• 実用化を向けた検討・実装も始まっている– ストレージ– WLAN– 4G– 衛星放送

Page 6: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

疎なグラフで定義される符号+反復復号法を支える2本柱

• ランダムに作った長い符号は良い符号– Shannonの通信路符号化定理– 今まで“Shannonの通信路符号化定理は構成的でない”といわれ続けてきた→復号に指数時間かかる

• Belief propagation=Sum-product復号法– グラフ上でメッセージをやり取りする分散アルゴリズム– 可観測変数の観測値に基づき、隠れ変数の事後確率分布を計算するアルゴリズム

Page 7: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPC符号の歴史(I)

• Gallagerによる発明– LDPC符号の定義– 符号アンサンブルに基づく最尤復号特性解析

– Sum-productアルゴリズム• しかし、LDPC符号は長い間忘れられていた

1962 IRE Trans.on Inf.

計算機資源が高価だった 

BCH符号, Reed-Solomon符号、畳み込み符号、連接符号の登場

Page 8: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPC符号の歴史(II)

• Tanner: グラフ上で定義される符号(1981) • Berrou et al. : Turbo符号(ICC,1993)

– Turbo 復号法 (iterative decoding)• MacKay : LDPC符号の再発見

– 広範囲にわたるシミュレーション– Proof of “LDPC codes are very good.”

(IT Trans. 1999)• Richardson,Urbanke:イレギュラーLDPC符号と

iterative threshold (1998)

Page 9: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPC符号とは?

• 線形符号である• 疎な2部グラフにより定義される • 2つのクラス

– レギュラーLDPC符号:正則2部グラフ– イレギュラーLDPC符号:非正則2部グラフ   

Page 10: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

2部グラフ

ノード

エッジ(辺、枝)

ノードに接続するエッジの本数をそのノードの次数と呼ぶ

次数3

変数ノード

チェックノード

Page 11: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

2部グラフにより定義される2元線形符号

• 変数ノードは符号語の各シンボルに対応• チェックノードはシンボル間のパリティ検査条件に対応

m1=1 m2=1 m3=0 m4=0 m5=1 m6=0

m1+m2+m2=0 m3+m4=0 m4+m5+m6=0

Page 12: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

2部グラフとパリティ検査行列

1 1 1 0 0 0

0 0 1 1 0 0

0 0 0 1 1 1

H =

チェックノード

変数ノード2部グラフの接続行列→符号の検査行列

検査行列の

列が変数ノード

行がチェックノード

に対応

})(:){( 021221 =∈= tn

nn cccHFcccC KK

Page 13: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

レギュラーLDPC符号

• 正則2部グラフ(次数が各グループ内で等しい)に対応

• 各列、各行の重み(wc,wr)が一定

• 符号長をNとするとき、 wc << N

j = 3

k = 6 1… 1 … 1 …1… 1… 1 1

1……H = r

R = 1/2

Page 14: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

ソケットモデルによるレギュラー2部グラフの構成

ランダムにソケット間を接続する

(wc,wr)=(3,4)

ソケット

Page 15: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

タナーグラフ内のショートループ

・sum-product復号法がうまく動くためには、タナーグラフが短いループを持たないことが望ましい

Page 16: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

レギュラーLDPC符号のビット誤り率特性

(3,6)レギュラーLDPC符号

比較:(255,223)Reed-Solomon符号と拘束長10、符号化率1/2の畳み込み符号の連接符号でビット誤り率10-5を

達成するためには2.1dBのSN比が必要

Page 17: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

符号化・復号の流れ

)( kmmm L21

通信路)()(

n

k

cccGmmm

L

L

21

21

=

符号化器変調器

復調器sum-product復号法)ˆˆˆ( kmmm L21

メッセージ

推定結果 反復復号法

Page 18: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

通信路モデル

ChannelP(y|x)

Cx∈

Encoder observationp(x|y)

y

)( ni xxxxx KK21=

)()()|()|(

yPxPxyPyxP

ixCx

i ∑=∈

==

0

0

)()()|()|(

yPxPxyPyxP

ixCx

i ∑=∈

==

1

1

復号ルール

Page 19: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

加法的白色ガウス通信路

• バイナリバイポーラ変換(0 →+1, 1 → -1)

• yi : 受信シンボル• xi: 送信シンボル• ni:平均0、分散σ2の白色ガウス雑音

iii nxy +=

Page 20: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

sum-product復号法=メッセージ伝達アルゴリズム

事前値外部値

mnβmnα

5λ4λ3λ2λ1λ対数尤度比

Belief propagation として知られているアルゴリズムと等価

・sum-product復号法

・turbo復号法

Page 21: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

準備

• H = {Hmn} LDPC符号の検査行列• A(m):Hの第m行目の1が立ってる列番号• B(n): Hの第n行目の1が立ってる行番号

1 2 3 4 5 6

X Y Z

},{)(},,,{)( YXBXA == 3321

Page 22: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

sum-product復号法(I)

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛= ∑∏

∈∈ nmAnmn

nmAnmnmn ff

\)(''

\)('' |)(|)sign( ββα

11

−+

=)exp()exp(ln)(

xxxf

n

mmnα

)(mA

nmnBm

nmmn λαβ += ∑∈ \)('

'

n

m

nm 'αmnβ

)(nB

mnβ

)|()|(ln

10

==

=nn

nnn xyP

xyPλ

22σ

λ nn

y= (AWGN)

チェックノード処理

変数ノード処理

Page 23: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

sum-product復号法(II)

[ビット推定値の計算]

∑∈

+=)('

'nBm

nmnnQ αλ

⎩⎨⎧

−==

=11

10

n

nn Q

Qc

sign,sign,ˆ

Qnは、対数事後確率比

Page 24: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

復号法の実例

(4.39, 1.69, 1.71, 1.71, 2.08, 2.70)真値に収束

3回目

(3.95, 0.27, 1.71, 1.71, 1.53, 2.23)2回目

(4.05, 0.58, 0.24, 1.06, 1.60, 2.29)対数事後確率比:1回目

(4.39, 1.69, 1.71, 1.71, 2.08, 2.70)対数事後確率比(真値)

(1.62, 0.26, -0.032, -0.128, 0.746, 1.00)AWGN通信路(σ2=0.79)

受信値

通信路

Page 25: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

復号のデモンストレーション

Page 26: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

sum-product復号法はMAP復号か?

• タナーグラフにループが含まれない場合、正確なMAP判定を与える。

• ループが含まれる場合は、sum-product復号法=近似MAP復号アルゴリズム– 必ずしも正しい事後確率が計算できるわけではない

– グラフが疎な場合には、比較的良い近似計算が可能

Page 27: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

ターボ復号法

BCJRアルゴリズム符号1

BCJRアルゴリズム符号2

インタリーバインタリーバ

外部値

(extrinsic)

事前値

(prior)外部値

(extrinsic)

事前値

(prior)

Page 28: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

LDPCC&sum-product復号法

BCJRアルゴリズムチェックノード1

BCJRアルゴリズムチェックノード2

インタリーバ

BCJRアルゴリズムチェックノードM

外部値

事前値計算変数ノード1

事前値計算変数ノードN

多数のシングルパリティチェック符号の組み合わせ

事前値

Page 29: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

BCJRアルゴリズムとチェックノード処理の等価性

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛= ∑∏

∈∈ nmAnmn

nmAnmnmn ff

\)(''

\)('' |)(|)sign( ββα

チェックノード処理

11

−+

=)exp()exp(ln)(

xxxf

前向き

計算

後ろ向き

計算

シングルパリティチェック符号のトレリス

Page 30: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

Belief propagation の原理

),,,,,( NN yyxxP KK 11

通信システムの結合確率分布

観測値から隠れ変数の確率分布を計算

結合分布の分解→メッセージパッシングに基づく効率のよい計算

∑ ===以外の変数1

1111x

NNN yyyyxxPyxP )',,',,,()'|( KK

Page 31: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

ベイジアンネットワーク

A

B D

C E

)(AP)|( ABP )|( ADP

)|( DCP

)|( DEP

)|()|()|()|()(),,,,(

DEPDCPADPABPAPEDCBAP

=

結合分布

確率変数間の依存関係を非巡回有向グラフで表現

Page 32: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

マージナライゼーション

)'()',()'|(

cCPcCAPcCAP

==

==

A

B D

C Ec’=

∑ ===EDB

EDcCBAPcCAP,,

),,',,()',(

Page 33: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

分配則の利用

∑==

EDBDEPDCPADPABPAP

cCAP

,,)|()|()|()|()(

)',(

})|()|'()|({)|()()',(

∑ ∑∑ ==

=

B EDDEPDcCPADPABPAP

cCAP

A

B D

C Ec’=

より少ない算術計算数で計算可能

Page 34: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

• sum-productアルゴリズムの1ラウンドの計算量はタナーグラフ内の辺の数に比例

• タナーグラフの辺の数• LDPC符号:辺の数はO(n)

– 例えばj=3,k=6の場合、辺の数=3n• 最大繰返し数を定めればO(n)

sum-product復号法の復号計算量

Page 35: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

sum-product復号法の特徴

• 繰返し回数の上限を定めれば、符号長に対して線形時間で復号処理が可能(シリアル実装)

• 並列処理に向いており、非常に並列度の高い実装が可能(パラレル実装)

• ビット当たりの計算量では、ターボ符号よりも少ない計算量で復号できる

• 繰返しループをアンロールすれば、パイプライン処理に向いている

Page 36: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

対数領域sum-product復号法のブロック図

レジスタ

加算器

f関数

乗算器

閾値素子

Page 37: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

Part II 密度発展法とイレギュラーLDPC符号

Page 38: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

ウォーターフォール領域での性能解析

SN比

ビット誤り率

密度発展法

・どのSN比で急峻に落ちるのか?(スレッショルド)

・反復回数とビット誤り率の関係

メッセージの確率密度関数の変化を捉える

Page 39: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

sum-product復号器の構成

変数ノード処理

チェックノード処理

外部値

事前値

外部値

事前値

通信路 LLR

通信路LLRは確率変数なので、外部値も確率変数となる。

22σ

λ nn

y=

Page 40: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

n

m

nm 'α

n

mmnα

mnβmnβ

チェックノード処理変数ノード処理

密度発展法によるメッセージ確率密度関数の計算

nmnBm

nmmn λαβ += ∑∈ \)('

'

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛= ∑∏

∈∈ nmAnmn

nmAnmnmn ff

\)(''

\)('' |)(|)sign( ββα

Page 41: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

(3,6)-レギュラーアンサンブル

AWGN通信路

8.0=σ

βの確率密度関数

αの確率密度関数

Page 42: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

反復閾値

(3,6)-レギュラーアンサンブル

AWGN通信路

88089.0=thσ

反復回数→∞とするときにビット誤り率が0に収束する通信路パラメータ(標準偏差)の上限値(supremum)

Page 43: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

βの確率密度関数

(message)

(3,6)-レギュラーアンサンブル

AWGN通信路

8.0=σ

9.0=σ88089.0=thσ

反復閾値の前後で分布の発展の様相は大きく異なる

Page 44: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

イレギュラーLPDC符号

• 各列、各行の重みが一定でないLDPC符号をイレギュラーLDPC符号と呼ぶ。

• 変数ノード次数分布、チェックノード次数分布を最適化することによりレギュラーLDPC符号よりも優れた復号ビット誤り率特性が得られる

• Richardson & Urbanke– 密度発展法– 反復閾値に基づく最適化

Page 45: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

ソケットモデルによるイレギュラー2部グラフの構成

ランダムにソケット間を接続する

次数2       

次数3       

次数4       

Page 46: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

イレギュラー符号の次数プロファイル

枝の総本数

接続する枝数のメッセージノードに次数ii =λ

枝の総本数

続する枝数のチェックノードに接次数ii =ρ

Page 47: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

反復閾値の比較

0.42dB

0.91dB

シャノン限界とのギャップ

σ=0.93171

σ=0.88089

反復閾値

λ2=0.355773λ3=0.299914λ6=0.264094λ6=0.080219ρ6=1.0

λ3=1.0ρ6=1.0

次数プロファイル

1/2レギュラ

ー符号

1/2

符号化率

イレギュラー符号

Page 48: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

密度発展法に基づく次数分布の最適化

• 目的関数:反復閾値• 比較的良い次数分布からスタートして山登り法を利用– 次数分布に微少な変化を与え、望ましい変化が起こった方向に進む

– ボトルネックとなっている部分に着目• 他の非線形最適化手法の適用例も

– differential evolution

Page 49: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

符号長が有限の場合

密度発展法により復号器の振る舞いを完全に把握することは困難→適用範囲に注意が必要

Page 50: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

Part III StructuredイレギュラーLDPC符号

Page 51: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

Structured Irregular LDPC符号• 構造を持つイレギュラーLDPC符号

– 符号化の容易化– エラーフロアの改善– グラフ内枝数 v.s. 反復閾値トレードオフ向上– 反復収束特性の改善

• 符号の例– Irregular Repeat Accumulate(IRA)符号

(Jin,Khandekar,McEliece)– Concatenated Tree(CT)符号(Ping, Wu)– Detailedly represented type LDPC符号(Kasai et al.)– Multi edge-type LDPC符号(Richardson,Urbanke)

Page 52: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

IRA符号の構成

枝置換

Parity nodes

Check nodes(mod2 sum=0)

Information nodes

通信路に送出通信路に送出

Page 53: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

IRA符号の特徴

• 符号化が線形時間で可能– 組織符号

• 次数分布を最適化すれば、イレギュラーLDPC符号と遜色のないBER性能を発揮

• 次数2のノード数を制限することによりエラーフロアの改善

• 密度発展法による解析

Page 54: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

1

0

1

information bits

mod 2 addition step

1

0

1

1

1

0

accumulate step

1

0

1

1

1

0

1

1

0

1

1

1

0

1

1

0

1

1

1

0

1

0

0

0

IRA符号の符号化プロセス例

Page 55: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

長さ4のループ

• 2つの次数2の変数ノードを含む長さ4のループは、エラーフロアの原因となる

(.....00001000000000010.....) 重み2の符号語

検査行列

列重み2 列重み2

Page 56: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

パリティノードにおけるジグザグ構造

• 次数2のノードについてはBPに悪影響を及ぼす長さ4のループを含まない

• 重み2の符号語を生み出さない(エラーフロアの改善)

• accumulationによる検査ビットの容易な生成

Check nodes(mod2 sum=0)

Parity nodes

Page 57: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

multi-edge type LDPC符号• Richardsonによる• 少ない総枝本数で高い反復閾値を実現• エッジがいくつかのエッジタイプで分類• ノードタイプごとに接続するエッジタイプが決まっている

accumulator Permutation box

edge type 1edge type 2RA符号

Page 58: LDPC符号と - read.pudn.comread.pudn.com/downloads90/sourcecode/mpi/344255/DE_日本人... · Low density parity check code (LDPC符号) LDPC ... BCH符号, Reed-Solomon

本講演のまとめ• 本講演では、LDPC符号とその復号法について

– その特徴– 原理– 最近の研究動向

を述べた

• 今後の研究課題– 符号長が数百から数千のオーダで優れた符号を自由に作れるようになりたい

– BPを超える復号法はあるか?– 記憶のある通信路(バースト通信路、PR通信路、ISI通信路など)への拡張

– etc...