0

私は現在、Matlabで畳み込み符号に取り組んでいます。このようなコードを説明する1つの方法は、パリティチェック行列Hを使用することです。これは、たとえばR = b / c=2/3コードの場合は次のようになります。

[ 1   D   D^3 ]
[ D^3 D^2 1   ]

この行列を体系的な形式に変換したいと思います。つまり、最初のbxb列は単位行列を形成する必要があります。上記の例では、これは次のようになります。

[ 1   0   ? ]
[ 0   1   ? ]

私の質問は、各エントリが多項式であるこのような行列を、Matlabで最も便利に表現するにはどうすればよいでしょうか。係数ベクトルの行列を考えていましたが、これは扱いにくいようです。現時点では、不必要な複雑さを生み出さずにこの問題に取り組む最善の方法を見つけることはできません。

さらにいくつかの注意:
係数はGF(2)からのものであるため、すべての計算は2を法として、つまり1 + 1 = 0ですが、この質問に答えた後は問題にならないはずです。
このトピックに関する一般的なヒントと落とし穴は高く評価されます:-)

EitanTが回答した質問ですが、多項式の次数にいくつかの制限があります(64ビット精度のため最大64)。

4

1 に答える 1

1

係数はGF(2)に属しているため、各多項式を2進数として表すことができます。ここで、各ビットは対応する累乗を表します。例:D 3 + D 2 = 1100 2 = 12

これによりH、単純な行列として格納し、それを縮小行階段形に変換して体系的な形式を取得するときに、かなり高速な二項演算子(XORなど)を実行できます。

このH例のマトリックスは次のようになります。

H = [1 2 8;
     8 4 1]
于 2012-11-22T18:31:57.533 に答える