nrPUCCHHoppingInfo
Get PUCCH hopping information
Syntax
Description
returns PUCCH sequence and cyclic shift hopping information. The function assumes intra-slot
frequency hopping is enabled. The input arguments are:info
= nrPUCCHHoppingInfo(cp
,nslot
,nid
,groupHopping
,initialCS
,seqCS
)
Cyclic prefix
cp
Radio frame slot number
nslot
Scrambling identity
nid
Group hopping configuration
groupHopping
Initial cyclic shift
initialCS
Sequence cyclic shift
seqCS
Examples
Get PUCCH Hopping Information
Get PUCCH hopping information for the specified input arguments.
cp = 'normal'; nslot = 3; nid = 512; groupHopping = 'enable'; initialCS = 5; seqCS = 0; info = nrPUCCHHoppingInfo(cp,nslot,nid,groupHopping,initialCS,seqCS)
info = struct with fields:
U: [13 22]
V: [0 0]
Alpha: [2.0944 2.0944 0 5.7596 2.6180 3.6652 4.1888 5.7596 1.5708 5.2360 5.2360 3.1416 0.5236 5.2360]
FGH: [11 20]
FSS: 2
Hopping: 'groupHopping'
NCS: [239 107 223 6 24 2 3 66 238 125 209 145 44 233]
The output field Alpha
provides cyclic shifts corresponding to all the symbols in a slot. Since symbol indices are zero-based, to obtain the cyclic shift value corresponding to a symbol index, you must increase the index value.
symInd = 0; alpha = info.Alpha(symInd+1)
alpha = 2.0944
Get PUCCH Hopping Parameters When Intra-Slot Frequency Hopping Is Disabled
Get PUCCH hopping information for the specified input arguments.
cp = 'extended'; nslot = 7; nid = 12; groupHopping = 'enable'; initialCS = 9; seqCS = 0; info = nrPUCCHHoppingInfo(cp,nslot,nid,groupHopping,initialCS,seqCS)
info = struct with fields:
U: [20 4]
V: [0 0]
Alpha: [1.0472 0 1.0472 0 5.7596 3.1416 5.2360 4.1888 1.5708 4.7124 0 1.5708]
FGH: [8 22]
FSS: 12
Hopping: 'groupHopping'
NCS: [149 255 173 255 146 141 25 167 198 12 63 78]
To obtain the base sequence group number and base sequence number when intra-slot frequency hopping is disabled, consider only the first elements of U
and V
.
u = info.U(1)
u = 20
v = info.V(1)
v = 0
Input Arguments
cp
— Cyclic prefix length
'normal'
| 'extended'
Cyclic prefix length, specified as one of these options:
'normal'
— Use this value to specify normal cyclic prefix. This option corresponds to 14 OFDM symbols in a slot.'extended'
— Use this value to specify extended cyclic prefix. This option corresponds to 12 OFDM symbols in a slot. For the numerologies specified in TS 38.211 Section 4.2, extended cyclic prefix length only applies for 60 kHz subcarrier spacing.
Data Types: char
| string
nslot
— Radio frame slot number
integer from 0 to 159
Radio frame slot number, specified as an integer from 0 to 159. For normal cyclic prefix of different numerologies, the valid range is from 0 to 159. For extended cyclic prefix, the valid range is from 0 to 39. For more details, see TS 38.211 Section 4.3.2 [1].
Data Types: double
nid
— Scrambling identity
integer from 0 to 1023
Scrambling identity, specified as an integer from 0 to 1023. nid
is
higher layer parameter hoppingId, ranging from 0 to 1023, if the
higher layer parameter is configured. Otherwise, nid
is the
physical layer cell identity number NCellID, ranging from 0 to 1007.
For more information on these values, see TS 38.211 Section 6.3.2.2.1.
Data Types: double
groupHopping
— Group hopping configuration
'neither'
| 'enable'
| 'disable'
Group hopping configuration, specified as 'neither'
,
'enable'
, or 'disable'
. The
groupHopping
argument is higher layer parameter
pucch-GroupHopping.
Data Types: char
| string
initialCS
— Initial cyclic shift
integer from 0 to 11
Initial cyclic shift, referred to as m_0 in TS 38.211 Section
6.3.2.2.2, specified as an integer from 0 to 11. For PUCCH formats 0 and 1,
initialCS
is higher layer parameter
initialCyclicShift. For PUCCH format 3 demodulation reference
signals (DMRS), initialCS
must be 0. For PUCCH format 4 DMRS,
initialCS
must be 0, 3, 6, or 9. For more information, see TS
38.213 Section 9.2.1 [2].
Data Types: double
seqCS
— Sequence cyclic shift
integer from 0 to 11
Sequence cyclic shift, referred to as m_cs in TS 38.211 Section
6.3.2.2.2, specified as an integer from 0 to 11. For PUCCH formats 1, 2, 3, and 4,
seqCS
must be 0.
Data Types: double
nirb
— RB indices in the interlace
vector of nonnegative integers
RB indices in the interlace, as defined in TS 38.211 Section 4.4.4.6 [1], specified as a vector of nonnegative integers.
Data Types: double
Output Arguments
info
— Sequence and cyclic shift hopping information
structure
Sequence and cyclic shift hopping information, returned as a structure that contains these fields:
Parameter Field | Values | Description |
---|---|---|
U | 1-by-2 integer vector | Base sequence group numbers, returned as a 1-by-2 integer vector with element values from 0 to 29. The first vector element corresponds to the first hop in a slot. The second vector element corresponds to the second hop in a slot. |
V | 1-by-2 logical vector | Base sequence numbers, returned a 1-by-2 logical vector. The first vector element corresponds to the first hop in a slot. The second vector element corresponds to the second hop in a slot. |
Alpha | 1-by-14 integer vector, 1-by-12 integer vector, N-by-14 integer vector, N-by-12 integer vector | Cyclic shifts of all OFDM symbols in a slot, returned as a 1-by-14 integer vector (for normal cyclic prefix) or 1-by-12 integer vector (for extended cyclic prefix). The first vector element corresponds to the first hop in a slot. The second vector element corresponds to the second hop in a slot. When you specify the |
FGH | 1-by-2 integer vector | Sequence-group hopping pattern, returned as 1-by-2 integer vector with values from 0 to 29. The first vector element corresponds to the first hop in a slot. The second vector element corresponds to the second hop in a slot. |
FSS | nonnegative integer | Sequence-group shift offset, returned as a nonnegative integer from 0 to 29. |
Hopping |
| Hopping configuration, returned as 'neither' ,
'groupHopping' , or 'sequenceHopping' .
The hopping configuration is based on the input argument
groupHopping . |
NCS | 1-by-14 integer vector, 1-by-12 integer vector | Hopping identity of cyclic shifts, referred to as n_cs in TS 38.211 Section 6.3.2.2.2, returned as a 1-by-14 integer vector (for normal cyclic prefix) or 1-by-12 integer vector (for extended cyclic prefix). A vector element at position i corresponds to the hopping identity of cyclic shift at symbol position i in a slot. |
Data Types: struct
References
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] 3GPP TS 38.213. “NR; Physical layer procedures for control.” 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 R2019aR2023b: Support for release 16 interlacing for operation in unlicensed spectrum (NR-U)
The nirb
input argument enables you to specify the RB indices in
the interlace. When you specify nirb
, the
info
.Alpha
field returns a matrix where each row
contains the cyclic shifts for each RB in the interlace.
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)