Main Content

nrPDSCH

PDSCH 変調シンボルの生成

説明

sym = nrPDSCH(cws,mod,nlayers,nid,rnti) は、TS 38.211 の Section 7.3.1.1 ~ 7.3.1.1.3[1]で定義されているように、物理ダウンリンク共有チャネル (PDSCH) の変調シンボルを含む sym を返します。このプロセスは、スクランブリング アイデンティティ nid を使ったスクランブリング、変調スキーム mod を使ったシンボル変調の実行、およびレイヤー マッピングで構成されます。cws は、TS 38.212 の Section 7.2.6 で規定されているように、1 つまたは 2 つのダウンリンク共有チャネル (DL-SCH) のコードワードを表します。nlayers は、トランスミッション レイヤーの数を指定します。rnti は、ユーザー端末 (UE) の無線ネットワーク一時識別子 (RNTI) です。

sym = nrPDSCH(carrier,pdsch,cws) は、指定したキャリア構成 carrier および PDSCH 構成 pdsch の PDSCH 変調シンボルを返します。入力 cws は、ダウンリンク共有チャネル (DL-SCH) のコードワードを指定します。

sym = nrPDSCH(___,'OutputDataType',datatype) は、前述のいずれかの構文の入力引数に加えて、PDSCH シンボル データ型を指定します。

すべて折りたたむ

256-QAM 変調を使用した 8000 ビットのコードワードに対応するバイナリ値のランダム シーケンスを指定します。物理レイヤーのセル ID 番号、RNTI、およびトランスミッション レイヤーの数を指定し、PDSCH 変調シンボルを生成します。

modulation = '256QAM';
nlayers = 4;
ncellid = 42;
rnti = 6143;
data = randi([0 1],8000,1);
sym = nrPDSCH(data,modulation,nlayers,ncellid,rnti)
sym = 250×4 complex

  -0.2301 + 0.5369i  -0.3835 + 0.9971i   0.3835 + 1.1504i  -0.2301 + 0.9971i
   0.8437 - 0.0767i  -0.9971 + 0.6903i  -0.6903 - 0.6903i   0.6903 - 0.6903i
   0.2301 - 1.1504i  -0.9971 + 0.0767i   0.6903 - 1.1504i   1.1504 + 0.6903i
  -0.3835 - 1.1504i  -0.0767 - 0.0767i  -0.3835 + 0.3835i  -0.3835 - 0.3835i
   0.9971 + 0.5369i  -0.3835 - 0.5369i   0.3835 - 0.6903i  -0.3835 - 0.8437i
  -0.0767 + 1.1504i   0.6903 - 0.8437i  -0.2301 + 0.2301i   0.8437 - 0.0767i
  -0.3835 - 1.1504i  -0.6903 - 0.9971i   0.9971 - 0.3835i  -0.9971 + 0.0767i
  -0.0767 + 0.6903i  -0.0767 + 0.8437i   1.1504 + 0.0767i   0.6903 + 1.1504i
  -0.5369 - 0.9971i  -0.8437 + 0.0767i   0.8437 - 0.3835i  -0.9971 - 1.1504i
   0.2301 - 0.6903i  -0.6903 - 0.5369i  -0.6903 + 1.1504i   0.8437 - 0.2301i
      ⋮

バイナリ値から成る 2 つのランダムなシーケンスを指定します。最初のシーケンスは、64-QAM 変調を使用した 6000 ビットのコードワードに対応します。2 番目のシーケンスは、256-QAM 変調を使用した 8000 ビットのコードワードに対応します。物理レイヤーのセル ID 番号、および RNTI を指定し、全部で 8 個のトランスミッション レイヤーを使用して PDSCH 変調シンボルを生成します。

modulation = {'64QAM' '256QAM'};
nlayers = 8;
ncellid = 1;
rnti = 6143;
data = {randi([0 1],6000,1) randi([0 1],8000,1)};
sym = nrPDSCH(data,modulation,nlayers,ncellid,rnti)
sym = 250×8 complex

  -0.4629 - 0.7715i   0.4629 - 0.4629i   0.4629 + 0.1543i   0.7715 - 1.0801i   0.3835 - 0.9971i  -0.5369 + 0.6903i   0.6903 - 0.6903i  -0.5369 + 0.0767i
   0.1543 + 0.4629i  -1.0801 + 1.0801i  -0.7715 + 0.7715i  -0.1543 + 0.7715i  -0.2301 + 0.9971i  -1.1504 + 1.1504i  -0.0767 + 1.1504i  -0.6903 + 0.9971i
  -0.1543 + 0.1543i   0.7715 - 1.0801i  -0.4629 + 0.7715i   0.1543 + 1.0801i   0.0767 - 0.8437i   0.0767 - 0.9971i   0.3835 + 0.3835i   1.1504 - 0.9971i
  -0.7715 - 0.4629i  -0.1543 + 0.7715i  -0.7715 - 0.7715i  -0.4629 - 0.1543i  -0.6903 + 0.5369i  -0.8437 - 0.5369i  -0.5369 + 0.0767i  -0.0767 - 1.1504i
   1.0801 - 1.0801i  -1.0801 + 0.7715i   0.1543 - 0.4629i   0.4629 - 0.4629i  -1.1504 + 0.2301i  -0.9971 + 0.9971i  -1.1504 + 0.8437i   0.2301 - 0.2301i
   0.4629 + 0.4629i   0.1543 + 0.1543i  -0.1543 + 0.1543i   0.1543 - 0.4629i   0.6903 + 0.2301i  -0.6903 + 0.6903i   0.3835 + 0.5369i   0.3835 + 0.0767i
  -1.0801 + 0.7715i   0.4629 - 1.0801i   0.4629 + 1.0801i  -0.4629 + 0.4629i  -0.6903 + 0.8437i  -0.3835 - 0.2301i   0.5369 + 0.8437i   0.9971 - 0.9971i
  -1.0801 + 0.7715i  -0.1543 - 0.1543i   0.7715 + 1.0801i  -0.4629 - 0.1543i   0.8437 + 0.5369i  -0.2301 + 0.0767i  -0.6903 - 0.0767i  -0.0767 - 0.6903i
  -0.4629 - 1.0801i  -0.7715 - 0.1543i   0.1543 - 1.0801i  -0.1543 + 0.1543i   0.2301 - 0.3835i   1.1504 + 0.2301i  -1.1504 - 1.1504i  -1.1504 - 1.1504i
   0.7715 + 1.0801i   1.0801 - 0.4629i   1.0801 + 1.0801i  -0.1543 - 1.0801i  -0.0767 + 0.0767i   0.3835 + 0.9971i   0.0767 - 0.6903i   0.5369 - 0.8437i
      ⋮

既定のプロパティを使用してキャリア構成オブジェクトを作成します。物理レイヤーのセル ID を 42、スロット番号を 10 として指定します。

carrier = nrCarrierConfig;
carrier.NCellID = 42;
carrier.NSlot = 10;

16-QAM 変調スキームを使って PDSCH 構成オブジェクトを作成します。無線ネットワーク一時識別子を 1005、BWP のサイズを 25、BWP の開始 PRB インデックスを 10 に設定し、BWP 全体を占有するように PRB を設定します。

pdsch = nrPDSCHConfig;
pdsch.Modulation = '16QAM';
pdsch.RNTI = 1005;
pdsch.NID = []; % Set NID equal to the NCellID property of carrier
pdsch.NSizeBWP = 25;
pdsch.NStartBWP = 10;
pdsch.PRBSet = 0:pdsch.NSizeBWP-1;

添字形式で PDSCH インデックスを生成し、インデックスの向きを bandwidth part に設定します。

[ind,info] = nrPDSCHIndices(carrier,pdsch,'IndexStyle','subscript','IndexOrientation','bwp')
ind = 3900x3 uint32 matrix

    1    1    1
    2    1    1
    3    1    1
    4    1    1
    5    1    1
    6    1    1
    7    1    1
    8    1    1
    9    1    1
   10    1    1
      ⋮

info = struct with fields:
                G: 15600
               Gd: 3900
        NREPerPRB: 156
    DMRSSymbolSet: 2
    PTRSSymbolSet: [1x0 double]
           PRBSet: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24]

データ型 single の PDSCH シンボルを生成します。

numDataBits = info.G;
cws = randi([0 1],numDataBits,1);
sym = nrPDSCH(carrier,pdsch,cws,'OutputDataType','single')
sym = 3900x1 single column vector

  -0.9487 + 0.9487i
  -0.9487 - 0.9487i
  -0.3162 - 0.9487i
   0.9487 - 0.3162i
  -0.9487 + 0.3162i
   0.3162 + 0.9487i
   0.3162 + 0.9487i
  -0.3162 + 0.3162i
   0.3162 + 0.3162i
   0.9487 - 0.3162i
      ⋮

入力引数

すべて折りたたむ

DL-SCH コードワード。次の値のいずれかとして指定します。

  • 1 つまたは 2 つのバイナリ列ベクトルから成る cell 配列 — TS 38.212 の Section 7.2.6 で説明されているように、この値を使用して 1 つまたは 2 つの DL-SCH コードワードを指定します。

  • バイナリ列ベクトル — この値を使用して 1 つの DL-SCH コードワードを指定します。

データ型: double | single | cell

変調スキーム。'QPSK''16QAM''64QAM''256QAM''1024QAM'、string 配列、または文字ベクトルの cell 配列として指定します。この変調スキームにより、コードワードの変調タイプと、変調シンボルごとに使用されるビット数が指定されます。cws に 2 つのコードワードが含まれている場合、両方のコードワードに変調スキームが適用されます。あるいは、string 配列、または文字ベクトルの cell 配列を使用し、コードワードごとに異なる変調スキームを指定できます。

変調スキームシンボルごとのビット数
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8
'1024QAM'10

例: 2 つのコードワードに対して異なる変調スキームを指定するには、{'QPSK','16QAM'}["QPSK","16QAM"] のいずれかの形式を使用します。

データ型: char | string | cell

トランスミッション レイヤーの数。1 ~ 8 の整数として指定します。コードワードが 1 つの場合、1 ~ 4 の整数を使用します。コードワードが 2 つの場合、5 ~ 8 の整数を使用します。

データ型: double

スクランブリング アイデンティティ。0 ~ 1023 の整数として指定します。nid は、物理レイヤーのセル ID 番号 (0 ~ 1007) または上位レイヤーのパラメーター dataScramblingIdentityPDSCH (0 ~ 1023) です。詳細については、TS 38.331 の Section 6.3.2 を参照してください。

データ型: double

UE の RNTI。0 ~ 65,535 の整数として指定します。

データ型: double

出力シンボルのデータ型。'double' または 'single' として指定します。

データ型: char | string

特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig オブジェクトとして指定します。この関数は、nrCarrierConfig オブジェクトの NCellID プロパティのみを使用します。

PDSCH 構成パラメーター。nrPDSCHConfig オブジェクトとして指定します。この関数は、次の nrPDSCHConfig オブジェクト プロパティのみを使用します。

出力引数

すべて折りたたむ

PDSCH 変調シンボル。複素行列として返されます。

データ型: single | double
複素数のサポート: あり

参照

[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

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

拡張機能

バージョン履歴

R2018b で導入

すべて展開する