Main Content

nrRateMatchLDPC

低密度パリティチェック (LDPC) レート マッチング

説明

out = nrRateMatchLDPC(in,outlen,rv,mod,nLayers) は、入力データ行列 in に対して、長さ outlen のレートマッチ後の出力を返します。入力 rv は冗長バージョン、mod は変調タイプ、nLayers はトランスミッション レイヤーの数です。軟入力に使用される内部バッファーにはサイズ制限がありません。

nrRateMatchLDPC には、TS 38.212 の Section 5.4.2 と Section 5.5 [1]で規定されているように、LDPC 符号化されたデータとコード ブロックの連結に対して定義されたビット選択とインターリーブの段階が含まれます。

out = nrRateMatchLDPC(___,Nref) は、前の構文の入力引数に加えて、制限されたソフト バッファー サイズ Nref のレートマッチ後の出力を返します。Nref は TS 38.212 の Section 5.4.2.1 [1]で定義されています。

すべて折りたたむ

長さ 3960 の 2 つの LDPC 符号化コード ブロックに対応する入力データを作成します。

encoded = ones(3960,2);

2 つのコード ブロックの LDPC レート マッチングを長さ 8000 のベクトルに対して実行します。QPSK 変調および冗長バージョン 0 で単一のトランスミッション レイヤーを使用します。

rv = 0;                 
mod = 'QPSK';    
nLayers = 1;
outlen = 8000;
ratematched = nrRateMatchLDPC(encoded,outlen,rv,mod,nLayers);
size(ratematched)
ans = 1×2

        8000           1

別々のコード ブロックの整数ランプで構成される LDPC 符号化入力データを作成します。長さ 3000 のベクトルに対してコード ブロックの LDPC レート マッチングを実行します。QPSK 変調および冗長バージョン 0 で単一のトランスミッション レイヤーを使用します。レートマッチ後の出力データの位置をプロットします。

encoded = [0 1000 2000] + (1:66*10)';
rv = 0;           
mod = 'QPSK';    
nLayers = 1; 
outlen = 3000;
out = nrRateMatchLDPC(encoded,outlen,rv,mod,nLayers);
plot(out,'.-')

Figure contains an axes object. The axes object contains an object of type line.

入力引数

すべて折りたたむ

LDPC 符号化された入力データ。行列として指定します。in の各列はコードワードです。入力引数 in の列数は、トランスポート ブロック内のスケジュールされたコード ブロックの数と同じです。各列は個別にレートマッチされ、結果は out で連結されます。

データ型: double | int8

レートマッチされ、連結された出力ベクトルの長さ。正の整数として指定します。outlen は、TS 38.212 の Section 5.4.2.1 [1]で規定されているように、トランスポート ブロックで送信に使用できる符号化されたビットの数です。

変調スキーム mod は、変調次数 Qm (変調シンボルごとに使用されるビット数) によって決まります。outlennLayers × Qm の倍数でない場合、関数は出力ベクトルの長さを nLayers × Qm の次の倍数に設定します。

データ型: double

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

データ型: double

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

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

'pi/2-BPSK'

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

データ型: char | string

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

データ型: double

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

データ型: double

出力引数

すべて折りたたむ

トランスポート ブロックのレートマッチおよび連結後のコード ブロック。長さ outlen のベクトルとして返されます。

データ型: 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 で導入