lteSCIResourceAllocation
SCI message physical resource blocks allocation
Description
returns
a column vector containing the zero-based physical resource block
(PRB) indices for the specified UE settings and as defined by the
resource allocation substructure of the sidelink control information
(SCI) message structure. The PRB indices created are for a single
PSSCH transmission in a subframe within the PSSCH subframe pool. prbset
= lteSCIResourceAllocation(ue
,scistr
)
For more information, see SCI Resource Allocation.
Examples
Allocate Nonhopping PSSCH Subframe Pool PRBs
Display the PRB allocations associated with the sequence of subframes in a PSSCH subframe pool.
Configure a nonhopping allocation of 3 PRBs according to the RIV calculation specified in TS 36.213, Section 8.1.1.
ue = struct('NSLRB',50); sci = struct('FreqHopping',0); sci.Allocation.RIV = 110;
Display an image of the PRBs used in each slot of each subframe in a pool of 10 PSSCH subframes.
subframeslots = zeros(ue.NSLRB,20); for i = 0:9 ue.NSubframePSSCH = i; prbSet = lteSCIResourceAllocation(ue,sci); prbSet = repmat(prbSet,1,2/size(prbSet,2)); for s = 1:2 subframeslots(prbSet(:,s)+1,2*i+s) = 20+s*20; end end imagesc(subframeslots) axis xy xlabel('PSSCH Subframe Pool') ylabel('PRB Indices')
Allocate Type 2 Hopping PSSCH Subframe Pool PRBs
Configure a type 2 hopping allocation of 3 PRBs. Display the PRB allocations that are associated with the sequence of subframes in a PSSCH subframe pool.
Configure UE and SCI settings structures for a type 2 hopping allocation of 3 PRBs.
ue = struct('NSLRB',50); ue.PSSCHHoppingParameter = 10; ue.NSubbands = 2; ue.PSSCHHoppingOffset = 1; sci = struct('FreqHopping',1); sci.Allocation.RIV = 110; sci.Allocation.HoppingBits = 3;
Display an image of the PRBs used in each slot of each subframe in a pool of 10 PSSCH subframes.
subframeslots = zeros(ue.NSLRB,20); for i = 0:9 ue.NSubframePSSCH = i; prbSet = lteSCIResourceAllocation(ue,sci); prbSet = repmat(prbSet,1,2/size(prbSet,2)); for s = 1:2 subframeslots(prbSet(:,s)+1,2*i+s) = 20+s*20; end end imagesc(subframeslots) axis xy xlabel('PSSCH Subframe Pool') ylabel('PRB Indices')
Allocate Type 1 Hopping PSSCH Subframe Pool PRBs
Configure a type 1 hopping allocation of 3 PRBs. Display the PRB allocations that are associated with the sequence of subframes in a PSSCH subframe pool.
Configure UE and SCI settings structures for a type 1 hopping allocation of 3 PRBs.
ue = struct('NSLRB',50); sci = struct('FreqHopping',1); sci.Allocation.RIV = 110; sci.Allocation.HoppingBits = 1;
Display an image of the PRBs used in each slot of each subframe in a pool of 10 PSSCH subframes.
subframeslots = zeros(ue.NSLRB,20); for i = 0:9 ue.NSubframePSSCH = i; prbSet = lteSCIResourceAllocation(ue,sci); prbSet = repmat(prbSet,1,2/size(prbSet,2)); for s = 1:2 subframeslots(prbSet(:,s)+1,2*i+s) = 20+s*20; end end imagesc(subframeslots) axis xy xlabel('PSSCH Subframe Pool') ylabel('PRB Indices')
Allocate Type 1 Hopping PSSCH Pool Restricting PRBs
Configure PRB pool restriction for transmission mode 2. Display the PRB allocations that are associated with the sequence of subframes in a PSSCH subframe pool.
Configure a UE settings structure with specified PRB indices. Default settings are used for other UE and SCI fields.
ue = struct('NSLRB',50); ue.PRBPool = (30:49); sci = struct('FreqHopping',1);
Display an image of the PRBs used in each slot of each subframe in a pool of 10 PSSCH subframes.
subframeslots = zeros(ue.NSLRB,20); for i = 0:9 ue.NSubframePSSCH = i; prbSet = lteSCIResourceAllocation(ue,sci); prbSet = repmat(prbSet,1,2/size(prbSet,2)); for s = 1:2 subframeslots(prbSet(:,s)+1,2*i+s) = 20+s*20; end end imagesc(subframeslots) axis xy xlabel('PSSCH Subframe Pool') ylabel('PRB Indices')
Input Arguments
ue
— User equipment settings
structure
User equipment settings, specified as a parameter structure containing these fields:
NSLRB
— Number of sidelink resource blocks
integer scalar from 6 to 110
Number of sidelink resource blocks, specified as an integer scalar from 6 to 110.
Example: 6
, which corresponds to a channel
bandwidth of 1.4 MHz.
Data Types: double
NSubframePSSCH
— PSSCH subframe number
integer scalar | optional
PSSCH subframe number in PSSCH subframe pool, specified as an integer scalar. ()
Note
This parameter is required for SCI format 0 and frequency
hopping.
(scistr
.SCIFormat
= 'Format0'
and
scistr
.FreqHopping
= 1)
Data Types: double
PSSCHHoppingParameter
— PSSCH hopping parameter
0 (default) | integer scalar from 0 to 510 | optional
PSSCH hopping parameter, specified as an integer scalar from 0 to 510. (SL-HoppingConfigComm-r12 {hoppingParameter-r12})
All values ≥ 504 are treated as 510.
Note
This parameter is required for SCI format 0 and frequency
hopping.
(scistr
.SCIFormat
= 'Format0'
and
scistr
.FreqHopping
= 1)
Data Types: double
NSubbands
— Number of subbands
1 (default) | 2 | 4 | optional
Number of subbands, specified as 1, 2, or 4. (SL-HoppingConfigComm-r12 {numSubbands-r12})
Note
This parameter is required for SCI format 0 and frequency
hopping.
(scistr
.SCIFormat
= 'Format0'
and
scistr
.FreqHopping
= 1)
Data Types: double
PSSCHHoppingOffset
— PSSCH hopping offset
0 (default) | integer scalar from 0 to 110 | optional
PSSCH hopping offset, specified as an integer scalar from 0 to 110. (SL-HoppingConfigComm-r12 {rb-Offset-r12})
Note
This parameter is required for SCI format 0 and frequency
hopping.
(scistr
.SCIFormat
= 'Format0'
and
scistr
.FreqHopping
= 1)
Data Types: double
PRBPool
— PSSCH resource block pool
optional | zero-based integer vector | optional
PSSCH resource block pool (sidelink transmission mode 2), specified
as a zero-based integer vector of indices giving the PRBs in the pool.
If PRBPool
is absent or empty, the pool is assumed
to be the full transmission bandwidth.
Note
This parameter is required for SCI format 0 and frequency
hopping.
(scistr
.SCIFormat
= 'Format0'
and
scistr
.FreqHopping
= 1)
Data Types: double
PSSCHNSubchannels
— Number of sub-channels in the V2X PSSCH resource pool
1
(default) | integer scalar from 1 to 110 | optional
Number of sub-channels in the V2X PSSCH resource pool, specified as an integer scalar from 1 to 110.
Note
This parameter is required for SCI format 1.
(scistr
.SCIFormat
= 'Format1'
)
Data Types: double
PSSCHSubchannelsSize
— Number of PRB in each sub-channel
4
(default) | integer scalar from 1 to 110 | optional
Number of PRB in each sub-channel, specified as an integer scalar from 1 to 110.
Note
This parameter is required for SCI format 1.
(scistr
.SCIFormat
= 'Format1'
)
Data Types: double
PSSCHSubchannelsPRBStart
— First PRB index associated with first sub-channel of the resource pool
0
(default) | integer scalar from 1 to 109 | optional
First PRB index associated with first sub-channel of the resource pool, specified as an integer scalar from 1 to 109.
Note
This parameter is required for SCI format 1.
(scistr
.SCIFormat
= 'Format1'
)
Data Types: double
PSSCHAdjacency
— Whether PSCCH and PSSCH are transmitted in adjacent PRB
'On'
(default) | 'Off'
| optional
Whether PSCCH and PSSCH are transmitted in adjacent PRB,
specified as 'On'
or
'Off'
.
Note
This parameter is required for SCI format 1.
(scistr
.SCIFormat
= 'Format1'
)
Data Types: double
FirstSubchannelIdx
— First sub-channel index of PSSCH resource allocation
0
(default) | integer scalar from 1 to 109 | optional
First sub-channel index of PSSCH resource allocation, specified as an integer scalar from 1 to 109.
Note
This parameter is required for SCI format 1.
(scistr
.SCIFormat
= 'Format1'
)
Data Types: double
Data Types: struct
scistr
— Sidelink control information settings
structure
Sidelink control information settings, specified as a parameter structure containing these PRB allocation fields:
SCIFormat
— SCI format type
'Format0'
(default) | 'Format1'
SCI format type, specified as 'Format0'
or
'Format1'
.
Data Types: char
| string
FreqHopping
— Frequency hopping flag
0 (default) | 1
Frequency hopping flag, specified as 0 for nonhopping
allocation type or 1 for hopping allocation type. When
scistr
.FreqHopping
= 1,
the hopping allocation type is signalled by
scistr
.Allocation
.HoppingBits
.
Note
This parameter is required for SCI format 0.
(scistr
.SCIFormat
= 'Format0'
)
Data Types: double
Allocation
— Resource allocation parameter substructure
structure | optional
Resource allocation parameter substructure, specified as a structure.
HoppingBits
— Hopping bits
0 (default) | bit vector with 0, 1, or 2 bits
Hopping bits, specified as a bit vector with 0, 1,
or 2 bits. The HoppingBits
parameter signals the hopping type. For more
information, see SCI Resource Allocation.
Note
This parameter is required for SCI format 0.
(scistr
.SCIFormat
= 'Format0'
)
Data Types: double
RIV
— Resource indication value
0 (default) | bit vector with 5 to 13 bits
Resource indication value, specified as a bit vector with 5 to 13 bits. The resource indication value assignment for sidelink follows the specifications for uplink, as modified in TS 36.213 [2], Sections 14.1.1.2 and 14.1.1.4. For more information, see SCI Resource Allocation.
Note
This parameter is required for SCI format 0.
(scistr
.SCIFormat
= 'Format0'
)
Data Types: double
Data Types: struct
RIV
— Resource indication value
bit vector with 0 to 13 bits | optional
Resource indication value, specified as a bit vector with 0 to 13 bits. The resource indication value assignment for sidelink follows the specifications for uplink, as modified in TS 36.213 [2], Sections 14.1.1.2 and 14.1.1.4. For more information, see SCI Resource Allocation.
Note
This parameter is required for SCI format 1.
(scistr
.SCIFormat
= 'Format1'
)
Data Types: double
Data Types: struct
Output Arguments
prbset
— Physical resource block indices
nonnegative integer column vector | nonnegative integer column matrix
Physical resource block indices, returned as a nonnegative integer column vector or N-by-2 integer matrix of zero-based indices.
When the allocation type defines one set of PRB indices to use in the first and second slots of the subframe,
prbset
is returned as an integer column vector.When the allocation type defines a different set of PRB indices in the first and second slots of the subframe,
prbset
is returned as two-column integer matrix.
The PRB indices created are for a single PSSCH transmission in a subframe within the PSSCH subframe pool.
More About
SCI Resource Allocation
Sidelink control information (SCI) resource
allocation mapping is described in TS 36.211 [1], Section 9.3.6. The sciout
structure
returned by lteSCI
can be directly
used as the scistr
structure input to lteSCIResourceAllocation
.
Using lteSCI
creates a properly
formatted SCI format 0 message, ensuring that the field values adhere
to the underlying field bit lengths. The scistr
field
values are read modulo to the SCI message bit lengths. Any fields
missing from scistr
default to 0. PSSCH allocations
are based on uplink resource allocation type 0 (see lteDCI
, DCI format 0). In these allocations,
the same single contiguous PRB allocation must be used for both slots
in the subframe. As with uplink, for sidelink:
A
FreqHopping
value of 1 signals a hopping allocation type. There are two types of hopping: type 1 PUSCH hopping and type 2 PUSCH hopping (frequency hopping with a predefined pattern).scistr
.Allocation
.HoppingBits
signals the hopping type, as specified in TS 36.213 [2], Table 8.4-2.A
FreqHopping
value of 0 signals a nonhopping allocation type
Alternatively, you can use lteDCIResourceAllocation
with
a DCI format 5 message and the same message fields to generate the
PSSCH allocations. This PSSCH allocation represents sidelink transmission
mode 1, with the eNodeB using a DCI format 5 message to provide the
transmitting UE with a PSSCH resource allocation.
References
[1] 3GPP TS 36.211. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.
[2] 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 R2016b
See Also
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)