nrCSIRSIndices
CSI-RS リソース エレメント インデックスの生成
説明
[ は、TS 38.211 の Section 7.4.1.5.3 [1]で定義されているように、チャネル状態情報基準信号 (CSI-RS) のリソース エレメント インデックス ind,info] = nrCSIRSIndices(carrier,csirs)ind を返します。入力 carrier は、特定の OFDM numerology のキャリア構成パラメーターを指定します。入力 csirs は、1 つ以上のゼロ電力 (ZP) または非ゼロ電力 (NZP) の CSI-RS リソースに関する CSI-RS リソース構成パラメーターを指定します。ZP と NZP のリソースを両方とも構成する場合、csirs で指定されたリソースの順序にかかわらず、ZP の後ろに NZP が続く順序でインデックスが返されます。この関数は、CSI-RS の位置に関する追加の情報が格納された構造体 info も返します。
[ は、1 つ以上の名前と値のペアの引数を使用して、出力フォーマット オプションを指定します。指定していないオプションは既定値になります。ind,info] = nrCSIRSIndices(carrier,csirs,Name,Value)
例
既定のプロパティを使用してキャリア構成オブジェクトを作成します。このオブジェクトは、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 リソース構成オブジェクトを作成します。行番号 3 と 5、シンボル位置 13 と 9、およびサブキャリア位置 6 と 4 で、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
{0×1 double} {0×1 double}
info_sym = struct with fields:
ResourceOrder: [2 1]
KBarLBar: {{1×1 cell} {1×2 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
{0×3 uint32} {0×3 uint32}
info_ind = struct with fields:
ResourceOrder: [2 1]
KBarLBar: {{1×1 cell} {1×2 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 を引用符で囲みます。
例: 'IndexStyle','subscript','IndexBase','0based' は、出力のインデックス スタイルとインデックス ベースを指定します。
RE インデックス形式。次の値のいずれかとして指定します。
'index'— 線形インデックス形式のインデックス'subscript'— 添字行形式 [subcarrier, symbol, antenna] のインデックス
データ型: char | string
RE インデックス ベース。次の値のいずれかとして指定します。
'1based'— 1 からカウントを開始するインデックス'0based'— 0 からカウントを開始するインデックス
データ型: char | string
CSI-RS リソース エレメント インデックスの出力形式。'OutputResourceFormat' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。
'concatenated'— 出力indは、連結されたすべての CSI-RS リソース エレメント インデックスを含む単一の列ベクトル。'cell'— 出力indは、各 cell が単一の CSI-RS リソースに対応する cell 配列。
データ型: char | string
出力引数
CSI-RS リソース エレメント インデックス。次のいずれかの値として返されます。
列ベクトル — '
OutputResourceFormat' が'concatenated'に設定され、'IndexStyle' が'index'に設定されている場合、関数はこのタイプの値を返します。M 行 3 列の行列 — '
OutputResourceFormat' が'concatenated'に設定され、'IndexStyle' が'subscript'に設定されている場合、関数はこのタイプの値を返します。行列の列は、サブキャリア の数、OFDM シンボル、およびアンテナ ポートの数をそれぞれベースとした添字 [subcarrier, symbol, antenna] に対応します。cell 配列 — '
OutputResourceFormat' が'cell'に設定されている場合、関数はこのタイプの値を返します。'IndexStyle' が'index'に設定されている場合、各セルは列ベクトルになります。'IndexStyle' が'subscript'に設定されている場合、各セルは M 行 3 列の行列になります。
'IndexBase' の値に応じて、関数は 1 ベースのインデックスまたは 0 ベースのインデックスのいずれかを返します。
データ型: uint32
CSI-RS の位置情報。次のフィールドを含む構造体として返されます。
| フィールド | 説明 |
|---|---|
ResourceOrder |
|
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.
拡張機能
使用上の注意および制限:
名前と値の引数 'OutputResourceFormat' はコード生成のコンパイル時の定数でなければなりません。たとえば、'OutputResourceFormat','concatenated' を使って関数を呼び出す場合は、codegen 関数の -args の値に {coder.Constant('OutputResourceFormat'),coder.Constant('concatenated')} を含めます。詳細については、coder.Constant (MATLAB Coder) クラスを参照してください。
バージョン履歴
R2019b で導入C/C++ コード生成において、名前と値の引数 'IndexStyle' または 'IndexBase' をコンパイル時の定数として指定するという制限がなくなりました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)