Main Content

nrPUCCH3

Generate PUCCH format 3 modulation symbols

Description

sym = nrPUCCH3(uciCW,mod,nid,rnti,mrb) returns the physical uplink control channel (PUCCH) format 3 modulation symbols, as defined in TS 38.211 Section 6.3.2.6 [1]. uciCW is the encoded uplink control information (UCI) codeword, as defined in TS 38.212 Section 6.3.1 [2]. The encoding consists of scrambling using scrambling identity nid, symbol modulation using modulation scheme mod, and transform precoding based on the allocated number of PUCCH resource blocks mrb.

rnti specifies the radio network temporary identifier (RNTI) of the user equipment (UE).

example

sym = nrPUCCH3(___,'OutputDataType',datatype) specifies the PUCCH symbol data type in addition to the input arguments in the previous syntax.

example

Examples

collapse all

Create a random sequence of binary values corresponding to a UCI codeword of 96 bits.

uciCW = randi([0 1],96,1);

Using QPSK modulation, generate PUCCH format 3 modulation symbols for the specified scrambling identity, RNTI, and allocated bandwidth of two resource blocks.

modulation = 'QPSK';
nid = 148;
rnti = 160;
Mrb = 2;
sym = nrPUCCH3(uciCW,modulation,nid,rnti,Mrb)
sym = 48×1 complex

  -0.5774 - 0.2887i
  -0.0288 + 0.6273i
  -1.4717 + 0.3943i
   0.3237 - 0.3237i
   0.3660 + 0.5774i
  -0.3247 + 0.0149i
  -0.2887 + 1.1547i
  -1.0216 - 0.7397i
  -0.7113 - 0.2887i
  -0.6619 - 0.9010i
      ⋮

Create a random sequence of binary values corresponding to a UCI codeword of 96 bits.

uciCW = randi([0 1],96,1);

Using pi/2-BPSK modulation, generate PUCCH Format 3 modulation symbols of single data type for the specified scrambling identity, RNTI, and allocated bandwidth of two resource blocks.

modulation = 'pi/2-BPSK';
nid = 512;
rnti = 2563;
mrb = 2;
sym = nrPUCCH3(uciCW,modulation,nid,rnti,mrb,'OutputDataType','single')
sym = 96x1 single column vector

   1.1547 + 0.5774i
  -0.0197 - 0.1773i
   0.2887 + 0.2887i
   0.2887 - 0.1196i
   0.7113 + 0.2887i
  -0.4279 + 0.0475i
  -0.5774 - 0.5774i
   0.0475 - 0.4279i
   0.2887 + 0.7113i
  -0.1196 + 0.2887i
      ⋮

Input Arguments

collapse all

Encoded UCI codeword, specified as a logical column vector. For more information, see TS 38.212 Section 6.3.1 [2].

Data Types: int8 | double | logical

Modulation scheme, specified as 'pi/2-BPSK' or 'QPSK'. The modulation scheme determines the modulation type performed on the input codeword and the number of bits used per modulation symbol.

Modulation SchemeNumber of Bits Per Symbol

'pi/2-BPSK'

1
'QPSK'2

Data Types: char | string

Scrambling identity, specified as an integer from 0 to 1023. nid is higher layer parameter dataScramblingIdentityPUSCH, 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, see TS 38.211 Section 6.3.2.6.1.

Data Types: double

RNTI of the UE, specified as an integer from 0 to 65,535.

Data Types: double

Number of PUCCH resource blocks, specified as a positive integer.

Data Types: double

Data type of the output symbols, specified as 'double' or 'single'.

Data Types: char | string

Output Arguments

collapse all

PUCCH format 3 modulation symbols, returned as a complex column vector.

Data Types: single | double
Complex Number Support: Yes

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.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Extended Capabilities

Version History

Introduced in R2019a