Main Content

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

LDPC Encoder

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

  • LDPC Encoder block

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

説明

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

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

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

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

すべて展開する

LDPC 符号化され、QPSK 変調されたビット ストリームを AWGN チャネル経由で送信します。受信信号を復調および復号化します。誤り統計を計算します。

snr 変数は、[Model Properties]、[Callbacks]InitFcn コールバックを使用して初期化されます。AWGN Channel ブロックの SNR dB パラメーターと QPSK Demodulator Baseband ブロックの Variance パラメーターは、snr 変数を使用して設定を初期化します。

このシミュレーションはデータの 1 つの入力フレームを処理するように構成されています。Error Rate Calculation ブロックは、送信されたバイナリ データ ストリームと LDPC Decoder ブロックによって出力された情報データ ビットを比較します。

For SNR = 1 dB, the error rate is 0.

端子

入力

すべて展開する

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

データ型: double | Boolean

出力

すべて展開する

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

データ型: double | Boolean

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

パリティ チェック行列。スパースの (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 の出力形式を指定します。

ブロックの特性

データ型

Boolean | double | integer | single

多次元信号

なし

可変サイズの信号

なし

拡張機能

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

バージョン履歴

R2007a で導入

参考

ブロック

オブジェクト

関数