Documentation

lteULFrameOffsetPUCCH2

PUCCH format 2 DRS uplink frame timing estimate

Syntax

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

Description

example

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

Examples

collapse all

Synchronize and Demodulate Delayed Transmission

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 =

     5

Perform demodulation

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

Input Arguments

collapse all

ue — UE-specific settingsscalar structure

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

Parameter FieldRequired or OptionalValuesDescription
NULRBRequired

Positive scalar integer

Number of uplink (UL) resource blocks (RBs)

NCellIDRequired

Nonnegative scalar integer (0,…,503)

Physical layer cell identity

NSubframeRequired

Nonnegative scalar integer

Subframe number

CyclicPrefixULOptional

'Normal' (default), 'Extended'

Cyclic prefix length

NTxAntsOptional

1 (default), 2, 4

Number of transmission antennas

HoppingOptional

'Off' (default), or 'Group'

Frequency hopping method

NPUCCHIDOptional

Nonnegative scalar integer (0,…,503)

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

Data Types: struct

chs — PUCCH Format 2 configurationscalar structure

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

Parameter FieldRequired or OptionalValuesDescription
ResourceIdxOptional

0 (default), 0 ... 1185, Nonnegative scalar integer.

A vector of PUCCH Resource Indices, one for each transmission antenna, which determine the physical resource blocks, cyclic shift, and orthogonal cover used for transmission (n2_pucch)

ResourceSizeOptional

0 (default), 0 ... 98, Nonnegative scalar integer.

Size of resource allocated to PUCCH Format 2 (N2RB)

CyclicShiftsOptional

0 (default), 0 ... 7, Nonnegative scalar integer.

Number of cyclic shifts used for Format 1 in resource blocks (RBs) with a mixture of Format 1 and Format 2 PUCCH (N1cs)

Data Types: struct

waveform — Time-domain waveformnumeric matrix

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

oack — Number of uncoded Hybrid ARQ bits1 | 2

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

Data Types: double

Output Arguments

collapse all

offset — Number of samples from the start of the waveform to the position in that waveform where the first subframe beginsscalar integer

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.

ack — Decoded PUCCH Format 2 Hybrid ARQ bitsnumeric vector or matrix

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

corr — Signal used to extract the timing offsetnumeric matrix

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?