Main Content

lteNBDLFrameOffset

Estimate timing offset of first downlink frame

Description

offset = lteNBDLFrameOffset(enb,waveform) returns offset, the timing offset between the start of waveform, the input time-domain waveform, and the start of the first downlink frame. To measure offset, the function performs synchronization using the specified synchronization signals of waveform for specified cell-wide settings enb.

This function estimates the timing offset by performing these steps.

  1. Extract the timing of the peak correlation between waveform and internally generated reference waveforms containing the synchronization signal symbols.

  2. Calculate the correlation for each antenna.

  3. Compute the offset for the correlation that displays the earliest peak with a magnitude of at least 50% of the maximum correlation across all antennas

example

[offset,corr] = lteNBDLFrameOffset(enb,waveform) also returns corr, the correlation matrix that the function uses to estimate the timing offset.

example

[___] = lteNBDLFrameOffset(enb,waveform,cfgCorr) specifies cfgCorr, reference signal configuration options, in addition to arguments from any of the previous syntaxes. This input sets the reference signals that the function uses to estimate the timing offset.

Examples

collapse all

Create a subframe resource array for the cell-wide settings structure, enb. Map the subframe array into a frame resource array.

enb.OperationMode = 'Standalone';
enb.NSubframe = 5;
enb.NFrame = 2;
enb.NNCellID = 1;
ue = struct('NBULSubcarrierSpacing','15kHz');
subframeGrid = repmat(lteNBResourceGrid(ue),1,2);
frameGrid = repmat(subframeGrid,1,10);
subframeGrid(lteNPSSIndices(enb)) = lteNPSS(enb);
frameGrid(:,14*enb.NSubframe + (1:14)) = subframeGrid;

Generate an OFDM-modulated waveform for the resource array and user-equipment-specific settings ue, specifying a timing offset of 25 samples.

waveform = [zeros(25,1); lteSCFDMAModulate(ue,frameGrid)];

Estimate the timing offset and display the result.

offset = lteNBDLFrameOffset(enb,waveform)
offset = 
25

Create a subframe resource grid for the cell-wide settings structure, enb. Map the subframe grid into a frame resource grid.

subframeGrid = zeros(12,14);
frameGrid = zeros(12,14*10);
enb.OperationMode = 'Standalone';
enb.NSubframe = 5;
subframeGrid(lteNPSSIndices(enb)) = lteNPSS(enb);
frameGrid(:,14*enb.NSubframe + (1:14)) = subframeGrid;

Generate an SC-FDMA-modulated waveform for the resource grid and user-equipment-specific settings ue, specifying a timing offset of five samples.

ue.NBULSubcarrierSpacing = '15kHz'; % NB DL OFDM is the same as NB UL SC-FDMA 
                                    % with 15-kHz subcarrier spacing
modulatedWaveform = lteSCFDMAModulate(ue,frameGrid);
waveform = [zeros(5,1); modulatedWaveform];

Use the NPSS to estimate the timing offset of the waveform, and return the signal used to perform the estimate. Display the timing offset estimate.

cfgCorr.NPSS = 'On';
cfgCorr.NSSS = 'Off';
cfgCorr.NRS = 'Off';
[offset,corr] = lteNBDLFrameOffset(enb,waveform,cfgCorr);
disp(offset)
     5

Input Arguments

collapse all

Cell-wide settings, specified as a structure containing these fields.

NameRequired or OptionalValuesDescriptionDependenciesData Types
OperationModeOptional'Standalone' (default), 'Inband-SamePCI', 'Inband-DifferentPCI', 'Guardband'

NB-IoT operation mode, specified as one of these values:

  • 'Standalone' – NB-IoT standalone operation within any 180-kHz band outside any LTE carrier bandwidth

  • 'Inband-SamePCI' – NB-IoT in-band operation with the same physical layer cell identity (PCI) as an LTE carrier

  • 'Inband-DifferentPCI' – NB-IoT in-band operation with a different PCI to an LTE carrier

  • 'Guardband' – NB-IoT guard-band operation utilizing unused resource blocks within the guard-band of an LTE carrier

Not applicablechar, string
NCellIDRequired when you set the OperationMode field to 'Inband-SamePCI' or 'Inband-DifferentPCI'Integer in the interval [0, 503]Physical layer cell identity (PCI). To enable this field, set the OperationMode field to 'Inband-SamePCI' or 'Inband-DifferentPCI'double
CellRefPRequired when you set the OperationMode field to 'Inband-SamePCI' or 'Inband-DifferentPCI'1, 2, 4Number of cell-specific antenna portsTo enable this field, set the OperationMode field to 'Inband-SamePCI' or 'Inband-DifferentPCI'double
NNCellIDRequired when you set the NSSS or NRS field of the cfgCorr input to 'On'Integer in the interval [0, 503]Narrowband PCITo enable this field, set the NSSS or NRS field of the cfgCorr input to 'On'double
NBRefPRequired when you set the NSSS or NRS field of the cfgCorr input to 'On'1, 2Number of narrowband reference signal (NRS) antenna portsTo enable this field, set the NRS field of the cfgCorr input to 'On'double

Note

To exclude cell reference signal (RS) locations, specify the NCellID and CellRefP fields. If you do not specify the NCellID and CellRefP fields, the function assumes that the cell RS is absent.

Data Types: struct

Time-domain waveform, specified as a T-by-P complex-valued matrix, where:

  • T is the number of time-domain samples.

  • P is the number of receive antennas.

You can generate a time-domain waveform by performing OFDM modulation on a signal or by using one of these channel model functions: lteFadingChannel, lteHSTChannel, or lteMovingChannel.

Data Types: double
Complex Number Support: Yes

Reference signal configuration options, specified as a structure containing these fields.

Narrowband primary synchronization signal (NPSS) correlation mode indicator, specified as 'On' or 'Off'. To use the NPSSs for estimating the timing offset, specify 'On'. To disable the use of the NPSSs for estimating the timing offset, specify 'Off'.

Data Types: char | string

Narrowband secondary synchronization signal (NSSS) correlation mode indicator, specified as 'On' or 'Off'. To use the NSSSs for estimating the timing offset, specify 'On'. To disable the use of the NSSSs for estimating the timing offset, specify 'Off'.

Data Types: char | string

Narrowband reference signal (NRS) correlation mode indicator, specified as 'On' or 'Off'. To use the NRSs for estimating the timing offset, specify 'On'. To disable the use of the NRSs for estimating the timing offset, specify 'Off'.

Data Types: char | string

Data Types: struct

Output Arguments

collapse all

Timing offset, in samples, between the start of the waveform input and the start of the first downlink frame within waveform, returned as an integer.

Data Types: double

Correlation matrix that the function uses to estimate timing offset, returned as a complex-valued matrix of the same dimensions as the waveform input.

Data Types: double
Complex Number Support: Yes

References

[1] 3GPP TS 36.104. “Evolved Universal Terrestrial Radio Access (E-UTRA); Base Station (BS) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2019b