Main Content

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

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 より前に導入