Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Binary-Input RS Encoder

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

  • Binary-Input RS Encoder block

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

説明

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

この符号のシンボルは長さ M の 2 進シーケンスで、ガロア体の要素 GF(2M) に対応します。各シンボルの 1 番目のビットは、最上位のビットです。

M = 3、N = 23-1 = 7、および K = 2 であると仮定します。このときメッセージは、エントリを 0 から 7 の範囲の整数とする長さ 2 のベクトルです。対応するコードワードは、エントリを 0 から 7 の範囲の整数とする長さ 7 のベクトルです。次の図は、コードワード長 N=7、およびメッセージ語長 K=2 である場合の、このブロックで想定される入出力信号を示しています。N=2M–1 であることから、N=7 であるとき、シンボル長 M=3 です。

各入力メッセージ語は 2 つの 3 ビット整数を表す長さ 6 のバイナリ ベクトルです。対応する各出力コードワードは 7 つの 3 ビット整数を表す長さ 21 のバイナリ ベクトルです。詳細については、RS ブロックの入力および出力信号長を参照してください。

すべて展開する

リード・ソロモン (RS) 符号化と 2-FSK 変調を整数値信号に適用し、変調後の信号を AWGN チャネルに渡します。2-FSK 復調とバイナリ出力の RS 復号化を適用した後の信号のビット エラー レート (BER) を計算します。

cm_binary_input_rs_encoder_output_decoder モデルには次のものが含まれています。

復号化後および符号化後の誤り統計を比較し、受信信号に対する RS 符号化の誤り訂正の効果を示します。

For an AWGN channel with SNR = -2 dB, the computed error rates are:
                                   Decoded     Encoded
                                  _________    _______

    BER                           0.0004375    0.00235
    Number of errors                     21        141
    Number of bits transmitted        48000      60000

端子

入力

すべて展開する

ビット単位のメッセージ。次のいずれかとして指定します。

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

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

NC はメッセージ語の数、K は [Message length K (symbols)]、M はシンボルあたりのビット数、S は [Shortened message length S (symbols)] です。

メモ

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

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

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | ufix(1)

出力

すべて展開する

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

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

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | ufix(1)

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

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

シンボル内のコードワード長。整数として指定します。

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

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

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

フルレングス (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) を定義します。原始多項式を次のいずれかとして指定します。

詳細については、M およびコードワード長 N に関する制限事項を参照してください。

例: '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] を選択します。

ブロックの出力型。[Same as input][boolean] または [double] として指定します。

ブロックの特性

データ型

Boolean | double | fixed pointa | integer | single

多次元信号

いいえ

可変サイズの信号

いいえ

a ufix(1) のみ。

詳細

すべて展開する

アルゴリズム

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

拡張機能

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

バージョン履歴

R2006a より前に導入