Main Content

Represent Resource Grids

Represent LTE resource grids by using multidimensional arrays.

Multidimensional Arrays

Before orthogonal frequency-division multiplexing (OFDM) or single-carrier frequency-division multiple access (SC-FDMA) modulation, the physical channels and signals in LTE must be mapped to different portions of the resource grid. You can represent the resource grid as a multidimensional array, which the toolbox refers to as a resource array. The first dimension of this array represents the subcarrier. The second dimension represents the OFDM or SC-FDMA symbols in the downlink or uplink, respectively. The third dimension represents the antenna ports.

Multidimensional resource array

The resource array spans a subframe, equivalent to two slots, in the time domain, except for narrowband internet of things (NB-IoT) uplink transmissions, in which the resource grid spans a slot. The subframe resource array is a three-dimensional array of size 12NRB-by-2Nsym-by-P, where NRB is the number of resource blocks spanning the available bandwidth, Nsym is the number of OFDM or SC-FDMA symbols per slot, and P is the number of antenna ports. For the single-antenna case, you can use a matrix of size 12NRB-by-2Nsym. The slot resource array is an array of size 12NRB-by-Nsym-by-P. Because NB-IoT uplink transmissions use only one antenna port, you can use a matrix of size 12NRB-by-Nsym. Because a resource block contains 12 subcarriers, the resource array represents a slot for NB-IoT uplink configurations or a subframe for any other configuration and whole bandwidth.

During OFDM modulation, the lteOFDMModulate function splits the input resource array in half along its subcarrier dimension. It then assigns the two halves to subcarriers on either side of the DC subcarrier, which is the subcarrier at the center of the frequency band. No resource elements are assigned to the DC subcarrier.

Create Empty Resource Array

Create an empty downlink resource array by using two different methods. You can create valid and equivalent subframe resource arrays by using the lteDLResourceGrid function or the zeros function.

Initialize Required Parameters

Create a parameter structure for a normal cyclic prefix, nine downlink resource blocks, and one transmit antenna.

enb = struct('CyclicPrefix','Normal','NDLRB',9,'CellRefP',1);

Define seven symbols per slot for use in the zeros function.

symbolsPerSlot = 7;

Create Empty Resource Arrays

Create an empty subframe resource array using each method.

resourceGrid1 = lteDLResourceGrid(enb);
resourceGrid2 = zeros(enb.NDLRB*12,symbolsPerSlot*2,enb.CellRefP);

Compare Resource Arrays

Compare the two resource arrays. Because both approaches generate the same result, you can use either to create an empty downlink resource array. Similarly, you can create an empty uplink, sidelink, or narrowband resource array by using the lteULResourceGrid, lteSLResourceGrid, or lteNBResourceGrid function, respectively, or the zeros function.

isequal(resourceGrid1,resourceGrid2)
ans = logical
   1

See Also

| | | |

Related Topics