Main Content

lteSRSIndices

Uplink SRS resource element indices

Description

ind = lteSRSIndices(ue,chs) returns a column vector of resource element (RE) indices for the Uplink sounding reference signal (SRS) given structures with the UE-specific settings, and the signal transmission configuration settings. For more information, see SRS Processing and TS 36.213 [1], Section 8.2.

example

[ind,info] = lteSRSIndices(ue,chs) also returns an SRS information structure array, info.

example

[___] = lteSRSIndices(ue,chs,opts) formats the returned indices using options specified by opts.

This syntax supports output options from prior syntaxes.

example

Examples

collapse all

This example creates SRS indices for 3 MHz bandwidth.

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 = 4×1 uint32 column vector

   2401
   2403
   2405
   2407

Generate the SRS indices 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. Generate SRS indices and the information structure (ind and info).

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

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

[ind,info] = lteSRSIndices(ue,chs);

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

ind(1:10,:)
ans = 10×2 uint32 matrix

   2401   4921
   2403   4923
   2405   4925
   2407   4927
   2409   4929
   2411   4931
   2413   4933
   2415   4935
   2417   4937
   2419   4939

size(info)
ans = 1×2

     1     2

View the contents of the two info structure elements.

info(1)
ans = struct with fields:
         UePeriod: 10
         UeOffset: 0
           PRBSet: [4×1 double]
        FreqStart: 60
          KTxComb: 0
         BaseFreq: 60
          FreqIdx: 0
    HoppingOffset: 0
           NSRSTx: 0
             Port: 0

info(2)
ans = struct with fields:
         UePeriod: 10
         UeOffset: 0
           PRBSet: [4×1 double]
        FreqStart: 60
          KTxComb: 0
         BaseFreq: 60
          FreqIdx: 0
    HoppingOffset: 0
           NSRSTx: 0
             Port: 1

Generate the SRS indices 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. Generate SRS indices and the information structure (ind and info).

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

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

[ind,info] = lteSRSIndices(ue,chs,{'sub'});

Using 'sub' indexing style, the indices are output in [subcarrier,symbol,antenna] subscript form. View the midpoint of ind and observe the antenna index change.

size(ind)
ans = 1×2

    48     3

ind(22:27,:)
ans = 6×3 uint32 matrix

   103    14     1
   105    14     1
   107    14     1
    61    14     2
    63    14     2
    65    14     2

Since there are two antennas, the info output structure contains two elements. View the contents of the second info structure element.

size(info)
ans = 1×2

     1     2

info(2)
ans = struct with fields:
         UePeriod: 10
         UeOffset: 0
           PRBSet: [4×1 double]
        FreqStart: 60
          KTxComb: 0
         BaseFreq: 60
          FreqIdx: 0
    HoppingOffset: 0
           NSRSTx: 0
             Port: 1

Input Arguments

collapse all

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

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

Data Types: double

Number of subframes, specified as a nonnegative integer.

Data Types: double

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

Data Types: double

Cyclic prefix length, specified as 'Normal' or 'Extended'.

Data Types: char | string

Initial frame number, returned as a nonnegative integer.

Data Types: double

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

Data Types: char | string

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

Data Types: double

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

Data Types: double

Cyclic prefix length, returned as 'Normal' or 'Extended'. Only required for 'TDD' duplex mode.

Data Types: char | string

Data Types: struct

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

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

Data Types: double

Cell-specific SRS bandwidth configuration, specified as a nonnegative integer from 0 to 7. (CSRS)

Data Types: double

UE-specific SRS bandwidth, specified as a nonnegative 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

Transmission comb, specified as a 0 or 1. 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

SRS frequency hopping configuration index, specified as a nonnegative integer from 0 to 3. (bhop)

Data Types: double

Frequency-domain position, specified as a nonnegative integer from 0 to 23. (nRRC)

Data Types: double

UE-specific cyclic shift, specified as a nonnegative integer from 0 to 7. This parameter applies only when NTxAnts is 4. (nSRScs)

Data Types: double

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

Data Types: double

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

Option to disable reconfiguration of sounding maximum bandwidth, specified as 0 or 1. Only required for 'TDD' duplex mode. Enables (1) or disables (0) reconfiguration of mSRS,0max in UpPTS. See TS 36.331 [2] for information on how the system information element srs-MaxUpPts applies tomSRS,0max configurability.

Data Types: double | logical

Data Types: struct

Output format options for resource element indices, specified as a character vector, cell array of character vectors, or string array. For convenience, you can specify several options as a single character vector or string scalar by a space-separated list of values placed inside the quotes. Values for opts when specified as a character vector include (use double quotes for string) :

Category Options Description

Indexing style

'ind' (default)

The returned indices are in linear index style.

'sub'

The returned indices are in [subcarrier,symbol,port] subscript row style.

Index base

'1based' (default)

The returned indices are one-based.

'0based'

The returned indices are zero-based.

Example: 'ind 1based', "ind 1based", {'ind','1based'}, or ["ind","1based"] specify the same formatting options.

Data Types: char | string | cell

Output Arguments

collapse all

Antenna indices, returned as a numeric matrix. 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 symbols mapping. The opts input offers alternative indexing formats. The indices for each antenna are in the columns of ind, with the number of columns determined by the number of transmission antennas configured specified in chs.NTxAnts. For more information, see SRS Processing.

Data Types: uint32

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

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

Data Types: double

UE-specific SRS offset, returned as an integer from 0 to 319.

Data Types: double

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

Data Types: double

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

Data Types: double

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

Data Types: double

Base (cell-specific) frequency-domain starting position (k¯0), returned as a numeric scalar. This UE-specific SRS is offset as a function of the UE-specific SRS bandwidth value, BSRS. UE-specific SRS configuration cannot result in a frequency-domain starting position (k0) lower than this value, given the cell-specific SRS bandwidth configuration value, CSRS.

Data Types: double

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

Data Types: double

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

Data Types: double

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

Data Types: double

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

Data Types: double

Data Types: struct

More About

collapse all

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.

[2] 3GPP TS 36.331. “Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control (RRC); Protocol specification.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2014a