Fixed DCI Format1B length

master
Xavier Arteaga 5 years ago committed by Andre Puschmann
parent b631106612
commit 4227da9bd0

@ -246,9 +246,44 @@ static uint32_t tpmi_bits(uint32_t nof_ports)
static uint32_t dci_format1B_sizeof(srslte_cell_t* cell, srslte_dl_sf_cfg_t* sf, srslte_dci_cfg_t* cfg)
{
// same as format1A minus the differentiation bit plus TPMI + PMI
uint32_t n = dci_format1A_sizeof(cell, sf, cfg) - 1 + tpmi_bits(cell->nof_ports) + 1 + (IS_TDD ? 2 : 0);
uint32_t n = 0;
/* Carrier indicator 0 or 3 bits */
n += (cfg->cif_enabled) ? 3 : 0;
/* Localized/Distributed VRB assignment flag 1 bit */
n += 1;
/* Resource block assignment */
n += riv_nbits(cell->nof_prb);
/* Modulation and coding scheme and redundancy version 5 bits */
n += 5;
/* HARQ process number 3 bits (FDD) , 4 bits (TDD) */
n += HARQ_PID_LEN;
/* New data indicator 1 bit */
n += 1;
/* Redundancy version 2 bits */
n += 2;
/* TPC command for PUCCH 2 bits */
n += 2;
/* Downlink Assignment Index 2 bits (TDD) */
n += (IS_TDD ? 2 : 0);
/* TPMI information for precoding number of bits as specified in Table 5.3.3.1.3A-1 */
n += tpmi_bits(cell->nof_ports);
/* PMI confirmation for precoding 1 bit as specified in Table 5.3.3.1.3A-2 */
n += 1;
while (n < dci_format0_sizeof_(cell, sf, cfg)) {
n++;
}
while (is_ambiguous_size(n)) {
n++;
}

Loading…
Cancel
Save