Generate NPDSCH symbols
stateout] = lteNPDSCH(
sym, a matrix containing the encoded narrowband
physical downlink shared channel (NPDSCH) symbols for cell-wide settings
enb, channel transmission configuration
chs, and codeword
cw. The channel
encoding process comprises subframe selection, scrambling, symbol modulation, layer
mapping, and precoding in accordance with Section 10.2.3 of . The function
stateout, a structure containing the encoder state
for bundle transmission.
Generate NPDSCH Symbols
Generate the NPDSCH symbols subframe by subframe for a bundle of 12 subframes.
Specify the cell-wide settings and channel transmission configuration in parameter structures
enb.NNCellID = 0; enb.NBRefP = 1; enb.NFrame = 1; chs.NSF = 3; chs.NRep = 4; chs.RNTI = 0; chs.NPDSCHDataType = 'NotBCCH';
Set the output codeword length to 960 and generate the codeword bits. Do not provide the encoder state at the start of the bundle.
cwLen = 960; cw = ones(cwLen,1); statein = ;
Generate the NPDSCH symbols for each of the 12 subframes.
for subframeIdx = 0:(chs.NSF*chs.NRep-1) enb.NSubframe = subframeIdx; [txsym,stateout] = lteNPDSCH(enb,chs,cw,statein); statein = stateout; end disp(stateout.EndOfTx)
enb — Cell-wide settings
Cell-wide settings, specified as a structure containing these fields:
|Name||Required or Optional||Values||Description||Data Types|
|Required||Nonnegative integer||Narrowband physical layer cell identity (PCI)|
|Required||Nonnegative integer||Subframe number|
|Required||Number of narrowband reference signal (NRS) antenna
ports. To indicate transmission on a single antenna port
(port 0) and use minimum mean squared error (MMSE)
equalization for reception, specify this field as
chs — Channel transmission configuration
Channel transmission configuration, specified as a structure containing these fields:
|Name||Required or Optional||Values||Description||Dependencies||Data Types|
Type of data carried by the NPDSCH, specified as one of these values:
|See Dependencies column||Nonnegative integer||Number of subframes to which a codeword is mapped, not including repetitions|
|Required||Nonnegative integer||Number of repetitions||—|
|See Dependencies column||Nonnegative integer||16-bit radio network temporary identifier (RNTI)|
|Optional||Channel state information (CSI). To scale the soft bits
by CSI during the equalization process, specify this field
cw — Codeword to be modulated
binary column vector
Codeword to be modulated, specified as a binary column vector.
statein — Initial encoder state
Initial encoder state for the transmission of a bundle, specified as a
structure containing the fields listed in the
output. This argument can be empty only when no information is provided,
such as at the first subframe of a bundle.
sym — NPDSCH symbols
NPDSCH symbols, returned as an N-by-P complex-valued matrix, where N is the number of modulation symbols for one antenna port and P is the number of transmission antennas.
Complex Number Support: Yes
stateout — Output encoder state
Output encoder state, returned as a structure. This output contains the internal state of each transport block in these fields:
|integer in the interval [0, ||Index of a subframe within a bundle, in zero-based form.
Frame number at initialization point of scrambling
sequence. When the subframe being processed is at the
initialization point, this field is equal to the
Subframe number at initialization point. When the
subframe being processed is at the initialization point,
this field is equal to the
|NSF-by-1 binary vector||Buffer to store the soft-combined log-likelihood ratio
(LLR) bits after codeword descrambling. The length of this
field is the same as the length of the codeword,
|NSF-by-1 integer-valued vector||Repetition counter. The length of this field is the same
as the length of the codeword, |
|Logical ||Codeword receipt indicator. The
|Logical ||End of bundle indicator. The
A bundle in the medium access control (MAC) layer refers to the repeated transmissions of a transport block.
For more information, see Section 22.214.171.124 of 
To use this function for transmission of a bundle, follow these steps:
lteNPDSCHfunction, optionally specifying the initial encoder state using the
stateoutoutput represents the first transmission of the transport block.
lteNPDSCHfunction again, specifying the
stateininput as the
stateoutoutput returned by the previous call to the function.
Repeat step 2 until the
lteNPDSCHfunction returns the
EndOfTxfield of the
true), indicating the end of the bundle.
 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: https://www.3gpp.org.
 3GPP TS 36.321. “Medium Access Control (MAC) protocol specification.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: https://www.3gpp.org.
Introduced in R2018a