Main Content

nrCSIRS

CSI-RS シンボルの生成

R2019b 以降

説明

[sym,info] = nrCSIRS(carrier,csirs) は、TS 38.211 の Section 7.4.1.5[1]で定義されているように、チャネル状態情報基準信号 (CSI-RS) のシンボル sym を返します。入力 carrier は、特定の OFDM numerology のキャリア構成パラメーターを指定します。入力 csirs は、1 つ以上のゼロ電力 (ZP) または非ゼロ電力 (NZP) の CSI-RS リソースに関する CSI-RS リソース構成パラメーターを指定します。ZP と NZP のリソースを両方とも構成する場合、csirs で指定されたリソースの順序にかかわらず、ZP の後ろに NZP が続く順序でシンボルが返されます。この関数は、CSI-RS の位置に関する追加の情報が格納された構造体 info も返します。

[sym,info] = nrCSIRS(carrier,csirs,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、出力フォーマット オプションを指定します。指定していないオプションは既定値になります。

すべて折りたたむ

既定のプロパティを使用してキャリア構成オブジェクトを作成します。このオブジェクトは、10 MHz のキャリアに対応します。

carrier = nrCarrierConfig;

既定のプロパティを使用して CSI-RS 構成オブジェクトを作成します。

csirs = nrCSIRSConfig;

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

[sym,info_sym] = nrCSIRS(carrier,csirs,'OutputDataType','single');

CSI-RS のリソース エレメント インデックスを生成します。

[ind,info_ind] = nrCSIRSIndices(carrier,csirs);

スロット番号に 10 を指定して、キャリア構成オブジェクトを作成します。

carrier = nrCarrierConfig('NSlot',10);

2 つの周期リソースについて CSI-RS リソース構成オブジェクトを作成します。行番号 35、シンボル位置 139、およびサブキャリア位置 64 で、1 つの NZP リソースと 1 つの ZP リソースをそれぞれ指定します。両方のリソースについて、周期性を 5、オフセットを 1、密度を 'one' に設定します。

csirs = nrCSIRSConfig;
csirs.CSIRSType = {'nzp','zp'};
csirs.CSIRSPeriod = {[5 1],[5 1]};
csirs.RowNumber = [3 5];
csirs.Density = {'one','one'};
csirs.SymbolLocations = {13,9};
csirs.SubcarrierLocations = {6,4};

キャリア構成、CSI-RS リソース構成、および出力フォーマットの名前と値のペアの引数を指定して、CSI-RS シンボルとインデックスを生成します。シンボルとインデックスのフォーマットを確認します。

[sym,info_sym] = nrCSIRS(carrier,csirs, ...
                'OutputResourceFormat','cell')
sym=1×2 cell array
    {0x1 double}    {0x1 double}

info_sym = struct with fields:
      ResourceOrder: [2 1]
           KBarLBar: {{1x1 cell}  {1x2 cell}}
    CDMGroupIndices: {[0]  [0 1]}
             KPrime: {[0 1]  [0 1]}
             LPrime: {[0]  [0]}

[ind,info_ind] = nrCSIRSIndices(carrier,csirs, ...
                'IndexStyle','subscript','OutputResourceFormat','cell')
ind=1×2 cell array
    {0x3 uint32}    {0x3 uint32}

info_ind = struct with fields:
      ResourceOrder: [2 1]
           KBarLBar: {{1x1 cell}  {1x2 cell}}
    CDMGroupIndices: {[0]  [0 1]}
             KPrime: {[0 1]  [0 1]}
             LPrime: {[0]  [0]}

生成された出力が、指定した csirs.CSIRSType インデックスで、最初に ZP の CSI-RS リソース、次に NZP の CSI-RS リソースの順になっていることを確認します。

info_sym.ResourceOrder
ans = 1×2

     2     1

info_ind.ResourceOrder
ans = 1×2

     2     1

既定のプロパティを使用してキャリア構成オブジェクトを作成します。

carrier = nrCarrierConfig;

追跡用に設定された CSI-RS パラメーターを使って CSI-RS リソース構成オブジェクトを作成します。2 つの連続したスロットで、4 つの周期的な NZP-CSI-RS リソースを指定します。周期を 20 に設定し、各スロットに 2 つの周期的な NZP-CSI-RS リソースが含まれるように指定します。最初の 2 つのリソースのオフセットを 0 に設定します。次の 2 つのリソースのオフセットを 1 に設定します。すべてのリソースについて、行番号を 1、密度を 'three' に設定します。

csirs = nrCSIRSConfig;
csirs.CSIRSType = {'nzp','nzp','nzp','nzp'};
csirs.CSIRSPeriod = {[20 0],[20 0],[20 1],[20 1]};
csirs.RowNumber = [1 1 1 1];
csirs.Density = {'three','three','three','three'};
csirs.SymbolLocations = {6,10,6,10};
csirs.SubcarrierLocations = {0,0,0,0};

キャリア構成オブジェクトの既定のスロット番号 (スロット番号 0) について、CSI-RS のシンボルとインデックスを生成します。

ind0 = nrCSIRSIndices(carrier,csirs);
sym0 = nrCSIRS(carrier,csirs);

スロット持続時間が 1 つのキャリア グリッドにシンボルをマッピングします。

gridSize = [12*carrier.NSizeGrid carrier.SymbolsPerSlot max(csirs.NumCSIRSPorts)];
slotgrid0 = complex(zeros(gridSize));
slotgrid0(ind0) = sym0;

キャリア構成の絶対スロット番号を 0 から 1 に変更します。

carrier.NSlot = 1; 

スロット番号 1 について、CSI-RS のシンボルとインデックスを生成します。

ind1 = nrCSIRSIndices(carrier,csirs);
sym1 = nrCSIRS(carrier,csirs);

スロット持続時間が 1 つの別のキャリア グリッドにシンボルをマッピングします。

slotgrid1 = complex(zeros(gridSize));
slotgrid1(ind1) = sym1;

2 つのスロットを連結して最終グリッドを構成します。

grid = [slotgrid0 slotgrid1];

グリッドをプロットします。

imagesc(abs(grid(:,:,1)));
axis xy;
title('CSI-RS as Tracking Reference Signal');
xlabel('OFDM Symbols');
ylabel('Subcarriers');

入力引数

すべて折りたたむ

特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig オブジェクトとして指定します。

CSI-RS リソース構成パラメーター。nrCSIRSConfig オブジェクトとして指定します。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: 'OutputDataType','single' は、出力シンボルの single データ型を指定します。

生成された CSI-RS シンボルのデータ型。'OutputDataType''double' または 'single' で構成されるコンマ区切りのペアとして指定します。

データ型: char | string

CSI-RS シンボルの出力形式。'OutputResourceFormat' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'concatenated' — 出力 sym は、連結されたすべての CSI-RS シンボルを含む単一の列ベクトル。

  • 'cell' — 出力 sym は、各 cell が単一の CSI-RS リソースに対応する cell 配列。

データ型: char | string

出力引数

すべて折りたたむ

CSI-RS シンボル。複素数列ベクトルまたは複素数列ベクトルの cell 配列として返されます。

データ型: single | double

CSI-RS の位置情報。次のフィールドを含む構造体として返されます。

フィールド説明
ResourceOrder

CSIRSType インデックスに基づく CSI-RS リソースの順序。CSIRSType は、入力の csirs 構成オブジェクトのプロパティであり、関数が出力を生成するすべての CSI-RS リソースを指定します。

KBarLBar

すべての code division multiplexing (CDM) グループに対応する最も低いリソース エレメントの周波数領域と時間領域の位置

CDMGroupIndices

CDM グループのインデックス

KPrime

CDM グループ内の周波数領域のインデックス

LPrime

CDM グループ内の時間領域のインデックス

ResourceOrder を除く各フィールドは、入力の csirs 構成オブジェクトの CSIRSType プロパティで指定されたリソース順序で情報を返します。これらのフィールドは、TS 38.211 の Table 7.4.1.5.3-1 の定義に基づき、各リソースのスロット内における CSI-RS の周波数領域と時間領域の位置を表します。

参照

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

拡張機能

バージョン履歴

R2019b で導入