Main Content

nrPRACHConfig

PRACH configuration parameters

Since R2020a

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]. The default PRACH configuration corresponds to a PRACH preamble format 0 placed at the start of the allocated resources that is active in all subframes for frequency range 1 (FR1) and frequency division duplex (FDD) mode for paired spectrum.

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 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 262. This property specifies a configuration index from Tables 6.3.3.2-2 to 6.3.3.2-4 in TS 38.211. The FrequencyRange and DuplexMode properties determine the actual configuration table to consider. When you set FrequencyRange to 'FR1' and DuplexMode to 'FDD' or when you set FrequencyRange to 'FR2', the property value must be an integer from 0 to 255.

This property corresponds to the prach-ConfigurationIndex and prach-ConfigurationIndex-v1610 higher layer parameters.

Data Types: double

Subcarrier spacing for the PRACH in kHz, specified as 1.25, 5, 15, or 30 for frequency range FR1 and 60, 120, 480, or 960 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

Length of Zadoff-Chu preamble sequence, specified as 139, 571, 839, or 1151. The default value depends on the Format property.

  • For long preambles (formats 0, 1, 2, and 3), the default value is 839. You cannot change the property value from its default value.

  • For short preambles (formats A1, A2, A3, B1, B2, B3, B4, C0, and C2), the default value is 139.

    • When you set the SubcarrierSpacing property to 1.25, 5, 60, or 960, set LRA to 139.

    • When you set SubcarrierSpacing to 15, set LRA to 139 or 1151.

    • When you set SubcarrierSpacing to 30 or 480, set LRA to 139 or 571.

    • When you set SubcarrierSpacing to 120, set LRA to 139, 571, or 1151.

This property corresponds to the LRA parameter from TS 38.211 Section 6.3.3.

Data Types: double

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

This property corresponds to the prach-RootSequenceIndex-r16 and prach-RootSequenceIndex higher layer parameters and i parameter from TS 38.211 Tables 6.3.3.1-3, 6.3.3.1-4, 6.3.3.1-4A, and 6.3.3.1-4B.

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

Starting RB index of the uplink RB set for the configured PRACH transmission occasion, specified as an integer from 0 to 274. This property determines the PRACH indices and corresponds to NRB,UL,n0+nRAstart,μNRB,UL,n0start,μ in TS 38.211 Section 5.3.2.

Dependencies

To enable this property, set the LRA property to 571 or 1151.

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.

Dependencies

To enable this property, set the LRA property to 139 or 839.

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 LRA property.

  • When LRA is 839, set TimeIndex to 0.

  • When LRA is 139, 571, or 1151, set TimeIndex to an integer 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 one of these options.

  • 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 0 or 1.

  • If SubcarrierSpacing is set to 480, then ActivePRACHSlot must be 3 or 7.

  • If SubcarrierSpacing is set to 960, then ActivePRACHSlot must be 7 or 15.

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.

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 222. For nonzero ActivePRACHSlot property values, 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.0156, 0.0312, 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 x is defined in TS 38.211 Tables 6.3.3.2-2, 6.3.3.2-3, and 6.3.3.2-4.

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-8 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

39-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

263-by-9 table

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

263-by-9 table

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

ConfigurationsFR2

263-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=263×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]}       {[1 6]}              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™.

Version History

Introduced in R2020a

expand all