Main Content

Parameterization

Some of the functions in the LTE Toolbox™ require a large number of parameters. To simplify the process, the LTE Toolbox groups relevant parameters together into structures.

Parameter Structures

Consider, as an example, the task of generating PCFICH symbols and mapping indices. For this task, you can call the functions ltePCFICH, and ltePCFICHIndices. The ltePCFICH function also requires cw, an input bit vector. For this input, you can call the lteCFI function. All three functions require a parameter structure, enb, that represents the eNodeB cell-wide settings.

The function ltePCFICH requires enb to have at least the following fields.

  • NCellID — Physical layer cell identity

  • CellRefP — Number of cell-specific reference signal antenna ports. Valid values are 1, 2, and 4.

  • NSubframe — Subframe number

In comparison, the function ltePCFICHIndices requires enb to have at least the following fields.

  • NCellID — Physical layer cell identity

  • NDLRB — Number of downlink resource blocks

Finally, the function lteCFI only requires enb to have one field, CFI. In all cases, if additional fields are present and not required, the function ignores them.

Create a Cell-Wide Settings Structure

This example shows how to create a cell-wide settings structure. In particular, you can create a parameter structure, enb, that has all the fields required by the lteCFI, ltePCFICH, and ltePCFICHIndices functions.

Create a new parameter structure, enb, with only one field, CFI.

enb.CFI = 1;

Create a 32-element bit vector, cw, representing the rate 1/16 block encoding of the control format indicator (CFI) value. To do so, call the lteCFI function. Provide enb as an input argument.

cw = lteCFI(enb);

Add additional fields to enb.

enb.NCellID = 0;
enb.CellRefP = 1;
enb.NSubframe = 0;
enb.NDLRB = 9;

Generate the PCFICH complex symbols by calling the ltePCFICH function, providing the enb structure and the cw bit vector as input arguments.

sym = ltePCFICH(enb,cw);

Although ltePCFICH does not require that enb have the NDLRB field, this does not cause a problem. In this case, the function ignores any non-required fields.

Generate the PCFICH mapping indices by calling the ltePCFICHIndices function, providing the enb structure as an input argument.

ind = ltePCFICHIndices(enb);

Although ltePCFICHIndices does not require the enb.NSubframe field, it does not cause a problem. The function ignores any fields that it does not require.

You can remove fields from a structure by using the MATLAB® rmfield function but, as shown, removing the field is not necessary.

Cell-Wide Parameters

Many functions in the LTE Toolbox require a parameter structure called enb. This parameter represents the eNodeB, or cell-wide, settings which are common to all user equipments (UEs) in the cell. This structure can include the following fields, which are among the most common.

  • NCellID — Physical layer cell identity

  • CellRefP — Number of cell-specific reference signal antenna ports. Valid values are 1, 2, and 4.

  • CyclicPrefix — Length of cyclic prefix. Valid values are 'Normal' and 'Extended'.

  • NSubframe — Subframe number

  • NDLRB — Number of downlink resource blocks

Different functions require different fields. Not all functions that require the enb structure need all the fields listed above. Some functions require only a subset of those listed above. In this case, any non-required fields are ignored.

When optional parameter fields are not specified, a function in the LTE Toolbox may assume default settings. In this case, the toolbox produces warning messages to specify the default values that it is using. You may control these warnings using the lteWarning function.

Optional Output Formats

This example shows how to pass optional inputs to certain functions to change the output format provided from the function.

Create a new parameter structure, enb.

enb.NCellID = 0;
enb.CellRefP = 1;
enb.NSubframe = 0;
enb.NDLRB = 9;
enb.Ng = 'Sixth';

For example, consider the case where a list of indices for a certain physical channel is generated using ltePCFICHIndices.

The input argument, enb, is a structure with the appropriate fields. By default, these indices are one-based, as opposed to the zero-based indices specified in the technical specification (TS) documentation.

ind = ltePCFICHIndices(enb);
firstIndex = ind(1)
firstIndex = uint32
    2

Change the base number used in the index generation by providing an additional optional input argument. Specify '0based' to generate zero-based indices or '1based' to generate one-based indices.

ind = ltePCFICHIndices(enb, '0based');
firstIndex_0based = ind(1)
firstIndex_0based = uint32
    1
ind = ltePCFICHIndices(enb, '1based');
firstIndex_1based = ind(1)
firstIndex_1based = uint32
    2

The first index generated when no optional argument is provided matches the first index when '1based' is specified. The optional input is not required. If you do not specify an optional input, the function uses the default value.

Specify multiple output format options for a function by providing a cell array input argument, opts.

opts = {'sub', '1based', 'reg'};
pcfichInd = ltePCFICHIndices(enb, opts)
pcfichInd = 4x3 uint32 matrix

    1    1    1
   25    1    1
   55    1    1
   79    1    1

The generated PCFICH indices are in subscript indexing style, one-based, and refer to resource element groups. The cell array of options that you specify indicates the format for the returned indices.

Varying the order of the opts cell entries produces the same result.

opts = {'1based', 'sub', 'reg'};
pcfichInd = ltePCFICHIndices(enb, opts)
pcfichInd = 4x3 uint32 matrix

    1    1    1
   25    1    1
   55    1    1
   79    1    1

The order in which you provide the opts inputs is not relevant. Both cases produce the same values in the output argument, pcfichInd.

See Also

| | | |

Related Topics