Commit b9db3044 authored by Robert Schmidt's avatar Robert Schmidt

Merge remote-tracking branch 'origin/episys-5g-mimo' into integration_2022_wk42b

parents b1352c9d 914d7302
......@@ -17,7 +17,7 @@ nssai_sst=222;
nssai_sd=123;
}
L1s = (
MACRLCs = (
{
num_cc = 1;
tr_n_preference = "nfapi";
......@@ -30,16 +30,3 @@ L1s = (
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);
......@@ -17,6 +17,9 @@ gNBs =
////////// Physical parameters:
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
do_CSIRS = 1;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
......@@ -218,13 +221,13 @@ security = {
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
global_log_level ="analysis";
hw_log_level ="analysis";
phy_log_level ="analysis";
mac_log_level ="analysis";
rlc_log_level ="analysis";
pdcp_log_level ="analysis";
rrc_log_level ="analysis";
ngap_log_level ="analysis";
};
......@@ -17,7 +17,7 @@ nssai_sst=1;
nssai_sd=1;
}
L1s = (
MACRLCs = (
{
num_cc = 1;
tr_n_preference = "nfapi";
......@@ -31,15 +31,3 @@ L1s = (
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);
......@@ -36,7 +36,7 @@
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
<proxy_commit>56cfdc0</proxy_commit>
<proxy_commit>a6169d8</proxy_commit>
</testCase>
</testCaseList>
......@@ -36,7 +36,7 @@
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
<proxy_commit>56cfdc0</proxy_commit>
<proxy_commit>a6169d8</proxy_commit>
</testCase>
</testCaseList>
......@@ -264,10 +264,10 @@ static void process_queued_nr_nfapi_msgs(NR_UE_MAC_INST_t *mac, int sfn_slot)
send_nsa_standalone_msg(&UL_INFO, rach_ind->header.message_id);
for (int i = 0; i < rach_ind->number_of_pdus; i++)
{
free(rach_ind->pdu_list[i].preamble_list);
free_and_zero(rach_ind->pdu_list[i].preamble_list);
}
free(rach_ind->pdu_list);
free(rach_ind);
free_and_zero(rach_ind->pdu_list);
free_and_zero(rach_ind);
nr_Msg1_transmitted(0, 0, NFAPI_SFNSLOT2SFN(sfn_slot), 0);
}
if (dl_tti_request)
......@@ -280,8 +280,7 @@ static void process_queued_nr_nfapi_msgs(NR_UE_MAC_INST_t *mac, int sfn_slot)
NFAPI_SFNSLOT2SFN(dl_tti_sfn_slot), NFAPI_SFNSLOT2SLOT(dl_tti_sfn_slot));
if (get_softmodem_params()->nsa)
save_nr_measurement_info(dl_tti_request);
free(dl_tti_request);
dl_tti_request = NULL;
free_and_zero(dl_tti_request);
}
else if (dl_tti_request->dl_tti_request_body.nPDUs > 0 && tx_data_request->Number_of_PDUs > 0)
{
......@@ -437,6 +436,12 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
mac->dl_info.slot = slot;
mac->dl_info.dci_ind = NULL;
mac->dl_info.rx_ind = NULL;
if (ch_info) {
mac->nr_ue_emul_l1.pmi = ch_info->csi[0].pmi;
mac->nr_ue_emul_l1.ri = ch_info->csi[0].ri;
mac->nr_ue_emul_l1.cqi = ch_info->csi[0].cqi;
free_and_zero(ch_info);
}
if (is_nr_DL_slot(get_softmodem_params()->nsa ?
mac->scc->tdd_UL_DL_ConfigurationCommon :
......
......@@ -85,6 +85,7 @@ unsigned short config_frames[4] = {2,9,11,13};
#include "nr_nas_msg_sim.h"
#include <openair1/PHY/MODULATION/nr_modulation.h>
#include "openair2/GNB_APP/gnb_paramdef.h"
extern const char *duplex_mode[];
THREAD_STRUCT thread_struct;
......@@ -161,7 +162,7 @@ uint8_t abstraction_flag=0;
nr_bler_struct nr_bler_data[NR_NUM_MCS];
static void init_bler_table(void);
static void init_bler_table(char*);
/*---------------------BMC: timespec helpers -----------------------------*/
......@@ -391,6 +392,17 @@ void *rrc_enb_process_msg(void *notUsed) {
return NULL;
}
static void get_channel_model_mode() {
paramdef_t GNBParams[] = GNBPARAMS_DESC;
config_get(GNBParams, sizeof(GNBParams)/sizeof(paramdef_t), NULL);
int num_xp_antennas = *GNBParams[GNB_PDSCH_ANTENNAPORTS_XP_IDX].iptr;
if (num_xp_antennas == 2)
init_bler_table("NR_MIMO2x2_AWGN_RESULTS_DIR");
else
init_bler_table("NR_AWGN_RESULTS_DIR");
}
int main( int argc, char **argv ) {
int set_exe_prio = 1;
......@@ -468,8 +480,8 @@ int main( int argc, char **argv ) {
PHY_vars_UE_g = malloc(sizeof(PHY_VARS_NR_UE **));
PHY_vars_UE_g[0] = malloc(sizeof(PHY_VARS_NR_UE *)*MAX_NUM_CCs);
if (get_softmodem_params()->emulate_l1) {
RCconfig_nr_ue_L1();
init_bler_table();
RCconfig_nr_ue_macrlc();
get_channel_model_mode();
}
if (get_softmodem_params()->do_ra)
......@@ -550,12 +562,12 @@ int main( int argc, char **argv ) {
}
// Read in each MCS file and build BLER-SINR-TB table
static void init_bler_table(void) {
static void init_bler_table(char *env_string) {
memset(nr_bler_data, 0, sizeof(nr_bler_data));
const char *awgn_results_dir = getenv("AWGN_RESULTS_DIR");
const char *awgn_results_dir = getenv(env_string);
if (!awgn_results_dir) {
LOG_W(NR_MAC, "No $AWGN_RESULTS_DIR\n");
LOG_W(NR_MAC, "No %s\n", env_string);
return;
}
......@@ -577,7 +589,7 @@ static void init_bler_table(void) {
continue;
}
if (nlines > NUM_SINR) {
if (nlines > NR_NUM_SINR) {
LOG_E(NR_MAC, "BLER FILE ERROR - num lines greater than expected - file: %s\n", fName);
abort();
}
......
export OPENAIR_HOME=$(pwd)
export OPENAIR_DIR=$(pwd)
export AWGN_RESULTS_DIR=$OPENAIR_DIR/openair1/SIMULATION/NR_PHY/BLER_SIMULATIONS/AWGN/AWGN_results
export LTE_AWGN_RESULTS_DIR=$OPENAIR_DIR/openair1/SIMULATION/LTE_PHY/BLER_SIMULATIONS/AWGN/AWGN_results
export NR_AWGN_RESULTS_DIR=$OPENAIR_DIR/openair1/SIMULATION/NR_PHY/BLER_SIMULATIONS/AWGN/AWGN_results
export NR_MIMO2x2_AWGN_RESULTS_DIR=$OPENAIR_DIR/openair1/SIMULATION/NR_PHY/BLER_SIMULATIONS/AWGN/AWGN_MIMO2x2_results
export OPENAIR1_DIR=$OPENAIR_HOME/openair1
export OPENAIR2_DIR=$OPENAIR_HOME/openair2
export OPENAIR3_DIR=$OPENAIR_HOME/openair3
......
......@@ -53,6 +53,7 @@ queue_t nr_uci_ind_queue;
static void fill_uci_2_3_4(nfapi_nr_uci_pucch_pdu_format_2_3_4_t *pdu_2_3_4,
fapi_nr_ul_config_pucch_pdu *pucch_pdu)
{
NR_UE_MAC_INST_t *mac = get_mac_inst(0);
memset(pdu_2_3_4, 0, sizeof(*pdu_2_3_4));
pdu_2_3_4->handle = 0;
pdu_2_3_4->rnti = pucch_pdu->rnti;
......@@ -62,7 +63,7 @@ static void fill_uci_2_3_4(nfapi_nr_uci_pucch_pdu_format_2_3_4_t *pdu_2_3_4,
pdu_2_3_4->rssi = 0;
// TODO: Eventually check 38.212:Sect.631 to know when to use csi_part2, for now only using csi_part1
pdu_2_3_4->pduBitmap = 4;
pdu_2_3_4->csi_part1.csi_part1_bit_len = pucch_pdu->nr_of_symbols;
pdu_2_3_4->csi_part1.csi_part1_bit_len = mac->nr_ue_emul_l1.num_csi_reports;
int csi_part1_byte_len = (int)((pdu_2_3_4->csi_part1.csi_part1_bit_len / 8) + 1);
AssertFatal(!pdu_2_3_4->csi_part1.csi_part1_payload, "pdu_2_3_4->csi_part1.csi_part1_payload != NULL\n");
pdu_2_3_4->csi_part1.csi_part1_payload = CALLOC(csi_part1_byte_len,
......
SNR;MCS;TBS;rate;err0;trials0;err1;trials1;err2;trials2;err3;trials3;dci_err
-15;0;1864;0.2344;1415;1500;0;0;0;0;0;0;0
-14.9;0;1864;0.2344;1401;1500;0;0;0;0;0;0;0
-14.8;0;1864;0.2344;1388;1500;0;0;0;0;0;0;0
-14.7;0;1864;0.2344;1375;1500;0;0;0;0;0;0;0
-14.6;0;1864;0.2344;1362;1500;0;0;0;0;0;0;0
-14.5;0;1864;0.2344;1349;1500;0;0;0;0;0;0;0
-14.4;0;1864;0.2344;1336;1500;0;0;0;0;0;0;0
-14.3;0;1864;0.2344;1324;1500;0;0;0;0;0;0;0
-14.2;0;1864;0.2344;1311;1500;0;0;0;0;0;0;0
-14.1;0;1864;0.2344;1299;1500;0;0;0;0;0;0;0
-14;0;1864;0.2344;1287;1500;0;0;0;0;0;0;0
-13.9;0;1864;0.2344;1275;1500;0;0;0;0;0;0;0
-13.8;0;1864;0.2344;1262;1500;0;0;0;0;0;0;0
-13.7;0;1864;0.2344;1251;1500;0;0;0;0;0;0;0
-13.6;0;1864;0.2344;1239;1500;0;0;0;0;0;0;0
-13.5;0;1864;0.2344;1227;1500;0;0;0;0;0;0;0
-13.4;0;1864;0.2344;1216;1500;0;0;0;0;0;0;0
-13.3;0;1864;0.2344;1204;1500;0;0;0;0;0;0;0
-13.2;0;1864;0.2344;1193;1500;0;0;0;0;0;0;0
-13.1;0;1864;0.2344;1181;1500;0;0;0;0;0;0;0
-13;0;1864;0.2344;1170;1500;0;0;0;0;0;0;0
-12.9;0;1864;0.2344;1159;1500;0;0;0;0;0;0;0
-12.8;0;1864;0.2344;1148;1500;0;0;0;0;0;0;0
-12.7;0;1864;0.2344;1137;1500;0;0;0;0;0;0;0
-12.6;0;1864;0.2344;1127;1500;0;0;0;0;0;0;0
-12.5;0;1864;0.2344;1116;1500;0;0;0;0;0;0;0
-12.4;0;1864;0.2344;1106;1500;0;0;0;0;0;0;0
-12.3;0;1864;0.2344;1095;1500;0;0;0;0;0;0;0
-12.2;0;1864;0.2344;1085;1500;0;0;0;0;0;0;0
-12.1;0;1864;0.2344;1075;1500;0;0;0;0;0;0;0
-12;0;1864;0.2344;1064;1500;0;0;0;0;0;0;0
-11.9;0;1864;0.2344;1050;1500;0;0;0;0;0;0;0
-11.8;0;1864;0.2344;1035;1500;0;0;0;0;0;0;0
-11.7;0;1864;0.2344;1021;1500;0;0;0;0;0;0;0
-11.6;0;1864;0.2344;1007;1500;0;0;0;0;0;0;0
-11.5;0;1864;0.2344;993;1500;0;0;0;0;0;0;0
-11.4;0;1864;0.2344;979;1500;0;0;0;0;0;0;0
-11.3;0;1864;0.2344;965;1500;0;0;0;0;0;0;0
-11.2;0;1864;0.2344;952;1500;0;0;0;0;0;0;0
-11.1;0;1864;0.2344;939;1500;0;0;0;0;0;0;0
-11;0;1864;0.2344;926;1500;0;0;0;0;0;0;0
-10.9;0;1864;0.2344;913;1500;0;0;0;0;0;0;0
-10.8;0;1864;0.2344;900;1500;0;0;0;0;0;0;0
-10.7;0;1864;0.2344;888;1500;0;0;0;0;0;0;0
-10.6;0;1864;0.2344;876;1500;0;0;0;0;0;0;0
-10.5;0;1864;0.2344;863;1500;0;0;0;0;0;0;0
-10.4;0;1864;0.2344;851;1500;0;0;0;0;0;0;0
-10.3;0;1864;0.2344;840;1500;0;0;0;0;0;0;0
-10.2;0;1864;0.2344;828;1500;0;0;0;0;0;0;0
-10.1;0;1864;0.2344;817;1500;0;0;0;0;0;0;0
-10;0;1864;0.2344;805;1500;0;0;0;0;0;0;0
-9.9;0;1864;0.2344;794;1500;0;0;0;0;0;0;0
-9.8;0;1864;0.2344;783;1500;0;0;0;0;0;0;0
-9.7;0;1864;0.2344;772;1500;0;0;0;0;0;0;0
-9.6;0;1864;0.2344;762;1500;0;0;0;0;0;0;0
-9.5;0;1864;0.2344;751;1500;0;0;0;0;0;0;0
-9.4;0;1864;0.2344;741;1500;0;0;0;0;0;0;0
-9.3;0;1864;0.2344;730;1500;0;0;0;0;0;0;0
-9.2;0;1864;0.2344;720;1500;0;0;0;0;0;0;0
-9.1;0;1864;0.2344;710;1500;0;0;0;0;0;0;0
-9;0;1864;0.2344;700;1500;0;0;0;0;0;0;0
-8.9;0;;;671;1500;0;0;0;0;0;0;0
-8.8;0;;;642;1500;0;0;0;0;0;0;0
-8.7;0;;;615;1500;0;0;0;0;0;0;0
-8.6;0;;;589;1500;0;0;0;0;0;0;0
-8.5;0;;;564;1500;0;0;0;0;0;0;0
-8.4;0;;;541;1500;0;0;0;0;0;0;0
-8.3;0;;;518;1500;0;0;0;0;0;0;0
-8.2;0;;;496;1500;0;0;0;0;0;0;0
-8.1;0;;;475;1500;0;0;0;0;0;0;0
-8;0;;;455;1500;0;0;0;0;0;0;0
-7.9;0;;;436;1500;0;0;0;0;0;0;0
-7.8;0;;;417;1500;0;0;0;0;0;0;0
-7.7;0;;;400;1500;0;0;0;0;0;0;0
-7.6;0;;;383;1500;0;0;0;0;0;0;0
-7.5;0;;;366;1500;0;0;0;0;0;0;0
-7.4;0;;;351;1500;0;0;0;0;0;0;0
-7.3;0;;;336;1500;0;0;0;0;0;0;0
-7.2;0;;;322;1500;0;0;0;0;0;0;0
-7.1;0;;;308;1500;0;0;0;0;0;0;0
-7;0;;;295;1500;0;0;0;0;0;0;0
-6.9;0;;;283;1500;0;0;0;0;0;0;0
-6.8;0;;;271;1500;0;0;0;0;0;0;0
-6.7;0;;;259;1500;0;0;0;0;0;0;0
-6.6;0;;;248;1500;0;0;0;0;0;0;0
-6.5;0;;;238;1500;0;0;0;0;0;0;0
-6.4;0;;;228;1500;0;0;0;0;0;0;0
-6.3;0;;;218;1500;0;0;0;0;0;0;0
-6.2;0;;;209;1500;0;0;0;0;0;0;0
-6.1;0;;;200;1500;0;0;0;0;0;0;0
-6;0;;;192;1500;0;0;0;0;0;0;0
-5.9;0;;;171;1500;0;0;0;0;0;0;0
-5.8;0;;;152;1500;0;0;0;0;0;0;0
-5.7;0;;;136;1500;0;0;0;0;0;0;0
-5.6;0;;;121;1500;0;0;0;0;0;0;0
-5.5;0;;;108;1500;0;0;0;0;0;0;0
-5.4;0;;;96;1500;0;0;0;0;0;0;0
-5.3;0;;;85;1500;0;0;0;0;0;0;0
-5.2;0;;;76;1500;0;0;0;0;0;0;0
-5.1;0;;;68;1500;0;0;0;0;0;0;0
-5;0;;;60;1500;0;0;0;0;0;0;0
-4.9;0;;;54;1500;0;0;0;0;0;0;0
-4.8;0;;;48;1500;0;0;0;0;0;0;0
-4.7;0;;;43;1500;0;0;0;0;0;0;0
-4.6;0;;;38;1500;0;0;0;0;0;0;0
-4.5;0;;;34;1500;0;0;0;0;0;0;0
-4.4;0;;;30;1500;0;0;0;0;0;0;0
-4.3;0;;;27;1500;0;0;0;0;0;0;0
-4.2;0;;;24;1500;0;0;0;0;0;0;0
-4.1;0;;;21;1500;0;0;0;0;0;0;0
-4;0;;;19;1500;0;0;0;0;0;0;0
-3.9;0;;;17;1500;0;0;0;0;0;0;0
-3.8;0;;;15;1500;0;0;0;0;0;0;0
-3.7;0;;;13;1500;0;0;0;0;0;0;0
-3.6;0;;;12;1500;0;0;0;0;0;0;0
-3.5;0;;;11;1500;0;0;0;0;0;0;0
-3.4;0;;;10;1500;0;0;0;0;0;0;0
-3.3;0;;;8;1500;0;0;0;0;0;0;0
-3.2;0;;;8;1500;0;0;0;0;0;0;0
-3.1;0;;;7;1500;0;0;0;0;0;0;0
-3;0;;;6;1500;0;0;0;0;0;0;0
-2.9;0;;;0;1500;0;0;0;0;0;0;0
-2.8;0;;;0;1500;0;0;0;0;0;0;0
-2.7;0;;;0;1500;0;0;0;0;0;0;0
-2.6;0;;;0;1500;0;0;0;0;0;0;0
-2.5;0;;;0;1500;0;0;0;0;0;0;0
-2.4;0;;;0;1500;0;0;0;0;0;0;0
-2.3;0;;;0;1500;0;0;0;0;0;0;0
-2.2;0;;;0;1500;0;0;0;0;0;0;0
-2.1;0;;;0;1500;0;0;0;0;0;0;0
-2;0;;;0;1500;0;0;0;0;0;0;0
-1.9;0;;;0;1500;0;0;0;0;0;0;0
-1.8;0;;;0;1500;0;0;0;0;0;0;0
-1.7;0;;;0;1500;0;0;0;0;0;0;0
-1.6;0;;;0;1500;0;0;0;0;0;0;0
-1.5;0;;;0;1500;0;0;0;0;0;0;0
-1.4;0;;;0;1500;0;0;0;0;0;0;0
-1.3;0;;;0;1500;0;0;0;0;0;0;0
-1.2;0;;;0;1500;0;0;0;0;0;0;0
-1.1;0;;;0;1500;0;0;0;0;0;0;0
-1;0;;;0;1500;0;0;0;0;0;0;0
-0.9;0;;;0;1500;0;0;0;0;0;0;0
-0.8;0;;;0;1500;0;0;0;0;0;0;0
-0.7;0;;;0;1500;0;0;0;0;0;0;0
-0.6;0;;;0;1500;0;0;0;0;0;0;0
-0.5;0;;;0;1500;0;0;0;0;0;0;0
-0.4;0;;;0;1500;0;0;0;0;0;0;0
-0.3;0;;;0;1500;0;0;0;0;0;0;0
-0.2;0;;;0;1500;0;0;0;0;0;0;0
-0.1;0;;;0;1500;0;0;0;0;0;0;0
0;0;;;0;1500;0;0;0;0;0;0;0
SNR;MCS;TBS;rate;err0;trials0;err1;trials1;err2;trials2;err3;trials3;dci_err
-15;1;2472;0.3066;1491;1500;0;0;0;0;0;0;0
-14.9;1;2472;0.3066;1481;1500;0;0;0;0;0;0;0
-14.8;1;2472;0.3066;1472;1500;0;0;0;0;0;0;0
-14.7;1;2472;0.3066;1463;1500;0;0;0;0;0;0;0
-14.6;1;2472;0.3066;1454;1500;0;0;0;0;0;0;0
-14.5;1;2472;0.3066;1445;1500;0;0;0;0;0;0;0
-14.4;1;2472;0.3066;1436;1500;0;0;0;0;0;0;0
-14.3;1;2472;0.3066;1427;1500;0;0;0;0;0;0;0
-14.2;1;2472;0.3066;1418;1500;0;0;0;0;0;0;0
-14.1;1;2472;0.3066;1409;1500;0;0;0;0;0;0;0
-14;1;2472;0.3066;1400;1500;0;0;0;0;0;0;0
-13.9;1;2472;0.3066;1392;1500;0;0;0;0;0;0;0
-13.8;1;2472;0.3066;1383;1500;0;0;0;0;0;0;0
-13.7;1;2472;0.3066;1374;1500;0;0;0;0;0;0;0
-13.6;1;2472;0.3066;1366;1500;0;0;0;0;0;0;0
-13.5;1;2472;0.3066;1357;1500;0;0;0;0;0;0;0
-13.4;1;2472;0.3066;1349;1500;0;0;0;0;0;0;0
-13.3;1;2472;0.3066;1341;1500;0;0;0;0;0;0;0
-13.2;1;2472;0.3066;1332;1500;0;0;0;0;0;0;0
-13.1;1;2472;0.3066;1324;1500;0;0;0;0;0;0;0
-13;1;2472;0.3066;1316;1500;0;0;0;0;0;0;0
-12.9;1;2472;0.3066;1307;1500;0;0;0;0;0;0;0
-12.8;1;2472;0.3066;1299;1500;0;0;0;0;0;0;0
-12.7;1;2472;0.3066;1291;1500;0;0;0;0;0;0;0
-12.6;1;2472;0.3066;1283;1500;0;0;0;0;0;0;0
-12.5;1;2472;0.3066;1275;1500;0;0;0;0;0;0;0
-12.4;1;2472;0.3066;1267;1500;0;0;0;0;0;0;0
-12.3;1;2472;0.3066;1259;1500;0;0;0;0;0;0;0
-12.2;1;2472;0.3066;1251;1500;0;0;0;0;0;0;0
-12.1;1;2472;0.3066;1244;1500;0;0;0;0;0;0;0
-12;1;2472;0.3066;1236;1500;0;0;0;0;0;0;0
-11.9;1;2472;0.3066;1222;1500;0;0;0;0;0;0;0
-11.8;1;2472;0.3066;1207;1500;0;0;0;0;0;0;0
-11.7;1;2472;0.3066;1193;1500;0;0;0;0;0;0;0
-11.6;1;2472;0.3066;1179;1500;0;0;0;0;0;0;0
-11.5;1;2472;0.3066;1166;1500;0;0;0;0;0;0;0
-11.4;1;2472;0.3066;1152;1500;0;0;0;0;0;0;0
-11.3;1;2472;0.3066;1139;1500;0;0;0;0;0;0;0
-11.2;1;2472;0.3066;1126;1500;0;0;0;0;0;0;0
-11.1;1;2472;0.3066;1113;1500;0;0;0;0;0;0;0
-11;1;2472;0.3066;1100;1500;0;0;0;0;0;0;0
-10.9;1;2472;0.3066;1087;1500;0;0;0;0;0;0;0
-10.8;1;2472;0.3066;1074;1500;0;0;0;0;0;0;0
-10.7;1;2472;0.3066;1062;1500;0;0;0;0;0;0;0
-10.6;1;2472;0.3066;1049;1500;0;0;0;0;0;0;0
-10.5;1;2472;0.3066;1037;1500;0;0;0;0;0;0;0
-10.4;1;2472;0.3066;1025;1500;0;0;0;0;0;0;0
-10.3;1;2472;0.3066;1013;1500;0;0;0;0;0;0;0
-10.2;1;2472;0.3066;1001;1500;0;0;0;0;0;0;0
-10.1;1;2472;0.3066;990;1500;0;0;0;0;0;0;0
-10;1;2472;0.3066;978;1500;0;0;0;0;0;0;0
-9.9;1;2472;0.3066;967;1500;0;0;0;0;0;0;0
-9.8;1;2472;0.3066;956;1500;0;0;0;0;0;0;0
-9.7;1;2472;0.3066;945;1500;0;0;0;0;0;0;0
-9.6;1;2472;0.3066;934;1500;0;0;0;0;0;0;0
-9.5;1;2472;0.3066;923;1500;0;0;0;0;0;0;0
-9.4;1;2472;0.3066;912;1500;0;0;0;0;0;0;0
-9.3;1;2472;0.3066;902;1500;0;0;0;0;0;0;0
-9.2;1;2472;0.3066;891;1500;0;0;0;0;0;0;0
-9.1;1;2472;0.3066;881;1500;0;0;0;0;0;0;0
-9;1;2472;0.3066;870;1500;0;0;0;0;0;0;0
-8.9;1;2472;0.3066;847;1500;0;0;0;0;0;0;0
-8.8;1;2472;0.3066;825;1500;0;0;0;0;0;0;0
-8.7;1;2472;0.3066;802;1500;0;0;0;0;0;0;0
-8.6;1;2472;0.3066;781;1500;0;0;0;0;0;0;0
-8.5;1;2472;0.3066;760;1500;0;0;0;0;0;0;0
-8.4;1;2472;0.3066;740;1500;0;0;0;0;0;0;0
-8.3;1;2472;0.3066;720;1500;0;0;0;0;0;0;0
-8.2;1;2472;0.3066;701;1500;0;0;0;0;0;0;0
-8.1;1;2472;0.3066;682;1500;0;0;0;0;0;0;0
-8;1;2472;0.3066;664;1500;0;0;0;0;0;0;0
-7.9;1;2472;0.3066;646;1500;0;0;0;0;0;0;0
-7.8;1;2472;0.3066;629;1500;0;0;0;0;0;0;0
-7.7;1;2472;0.3066;612;1500;0;0;0;0;0;0;0
-7.6;1;2472;0.3066;596;1500;0;0;0;0;0;0;0
-7.5;1;2472;0.3066;580;1500;0;0;0;0;0;0;0
-7.4;1;2472;0.3066;564;1500;0;0;0;0;0;0;0
-7.3;1;2472;0.3066;549;1500;0;0;0;0;0;0;0
-7.2;1;2472;0.3066;534;1500;0;0;0;0;0;0;0
-7.1;1;2472;0.3066;520;1500;0;0;0;0;0;0;0
-7;1;2472;0.3066;506;1500;0;0;0;0;0;0;0
-6.9;1;2472;0.3066;493;1500;0;0;0;0;0;0;0
-6.8;1;2472;0.3066;480;1500;0;0;0;0;0;0;0
-6.7;1;2472;0.3066;467;1500;0;0;0;0;0;0;0
-6.6;1;2472;0.3066;454;1500;0;0;0;0;0;0;0
-6.5;1;2472;0.3066;442;1500;0;0;0;0;0;0;0
-6.4;1;2472;0.3066;430;1500;0;0;0;0;0;0;0
-6.3;1;2472;0.3066;419;1500;0;0;0;0;0;0;0
-6.2;1;2472;0.3066;408;1500;0;0;0;0;0;0;0
-6.1;1;2472;0.3066;397;1500;0;0;0;0;0;0;0
-6;1;2472;0.3066;386;1500;0;0;0;0;0;0;0
-5.9;1;2472;0.3066;355;1500;0;0;0;0;0;0;0
-5.8;1;2472;0.3066;326;1500;0;0;0;0;0;0;0
-5.7;1;2472;0.3066;300;1500;0;0;0;0;0;0;0
-5.6;1;2472;0.3066;276;1500;0;0;0;0;0;0;0
-5.5;1;2472;0.3066;253;1500;0;0;0;0;0;0;0
-5.4;1;2472;0.3066;233;1500;0;0;0;0;0;0;0
-5.3;1;2472;0.3066;214;1500;0;0;0;0;0;0;0
-5.2;1;2472;0.3066;197;1500;0;0;0;0;0;0;0
-5.1;1;2472;0.3066;181;1500;0;0;0;0;0;0;0
-5;1;2472;0.3066;166;1500;0;0;0;0;0;0;0
-4.9;1;2472;0.3066;153;1500;0;0;0;0;0;0;0
-4.8;1;2472;0.3066;141;1500;0;0;0;0;0;0;0
-4.7;1;2472;0.3066;129;1500;0;0;0;0;0;0;0
-4.6;1;2472;0.3066;119;1500;0;0;0;0;0;0;0
-4.5;1;2472;0.3066;109;1500;0;0;0;0;0;0;0
-4.4;1;2472;0.3066;100;1500;0;0;0;0;0;0;0
-4.3;1;2472;0.3066;92;1500;0;0;0;0;0;0;0
-4.2;1;2472;0.3066;85;1500;0;0;0;0;0;0;0
-4.1;1;2472;0.3066;78;1500;0;0;0;0;0;0;0
-4;1;2472;0.3066;72;1500;0;0;0;0;0;0;0
-3.9;1;2472;0.3066;66;1500;0;0;0;0;0;0;0
-3.8;1;2472;0.3066;61;1500;0;0;0;0;0;0;0
-3.7;1;2472;0.3066;56;1500;0;0;0;0;0;0;0
-3.6;1;2472;0.3066;51;1500;0;0;0;0;0;0;0
-3.5;1;2472;0.3066;47;1500;0;0;0;0;0;0;0
-3.4;1;2472;0.3066;43;1500;0;0;0;0;0;0;0
-3.3;1;2472;0.3066;40;1500;0;0;0;0;0;0;0
-3.2;1;2472;0.3066;37;1500;0;0;0;0;0;0;0
-3.1;1;2472;0.3066;34;1500;0;0;0;0;0;0;0
-3;1;2472;0.3066;31;1500;0;0;0;0;0;0;0
-2.9;1;2472;0.3066;26;1500;0;0;0;0;0;0;0
-2.8;1;2472;0.3066;22;1500;0;0;0;0;0;0;0
-2.7;1;2472;0.3066;18;1500;0;0;0;0;0;0;0
-2.6;1;2472;0.3066;15;1500;0;0;0;0;0;0;0
-2.5;1;2472;0.3066;13;1500;0;0;0;0;0;0;0
-2.4;1;2472;0.3066;11;1500;0;0;0;0;0;0;0
-2.3;1;2472;0.3066;9;1500;0;0;0;0;0;0;0
-2.2;1;2472;0.3066;7;1500;0;0;0;0;0;0;0
-2.1;1;2472;0.3066;6;1500;0;0;0;0;0;0;0
-2;1;2472;0.3066;5;1500;0;0;0;0;0;0;0
-1.9;1;2472;0.3066;4;1500;0;0;0;0;0;0;0
-1.8;1;2472;0.3066;4;1500;0;0;0;0;0;0;0
-1.7;1;2472;0.3066;3;1500;0;0;0;0;0;0;0
-1.6;1;2472;0.3066;3;1500;0;0;0;0;0;0;0
-1.5;1;2472;0.3066;2;1500;0;0;0;0;0;0;0
-1.4;1;2472;0.3066;2;1500;0;0;0;0;0;0;0
-1.3;1;2472;0.3066;2;1500;0;0;0;0;0;0;0
-1.2;1;2472;0.3066;1;1500;0;0;0;0;0;0;0
-1.1;1;2472;0.3066;1;1500;0;0;0;0;0;0;0
-1;1;2472;0.3066;1;1500;0;0;0;0;0;0;0
-0.9;1;2472;0.3066;1;1500;0;0;0;0;0;0;0
-0.8;1;2472;0.3066;1;1500;0;0;0;0;0;0;0
-0.7;1;2472;0.3066;1;1500;0;0;0;0;0;0;0
-0.6;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
-0.5;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
-0.4;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
-0.3;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
-0.2;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
-0.1;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
0;1;2472;0.3066;0;1500;0;0;0;0;0;0;0
SNR;MCS;TBS;rate;err0;trials0;err1;trials1;err2;trials2;err3;trials3;dci_err
-15;2;2976;0.377;1500;1500;0;0;0;0;0;0;0
-14.9;2;2976;0.377;1494;1500;0;0;0;0;0;0;0
-14.8;2;2976;0.377;1489;1500;0;0;0;0;0;0;0
-14.7;2;2976;0.377;1484;1500;0;0;0;0;0;0;0
-14.6;2;2976;0.377;1479;1500;0;0;0;0;0;0;0
-14.5;2;2976;0.377;1473;1500;0;0;0;0;0;0;0
-14.4;2;2976;0.377;1468;1500;0;0;0;0;0;0;0
-14.3;2;2976;0.377;1463;1500;0;0;0;0;0;0;0
-14.2;2;2976;0.377;1458;1500;0;0;0;0;0;0;0
-14.1;2;2976;0.377;1453;1500;0;0;0;0;0;0;0
-14;2;2976;0.377;1448;1500;0;0;0;0;0;0;0
-13.9;2;2976;0.377;1443;1500;0;0;0;0;0;0;0
-13.8;2;2976;0.377;1438;1500;0;0;0;0;0;0;0
-13.7;2;2976;0.377;1433;1500;0;0;0;0;0;0;0
-13.6;2;2976;0.377;1427;1500;0;0;0;0;0;0;0
-13.5;2;2976;0.377;1422;1500;0;0;0;0;0;0;0
-13.4;2;2976;0.377;1417;1500;0;0;0;0;0;0;0
-13.3;2;2976;0.377;1412;1500;0;0;0;0;0;0;0
-13.2;2;2976;0.377;1407;1500;0;0;0;0;0;0;0
-13.1;2;2976;0.377;1403;1500;0;0;0;0;0;0;0
-13;2;2976;0.377;1398;1500;0;0;0;0;0;0;0
-12.9;2;2976;0.377;1393;1500;0;0;0;0;0;0;0
-12.8;2;2976;0.377;1388;1500;0;0;0;0;0;0;0
-12.7;2;2976;0.377;1383;1500;0;0;0;0;0;0;0
-12.6;2;2976;0.377;1378;1500;0;0;0;0;0;0;0
-12.5;2;2976;0.377;1373;1500;0;0;0;0;0;0;0
-12.4;2;2976;0.377;1368;1500;0;0;0;0;0;0;0
-12.3;2;2976;0.377;1364;1500;0;0;0;0;0;0;0
-12.2;2;2976;0.377;1359;1500;0;0;0;0;0;0;0
-12.1;2;2976;0.377;1354;1500;0;0;0;0;0;0;0
-12;2;2976;0.377;1349;1500;0;0;0;0;0;0;0
-11.9;2;2976;0.377;1335;1500;0;0;0;0;0;0;0
-11.8;2;2976;0.377;1321;1500;0;0;0;0;0;0;0
-11.7;2;2976;0.377;1308;1500;0;0;0;0;0;0;0
-11.6;2;2976;0.377;1294;1500;0;0;0;0;0;0;0
-11.5;2;2976;0.377;1281;1500;0;0;0;0;0;0;0
-11.4;2;2976;0.377;1267;1500;0;0;0;0;0;0;0
-11.3;2;2976;0.377;1254;1500;0;0;0;0;0;0;0
-11.2;2;2976;0.377;1241;1500;0;0;0;0;0;0;0
-11.1;2;2976;0.377;1228;1500;0;0;0;0;0;0;0
-11;2;2976;0.377;1216;1500;0;0;0;0;0;0;0
-10.9;2;2976;0.377;1203;1500;0;0;0;0;0;0;0
-10.8;2;2976;0.377;1191;1500;0;0;0;0;0;0;0
-10.7;2;2976;0.377;1178;1500;0;0;0;0;0;0;0
-10.6;2;2976;0.377;1166;1500;0;0;0;0;0;0;0
-10.5;2;2976;0.377;1154;1500;0;0;0;0;0;0;0
-10.4;2;2976;0.377;1142;1500;0;0;0;0;0;0;0
-10.3;2;2976;0.377;1130;1500;0;0;0;0;0;0;0
-10.2;2;2976;0.377;1119;1500;0;0;0;0;0;0;0
-10.1;2;2976;0.377;1107;1500;0;0;0;0;0;0;0
-10;2;2976;0.377;1095;1500;0;0;0;0;0;0;0
-9.9;2;2976;0.377;1084;1500;0;0;0;0;0;0;0
-9.8;2;2976;0.377;1073;1500;0;0;0;0;0;0;0
-9.7;2;2976;0.377;1062;1500;0;0;0;0;0;0;0
-9.6;2;2976;0.377;1051;1500;0;0;0;0;0;0;0
-9.5;2;2976;0.377;1040;1500;0;0;0;0;0;0;0
-9.4;2;2976;0.377;1029;1500;0;0;0;0;0;0;0
-9.3;2;2976;0.377;1018;1500;0;0;0;0;0;0;0
-9.2;2;2976;0.377;1008;1500;0;0;0;0;0;0;0
-9.1;2;2976;0.377;997;1500;0;0;0;0;0;0;0
-9;2;2976;0.377;987;1500;0;0;0;0;0;0;0
-8.9;2;2976;0.377;970;1500;0;0;0;0;0;0;0
-8.8;2;2976;0.377;953;1500;0;0;0;0;0;0;0
-8.7;2;2976;0.377;937;1500;0;0;0;0;0;0;0
-8.6;2;2976;0.377;921;1500;0;0;0;0;0;0;0
-8.5;2;2976;0.377;905;1500;0;0;0;0;0;0;0
-8.4;2;2976;0.377;889;1500;0;0;0;0;0;0;0
-8.3;2;2976;0.377;874;1500;0;0;0;0;0;0;0
-8.2;2;2976;0.377;859;1500;0;0;0;0;0;0;0
-8.1;2;2976;0.377;844;1500;0;0;0;0;0;0;0
-8;2;2976;0.377;829;1500;0;0;0;0;0;0;0
-7.9;2;2976;0.377;815;1500;0;0;0;0;0;0;0
-7.8;2;2976;0.377;801;1500;0;0;0;0;0;0;0
-7.7;2;2976;0.377;787;1500;0;0;0;0;0;0;0
-7.6;2;2976;0.377;773;1500;0;0;0;0;0;0;0
-7.5;2;2976;0.377;760;1500;0;0;0;0;0;0;0
-7.4;2;2976;0.377;747;1500;0;0;0;0;0;0;0
-7.3;2;2976;0.377;734;1500;0;0;0;0;0;0;0
-7.2;2;2976;0.377;721;1500;0;0;0;0;0;0;0
-7.1;2;2976;0.377;709;1500;0;0;0;0;0;0;0
-7;2;2976;0.377;697;1500;0;0;0;0;0;0;0
-6.9;2;2976;0.377;685;1500;0;0;0;0;0;0;0
-6.8;2;2976;0.377;673;1500;0;0;0;0;0;0;0
-6.7;2;2976;0.377;661;1500;0;0;0;0;0;0;0
-6.6;2;2976;0.377;650;1500;0;0;0;0;0;0;0
-6.5;2;2976;0.377;639;1500;0;0;0;0;0;0;0
-6.4;2;2976;0.377;628;1500;0;0;0;0;0;0;0
-6.3;2;2976;0.377;617;1500;0;0;0;0;0;0;0
-6.2;2;2976;0.377;606;1500;0;0;0;0;0;0;0
-6.1;2;2976;0.377;596;1500;0;0;0;0;0;0;0
-6;2;2976;0.377;585;1500;0;0;0;0;0;0;0
-5.9;2;2976;0.377;555;1500;0;0;0;0;0;0;0
-5.8;2;2976;0.377;527;1500;0;0;0;0;0;0;0
-5.7;2;2976;0.377;500;1500;0;0;0;0;0;0;0
-5.6;2;2976;0.377;474;1500;0;0;0;0;0;0;0
-5.5;2;2976;0.377;450;1500;0;0;0;0;0;0;0
-5.4;2;2976;0.377;427;1500;0;0;0;0;0;0;0
-5.3;2;2976;0.377;405;1500;0;0;0;0;0;0;0
-5.2;2;2976;0.377;384;1500;0;0;0;0;0;0;0
-5.1;2;2976;0.377;365;1500;0;0;0;0;0;0;0
-5;2;2976;0.377;346;1500;0;0;0;0;0;0;0
-4.9;2;2976;0.377;328;1500;0;0;0;0;0;0;0
-4.8;2;2976;0.377;312;1500;0;0;0;0;0;0;0
-4.7;2;2976;0.377;296;1500;0;0;0;0;0;0;0
-4.6;2;2976;0.377;280;1500;0;0;0;0;0;0;0
-4.5;2;2976;0.377;266;1500;0;0;0;0;0;0;0
-4.4;2;2976;0.377;252;1500;0;0;0;0;0;0;0
-4.3;2;2976;0.377;240;1500;0;0;0;0;0;0;0
-4.2;2;2976;0.377;227;1500;0;0;0;0;0;0;0
-4.1;2;2976;0.377;216;1500;0;0;0;0;0;0;0
-4;2;2976;0.377;205;1500;0;0;0;0;0;0;0
-3.9;2;2976;0.377;194;1500;0;0;0;0;0;0;0
-3.8;2;2976;0.377;184;1500;0;0;0;0;0;0;0
-3.7;2;2976;0.377;175;1500;0;0;0;0;0;0;0
-3.6;2;2976;0.377;166;1500;0;0;0;0;0;0;0
-3.5;2;2976;0.377;157;1500;0;0;0;0;0;0;0
-3.4;2;2976;0.377;149;1500;0;0;0;0;0;0;0
-3.3;2;2976;0.377;142;1500;0;0;0;0;0;0;0
-3.2;2;2976;0.377;134;1500;0;0;0;0;0;0;0
-3.1;2;2976;0.377;128;1500;0;0;0;0;0;0;0
-3;2;2976;0.377;121;1500;0;0;0;0;0;0;0
-2.9;2;2976;0.377;107;1500;0;0;0;0;0;0;0
-2.8;2;2976;0.377;94;1500;0;0;0;0;0;0;0
-2.7;2;2976;0.377;83;1500;0;0;0;0;0;0;0
-2.6;2;2976;0.377;73;1500;0;0;0;0;0;0;0
-2.5;2;2976;0.377;64;1500;0;0;0;0;0;0;0
-2.4;2;2976;0.377;57;1500;0;0;0;0;0;0;0
-2.3;2;2976;0.377;50;1500;0;0;0;0;0;0;0
-2.2;2;2976;0.377;44;1500;0;0;0;0;0;0;0
-2.1;2;2976;0.377;39;1500;0;0;0;0;0;0;0
-2;2;2976;0.377;34;1500;0;0;0;0;0;0;0
-1.9;2;2976;0.377;30;1500;0;0;0;0;0;0;0
-1.8;2;2976;0.377;27;1500;0;0;0;0;0;0;0
-1.7;2;2976;0.377;24;1500;0;0;0;0;0;0;0
-1.6;2;2976;0.377;21;1500;0;0;0;0;0;0;0
-1.5;2;2976;0.377;18;1500;0;0;0;0;0;0;0
-1.4;2;2976;0.377;16;1500;0;0;0;0;0;0;0
-1.3;2;2976;0.377;14;1500;0;0;0;0;0;0;0
-1.2;2;2976;0.377;13;1500;0;0;0;0;0;0;0
-1.1;2;2976;0.377;11;1500;0;0;0;0;0;0;0
-1;2;2976;0.377;10;1500;0;0;0;0;0;0;0
-0.9;2;2976;0.377;9;1500;0;0;0;0;0;0;0
-0.8;2;2976;0.377;8;1500;0;0;0;0;0;0;0
-0.7;2;2976;0.377;7;1500;0;0;0;0;0;0;0
-0.6;2;2976;0.377;6;1500;0;0;0;0;0;0;0
-0.5;2;2976;0.377;5;1500;0;0;0;0;0;0;0
-0.4;2;2976;0.377;5;1500;0;0;0;0;0;0;0
-0.3;2;2976;0.377;4;1500;0;0;0;0;0;0;0
-0.2;2;2976;0.377;4;1500;0;0;0;0;0;0;0
-0.1;2;2976;0.377;3;1500;0;0;0;0;0;0;0
0;2;2976;0.377;3;1500;0;0;0;0;0;0;0
0.1;2;2976;0.377;0;1500;0;0;0;0;0;0;0
# Overview of AWGN BLER Table #
Look-up tables of performance versus signal-to-noise ratio (SNR) are obtained via PHY simulations in additive white Gaussian noise (AWGN) channels. Then, to evaluate the BLER of fading channel, we map the received SINR to an AWGN curve using these look-up tables. Note that due to time/frequency selective fading, the received SINR value for each packet/ resource block varies. This requires the computation of AWGN equivalent SINR, also generally known as effective SINR, by mapping the individual symbol SINRs to a scalar. Then, the performance of the PHY in a fading channel at a given effective SINR is equivalent to the performance in AWGN channel.
## AWGN_results ##
The provided simulation results are for NR SISO channel modeling.
## AWGN_MIMO 2x2_results ##
The provided simulation results are for NR MIMO 2x2 channel modeling.
# Table Generation Method #
The tables result from an exponential effective SINR mapping (EESM) and comparison to MATLAB link-level simulation models.
# Limitations #
These BLER curves are used in the packet dropping abstraction process.
The curves in the tables can be used under the condition of L1 abstraction mode and packet dropping abstraction process.
......@@ -300,6 +300,9 @@ typedef struct {
int num_srs;
int num_harqs;
int num_csi_reports;
uint8_t pmi;
uint8_t ri;
uint8_t cqi;
} nr_emulated_l1_t;
typedef struct {
......
......@@ -50,6 +50,7 @@
#include "NR_MAC_UE/mac_extern.h"
#include "NR_MAC_COMMON/nr_mac_extern.h"
#include "common/utils/nr/nr_common.h"
#include "openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.h"
/* PHY */
#include "PHY/NR_TRANSPORT/nr_dci.h"
......@@ -2694,6 +2695,17 @@ uint8_t get_csirs_RI_PMI_CQI_payload(NR_UE_MAC_INST_t *mac,
int cqi_bitlen = csi_report->csi_meas_bitlen.cqi_bitlen[mac->csirs_measurements.rank_indicator];
int padding_bitlen = n_bits - (cri_bitlen + ri_bitlen + pmi_x1_bitlen + pmi_x2_bitlen + cqi_bitlen);
if (get_softmodem_params()->emulate_l1) {
static const uint8_t mcs_to_cqi[] = {0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15};
CHECK_INDEX(nr_bler_data, NR_NUM_MCS - 1);
int mcs = get_mcs_from_sinr(nr_bler_data, (mac->nr_ue_emul_l1.cqi - 640) * 0.1);
CHECK_INDEX(mcs_to_cqi, mcs);
mac->csirs_measurements.rank_indicator = mac->nr_ue_emul_l1.ri;
mac->csirs_measurements.i1 = mac->nr_ue_emul_l1.pmi;
mac->csirs_measurements.cqi = mcs_to_cqi[mcs];
}
// TODO: Improvements will be needed to cri_bitlen>0 and pmi_x1_bitlen>0
temp_payload = (mac->csirs_measurements.rank_indicator<<(cri_bitlen+cqi_bitlen+pmi_x2_bitlen+padding_bitlen+pmi_x1_bitlen)) |
(mac->csirs_measurements.i1<<(cri_bitlen+cqi_bitlen+pmi_x2_bitlen)) |
......
......@@ -37,6 +37,7 @@
#include "LAYER2/nr_rlc/nr_rlc_oai_api.h"
#include <openair3/ocp-gtpu/gtp_itf.h>
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
#include "executables/softmodem-common.h"
#define TODO do { \
printf("%s:%d:%s: todo\n", __FILE__, __LINE__, __FUNCTION__); \
......
......@@ -125,7 +125,7 @@ void NR_IF_Module_kill(int Mod_id);
void NR_UL_indication(NR_UL_IND_t *UL_INFO);
void RCconfig_nr_ue_L1(void);
void RCconfig_nr_ue_macrlc(void);
/*Interface for Downlink, transmitting the DLSCH SDU, DCI SDU*/
void NR_Schedule_Response(NR_Sched_Rsp_t *Sched_INFO);
......
This diff is collapsed.
......@@ -181,3 +181,27 @@ bool should_drop_transport_block(int slot, uint16_t rnti)
}
return false;
}
int get_mcs_from_sinr(nr_bler_struct *nr_bler_data, float sinr)
{
if (sinr < (nr_bler_data[0].bler_table[0][0])) {
LOG_I(NR_MAC, "The SINR found is smaller than first MCS table\n");
return 0;
}
if (sinr > (nr_bler_data[NR_NUM_MCS-1].bler_table[nr_bler_data[NR_NUM_MCS-1].length - 1][0])) {
LOG_I(NR_MAC, "The SINR found is larger than last MCS table\n");
return NR_NUM_MCS-1;
}
for (int n = NR_NUM_MCS-1; n >= 0; n--) {
float largest_sinr = (nr_bler_data[n].bler_table[nr_bler_data[n].length - 1][0]);
float smallest_sinr = (nr_bler_data[n].bler_table[0][0]);
if (sinr < largest_sinr && sinr > smallest_sinr) {
LOG_I(NR_MAC, "The SINR found in MCS %d table\n", n);
return n;
}
}
LOG_E(NR_MAC, "Unable to get an MCS value.\n");
abort();
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment