Main Content

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

rsenc

リード・ソロモン符号化器

説明

code = rsenc(msg,n,k) は、狭義の生成多項式による [n,k] リード・ソロモン符号を使用して、msg 内のメッセージを符号化します。n はコードワード長、k はメッセージ長です。出力 code はリード・ソロモン符号です。

code = rsenc(msg,n,k,genpoly) は、値が空でない符号の生成多項式を指定します。

code = rsenc(___,paritypos) は、code の形成時に入力メッセージに追加するパリティ シンボルの位置を指定します。

すべて折りたたむ

符号パラメーターを設定します。

m = 3;           % Number of bits per symbol
n = 2^m - 1;     % Codeword length 
k = 3;           % Message length

GF(8) に基づいて 2 つのメッセージを作成します。

msg = gf([2 7 3; 4 0 6],m)
 
msg = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   2   7   3
   4   0   6

RS (7,3) コードワードを生成します。

code = rsenc(msg,n,k)
 
code = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   2   7   3   3   6   7   6
   4   0   6   4   2   2   0

符号は組織的なため、各行の最初の 3 つのシンボルが msg の行と一致します。

入力引数

すべて折りたたむ

入力メッセージ。すべての値がゼロ以上である行列として指定します。msg は、それぞれ m ビットのシンボルから成るガロア配列です。msg の各 k 要素行は、メッセージ ワードを表します。左端のシンボルが最上位シンボルです。

データ型: double

コードワード長。2m–1 形式の整数として指定します。ここで、m の範囲は [3, 16] です。n は [7, 65535] の範囲内になければなりません。

n が正確に 2m-1 でない場合、rsenc は短縮リード・ソロモン符号を使用します。

メモ

nk の差は正の偶数でなければなりません。

データ型: double

メッセージ長。正の整数として指定します。

データ型: double

降順の生成多項式の係数。ガロア行ベクトルとして返されます。genpoly は、降べきの順に並べた狭義の生成多項式の係数を表します。既定の狭義の生成多項式を使用する場合、genpoly[] に設定します。

生成多項式の次数は n-k でなければなりません。

データ型: double

code の形成時に入力メッセージに追加するパリティ シンボルの位置。次のいずれかのオプションとして指定します。

  • "end" — 入力メッセージの末尾にパリティ シンボルを追加。

  • "beginning" — 入力メッセージの先頭にパリティ シンボルを追加。

データ型: char | string

出力引数

すべて折りたたむ

リード・ソロモン符号。すべての値がゼロ以上である行列として返されます。パリティ シンボルは、この出力ガロア配列符号に含まれる各ワードの末尾にあります。

データ型: double

バージョン履歴

R2006a より前に導入