bchgenpoly
BCH 符号の生成多項式
構文
genpoly = bchgenpoly(n,k)
genpoly = bchgenpoly(n,k,prim_poly)
genpoly = bchgenpoly(n,k,prim_poly,outputFormat)
[genpoly,t] = bchgenpoly(...)
説明
genpoly = bchgenpoly(n,k)
は、BCH 符号の狭義の生成多項式を返します。このコードの符号語長は n
、メッセージ長は k
です。符号語長 n
は、3 から 16 までのある整数 m に対し 2m-1 の形式でなければなりません。出力 genpoly
は生成多項式の係数を降べきの順に並べたガロア行ベクトルです。狭義の生成多項式は LCM[m_1(x), m_2(x), ..., m_2t(x)] です。ここで各項は以下のとおりです。
LCM は最小公倍数を表します。
m_i(x) は αi に対する最小多項式を表します。α は体 GF(
n+1
) の既定の原始多項式の根です。t は符号の誤り訂正能力を表します。
メモ
関数 bchgenpoly
は、GF(n+1
) の中間計算を行いますが、最終多項式はバイナリ係数をもちます。bchgenpoly
からの出力は、GF(n+1
) ではなく GF(2) のガロア ベクトルです。
genpoly = bchgenpoly(n,k,prim_poly)
は、上記構文と基本的に同じですが、prim_poly
が Alpha を根としてもつ GF(n+1
) の原始多項式を指定する点が異なります。prim_poly
は、多項式の文字ベクトルまたはバイナリ表現が原始多項式の係数を降べきの順に並べた整数のいずれかです。GF(n+1
) の既定の原始多項式を使用するには、prim_poly
を []
に設定します。
genpoly = bchgenpoly(n,k,prim_poly,outputFormat)
は前の構文と基本的に同じですが、outputFormat
が出力データ型を指定する点が異なります。outputFormat
のとり得る値は 'gf
' または 'double
' で、それぞれガロア体と double データ型に対応しています。outputFormat
の既定の値は 'gf
' です。
[genpoly,t] = bchgenpoly(...)
は、コードの誤り訂正能力である t
を返します。
例
制限
n
の最大許容値は 65535 です。
参考文献
[1] Peterson, W. Wesley, and E. J. Weldon, Jr., Error-Correcting Codes, 2nd ed., Cambridge, MA, MIT Press, 1972.
拡張機能
バージョン履歴
R2006a より前に導入