nrPUCCH3Config
Description
The nrPUCCH3Config
object sets physical uplink control channel
(PUCCH) configuration parameters for format 3, as defined in TS 38.211 Sections 6.3.2.1,
6.3.2.2, 6.3.2.6, and 6.4.1.3.3 [1]. The object also configures
the bandwidth part (BWP) containing the PUCCH and the number of resource blocks (RBs) that the
PUCCH occupies within the BWP.
The default nrPUCCH3Config
object allocates a PUCCH format 3 in the first
RB in the BWP and in all OFDM symbols in a slot.
For operation with shared spectrum channel access
for frequency range 1 (FR1), set the Interlacing
property to true
, then use the
RBSetIndex
and InterlaceIndex
object properties to specify the allocated frequency
resources. In addition, you can use the SpreadingFactor
and OCCI
properties to specify single-interlace configurations. (since R2023b)
Creation
Description
creates a default
PUCCH configuration object for format 3.pucch
= nrPUCCH3Config
specifies properties using one
or more name-value pairs. Enclose each property in quotes. For example,
pucch
= nrPUCCH3Config(Name,Value
)'NSizeBWP',200
specifies 200 physical resource blocks (PRB) in the
BWP.
Properties
NSizeBWP
— Number of PRBs in BWP
[]
(default) | integer from 1 to 275
Number of PRBs in the BWP, specified as []
or an integer from 1 to 275. To
set this property to the NSizeGrid
property of the nrCarrierConfig
object, use []
.
Data Types: double
NStartBWP
— Starting PRB index of BWP relative to CRB 0
[]
(default) | integer from 0 to 2473
Starting PRB index of the BWP relative to the common resource block 0 (CRB 0), specified as
[]
or an integer from 0 to 2473. To set this property to the
NStartGrid
property of the nrCarrierConfig
object, use []
.
Data Types: double
Modulation
— Modulation scheme
'QPSK'
(default) | 'pi/2-BPSK'
Modulation scheme, specified as 'QPSK'
or
'pi/2-BPSK'
.
Modulation Scheme | Number of Bits Per Symbol |
---|---|
'pi/2-BPSK' | 1 |
'QPSK' | 2 |
Data Types: char
| string
SymbolAllocation
— OFDM symbol allocation of PUCCH
[0 14]
(default) | []
| two-element vector of nonnegative integers
OFDM symbol allocation of the PUCCH within a slot, specified as []
or a
two-element vector of nonnegative integers. The first element of this property
represents the start of symbol allocation. The second element represents the number of
consecutively allocated OFDM symbols and must be in the range [4, 14]. To indicate that
no OFDM symbols are allocated for the PUCCH, use []
or specify the
second element of the vector as 0
.
Data Types: double
PRBSet
— PRB allocation of PUCCH
0
(default) | vector of integers from 0 to 274
PRB allocation of the PUCCH within the BWP, specified as a vector of integers from 0 to 274.
To indicate that no resource blocks are allocated for the PUCCH, use
[]
.
Dependencies
To enable this property, set the Interlacing
property to
0
(false
).
Data Types: double
FrequencyHopping
— Frequency hopping configuration for PUCCH
'neither'
(default) | 'intraSlot'
| 'interSlot'
Frequency hopping configuration for the PUCCH, specified as one of these values.
'neither'
— Indicates no frequency hopping'intraSlot'
— Enables intraslot frequency hopping'interSlot'
— Enables interslot frequency hopping
When you enable interslot frequency hopping, the slot number determines the starting
resource block for the allocated OFDM symbols. For even-numbered slots, the resource
block starts from the minimum resource block allocated in the
PRBSet
property. For odd-numbered slots, the resource block
starts from the resource block provided in the SecondHopStartPRB
property.
Dependencies
To enable this property, set the Interlacing
property to
0
(false
).
Data Types: char
| string
SecondHopStartPRB
— Starting PRB index of second hop relative to BWP
1
(default) | integer from 0 to 274
Starting PRB index of the second hop relative to the BWP, specified as an integer from 0 to 274.
Dependencies
To enable this property, set the FrequencyHopping
property to
'intraSlot'
or 'interSlot'
and set the
Interlacing
property to 0
(false
).
Data Types: double
Interlacing
— Interlaced resource allocation
0
or false
(default) | 1
or true
Since R2023b
Interlaced resource allocation, specified as one of these values.
0
(false
) — Disable interlaced resource allocation.1
(true
) — Enable interlaced resource allocation. Use theRBSetIndex
andInterlaceIndex
properties to configure the frequency resource allocation.
This property implements the useInterlacePUCCH-PUSCH higher-layer parameter.
Data Types: double
| logical
RBSetIndex
— Indices of RB sets between intracell guard bands
0
(default) | vector of nonnegative integers
Since R2023b
Indices of RB sets between intracell guard bands (0-based), specified as a vector of nonnegative integers. Use this property to specify the indices of the RB sets in an interlaced resource allocation.
Dependencies
To enable this property, set the Interlacing
property to
1
(true
).
Data Types: double
InterlaceIndex
— Interlace indices
0
(default) | vector of nonnegative integers
Since R2023b
Interlace indices in the interlaced resource allocation, specified as a vector of nonnegative integers with up to M elements. The vector element must be in the range [0, M – 1). M = 10 for 15 kHz subcarrier spacing and M = 5 for 30 kHz subcarrier spacing.
Dependencies
To enable this property, set the
Interlacing
property to
1
(true
).
Data Types: double
GroupHopping
— Group hopping configuration for PUCCH
'neither'
(default) | 'enable'
| 'disable'
Group hopping configuration for the PUCCH, specified as one of these values.
'neither'
— Disables group hopping and sequence hopping'enable'
— Enables group hopping and disables sequence hopping'disable'
— Disables group hopping and enables sequence hopping
This property is the higher-layer parameter pucch-GroupHopping.
Data Types: char
| string
HoppingID
— Hopping identity of PUCCH
[]
(default) | integer from 0 to 1023
Hopping identity of the PUCCH, specified as []
or an integer from 0
to 1023.
If the higher-layer parameter hoppingId is configured, this property must be in the range from 0 to 1023.
If the higher-layer parameter hoppingId is not configured, this property must be equal to the physical layer cell identity and be in the range from 0 to 1007.
When you specify this property as []
, the object sets the PUCCH
hopping identity to the physical layer cell identity specified by the NCellID
property of the nrCarrierConfig
object.
Data Types: double
SpreadingFactor
— Spreading factor
2
(default) | 1
| 4
Spreading factor, specified as 1
, 2
, or 4
.
Dependencies
To enable this property, set the InterlaceIndex
property to a
scalar.
Data Types: double
OCCI
— Orthogonal cover code index
0
(default) | integer from 0 to 3
Orthogonal cover code index (OCCI), specified as an integer from 0 to 3. The OCCI value must be less than the SpreadingFactor
property.
Dependencies
To enable this property, set the InterlaceIndex
property to a
scalar.
Data Types: double
NID
— PUCCH scrambling identity
[]
(default) | integer from 0 to 1023
PUCCH scrambling identity, specified as []
or an integer from 0 to 1023.
If the higher-layer parameter dataScramblingIdentityPUSCH is configured, this property must be in the range from 0 to 1023.
If the higher-layer parameter dataScramblingIdentityPUSCH is not configured, this property must be equal to the physical layer cell identity and be in the range from 0 to 1007.
When you specify this property as []
, the object sets the PUCCH scrambling
identity to the physical layer cell identity specified by the NCellID
property of the nrCarrierConfig
object.
Data Types: double
RNTI
— Radio network temporary identifier
1
(default) | integer from 0 to 65,535
Radio network temporary identifier of the user equipment (UE), specified as an integer from 0 to 65,535.
Data Types: double
NID0
— DM-RS scrambling identity
[]
(default) | integer from 0 to 65,535
Demodulation reference signal (DM-RS) scrambling identity, specified as []
or an integer from 0 to 65,535.
If the higher-layer parameter scramblingID0 is configured, this property must be in the range from 0 to 65,535.
If the higher-layer parameter scramblingID0 is not configured, this property must be equal to the physical layer cell identity and be in the range from 0 to 1007.
When you specify this property as []
, the object sets the DM-RS scrambling
identity to the physical layer cell identity specified by the
NCellID
property of the nrCarrierConfig
object.
Data Types: double
DMRSUplinkTransformPrecodingR16
— Release 16 low PAPR DM-RS sequence for DFT-s-OFDM
false
or 0
(default) | true
or 1
Since R2023b
Release 16 low peak-to-average-power (PAPR) DM-RS sequence for DFT-s-OFDM, specified as one of these logical values.
0
(false
) — Disable the use of low PAPR DM-RS for DFT-s-OFDM. The DM-RS sequence generation uses type 1 low PAPR sequences.1
(true
) — Enable the use of low PAPR DM-RS for DFT-s-OFDM. The DM-RS sequence generation uses type 2 low PAPR sequences.
Dependencies
To enable this property, set the Modulation
property to
'pi/2-BPSK'
.
Data Types: double
AdditionalDMRS
— Option to enable additional DM-RS
false
or 0
(default) | true
or 1
Option to enable additional demodulation reference signal (DM-RS), provided by the higher-layer parameter additionalDMRS, specified as one of these numeric or logical values.
0
(false
) — Disable additional DM-RS. When the number of the PUCCH OFDM symbols is greater than 9, two DM-RS symbols are present.1
(true
) — Enable additional DM-RS. When the number of the PUCCH OFDM symbols is greater than 9, four DM-RS symbols are present.
Data Types: double
| logical
Examples
Create PUCCH Format 3 Configuration Object
Create a default PUCCH configuration object for format 3.
pucch = nrPUCCH3Config;
Specify the number of PRBs in the BWP as 150, the modulation scheme as pi/2-BPSK, the PRB allocation of the PUCCH to range from 90 to 97, and the data scrambling identity as 650. Enable group hopping and the additional DM-RS configuration flag. Display the object properties.
pucch.NSizeBWP = 150; pucch.Modulation = 'pi/2-BPSK'; pucch.PRBSet = 90:97; pucch.GroupHopping = 'enable'; pucch.NID = 650; pucch.AdditionalDMRS = 1; disp(pucch)
nrPUCCH3Config with properties: NSizeBWP: 150 NStartBWP: [] Modulation: 'pi/2-BPSK' SymbolAllocation: [0 14] PRBSet: [90 91 92 93 94 95 96 97] FrequencyHopping: 'neither' SecondHopStartPRB: 1 Interlacing: 0 GroupHopping: 'enable' HoppingID: [] NID: 650 RNTI: 1 NID0: [] DMRSUplinkTransformPrecodingR16: 0 AdditionalDMRS: 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 R2021aR2023b: Support for release 16 interlacing for operation in unlicensed spectrum (NR-U)
Use the Interlacing
, RBSetIndex
, InterlaceIndex
, SpreadingFactor
, and OCCI
properties to configure interlaced PUCCH transmissions.
Setting the Interlacing
property to true
disables
the PRBSet
and FrequencyHopping
properties.
R2023b: Release 16 updates for low PAPR sequences and DM-RS scrambling identities
Use the DMRSUplinkTransformPrecodingR16
and NID0
object properties to specify type 2 low PAPR PUCCH DM-RS
sequences and DM-RS scrambling identities, respectively, as defined in Release 16 of TS
38.211 Section 6.4.1.3.3.1.
See Also
Objects
Functions
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)