Documentation

lteSRS

Uplink sounding reference signal

Syntax

  • seq = lteSRS(ue,chs)
    example
  • [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

Generate Uplink SRS Values

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 =

   0.7071 - 0.7071i
  -0.7071 + 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i

Generate SRS Symbols for Two Antennas

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,:)
size(info)
ans =

   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


ans =

     1     2

View the contents of the two info structure elements.

info(1)
info(2)
ans = 

       Alpha: 0
    SeqGroup: 0
      SeqIdx: 0
     RootSeq: -1
         NZC: -1


ans = 

       Alpha: 3.1416
    SeqGroup: 0
      SeqIdx: 0
     RootSeq: -1
         NZC: -1

Input Arguments

collapse all

ue — UE-specific settingsstructure

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

NULRB — Number of uplink resource blockspositive integer

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

Data Types: double

NSubframe — Subframe number0 (default) | optional | nonnegative integer

Subframe number, specified as a nonnegative integer.

Data Types: double

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

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

Data Types: double

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

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

Data Types: char

NFrame — Initial frame number0 (default) | optional | nonnegative integer

Initial frame number, specified as a nonnegative integer.

Data Types: double

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

Duplexing mode, specified as 'FDD' or 'TDD'. This string represents the frame structure type of the generated waveform.

Example: 'TDD'

Data Types: char

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

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

Data Types: double

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

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

Data Types: double

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

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

Data Types: char

Data Types: struct

chs — Signal transmission configurationstructure

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

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

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

Data Types: double

BWConfig — SRS bandwidth configuration7 (default) | optional | 0,...,7

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

Data Types: double

BW — UE-specific SRS bandwidth0 (default) | optional | 1 | 2 | 3

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

Data Types: double

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

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

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

UE-specific cyclic shift, specified as an integer from 0 to 7. (nSRScs)

Data Types: double

SeqGroup — SRS sequence group number0 (default) | optional | 0,...,29

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

Data Types: double

SeqIdx — Base sequence number0 (default) | optional | 1

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

Data Types: double | logical

OffsetIdx — SRS subframe offset 0 (default) | optional | 1

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

seq — Uplink SRS valuescomplex matrix

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.

Data Types: double
Complex Number Support: Yes

info — Information related to SRSstructure

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

Alpha — Reference signal cyclic shiftnumeric scalar

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

Data Types: double

SeqGroup — SRS sequence group number0,...,29

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

Data Types: double

SeqIdx — Base sequence number0 | 1

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

Data Types: double

RootSeq — Root Zadoff-Chu sequence indexinteger

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

Data Types: double

NZC — Zadoff-Chu sequence lengthinteger

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.

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 and from 0 to 24 for TDD.

  • 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. "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?