nrWavegenSRSConfig
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
Description
srs = nrWavegenSRSConfig
creates a default SRS configuration
object for 5G waveform generation.
srs = nrWavegenSRSConfig(
specifies properties using one
or more name-value arguments. Enclose each property in quotes. For example,
Name,Value
)'NumSRSPorts',2,'NumSRSSymbols',4
specifies a two-port SRS
transmission of 4 OFDM symbols.
Properties
Enable
— Enable SRS
1
or true
(default) | 0
or false
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
Label
— Name of SRS configuration
'SRS1'
(default) | character array | string scalar
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
— Power scaling of SRS in dB
0
(default) | real-valued scalar | real-valued vector (since R2024b)
Power scaling of the SRS in dB, specified as a real-valued scalar or real-valued
vector of length equal to the number of allocated transmissions in a period configured
by the SlotAllocation
property. Use this property to scale the
power of the SRS in the generated 5G waveform.
Data Types: double
BandwidthPartID
— ID of BWP
1
(default) | nonnegative integer
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
NumSRSPorts
— Number of SRS antenna ports
1
(default) | 2
| 4
| 8
(since R2024a)
Number of SRS antenna ports, specified as 1
, 2
,
4
, or 8
.
Data Types: double
SymbolStart
— 0-based index of first OFDM symbol
13
(default) | integer from 0 to 13
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
NumSRSSymbols
— Number of OFDM symbols allocated to the SRS
1
(default) | 2
| 4
| 8
| 10
| 12
| 14
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
SlotAllocation
— Slot allocation in SRS period
[0:9]
(default) | nonnegative integer | row vector of nonnegative integers
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
Period
— SRS allocation period in slots
10
(default) | nonnegative integer | []
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
FrequencyStart
— Frequency-domain offset
0
(default) | integer from 0 to 271
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 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
NRRC
— Additional circular frequency-domain offset
0
(default) | integer from 0 to 67
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
CSRS
— Row index of bandwidth configuration table
0
(default) | integer from 0 to 63
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
BSRS
— Column index of bandwidth configuration table
0
(default) | integer from 0 to 3
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
BHop
— Frequency hopping index
0
(default) | integer from 0 to 3
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
— Repetition factor of OFDM symbols
1
(default) | 2
| 4
| 5
| 6
| 7
| 8
| 10
| 12
| 14
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. SetRepetition
such thatRepetition
≤NumSRSSymbols
.When frequency hopping is disabled, this property is ignored.
Data Types: double
KTC
— Transmission comb number
2
(default) | 4
| 8
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
KBarTC
— Transmission comb offset
0
(default) | integer from 0 to (KTC
– 1)
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
FrequencyScalingFactor
— Frequency scaling factor
1
(default) | 2
| 4
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
StartRBIndex
— Partial frequency sounding block index
0
(default) | nonnegative integer
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
EnableStartRBHopping
— Enable frequency hopping of first RB
0
or false
(default) | 1
or true
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
CyclicShift
— Cyclic shift offset
0
(default) | integer from 0 to 11
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 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
to2
, setCyclicShift
to an integer from 0 to 7.If you set
KTC
to4
, setCyclicShift
to an integer from 0 to 11.If you set
KTC
to8
, setCyclicShift
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
GroupSeqHopping
— Type of SRS symbol hopping
'neither'
(default) | 'groupHopping'
| 'sequenceHopping'
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
NSRSID
— SRS scrambling identity
0
(default) | integer from 0 to 65,535
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
SRSPositioning
— SRS for user positioning
0
or false
(default) | 1
or true
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
EnableEightPortTDM
— Eight-port TDM
0
or false
(default) | 1
or true
Since R2024a
Eight-port time division multiplexing (TDM), specified as one of these logical values:
0
(false
) — Disable eight-port TDM in the SRS transmission.1
(true
) — Enable eight-port TDM in the SRS transmission. This option corresponds to a configuration in which the higher-layer parameter nrofSRS-Ports-n8 is set to ports8tdm.
Dependencies
To enable this property, set the NumSRSPorts
property to
8
.
Data Types: logical
| double
CyclicShiftHopping
— Cyclic shift hopping
0
or false
(default) | 1
or true
Since R2024a
Cyclic shift hopping, specified as one of these logical values:
0
(false
) — Disable cyclic shift hopping in the SRS transmission.1
(true
) — Enable cyclic shift hopping in the SRS transmission. This option corresponds to a configuration in which the higher-layer parameter cyclicShiftHopping is present.
Data Types: logical
| double
CyclicShiftHoppingID
— Cyclic shift hopping ID
0
(default) | nonnegative integer
Since R2024a
Cyclic shift hopping ID, specified as a nonnegative integer. This property initializes the pseudorandom binary sequence (PRBS) that defines the cyclic shift hopping pattern.
Dependencies
To enable this property, set the CyclicShiftHopping
property
to true
.
Data Types: double
CyclicShiftHoppingSubset
— Cyclic shift hopping subset
[]
(default) | vector of nonnegative integers
Since R2024a
Cyclic shift hopping subset, specified as a vector of nonnegative integers. This
property corresponds to the higher-layer parameter
cyclicShiftHoppingSubset and specifies the set of cyclic shifts
for hopping in the SRS transmission. The PRBS that you initialize with the
CyclicShiftHoppingID
property determines the order of the
cyclic shifts in the hopping pattern. The default value, []
, implies
that the object automatically selects the {0, 1, ...,
K⨯NCSmax – 1} set. NCSmax
is the maximum number of cyclic shifts, as defined in TS 38.211 Table 6.4.1.4.2-1.
K = 1 by default. To enable finer granularity, set the
HoppingFinerGranularity
property to true
, in
which case K = 2.
Dependencies
To enable this property, set the CyclicShiftHopping
property
to true
.
Data Types: double
HoppingFinerGranularity
— Finer granularity for cyclic shift hopping
0
or false
(default) | 1
or true
Since R2024a
Finer granularity for cyclic shift hopping, specified as one of these logical values:
0
(false
) — Disable finer granularity for cyclic shift hopping in the SRS transmission.1
(true
) — Enable finer granularity for cyclic shift hopping in the SRS transmission. This option corresponds to a configuration in which the higher-layer parameter hoppingFinerGranularity is present.
This property determines the value of the K parameter
in the default cyclic shift hopping subset that the object automatically selects when
you set the CyclicShiftHoppingSubset
property to
[]
.
Dependencies
To enable this property, set the CyclicShiftHopping
property
to true
.
Data Types: double
| logical
CombOffsetHopping
— Comb offset hopping
0
or false
(default) | 1
or true
Since R2024a
Comb offset hopping, specified as one of these logical values:
0
(false
) — Disable comb offset hopping in the SRS transmission.1
(true
) — Enable comb offset hopping in the SRS transmission. This option corresponds to a configuration in which the higher-layer parameter combOffsetHopping is present.
Data Types: double
| logical
CombOffsetHoppingID
— Comb offset hopping ID
0
(default) | nonnegative integer
Since R2024a
Comb offset hopping ID, specified as a nonnegative integer. This property initializes the PRBS that defines the comb offset hopping pattern.
Dependencies
To enable this property, set the CombOffsetHopping
property
to true
.
Data Types: double
CombOffsetHoppingSubset
— Comb offset hopping subset
[]
(default) | matrix of nonnegative integers
Since R2024a
Comb offset hopping subset, specified as a matrix of nonnegative integers. This property
corresponds to the higher-layer parameter
combOffsetHoppingSubset and
specifies the set of comb offsets for hopping in the SRS
transmission. The PRBS that you initialize with the
CombOffsetHoppingID
property
determines the order of the comb offsets in the hopping pattern.
The default value, []
, implies that the
object automatically selects the
{0,1,...,KTC
– 1} set, which
depends on the transmission comb number property value.
Dependencies
To enable this property, set the
CombOffsetHopping
property to
true
.
Data Types: double
HoppingWithRepetition
— Comb offset hopping with repetition
0
or false
(default) | 1
or true
Since R2024a
Comb offset hopping with repetition, specified as one of these logical values:
0
(false
) — Disable time repetition for the comb offset hopping in the SRS transmission.1
(true
) — Enable time repetition for the comb offset hopping in the SRS transmission. The repetition factor of the OFDM symbols, specified by theRepetition
property, determines the minimum number of symbols for which the comb offset remains constant. This option corresponds to a configuration in which the higher-layer parameter hoppingWithRepetition is present.
Dependencies
To enable this property, set the CombOffsetHopping
property
to true
.
Data Types: double
| logical
Examples
Configure SRS for 5G Uplink Waveform Generation
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.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2021aR2024b: Configure separate power scaling for each SRS in a period
Configure separate power scaling for each SRS in a period by setting the Power
property to a vector of length equal to the number of allocated transmissions in a
period.
R2024a: Specify eight antenna ports and enable cyclic shift and comb offset hopping in SRS transmissions
The object enables you to:
Specify eight antenna ports through the
NumSRSPorts
property.Specify the use of eight-port TDM for SRS transmission through the
EnableEightPortTDM
property.Configure cyclic shift hopping and comb offset hopping in SRS transmissions through the
CyclicShiftHopping
,CyclicShiftHoppingID
,CyclicShiftHoppingSubset
,HoppingFinerGranularity
,CombOffsetHopping
,CombOffsetHoppingID
,CombOffsetHoppingSubset
, andHoppingWithRepetition
properties.
R2023a: Release 17 updates for partial frequency sounding SRS transmissions
The object now supports SRS for partial frequency sounding, as defined in Release 17 of TS 38.211 Section 6.4.1.4.
Use the
FrequencyScalingFactor
,StartRBIndex
, andEnableStartRBHopping
object properties to configure SRS transmissions for partial frequency sounding.The properties
NumSRSSymbols
,Repetition
,KTC
, andKBarTC
now support the extended ranges that are defined in Release 17.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)