Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

5G NR PRACH 構成

この例では、TS 38.211 の Sections 5.3.2 および 6.3.3 の定義に従って、5G New Radio (NR) の物理ランダム アクセス チャネル (PRACH) を構成する方法を説明します。ここでは、PRACH 時間リソース、およびそれらと PRACH プリアンブルの関係について学べます。また、構成テーブルを参照することなく PRACH プリアンブルを生成する方法について学べます。この例では、PRACH シンボルをリソース グリッドにマッピングする方法、および単一の PRACH プリアンブルの時間領域波形を生成する方法についても説明します。

キャリアと PRACH の構成

サポートされているサブキャリア間隔の組み合わせ

TS 38.211 の Table 6.3.3.2-1 では、初期アクセス時に PRACH と物理アップリンク共有チャネル (PUSCH) のサブキャリア間隔のサポートされている組み合わせが示されています。このテーブルには PRACH 構成オブジェクトから直接アクセスできます。

disp(nrPRACHConfig.Tables.SupportedSCSCombinations)
    LRA     PRACHSubcarrierSpacing    PUSCHSubcarrierSpacing    NRBAllocation    kbar
    ____    ______________________    ______________________    _____________    ____

     839             1.25                       15                     6           7 
     839             1.25                       30                     3           1 
     839             1.25                       60                     2         133 
     839                5                       15                    24          12 
     839                5                       30                    12          10 
     839                5                       60                     6           7 
     139               15                       15                    12           2 
     139               15                       30                     6           2 
     139               15                       60                     3           2 
     139               30                       15                    24           2 
     139               30                       30                    12           2 
     139               30                       60                     6           2 
     139               60                       60                    12           2 
     139               60                      120                     6           2 
     139              120                       60                    24           2 
     139              120                      120                    12           2 
     139              120                      480                     3           1 
     139              120                      960                     2          23 
     139              480                      120                    48           2 
     139              480                      480                    12           2 
     139              480                      960                     6           2 
     139              960                      120                    96           2 
     139              960                      480                    24           2 
     139              960                      960                    12           2 
     571               30                       15                    96           2 
     571               30                       30                    48           2 
     571               30                       60                    24           2 
     571              120                      120                    48           2 
     571              120                      480                    12           1 
     571              120                      960                     7          47 
     571              480                      120                   192           2 
     571              480                      480                    48           2 
     571              480                      960                    24           2 
    1151               15                       15                    96           1 
    1151               15                       30                    48           1 
    1151               15                       60                    24           1 
    1151              120                      120                    97           6 
    1151              120                      480                    25          23 
    1151              120                      960                    13          45 

システム情報ブロック 1 (SIB1) には、PUSCH のサブキャリア間隔を定義する無線リソース制御 (RRC) 情報要素 "UplinkConfigCommonSIB" (TS 38.331 の Section 6.3.2) が含まれています。ユーザー端末 (UE) は、ランダムアクセス手続き中に PRACH プリアンブルを送信するためにこの情報を必要とします。

キャリア構成

PRACH プリアンブルの送信では PUSCH が定義されていないため、PUSCH のサブキャリア間隔とリソース グリッドの周波数領域の寸法を構成するには、nrCarrierConfigオブジェクトを使用します。

carrier = nrCarrierConfig;
carrier.SubcarrierSpacing = 15; % Subcarrier spacing in kHz (15, 30, 60, 120, 480, 960)

PRACH プリアンブルはキャリアに基づいて変調されるため、キャリアのサブキャリア間隔を変更すると PRACH の波形が変化します。キャリアの変更が波形の生成にどのように影響するかを確認するには、単一の PRACH プリアンブルの波形の生成のセクションで示されているように、いくつかのキャリアについて Information associated with PRACH OFDM modulation の出力をチェックします。

PRACH 構成

PRACH のパラメーターを構成するには、nrPRACHConfigオブジェクトのプロパティ値を設定します。TS 38.211 によると、PRACH のパラメーターの組み合わせがどれも有効なわけではありません。この制限が nrPRACHConfig のプロパティにどのように反映されているかの詳細については、nrPRACHConfigを参照してください。

prach = nrPRACHConfig;
prach.FrequencyRange = 'FR1';            % Frequency range ('FR1', 'FR2')
prach.DuplexMode = 'FDD';                % Duplex mode ('FDD', 'TDD', 'SUL')
prach.ConfigurationIndex = 27;           % Configuration index (0...262). This value is automatically updated in the next section.
prach.SubcarrierSpacing = 15;            % Subcarrier spacing in kHz (1.25, 5, 15, 30, 60, 120, 480, 960)
prach.SequenceIndex = 0;                 % Logical root sequence index (0...1149)
prach.PreambleIndex = 0;                 % Scalar preamble index within the cell (0...63)
prach.RestrictedSet = 'UnrestrictedSet'; % Type of restricted set ('UnrestrictedSet','RestrictedSetTypeA','RestrictedSetTypeB')
prach.ZeroCorrelationZone = 0;           % Cyclic shift configuration index (0...15)
prach.RBOffset = 0;                      % Starting resource block index of the initial uplink bandwidth part (BWP) relative to carrier resource grid (0...274)
prach.FrequencyStart = 0;                % Frequency offset of lowest PRACH transmission occasion in frequency domain with respect to physical resource block 0 of the initial uplink BWP (0...274)
prach.FrequencyIndex = 0;                % Index of the PRACH transmission occasions in frequency domain (0...7)
prach.TimeIndex = 0;                     % Index of the PRACH transmission occasions in time domain (0...6)
                                         % For formats B2 and B3, this value is automatically updated in the next section.
prach.ActivePRACHSlot = 0;               % Active PRACH slot number within a subframe or a 60 kHz slot (0, 1, 3, 7, 15)
prach.NPRACHSlot = 0;                    % PRACH slot number

prach.LRA を変更し、3GPP 仕様の Release 16 で導入された Zadoff-Chu プリアンブル シーケンス長の値を使用することもできます。

ConfigurationIndex プロパティおよび TimeIndex プロパティは、PRACH の形式によって異なります。SubcarrierSpacingActivePRACHSlot、および NPRACHSlot の各プロパティは、PRACH プリアンブルがアクティブかどうかを判断します。次の 2 つのセクションで、これらのプロパティの設定方法について説明します。

推奨形式に基づく ConfigurationIndex の設定方法

TS 38.211 の Table 6.3.3.2-2 ~ 6.3.3.2-4 では、時間領域で利用できるすべての PRACH 構成が定義されています。周波数範囲とデュプレックス モードの組み合わせにより、どの構成テーブルを使用するかが指定されます。有効な組み合わせは次のとおりです。

  • FR1 と FDD (paired spectrum): Table 6.3.3.2-2

  • FR1 と SUL (付加アップリンク): Table 6.3.3.2-2

  • FR1 と TDD (unpaired spectrum): Table 6.3.3.2-3

  • FR2 と TDD (unpaired spectrum): Table 6.3.3.2-4

paired spectrum と unpaired spectrum をデュプレックス モードに関連付ける方法の詳細については、TS 38.331 の Section 6.3.2 で規定された RRC 情報要素 "FrequencyInfoUL""FDD-OrSUL" フィールドを参照してください。

これらの構成テーブルには、nrPRACHConfig オブジェクトの Tables プロパティからアクセスできます。たとえば、以下のようになります。

nrPRACHConfig.Tables.ConfigurationsFR1PairedSUL % TS 38.211 Table 6.3.3.2-2
nrPRACHConfig.Tables.ConfigurationsFR1Unpaired  % TS 38.211 Table 6.3.3.2-3
nrPRACHConfig.Tables.ConfigurationsFR2          % TS 38.211 Table 6.3.3.2-4

TS 38.211 では、ロング プリアンブルまたはショート プリアンブルとして 13 種類の PRACH 形式が定義および分類されています。ロング プリアンブルは長さが LRA=839 のシーケンスから成り、ショート プリアンブルは長さが LRA=139,571,1151 のシーケンスから成ります。571 と 1151 の値は、3GPP 仕様の Release 16 で導入された共有スペクトル チャネル アクセスに関連付けられています。ロング プリアンブルに関連付けられている形式: 0, 1, 2, 3。ショート プリアンブルに関連付けられている形式: A1、A2、A3、B1、B2、B3、B4、C0、C2 (複合形式 A1/B1、A2/B2、および A3/B3 を含む)。

Table 6.3.3.2-2 ~ 6.3.3.2-4 の構成インデックスは、各プリアンブル形式を送信できる時間リソースを定義します。各プリアンブル形式は、いくつかの構成インデックスに関連付けられています。推奨形式に基づいて ConfigurationIndex の値を設定することで、構成テーブルを参照することなく PRACH 形式を選択できます。この値は、推奨プリアンブル形式を送信できる時間リソースの最大範囲に対応します。

format = 'B2'; % PRACH preamble format ('0','1','2','3','A1','A2','A3','B1','B2','B3','B4','C0','C2')

FrequencyRange および DuplexMode に基づいて構成テーブルを選択します。

if strcmpi(prach.FrequencyRange,'FR1')
    if strcmpi(prach.DuplexMode,'TDD') % TS 38.211 Table 6.3.3.2-3
        configTable = nrPRACHConfig.Tables.ConfigurationsFR1Unpaired;
    else % TS 38.211 Table 6.3.3.2-2
        configTable = nrPRACHConfig.Tables.ConfigurationsFR1PairedSUL;
    end
else % TS 38.211 Table 6.3.3.2-4
    configTable = nrPRACHConfig.Tables.ConfigurationsFR2;
end

Table 6.3.3.2-2 の同じショート プリアンブル形式に対応するすべての構成のうち、最後から 2 番目の構成に PRACH プリアンブル送信用の時間リソースが最も多く含まれています。Table 6.3.3.2-2 の複合形式など、それ以外の場合については、最後の構成に PRACH プリアンブル送信用の時間リソースが最も多く含まれています。この例では、この情報を使用して ConfigurationIndex プロパティの値を設定します。B2 または B3 の形式を選択した場合、この例では TimeIndex の最大値が設定されます。

if strcmpi(prach.FrequencyRange,'FR1') && strcmpi(prach.DuplexMode,'FDD') && ...
        any(strcmpi(format,{'A1','A2','A3','B1','B4','C0','C2'}))
    prach.ConfigurationIndex = find(strcmpi(configTable.PreambleFormat,format),1,'last') - 2;
else
    if ~any(strcmpi(format,{'B2','B3'}))
        prach.ConfigurationIndex = find(strcmpi(configTable.PreambleFormat,format),1,'last') - 1;
    else
        % Format B2 and B3 only appear in mixed formats, so select an
        % appropriate mixed format and set the maximum value of TimeIndex
        prach.ConfigurationIndex = find(endsWith(configTable.PreambleFormat,format),1,'last') - 1;
        prach.TimeIndex = prach.NumTimeOccasions - 1;
    end
end

アクティブな PRACH プリアンブルを生成するための SubcarrierSpacingActivePRACHSlot、および NPRACHSlot の選択方法

TS 38.211 の Table 6.3.3.2-2 ~ 6.3.3.2-4 では、どの PRACH スロットがアクティブな PRACH プリアンブルに対応するかが記載されています。これらのテーブルの 3 番目と 4 番目の列は、アクティブな PRACH プリアンブルに対応するシステム フレーム番号を表します。5 番目の列は、選択した周波数範囲 (FR1 または FR2) に応じ、それぞれアクティブな PRACH プリアンブルに対応する 15 kHz または 60 kHz のサブキャリア間隔のスロット番号を表します。現在の時間リソースにおいて PRACH プリアンブルがアクティブでない場合、時間送信は行われません。

たとえば、PRACH サブキャリア間隔が 15 kHz に設定されている場合、Table 6.3.3.2-2 で示されているように、選択した PRACH 構成は任意のシステム フレームとサブフレームでアクティブになります。

disp(configTable(prach.ConfigurationIndex+1,:))
    ConfigurationIndex    PreambleFormat    x      y          SubframeNumber         StartingSymbol    PRACHSlotsPerSubframe    NumTimeOccasions    PRACHDuration
    __________________    ______________    _    _____    _______________________    ______________    _____________________    ________________    _____________

           146              {'A2/B2'}       1    {[0]}    {[0 1 2 3 4 5 6 7 8 9]}          0                     2                     3                  4      

現在のスロットで PRACH プリアンブルがアクティブであることを確認するには、関数nrPRACHの出力 prachSymbols をチェックします。現在のスロットで PRACH プリアンブルがアクティブでない場合、この出力は空になります。アクティブな PRACH プリアンブルを生成するには、prachSymbols が空でなくなるまで NPRACHSlot プロパティの値をループ処理します。

このセクションで記載されているケースでは、現在の PRACH ショート プリアンブルがアクティブかどうかをチェックする方法を示します。どちらのケースも PRACH ショート プリアンブル形式 B2 について取り上げています。形式を変更した場合、NPRACHSlot プロパティおよび ActivePRACHSlot プロパティの値がこの例で示されているのとは異なる場合に PRACH プリアンブルがアクティブになる可能性があります。

ケース 1: 標準的な PRACH サブキャリア間隔構成

選択した形式について、標準的なサブキャリア間隔構成で PRACH プリアンブルを設定します。この例では、FR1 のショート プリアンブルで標準的に使用される値である 15 kHz のサブキャリア間隔を使用する場合について考えます。サブキャリア間隔の値、または形式を変更した場合、アクティブな PRACH スロットを取得するには ActivePRACHSlot および NPRACHSlot の値の変更が必要になる場合があります。

% Store the user-defined configuration
subcarrierSpacing = prach.SubcarrierSpacing;
activePRACHSlot = prach.ActivePRACHSlot;
nPRACHSlot = prach.NPRACHSlot;

% Set values of SubcarrierSpacing, ActivePRACHSlot, and NPRACHSlot for this
% case
if any(strcmpi(format,{'0','1','2'}))
    prach.SubcarrierSpacing = 1.25;
elseif strcmpi(format,'3')
    prach.SubcarrierSpacing = 5;
else % Short preambles
    if strcmpi(prach.FrequencyRange,'FR1')
        prach.SubcarrierSpacing = 15; % Valid values: 15, 30
    else % FR2
        prach.SubcarrierSpacing = 60; % Valid values: 60, 120, 480, 960
    end
end
prach.ActivePRACHSlot = 0;
prach.NPRACHSlot = 0;

TS 38.211 の Table 6.3.3.2-2 によれば、UE は任意のスロットで PRACH を送信できます。

prachSymbols = nrPRACH(carrier,prach);
active = ~isempty(prachSymbols);
disp(['active: ' num2str(active)])
active: 1

ケース 2: 代替の PRACH サブキャリア間隔構成

PRACH サブキャリア間隔を 30 kHz に設定し、キャリアのサブキャリア間隔には既定値の 15 kHz を使用します。これは、各キャリア スロットに 2 つの PRACH スロットが含まれることを意味します。PRACH ロング プリアンブルと周波数範囲 FR2 は 30 kHz のサブキャリア間隔には対応していないため、今回のケースではそれらについて考慮しません。

PRACH サブキャリア間隔が 30 kHz の場合、15 kHz のサブキャリア間隔内で 2 つの PRACH スロットのうち 1 つのみがアクティブになることができます。TS 38.211 の Table 6.3.3.2-2 によれば、PRACH プリアンブル形式 B2 では最初または 2 番目の PRACH スロットがアクティブになることができます。prach.ActivePRACHSlot プロパティの値は、現在のキャリア サブフレーム内でどの PRACH スロットがアクティブであるかを定義します。このプロパティは、TS 38.211 の Section 5.3.2 で定義された nslotRA パラメーターです。

このケースでは、NPRACHSlot プロパティ値および ActivePRACHSlot プロパティ値の 4 つの組み合わせを示し、PRACH プリアンブルがアクティブになるかどうかをテストしています。このケースでは、両方の組み合わせについて、PRACH プリアンブルの時間領域の構造のプロットを表示しています。このプロットでは、アクティブな PRACH プリアンブルが、ActivePRACHSlot0 のときにキャリア スロットの前半を占有し、ActivePRACHSlot1 のときにキャリア スロットの後半を占有することが示されています。このプロットの詳細については、選択した PRACH プリアンブルの時間領域の構造のプロットのセクションを参照してください。

if ~any(strcmpi(format,{'0','1','2','3'})) && strcmpi(prach.FrequencyRange,'FR1') % Short preamble formats and FR1 only
    % Set subcarrier spacing to 30 kHz for this case
    prach.SubcarrierSpacing = 30;
    
    % Define all combinations of NPRACHSlot and ActivePRACHSlot to check
    nPRACHSlotCase2 = [0, 1, 2];
    activePRACHSlotCase2 = [0, 1];
    [NPRACHSlotCase2, ActivePRACHSlotCase2] = meshgrid(nPRACHSlotCase2,activePRACHSlotCase2);
    prachActivityTable = table(NPRACHSlotCase2(:),ActivePRACHSlotCase2(:),false*ones(numel(NPRACHSlotCase2),1), ...
        'VariableNames',{'NPRACHSlot','ActivePRACHSlot','active'});
    
    % Loop over all combinations
    for i = 1:numel(NPRACHSlotCase2)
        prach.NPRACHSlot = NPRACHSlotCase2(i);
        prach.ActivePRACHSlot = ActivePRACHSlotCase2(i);
        prachSymbols = nrPRACH(carrier,prach);
        active = ~isempty(prachSymbols); % Check if the PRACH preamble is active in the current slot
        prachActivityTable.active(i) = active;
        if active && prach.NPRACHSlot < 2
            % Plot the time-domain structure of the PRACH preamble for
            % active PRACH preambles in the first two slots
            hPRACHPreamblePlot(carrier,prach);
        end
    end
else
    % Display a message for the filtered cases
    if any(strcmpi(format,{'0','1','2','3'}))
        disp(['PRACH long preamble format ' format ' is not compatible with 30 kHz subcarrier spacing.'])
    else % FR2
        disp('Frequency range FR2 is not compatible with 30 kHz subcarrier spacing.')
    end
end

Figure Time-Domain Structure of the Current PRACH Preamble contains an axes object. The axes object with title Time-Domain Structure of PRACH Preamble Format A2/B2 within One 15 kHz Carrier Slot (NPRACHSlot = [0...1]), xlabel Time [ms] contains 36 objects of type patch. These objects represent Cyclic Prefix, Sequence, Cyclic Prefix - current, Sequence - current, Guard Period - current.

Figure Time-Domain Structure of the Current PRACH Preamble contains an axes object. The axes object with title Time-Domain Structure of PRACH Preamble Format A2/B2 within One 15 kHz Carrier Slot (NPRACHSlot = [0...1]), xlabel Time [ms] contains 36 objects of type patch. These objects represent Cyclic Prefix, Sequence, Cyclic Prefix - current, Sequence - current, Guard Period - current.

次のテーブルは、サブキャリア間隔が 30 kHz であるショート プリアンブル形式について、選択した NPRACHSlot プロパティ値および ActivePRACHSlot プロパティ値の各組み合わせで PRACH プリアンブルがアクティブになるかどうかを示しています。

if ~any(strcmpi(format,{'0','1','2','3'})) && strcmpi(prach.FrequencyRange,'FR1') % Short preamble formats and FR1 only
    disp(prachActivityTable)
end
    NPRACHSlot    ActivePRACHSlot    active
    __________    _______________    ______

        0                0             1   
        0                1             0   
        1                0             0   
        1                1             1   
        2                0             1   
        2                1             0   

PRACH 構成オブジェクトをユーザー定義の構成に戻します。

prach.SubcarrierSpacing = subcarrierSpacing;
prach.ActivePRACHSlot = activePRACHSlot;
prach.NPRACHSlot = nPRACHSlot;

PRACH 構成の検査

PRACH 構成オブジェクトには、現在の構成に関する追加の情報を提供する読み取り専用のプロパティも用意されています。

  • プリアンブル形式: Format

  • 許容される PRACH time occasion の最大数: NumTimeOccasions

  • 1 つの transmission occasion に対応する PRACH スロット グリッド内の OFDM シンボルの数: PRACHDuration

  • 現在の PRACH 機会における最初の OFDM シンボルの位置: SymbolLocation

  • 公称 PRACH スロットが占めるサブフレームの数: SubframesPerPRACHSlot

  • 期間全体の PRACH スロットの数: PRACHSlotsPerPeriod

disp(prach)
  nrPRACHConfig with properties:

           FrequencyRange: 'FR1'
               DuplexMode: 'FDD'
       ConfigurationIndex: 146
        SubcarrierSpacing: 15
                      LRA: 139
            SequenceIndex: 0
            PreambleIndex: 0
            RestrictedSet: 'UnrestrictedSet'
      ZeroCorrelationZone: 0
                 RBOffset: 0
           FrequencyStart: 0
           FrequencyIndex: 0
                TimeIndex: 2
          ActivePRACHSlot: 0
               NPRACHSlot: 0

   Read-only properties:
                   Format: 'B2'
         NumTimeOccasions: 3
            PRACHDuration: 4
           SymbolLocation: 8
    SubframesPerPRACHSlot: 1
      PRACHSlotsPerPeriod: 10

   Constant properties:
                   Tables: [1x1 struct]

選択した PRACH プリアンブルの時間領域の構造のプロット

このプロットでは、(現在のキャリア スロット内で) 利用可能な PRACH 機会が薄い色で示され、(選択した TimeIndex に対応する) 現在の PRACH 機会が濃い色で示されます。このプロットでは、サイクリック プレフィックス (CP)、PRACH のアクティブ シーケンス期間、最後のガード期間 (GP) が、それぞれ赤、青、緑で示されます。現在のスロットで PRACH プリアンブルがアクティブでない場合、このプロットは空になります。このプロットでは、選択した PRACH 構成の時間関連のプロパティ、およびキャリア スロット内の PRACH の位置が示されます。PRACH のサブキャリア間隔がキャリアのサブキャリア間隔より小さい場合は、PRACH プリアンブルを送信するのに必要な最小数のキャリア スロットがこのプロットに示されます。時間的に最後の PRACH occasion がキャリア スロットの終端に対応するとは限りません。現在の PRACH 構成で PRACH を送信できない時間値のプロットは空になります。

hPRACHPreamblePlot(carrier,prach);

Figure Time-Domain Structure of the Current PRACH Preamble contains an axes object. The axes object with title Time-Domain Structure of PRACH Preamble Format A2/B2 within One 15 kHz Carrier Slot (NPRACHSlot = 0), xlabel Time [ms] contains 36 objects of type patch. These objects represent Cyclic Prefix, Sequence, Cyclic Prefix - current, Sequence - current, Guard Period - current.

PRACH シンボルの生成とリソース グリッドへのマッピング

PRACH リソース グリッドでは、時間領域と周波数領域の両方における PRACH プリアンブルの位置が示されます。このリソース グリッドを使用して次を行うことができます。

  • 時間領域と周波数領域の両方における PRACH プリアンブルの視覚的な検査

  • リソース グリッドの変調によって得られる PRACH 波形の生成

PRACH リソース グリッドは次の手順で生成します。

  1. 空のグリッドを生成

  2. PRACH 波形で送信するシンボルを生成

  3. PRACH シンボルの位置を示す周波数インデックスと時間インデックスを生成

  4. PRACH シンボルを PRACH リソース グリッドにマッピング

空の PRACH リソース グリッドを生成します。

prachGrid = nrPRACHGrid(carrier,prach);
size(prachGrid)
ans = 1×2

   624    14

PRACH シンボルを生成します。シンボルの数は、PRACH 構成によって異なります。現在のスロットで PRACH プリアンブルがアクティブでない場合、出力 prachSymbols は空になります。

prachSymbols = nrPRACH(carrier,prach);

PRACH インデックスを生成します。prachIndices の各要素の値は、PRACH リソース グリッド内における prachSymbols の各要素の位置の線形インデックスです。

prachIndices = nrPRACHIndices(carrier,prach);

インデックスを使用し、PRACH シンボルを PRACH リソース グリッドにマッピングします。このマッピングでは、TS 38.211 の Section 6.3.3.2 の βPRACH を表すため、PRACH シンボルにスケーリング係数 1 が適用されます。

prachGrid(prachIndices) = 1 * prachSymbols;

補助関数 hPRACHResourceGridPlot は、PRACH リソース グリッドをプロットしてアクティブな PRACH の位置を示します。このプロットでは、PRACH を送信できるすべての time occasion が示されます。このプロットでは、現在のキャリア スロット内で利用可能な PRACH 機会が薄い青で示され、(選択した TimeIndex に対応する) 現在の PRACH 機会が濃い青で示されます。現在の構成においてどの PRACH 機会によっても使用されない OFDM シンボルについては、そのプロットが空になります。現在のスロットで PRACH プリアンブルがアクティブでない場合、このプロットは空になります。

hPRACHResourceGridPlot(carrier,prach);

Figure PRACH Resource Grid contains an axes object. The axes object with title PRACH Resource Grid (Size [624 14]), xlabel OFDM symbol, ylabel Subcarrier contains an object of type image.

次の場合を除き、PRACH リソース グリッドには 14 個の OFDM シンボルが含まれます。

  • 1 つのサブフレームにまたがる 1 つのアクティブ シーケンス期間が各プリアンブルに含まれる、ロング プリアンブル形式 0。この場合、形式 0 に関連するスロット グリッドには 1 つの OFDM シンボルが含まれます。

  • 2 つのサブフレームにまたがる 2 つのアクティブ シーケンス期間が各プリアンブルに含まれる、ロング プリアンブル形式 1。この場合、形式 1 に関連するスロット グリッドには 2 つの OFDM シンボルが含まれます。

  • 4 つのサブフレームにまたがる 4 つのアクティブ シーケンス期間が各プリアンブルに含まれる、ロング プリアンブル形式 2。この場合、形式 2 に関連するスロット グリッドには 4 つの OFDM シンボルが含まれます。

  • 1 つのサブフレームにまたがる 4 つのアクティブ シーケンス期間が各プリアンブルに含まれる、ロング プリアンブル形式 3。この場合、形式 3 に関連するスロット グリッドには 4 つの OFDM シンボルが含まれます。

  • 各プリアンブルに 1 つのアクティブ シーケンス期間が含まれる、ショート プリアンブル形式 C0。ガードとサイクリック プレフィックスが含まれるため、このプリアンブルは 2 つの OFDM シンボルにまたがります。この場合、形式 C0 に関連するスロット グリッドには 7 つの OFDM シンボルが含まれます。

PRACH 構成オブジェクトの PRACHDuration プロパティの値から、アクティブ シーケンス期間の数を取得できます。

単一の PRACH プリアンブルの波形の生成

PRACH リソース グリッドを変調し、単一の PRACH プリアンブルの時間領域波形を生成します。OFDM シンボルのウィンドウ処理とオーバーラップ処理を適用する時間領域サンプルの数を設定するには、windowing を使用します。この例では、ウィンドウ処理用の既定値を使用します。ウィンドウ処理の詳細については、nrPRACHOFDMModulateを参照してください。

windowing = [];
[prachWaveform,prachInfo] = nrPRACHOFDMModulate(carrier,prach,prachGrid,'Windowing',windowing);

出力 prachWaveform は、時間領域波形に対応する列ベクトルです。出力 prachInfo は、PRACH に関連する寸法情報を提供する構造体です。この例では、補助関数 hPRACHInfoDisplay を使用してこの情報を表示します。この関数は、各 OFDM シンボルの CP、PRACH アクティブ シーケンス期間 TSEQ、および GP に対応するサンプル数に関連する情報を表形式で表示します。この表では、リソース グリッドに収まるすべての OFDM シンボルがリストされます。ショート プリアンブル形式の場合、* が付いた値は、現在の PRACH 機会を除く利用可能なすべての PRACH 機会 (リソース グリッドのプロットにおいて薄い青でマークされた部分) に対応します。ショート プリアンブル形式の場合、山かっこで囲まれた値は、現在の構成においてどの PRACH occasion でも使用されない OFDM シンボルを表します (リソース グリッドのプロットの時間領域における空の空間に対応)。

PRACHDurationSymbolLocation、および NumTimeOccasions の各プロパティについて、OFDM シンボルに関連する情報をチェックします。これらのプロパティは次を示します。

  • 各 PRACH 機会は 4 個の OFDM シンボルにまたがる

  • 現在の PRACH 機会は OFDM シンボル 8 で始まる

  • 時間領域で 3 つの PRACH occasion を利用できる

hPRACHInfoDisplay(carrier,prach,windowing);
Information associated with PRACH:
   SubcarrierSpacing:         15 kHz
   Number of subcarriers:     624

Information associated with PRACH OFDM modulation:
   Nfft:                      1024
   Windowing:                 72
   Offset:                    0 samples

   Symbol    TCP     TSEQ       GP
   ------  ------   ------    -----
      0*     296*    1024*       0*
      1*       0*    1024*       0*
      2*       0*    1024*       0*
      3*       0*    1024*       0*
      4*     296*    1024*       0*
      5*       0*    1024*       0*
      6*       0*    1024*       0*
      7*       0*    1024*       0*
      8      180     1024        0
      9        0     1024        0
     10        0     1024        0
     11        0     1024      108
    <12>   <   0>   <1024>   <   0>
    <13>   <   0>   <1024>   <   0>

       *  : OFDM symbols for unused PRACH time occasions
      <#> : OFDM symbols not used by any PRACH time occasion
            for the current configuration

   Total samples:             15360
   Sample rate:               15.360 MHz
   Duration:                  1.000 ms
   Total number of subframes: 1

まとめとその他の調査

この例では、PRACH の構成方法、選択した形式に基づく構成インデックスの設定方法、および現在の時間リソースにおいて PRACH プリアンブルがアクティブかどうかを判断する方法を示します。この例では、PRACH リソース グリッド、および時間領域波形の生成について説明します。PRACH プリアンブルの時間領域の構造をプロットすると、選択した構成について 1 つのサブフレーム内で利用可能なすべての PRACH occasion が表示されます。リソース グリッドをプロットすると、選択した構成において時間領域と周波数領域の両方で利用可能なすべての PRACH occasion が表示されます。

この例は、単一の PRACH プリアンブルの波形を生成する方法を示しています。複数の PRACH プリアンブルの波形を生成する例については、5G NR PRACH 波形の生成を参照してください。

参考文献

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

  2. 3GPP TS 38.331. "NR; Radio Resource Control (RRC); Protocol specification." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

参考

関数

オブジェクト

関連するトピック