# nrWavegenSRSConfig

SRS configuration parameters for 5G waveform generation

Since R2021a

## Description

The `nrWavegenSRSConfig` object sets sounding reference signal (SRS) configuration parameters, as defined in TS 38.211 Section 6.4.1.4 [1]. Use this object to set the `SRS` property of the `nrULCarrierConfig` object when configuring 5G uplink waveform generation.

The default `nrWavegenSRSConfig` object specifies a single-port, single-symbol, narrowband SRS configuration without frequency hopping (`BHop``BSRS`) and places the SRS at the end of the slot.

## Creation

### Syntax

``srs = nrWavegenSRSConfig``
``srs = nrWavegenSRSConfig(Name,Value)``

### Description

````srs = nrWavegenSRSConfig` creates a default SRS configuration object for 5G waveform generation.```

example

````srs = nrWavegenSRSConfig(Name,Value)` specifies properties using one or more name-value arguments. Enclose each property in quotes. For example, `'NumSRSPorts',2,'NumSRSSymbols',4` specifies a two-port SRS transmission of 4 OFDM symbols.```

## Properties

expand all

Enable the SRS in 5G waveform generation, specified as one of these values.

• `1` (`true`) — Enable the SRS.

• `0` (`false`) — Disable the SRS.

Data Types: `double` | `logical`

Name of the SRS configuration, specified as a character array or string scalar. Use this property to set a description to the SRS configuration.

Data Types: `char` | `string`

Power scaling of the SRS in dB, specified as a real scalar. Use this property to scale the power of the SRS in the generated 5G waveform.

Data Types: `double`

ID of the bandwidth part (BWP) containing the configured SRS, specified as a nonnegative integer. Use this property to associate this SRS configuration with one of the BWP configurations specified by the `BandwidthParts` property of the `nrULCarrierConfig` object.

Data Types: `double`

Number of SRS antenna ports, specified as `1`, `2`, or `4`.

Data Types: `double`

0-based index of the first OFDM symbol in the SRS within a slot, specified as one of these options:

• Integer from 0 to 13 — Use this option for normal cyclic prefix.

• Integer from 0 to 11 — Use this option for extended cyclic prefix.

For the SRS symbols and index generation, set the cyclic prefix of the carrier by using the `CyclicPrefix` property of the BWP configuration object specified by the `BandwidthPartID` property.

Data Types: `double`

Number of OFDM symbols allocated to the SRS in slot, specified as `1`, `2`, `4`, `8`, `10`, `12`, or `14`. Property values `10` and `14` are only valid when you set the `SRSPositioning` property to `0` (`false`).

When you set the `SRSPositioning` property to `1` (`true`), for valid configurations of this property and the `KTC` property, see TS 38.211 Table 6.4.1.4.3-2. Alternatively, to display this table, type `nrSRSConfig.SubcarrierOffsetTable` at the command line.

Data Types: `double`

Slot allocation in an SRS period, specified as a nonnegative integer or a row vector of nonnegative integers. This property specifies the slot positions of the SRS by using 0-based indexing and values that are less than the value of the `Period` property. The object ignores slot allocation values that are greater than the period. Each element of the vector corresponds to an SRS resource.

Data Types: `char`

SRS allocation period in slots, specified as a nonnegative integer or `[]`. An empty period indicates aperiodic SRS resource type (no repetition), as defined in TS 38.211 Section 6.4.1.4.3.

Data Types: `double`

Frequency-domain offset of the SRS, in terms of a physical resource block (PRB) index relative to the carrier, specified as an integer from 0 to 271. `FrequencyStart` is analogous to parameter ${n}_{{}_{shift}}$ from TS 38.211 Section 6.4.1.4.3.

This property, the additional circular frequency-domain offset property `NRRC`, and the bandwidth configuration parameters in TS 38.211 Table 6.4.1.4.3-1 determine the actual frequency-domain location of the SRS. For more information, see NR SRS Configuration.

Data Types: `double`

Additional circular frequency-domain offset of the SRS, as a multiple of 4 PRBs, specified as an integer from 0 to 67.

This property, the frequency domain offset property `FrequencyStart`, and the bandwidth configuration parameters in TS 38.211 Table 6.4.1.4.3-1 determine the actual frequency-domain location of the SRS. For more information, see NR SRS Configuration.

Data Types: `double`

Row index of the bandwidth configuration table from TS 38.211 Table 6.4.1.4.3-1, specified as an integer from 0 to 63. Use this property with the `BSRS` property to control the bandwidth allocated to the SRS and the frequency hopping pattern. Increasing the `CSRS` value increases the SRS bandwidth. The default value of `0` results in a bandwidth of 4 PRBs.

Data Types: `double`

Column index of the bandwidth configuration table from TS 38.211 Table 6.4.1.4.3-1, specified as an integer from 0 to 3. Use this property with the `CSRS` property to control the bandwidth allocated to the SRS and the frequency hopping pattern. Increasing the `BSRS` value decreases the SRS bandwidth.

Data Types: `double`

Frequency hopping index, specified as an integer from 0 to 3. Setting this property to a value greater than or equal to the column index of the bandwidth configuration table property, `BSRS`, disables frequency hopping. Increasing the `BHop` value decreases the hopping bandwidth.

Data Types: `double`

Repetition factor of OFDM symbols, specified as `1`, `2`, `4`, `5`, `6`, `7`, `8`, `10`, `12`, or `14`.

• When frequency hopping is enabled, `Repetition` specifies the number of consecutive OFDM symbols in a slot occupied by the SRS in the same frequency resource. Set `Repetition` such that `Repetition``NumSRSSymbols`.

• When frequency hopping is disabled, this property is ignored.

Data Types: `double`

Transmission comb number, in subcarriers, specified as `2`, `4`, or `8`. This property specifies the minimum frequency separation between two subcarriers that allocate SRS.

When you set the `SRSPositioning` property to `1` (`true`), for valid configurations of this property and the `NumSRSSymbols` property, see TS 38.211 Table 6.4.1.4.3-2. Alternatively, to display this table, type `nrSRSConfig.SubcarrierOffsetTable` at the command line.

Data Types: `double`

Transmission comb offset, in subcarriers, specified as an integer from 0 to (`KTC` – 1). This property specifies a frequency offset within the comb.

Data Types: `double`

Frequency scaling factor, specified as `1`, `2`, or `4`. Use this property to reduce the SRS transmission bandwidth for partial frequency sounding. This property corresponds to the parameter PF in Release 17 of TS 38.211 Section 6.4.1.4.3. The default value `1` disables frequency scaling.

Data Types: `double`

Partial frequency sounding block index, specified as a nonnegative integer in the range [0, `FrequencyScalingFactor`–1].

Use this property to control the SRS frequency position when you set the `FrequencyScalingFactor` property to `2` or `4`.

Data Types: `double`

Enable frequency hopping of the first RB in the SRS transmission for partial frequency sounding, specified as one of these logical values.

• `0` (`false`) — Disable frequency hopping of the first RB.

• `1` (`true`) — Enable frequency hopping of the first RB.

Use this property to control the frequency hopping of the first RB when you set the `FrequencyScalingFactor` property to `2` or `4`.

Data Types: `logical` | `double`

Cyclic shift offset, specified as an integer from 0 to 11. This property determines the cyclic shift applied to the SRS sequence for each antenna port. This property corresponds to parameter ${n}_{SRS}^{cs}$ in TS 38.211 Section 6.4.1.4.2.

Set the cyclic shift offset in relation to the transmission comb property, `KTC`:

• If you set `KTC` to `2`, set `CyclicShift` to an integer from 0 to 7.

• If you set `KTC` to `4`, set `CyclicShift` to an integer from 0 to 11.

• If you set `KTC` to `8`, set `CyclicShift` to an integer from 0 to 5.

For multiport SRS transmissions, consecutive cyclic shift numbers are used for each port, modulo 6, 8, or 12, depending on the `KTC` property.

Data Types: `double`

Type of SRS symbol hopping, specified as `'neither'`, `'groupHopping'`, or `'sequenceHopping'`. When either group or sequence hopping is enabled, the group or sequence hopping numbers per OFDM symbol in the SRS transmission are based on a pseudo-random binary sequence (PRBS). Set the scrambling identity for the PRBS by using the `NSRSID` property.

Data Types: `char` | `string`

SRS scrambling identity, specified as an integer from 0 to 65,535.

• When you set the `GroupSeqHopping` property to `'neither'`, this property determines the group number.

• When you set the `GroupSeqHopping` property to `'groupHopping'` or `'sequenceHopping'`, this property initializes the PRBS.

Data Types: `double`

SRS for user positioning, as defined in Release 16 of TS 38.211 Section 6.4.1.4, specified as one of these values.

• `0` (`false`) — Disable SRS for user positioning. This option corresponds to the higher-layer parameter SRS-Resource.

• `1` (`true`) — Enable SRS for user positioning. This option corresponds to the higher-layer parameter SRS-PosResource-r16.

This property affects the valid range of the `NumSRSSymbols` and `KTC` properties.

Data Types: `logical` | `double`

## Examples

collapse all

Create two SCS carrier configuration objects with mixed numerologies and custom numbers of resource blocks.

```carriers = { nrSCSCarrierConfig('SubcarrierSpacing',15,'NStartGrid',10,'NSizeGrid',100), ... nrSCSCarrierConfig('SubcarrierSpacing',30,'NStartGrid',0,'NSizeGrid',70)};```

Create two BWP configuration objects, one for each of the SCS carriers.

```bwp = { nrWavegenBWPConfig('BandwidthPartID',1,'SubcarrierSpacing',15,'NStartBWP',10,'NSizeBWP',80), ... nrWavegenBWPConfig('BandwidthPartID',2,'SubcarrierSpacing',30,'NStartBWP',0,'NSizeBWP',60)};```

Create two SRS configuration objects, one for each of the carriers, with the specified properties. In the first SRS configuration, frequency hopping is enabled. In the second SRS configuration, frequency hopping is disabled.

```srs = { nrWavegenSRSConfig('BandwidthPartID',1,'NumSRSPorts',2,'NumSRSSymbols',4,'SymbolStart',8,'CSRS',14,'BSRS',1), ... nrWavegenSRSConfig('BandwidthPartID',2,'FrequencyStart',4)};```

Create a PUSCH configuration object such that the PUSCH does not overlap with the previously configured SRS in the generated waveform.

```pusch = { nrWavegenPUSCHConfig('BandwidthPartID',1,'SymbolAllocation',[0 8],'PRBSet',(10:51))};```

Create an uplink carrier configuration object, specifying the previously defined configurations.

```cfg = nrULCarrierConfig( ... 'SCSCarriers',carriers, ... 'BandwidthParts',bwp, ... 'SRS',srs, ... 'PUSCH',pusch);```

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

expand all