ドキュメンテーション

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

rsenc

リード・ソロモン符号器

構文

code = rsenc(msg,n,k)
code = rsenc(msg,n,k,genpoly)
code = rsenc(...,paritypos)

説明

code = rsenc(msg,n,k) は、狭義の生成多項式で [n,k] リード・ソロモン符号を使用して、msg 内のメッセージを符号化します。msg は、それぞれ m ビットをもつシンボルの「ガロア配列」です。msg の各 k 要素行は、メッセージ ワードを表します。左端のシンボルが最上位シンボルです。n は最大でも 2m-1 です。n が正確に 2m-1 でない場合、rsenc は短縮化リード・ソロモン符号を使用します。パリティ シンボルは、出力ガロア配列 code の各ワードの末尾にあります。

code = rsenc(msg,n,k,genpoly) は、genpoly の空でない値がコードの生成多項式を指定する以外は、上記の構文と同じです。この場合、genpoly は生成多項式の係数を降べきの順に並べたガロア行ベクトルです。生成多項式は次数 n-k をもたなければなりません。既定の狭義の生成多項式を使用する場合、genpoly[] に設定します。

code = rsenc(...,paritypos) は、rsenccode を作成するためにパリティ シンボルを入力メッセージの末尾に追加するのかそれとも先頭に追加するのかを指定します。paritypos'end' または 'beginning' です。既定の設定は 'end' です。

すべて折りたたむ

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

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 の行と一致します。

制限

n および k の差は偶数の整数でなければなりません。n は、7 ~ 65535 でなければなりません。

R2006a より前に導入

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