Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

cyclpoly

巡回符号の生成多項式の生成

構文

pol = cyclpoly(n,k)
pol = cyclpoly(n,k,opt)

説明

すべての構文に対して、多項式は係数を昇べきの順に含む行として表現されます。

pol = cyclpoly(n,k) は、符号語長 n とメッセージ長 k をもつ巡回符号に対する 1 つの自明でない生成多項式を表す行ベクトルを出力します。

pol = cyclpoly(n,k,opt) は、符号語長 n とメッセージ長 k をもつ巡回符号に対する 1 つ以上の自明でない生成多項式を探索します。出力 pol は、下記の表に示すように、引数 opt により異なります。

optpol の重要性pol の形式
'min'可能な最小重みをもつ 1 つの生成多項式 多項式を表す行ベクトル
'max'可能な最大重みをもつ 1 つの生成多項式 多項式を表す行ベクトル
'all'すべての生成多項式各行が 1 つの多項式を表す行列
正の整数 L 重み L をもつすべての生成多項式 各行が 1 つの多項式を表す行列

バイナリ多項式の重みは、それがもつ非ゼロ項の数です。与えられた条件を満たす生成多項式がない場合は、出力 pol は空で、警告メッセージが表示されます。

すべて折りたたむ

[15,4] 巡回符号の生成多項式を作成します。

入力 'all' を使用して、[15,4] 巡回符号用に考えられるすべての生成多項式を表示します。入力 'max' を使用して、1+x+x2+x3+x5+x7+x8+x11 が、非ゼロ項の数が最大となるような多項式の 1 つであることを示します。

c1 = cyclpoly(15,4,'all')
c1 = 3×12

     1     1     0     0     0     1     1     0     0     0     1     1
     1     0     0     1     1     0     1     0     1     1     1     1
     1     1     1     1     0     1     0     1     1     0     0     1

c2 = cyclpoly(15,4,'max')
c2 = 1×12

     1     1     1     1     0     1     0     1     1     0     0     1

このコマンドは、3 つの非ゼロ項をもつ [15,4] 巡回符号に対する生成多項式がないことを示します。

c3 = cyclpoly(15,4,3)
Warning: No cyclic generator polynomial satisfies the given constraints.
c3 =

     []

アルゴリズム

opt'min''max'、または省略された場合、多項式は 10 進整数を基底 p に変換することによって構築されます。10 進法の順序に基づき、gfprimfd は適切な条件を満たす、最初に見つかった多項式を出力します。このアルゴリズムは、gfprimfd で使用されているものと似ています。

参考

|

トピック

R2006a より前に導入