【情報理論】生成多項式を用いた生成行列の作成。誤り符号の訂正

問題1

生成多項式G(x)=x4+x2+x+1を示す巡回符号について下記の問いに答えよ。なお、符号長は7とする。

(1)生成行列G(c)を求めよ。
(2)検査行列H(c)を求めよ。
(3)誤り符号[1010010]を受信した。シンドロームsを利用して、これを訂正せよ。

生成行列の作成方法

以前の記事では、検査行列から生成行列を求める方法を説明しました。今回は、巡回符号における生成多項式から求める場合を解説します。

  1. 符号長nに対する生成多項式の次数nkの差、k個分x0 から xk1を順番に乗算する
  2. G(x),xG(x),,xkG(x)を上から順に行列表示する。

まずこれが基本方針です。(1)を実際に解いてみて身につけましょう。

解答例(1)

n=7nk=4より、k=3

よって、x0,x1,x2の次数までG(x)を乗算すればよく

(1){G(x)=x4+x2+x+1xG(x)=x5+x3+x2+xx2G(x)=x6+x4+x3+x2

これを行列表示すると、求める生成行列は

(2)G(c)=(111010001110100011101)

検査行列の求め方

符号毎の行列の算出方法

符号多項式から求めた生成行列も、単位行列と情報・検査ビット関連行列Pに分解できます。

よって、以前の記事で説明したように、Pを介して検査行列を求めることができます。

ただし、下記2点に注意する必要があります。

  1. (1)で求めた生成行列は単位行列成分になっていないので、行基本変形を用いて単位行列成分を掃き出す必要がある。(既約台形正準系変換)
  2. (3)G(c)=[PtI]のように、単位行列成分を右に掃き出す。

線形符号の場合は(4)G=[IP]

と左に単位行列成分がありましたが、今回(巡回符号)は逆です。

同じく、検査行列に関しても線形符号と逆になります。(巡回符号の場合は以下です。)

(5)H(c)=[IPt]

解答例(2)

(2)式を行基本変形する。3行目に1行目を足し

(6)G(c)=(111010001110101101001)

転置も考慮すると、情報・検査ビット関連行列は

(7)P=(101111110011)

(4)式より、求める検査行列は

(8)H(c)=(1000101010011100101100001011)

誤り符号の訂正

これは、線形符号の場合のシンドロームの使い方と同じです。出力符号をyとして

(9)s=yHt

に基づいて計算していけば良いです。誤っている成分の判定方法も同じです。

解答例(3)

(10)s=(1010010)(1000010000100001111001111101)=(1101)

7行目と一致するので、出力符号の7番目が誤り。

正しい符号は、[1 0 1 0 0 1 1]

タイトルとURLをコピーしました