5G NR DCI improvements
This commit is contained in:
@@ -198,10 +198,10 @@ void nr_generate_dci(PHY_VARS_gNB *gNB,
|
|||||||
|
|
||||||
int8_t cce_idx = reg_list_order[cce_count];
|
int8_t cce_idx = reg_list_order[cce_count];
|
||||||
|
|
||||||
for (int reg_in_cce_idx = 0; reg_in_cce_idx < NR_NB_REG_PER_CCE; reg_in_cce_idx+=pdcch_pdu_rel15->DurationSymbols) {
|
for (int reg_in_cce_idx = symbol_idx; reg_in_cce_idx < NR_NB_REG_PER_CCE; reg_in_cce_idx+=pdcch_pdu_rel15->DurationSymbols) {
|
||||||
|
|
||||||
k = cset_start_sc + cce_list[d][cce_idx].reg_list[reg_in_cce_idx].start_sc_idx;
|
k = cset_start_sc + cce_list[d][cce_idx].reg_list[reg_in_cce_idx].start_sc_idx;
|
||||||
LOG_D(PHY,"CCE %d REG %d k %d\n",cce_idx,reg_in_cce_idx+symbol_idx,k);
|
LOG_D(PHY,"CCE %d REG %d k %d\n",cce_idx,reg_in_cce_idx,k);
|
||||||
if (k >= frame_parms->ofdm_symbol_size)
|
if (k >= frame_parms->ofdm_symbol_size)
|
||||||
k -= frame_parms->ofdm_symbol_size;
|
k -= frame_parms->ofdm_symbol_size;
|
||||||
|
|
||||||
|
|||||||
@@ -80,15 +80,15 @@ void nr_fill_cce_list(nr_cce_t cce_list[MAX_DCI_CORESET][NR_MAX_PDCCH_AGG_LEVEL]
|
|||||||
LOG_D(PHY, "cce_idx %d\n", cce->cce_idx);
|
LOG_D(PHY, "cce_idx %d\n", cce->cce_idx);
|
||||||
|
|
||||||
uint8_t j = cce->cce_idx;
|
uint8_t j = cce->cce_idx;
|
||||||
for (int k=6*j/bsize; k<(6*j/bsize+6/bsize); k++) { // loop over REG bundles
|
for (uint8_t bundle_idx=0; bundle_idx<NR_NB_REG_PER_CCE/bsize; bundle_idx++) {
|
||||||
|
uint8_t k = 6*j/bsize + bundle_idx;
|
||||||
int f = cce_to_reg_interleaving(R, k, n_shift, C, bsize, N_regs);
|
int f = cce_to_reg_interleaving(R, k, n_shift, C, bsize, N_regs);
|
||||||
|
|
||||||
for (uint8_t reg_idx=0; reg_idx<bsize; reg_idx++) {
|
for (uint8_t reg_idx=0; reg_idx<bsize; reg_idx++) {
|
||||||
reg = &cce->reg_list[reg_idx];
|
reg = &cce->reg_list[bundle_idx*bsize+reg_idx];
|
||||||
reg->reg_idx = bsize*f + reg_idx;
|
reg->reg_idx = bsize*f + reg_idx;
|
||||||
reg->start_sc_idx = (reg->reg_idx/dur) * NR_NB_SC_PER_RB;
|
reg->start_sc_idx = (reg->reg_idx/dur) * NR_NB_SC_PER_RB;
|
||||||
reg->symb_idx = reg_idx%dur;
|
reg->symb_idx = reg->reg_idx%dur;
|
||||||
LOG_D(PHY, "reg %d symbol %d start subcarrier %d\n", reg->reg_idx, reg->symb_idx, reg->start_sc_idx);
|
LOG_D(PHY, "reg %d symbol %d start subcarrier %d\n", reg->reg_idx, reg->symb_idx, reg->start_sc_idx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user