Uplink SRS resource element indices
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.ind
= lteSRSIndices(ue
,chs
)
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 = 4x1 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 = 10x2 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: [4x1 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: [4x1 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 = 6x3 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: [4x1 double]
FreqStart: 60
KTxComb: 0
BaseFreq: 60
FreqIdx: 0
HoppingOffset: 0
NSRSTx: 0
Port: 1
ue
— UE-specific settingsUE-specific settings, specified as a structure containing the following fields.
NULRB
— Number of uplink resource blocksNumber of uplink resource blocks, specified as a positive integer.
Data Types: double
NSubframe
— Number of subframesNumber of subframes, specified as a nonnegative integer.
Data Types: double
NTxAnts
— Number of transmission antennasNumber of transmission antennas, specified as a 1, 2, or 4.
Data Types: double
CyclicPrefixUL
— Cyclic prefix length'Normal'
(default) | optional | 'Extended'
Cyclic prefix length, specified as 'Normal'
or 'Extended'
.
Data Types: char
| string
NFrame
— Initial frame numberInitial frame number, returned as a nonnegative integer.
Data Types: double
DuplexMode
— Duplexing mode'FDD'
(default) | optional | 'TDD'
Duplexing mode, specified as 'FDD'
or 'FDD'
to
indicate the frame structure of the generated waveform.
Data Types: char
| string
TDDConfig
— Uplink or downlink configurationUplink or downlink configuration, returned as a nonnegative
integer from 0 to 6. Only required for 'TDD'
duplex
mode.
Data Types: double
SSC
— Special subframe configurationSpecial subframe configuration, returned as a nonnegative integer
from 0 to 9. Only required for 'TDD'
duplex mode.
Data Types: double
CyclicPrefix
— Cyclic prefix length'Normal'
(default) | optional | 'Extended'
Cyclic prefix length, returned as 'Normal'
or 'Extended'
.
Only required for 'TDD'
duplex mode.
Data Types: char
| string
Data Types: struct
chs
— Signal transmission configurationSignal transmission configuration, specified as a structure containing these fields.
NTxAnts
— Number of transmission antennasNumber of transmission antennas, specified as a 1, 2, or 4.
Data Types: double
BWConfig
— Cell-specific SRS bandwidth configurationCell-specific SRS bandwidth configuration, specified as a nonnegative integer from 0 to 7. (CSRS)
Data Types: double
BW
— UE-specific SRS bandwidthUE-specific SRS bandwidth, specified as a nonnegative integer from 0 to 3. (BSRS)
Data Types: double
ConfigIdx
— Configuration index for UE-specific periodicityConfiguration 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
TxComb
— Transmission combTransmission 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
HoppingBW
— SRS frequency hopping configuration indexSRS frequency hopping configuration index, specified as a nonnegative integer from 0 to 3. (bhop)
Data Types: double
FreqPosition
— Frequency-domain positionFrequency-domain position, specified as a nonnegative integer from 0 to 23. (nRRC)
Data Types: double
CyclicShift
— UE-specific cyclic shiftUE-specific cyclic shift, specified as a nonnegative integer
from 0 to 7. This parameter applies only when NTxAnts
is
4. ()
Data Types: double
NF4RachPreambles
— Number of RACH preamble frequency resources of format 4 in UpPTSNumber 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
OffsetIdx
— SRS subframe offsetSRS 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
MaxUpPts
— Option to disable reconfiguration of sounding maximum bandwidthOption 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 in UpPTS. See TS 36.331 [2] for information on how the system information element srs-MaxUpPts applies
to configurability.
Data Types: double
| logical
Data Types: struct
opts
— Output format options for resource element indicesOutput 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 |
| The returned indices are in linear index style. |
| The returned indices are in | |
Index base |
| The returned indices are one-based. |
| 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
ind
— Antenna indicesAntenna 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
info
— Information related to SRSInformation related to SRS, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.
UePeriod
— UE-specific SRS periodicity2
| 5
| 10
| 20
| 40
| 80
| 160
| 320
UE-specific SRS periodicity, in ms, returned as a positive integer.
Data Types: double
UeOffset
— UE-specific SRS offsetUE-specific SRS offset, returned as an integer from 0 to 319.
Data Types: double
PRBSet
— Physical resource block setPhysical resource block set, returned as a vector of integers. PRBSet
specifies
the PRBs occupied by the indices (zero-based).
Data Types: double
FreqStart
— Frequency-domain starting positionFrequency-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
KTxComb
— Offset to the frequency-domain starting positionOffset 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
BaseFreq
— Base frequency-domain starting position Base (cell-specific) frequency-domain starting position (), 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
FreqIdx
— Frequency position indexFrequency 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
HoppingOffset
— Offset term due to frequency hoppingOffset 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
NSRSTx
— Number of UE-specific SRS transmissionsNumber of UE-specific SRS transmissions (nSRS), returned as a positive integer.
Data Types: double
Port
— Antenna port number used for transmissionAntenna port number used for transmission (p), returned as a positive integer.
Data Types: double
Data Types: struct
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.
Uplink pilot time slot — the uplink part of the special subframe. This special subframe is only applicable for TDD operation. For more information, see Frame Structure Type 2: TDD.
[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.
lteCSIRSIndices
| lteCellRSIndices
| lteDMRSIndices
| ltePRSIndices
| lteSRS
| lteSRSInfo
A modified version of this example exists on your system. Do you want to open this version instead?
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.
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: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.