ltePSCCHIndices
PSCCH resource element indices
Description
[
returns a column vector of physical sidelink control channel (PSCCH) resource
element (RE) indices for the specified UE settings structure for either D2D or V2X
sidelink. By default, the indices are returned in one-based linear indexing form.
You can use this form to directly index elements of a matrix representing the
subframe resource grid for antenna port 1000. For more information, see Physical Sidelink Control Channel Indexing.ind
] = ltePSCCHIndices(ue
)
Examples
Map PSCCH Resource Elements
Write the complex PSCCH values into the PSCCH resource elements in a PSCCH subframe for D2D sidelink and with normal cyclic prefix. Do the same for V2X. Display an image of their locations and compare both sidelink modes. This mapping writes PSCCH values into the last SC-FDMA guard symbol within a subframe. The sidelink SC-FDMA modulator removes these values before transmission of the waveform.
Create a UE settings structure for D2D sidelink and an empty sidelink resource grid. Assign a PRB set index of 5.
ue = struct('NSLRB',15,'CyclicPrefixSL','Normal'); subframe_D2D = lteSLResourceGrid(ue); ue.PRBSet = 5;
Generate PSCCH indices. Populate the PSCCH resource elements in the subframe. For D2D normal cyclic prefix, a PSCCH subframe contains 144 REs.
[pscch_indices, pscch_info] = ltePSCCHIndices(ue); subframe_D2D(pscch_indices) = ltePSCCH(zeros(pscch_info.G,1));
Change user equipment settings to V2X sidelink mode. Assign a PRB set indices of 5 and 6.
ue.SidelinkMode = 'V2X';
subframe_V2X = lteSLResourceGrid(ue);
ue.PRBSet = [5;6];
Generate PSCCH indices. Populate the PSCCH resource elements in the subframe using a codeword filled with zeros. For V2X, a PSCCH subframe contains 240 REs.
[pscch_indices, pscch_info] = ltePSCCHIndices(ue); subframe_V2X(pscch_indices) = ltePSCCH(zeros(pscch_info.G,1));
View the resource grid and compare the indices for both sidelink modes.
subplot(2,1,1); image(400*abs(subframe_D2D)); axis xy; title('D2D'); subplot(2,1,2); image(400*abs(subframe_V2X)); axis xy; title(ue.SidelinkMode);
View PSCCH Information Structure
View the information structure output by the PSCCH resource element indexing function.
Create a UE settings structure.
ue = struct('NSLRB',15,'CyclicPrefixSL','Normal','PRBSet',5);
Generate PSCCH indices and the information structure. View the information structure.
[pscch_indices,info] = ltePSCCHIndices(ue); info
info = struct with fields:
G: 288
Gd: 144
Compare PSCCH Resource Element Indexing
Compare PSCCH resource element indexing formats. Options include one-based or zero-based indices in linear or subscript row indexing style.
Create a UE settings structure.
ue = struct('NSLRB',15,'CyclicPrefixSL','Normal','PRBSet',5);
One-based linear indexing, this is the default output style
Generate PSCCH indices using the default one-based linear indexing.
pscch1ind = ltePSCCHIndices(ue); pscch1ind(1)
ans = uint32
61
Zero-based linear indexing
Generate PSCCH indices using zero-based linear indexing.
opts = '0based';
pscch0ind = ltePSCCHIndices(ue,opts);
pscch0ind(1)
ans = uint32
60
For zero-based indexing, the first assigned index is one lower than the one-based indexing.
One-based indices in [subcarrier,symbol,port]
subscript row style
Generate PSCCH indices using one-based subscript row style.
opts = {'sub','1based'}; pscch1sub = ltePSCCHIndices(ue,opts); pscch1sub(1,:)
ans = 1x3 uint32 row vector
61 1 1
The subscript row style outputs a 24-by-3 matrix. Viewing the first row you see from the second column value that symbol number 1 is occupied.
Inspecting the output matrix for unique symbol values, shows the symbols 4 and 11 are not occupied by PSCCH. Two PSCCH subframe symbols are reserved for transmission of PSCCH DM-RS. When one-based indexing is specified, symbols 4 and 11 transmit the PSCCH DM-RS.
unique(pscch1sub(:,2,:))
ans = 12x1 uint32 column vector
1
2
3
5
6
7
8
9
10
12
⋮
Input Arguments
ue
— User equipment settings
structure
User equipment settings, specified as a parameter structure containing these fields:
SidelinkMode
— Sidelink mode
'D2D'
(default) | 'V2X'
| optional
Sidelink mode, specified as 'D2D'
or
'V2X'
.
Data Types: char
| string
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
CyclicPrefixSL
— Cyclic prefix length
'Normal'
(default) | 'Extended'
| optional
Cyclic prefix length, specified as 'Normal'
or 'Extended'
.
Data Types: char
| string
PRBSet
— Zero-based physical resource block index
integer | integer column vector | two-column integer matrix
Zero-based physical resource block (PRB) index, specified as an integer, an integer column vector, or a two-column integer matrix.
For D2D sidelink, the PSCCH is intended to be transmitted in a single PRB in a subframe and
therefore, specifying PRBSet
as a scalar PRB index is recommended.
For V2X sidelink, the PSCCH is intended to be transmitted in a pair of consecutive PRB
in a subframe, therefore PRBSet
must be a column vector containing
two consecutive indices. However, for a more general nonstandard multi-PRB allocation,
PRBSet
can be a set of indices specified as an integer column
vector or as a two-column integer matrix corresponding to slot-wise resource allocations
for PSCCH.
Data Types: double
Data Types: struct
opts
— Output format options for resource element indices
character vector | cell array of character vectors | string array
Output 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
Output Arguments
ind
— PSCCH resource element indices
integer column vector | three-column integer matrix
PSCCH resource element indices, returned as an integer column vector or a three-column integer matrix. For D2D sidelink, the returned vector has 144 PSCCH resource element indices for normal cyclic prefix or 120 PSCCH resource element indices for extended cyclic prefix. For V2X, the nominal output is a 240-length column vector and it is defined for normal cyclic prefix only. For more information, see Physical Sidelink Control Channel Indexing.
Data Types: uint32
info
— PSCCH subframe resource information
structure
PSCCH subframe resource information, returned as a parameter structure containing these fields:
G
— PSCCH bit capacity
integer
PSCCH bit capacity, returned as an integer. For D2D sidelink, this value is 288 for normal cyclic prefix or 240 for extended cyclic prefix. For V2X, it is 480.
Data Types: double
Gd
— PSCCH QPSK symbol capacity
integer
PSCCH QPSK symbol capacity, returned as an integer. For D2D sidelink, this value is 144 for normal cyclic prefix or 120 for extended cyclic prefix. For V2X, it is 240.
Data Types: double
Data Types: struct
More About
Physical Sidelink Control Channel Indexing
Use the ltePSCCHIndices
indexing
function and the corresponding ltePSCCH
sequence
function to populate the PSCCH subframe resource grid. The PSCCH is
transmitted in the available SC-FDMA symbols in a PSCCH subframe,
using a single layer representing antenna port 1000. It excludes each
symbol per slot assigned to PSCCH DM-RS. For more information on PSCCH
DM-RS, see the ltePSCCHDRSIndices
function.
The indices are ordered as the PSCCH QPSK modulation symbols should be mapped, applying frequency-first mapping. The resource elements in the last SC-FDMA symbol within a subframe are counted in the mapping process but should not be transmitted. The sidelink-specific SC-FDMA modulation creates this guard symbol.
For more information on mapping symbols to the resource element grid, see Resource Grid Indexing.
Physical Sidelink Control Channel Processing
Physical sidelink control channel (PSCCH) processing includes PSCCH-specific scrambling, QPSK modulation, and SC-FDMA transform precoding. PSCCH processing follows the processing steps used for PUSCH, with variations defined in TS 36.211, Section 9.4.
For PSCCH, the input codeword length is Mbits = NRE × Nbps, where NRE is the number of PSCCH resource elements in a subframe and Nbps is the number of bits per symbol. Because the PSCCH is QPSK modulated, there are 2 bits per symbol. Nominally, the codeword length for PSCCH is 288 bits for D2D normal cyclic prefix, 240 bits for D2D extended cyclic prefix and 480 for V2X. Nominally, NRE is 144 for D2D normal cyclic prefix or 120 for D2D extended cyclic prefix. For V2X, it is 240 defined for normal cyclic prefix only. Specifically, NRE = NPRB × NREperPRB × NSYM and includes symbols associated with the sidelink SC-FDMA guard symbol.
NPRB is the number of physical resource blocks (PRB) used for transmission. PSCCH is transmitted on a single PRB.
NREperPRB is the number of resource elements in a PRB. Each PRB has 12 resource elements.
NSYM is the number of SC-FDMA symbols in a PSCCH subframe, including symbols associated with the sidelink SC-FDMA guard symbol. The number of SC-FDMA symbols is a PSCCH subframe is 12 for D2D normal cyclic prefix or 10 for D2D extended cyclic prefix and V2X.
For D2D sidelink, when an SCI message is sent as a sidelink shared grant, it is transmitted twice on two separate PSCCH instances within the associated PSCCH resource pool. For V2X, only a single instance of PSCCH is transmitted for each scheduling grant.
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.
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 (한국어)