lteCellSearch

Cell identity search using PSS and SSS

Syntax

``````[cellid,offset,peak] = lteCellSearch(enb,waveform)``````
``````[cellid,offset,peak] = lteCellSearch(enb,waveform,alg)``````
``````[cellid,offset,peak] = lteCellSearch(enb,waveform,cellids)``````

Description

example

``````[cellid,offset,peak] = lteCellSearch(enb,waveform)``` returns the cell identity carried by the PSS and SSS signals in the input waveform, the timing offset to the start of the first frame of the waveform, and the peak correlation magnitude. The cell-wide settings structure, `enb`, defines the link configuration. ```
``````[cellid,offset,peak] = lteCellSearch(enb,waveform,alg)``` takes an additional input structure, `alg`, which provides control over the cell search. The input structure, `alg`, contains optional fields to define the SSS detection method, the maximum number of cells to detect, and which cell identities to search.```
``````[cellid,offset,peak] = lteCellSearch(enb,waveform,cellids)``` uses an additional input to constrain the cell search to the list of cell identities specified by in `cellids`. NoteThis syntax will be removed in a future release. Instead use the syntax [`cellid`,`offset`,`peak`] = lteCellSearch(`enb`,`waveform`,`alg`) and set `alg.CellIDs = cellids`. ```

Examples

collapse all

Search for the cell identity (in this case 171) of an `R.12` RMC waveform.

Initialize reference channel configuration, `rmc`. Perform cell search on the waveform produced using this configuration.

```rmc = lteRMCDL('R.12'); rmc.NCellID = 171; rmc.TotSubframes = 1;```
`cellID = lteCellSearch(rmc,lteRMCDLTool(rmc,[1;0;0;1]))`
```cellID = 171 ```

Input Arguments

collapse all

eNodeB cell-wide settings, specified as a structure containing these parameter fields.

Parameter FieldRequired or OptionalValuesDescription
`NDLRB`Required

Scalar integer from 6 to 110

Number of downlink resource blocks. (${N}_{\text{RB}}^{\text{DL}}$)

`CyclicPrefix`Optional

`'Normal'` (default), `'Extended'`

Cyclic prefix length

`Duplexmode`Optional

`'FDD'` (default), `'TDD'`

Duplexing mode, specified as:

• `'FDD'` for Frequency Division Duplex or

• `'TDD'` for Time Division Duplex

Time-domain waveform, specified as a numeric matrix of size T-by-P. Where T is the number of time-domain samples and P is the number of receive antennas. The sampling rate of the time domain waveform must be the same as used in the `lteOFDMModulate` function for the specified number of resource blocks `enb`.`NDLRB`. The number of time domain samples, T, must be sufficient to provide at least one subframe for FDD (or 2 for TDD since in TDD mode PSS and SSS lie in adjacent subframes). For the cell search to succeed, the waveform provided must contain the PSS and SSS signals.

Note

`enb`.`NDLRB` is only required to specify the sampling rate of `waveform`.

Data Types: `double`
Complex Number Support: Yes

Cell search algorithm control, specified as a structure. `alg` accepts these fields defining optional cell search algorithm settings.

Parameter FieldRequired or OptionalValuesDescription
`SSSDetection`Optional`'PreFFT'` (default), `'PostFFT'`.

SSS detection method.

[a]
`MaxCellCount`OptionalNonnegative scalar integer. (1, ..., 504), default 1.

The number of cell identities to detect.

[b]
`CellIDs`OptionalVector of nonnegative integers, default vector (0:503).

A vector containing the cell identities to use for the cell search.

[c]

[a] `'PostFFT'` SSS detection operates in the frequency domain. For `'PostFFT'`:

• OFDM demodulation is performed using the timing estimate from PSS detection,

• the demodulated SSS resource elements are correlated with possible SSS sequences to find the cell identity group,

• and the peak correlation magnitude is the sum of the peak correlation magnitudes from time-domain PSS detection and frequency-domain SSS detection.

[b] When `alg.MaxCellCount > 1`, the returned `cellid`, `offset`, and `peak` are vectors, with each element corresponding to one cell.

[c] If `alg.CellIDs` is absent, the output vectors are sorted by decreasing correlation peak magnitude, that is, decreasing `peak` value. If `alg.CellIDs` is present and `alg.MaxCellCount = numel(alg.CellIDs)`, the output vectors are in the same order as the cell identities in `alg.CellIDs`. Sorting the peaks enables monitoring of the `peak` output for a predetermined set of cells.

Cell identities to be used in the cell search, specified as a nonnegative scalar integer or vector of nonnegative integers.

Note

`cellids` and the syntax it is associated with will be removed in a future release. Instead use `alg`.`CellIDs` and the recommended alternate syntax.

Data Types: `double`

Output Arguments

collapse all

Physical layer cell identity, returned as a nonnegative scalar integer or vector of nonnegative integers. `cellid` indicates the detected cell identity. The returned `cellid` is a vector when `alg.MaxCellCount > 1` and more than one cell is detected.

The overall physical layer cell identity is ```cellid = (3*Nid1) + Nid2```. PSS conveys the second cell identity number ```(Nid2, (0,1,2))``` within a cell identity group and is established via time-domain correlation using the `lteDLFrameOffset` function. SSS conveys the first cell identity number ``` (Nid1, (0,...,167)) ``` and is established in a similar fashion.

Data Types: `double`

Timing offset, returned as a nonnegative scalar integer or vector of nonnegative integers. `offset` indicates the number of samples from the start of the input waveform to the position in that waveform where the first frame begins. The timing offset is calculated by correlating with the detected PSS and SSS. The returned `offset` is a vector when `alg.MaxCellCount > 1` and more than one cell is detected.

Data Types: `double`

Peak magnitude of the correlation, returned as a numeric scalar or vector of numeric values, used for cell detection. The returned `peak` is a vector when `alg.MaxCellCount > 1` and more than one cell is detected. The peak correlation magnitude is the sum of the peak correlation magnitudes from PSS and SSS detection. A complete correlation output is available as the output argument, `corr`, from `lteDLFrameOffset`.

Introduced in R2014a