This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


PUCCH format 2 DRS uplink frame timing estimate


  • offset = lteULFrameOffsetPUCCH2(ue,chs,waveform,oack)
  • [offset ack] = lteULFrameOffsetPUCCH2(ue,chs,waveform,oack)
  • [offset ack corr] = lteULFrameOffsetPUCCH2(ue,chs,waveform,oack)



offset = lteULFrameOffsetPUCCH2(ue,chs,waveform,oack) performs synchronization using PUCCH format 2 demodulation reference signals (DRS) for the time-domain waveform, waveform, given UE-specific settings, ue, PUCCH format 2 configuration chs, and the number of Hybrid ARQ indicators oack.

The returned value offset indicates the number of samples from the start of the waveform waveform to the position in that waveform where the first subframe begins.

offset provides subframe timing; frame timing can be achieved by using offset with the subframe number, ueNSubframe. This behavior is consistent with real-world operation because the base station knows when, in which subframe, to expect uplink transmissions.

[offset ack] = lteULFrameOffsetPUCCH2(ue,chs,waveform,oack) also returns a vector ack of decoded PUCCH Format 2 Hybrid ARQ indicators.

[offset ack corr] = lteULFrameOffsetPUCCH2(ue,chs,waveform,oack) also returns a complex matrix corr of the same dimensions as waveform. corr is the signal used to extract the timing offset. offset is the position of max(abs(corr)).


collapse all

This example performs synchronization and demodulation of a transmission that has been delayed by 5 samples.

Initialize ue specific parameter structure, PUCCH2 structure, UL resource grid and txAck parameter.

ue.NULRB = 6;
ue.NCellID = 0;
ue.NSubframe = 0;
ue.Hopping = 'Off';
ue.CyclicPrefixUL = 'Normal';
ue.NTxAnts = 1;
pucch2.ResourceIdx = 0;
pucch2.ResourceSize = 0;
pucch2.CyclicShifts = 0;
rgrid = lteULResourceGrid(ue);
txAck = [1;1];
rgrid(ltePUCCH2DRSIndices(ue,pucch2)) = ltePUCCH2DRS(ue,pucch2,txAck);

Generate modulated waveform

waveform = lteSCFDMAModulate(ue,rgrid);
tx = [0;0;0;0;0;waveform];

Estimate UL frame offset timing

offset = lteULFrameOffsetPUCCH2(ue,pucch2,tx,length(txAck))
offset =


Perform demodulation

rxGrid = lteSCFDMADemodulate(ue,tx(1+offset:end));

Input Arguments

collapse all

UE-specific settings, specified as a scalar structure with the following fields.

Parameter FieldRequired or OptionalValuesDescription

Scalar integer from 6 to 110

Number of uplink resource blocks. (NRBUL)


Integer from 0 to 503

Physical layer cell identity


0 (default), nonnegative scalar integer

Subframe number


'Normal' (default), 'Extended'

Cyclic prefix length


1 (default), 2, 4

Number of transmission antennas.


'Off' (default), 'Group'

Frequency hopping method.


Integer from 0 to 503

PUCCH virtual cell identity. If this field is not present, NCellID is used as the identity.

Data Types: struct

PUCCH Format 2 configuration, specified as a scalar structure with the following fields.

Parameter FieldRequired or OptionalValuesDescription

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

PUCCH resource indices which determine the physical resource blocks, cyclic shift, and orthogonal cover used for transmission. (nPUCCH(2)). Define one index for each transmission antenna.


0 (default), integer from 0 to 98.

Size of resource allocated to PUCCH Format 2 (NRB(2))


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

Data Types: struct

Time-domain waveform, specified as a numeric matrix. waveform must be a T-by-P matrix where T is the number of time-domain samples and P is the number of receive antennas.

Generate waveform by SC-FDMA modulation of a resource matrix using the lteSCFDMAModulate function, or by using one of the channel model functions, lteFadingChannel, lteHSTChannel, or lteMovingChannel.

Data Types: double
Complex Number Support: Yes

Number of uncoded Hybrid ARQ bits exbected, 1 (PUCCH Format 2a) or 2 (PUCCH Format 2b).

Data Types: double

Output Arguments

collapse all

Number of samples from the start of the waveform to the position in that waveform where the first subframe begins, returned as a scalar integer. offset is computed by extracting the timing of the peak of the correlation between waveform and internally generated reference waveforms containing DRS signals. The correlation is performed separately for each antenna and the antenna with the strongest correlation is used to compute offset. This process is repeated for either one or two Hybrid ARQ indicators combination as specified by the parameter oack. This correlation amounts to a maximum likelihood (ML) decoding of the Hybrid ARQ indicators, which are conveyed on the PUCCH Format 2 DRS.

Decoded PUCCH Format 2 Hybrid ARQ bits, returned as a vector. If multiple decoded Hybrid ARQ indicator vectors have a likelihood equal to the maximum, ack is a matrix where each column represents one of the equally likely Hybrid ARQ indicator vectors.

Data Types: double

Signal used to extract the timing offset, returned as a complex numeric matrix. corr has the same dimensions as waveform.

Introduced in R2014a

Was this topic helpful?