From 89ef3b64b4f8fcacf63839b8632c9b272bb17f56 Mon Sep 17 00:00:00 2001 From: Xavier Arteaga Date: Wed, 18 Aug 2021 13:21:28 +0200 Subject: [PATCH] Optimization NR PDCCH mapping minor optimization --- lib/src/phy/phch/pdcch_nr.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/src/phy/phch/pdcch_nr.c b/lib/src/phy/phch/pdcch_nr.c index 1d3f348cc..3f0dabd1e 100644 --- a/lib/src/phy/phch/pdcch_nr.c +++ b/lib/src/phy/phch/pdcch_nr.c @@ -336,8 +336,10 @@ static int pdcch_nr_cce_to_reg_mapping_non_interleaved(const srsran_coreset_t* uint32_t i = x; // For each REG in the REG bundle - for (uint32_t reg = 0; reg < L; reg++) { - rb_mask[(i * L + reg) / coreset->duration] = true; + uint32_t rb_start = (i * L) / coreset->duration; + uint32_t rb_end = ((i + 1) * L) / coreset->duration; + for (uint32_t rb = rb_start; rb < rb_end; rb++) { + rb_mask[rb] = true; } } } @@ -377,9 +379,11 @@ static int pdcch_nr_cce_to_reg_mapping_interleaved(const srsran_coreset_t* uint32_t c = x / R; uint32_t i = (r * C + c + n_shift) % (N_CORESET_REG / L); - // For each REG in the REG bundle i - for (uint32_t reg = 0; reg < L; reg++) { - rb_mask[(i * L + reg) / coreset->duration] = true; + // For each REG in the REG bundle + uint32_t rb_start = (i * L) / coreset->duration; + uint32_t rb_end = ((i + 1) * L) / coreset->duration; + for (uint32_t rb = rb_start; rb < rb_end; rb++) { + rb_mask[rb] = true; } } }