lteSRS
Uplink sounding reference signal
Description
returns
a complex matrix, seq
= lteSRS(ue
,chs
)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.
Examples
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 = 4×1 complex
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,:)
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
ue
— UE-specific settings
structure
UE-specific settings, specified as a structure containing these following fields.
NULRB
— Number of uplink resource blocks
positive integer
Number of uplink resource blocks, specified as a positive integer.
Data Types: double
NSubframe
— Subframe number
0 (default) | optional | nonnegative integer
Subframe number, specified as a nonnegative integer.
Data Types: double
NTxAnts
— Number of transmission antennas
1 (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
| string
NFrame
— Initial frame number
0 (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'
to
indicate the frame structure type of the generated waveform.
Example: 'TDD'
Data Types: char
| string
TDDConfig
— Uplink or downlink configuration
0 (default) | integer from 0 to 6 | optional
Uplink or downlink configuration, specified as an integer from
0 to 6. Only required for TDD
duplex mode.
Data Types: double
SSC
— Special subframe configuration
0 (default) | integer from 0 to 9 | optional
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
| string
Data Types: struct
chs
— Signal transmission configuration
structure
Signal transmission configuration, specified as a structure containing these fields.
NTxAnts
— Number of transmission antennas
1 (default) | optional | 2 | 4
Number of transmission antennas, specified as 1, 2, or 4.
Data Types: double
BWConfig
— SRS bandwidth configuration
7 (default) | integer from 0 to 7 | optional
SRS bandwidth configuration, specified as an integer from 0 to 7. (CSRS)
Data Types: double
BW
— UE-specific SRS bandwidth
0 (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 periodicity
7 (default) | integer from 0 to 644 | optional
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 shift
0 (default) | integer from 0 to 7 | optional
UE-specific cyclic shift, specified as an integer from 0 to 7. ()
Data Types: double
SeqGroup
— SRS sequence group number
0 (default) | integer from 0 to 29 | optional
SRS sequence group number, specified as an integer from 0 to 29. (u)
Data Types: double
SeqIdx
— Base sequence number
0 (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
seq
— Uplink SRS values
complex 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. For
more information, see SRS Processing.
Data Types: double
Complex Number Support: Yes
info
— Information related to SRS
structure
Information related to SRS, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.
Alpha
— Reference signal cyclic shift
numeric scalar
Reference signal cyclic shift, returned as a numeric scalar. (α)
Data Types: double
SeqGroup
— SRS sequence group number
0,...,29
SRS sequence group number, returned as an integer from 0 to 29. (u)
Data Types: double
SeqIdx
— Base sequence number
0 | 1
Base sequence number, returned as 0 or 1. (v)
Data Types: double
RootSeq
— Root Zadoff-Chu sequence index
integer
Root Zadoff-Chu sequence index, returned as an integer. (q)
Data Types: double
NZC
— Zadoff-Chu sequence length
integer
Zadoff-Chu sequence length, returned as an integer. ()
Data Types: double
Data Types: struct
More About
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 ofchs.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 toBW
. (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
orind
vector, for a given UE-specific SRS configuration. Also, theinfo
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 ofinfo
.
Port
matches the position in the structure array (0,...,NTxAnts
– 1).If
chs
.
NTxAnts
is set to 1,lteSRSIndices
usesinfo
.
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
See Also
lteSRSIndices
| lteSRSInfo
| lteCellRS
| lteCSIRS
| lteDMRS
| ltePRS
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)