Main Content

nrPRACHConfig

PRACH configuration parameters

Description

The nrPRACHConfig object sets physical random access channel (PRACH) configuration parameters for a PRACH preamble, as defined in TS 38.211 Section 5.3.2 and Section 6.3.3 [1].

Creation

Description

prach = nrPRACHConfig creates a PRACH configuration object with default properties.

example

prach = nrPRACHConfig(Name,Value) specifies properties using one or more name-value pair arguments. Enclose each property in quotes. For example, 'ConfigurationIndex',106,'SubcarrierSpacing',30 specifies the time resource and subcarrier spacing for the PRACH preamble. Unspecified properties take their default values.

Properties

expand all

Configurable PRACH Properties

Frequency range, specified as 'FR1' or 'FR2'.

Use this property together with the DuplexMode property to specify these PRACH configuration tables from TS 38.211.

  • To specify Table 6.3.3.2-2, set FrequencyRange to 'FR1' and DuplexMode to 'FDD' or 'SUL'.

  • To specify Table 6.3.3.2-3, set FrequencyRange to 'FR1' and DuplexMode to 'TDD'.

  • To specify Table 6.3.3.2-4, set FrequencyRange to 'FR2' and DuplexMode to 'TDD'.

Data Types: char | string

Duplex mode for uplink transmission, specified as one of these values:

  • 'FDD' — Use this value to specify frequency division duplex (FDD) mode for paired spectrum.

  • 'TDD' — Use this value to specify time division duplex (TDD) mode for unpaired spectrum.

  • 'SUL' — Use this value to specify supplementary uplink.

Use this property together with the FrequencyRange property to specify these PRACH configuration tables from TS 38.211:

  • To specify Table 6.3.3.2-2, set FrequencyRange to 'FR1' and DuplexMode to 'FDD' or 'SUL'.

  • To specify Table 6.3.3.2-3, set FrequencyRange to 'FR1' and DuplexMode to 'TDD'.

  • To specify Table 6.3.3.2-4, set FrequencyRange to 'FR2' and DuplexMode to 'TDD'.

Data Types: char | string

Time resource of PRACH preamble, specified as an integer from 0 to 255. This property specifies a configuration index from Tables 6.3.3.2-2 to 6.3.3.2-4 in TS 38.211. Properties FrequencyRange and DuplexMode determine the actual configuration table to consider.

This property is the higher layer parameter prach-ConfigurationIndex.

Data Types: double

Subcarrier spacing for the PRACH in kHz, specified as 1.25, 5, 15, or 30 for frequency range FR1 and 60 or 120 for frequency range FR2.

Set this property in relation to the preamble format property Format. To identify valid preamble format and subcarrier spacing combinations, see the LongPreambleFormats and ShortPreambleFormats fields of the Tables property. For more information, see Table 6.3.3.1-1 for long preambles and Table 6.3.3.1-2 for short preambles.

Data Types: double

Logical root sequence index, specified as an integer from 0 to 837.

This property corresponds to parameter i in TS 38.211 Tables 6.3.3.1-3 and 6.3.3.1-4 and is the higher layer parameter prach-RootSequenceIndex.

Data Types: double

Preamble index within the cell, specified as an integer from 0 to 63.

This property is the higher layer parameter ra-PreambleIndex.

Data Types: double

Type of restricted set, specified as 'UnrestrictedSet', 'RestrictedSetTypeA', or 'RestrictedSetTypeB'. Set this property in relation to the cyclic shift configuration index property ZeroCorrelationZone, as defined by NCS in Tables 6.3.3.1-5 to 6.3.3.1-7 from TS 38.211.

Data Types: char | string

Cyclic shift configuration index, specified as an integer from 0 to 15. Use this property together with the RestrictedSet and SubcarrierSpacing properties to retrieve the number of cyclic shifts for the sequence generation. For more information, see TS 38.211 Tables 6.3.3.1-5 to 6.3.3.1-7.

Data Types: double

Starting resource block (RB) index of the initial uplink bandwidth part (BWP), relative to the carrier resource grid, specified as an integer from 0 to 274.

Data Types: double

Offset of lowest PRACH transmission occasion, in frequency domain, relative to the physical resource block (PRB) 0, specified as an integer from 0 to 274.

This property corresponds to parameter nRAstart in TS 38.211 Section 5.3.2 and is the higher layer parameter msg1-FrequencyStart.

Data Types: double

Index of PRACH transmission occasion, in frequency domain, specified as an integer from 0 to 7. The frequency index must be in the range from 0 to M − 1, where M is 1, 2, 4, or 8.

This property corresponds to parameter nRA in TS 38.211 Sections 5.3.2 and 6.3.3.2 and is the higher layer parameter msg1-FDM defined in TS 38.331 Section 6.3.2.

Data Types: double

Index of the PRACH transmission occasion, in time domain, specified as an integer from 0 to 6. Set this property in relation to the length of the Zadoff-Chu preamble sequence, referred to as LRA in TS 38.211 Section 6.3.3.

  • When the LRA property is 839, TimeIndex must be 0.

  • When the LRA property is 139, TimeIndex must be in the range from 0 ≤ to NumTimeOccasions − 1.

This property corresponds to parameter ntRA in TS 38.211 Section 5.3.2.

Data Types: double

Position of active PRACH slot within a subframe (for FR1) or a 60 kHz slot (for FR2), specified as 0 or 1.

  • If the SubcarrierSpacing property is set to 1.25, 5, 15, or 60, then ActivePRACHSlot must be 0.

  • If SubcarrierSpacing is set to 30 or 120, then ActivePRACHSlot must be set based on configuration tables TS 38.211 Table 6.3.3.2-2 to Table 6.3.3.2-4.

To specify the frequency range of the carrier as FR1 or FR2, use the FrequencyRange property.

This property corresponds to parameter nslotRA in TS 38.211 Section 5.3.2.

Data Types: double

PRACH slot number, specified as a nonnegative integer. You can set NPRACHSlot to a value larger than the number of slots per frame. For example, you can set this value using transmission loop counters in a MATLAB® simulation. In this case, you might have to ensure that the property value is modulo the number of slots per frame in a calling code.

Data Types: double

Nonconfigurable PRACH Properties

The object automatically sets these properties based on configurable PRACH property values by using the configuration tables from TS 38.211 Section 6.3.3.

This property is read-only.

Preamble format, defined in TS 38.211 Tables 6.3.3.1-1 and 6.3.3.1-2, returned as '0', '1', '2', '3', 'A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'B4', 'C0', or 'C2'.

For short preamble format C0, each preamble has one active sequence period. Because the preamble spans two OFDM symbols, including the guard and the cyclic prefix, the grid related to format C0 has 7 OFDM symbols instead of 14.

Data Types: char | string

This property is read-only.

Length of Zadoff-Chu preamble sequence, returned as 839 for long preambles or 139 for short preambles.

Data Types: double

This property is read-only.

Number of time-domain PRACH occasions within a PRACH slot, returned as an integer from 0 to 7. For long preambles, NumTimeOccasions is always 1. For more details, see TS 38.211 Section 5.3.2.

This property corresponds to parameter NtRA,slot in TS 38.211 Tables 6.3.3.2-2 to 6.3.3.2-4.

Data Types: double

This property is read-only.

Number of OFDM symbols in the PRACH slot grid, corresponding to one transmission occasion, returned as an integer from 1 to 12.

This property corresponds to parameter NdurRA,slot in TS 38.211 Tables 6.3.3.2-2 to 6.3.3.2-4. For format C0, because the grid has 7 OFDM symbols instead of 14, the object sets PRACHDuration to NdurRA,slot / 2.

For long preamble formats 0 and 1, PRACHDuration is 1 and 2, respectively. For long preamble formats 2 and 3, PRACHDuration is 4. For more information on long preamble formats, see Table 6.3.3.1-1.

Data Types: double

This property is read-only.

First OFDM symbol location in current PRACH occasion within a slot, returned as an integer from 0 to 26. If the ActivePRACHSlot property is set to 1, this location can fall outside a PRACH slot.

This property corresponds to parameter l in TS 38.211 Section 5.3.2 with these exceptions.

  • For format C0, because the grid has 7 OFDM symbols instead of 14, the object sets SymbolLocation to l / 2.

  • For long preamble formats characterized by starting symbol location 7 in Table 6.3.3.2-3, the object sets the SymbolLocation to 0.

Data Types: double

This property is read-only.

Total number of subframes per nominal PRACH slot, returned as 0.125, 0.25, 0.5, 1, 3, or 4.

Data Types: double

This property is read-only.

Number of PRACH slots per overall period, returned as 5, 10, 20, 40, 80, 160, 320, or 640. The overall period spans an integer multiple of x frames, where Tables 6.3.3.2-2, 6.3.3.2-3, and 6.3.3.2-4 of [1] define x.

Data Types: double

PRACH Lookup Tables

This property is read-only.

PRACH configuration tables, from TS 38.211 Section 6.3.3, returned as a constant structure containing these fields:

FieldsValuesDescription
LongPreambleFormats

4-by-6 table

Table 6.3.3.1-1: Long PRACH preamble formats
ShortPreambleFormats

9-by-6 table

Table 6.3.3.1-2: Short PRACH preamble formats
NCSFormat012

16-by-4 table

Table 6.3.3.1-5: NCS for long preamble formats with 1.25 kHz subcarrier spacing
NCSFormat3

16-by-4 table

Table 6.3.3.1-6: NCS for long preamble formats with 5 kHz subcarrier spacing
NCSFormatABC

16-by-4 table

Table 6.3.3.1-7: NCS for short preamble formats
SupportedSCSCombinations

16-by-5 table

Table 6.3.3.2-1: Supported combinations of subcarrier spacing for the PRACH and the physical uplink shared channel (PUSCH)
ConfigurationsFR1PairedSUL

256-by-9 table

Table 6.3.3.2-2: PRACH configurations for FR1 and paired spectrum or FR1 and supplementary uplink
ConfigurationsFR1Unpaired

256-by-9 table

Table 6.3.3.2-3: PRACH configurations for FR1 and unpaired spectrum

ConfigurationsFR2

256-by-9 table

Table 6.3.3.2-4: PRACH configurations for FR2 and unpaired spectrum

Invalid PRACH Configurations

Based on the configuration tables in TS 38.211 Section 6.3.3, these property setting combinations and scenarios lead to invalid PRACH configurations.

  • Setting 'FrequencyRange' to 'FR2' and 'DuplexMode' to 'FDD' is invalid.

  • Setting 'FrequencyRange' to 'FR2' and 'DuplexMode' to 'SUL' is invalid.

  • Setting 'FrequencyRange' to 'FR1' and 'SubcarrierSpacing' to 60 is invalid.

  • Setting 'FrequencyRange' to 'FR1' and 'SubcarrierSpacing' to 120 is invalid.

  • Setting 'FrequencyRange' to 'FR2' and 'SubcarrierSpacing' to 1.25 is invalid.

  • Setting 'FrequencyRange' to 'FR2' and 'SubcarrierSpacing' to 5 is invalid.

  • Setting 'FrequencyRange' to 'FR2' and 'SubcarrierSpacing' to 15 is invalid.

  • Setting 'FrequencyRange' to 'FR2' and 'SubcarrierSpacing' to 30 is invalid.

  • Any combination of properties Format and SubcarrierSpacing not listed in Table 6.3.3.1-1 for long preambles or Table 6.3.3.1-2 for short preambles is invalid. You can identify valid combinations in the LongPreambleFormats and ShortPreambleFormats fields of the Tables property.

  • Any combination of properties ZeroCorrelationZone and RestrictedSet not listed in Tables 6.3.3.1-5, 6.3.3.1-6, and 6.3.3.1-7 is invalid. You can identify valid combinations in the NCSFormat012, NCSFormat3, and NCSFormatABC fields, respectively, of the Tables property.

  • Any combination of properties ActivePRACHSlot, FrequencyRange, DuplexMode, ConfigurationIndex, and SubcarrierSpacing not covered in Section 5.3.2 is invalid.

  • Any configuration where TimeIndexNumTimeOccasions is invalid.

Examples

collapse all

Create a PRACH configuration object with default properties. The default configuration object defines a PRACH configuration with long preamble format 0, based on TS 38.211 Table 6.3.3.2-2.

prach = nrPRACHConfig;

To consider a different PRACH configuration table as a basis, for example Table 6.3.3.2-3 for FR1 and unpaired spectrum, update the duplex mode property.

prach.DuplexMode = 'TDD';

To change the PRACH preamble format, you must update the ConfigurationIndex property of the object based on Table 6.3.3.2-3. To lookup a suitable value, access this table through the ConfigurationsFR1Unpaired field of the Tables property.

prach.Tables.ConfigurationsFR1Unpaired(:,:)
ans=256×9 table
    ConfigurationIndex    PreambleFormat    x       y      SubframeNumber    StartingSymbol    PRACHSlotsPerSubframe    NumTimeOccasions    PRACHDuration
    __________________    ______________    __    _____    ______________    ______________    _____________________    ________________    _____________

             0                {'0'}         16    {[1]}     {[       9]}           0                    NaN                   NaN                 0      
             1                {'0'}          8    {[1]}     {[       9]}           0                    NaN                   NaN                 0      
             2                {'0'}          4    {[1]}     {[       9]}           0                    NaN                   NaN                 0      
             3                {'0'}          2    {[0]}     {[       9]}           0                    NaN                   NaN                 0      
             4                {'0'}          2    {[1]}     {[       9]}           0                    NaN                   NaN                 0      
             5                {'0'}          2    {[0]}     {[       4]}           0                    NaN                   NaN                 0      
             6                {'0'}          2    {[1]}     {[       4]}           0                    NaN                   NaN                 0      
             7                {'0'}          1    {[0]}     {[       9]}           0                    NaN                   NaN                 0      
             8                {'0'}          1    {[0]}     {[       8]}           0                    NaN                   NaN                 0      
             9                {'0'}          1    {[0]}     {[       7]}           0                    NaN                   NaN                 0      
            10                {'0'}          1    {[0]}     {[       6]}           0                    NaN                   NaN                 0      
            11                {'0'}          1    {[0]}     {[       5]}           0                    NaN                   NaN                 0      
            12                {'0'}          1    {[0]}     {[       4]}           0                    NaN                   NaN                 0      
            13                {'0'}          1    {[0]}     {[       3]}           0                    NaN                   NaN                 0      
            14                {'0'}          1    {[0]}     {[       2]}           0                    NaN                   NaN                 0      
            15                {'0'}          1    {[0]}     {1x2 double}           0                    NaN                   NaN                 0      
      ⋮

To change the preamble from format 0 to format A1, set the ConfigurationIndex property to any value from 67 to 86.

prach.ConfigurationIndex = 86;

Verify that the object updates the preamble format correctly.

isequal(prach.Format,'A1')
ans = logical
   1

References

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2020a