このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nrPUSCHDMRS
説明
例
CP-OFDM の 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 = 1; pusch.DMRS.DMRSTypeAPosition = 2; pusch.DMRS.DMRSPortSet = 2; pusch.DMRS.NIDNSCID = 10; pusch.DMRS.NSCID = 1;
single
データ型の PUSCH に関連付けられた DM-RS シンボルを生成します。
sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 624x4 single matrix
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
⋮
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 以降)
datatype
— 生成される DM-RS シンボルのデータ型
'double'
(既定値) | 'single'
生成される DM-RS シンボルのデータ型。'double'
または 'single'
として指定します。
データ型: char
| string
出力引数
sym
— DM-RS シンボル
複素行列
DM-RS シンボル。複素行列として返されます。列の数は、設定されているアンテナ ポートの数に対応します。
データ型: single
| double
複素数のサポート: あり
参照
[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++ コードを生成します。
使用上の注意および制限:
入力引数 datatype
はコンパイル時の定数でなければなりません。たとえば、出力データ型として 'single'
を指定するときは、関数 codegen
の -args
の値に {coder.Constant('OutputDataType'),coder.Constant('single')}
を含めます。詳細については、coder.Constant
(MATLAB Coder) クラスを参照してください。
バージョン履歴
R2020a で導入R2024a: リリース 18 では 8 個のアンテナ ポート、最大 8 つまでのレイヤー、および 2 つのコードワードをサポート
pusch
入力の Modulation
、NumLayers
、NumAntennaPorts
、TPMI
、および CodebookType
オブジェクト プロパティにより、PUSCH トランスミッションの 8 個のアンテナ ポート、最大 8 つまでのレイヤー、2 つのコードワードのサポートが追加されます。
R2023b: セル内ガード バンドの構成
carrier
入力の IntraCellGuardBands
オブジェクト プロパティを使用して、セル内ガード バンドを指定します。
R2023b: アンライセンス スペクトル (NR-U) の操作のための Release 16 インターレースのサポート
Interlaced PUSCH 送信を構成するには、入力引数 pusch
の Interlacing
プロパティ、RBSetIndex
プロパティ、および InterlaceIndex
プロパティを使用します。
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)