# lteSRS

## Syntax

``seq = lteSRS(ue,chs)``
``````[seq,info] = lteSRS(ue,chs)``````

## Description

example

````seq = lteSRS(ue,chs)` returns a complex matrix, `seq`, containing uplink sounding reference signal (SRS) values and information structure array given structures containing UE-specific settings, and signal transmission configuration settings. For more information, see SRS Processing and TS 36.213 [1], Section 8.2.```
``````[seq,info] = lteSRS(ue,chs)``` also returns an SRS information structure array, `info`.```

## Examples

collapse all

This example generates SRS values for 1.4 MHz bandwidth using the default SRS configuration.

Set the signal transmission configuration, chs structure fields.

```chs.BWConfig = 7; chs.BW = 0; chs.CyclicShift = 0; chs.SeqGroup = 0; chs.SeqIdx = 0; chs.ConfigIdx = 7;```

Set ue structure fields.

```ue.DuplexMode = 'FDD'; ue.CyclicPrefixUL = 'Normal'; ue.NTxAnts = 1; ue.NFrame = 0; ue.NULRB = 6; ue.NSubframe = 0;```

Generate Uplink SRS resource element values.

```srs = lteSRS(ue,chs); srs(1:4)```
```ans = 4×1 complex 0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i ```

Generate the SRS symbols for two transmit antenna paths. Display the information structure.

Initialize UE-specific and channel configuration structures (`ue` and `chs`) for 3 MHz bandwidth and two antennas using the default SRS configuration. Generate SRS symbols and the information structure (`ind` and `info`).

```ue.DuplexMode = 'FDD'; ue.CyclicPrefixUL = 'Normal'; ue.NFrame = 0; ue.NULRB = 15; ue.NSubframe = 0; chs = struct(); chs.NTxAnts = 2; chs.BWConfig = 7; chs.BW = 0; chs.CyclicShift = 0; chs.ConfigIdx = 7; chs.SeqIdx = 0; chs.SeqGroup = 0; [ind,info] = lteSRS(ue,chs);```

Since there are two antennas, the SRS symbols are output as a two column vector and the `info` output structure contains two elements.

`ind(1:6,:)`
```ans = 6×2 complex 0.5000 - 0.5000i 0.5000 - 0.5000i -0.5000 + 0.5000i 0.5000 - 0.5000i 0.5000 + 0.5000i 0.5000 + 0.5000i -0.5000 - 0.5000i 0.5000 + 0.5000i -0.5000 + 0.5000i -0.5000 + 0.5000i 0.5000 - 0.5000i -0.5000 + 0.5000i ```
`size(info)`
```ans = 1×2 1 2 ```

View the contents of the two `info` structure elements.

`info(1)`
```ans = struct with fields: Alpha: 0 SeqGroup: 0 SeqIdx: 0 RootSeq: -1 NZC: -1 ```
`info(2)`
```ans = struct with fields: Alpha: 3.1416 SeqGroup: 0 SeqIdx: 0 RootSeq: -1 NZC: -1 ```

## Input Arguments

collapse all

UE-specific settings, specified as a structure containing these following fields.

Number of uplink resource blocks, specified as a positive integer.

Data Types: `double`

Subframe number, specified as a nonnegative integer.

Data Types: `double`

Number of transmission antennas, specified as 1, 2, or 4.

Data Types: `double`

Cyclic prefix length for uplink, specified as `'Normal'` or `'Extended'`.

Data Types: `char` | `string`

Initial frame number, specified as a nonnegative integer.

Data Types: `double`

Duplexing mode, specified as `'FDD'` or `'TDD'` to indicate the frame structure type of the generated waveform.

Example: `'TDD'`

Data Types: `char` | `string`

Uplink or downlink configuration, specified as an integer from 0 to 6. Only required for `TDD` duplex mode.

Data Types: `double`

Special subframe configuration, specified as an integer from 0 to 9. Only required for `TDD` duplex mode.

Data Types: `double`

Cyclic prefix length in the downlink, specified as `'Normal'` or `'Extended'`.

Data Types: `char` | `string`

Data Types: `struct`

Signal transmission configuration, specified as a structure containing these fields.

Number of transmission antennas, specified as 1, 2, or 4.

Data Types: `double`

SRS bandwidth configuration, specified as an integer from 0 to 7. (CSRS)

Data Types: `double`

UE-specific SRS bandwidth, specified as an integer from 0 to 3. (BSRS)

Data Types: `double`

Configuration index for UE-specific periodicity, specified as a nonnegative integer from 0 to 644. This parameter contains the configuration index for UE-specific periodicity (TSRS) and subframe offset (Toffset).

Data Types: `double`

UE-specific cyclic shift, specified as an integer from 0 to 7. (${n}_{SRS}^{cs}$)

Data Types: `double`

SRS sequence group number, specified as an integer from 0 to 29. (u)

Data Types: `double`

Base sequence number, specified as either 0 or 1. (v)

Data Types: `double` | `logical`

SRS subframe offset choice for 2 ms SRS periodicity, specified as 0 or 1. Only required for `'TDD'` duplex mode. This parameter indexes the two SRS subframe offset entries in the row of TS 36.213 [1], Table 8.2-2 for the SRS configuration index specified by the `ConfigIdx` parameter.

Data Types: `double`

Data Types: `struct`

## Output Arguments

collapse all

Uplink SRS values, returned as a complex matrix. The symbols for each antenna are in the columns of the matrix, `seq`. The symbols for each antenna are in the columns of `seq`, with the number of columns determined by the number of transmission antennas configured. For more information, see SRS Processing.

Data Types: `double`
Complex Number Support: Yes

Information related to SRS, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.

Reference signal cyclic shift, returned as a numeric scalar. (α)

Data Types: `double`

SRS sequence group number, returned as an integer from 0 to 29. (u)

Data Types: `double`

Base sequence number, returned as 0 or 1. (v)

Data Types: `double`

Root Zadoff-Chu sequence index, returned as an integer. (q)

Data Types: `double`

Zadoff-Chu sequence length, returned as an integer. (${N}_{ZC}^{RS}$)

Data Types: `double`

Data Types: `struct`

collapse all

### SRS Processing

As specified in TS 36.213, Section 8.2, a UE shall transmit the sounding reference symbol (SRS) on per serving cell SRS resources, based on two trigger types:

• trigger type 0 — periodic SRS from higher layer signalling

• trigger type 1 — aperiodic SRS from DCI formats 0/4/1A for FDD or TDD and from DCI formats 2B/2C/2D for TDD.

The parameter `chs``.``ConfigIdx` indexes Tables 8.2-1, 8.2-2, 8.2-4, and 8.2-5 defined in TS 36.213, Section 8.2. The applicable table and appropriate range of `chs.ConfigIdx` depends on the duplex mode and the SRS trigger type.

If type 0 triggered SRS transmission is intended, then:

• The valid range of `chs.ConfigIdx` (ISRS) is from 0 to 636 for FDD (Table 8.2-1) and from 0 to 644 for TDD (Table 8.2-2).

If type 1 triggered SRS transmission is intended, then:

• `chs.ConfigIdx` indexes trigger type 1 UE-specific periodicity TSRS,1 and subframe offset Toffset,1. The valid range of `chs.ConfigIdx` (ISRS) is from 0 to 16 for FDD (Table 8.2-4) and from 0 to 24 for TDD (Table 8.2-5).

• Frequency hopping is not permitted. Therefore, set `chs.HoppingBW` to be greater than or equal to `BW`. (bhop ≥ BSRS).

To control whether to call the `lteSRS` and `lteSRSIndices` functions in a subframe, use `info.IsSRSSubframe`, returned by `lteSRSInfo`.

UE-specific configurations determine how `lteSRS` and `lteSRSIndices` operate. When no SRS is scheduled, calling `lteSRS` or `lteSRSIndices` in a subframe:

• May generate an SRS depending on the cell-specific SRS subframe configuration.

• Returns an empty `seq` or `ind` vector, for a given UE-specific SRS configuration. Also, the `info` structure scalar fields are set to –1, and any undefined vector fields are empty.

For short-base reference sequences, used with SRS transmissions spanning 4 PRBs, the `lteSRS` function does not use Zadoff Chu sequences and it sets `info``.``RootSeq` and `info``.``NZC` to –1.

`lteSRSIndices` returns the UE-specific SRS periodicity, `info``.``UePeriod`, and subframe offset, `info``.``UeOffset`. These parameters are distinct from the cell-specific SRS periodicity and subframe offset that `lteSRSInfo` returns.

If `chs``.``NTxAnts` is not present, `ue``.``NTxAnts` is used. If neither is present, the function assumes one antenna. In `lteSRSIndices`, for SRS transmission on multiple antennas:

• When `chs``.``NTxAnts` is set to 2 or 4, the value of `info``.``Port` matches the position in the structure array (0,...,`NTxAnts` – 1).

• If `chs``.``NTxAnts` is set to 1, `lteSRSIndices` uses `info``.``Port` to indicate the port chosen by SRS transmit antenna selection. `info``.``Port` indicates the selected antenna port, 0 or 1.

## References

[1] 3GPP TS 36.213. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical layer procedures.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

## Version History

Introduced in R2014a