このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
LDPC Encoder
バイナリ低密度パリティ チェック (LDPC) コードの符号化
ライブラリ:
Communications Toolbox /
Error Detection and Correction /
Block
説明
LDPC Encoder ブロックは、LDPC 符号化をバイナリ入力メッセージに適用します。LDPC 符号は、スパース パリティ チェック行列およびシャノン限界に近いパフォーマンスを達成できる長いブロック長をもつ、線形の誤り制御符号です。
入力と出力は離散時間信号です。出力サンプル時間と入力サンプル時間の比は K/N です。ここで、
N は受信信号の長さで、(0, 231) の範囲でなければなりません。
K は符号化されていないメッセージの長さで、N 未満でなければなりません。
例
Simulink の QPSK 変調信号の LDPC 符号化および復号化
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.
拡張例
DVB-S.2 リンク (Simulink での LDPC 符号化を含む)
このモデルでは、第 2 世代のデジタル ビデオ放送規格 (DVB-S.2) で使用され、DIRECTV が合衆国で展開している最先端のチャネル符号化方式を示します。符号化方式は、LDPC (低密度パリティ検査) 符号と BCH 符号の連結に基づいています。Gallager が独創性に富んだ博士論文で 1960 年に考案した LDPC 符号では、低複雑性反復復号化アルゴリズムを使用することによって、チャネル容量に近い非常に低いエラー レートを実現できます。外部の BCH 符号は、LDPC 復号化器によって生成される散発的な誤りを訂正するのに使用されます。
端子
入力
In — 入力メッセージ
バイナリ列ベクトル
入力メッセージ。バイナリ値要素を含む K 行 1 列の列ベクトルとして指定します。K は符号化されていないメッセージの長さです。
データ型: double
| Boolean
出力
Out — LDPC コードワード
列ベクトル
LDPC コードワード。N 行 1 列の列ベクトルとして返されます。N は LDPC コードワードのビット数です。出力信号のデータ型は、入力信号から継承されます。LDPC コードワード出力はパリティ チェック式の解です。入力メッセージは LDPC コードワード出力の最初の K ビットで構成され、パリティ チェックは残りの (N – K) ビットで構成されます。
データ型: double
| Boolean
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
Parity-check matrix (sparse binary (N-K)-by-N matrix) — Parity-check matrix
dvbs2ldpc(1/2)
(既定値) | スパース バイナリ行列 | 非スパース インデックス行列
パリティ チェック行列。スパースの (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
の出力形式を指定します。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2007a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)