Main Content

nrLDPCEncode

低密度パリティ チェック (LDPC) 符号化

説明

out = nrLDPCEncode(in,bgn) は、TS 38.212 の Section 5.3.2 [1]で規定されているように、入力データ行列 in およびベース グラフ番号 bgn について、LDPC 符号化された出力行列を返します。該当する場合、この関数は、入力の -1 で表される各フィラー ビットを 0 で置き換えます。符号化後、関数は各フィラー ビットを再び -1 に置き換えます。符号化には、一部の組織的な情報ビットのパンクチャが含まれます。

すべて折りたたむ

長さが 2560 の 2 つのコード ブロック セグメントと末尾の 36 個のフィラー ビットで構成される符号化用の入力データを作成します。

C = 2;          
K = 2560;       
F = 36;         
cbs = ones(K-F,C);
fillers = -1*ones(F,C);
cbs = [cbs;fillers];   

2 つのコード ブロック セグメントの LDPC コードワードを生成します。ベース グラフ番号 2 を使用します。

bgn = 2;        
codedcbs = nrLDPCEncode(cbs,bgn);
size(codedcbs)
ans = 1×2

       12800           2

入力引数

すべて折りたたむ

符号化前のコード ブロック セグメント。行列または列ベクトルとして指定します。in の列数は、トランスポート ブロック内のスケジュールされたコード ブロック セグメントの数と同じです。in の行数は、コード ブロック セグメント (フィラー ビットがある場合はそれを含む) の長さに等しくなります。

メモ

フィラー ビットは -1 で表されますが、符号化を実行するときは 0 として扱われます。

データ型: double | int8

ベース グラフ番号。1 または 2 として指定します。値は、TS 38.212 の Section 5.3.2 [1]で定義されている 2 つのベース グラフに対応しています。

データ型: double

出力引数

すべて折りたたむ

符号化された LDPC コードワード出力。行列として返されます。out の列数は、トランスポート ブロック内のスケジュールされたコード ブロック セグメントの数と同じです。out の行数は、コードワードの長さと同じです。各コードワードが組織的ビットの一部をパンクチャすると、フィラー ビットが含められます。

データ型: double | int8

参照

[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

拡張機能

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

バージョン履歴

R2018b で導入