私は情報理論を勉強していますが、うまくいかないことが1つあります。
線形コードCと生成行列が与えられた場合、MIはCのすべての可能なコードワードを計算できることを私は知っています。
しかし、私は理解していません:
- パリティチェックマトリックスとはhttp://en.wikipedia.org/wiki/Parity-check_matrix
- 生成行列からパリティチェック行列を作成する方法
ポインタをいただければ幸いです。
ありがとう!
私は情報理論を勉強していますが、うまくいかないことが1つあります。
線形コードCと生成行列が与えられた場合、MIはCのすべての可能なコードワードを計算できることを私は知っています。
しかし、私は理解していません:
ポインタをいただければ幸いです。
ありがとう!
あなたのリンクはそれをかなりよく説明していると思いますが、私はさらに単純化しようとします。
xをメッセージ、k要素の行ベクトルとします。Gを生成行列、k行n列のバイナリ行列(n > k )とします。yをn要素で送信されるコードワードとします。ここでy = xGです。zをn要素の受信コード語とします。
うまくいけば、z=yです。ただし、ノイズの多いチャネルを介してyを送信すると、 yが破損する可能性があります(例:z!= y)。
(nk)行n列のパリティ行列Hが、受信したコードワードzに適用され、 zが有効かどうかがチェックされます。ベクトルw=zH'は、 z内の特定の数のビットエラーを検出できます。
In coding theory, a parity-check matrix of a linear block code C is a generator matrix of the dual code.
そのため、コード語cは、行列とベクトルの積である場合にのみCに含まれますHc=0
。
パリティチェック行列の行は、コードのコードワードに対するパリティチェックです。つまり、各コードワードの特定の数字の線形結合がゼロに等しいことを示しています。たとえば、パリティチェックマトリックス
コードワードごとにdigits 1 and 2 should sum to zero
(2行目による)とを指定しdigits 3 and 4 should sum to zero
ます。
LDPCは、パリティチェックマトリックスを使用していると思います。より一般的には、エラー制御/訂正アルゴリズム