Model PUCCH Format 2

This example shows how to model the control region used in an LTE uplink subframe and its channel structure. It demonstrates how you create the physical uplink control channel (PUCCH) format 2 structures and map the generated symbols to a resource grid.

Setup user-equipment (UE) settings. Define UE settings in a structure.

ue.NCellID = 10;
ue.CyclicPrefixUL = 'Normal';
ue.NSubframe = 0;
ue.Hopping = 'Off';
ue.NULRB = 9;
ue.RNTI = 77;

Many of the functions used in this example require a subset of the preceding settings specified.

Configure the PUCCH Format 2. In addition to the UE settings specified in ue, you must define parameters related to the physical channel to generate the PUCCH Format 2.

pucch2.ResourceIdx = 36;
pucch2.ResourceSize = 3;
pucch2.CyclicShifts = 6;

Generate the UCI message from the CQI bits.

cqi = [0 1 1 0 0 1];
codedcqi = lteUCIEncode(cqi);

Generate the PUCCH Format 2 symbols. To do so, call the function ltePUCCH2, providing the UE and PUCCH configuration structures, ue and pucch2, as input arguments.

pucch2Sym = ltePUCCH2(ue,pucch2,codedcqi);

Generate the PUCCH Format 2 indices. To do so, call the function ltePUCCH2Indices. You can use these generated indices to map the PUCCH complex symbols to the subframe resource grid. This function requires the same input argument structures as ltePUCCH2.

pucch2Indices = ltePUCCH2Indices(ue,pucch2);

Generate the PUCCH Format 2 demodulation reference signals (DRS). To do so, call the function ltePUCCH2DRS. This function requires the same input argument structures as ltePUCCH2 and ltePUCCH2Indices. Since 0 HARQ bits are transmitted, pass an empty vector into the 3rd input argument of the function.

pucch2DRSSym = ltePUCCH2DRS(ue,pucch2,[]);

Generate the PUCCH Format 2 DRS indices. To do so, call the function ltePUCCH2DRSIndices. You can use these indices to map the DRS to the subframe resource grid.

pucch2DRSIndices = ltePUCCH2DRSIndices(ue,pucch2);

Generate the subframe resource grid. To do so, call the function lteULResourceGrid. This function creates an empty resource grid for one subframe.

subframe = lteULResourceGrid(ue);

Map the PUCCH Format 2 symbols and DRS to the resource grid, using the generated indices.

subframe(pucch2Indices) = pucch2Sym;
subframe(pucch2DRSIndices) = pucch2DRSSym;

See Also

| | | |

Related Topics