メインコンテンツ

bchgenpoly

BCH 符号の生成多項式の生成

説明

genpoly = bchgenpoly(N,K) は、BCH 符号の狭義の生成多項式を返します。このコードのコードワード長は N、メッセージ長は K です。詳細については、BCH 符号の生成多項式を参照してください。

genpoly = bchgenpoly(N,K,prim_poly) は、原始多項式も指定します。

genpoly = bchgenpoly(N,K,prim_poly,outputFormat) は、さらに genpoly の出力形式をガロア体配列または倍精度配列として指定します。

[genpoly,T] = bchgenpoly(___) は、前述の構文のいずれかを使用する場合に、コードの誤り訂正能力 T も返します。

すべて折りたたむ

異なる原始多項式に基づいて 2 つの BCH 生成多項式を作成します。

コードワード n とメッセージの長さ k を設定します。

n = 15;
k = 11;

生成多項式を作成し、誤り訂正能力 t を返します。

[genpoly,t] = bchgenpoly(15,11)
 
genpoly = GF(2) array. 
 
Array elements = 
 
   1   0   0   1   1
t = 
1

文字ベクトルで表される異なった原始多項式を使用して、(15,11) BCH 符号の生成多項式を作成します。genpoly2 は、既定の原始多項式を使用する genpoly とは異なることに注意してください。

genpoly2 = bchgenpoly(15,11,'D^4 + D^3 + 1')
 
genpoly2 = GF(2) array. 
 
Array elements = 
 
   1   1   0   0   1

入力引数

すべて折りたたむ

コードワード長。N = 2M – 1 の形式の整数として指定します。ここで、M は範囲 [3, 16] の整数です。詳細については、制限を参照してください。

例: M=4 の場合は 15

メッセージ長。整数として指定します。N および K は、狭義の BCH 符号を生成しなければなりません。有効な (N,K) ペアと誤り訂正能力の対応する値の一覧を生成するには、bchnumerr(N) を実行します。詳細については、制限を参照してください。

例: 5 は 5 つの要素をもつガロア配列を指定します。

原始多項式。次のように指定します。

  • 多項式の文字ベクトルまたは string スカラー。係数をリストして多項式を表します。詳細については、Communications Toolbox での多項式の表現を参照してください。

  • 正の整数。原始多項式の係数をバイナリ表現で示します。詳細については、既定の原始多項式を参照してください。

例: 'D^4+D+1' は、原始多項式 D4+D+1 を指定します。

例: 19 は、バイナリ表現が 10011 のため、原始多項式 D4+D+1 を指定します。

genpoly の出力形式。以下で指定します。

  • 'gf' — ガロア体配列を出力。

  • 'double' — ガロア体の値の倍精度配列を出力。

詳細については、ガロア体の取り扱いを参照してください。

出力引数

すべて折りたたむ

生成多項式の係数。降べきの順に並べた [N,K] BCH 符号の狭義の生成多項式の係数を表す行ベクトルとして返されます。出力データ型は、outputFormat プロパティで指定します。

データ型: gf | double

誤り訂正能力。正の整数として返されます。

制限

  • 有効値は N = 2M – 1 です。ここで、M は範囲 [3, 16] の整数です。N の最大許容値は 216 – 1 = 65,535 です。

  • 有効値は K = [1, (N – 1)] です。

アルゴリズム

すべて折りたたむ

Bose–Chaudhuri–Hocquenghem (BCH) 符号化については、[1]を参照してください。bchgenpoly は GF(N + 1) で中間の計算を実行しますが、出力形式は GF(2) のガロア ベクトルになります。

参照

[1] Peterson, W. Wesley, and E. J. Weldon. Error-Correcting Codes. 2d ed. MIT Press, 1972.

バージョン履歴

R2006a より前に導入