メインコンテンツ

nrRateRecoverLDPC

低密度パリティチェック (LDPC) レート リカバリ

説明

out = nrRateRecoverLDPC(in,trblklen,R,rv,mod,nLayers) は、入力データ ベクトル in の LDPC 符号化後コード ブロックを表すレートリカバリ後出力を返します。入力 trblklen はトランスポート ブロック長、R はターゲット符号化率、rv は冗長バージョン、mod は変調タイプ、nLayers はトランスミッション レイヤーの数です。軟入力に使用される内部バッファーにはサイズ制限がありません。また、出力にはコード ブロックの総数が含まれます。

nrRateRecoverLDPC は、nrRateMatchLDPC の逆演算で、コード ブロック連結、ビット インターリーブ、ビット選択の段階から成る逆演算を受信機端で実行します。

out = nrRateRecoverLDPC(___,numCB) は、前の構文の入力引数に加え、復元するコード ブロックの数 numCB を指定します。

out = nrRateRecoverLDPC(___,numCB,Nref) は、最初の構文の入力引数に加え、制限されたソフト バッファー サイズ Nref および指定された復元コード ブロック数 numCB に基づくレートリカバリ後出力を返します。Nref は TS 38.212 の Section 5.4.2.1 [1]で定義されています。

すべて折りたたむ

ソフト ビットに対応する長さ 4500 の入力データを作成します。元のトランスポート ブロックの長さは 4000 です。1 つのコード ブロックへの入力に対し、LDPC レート リカバリを実行します。QPSK 変調および冗長バージョン 0 で単一のトランスミッション レイヤーを使用します。

sbits = ones(4500,1);
trblklen = 4000;    
R = 0.5;                
rv = 0;                 
mod = 'QPSK';           
nlayers = 1;            
numCB = 1;              
raterec = nrRateRecoverLDPC(sbits,trblklen,R,rv,mod,nlayers,numCB);
size(raterec)
ans = 1×2

       12672           1

入力引数

すべて折りたたむ

コード ブロックのデセグメンテーション前に受信したソフト ビット。ベクトルとして指定します。

データ型: double | single

元のトランスポート ブロックの長さ。非負の整数として指定します。

データ型: double

ターゲット符号化率。範囲 (0,1) の実数スカラーとして指定します。

データ型: double

冗長バージョン。0 ~ 3 の整数として指定します。

データ型: double

変調スキーム。'pi/2-BPSK''QPSK''16QAM''64QAM''256QAM'、または '1024QAM' として指定します。この変調スキームにより、コードワードの変調タイプと、変調シンボルごとに使用されるビット数が決まります。

変調スキームシンボルごとのビット数

'pi/2-BPSK'

1
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8
'1024QAM'10

データ型: char | string

トランスポート ブロックに関連付けられたトランスミッション レイヤーの数。1 ~ 4 の整数として指定します。

データ型: double

スケジュールされたコード ブロック セグメントの数。正の整数として指定します。numCB は、トランスポート ブロックのコード ブロック セグメントの数以下でなければなりません。

データ型: double

制限されたバッファー レート マッチング。正の整数として指定します。Nref は、TS 38.212 の Section 5.4.2.1 で定義されています。

データ型: double

出力引数

すべて折りたたむ

レートリカバリ後のスケジュールされたコード セグメント。行列として返されます。out の行数は、trblklenR から計算されます。out の列数は、numCB (つまりトランスポート ブロックのコード ブロックの総数) と等しくなります。符号化時に使用される 0 に対応させるため、フィラー ビットは Inf に設定されます。

データ型: double | single

参照

[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++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2018b で導入

すべて展開する