メインコンテンツ

cyclgen

巡回符号のパリティ チェック行列と生成行列の生成

説明

h = cyclgen(n,p) は、生成多項式 p に対してコードワード長 n をもつ組織バイナリ巡回符号について、(nk) 行 n 列のパリティチェック行列を生成します。巡回符号を生成するには、生成多項式 pXn – 1 の因数でなければなりません。

h = cyclgen(n,p,opt) は、巡回パリティチェック行列が組織的か非組織的かを指定するための opt を含みます。

[h,g] = cyclgen(___) は、前の構文を使用して、パリティチェック行列 h に対応する kn 列の生成行列 g も返します。

[h,g,k] = cyclgen(___), は、前の構文を使用して、メッセージ長 k も返します。

すべて折りたたむ

コードワード長 7 とメッセージ長 4 をもつバイナリ巡回符号に対するパリティ チェック行列と生成行列を作成します。

cyclpoly を使用して、生成多項式を作成します。

pol = cyclpoly(7,4);

パリティ チェック行列と生成行列を作成します。パリティ チェック行列 parmat では、3 行 3 列の単位行列が左端の列に組み込まれています。

[parmat,genmat,k] = cyclgen(7,pol)
parmat = 3×7

     1     0     0     1     1     1     0
     0     1     0     0     1     1     1
     0     0     1     1     1     0     1

genmat = 4×7

     1     0     1     1     0     0     0
     1     1     1     0     1     0     0
     1     1     0     0     0     1     0
     0     1     1     0     0     0     1

k = 
4

内部の符号が組織的ではないパリティ チェック行列を作成します。行列 parmatn には、3 行 3 列の単位行列は組み込まれていません。

parmatn = cyclgen(7,pol,'nonsys')
parmatn = 3×7

     1     1     1     0     1     0     0
     0     1     1     1     0     1     0
     0     0     1     1     1     0     1

(7,3) バイナリ巡回符号に対するパリティ チェック行列と生成行列を作成します。この符号は組織的であるため、パリティ チェック行列 parmat2 の左端の列には 4 行 4 列の単位行列が埋め込まれています。

parmat2 = cyclgen(7,'1 + x^2 + x^3 + x^4')
parmat2 = 4×7

     1     0     0     0     1     1     0
     0     1     0     0     0     1     1
     0     0     1     0     1     1     1
     0     0     0     1     1     0     1

入力引数

すべて折りたたむ

コードワード長。正の整数として指定します。2 進体 gf(2) において、(Xn – 1) は (Xn + 1) と同じです。この関係は、メッセージ長 k = nm であることを意味します。ここで、m は生成多項式の次数です。

昇順の生成多項式の係数。string またはバイナリ行ベクトルとして指定します。巡回符号を生成するには、生成多項式を Xn – 1 の因数として指定しなければなりません。ここで、n はコードワード長です。

p を多項式の文字ベクトルとして指定する方法の詳細については、Communications Toolbox での多項式の表現を参照してください。

巡回パリティチェック行列のタイプ。次のいずれかのオプションとして指定します。

  • "system" — 組織的な巡回パリティチェック行列を生成します。組織的な巡回パリティチェック行列には、左端の列に埋め込まれた単位行列が含まれます。

  • "nonsys" — 非組織的な巡回パリティチェック行列を生成します。

出力引数

すべて折りたたむ

パリティ チェック行列。mn 列の行列として返されます。m は生成多項式 p の次数です。

データ型: double

生成行列。kn 列の行列として返されます。生成行列 g はパリティチェック行列 h に対応します。

データ型: double

メッセージ長。整数として返されます。符号のメッセージ長 k = nm となります。ここで、m は生成多項式 p の次数です。

バージョン履歴

R2006a より前に導入