SSブログ

Reed-Solomon符号の符号化と復号法 特集CD-ROM(6)(月刊ASCII 1986年6月号11) [月刊アスキー廃棄(スクラップ)]

特集記事「CD-ROM 徹底研究 CD-ROMのすべて 第3回 デジタル信号処理」をスクラップして読み返す。難しい数式が出てきて手ごわい記事だ。理解できなくても良しとする。
Reed-Solomon符号の符号化と復号法
 CIRCは、最小距離*2 5のReed-Solomon符号*12系列(C1,C2)で構成される.
 Reed-Solomon符号の符号化と復号法は次のように行う。ただし,演算はGF(28)で定義されており α8 + α4 + α3 + α2 + 1 = 0 かつすべての計算はGF(28)の有限体演算*3である.
{ p+ q+ r+ s= i=4 n-1 W i α3p+ α2q+ 2r+ s= i=4 n-1 αi W i α6p+ α4q+ α2r+ s= i=4 n-1 α2i W i α9p+ α6q+ α3r+ s= i=4 n-1 α3i W i
となり,この4元連立方程式を解くと,p,q,r,sが求まる.
[ p q r s ] = [ α212 α153 α152 α209 α156 α2 α135 α152 α158 α138 α2 α153 α218 α158 α156 α212 ] [ i=4 n-1 W i i=4 n-1 W i i=4 n-1 W i i=4 n-1 W i ]
ただし ( C1 · · · ·  n=32 C2 · · · ·  n=28
このようにパリティを作ると当然次式が成立する。
i=0 n-1 W i = i=0 n-1 αi W i = i=0 n-1 α2i W i = i=0 n-1 α3i W i =0
復号は次のように行う.まずシンドローム*4を生成する。
S0 = i=0 n-1 W i ^ S1 = i=0 n-1 αi W i ^ S2 = i=0 n-1 α2i W i ^ S3 = i=0 n-1 α3i W i ^
ここで, C1 · · · ·  n=32 , C2 · · · ·  n=28 , W i ^ :受信データで2シンボルエラーを想定すると,シンドロームは次のよう になる.ただし,2シンボルエラーをei,ej,とする.
S0 = ei + ej S1 = αi ei + αj ej S2 = α2i ei + α2j ej S3 = α3i ei + α3j ej
C1の時 0i , j31 C2の時 0i , j27
上式より,
αi S0 + S1 = ( αi + αj ) ej αi S1 + S2 = αj ( αi + αj ) ej αi S2 + S3 = α2j ( αi + αj ) ej
∴  ( αi S0 + S1 ) ( αi S2 + S3 ) = ( αi S1 + S2 ) 2
展開すると次のようなエラーロケーション方程式が得られる.
( S0 S2 + S1 2 ) α 2i + ( S1 S2 + S0 S3 ) α i + ( S1 S2 + S2 2 ) =0
ここで
S0 S2 + S1 2 = A S1 S2 + S0 S3 = B S1 S3 + S2 2 = C
とおくと,次のような方法により2シンボルエラー訂正ができる.まず,エラーの大きさを判定する.
(i) n0エラー
S0=0 , S3=0 , A=B=C=0
(ii) 1シンボルエラー
S0≠0 , S3≠0 , A=B=C=0
(iii) 2シンボルエラー
A≠0, B≠0, C=0
訂正手続きは次のように行う.
(i) 1シンボルエラーエラー訂正
αi = S1 S0 , ei = S0
ここで, i=logαi , αi = log -1i と表すと,1シンボルエラーのロケーション: i は,
αi = S1 S0 より , i= log ( S1 S0 )
エラーデータeiは,
ei=S0
訂正は,
W i ^ = W i ^ + S0
とすればよい。

(ii) 2シンボルエラー訂正
この時のエラーロケーション方程式は,
A α 2k + B α k + C =0
ここで,B/A=D,C/A=Eとおくと,
D = α i + α j , E = α i · α j (ロケーション i, j
であり,
α 2k + D α k + E =0
 すなわち αi , αj は2次方式の根になっている.
 今, j=i+a j>ia>0 とすると、
D = α i ( 1 + α a ) , E = α 2 i + a
この時,
D2 E = ( 1+ α a ) 2 · α 2i ( α a · α 2 i ) = α -a + α a
となる。そこで,
X=1+ αa
とすると,8 in 8 outのPLAで“ D2 E X ( a=231 ) "を構成できる.さらに,
Y= D2 E + X= 1+ α-a
とおくと,
αi = DX , αj = DY
i=log ( DX ) , j=log ( DY )
よって,エラーデータ, ei , ej
ei = ( αj S0 + S1 ) D = S0 Y + S1 D
ej = ( αi S0 + S1 ) D = S0 X + S1 D
訂正は,
W i = W i ^ + ei , W j = W j ^ + ej
とすればよい.
 以上は、2シンボルエラー訂正の方法であるが,CIRCに使言われているReed-Solomon符号は、最小距離が5の符号であるから,エラーロケーションが分かれば4シンボルまで訂正できる.
 今,エラーロケーションを,
i,j,k,l
とすると
S0 = ei + ej + ek + el S1 = αi ei + αj ej + αk ek + αl el S2 = α2i ei + α2j ej + α2k ek + α2l el S3 = α3i ei + α3j ej + α3j ek + α3j el
上式を変形すると,
ei = S0 + ( α-j + α-k + α-l ) S1 + ( α-j-k + α-k-l + α-l-j ) S2 + α-j-k-l S3 ( 1 + αi-j ) ( 1 + αi-k ) ( 1 + αi-l )
ej = S0 + ( α-k + α-l + α-i ) S1 + ( α-k-l + α-l-i + α-i-k ) S2 + α-k-l-i S3 ( 1 + αj-i ) ( 1 + αj-k ) ( 1 + αj-l )
ek = S0 + ( α-l + α-i + α-j ) S1 + ( α-l-i + α-i-j + α-j-l ) S2 + α-l-i-j S3 ( 1 + αk-i ) ( 1 + αk-j ) ( 1 + αk-l )
el = S0 + ( α-i + α-j + α-k ) S1 + ( α-i-j + α-j-k + α-k-i ) S2 + α-i-j-k S3 ( 1 + αl-i ) ( 1 + αl-i ) ( 1 + αl-k )
となり、エラーデータが求められるから、訂正は,
{ W i = W i ^ + ei W j = W j ^ + ej W k = W k ^ + ek W l = W l ^ + el
とすればよい

数学は苦手で工学方面への進めなかった。このような数式で物事を考えることができる人たちを尊敬している。よく聞く学校での勉強は役に立たないという言はできない者の悔し紛れの捨て台詞だと思っている。
理解できなくとも数式が美しいということは感じられる。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。