Main Content

lteSRS

Uplink sounding reference signal

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. (nSRScs)

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. (NZCRS)

Data Types: double

Data Types: struct

More About

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