Main Content

ltePUCCH1

Physical uplink control channel format 1

Description

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.

example

Examples

collapse all

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

ue.NCellID = 1;
ue.NSubframe = 0;
chs.ResourceIdx = 0;
pucch1Sym = ltePUCCH1(ue,chs,[]);

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,:)
ans = 10×2 complex

   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

size(info)
ans = 1×2

     1     2

View the contents of the info structure elements.

info(2)
ans = struct with fields:
               Alpha: [3.6652 2.0944 4.1888 1.0472 5.2360 2.0944 2.6180 4.1888]
            SeqGroup: [1 1]
              SeqIdx: [0 0]
        NResourceIdx: [3 11]
    NCellCyclicShift: [64 193 89 191 71 101 234 105]
          OrthSeqIdx: [0 0]
             Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
             OrthSeq: [4x2 double]
           ScrambSeq: [0.0000 + 1.0000i 0.0000 + 1.0000i]

Input Arguments

collapse all

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

0 (default), nonnegative scalar 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

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))

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

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,...]

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

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

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

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

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

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

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

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

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

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,...]

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

References

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

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

Version History

Introduced in R2014a