Skip to content

Commit 2ceb9b6

Browse files
author
codebot
committed
Update main
2 parents 51e44a6 + 663855f commit 2ceb9b6

File tree

9 files changed

+77
-7
lines changed

9 files changed

+77
-7
lines changed

.gitlab/ci/e2e.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ load retina variables:
6868
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests/
6969
- if: $ON_WEB
7070
- if: $ON_API
71+
- if: $CI_DESCRIPTION =~ /Weekly/
7172
script:
7273
- cat .gitlab/ci/e2e/.env
7374
artifacts:

apps/units/flexible_du/du_high/du_high_config_cli11_schema.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -832,7 +832,7 @@ static void configure_cli11_pucch_args(CLI::App& app, du_high_unit_pucch_config&
832832
pucch_params.nof_cell_sr_resources,
833833
"Number of PUCCH F1 resources available per cell for SR")
834834
->capture_default_str()
835-
->check(CLI::Range(1, 50));
835+
->check(CLI::Range(1, 100));
836836
add_option(app,
837837
"--f0_intraslot_freq_hop",
838838
pucch_params.f0_intraslot_freq_hopping,
@@ -862,7 +862,7 @@ static void configure_cli11_pucch_args(CLI::App& app, du_high_unit_pucch_config&
862862
pucch_params.nof_cell_csi_resources,
863863
"Number of PUCCH F2 resources available per cell for CSI")
864864
->capture_default_str()
865-
->check(CLI::Range(0, 50));
865+
->check(CLI::Range(0, 100));
866866
add_option(app, "--f2_max_nof_rbs", pucch_params.f2_max_nof_rbs, "Max number of RBs for PUCCH F2 resources")
867867
->capture_default_str()
868868
->check(CLI::Range(1, 16));

apps/units/flexible_du/du_high/du_high_config_translators.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,14 @@ static void fill_csi_resources(serving_cell_config& out_cell, const du_high_unit
175175
csi_params.nof_ports = cell_cfg.nof_antennas_dl;
176176
csi_params.csi_rs_period = static_cast<csi_resource_periodicity>(csi_cfg.csi_rs_period_msec *
177177
get_nof_slots_per_subframe(cell_cfg.common_scs));
178+
179+
// [Implementation-defined] The default CSI symbols are in symbols 4 and 8, the DM-RS for PDSCH might collide in
180+
// symbol index 8 when the number of DM-RS additional positions is 3.
181+
if (uint_to_dmrs_additional_positions(cell_cfg.pdsch_cfg.dmrs_add_pos) == dmrs_additional_positions::pos3) {
182+
csi_params.csi_ofdm_symbol_index = 9;
183+
csi_params.tracking_csi_ofdm_symbol_indexes = {4, 9, 4, 9};
184+
}
185+
178186
if (cell_cfg.tdd_ul_dl_cfg.has_value()) {
179187
if (not csi_helper::derive_valid_csi_rs_slot_offsets(
180188
csi_params,

configs/cell_cfg_max_256_ues.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# This file contains the PUCCH configuration for the gNB to support:
2+
# - SR period 20ms or 40ms.
3+
# - CSI period 20ms or 40ms.
4+
# - Max 256 UEs.
5+
6+
# NOTEs:
7+
# - This configuration is optimized for TDD 7D-2U configuration, but it still works for TDD configurations
8+
# with more than 2 UL slots.
9+
# - This configuration might work for more than 256 UEs, although it hasn't been tested for those scenarios.
10+
11+
cell_cfg:
12+
pucch:
13+
sr_period_ms: 20 # This can be set either 20 or 40 ms.
14+
nof_ue_res_harq_per_set: 8
15+
nof_cell_harq_pucch_sets: 2 # Increase this if UEs are not scheduled PDSCH due to PUCCH resources starvation.
16+
f0_or_f1_nof_cell_res_sr: 50
17+
f2_nof_cell_res_csi: 50
18+
csi:
19+
csi_rs_period: 40 # This can be set either 20 or 40 ms.
20+
ul_common:
21+
max_ul_grants_per_slot: 128
22+
max_pucchs_per_slot: 120
23+
pusch:
24+
max_puschs_per_slot: 8
25+
tdd_ul_dl_cfg:
26+
nof_dl_symbols: 7
27+
nof_dl_slots: 7
28+
nof_ul_slots: 2

configs/cell_cfg_max_512_ues.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This file contains the PUCCH configuration for the gNB to support:
2+
# - SR period 20ms or 40ms.
3+
# - CSI period 20ms (only with TDD 6D-3U configuration), 40ms (with both TDD 6D-3U and 7D-2U configurations).
4+
# - SR period <= CSI period.
5+
# - Max 512 UEs.
6+
7+
# NOTEs:
8+
# - This configuration is optimized for TDD 7D-2U configuration, but it still works for TDD configurations
9+
# with more than 2 UL slots.
10+
# - This configuration might work for more than 512 UEs, although it hasn't been tested for those scenarios.
11+
12+
cell_cfg:
13+
pucch:
14+
sr_period_ms: 20 # This can be set either 20 or 40 ms.
15+
nof_ue_res_harq_per_set: 8
16+
nof_cell_harq_pucch_sets: 2 # Increase this if UEs are not scheduled PDSCH due to PUCCH resources starvation.
17+
f0_or_f1_nof_cell_res_sr: 80
18+
f2_nof_cell_res_csi: 80
19+
csi:
20+
csi_rs_period: 40 # This can be set to 20 only with TDD 6D-3U.
21+
ul_common:
22+
max_ul_grants_per_slot: 128
23+
max_pucchs_per_slot: 120
24+
pusch:
25+
max_puschs_per_slot: 8
26+
tdd_ul_dl_cfg:
27+
nof_dl_symbols: 7
28+
nof_dl_slots: 7
29+
nof_ul_slots: 2

include/srsran/ran/slot_pdu_capacity_constants.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ static constexpr size_t MAX_PUSCH_PDUS_PER_SLOT = 16U;
7777
static constexpr size_t MAX_UL_PDCCH_PDUS_PER_SLOT = 16U;
7878

7979
/// [Implementation defined] Maximum number of PUCCH PDUs per slot.
80-
static constexpr size_t MAX_PUCCH_PDUS_PER_SLOT = 64U;
80+
static constexpr size_t MAX_PUCCH_PDUS_PER_SLOT = 128U;
8181

8282
/// [Implementation defined] Maximum number of SRS PDUs per slot.
8383
static constexpr size_t MAX_SRS_PDUS_PER_SLOT = 32U;

include/srsran/scheduler/config/csi_helper.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "srsran/ran/csi_rs/csi_meas_config.h"
2626
#include "srsran/ran/pci.h"
2727
#include "srsran/ran/tdd/tdd_ul_dl_config.h"
28+
#include <array>
2829

2930
namespace srsran {
3031
namespace csi_helper {
@@ -38,6 +39,10 @@ struct csi_builder_params {
3839
unsigned nof_rbs;
3940
/// Number of ports set for the CSI-RS.
4041
unsigned nof_ports = 1;
42+
/// Symbol index for the CSI measurement.
43+
unsigned csi_ofdm_symbol_index = 8;
44+
/// Symbol indexes for tracking signals.
45+
std::array<unsigned, 4> tracking_csi_ofdm_symbol_indexes = {4, 8, 4, 8};
4146
/// Period of the CSI-RS resources.
4247
csi_resource_periodicity csi_rs_period = csi_resource_periodicity::slots80;
4348
/// Slot offset for measurement CSI-RS resources. Note: Should avoid collisions with SSB and SIB1.

lib/scheduler/config/csi_helper.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ static zp_csi_rs_resource make_default_zp_csi_rs_resource(const csi_builder_para
177177
res.res_mapping.fd_alloc.resize(3);
178178
res.res_mapping.fd_alloc.set(2, true);
179179
res.res_mapping.cdm = csi_rs_cdm_type::fd_CDM2;
180-
res.res_mapping.first_ofdm_symbol_in_td = 8;
180+
res.res_mapping.first_ofdm_symbol_in_td = params.csi_ofdm_symbol_index;
181181
res.res_mapping.freq_density = csi_rs_freq_density_type::one;
182182
res.res_mapping.freq_band_rbs = get_csi_freq_occupation_rbs(params.nof_rbs, params.nof_rbs);
183183
res.period = params.csi_rs_period;
@@ -329,11 +329,10 @@ fill_tracking_nzp_csi_rs_resource(span<nzp_csi_rs_resource> tracking_csi_rs,
329329
res.res_mapping.cdm = csi_rs_cdm_type::no_CDM;
330330
res.res_mapping.freq_density = csi_rs_freq_density_type::three;
331331

332-
static constexpr unsigned symbol_offsets[] = {4, 8, 4, 8};
333332
static constexpr unsigned rel_slot_offset[] = {0, 0, 1, 1};
334333
for (unsigned i = 0; i != NOF_TRACKING_RESOURCES; ++i) {
335334
res.res_id = static_cast<nzp_csi_rs_res_id_t>(first_csi_res_id + i);
336-
res.res_mapping.first_ofdm_symbol_in_td = symbol_offsets[i];
335+
res.res_mapping.first_ofdm_symbol_in_td = params.tracking_csi_ofdm_symbol_indexes[i];
337336
res.csi_res_offset = params.tracking_csi_slot_offset + rel_slot_offset[i];
338337
tracking_csi_rs[i] = res;
339338
}

lib/scheduler/pucch_scheduling/pucch_allocator_impl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1200,7 +1200,7 @@ void pucch_allocator_impl::allocate_csi_grant(cell_slot_resource_allocator& pucc
12001200
}
12011201

12021202
if (pucch_grants_alloc_grid[sl_tx.to_uint()].full()) {
1203-
logger.info("rnti={}: PUCCH HARQ-ACK allocation for slot={} skipped. Cause: PUCCH allocator grant list is full",
1203+
logger.info("rnti={}: PUCCH CSI allocation for slot={} skipped. Cause: PUCCH allocator grant list is full",
12041204
crnti,
12051205
pucch_slot_alloc.slot);
12061206
return;

0 commit comments

Comments
 (0)