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
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')
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')
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')
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
User equipment settings, specified as a parameter structure containing these fields:
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
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
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
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
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
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
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
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
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
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
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
Sidelink control information settings, specified as a parameter structure containing these PRB allocation fields:
SCI format type, specified as 'Format0'
or
'Format1'
.
Data Types: char
| string
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
Resource allocation parameter substructure, specified as a structure.
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
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
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
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
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: United States.
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)