Documentation

lteSRSIndices

Uplink SRS resource element indices

Syntax

  • [ind,info] = lteSRSIndices(ue,chs)
    example
  • [ind,info] = lteSRSIndices(ue,chs,opts)

Description

example

[ind,info] = lteSRSIndices(ue,chs) returns a column vector of resource element (RE) indices given the UE-specific settings structure, ue, and signal transmission configuration, chs. It returns a matrix of resource element (RE) indices and information structure array, info, for the Uplink sounding reference signal (SRS). By default, the indices are returned in one-based linear indexing form that can directly index elements of a resource matrix. These indices are ordered according to SRS modulation symbolsmapping. Alternative indexing formats can also be generated. The indices for each antenna are in the columns of ind, with the number of columns determined by the number of transmission antennas configured.

Type 1 triggered SRS transmission corresponds with aperiodic SRS triggered by DCI formats 0/4/1A for FDD or 0/4/1A/2B/2C for TDD. For this case, the parameter chs.ConfigIdx indexes trigger type 1 UE-specific periodicity T_SRS,1, and subframe offset, T_offset,1. Also, the valid range of chs.ConfigIdx (I_SRS) is from 0 through 16 for FDD and from 0 through 24 for TDD.

For type 1 triggered SRS transmission, frequency hopping is not permitted. Therefore, set chs.HoppingBW (b_hop) such that chs.HoppingBW>=BW (B_SRS).

The UE-specific SRS periodicity, info.UePeriod, and subframe offset, info.UeOffset, are distinct from the cell-specific SRS periodicity and subframe offset returned from the lteSRSInfo function.

For SRS transmission on multiple antennas, when chs.NTxAnts is set to 2 or 4, the value of info.Port simply matches the position in the structure array, 0...NTxAnts–1. If chs.NTxAnts is set to 1,info.Port is used to indicate the port chosen by SRS transmit antenna selection. info.Port is 0 or 1 indicating the selected antenna port. If the NTxAnts parameter field is not present in the chs structure, the function uses the value of the same parameter field in the ue structure instead. If the NTxAnts parameter field is not present in the ue structure, the function assumes one antenna.

For cases where the ind output is empty, as is the case when the SRS is not scheduled for transmission in the subframe, the info structure still contains all fields. Undefined scalar fields (FreqStart, KTxComb, and BaseFreq) are set to -1. Undefined vector fields (PRBSet, FreqIdx, and HoppingOffset) are empty.

    Note:   UE-specific configurations as defined in TS 36.213 [1], Section 8.2 determine the operation of lteSRSIndices. lteSRSIndices may generate an SRS signal even in a subframe that, based on cell-specific SRS subframe configuration, is not an SRS subframe. lteSRSIndices returns an empty vector if no SRS is scheduled for a given UE-specific configuration.

    Use the field info.IsSRSSubframe returned by lteSRSInfo to control whether to call the lteSRSIndices and lteSRS functions in a subframe.

[ind,info] = lteSRSIndices(ue,chs,opts) allows control of the format of the returned indices through a cell array, opts, of option strings.

Examples

collapse all

Generate Uplink SRS Indices

This example creates SRS indices for 3 MHz bandwidth using the default SRS configuration.

Set the signal transmission configuration, chs structure fields.

chs.NTxAnts = 1;
chs.BWConfig = 7;
chs.BW = 0;
chs.ConfigIdx = 7;
chs.TxComb = 0;
chs.HoppingBW = 0;
chs.FreqPosition = 0;

Set ue structure fields.

ue.DuplexMode = 'FDD';
ue.CyclicPrefixUL = 'Normal';
ue.NFrame = 0;
ue.NULRB = 15;
ue.NSubframe = 0;

Generate the Uplink SRS resource element indices.

srsIndices = lteSRSIndices(ue,chs);
srsIndices(1:4)
ans =

        2401
        2403
        2405
        2407

Input Arguments

collapse all

ue — UE-specific settingsstructure

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

NULRB — Number of uplink resource blockspositive scalar integer

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

Data Types: double

NSubframe — Number of subframes0 (default) | optional | numeric scalar

Number of subframes, specified as a numeric scalar. Optional.

Data Types: double

NTxAnts — Number of transmission antennas1 (default) | optional | 2 | 4

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

Data Types: double

CyclicPrefixUL — Cyclic prefix length'Normal' (default) | optional | 'Extended'

Cyclic prefix length, specified as a string. Optional.

Data Types: char

NFrame — Initial frame number0 (default) | optional | numeric scalar

Initial frame number, returned as a numeric scalar. Optional.

Data Types: double

DuplexMode — Duplexing mode'FDD' (default) | optional | 'TDD'

Duplexing mode, specified as a string. Optional. This string represents the frame structure type of the generated waveform.

Data Types: char

TDDConfig — Uplink or downlink configuration0 (default) | optional | 0...6

Uplink or downlink configuration, returned as a nonnegative scalar integer from 0 through 6. Optional. Only required for 'TDD' duplex mode.

Data Types: double

SSC — Special subframe configuration0 (default) | optional | 0...9

Special subframe configuration, returned as a nonnegative scalar integer from 0 through 9. Optional. Only required for 'TDD' duplex mode.

Data Types: double

CyclicPrefix — Cyclic prefix length'Normal' (default) | optional | 'Extended'

Cyclic prefix length, returned as a string. Optional. Only required for 'TDD' duplex mode.

Data Types: char

Data Types: struct

chs — Signal transmission configurationstructure

Signal transmission configuration, specified as a structure. The structure contains these fields.

NTxAnts — Number of transmission antennas1 (default) | optional | 2 | 4

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

Data Types: double

BWConfig — Cell-specific SRS bandwidth configuration7 (default) | optional | 0...7

Cell-specific SRS bandwidth configuration, specified as a nonnegative scalar integer from 0 through 7. Optional. (C_SRS)

Data Types: double

BW — UE-specific SRS bandwidth0 (default) | optional | 0...3

UE-specific SRS bandwidth, specified as a nonnegative scalar integer from 0 through 3. Optional. (B_SRS)

Data Types: double

ConfigIdx — Configuration index for UE-specific periodicity7 (default) | optional | 0...644

Configuration index for UE-specific periodicity, specified as a nonnegative scalar integer from 0 through 644. Optional. This parameter contains the configuration index for UE-specific periodicity (T_SRS) and subframe offset (T_offset).

Data Types: double

TxComb — Transmission comb0 (default) | optional | 1

Transmission comb, specified as a 0 or 1. Optional. This parameter controls SRS positions. SRS is transmitted in six carriers per resource block on odd (1) and even (0) resource indices.

Data Types: double | logical

HoppingBW — SRS frequency hopping configuration index0 (default) | optional | 0...3

SRS frequency hopping configuration index, specified as a nonnegative scalar integer from 0 through 3. Optional. (b_hop)

Data Types: double

FreqPosition — Frequency-domain position0 (default) | optional | 0...23

Frequency-domain position, specified as a nonnegative scalar integer from 0 through 23. Optional. (n_RRC)

Data Types: double

CyclicShift — UE-specific cyclic shift0 (default) | optional | 0...7

UE-specific cyclic shift, specified as a nonnegative scalar integer from 0 through 7. Optional. This parameter applies only when NTxAnts is 4. (n_SRS^cs)

Data Types: double

NF4RachPreambles — Number of RACH preamble frequency resources of format 4 in UpPTS0 (default) | optional | 0...6

Number of RACH preamble frequency resources of format 4 in UpPTS, specified as a nonnegative scalar integer from 0 through 6. Optional. Only required for 'TDD' duplex mode.

Data Types: double

OffsetIdx — SRS subframe offset0 (default) | optional | 1

SRS subframe offset choice for 2 ms SRS periodicity, specified as 0 or 1. Optional. 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

MaxUpPts — Reconfiguration enable and disable1 (default) | optional | 0

Reconfiguration enable and disable, specified as 0 or 1. Optional. Only required for 'TDD' duplex mode. Enables (1) or disables (0) reconfiguration of m_SRS,0^max in UpPTS. (srs-MaxUpPts)

Data Types: double | logical

Data Types: struct

opts — Option strings for format of returned indicesstring | cell array of strings

Option strings for format of returned indices, specified as a string or a cell array of strings. It can include the following option strings.

Indexing style — Form of returned indices'ind' (default) | 'sub'

Form of returned indices, specified as 'ind' or 'sub'. The options are linear index form or [subcarrier, symbol, port] subscript row form.

Data Types: char

Index base — Index base of returned indices'1based' (default) | '0based'

Index base of returned indices, specified as '1based' or '0based'.

Data Types: char

Data Types: char | cell

Output Arguments

collapse all

ind — Antenna indicesnumeric matrix

Antenna indices, returned as a numeric matrix. Each column of RE indices corresponds to a transmission antenna.

Data Types: uint32

info — Information related to SRSstructure array

Information related to SRS, returned as a structure array. The structure contains the following fields.

UePeriod — UE-specific SRS periodicity2 | 5 | 10 | 20 | 40 | 80 | 160 | 320

UE-specific SRS periodicity, in ms, returned as a positive scalar integer.

Data Types: double

UeOffset — UE-specific SRS offset0...319

UE-specific SRS offset, returned as a nonnegative scalar integer between 0 and 319.

Data Types: double

PRBSet — Physical resource block setnumeric vector

Physical resource block set, returned as a numeric vector. PRBSet specifies the PRBs occupied by the indices (zero-based).

Data Types: double

FreqStart — Frequency-domain starting positionnumeric scalar

Frequency-domain starting position (k_0), returned as a numeric scalar. This argument is the zero-based subcarrier index of the lowest SRS subcarrier.

Data Types: double

KTxComb — Offset to the frequency-domain starting positionnumeric scalar

Offset to the frequency-domain starting position (k_TC), returned as a numeric scalar. This argument is a function of the transmission comb parameter.

Data Types: double

BaseFreq — Base frequency-domain starting position numeric scalar

Base (cell-specific) frequency-domain starting position (k_0 bar), returned as a numeric scalar. This UE-specific SRS is offset as a function of the UE-specific SRS bandwidth value, B_SRS. UE-specific SRS configuration cannot result in a frequency-domain starting position (k_0) lower than this value, given the cell-specific SRS bandwidth configuration value, C_SRS.

Data Types: double

FreqIdx — Frequency position indexnumeric vector

Frequency position index, returned as a numeric vector. This argument specifies the frequency position index (n_b) for each b in the range 0...B_SRS.

Data Types: double

HoppingOffset — Offset term due to frequency hoppingnumeric vector

Offset term due to frequency hopping, returned as a numeric vector. This argument specifies the offset term due to frequency hopping (F_b), used in the calculation of n_b.

Data Types: double

NSRSTx — Number of UE-specific SRS transmissionspositive scalar integer

Number of UE-specific SRS transmissions (n_SRS), returned as a positive scalar integer.

Data Types: double

Port — Antenna port number used for transmissionpositive scalar integer

Antenna port number used for transmission (p), returned as a positive scalar integer.

Data Types: double

Data Types: struct

References

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

Introduced in R2014a

Was this topic helpful?