# 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]. 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

### Syntax

``prach = nrPRACHConfig``
``prach = nrPRACHConfig(Name,Value)``

### 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` 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`

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 `120`, you cannot change the property value from its default value.

• When you set the `SubcarrierSpacing` property to `15`, you can set this property to `139` or `1151`.

• When you set the `SubcarrierSpacing` property to `30`, you can set this property to `139` or `571`.

This property corresponds to the ${L}_{RA}$ 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 ${N}_{CS}$ 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 ${n}_{RA}^{start}$ 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 ${N}_{\text{RB,UL},{n}_{0}+{n}_{\text{RA}}}^{\text{start},\mu }-{N}_{\text{RB,UL},{n}_{0}}^{\text{start},\mu }$ 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 ${n}_{RA}$ 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 ${n}_{t}^{RA}$ 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 ${n}_{slot}^{RA}$ 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.

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`

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 ${N}_{t}^{RA,slot}$ in TS 38.211 Tables 6.3.3.2-2 to 6.3.3.2-4.

Data Types: `double`

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 ${N}_{dur}^{RA,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 ${N}_{dur}^{RA,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`

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`

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

Data Types: `double`

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

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: ${N}_{CS}$ for long preamble formats with 1.25 kHz subcarrier spacing
`NCSFormat3`

16-by-4 table

Table 6.3.3.1-6: ${N}_{CS}$ for long preamble formats with 5 kHz subcarrier spacing
`NCSFormatABC`

16-by-4 table

Table 6.3.3.1-7: ${N}_{CS}$ for short preamble formats
`SupportedSCSCombinations`

22-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 `TimeIndex``NumTimeOccasions` 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.

## Version History

Introduced in R2020a