Documentation

ltePUCCH1

Physical uplink control channel format 1

Syntax

  • sym = ltePUCCH1(ue,chs,ack)
    example
  • [sym,info] = ltePUCCH1(ue,chs,ack)
    example

Description

example

sym = ltePUCCH1(ue,chs,ack) returns a matrix containing physical uplink control channel (PUCCH) format 1 symbols given a structure of UE-specific settings, a structure of channel transmission configuration settings, and hybrid ARQ (HARQ) indicator values.

If the configured PUCCH resource indices match indices configured for a scheduling request (SR), as specified in TS 36.213 [1], Section 10.1.5, you can also use this function to generate an SR.

example

[sym,info] = ltePUCCH1(ue,chs,ack) also returns a PUCCH information structure array, info.

Examples

collapse all

Generate PUCCH Format 1 Symbols

Generate the PUCCH format 1 symbols for UE-specific settings.

ue.NCellID = 1;
ue.NSubframe = 0;
chs.ResourceIdx = 0;
pucch1Sym = ltePUCCH1(ue,chs,[]);
Warning: Using default value for parameter field CyclicPrefixUL (Normal) 
Warning: Using default value for parameter field Hopping (Off) 
Warning: Using default value for parameter field DeltaShift (1) 
Warning: Using default value for parameter field CyclicShifts (0) 
Warning: Using default value for parameter field Shortened (0) 

To suppress 'Using default value...' warnings for LTE parameters, execute lteWarning('off','DefaultValue') in your MATLAB® command window prior to running code or initialize the parameters in your code workspace.

Generate PUCCH Format 1 Symbols for Two Antennas

Generate the physical uplink control channel (PUCCH) format 1 symbols for two transmit antenna paths.

Initialize parameters for a UE-specific configuration structure and a channel configuration structure. Generate PUCCH1 symbols and information outputs.

ue.NCellID = 1;
ue.NSubframe = 0;
ue.CyclicPrefixUL = 'Normal';
ue.Hopping = 'Off';

chs.ResourceIdx = [0 3];
chs.DeltaShift = 1;
chs.CyclicShifts = 0;
chs.Shortened = 0;

[pucch1Sym,info] = ltePUCCH1(ue,chs,[]);

Because there are two antennas, the symbols are output as a two-column vector, and the info output structure contains two elements.

pucch1Sym(1:10,:)
size(info)
ans =

   0.5000 + 0.5000i  -0.5000 + 0.5000i
  -0.6830 + 0.1830i   0.6830 - 0.1830i
   0.6830 + 0.1830i   0.1830 - 0.6830i
  -0.5000 + 0.5000i  -0.5000 + 0.5000i
  -0.1830 - 0.6830i   0.6830 - 0.1830i
  -0.6830 - 0.1830i   0.6830 + 0.1830i
   0.5000 + 0.5000i   0.5000 - 0.5000i
   0.6830 - 0.1830i   0.6830 - 0.1830i
  -0.1830 + 0.6830i  -0.6830 - 0.1830i
   0.5000 + 0.5000i  -0.5000 - 0.5000i


ans =

     1     2

View the contents of the info structure elements.

info(2)
ans = 

               Alpha: [1x8 double]
            SeqGroup: [1 1]
              SeqIdx: [0 0]
        NResourceIdx: [3 11]
    NCellCyclicShift: [64 193 89 191 71 101 234 105]
          OrthSeqIdx: [0 0]
             Symbols: [1x8 double]
             OrthSeq: [4x2 double]
           ScrambSeq: [0.0000 + 1.0000i 0.0000 + 1.0000i]

Input Arguments

collapse all

ue — UE-specific settingsstructure

UE-specific configuration settings, specified as a structure containing these fields.

Parameter FieldRequired or OptionalValuesDescription
NCellIDRequired

Integer from 0 to 503

Physical layer cell identity.

NSubframeRequired

Nonnegative integer

Subframe number.

CyclicPrefixULOptional

'Normal' (default), 'Extended'

Cyclic prefix length

HoppingOptional

'Off' (default), 'Group'

Frequency hopping method.

ShortenedOptional

0 (default), 1

Option to shorten the subframe by omitting the last symbol, specified as 0 or 1. If 1, the last symbol of the subframe is not used. For subframes with possible SRS transmission, set Shortened to 1 to maintain a standard compliant configuration.

Data Types: struct

chs — Channel transmission configurationstructure

Channel transmission configuration, specified as a structure containing these fields.

Parameter FieldRequired or OptionalValuesDescription
ResourceIdxOptional

0 (default), integer from 0 to 2047 or vector of integers.

PUCCH resource indices, specified as an integer or a vector of integers. Values range from 0 to 2047. These indices determine the physical resource blocks, cyclic shift and orthogonal cover used for transmission. (nPUCCH(1)). Define one index for each transmission antenna.

DeltaShiftOptional

1 (default), 2, 3

Delta shift, specified as 1, 2, or 3. (Δshift)

DeltaOffsetOptional

0 (default), 1, 2

(Δoffset). Warning: The use of this parameter field is not advised. It applies only to 3GPP releases preceding v8.5.0. This parameter will be removed in a future release.

CyclicShiftsOptional

0 (default), integer from 0 to 7

Number of cyclic shifts used for format 1 in resource blocks (RBs) with a mixture of format 1 and format 2 PUCCH, specified as an integer from 0 to 7. (Ncs(1))

ack — Hybrid ARQ indicator valuesnonnegative integer vector containing 0, 1 or 2 elements

Hybrid ARQ indicator values, specified as a nonnegative integer vector. This vector is expected to be the block of bits b(0),...,b(Mbit–1) specified in TS 36.211 [2], Section 5.4.1. An Mbit value of 0, 1, or 2 corresponds to PUCCH format 1, 1a, or 1b, respectively, as described in TS 36.211 [2], Table 5.4-1.

Example: [ ] indicates that no HARQ are transmitted in the subframe.

Output Arguments

collapse all

sym — PUCCH format 1 symbolsnumeric column vector

PUCCH format 1 symbols, returned as a numeric column vector. The symbols for each antenna are in the columns of sym, with the number of columns determined by the number of PUCCH resource indices specified in chs.ResourceIdx.

Example: [0.7071 + 0.7071i,...]

info — PUCCH format 1 resource informationstructure array

PUCCH format 1 resource information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.

Alpha — Reference signal cyclic shift for each OFDM symboltwo-column vector

Reference signal cyclic shift for each OFDM symbol, returned as a two-column vector. (α)

SeqGroup — PUCCH base sequence group number for each slottwo-column vector

PUCCH base sequence group number for each slot, returned as a two-column vector. (u)

SeqIdx — PUCCH base sequence group number indices two-column vector

PUCCH base sequence group number indices for each slot, returned as a two-column vector. (v)

NResourceIdx — PUCCH resource indices for each slottwo-column vector

PUCCH resource indices for each slot, returned as a two-column vector. (n')

NCellCyclicShift — Cell-specific cyclic shift for each OFDM symbolvector

Cell-specific cyclic shift for each OFDM symbol, returned as a vector. (ncscell)

OrthSeqIdx — Orthogonal sequence index for each slotvector

Orthogonal sequence index for each slot, returned as a two-element vector. (noc)

Symbols — Modulated data symbols for each OFDM symbolvector

Modulated data symbols for each OFDM symbol, returned as a vector. (d(0))

Example: [0.7071 + 0.7071i,...]

OrthSeq — Orthogonal sequence of each slotnumeric matrix

Orthogonal sequence of each slot, returned as a numeric matrix. Each column in the matrix contains the orthogonal sequence (wnoc) for each slot.

    Note:   When ue.Shortened is 1, the transmission is shortened and the second column of info.OrthSeq has a 0 in the last row. This 0 value occurs because, in this case, the spreading factor for the second slot is 3 rather than 4.

Example: [1.000 + 1.000i,...]

ScrambSeq — Scrambling valuetwo-element vector

Scrambling value for each slot (S), returned as two-element vector.

References

[1] 3GPP TS 36.213. "Physical layer procedures." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[2] 3GPP TS 36.211. "Physical Channels and Modulation." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

Introduced in R2014a

Was this topic helpful?