Main Content

Integer-Input RS Encoder

リード・ソロモン符号の整数ベクトル データからの作成

  • Integer-Input RS Encoder block

ライブラリ:
Communications Toolbox / Error Detection and Correction / Block

説明

Integer-Input RS Encoder ブロックはリード・ソロモン符号を作成します。

コードのシンボルは 0 と 2M-1 の間の整数で、有限体 GF(2M) の要素を示します。M の既定値は log2(N+1) 以上で最も小さい整数、すなわち ceil(log2(N+1)) です。原始多項式の指定に後述されているように、GF(2M) の原始多項式を指定することにより、M の既定値を変更できます。M と N に関する制限事項については、M とコードワード長 N の制限を参照してください。

入力と出力は、メッセージとコードワードをそれぞれ示す整数値信号です。詳細については、RS ブロックの入力および出力信号長を参照してください。

(N,K) リード・ソロモン符号は、各コードワードで floor((N-K)/2) までのシンボル誤り (ビット誤りではない) を訂正します。

M = 3、N = 23-1 = 7、および K = 5 であると仮定します。このときメッセージは、エントリを 0 から 7 の範囲の整数とする長さ 5 のベクトルです。対応するコードワードは、エントリを 0 から 7 の範囲の整数とする長さ 7 のベクトルです。次の図は、[Codeword length N]7[Message length K]5 に設定し、既定の原始多項式および生成多項式を使用した場合の、このブロックに使用できる入出力信号を示しています。

端子

入力

すべて展開する

メッセージ。次のいずれかを指定します。

  • メッセージの短縮化を行わない場合は、(NC×K) 行 1 列の整数列ベクトル。

  • メッセージの短縮化を行う場合は、(NC×S) 行 1 列の整数列ベクトル。

NC はメッセージ語の数、K は [Message length K]、S は [Shortened message length S] です。

メモ

復号化されたメッセージ語の数は、コードワードの数と等しくなります。

詳細については、RS ブロックの入力および出力信号長を参照してください。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

出力

すべて展開する

リード・ソロモン コードワード。(NC×(N – K + S – P) 行 1 列の整数列ベクトルとして返されます。NC はコードワードの数、N は [Codeword length N]、K は [Message length K]、S は [Shortened message length S]、P はコードワードあたりのパンクチャの数です。

詳細については、RS ブロックの入力および出力信号長を参照してください。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

詳細については、サポートされているデータ型を参照してください。

パラメーター

すべて展開する

コードワード長。整数で指定します。

詳細については、M とコードワード長 N の制限RS ブロックの入力および出力信号長を参照してください。

メッセージ語長。範囲 [1, N–2] の整数として指定します。ここで N はコードワード長です。

短縮メッセージ語長。S ≤ K となる整数として指定します。[Shortened message length S] < [Message length K] の場合、リード・ソロモン符号は短縮されます。

フルレングス (N, K) の符号で N および K の値を指定しても、復号化は (N–K+S, S) 符号に短縮されます。

依存関係

このパラメーターを有効にするには、次を選択します。 [Specify shortened message length]

降べきの順に並べた、値の範囲が [0 ~ 2M–1] の生成多項式。次のいずれかとして指定します。

  • 多項式の文字ベクトル。詳細については、Communications Toolbox での多項式の表現を参照してください。

  • 整数行ベクトル。降べきの順に並べた生成多項式の係数を表します。

  • 整数ガロア行ベクトル。降べきの順に並べた生成多項式の係数を表します。

各係数は、原始多項式で定義されるガロア体の要素です。詳細については、生成多項式の指定を参照してください。

例: [1 3 1 2 3] は、rsgenpoly(7,3) と等価です。

依存関係

このパラメーターを有効にするには、次を選択します。 [Specify generator polynomial]

降べきの順に並べた原始多項式。この多項式は M 次で、メッセージ語とコードワードを形成する整数に対応する有限ガロア体 GF(2M) を定義します。原始多項式を次のいずれかとして指定します。

詳細については、原始多項式の指定を参照してください。

例: 'X^3 + X + 1' は、(7,3) 符号 ppoly = primpoly(3,'nodisplay'); int2bit(ppoly,ceil(log2(max(ppoly))))' に使用される原始多項式です

依存関係

このパラメーターを有効にするには、次を選択します。 [Specify primitive polynomial]

パンクチャ ベクトル。(N–K) 行 1 列のバイナリ列ベクトルとして指定します。1 を含む要素インデックスは、ブロックを変更せずに通過するデータ "シンボル" インデックスを表します。0 を含む要素インデックスは、データ ストリームからパンクチャされる、つまり削除されるデータ "シンボル" インデックスを表します。詳細については、パンクチャおよび消去を参照してください。

メモ

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

依存関係

このパラメーターを有効にするには、次を選択します。 [Puncture code]

ブロックの特性

データ型

double | integer | single

多次元信号

なし

可変サイズの信号

なし

詳細

すべて展開する

アルゴリズム

このオブジェクトは、BCH と RS の誤りのみの復号化のアルゴリズムで説明されているアルゴリズム、入力および出力を実装しています。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入