Sidelink SC-FDMA demodulation
Perform sidelink SC-FDMA modulation of one subframe containing the sidelink synchronization signals and add noise at an SNR of 3.0 dB. The demodulator zeros the resource elements in the last SC-FDMA symbol. This behavior is consistent with the operation of the SC-FDMA modulator which does not modulate the last SC-FDMA symbol of the subframe. Plot the received waveform and the demodulated resource grid magnitude.
Create a UE settings structure.
ue.NSLRB = 15; ue.CyclicPrefixSL = 'Normal'; ue.NSLID = 17;
Populate the resource grid with PSSS and SSSS. Modulate the PSSS and SSSS.
txgrid = lteSLResourceGrid(ue); txgrid(ltePSSSIndices(ue)) = ltePSSS(ue); txgrid(lteSSSSIndices(ue)) = lteSSSS(ue); [txwaveform,info] = lteSLSCFDMAModulate(ue,txgrid);
Add AWGN with an SNR of 3.0 dB.
rxwaveform = awgn(txwaveform,3.0,'measured');
Perform sidelink SC-FDMA demodulation.
rxgrid = lteSLSCFDMADemodulate(ue,rxwaveform);
Calculate the RMS of each SC-FDMA symbol in the received resource grid.
rms = sqrt(sum(abs((rxgrid./double(info.Nfft)).^2)));
Plot the magnitude of the resulting time-domain waveform, overlaying the RMS for each SC-FDMA symbol after demodulation. Plot the demodulated resource grid magnitude.
t = (0:size(rxwaveform,1))/info.SamplingRate; figure subplot(2,1,1) plot(t(1:end-1),abs(rxwaveform),'r') hold on 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('RX Waveform vs. Time') legend('RX waveform magnitude','RMS per demodulated SC-FDMA symbol') subplot(2,1,2) imagesc(abs(rxgrid)) title('Demodulated 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:
waveform — Sidelink SC-FDMA modulated waveform
Sidelink SC-FDMA modulated waveform, specified as an NS-by-NT numeric
matrix, where NS is the
number of the time-domain samples and NT is
the number of transmission antennas. NS = K × 30720 / 2048 × Nfft,
where Nfft is the FFT size
and K is the number of subframes in
For more information about the FFT size, see
Complex Number Support: Yes
cpfraction — Fraction of cyclic prefix
0.55 (default) | numeric scalar from 0 to 1
Fraction of cyclic prefix, specified as a numeric scalar from
0 to 1. A value of
0 represents the start of the
cyclic prefix and a value of
1 represents the end
of the cyclic prefix. The default value is
assumes for the default level of windowing in the
grid — Resource element grid
numeric 3-D array
Resource element grid, returned as an NSC-by-NSYM-by-NT numeric
array. NSC is 12 ×
NSLRB subcarriers. NSYM is
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 antenna ports.
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
Sidelink SC-FDMA Demodulation
Sidelink SC-FDMA demodulation recovers the
received subcarrier values by performing one FFT operation per received
sidelink SC-FDMA symbol. The recovered subcarrier values are used
to construct each column of the output resource array grid. The FFT
is positioned partway through the cyclic prefix, to account for some
channel delay spread while avoiding the overlap between adjacent SC-FDMA
symbols. The input FFT is also shifted by half of one subcarrier.
The position of the FFT chosen in the function avoids the SC-FDMA
symbol overlapping used in the
Because the FFT is performed away from the original zero-phase point
on the transmitted subcarriers,
a phase correction to each subcarrier after the FFT.
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. The resource elements of the last SC-FDMA symbol in each subframe of the output resource array grid are set to zero by
lteSLSCFDMADemodulate. This behavior is consistent with SC-FDMA modulation, performed by
The sampling rate of the time-domain sidelink waveform must be the same as the rate used in the
lteSLSCFDMAModulatefunction, for the specified number of resource blocks, NRB.
waveformmust be time aligned, such that the first sample is the first sample of the cyclic prefix of the first sidelink SC-FDMA symbol in a subframe.
 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.