Main Content

nrRateMatchPolar

Polar レート マッチング

説明

rm = nrRateMatchPolar(enc,K,E) は、TS 38.212 の Section 5.4.1[1]で規定されているように、Polar 符号化入力 enc および情報ブロック長 K に基づいて、長さが E であるレートマッチ後の出力を返します。この構文では、符号化ビット インターリーブは無効になります。この構文は、ダウンリンク (DL) 構成に使用します。

rm = nrRateMatchPolar(enc,K,E,ibil) は、符号化ビット インターリーブを制御します。符号化ビット インターリーブを有効にするには、ibiltrue に設定します。この構文は、符号化ビット インターリーブが有効にされたアップリンク (UL) 構成に使用します。

すべて折りたたむ

Polar 符号化された 512 ビットのランダムなブロックを作成し、Polar レート マッチングを実行します。56 ビットの情報ブロック、および 864 ビットのレートマッチ後の出力を指定します。

N = 2^9;            
K = 56;             
E = 864;           
in = randi([0 1],N,1);
out = nrRateMatchPolar(in,K,E)
out = 864×1

     1
     1
     0
     1
     1
     0
     0
     1
     1
     1
      ⋮

入力引数

すべて折りたたむ

Polar 符号化メッセージ。バイナリ値の列ベクトルとして指定します。

Polar 符号化メッセージの長さ N は 2 のべき乗でなければなりません。詳細については、TS 38.212 の Section 5.3.1 を参照してください。

  • DL 構成では N ≤ 512。

  • UL 構成では N ≤ 1024。

データ型: double | int8

情報ブロックの長さ (ビット単位)。正の整数として指定します。該当する場合、K には CRC ビットが含まれます。

データ型: double

レートマッチ後の出力長 (ビット単位)。正の整数として指定します。

  • 18 ≤ K ≤ 25 の場合、EK + 3 < E ≤ 8192 の範囲内でなければならない。

  • K > 30 の場合、EK < E ≤ 8192 の範囲内でなければならない。

データ型: double

符号化ビット インターリーブ。false または true として指定します。

  • DL 構成では false を指定。

  • UL 構成では true を指定。

データ型: logical

出力引数

すべて折りたたむ

レートマッチ後の出力データ。バイナリ値から成る E 行 1 列の列ベクトルとして返されます。rm は、符号化されたメッセージ enc からデータ型を継承します。

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