Commit f8efb13b authored by Melissa Elkadi's avatar Melissa Elkadi Committed by Robert Schmidt

NR MIMO 2x2 Support

This commit provides CSI reporting support
which is required for MIMO.  It also updates
the configuration files, provides sample BLER
simualtion files for packet dropping in the
MIMO 2x2 case. It also includes the hooks
and functions (e.g., updating UCI2_3_4 PDU field)
for MIMO 2x2 support. This commit will not include
any channel abstraction code or modelling.
parent 3bc86d69
......@@ -17,29 +17,16 @@ nssai_sst=222;
nssai_sd=123;
}
L1s = (
MACRLCs = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
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;
}
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 40960;
plmn_list = ({ mcc = 208; mnc = 95; mnc_length = 2; snssaiList = ({ sst = 1 }) });
nr_cellid = 12345678L;
////////// Physical parameters:
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
do_CSIRS = 1;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 12952; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 12952;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "ctrl0";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.16.0.1";
GNB_INTERFACE_NAME_FOR_NGU = "ctrl0";
GNB_IPV4_ADDRESS_FOR_NGU = "172.16.0.1";
GNB_PORT_FOR_NGU = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo:";
remote_s_address = "127.0.0.1"; // pnf addr [!]
local_s_address = "127.0.0.2"; // vnf addr
local_s_portc = 50601; // vnf p5 port
remote_s_portc = 50600; // pnf p5 port [!]
local_s_portd = 50611; // vnf p7 port [!]
remote_s_portd = 50610; // pnf p7 port [!]
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
);
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
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,29 +17,17 @@ nssai_sst=1;
nssai_sd=1;
}
L1s = (
MACRLCs = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "lo:";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "lo:";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
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;
}
);
......@@ -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>ce3562b</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
# 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.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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