Skip to content

Commit 549661c

Browse files
committed
gnb: updated the default max proc delay property based on the duplex mode.
Updated the iq_scaling parameter for the Benetel and Foxconn RUs
1 parent 7bcfaae commit 549661c

File tree

5 files changed

+30
-4
lines changed

5 files changed

+30
-4
lines changed

apps/gnb/gnb_appconfig_cli11_schema.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include "gnb_appconfig_cli11_schema.h"
1212
#include "gnb_appconfig.h"
13+
#include "srsran/ran/duplex_mode.h"
1314
#include "srsran/ran/pdsch/pdsch_mcs.h"
1415
#include "srsran/support/cli11_utils.h"
1516
#include "srsran/support/config_parsers.h"
@@ -2001,6 +2002,30 @@ static void manage_expert_execution_threads(CLI::App& app, gnb_appconfig& gnb_cf
20012002
}
20022003
}
20032004

2005+
static void manage_processing_delay(CLI::App& app, gnb_appconfig& gnb_cfg)
2006+
{
2007+
// If max proc delay property is present in the config, do nothing.
2008+
CLI::App* expert_cmd = app.get_subcommand("expert_phy");
2009+
if (expert_cmd->count_all() >= 1 && expert_cmd->count("--max_proc_delay") >= 1) {
2010+
return;
2011+
}
2012+
2013+
// As processing delay is not cell related, use the first cell to update the value.
2014+
const auto& cell = gnb_cfg.cells_cfg.front().cell;
2015+
nr_band band = cell.band ? cell.band.value() : band_helper::get_band_from_dl_arfcn(cell.dl_arfcn);
2016+
2017+
switch (band_helper::get_duplex_mode(band)) {
2018+
case duplex_mode::TDD:
2019+
gnb_cfg.expert_phy_cfg.max_processing_delay_slots = 5;
2020+
break;
2021+
case duplex_mode::FDD:
2022+
gnb_cfg.expert_phy_cfg.max_processing_delay_slots = 2;
2023+
break;
2024+
default:
2025+
break;
2026+
}
2027+
}
2028+
20042029
void srsran::configure_cli11_with_gnb_appconfig_schema(CLI::App& app, gnb_appconfig& gnb_cfg)
20052030
{
20062031
app.add_option("--gnb_id", gnb_cfg.gnb_id, "gNodeB identifier")->capture_default_str();
@@ -2141,5 +2166,6 @@ void srsran::configure_cli11_with_gnb_appconfig_schema(CLI::App& app, gnb_appcon
21412166
manage_ru_variant(app, gnb_cfg, sdr_cfg, ofh_cfg);
21422167
manage_hal_optional(app, gnb_cfg);
21432168
manage_expert_execution_threads(app, gnb_cfg);
2169+
manage_processing_delay(app, gnb_cfg);
21442170
});
21452171
}

configs/gnb_ru_picocom_scb_tdd_n78_20mhz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ru_ofh:
2020
compr_bitwidth_dl: 9 # Downlink IQ samples bitwidth after compression.
2121
compr_method_prach: bfp # PRACH compression method.
2222
compr_bitwidth_prach: 9 # PRACH IQ samples bitwidth after compression.
23-
iq_scaling: 1.0 # IQ samples scaling factor applied before compression, should be a positive value smaller than 1.
23+
iq_scaling: 1.0 # IQ samples scaling factor applied before compression, should be a positive value smaller than 10.
2424
cells:
2525
- network_interface: enp1s0f0 # Ethernet interface name used to communicate with the RU.
2626
ru_mac_addr: ce:fc:6c:09:a6:cd # RU MAC address.

configs/gnb_ru_ran550_tdd_n78_100mhz_2x2.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ ru_ofh:
2323
compr_bitwidth_prach: 9 # PRACH IQ samples bitwidth after compression.
2424
enable_ul_static_compr_hdr: true # Configures if the compression header is present for uplink User-Plane messages (false) or not present (true).
2525
enable_dl_static_compr_hdr: true # Configures if the compression header is present for downlink User-Plane messages (false) or not present (true).
26-
iq_scaling: 0.10 # IQ samples scaling factor applied before compression, should be a positive value smaller than 1.
26+
iq_scaling: 5.5 # IQ samples scaling factor applied before compression, should be a positive value smaller than 10.
2727
cells:
2828
- network_interface: enp1s0f0 # Ethernet interface name used to communicate with the RU.
2929
ru_mac_addr: 70:b3:d5:e1:5b:06 # RU MAC address.

configs/gnb_ru_ran550_tdd_n78_20mhz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ru_ofh:
2424
compr_bitwidth_dl: 9 # Downlink IQ samples bitwidth after compression.
2525
enable_ul_static_compr_hdr: true # Configures if the compression header is present for uplink User-Plane messages (false) or not present (true).
2626
enable_dl_static_compr_hdr: true # Configures if the compression header is present for downlink User-Plane messages (false) or not present (true).
27-
iq_scaling: 0.27 # IQ samples scaling factor applied before compression, should be a positive value smaller than 1.
27+
iq_scaling: 5.5 # IQ samples scaling factor applied before compression, should be a positive value smaller than 10.
2828
cells:
2929
- network_interface: enp1s0f0 # Ethernet interface name used to communicate with the RU.
3030
ru_mac_addr: 70:b3:d5:e1:5b:06 # RU MAC address.

configs/gnb_ru_rpqn4800e_tdd_n78_20mhz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ ru_ofh:
2727
compr_bitwidth_prach: 9 # PRACH IQ samples bitwidth after compression.
2828
enable_ul_static_compr_hdr: false # Configures if the compression header is present for uplink User-Plane messages (false) or not present (true).
2929
enable_dl_static_compr_hdr: false # Configures if the compression header is present for downlink User-Plane messages (false) or not present (true).
30-
iq_scaling: 1.0 # IQ samples scaling factor applied before compression, should be a positive value smaller than 1.
30+
iq_scaling: 0.8 # IQ samples scaling factor applied before compression, should be a positive value smaller than 10.
3131
cells:
3232
- network_interface: enp1s0f1 # Ethernet interface name used to communicate with the RU.
3333
ru_mac_addr: 6c:ad:ad:00:08:c4 # RU MAC address.

0 commit comments

Comments
 (0)