このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nrPUSCHDMRSIndices
説明
は、1 つ以上の名前と値のペアの引数を使用して、出力フォーマット オプションを指定します。指定していないオプションは既定値になります。ind
= nrPUSCHDMRSIndices(carrier
,pusch
,Name,Value
)
例
コードブックベース のトランスミッション用の PUSCH DM-RS インデックスの生成
既定のプロパティを使用してキャリア構成オブジェクトを作成します。このオブジェクトは、サブキャリア間隔が 15 kHz である 10 MHz キャリアに対応します。
carrier = nrCarrierConfig;
物理アップリンク共有チャネル (PUSCH) 構成オブジェクトを作成してプロパティを指定します。トランスフォーム プリコーディングが 0 に設定されている場合、波形タイプは、サイクリック プレフィックス直交周波数分割多重 (CP-OFDM) です。
pusch = nrPUSCHConfig;
pusch.TransformPrecoding = 0;
pusch.TransmissionScheme = 'codebook';
pusch.NumAntennaPorts = 4;
pusch.TPMI = 0;
指定したパラメーターで PUSCH 復調基準信号 (DM-RS) オブジェクトを構成します。
pusch.DMRS.DMRSAdditionalPosition = 2; pusch.DMRS.DMRSTypeAPosition = 2; pusch.DMRS.DMRSPortSet = 3; pusch.DMRS.NIDNSCID = 15; pusch.DMRS.NSCID = 1;
添え字インデックス形式の PUSCH に関連付けられた DM-RS インデックスを生成します。
ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexStyle','subscript')
ind = 3744x3 uint32 matrix
2 3 1
4 3 1
6 3 1
8 3 1
10 3 1
12 3 1
14 3 1
16 3 1
18 3 1
20 3 1
⋮
PUSCH DM-RS のシンボルとインデックスの生成
サブキャリア間隔が 30 kHz で伝送帯域幅が 5 MHz のキャリア構成を作成します。
carrier = nrCarrierConfig; carrier.SubcarrierSpacing = 30; carrier.NSizeGrid = 11;
物理アップリンク共有チャネル (PUSCH) 構成オブジェクトを作成してプロパティを指定します。トランスフォーム プリコーディングが 1 に設定されている場合、波形タイプは離散フーリエ変換拡散直交周波数分割多重 (DFT-s-OFDM) です。
pusch = nrPUSCHConfig;
pusch.NSizeBWP = 9;
pusch.NStartBWP = 1;
pusch.PRBSet = 0:3;
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'intraSlot';
pusch.SecondHopStartPRB = 5;
PUSCH 復調基準信号 (DM-RS) オブジェクトを作成してプロパティを指定します。
dmrs = nrPUSCHDMRSConfig; dmrs.DMRSAdditionalPosition = 1; dmrs.DMRSTypeAPosition = 2; dmrs.DMRSPortSet = 3; dmrs.GroupHopping = 1; dmrs.SequenceHopping = 0; dmrs.NRSID = 10;
PUSCH DM-RS 構成オブジェクトを PUSCH 構成オブジェクトの DMRS プロパティに割り当てます。
pusch.DMRS = dmrs;
キャリア構成、PUSCH 構成、および出力フォーマットの name-value
ペアの引数を指定して、PUSCH DM-RS のシンボルとインデックスを生成します。
sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 96x1 single column vector
-0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 + 0.7071i
-0.7071 + 0.7071i
⋮
ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexBase','0based','IndexOrientation','bwp')
ind = 96x1 uint32 column vector
217
219
221
223
225
227
229
231
233
235
⋮
bandwidth part (BWP) グリッドを作成し、DM-RS シンボルをグリッドにマッピングします。
bwp = complex(zeros([pusch.NSizeBWP*12 carrier.SymbolsPerSlot pusch.NumLayers]));
bwp(ind+1) = sym; % Map the DM-RS symbols
BWP をキャリア リソース グリッドにマッピングし、キャリア グリッドを表示します。
grid = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot pusch.NumLayers])); % Create carrier resource grid offset = pusch.NStartBWP-carrier.NStartGrid; % BWP start location in the carrier grid grid(offset*12+1:(offset+pusch.NSizeBWP)*12,:,:) = bwp; imagesc(abs(grid(:,:,1))); axis xy; xlabel('OFDM Symbols'); ylabel('Subcarriers'); title('PUSCH DM-RS Resource Elements in the Carrier Resource Grid');
入力引数
carrier
— キャリア構成パラメーター
nrCarrierConfig
オブジェクト
特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig
オブジェクトとして指定します。この関数は、nrCarrierConfig
オブジェクトの次のプロパティのみを使用します。
pusch
— PUSCH 構成パラメーター
nrPUSCHConfig
オブジェクト
PUSCH 構成パラメーター。nrPUSCHConfig
オブジェクトとして指定します。この関数は、nrPUSCHConfig
オブジェクトの次のプロパティのみを使用します。
周波数範囲 1 (FR1) の共有スペクトル チャネル アクセスの操作では、Interlacing
プロパティを true
に設定し、RBSetIndex
オブジェクト プロパティと InterlaceIndex
オブジェクト プロパティを使用して、割り当てられた周波数リソースを指定します。 (R2023b 以降)
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は関係ありません。
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name
を引用符で囲みます。
例: 'IndexStyle','subscript','IndexBase','0based'
は、既定以外のリソース エレメントのインデックス形式プロパティを指定します。
IndexStyle
— RE インデックス形式
'index'
(既定値) | 'subscript'
RE インデックス形式。次の値のいずれかとして指定します。
'index'
— 線形インデックス形式のインデックス'subscript'
— 添字行形式 [subcarrier, symbol, antenna] のインデックス
データ型: char
| string
IndexBase
— RE インデックス ベース
'1based'
(既定値) | '0based'
RE インデックス ベース。次の値のいずれかとして指定します。
'1based'
— 1 からカウントを開始するインデックス'0based'
— 0 からカウントを開始するインデックス
データ型: char
| string
IndexOrientation
— リソース エレメントのインデックス方向
'carrier'
(既定値) | 'bwp'
リソース エレメントのインデックス方向。'IndexOrientation'
と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。
'carrier'
— キャリア グリッドを基準として参照されるインデックス'bwp'
— bandwidth part を基準として参照されるインデックス
データ型: char
| string
出力引数
ind
— DM-RS リソース エレメントのインデックス
N 行 P 列の行列 | M 行 3 列の行列
DM-RS リソース エレメントのインデックス。次の値のいずれかとして返されます。
N 行 P 列の行列 —
'IndexStyle'
が'index'
に設定されている場合、関数はこのタイプの値を返します。列数はnrPUSCHConfig
オブジェクトのTransmissionScheme
プロパティにより決まり、これらの値のいずれかとして返されます。トランスミッション レイヤーの数 — トランスミッション スキームが非コードブックの場合
構成されたアンテナ ポートの数 — トランスミッション スキームがコードブックの場合
M 行 3 列の行列 —
'IndexStyle'
が'subscript'
に設定されている場合、関数はこのタイプの値を返します。行列の列は、サブキャリア の数、OFDM シンボル、およびアンテナ ポートの数をそれぞれベースとした添字 [subcarrier, symbol, antenna] に対応します。
'IndexBase'
の値に応じて、関数は 1 ベースのインデックスまたは 0 ベースのインデックスのいずれかを返します。'IndexOrientation'
の値に応じて、関数はキャリアに基づくインデックスまたは BMP に基づくインデックスのいずれかを返します。
データ型: uint32
参照
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2020a で導入R2023b: セル内ガード バンドの構成
carrier
入力の IntraCellGuardBands
オブジェクト プロパティを使用して、セル内ガード バンドを指定します。
R2023b: アンライセンス スペクトル (NR-U) の操作のための Release 16 インターレースのサポート
Interlaced PUSCH 送信を構成するには、入力引数 pusch
の Interlacing
プロパティ、RBSetIndex
プロパティ、および InterlaceIndex
プロパティを使用します。
R2023a: C/C++ コード生成の更新
C/C++ コード生成において、名前と値の引数をコンパイル時の定数として指定するという制限がなくなりました。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)