Main Content

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) のガロア ベクトルになります。

BCH 符号の生成多項式

コードワード長 N、メッセージ長 K の BCH 符号の狭義の生成多項式は LCM[m1(x), m2(x), ..., m2T(x)] になります。ここで、

  • LCM は最小公倍数を表します。

  • mi(x) は、αi に対する最小多項式を表します。α は、体 GF(N + 1) の既定の原始多項式の根です。

  • T は符号の誤り訂正能力を表します。

既定の原始多項式

次の表は、各ガロア体配列 GF(2m) に使用される既定の原始多項式をまとめています。異なる原始多項式を使用するには、入力引数として prim_poly を指定します。prim_poly は [(2m + 1), (2m+1 – 1)] の範囲内で、既約多項式を示さなければなりません。詳細については、原始多項式と元の表現を参照してください。

m の値既定の原始多項式整数表現
1D + 13
2D2 + D + 17
3D3 + D + 111
4D4 + D + 119
5D5 + D2 + 137
6D6 + D + 167
7D7 + D3 + 1137
8D8 + D4 + D3 + D2 + 1285
9D9 + D4 + 1529
10D10 + D3 + 11033
11D11 + D2 + 12053
12D12 + D6 + D4 + D + 14179
13D13 + D4 + D3 + D + 18219
14D14 + D10 + D6 + D + 117475
15D15 + D + 132771
16D16 + D12 + D3 + D + 169643

参照

[1] Peterson, W. Wesley, and E. J. Weldon. Error-correcting Codes.1972.

バージョン履歴

R2006a より前に導入