ltePRACHDetect
Physical random access channel detection
Description
[
performs
PRACH detection given UE-specific settings structure, indout
,offset
]
= ltePRACHDetect(ue
,chs
,waveform
,indin
)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.
Examples
Detect PRACH Preamble
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
ue
— UE-specific settings
structure array
UE-specific settings, specified as a structure array. ue
contains
the following fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
NULRB | Required | 6, 9, 11, 15, 25, 27, 45, 50, 64, 75, 91, 100 | Number of uplink resource blocks. () |
DuplexMode | Optional |
| Duplexing mode, specified as either:
|
The following parameters
are dependent upon the condition that | |||
TDDConfig | Optional | 0, 1 (default), 2, 3, 4, 5, 6 | Uplink–downlink configuration |
SSC | Optional | 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 | |||
NSubframe | Optional | 0 (default), Nonnegative scalar integer | Subframe number |
NFrame | Optional | 0 (default), nonnegative scalar integer | Frame number |
The following parameter
fields are dependent upon the condition that the Preamble Format ( | |||
CyclicPrefix | Optional |
| Cyclic prefix length |
Data Types: struct
chs
— Channel transmission configuration
structure array
Channel transmission configuration, specified as a structure
array. chs
contains the following fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
Format | Optional | 0, 1, 2, 3, 4 (default is determined by |
Preamble format See Note. |
SeqIdx | Optional | Scalar integer from 0 to 837. The default value is 0. | Logical root sequence index (RACH_ROOT_SEQUENCE) |
ConfigIdx | Optional | Scalar integer from 0 to 63. The default value is determined by
|
PRACH Configuration Index (prach-ConfigurationIndex) See Note. |
CyclicShiftIdx | Optional | Scalar integer from 0 to 15. The default value is 0. | Cyclic shift configuration index (zeroCorrelationZoneConfig, yields NCS) |
HighSpeed | Optional | 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 | |||
FreqIdx | Optional | 0 (default), 0, 1, 2, 3, 4, 5 | Frequency resource index (fRA).
Only required for |
The following parameter
fields are dependent upon the condition that the Preamble Format ( | |||
FreqOffset | Optional | 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 |
Data Types: struct
waveform
— Received signal potentially containing PRACH transmission
numeric matrix
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
indin
— Range of preamble indices within the cell for which to search
column vector
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
indout
— Preamble index
scalar | [ ], empty
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 inindin
.
Data Types: double
offset
— Timing offset
scalar | [ ], empty
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 inindin
.
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
PRACH Detector
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.
Generate the input waveform
for one transmit antenna with the
ltePRACH
function. Generate input
waveform
with multiple transmit antenna (for example 2 or
4) using one of the channel model functions, lteFadingChannel
, lteHSTChannel
, or lteMovingChannel
. Any other waveform provided must be sampled at the
same sampling rate that ltePRACH
would produce for the same
configuration, specifically the same value of ue.NULRB
as
configured for the PRACH detector (ltePRACHDetect
). The
appropriate sampling rate can be found in the SamplingRate
field
of the output of ltePRACHInfo
. Except for the case of the
appropriate delay to position the transmission of Preamble Format 4 in the UpPTS for
TDD special subframes, it is assumed that any PRACH signal in
waveform
is synchronized such that the first sample of
waveform
corresponds to the start of an uplink subframe.
Therefore, the detector interprets any delay from the start of
waveform
to the first sample of the PRACH therein as a
timing offset.
The detector first calls info
=ltePRACHInfo
to establish the set of root
sequences info.RootSeq
required to cover all preamble
indices in indin
. A correlation is then performed
for each distinct value in info.RootSeq
, with the
inputs to the correlation being the input waveform
and
a locally generated PRACH waveform. The correlation is performed in
the frequency domain. Multiplication of the FFT of the useful part
of the locally generated PRACH waveform by a portion of the input waveform
extracted
with the same timing as the useful part of the locally generated PRACH
waveform, followed by an IFFT to give the correlation. Further fields
from info
are then used to establish the length
of the window of the correlator output that corresponds to each preamble
index, the zero correlation zone. The detector establishes the preamble
index by testing of the position of the peak in the correlator output
to determine if it lies in the window of the correlator output given
by the cyclic shift for each preamble index in turn. The offset within
the current window is used to compute the timing offset.
Version History
Introduced in R2014a
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)