Main Content

ltePRACHDetect

Physical random access channel detection

Description

[indout,offset] = ltePRACHDetect(ue,chs,waveform,indin) performs PRACH detection given UE-specific settings structure, ue, channel configuration structure, chs, received signal potentially containing a PRACH transmission, waveform, and range of preamble indices for which to search, specified in indin. The detector performs each distinct correlation required to cover all preamble indices, specified in indin, and searches the output of the correlations for peaks which exceed a detection threshold. The position of the peak in the correlator output is used to determine the preamble index detected and its associated timing offset. The preamble index and timing offset are returned in indout and offset respectively. For more information, see PRACH Detector.

example

Examples

collapse all

Detect a PRACH preamble which has been delayed by 7 samples.

Initialize configuration structures for ue-specific (ue) and channel (chs) parameters.

ue.NULRB = 6;
ue.DuplexMode = 'FDD';
chs.Format = 0;
chs.CyclicShiftIdx = 1;
chs.PreambleIdx = 44;
chs.HighSpeed = 0;
chs.FreqOffset = 0;
chs.SeqIdx = 0;

Generate transmit waveform containing PRACH. Insert a seven sample delay. Detect the PRACH.

tx = ltePRACH(ue,chs);
rx = [zeros(7,1); tx];
[index,offset] = ltePRACHDetect(ue,chs,rx,(0:63).')
index = 
44
offset = 
7.1895

The timing offset fractional part is an estimate of the fractional delay present in the correlation peak. This is due to the cyclic shift present in the PRACH preamble. A cyclic shift in the frequency domain is a delay in the time domain.

Input Arguments

collapse all

UE-specific settings, specified as a structure array. ue contains the following fields.

Parameter FieldRequired or OptionalValuesDescription
NULRBRequired6, 9, 11, 15, 25, 27, 45, 50, 64, 75, 91, 100

Number of uplink resource blocks. (NRBUL)

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as either:

  • 'FDD' for Frequency Division Duplex

  • 'TDD' for Time Division Duplex

The following parameters are dependent upon the condition that DuplexMode is set to 'TDD'.

  TDDConfigOptional

0, 1 (default), 2, 3, 4, 5, 6

Uplink–downlink configuration

  SSCOptional

0 (default), 1, 2, 3, 4, 5, 6, 7, 8, 9

Special subframe configuration (SSC)

The following parameter fields are dependent upon the condition that DuplexMode is set to 'TDD' or when chs.ConfigIdx is present.

  NSubframeOptional

0 (default), Nonnegative scalar integer

Subframe number

  NFrameOptional

0 (default), nonnegative scalar integer

Frame number

The following parameter fields are dependent upon the condition that the Preamble Format (chs.Format) is set to '4'.

  CyclicPrefixOptional

'Normal' (default), 'Extended'

Cyclic prefix length

Data Types: struct

Channel transmission configuration, specified as a structure array. chs contains the following fields.

Parameter FieldRequired or OptionalValuesDescription
FormatOptional

0, 1, 2, 3, 4 (default is determined by ConfigIdx field if present). However, the Format field must be specified if the ConfigIdx field is not specified.

Preamble format

See Note.

SeqIdxOptional

Scalar integer from 0 to 837. The default value is 0.

Logical root sequence index (RACH_ROOT_SEQUENCE)

ConfigIdxOptional

Scalar integer from 0 to 63. The default value is determined by Format field, if present. However, the ConfigIdx field must be specified if the Format field is not specified.

PRACH Configuration Index (prach-ConfigurationIndex)

See Note.

CyclicShiftIdxOptional

Scalar integer from 0 to 15. The default value is 0.

Cyclic shift configuration index (zeroCorrelationZoneConfig, yields NCS)

HighSpeedOptional

0 (default) or 1

High Speed flag (highSpeedFlag). A value of 1 signifies a restricted set. A value of 0 signifies an unrestricted set.

The following parameters are dependent upon the condition that ue.DuplexMode is set to 'TDD'.

  FreqIdxOptional

0 (default), 0, 1, 2, 3, 4, 5

Frequency resource index (fRA). Only required for 'TDD' duplexing mode.

The following parameter fields are dependent upon the condition that the Preamble Format (chs.Format) is set to 0, 1, 2, or 3.

  FreqOffsetOptional

Scalar integer from 0 to 94. The default value is 0.

PRACH frequency offset (nPRBoffset). Only required for Preamble format 0–3.

Note

Although the parameters chs.Format and chs.ConfigIdx are both described as ‘Optional’, at least one of these parameters must be specified. If both parameters are present, then chs.Format is used and chs.ConfigIdx is ignored.

Data Types: struct

Received signal potentially containing PRACH transmission, specified as an N-by-P numeric matrix. This matrix contains the received time-domain signal in which to search for PRACH transmissions. N is the number of time-domain samples. P is the number of receive antennas.

Data Types: double
Complex Number Support: Yes

Range of preamble indices within the cell for which to search, specified as a column vector. It can be from 1 through 64 in length, containing values from 0 through 63.

Data Types: double

Output Arguments

collapse all

Preamble index, returned as:

  • a scalar, if an index from indin results in the maximum correlation above detection threshold.

  • an empty,[ ], if no index from indin results in the maximum correlation above the detection threshold or the maximum correlation was obtained for an index not included in indin.

Data Types: double

Timing offset expressed in samples at the input sampling rate, returned as:

  • a scalar, if an index from indin results in the maximum correlation above detection threshold.

  • an empty,[ ], if no index from indin results in the maximum correlation above the detection threshold or the maximum correlation was obtained for an index not included in indin.

The timing offset estimate has an integer part corresponding to the correlation peak sample position and a fractional part estimating the fractional delay present in the correlation peak. The cyclic shift in the frequency domain present in the PRACH preamble can contribute to this fractional delay.

Data Types: double

More About

collapse all

Version History

Introduced in R2014a