ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Binary-Output RS Decoder

バイナリ ベクトル データを復元するためにリード・ソロモン コードをデコードする

ライブラリ

Error Detection and Correction の Block サブライブラリ

説明

Binary-Output RS Decoder ブロックは、バイナリ リード・ソロモン符号語ベクトルからバイナリ メッセージ ベクトルを復元します。適切にデコードするには、このブロックのパラメーター値が対応する Binary-Input RS Encoder ブロックのパラメーターと一致しなければなりません。

リード・ソロモン コードは、メッセージ長が K で符号語長が (N - パンクチャの数) です。N と K の両方をこのダイアログ ボックスで直接指定します。コードのシンボルは、長さ M の2 進シーケンスで、ガロア体 GF(2M) の要素に対応します。ここで、各シーケンスの 1 番目のビットは最上位ビットです。M と N に関する制限事項については、M および符号語長 N に関する制限事項を参照してください。差 N-K は偶数の整数でなければなりません。

N と K が正しく指定されている場合、このブロックは、短縮された符号語を出力する可能性があります。長さ S で短縮される出力符号語を指定するには、N および K をダイアログ ボックスで Nfull – S および Kfull – S に指定しなければなりません。ここで Nfull と Kfull は短縮されていないコードの N と K です。 の場合、エンコーダーが NNfull と KKfull の値を自動的に決めます。ただし、 の場合は、コードの拡大体を正しく定義するためには、[原始多項式] が指定されなければなりません。

入力と出力は、それぞれ符号語とメッセージを表すバイナリ値の信号です。このブロックは、M * (N - パンクチャの数) の整数倍の長さをもつ列ベクトル入力信号を受け入れます。このブロックは、M*K の同じ整数倍の長さの列ベクトルを出力します。出力信号のデータ型は、入力信号から継承されます。各ブロックの端子でサポートされるデータ型については、このページのサポートされているデータ型の表を参照してください。

リード・ソロモン コードのデータ表示の詳細は、『Communications System Toolbox™ ユーザー ガイド』の「整数形式 (リード・ソロモンのみ)」を参照してください。

デコーダーがフレームごとに複数の符号語を処理する場合は、同じパンクチャ パターンがすべての符号語に適用されます。

M の既定値は ceil(log2(N+1))、つまり、log2(N+1) 以上の最小の整数です。下の原始多項式の指定で説明するように、GF(2M)の原始多項式を指定して、M の値を変更できます。N が 2M-1 より小さい場合、ブロックは、短縮リード・ソロモン コードを使用します。

生成多項式の指定で説明したように、リード・ソロモン コードに生成多項式を指定することもできます。

各 M*K 入力ビットは 0 と 2M-1の間の K 整数を表します。同様に、各 M*(N - パンクチャの数) 出力ビットは 0 と 2M-1 の間の N 整数を表します。これらの整数はまた、ガロア体 GF(2M) の要素を表します。

2 番目の出力は、符号語のデコード中に検出された誤りの数のベクトルです。A -1 は、コーディングのスキームを使用して訂正できる以上のエラーが検出されたことを意味します。(N,K) リード・ソロモン コードは、各符号語で floor((N-K)/2) までのシンボル誤り (ビット誤り"ではない")を訂正します。

[Output port for number of corrected errors] をオフにすることで、2 番目の出力を無効にすることができます。これによりブロックの 2 番目の出力端子が削除されます。

パンクチャド コード

このブロックは、[Punctured code] パラメーターを選択した場合に、パンクチャをサポートします。この選択により [Puncture vector] パラメーターが有効になり、パンクチャ パターンを指定する 2 値ベクトルが取り込まれます。パンクチャ ベクトルでは 1 は、データ シンボルが無変更で通過することを示し、0 は、データ シンボルがデータ ストリームからパンクチャされる、あるいは削除されることを示します。この規則はエンコーダーとデコーダーの両方に適用されます。詳細は、「短縮、パンクチャ、および消去」を参照してください。

    メモ:   10 はパンクチャ ベクトルと消去ベクトルでは正反対の意味になります。消去ベクトルの場合、1 はデータ シンボルが消去シンボルに置き換えられることを意味し、0 はデータ シンボルが変更されずに渡されることを意味します。この規則はエンコーダーとデコーダーの両方に適用されます。

ダイアログ ボックス

Codeword length N

符号語長。入力はベクトル長 NC*M*(N - NP) で、NC は出力される符号語の数、NP は 1 符号語あたりのパンクチャの数です。

Message length K

メッセージ長。1 番目の出力はベクトル長 NM*M*K で、NM は出力されるフレームあたりのメッセージの数です。

Specify primitive polynomial

このチェック ボックスをオンにすると [Primitive polynomial] フィールドが有効になります。

Primitive polynomial

原始多項式を降べきの順に表示するバイナリ行ベクトルです。原始多項式を指定する場合、入力ビットの数は、原始多項式の次数に K の整数倍を乗算した整数でなければなりません。

このパラメーターは、[Specify primitive polynomial] を選択した場合にのみ適用されます。

Specify generator polynomial

このチェック ボックスをオンにすると [Generator polynomial] フィールドが有効になります。

Generator polynomial

生成多項式を降べきの順に表現する整数行ベクトルで、その要素は 0 から 2M-1 の範囲です。各係数は、原始多項式で定義されるガロア体の要素です。

このパラメーターは、[Specify generator polynomial] を選択した場合にのみ適用されます。

Puncture code

このチェック ボックスをオンにすると [Puncture vector] フィールドが有効になります。

Puncture vector

長さ N-K の列ベクトル。パンクチャ ベクトルの場合、1 は変更なしで渡される M ビット シンボルを表し、0 はデータ ストリームからパンクチャまたは削除される M ビット シンボルを表します。

既定値は [ones(2,1); zeros(2,1)] です。

このパラメーターは、[Punctured code] を選択した場合のみ適用されます。

Enable erasures input port

消去端子 Era を開くには、このチェック ボックスを選択します。

この端子によって、符号語入力の 1/M 倍の長さのバイナリ列ベクトルを入力できます。

1 の消去値はビットパックされた符号語内の消去されたシンボルに対応し、0 の値は消去されていないシンボルに対応します。

Output number of corrected errors

このボックスを選択する場合、ブロックは 2 番目の出力端子を通して、各ワードに訂正された誤り数を出力します。入力内の特定の受信ワードに (N-K)/2 以上のシンボル誤りがある場合、デコード失敗が発生します。値 1 は、2 番目の出力ベクトルの対応する位置を示します。

Output data type

ブロックの出力型は Same as inputboolean、または double として指定できます。既定の設定では、ブロックはこれを Same as input に設定します。

サポートされているデータ型

端子サポートされているデータ型
In
  • 倍精度浮動小数点

  • 単精度浮動小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

  • 1 ビット符号なし整数 (ufix(1))

Out
  • 倍精度浮動小数点

  • 単精度浮動小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

  • 1 ビット符号なし整数 (ufix(1))

Era
  • 倍精度浮動小数点

  • boolean

Err
  • 倍精度浮動小数点

アルゴリズム

このブロックは、Berlekamp-Massey デコード アルゴリズムを使用します。このアルゴリズムに関する情報は、下記の「参照」にある文献を参照してください。

ペア ブロック

Binary-Input RS Encoder

参照

[1] Wicker, Stephen B., Error Control Systems for Digital Communication and Storage, Upper Saddle River, N.J., Prentice Hall, 1995.

[2] Berlekamp, Elwyn R., Algebraic Coding Theory, New York, McGraw-Hill, 1968.

[3] Clark, George C., Jr., and J. Bibb Cain, Error-Correction Coding for Digital Communications, New York, Plenum Press, 1981.

この情報は役に立ちましたか?