Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

LDPC Encoder

バイナリ低密度パリティ チェック (LDPC) コードの符号化

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

  • LDPC Encoder block

説明

LDPC Encoder ブロックは、LDPC 符号化をバイナリ入力メッセージに適用します。LDPC 符号は、スパース パリティ チェック行列およびシャノン限界に近いパフォーマンスを達成できる長いブロック長をもつ、線形の誤り制御符号です。

入力と出力は離散時間信号です。出力サンプル時間と入力サンプル時間の比は K/N です。ここで、

  • N は受信信号の長さで、(0, 231) の範囲でなければなりません。

  • K は符号化されていないメッセージの長さで、N 未満でなければなりません。

端子

入力

すべて展開する

入力メッセージ。バイナリ値要素を含む K 行 1 列の列ベクトルとして指定します。K は符号化されていないメッセージの長さです。

データ型: double | Boolean

出力

すべて展開する

LDPC 符号語。N 行 1 列の列ベクトルとして返されます。N は LDPC 符号語のビット数です。出力信号のデータ型は、入力信号から継承されます。LDPC 符号語出力はパリティ チェック式の解です。入力メッセージは LDPC 符号語出力の最初の K ビットで構成され、パリティ チェックは残りの (N – K) ビットで構成されます。

データ型: double | Boolean

パラメーター

すべて展開する

パリティ チェック行列。スパースの (N – K) 行 N 列のバイナリ値行列として指定します。N は出力 LDPC 符号語の長さで、(0, 231) の範囲でなければなりません。K は符号化されていないメッセージの長さで、N 未満でなければなりません。パリティ チェック行列の最後の (N – K) 列は、2 次のガロア体 gf(2) 内の可逆行列でなければなりません。

sparse(I(:,1),I(:,2),1) のように、パリティ チェック行列の要素 1 の行インデックスと列インデックスを定義する 2 列の非スパース インデックス行列 I としてパリティ チェック行列を指定することもできます。

このパラメーターは数値データ型を受け入れます。このパラメーターをスパース バイナリ行列に設定すると、このパラメーターは Boolean データ型も受け入れます。

既定値では、関数 dvbs2ldpc を使用して、DVB-S.2 規格に規定されている、ハーフ レート LDPC 符号化のスパース パリティ チェック行列を構成します。

メモ

  • パリティ チェック行列の最後の (N – K) 列が三角行列を形成する場合、パリティ チェック式を解くために前進代入や後退代入が実行されます。

  • パリティ チェック行列の最後の (N – K) 列が三角行列を形成しない場合、パリティ チェック式を解くために逆行列が計算されます。大きな行列の逆行列を求める必要がある場合、初期化や更新に時間がかかります。

例: dvbs2ldpc(R,'indices') は、DVB-S.2 規格のインデックス行列を構成します。ここで、R は符号化率であり、'indices' は、パリティ チェック行列の要素 1 の行インデックスと列インデックスを定義する 2 列の倍精度行列として dvbs2ldpc の出力形式を指定します。

データ型: double | Boolean

ブロックの特性

データ型

Boolean | double | integer | single

多次元信号

なし

可変サイズの信号

なし

拡張機能

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

参考

ブロック

オブジェクト

関数