This is machine translation

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


PUCCH format 1 DRS uplink frame timing estimate


  • offset = lteULFrameOffsetPUCCH1(ue,chs,waveform)
  • [offset,corr] = lteULFrameOffsetPUCCH1(ue,chs,waveform)



offset = lteULFrameOffsetPUCCH1(ue,chs,waveform) performs synchronization using PUCCH format 1 demodulation reference signals (DRS) for the time-domain waveform, waveform, given UE-specific settings, ue, and PUCCH format 1 configuration, chs.

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, ue.NSubframe. This behavior is consistent with real-world operation because the base station knows when, or in which subframe, to expect uplink transmissions.

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


collapse all

Synchronization and demodulation of transmission which has been delayed by four samples using the PUCCH Format 1 demodulation reference signals (DM-RS).

Initialize configuration structures (ue and pucch1).

ue = struct('NULRB',6,'NCellID',0,'NSubframe',0,'Hopping','Off');
ue.CyclicPrefixUL = 'Normal';
ue.NTxAnts = 1;

pucch1 = struct('ResourceIdx',0);
pucch1.CyclicShifts = 0;
pucch1.DeltaShift = 1;
pucch1.ResourceSize = 0;

On the transmit side, populate reGrid, generate waveform, and insert a delay of four samples.

reGrid = lteULResourceGrid(ue);
reGrid(ltePUCCH1DRSIndices(ue,pucch1)) = ltePUCCH1DRS(ue,pucch1);
waveform = lteSCFDMAModulate(ue,reGrid);
tx = [0;0;0;0; waveform];

On the receive side, perform synchronization using PUCCH format 1 DM-RS for the time-domain waveform and demodulate adjusting for the frame timing estimate. Show estimated frame timing offset.

fOffset = lteULFrameOffsetPUCCH1(ue,pucch1,tx)
rxGrid = lteSCFDMADemodulate(ue,tx(1+fOffset:end));
fOffset =


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 1 configuration, specified as a scalar structure with the following fields.

Parameter FieldRequired or OptionalValuesDescription

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.


0 (default), integer from 0 to 98.

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


1 (default), 2, 3

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


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.


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 lteSCFDMAModulate function, or by using one of the channel model functions (lteFadingChannel, lteHSTChannel, or lteMovingChannel).

Data Types: double
Complex Number Support: Yes

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.

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?