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 3 DRS uplink frame timing estimate


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



offset = lteULFrameOffsetPUCCH3(ue,chs,waveform) performs synchronization using PUCCH format 3 demodulation reference signals (DRS) for the time-domain waveform, waveform, given UE-specific settings, ue, and PUCCH format 3 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] = lteULFrameOffsetPUCCH3(ue,chs,waveform) also returns a complex-valued matrix corr of the same dimensions as waveform which is the signal used to extract the timing offset. offset is the position of max(abs(corr)).


collapse all

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

Initialize configuration structures (ue and pucch3).

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

pucch3 = struct('ResourceIdx',0);

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

reGrid = lteULResourceGrid(ue);
reGrid(ltePUCCH3DRSIndices(ue,pucch3)) = ltePUCCH3DRS(ue,pucch3);
waveform = lteSCFDMAModulate(ue,reGrid);
tx = [0;0;0;0;0;0;0; waveform];

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

fOffset = lteULFrameOffsetPUCCH3(ue,pucch3,tx)
rxGrid = lteSCFDMADemodulate(ue,tx(1+fOffset:end));
fOffset =


Input Arguments

collapse all

UE-specific settings, specified as a 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.


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.


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

Parameter FieldRequired or OptionalValuesDescription

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

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

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

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.

Data Types: double

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

Data Types: double
Complex Number Support: Yes

Introduced in R2014a

Was this topic helpful?