誤り訂正符号の性能を表すには
• 符号長 n (当座固定)
• 符号語数 M := #C (大きいほど良い)
• 最小距離 d (大きいほど良い)
「M −→ 大」と「d−→ 大」とは
相反する要求!!
問題: n, d を固定した時の M の上限は ?
符号語数の評価
問題: n, d を固定した時の M の上限は ?
d : 設計距離
Aq(n, d) := max{M ∃C :q 元 (n, M, d)-符号}
−→ n, d と q:= #T とで評価する
Hamming の球充填上界
(sphere-packing bound) q:= #T のとき、
(n, M,2t+ 1)-符号が存在
=⇒M Ã t
X
k=0
µn k
¶
(q−1)k
!
≤qn
従って、
Aq(n, d) Ã t
X
k=0
µn k
¶
(q−1)k
!
≤qn (t=¥d−1
2
¦)
Gilbert-Varshamov の下界
q:= #T のとき、
Aq(n, d) Ãd−1
X
k=0
µn k
¶
(q−1)k
!
≥qn
即ち、
M Ãd−1
X
k=0
µn k
¶
(q−1)k
!
≤qn
=⇒ (n, M, d)-符号が存在
問題: n, d を固定した時の M の上限は ?
符号語数 M の大きい符号を
組織的に構成するには、
C の元がなるべく“均等に”分布する
のが望ましい
−→ V =Tn の持つ数理構造(対称性)を利用
· · · 線型符号
線型符号
T =Fq : 有限体にとる
V =Fqn : Fq 上の線型空間の構造を持つ (和・スカラ倍がある)
C : V の部分線型空間のとき C : 線型符号(linear code)と呼ぶ
有限体(finite field)
Z/nZ : n で割った余りの等しい整数は同一視
−→ 環の構造を持つ(加減乗が出来る) Z/nZ : 体(四則演算が出来る)
m p : 素数
Fp :=Z/pZ : p 元体
有限体(finite field)
q=pm : 素数冪 (p : 素数) に対して q 個の元から成る有限体が存在
−→ Fq, GF(q) と書く 構成:
f(X)∈Fp[X] : Fp 上の m 次既約多項式 K :=Fp[X]/(f) とすると、
K は体で、 dimFpK =m −→ #K =q
有限体上の線型空間
有限体 Fq 上でも、R や C 上と同様に、
線型代数が出来る(基底・次元・などなど) T =Fq : 有限体
V =Fqn : Fq 上の線型空間の構造を持つ C ⊂V : 部分線型空間となるものを考える
• 0∈ C
• x,y ∈ C =⇒x+y∈ C
• x∈ C, a∈Fq =⇒ax∈ C
線型符号(再掲)
T =Fq : 有限体にとる
V =Fqn : Fq 上の線型空間の構造を持つ
C : V の部分線型空間のとき C : 線型符号(linear code)と呼ぶ
線型符号の不変量 符号語長 n= dimFqV
k := dimFqC : C の Fq 上の次元
符号語数 M = #C =qk −→ [n, k]-符号
w(x) := #{i xi 6= 0} : x∈V の重み(weight) d(x,y) =w(y−x)
最小距離 d=d(C) = min{w(x) x∈ C,x6= 0}
−→ [n, k, d]-符号
Hamming 距離(再掲)
V =Tn 上に次で定まる距離
d:V ×V −→R
を V 上の Hamming 距離(distance)と呼ぶ :
x= (x1, . . . , xn),y= (y1, . . . , yn)∈V に対し、
d(x,y) := #{i xi 6=yi}
線型符号の不変量
• 符号長 n= dimFqV (当座固定)
• 情報長 k= dimFqC (大きいほど良い)
• 最小距離 d (大きいほど良い) R:= k
n : 伝送レート
δ:= d
n : 相対最小距離
−→ R, δ : 共に大きくしたい (相反する要求)
線型符号の例
• 多数決符号(反復符号)
• パリティ検査符号(誤り検出のみ)
• Hamming 符号
多数決符号(反復符号, repetition code) n= 2t+ 1, V =Fqn
1 つの文字を n 回繰返して送信 C ={(x, x, . . . , x) x∈Fq} ⊂V v = (1,1, . . . ,1) とすれば、C =Fqv
• 符号長 n= dimFqV
• 情報長 k= dimFqC = 1
• 最小距離 d=n (t 個までの誤りを訂正可)
パリティ検査符号(parity-check code)
V =Fqn
C = (
x= (x1, x2, . . . , xn) Xn
i=1
xi = 0 )
⊂V
• 符号長 n= dimFqV
• 情報長 k= dimFqC =n−1
• 最小距離 d= 2
(誤り検出のみで訂正能力なし)
拡大符号(extended code)
V =Fqn
C : [n, k, d]-符号 ⊂V に対して C :=
(x1, . . . , xn, xn+1)
(x1, . . . , xn)∈ C Xn+1
i=1
xi = 0
: C の拡大符号 ⊂Fqn+1
C : [n+ 1, k, d]-符号