Sidelink SC-FDMA modulation
waveform = lteSLSCFDMAModulate(ue,grid)
[waveform,info] = lteSLSCFDMAModulate(ue,grid)
[___] = lteSLSCFDMAModulate(ue,grid,windowing)
[___] = lteSLSCFDMAModulate( specifies
windowing the number of windowed and overlapped
samples to use in the time-domain windowing. For this syntax, the
value reported in
Any value provided in
This syntax supports output options from prior syntaxes.
Perform sidelink SC-FDMA modulation of one subframe containing a sidelink broadcast transmission. Any resource elements present in the last SC-FDMA symbol of the subframe are not modulated, so the resulting waveform magnitude is zero during that SC-FDMA symbol. Plot the magnitude of the resulting time-domain waveform and the transmitted resource grid magnitude.
Create a UE settings structure and an empty resource grid
ue.NSLRB = 6; ue.CyclicPrefixSL = 'Extended'; ue.InCoverage = 1; ue.DuplexMode = 'FDD'; ue.NFrame = 0; ue.NSubframe = 0; ue.NSLID = 42; grid = lteSLResourceGrid(ue);
Transmit the PSBCH
Populate the PSBCH resource grid with an encoded SL-MIB message, and its DM-RS. Perform sidelink SC-FDMA modulation.
grid(ltePSBCHIndices(ue)) = ltePSBCH(ue,lteSLBCH(ue,lteSLMIB(ue))); grid(ltePSBCHDRSIndices(ue)) = ltePSBCHDRS(ue); [waveform,info] = lteSLSCFDMAModulate(ue,grid);
Calculate the expected RMS for each SC-FDMA symbol from the resource grid prior to modulation.
rms = sqrt(sum(abs((grid./double(info.Nfft)).^2)));
Plot the waveform magnitude overlaying the RMS for each SC-FDMA symbol. Plot the transmitted resource grid magnitude.
t = (0:size(waveform,1))/info.SamplingRate; figure subplot(2,1,1) hold on plot(t(1:end-1),abs(waveform),'r'); n = cumsum([1 info.CyclicPrefixLengths + info.Nfft]); n = [n(1:end-1); n(2:end)]; rmsplot = repmat(rms,[2 1]); plot(t(n(:)),rmsplot(:),'b') xlabel('time (s)') ylabel('magnitude') title('Waveform vs. Time') legend('Waveform magnitude','RMS per resource grid SC-FDMA symbol') subplot(2,1,2) imagesc(abs(grid)) title('Resource Grid Magnitude') xlabel('SC-FDMA symbol index'); ylabel('subcarrier index');
ue— User equipment settings
User equipment settings, specified as a parameter structure containing these fields:
Windowing— Number of time-domain samples
grid— Resource element grid
Resource element grid, specified as an
numeric array. NSC must be a
multiple of 12 REs per Resource Block, since number of resource blocks is
NRB = NSC / 12.
NSYM must be a multiple
of the number of SC-FDMA symbols in a subframe (14 for normal cyclic prefix
and 12 for extended cyclic prefix).
NT is the number of
grid defines the RE allocation across
one or more subframes. Multiple subframes are defined by concatenation
across the columns (second dimension).
Complex Number Support: Yes
windowing— Number of time-domain samples
waveform— Sidelink SC-FDMA modulated waveform
info— Sidelink SC-FDMA modulated waveform information
Sidelink SC-FDMA modulated waveform information, returned as a parameter structure containing these fields:
SamplingRate— Sampling rate
Sampling rate of the time-domain sidelink waveform, in Hz,
returned as a positive numeric scalar.
Nfft × (30.72e6 / 2048).
Nfft— Number of FFT points
The number of FFT points, returned as a positive integer
Nfft is a function of the number of
resource blocks (NRB)
Nfft is the
smallest power of 2 greater than or equal to
(12 × NRB) / 0.85.
Nfft is the smallest FFT that
spans all subcarriers and results in no more than 85% of
(12 × NRB /
Windowing— Number of time-domain samples
Number of time-domain samples over which windowing and overlapping of sidelink SC-FDMA symbols is applied, returned as a positive integer scalar.
CyclicPrefixLengths— Cyclic prefix length
Cyclic prefix length in symbols for each sidelink SC-FDMA symbol in a subframe, returned as an NSYM-by-1 integer vector. NSYM is 14 for normal cyclic prefix and 12 for extended cyclic prefix.
The vector returned for
depends on the FFT size.
[160 144 144 144 144 144 144 160
144 144 144 144 144 144] for normal
[512 512 512 512 512 512 512 512
512 512 512 512] for extended cyclic
For other values of
these element values in
Nfft / 2048.
The sidelink SC-FDMA modulation processing
IFFT calculation, half-subcarrier shifting, cyclic prefix insertions,
and optional raised-cosine windowing and overlapping of adjacent sidelink
SC-FDMA symbols. TS 36.211 specifies that for PSSCH (Section 9.3.6),
PSCCH (9.4.6), PSDCH (9.5.6) and PSBCH (9.6.6), resource elements
in the last SC-FDMA symbol within a subframe should be counted in
the mapping process but not transmitted. Therefore, before performing
the IFFT, the last SC-FDMA symbol of each subframe in the input resource
grid is set to zero.
For sidelink SC-FDMA modulation, calling
a multi-subframe array of resource grids is recommended.
When the resource element grid input to
lteSLSCFDMAModulate spans multiple subframes,
the windowing and overlapping is applied between all adjacent SC-FDMA
symbols, including the last symbol of the previous subframe and the
first symbol of the next subframe. Multi-subframe modulation processing
results in a waveform that does not have discontinuities between subframes.
A time-domain waveform that concatenates individually modulated subframes has discontinuities at the start and end of each subframe. To avoid these discontinuities, the resulting multi-subframe time-domain waveform must be created by manually overlapping symbols at the subframe boundaries.
If the value for windowing is zero, issues concerning concatenation of subframes before sidelink SC-FDMA modulation do not apply.
Windowing is absent,
Windowing returns a default value chosen
as a function of NRB. The chosen value is a compromise between:
The effective duration of cyclic prefix, and therefore the channel delay spread tolerance
The spectral characteristics of the transmitted signal, not considering any additional FIR filtering
 3GPP TS 36.211. “Physical Channels and Modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.