Commit b018a3bb authored by Raymond.Knopp's avatar Raymond.Knopp

configuration file for 10 MHz LMMSDR, 10 MHz, RF configuration file bugfix, first_rx > 1 for LMSSDR

parent 2d963f53
...@@ -7,122 +7,126 @@ eNBs = ...@@ -7,122 +7,126 @@ eNBs =
{ {
////////// Identification parameters: ////////// Identification parameters:
eNB_ID = 0xe00; eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB"; cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB_Eurecom_LTEBox"; eNB_name = "eNB_Eurecom_LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values // Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = "1"; tracking_area_code = "1";
mobile_country_code = "208"; mobile_country_code = "208";
mobile_network_code = "95"; mobile_network_code = "93";
////////// Physical parameters: ////////// Physical parameters:
component_carriers = ( component_carriers = (
{ {
frame_type = "FDD"; node_function = "eNodeB_3GPP";
tdd_config = 3; node_timing = "synch_to_ext_device";
tdd_config_s = 0; node_synch_ref = 0;
prefix_type = "NORMAL"; frame_type = "FDD";
eutra_band = 7; tdd_config = 3;
downlink_frequency = 2660000000L; tdd_config_s = 0;
uplink_frequency_offset = -120000000; prefix_type = "NORMAL";
Nid_cell = 0; eutra_band = 7;
N_RB_DL = 50; downlink_frequency = 2660000000L;
Nid_cell_mbsfn = 0; uplink_frequency_offset = -120000000;
nb_antennas_tx = 1; Nid_cell = 0;
nb_antennas_rx = 1; N_RB_DL = 50;
tx_gain = 60; Nid_cell_mbsfn = 0;
rx_gain = 111; nb_antenna_ports = 1;
prach_root = 0; nb_antennas_tx = 1;
prach_config_index = 0; nb_antennas_rx = 1;
prach_high_speed = "DISABLE"; tx_gain = 60;
prach_zero_correlation = 1; rx_gain = 111;
prach_freq_offset = 2; prach_root = 0;
pucch_delta_shift = 1; prach_config_index = 0;
pucch_nRB_CQI = 1; prach_high_speed = "DISABLE";
pucch_nCS_AN = 0; prach_zero_correlation = 1;
pucch_n1_AN = 32; prach_freq_offset = 2;
pdsch_referenceSignalPower = -29; pucch_delta_shift = 1;
pdsch_p_b = 0; pucch_nRB_CQI = 1;
pusch_n_SB = 1; pucch_nCS_AN = 0;
pusch_enable64QAM = "DISABLE"; pucch_n1_AN = 32;
pusch_hoppingMode = "interSubFrame"; pdsch_referenceSignalPower = -27;
pusch_hoppingOffset = 0; pdsch_p_b = 0;
pusch_groupHoppingEnabled = "ENABLE"; pusch_n_SB = 1;
pusch_groupAssignment = 0; pusch_enable64QAM = "DISABLE";
pusch_sequenceHoppingEnabled = "DISABLE"; pusch_hoppingMode = "interSubFrame";
pusch_nDMRS1 = 1; pusch_hoppingOffset = 0;
phich_duration = "NORMAL"; pusch_groupHoppingEnabled = "ENABLE";
phich_resource = "ONESIXTH"; pusch_groupAssignment = 0;
srs_enable = "DISABLE"; pusch_sequenceHoppingEnabled = "DISABLE";
/* srs_BandwidthConfig =; pusch_nDMRS1 = 1;
srs_SubframeConfig =; phich_duration = "NORMAL";
srs_ackNackST =; phich_resource = "ONESIXTH";
srs_MaxUpPts =;*/ srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
pusch_p0_Nominal = -85; srs_SubframeConfig =;
pusch_alpha = "AL1"; srs_ackNackST =;
pucch_p0_Nominal = -96; srs_MaxUpPts =;*/
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2"; pusch_p0_Nominal = -96;
pucch_deltaF_Format1b = "deltaF3"; pusch_alpha = "AL1";
pucch_deltaF_Format2 = "deltaF0"; pucch_p0_Nominal = -100;
pucch_deltaF_Format2a = "deltaF0"; msg3_delta_Preamble = 6;
pucch_deltaF_Format2b = "deltaF0"; pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
rach_numberOfRA_Preambles = 64; pucch_deltaF_Format2 = "deltaF0";
rach_preamblesGroupAConfig = "DISABLE"; pucch_deltaF_Format2a = "deltaF0";
/* pucch_deltaF_Format2b = "deltaF0";
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ; rach_numberOfRA_Preambles = 64;
rach_messagePowerOffsetGroupB = ; rach_preamblesGroupAConfig = "DISABLE";
*/ /*
rach_powerRampingStep = 4; rach_sizeOfRA_PreamblesGroupA = ;
rach_preambleInitialReceivedTargetPower = -100; rach_messageSizeGroupA = ;
rach_preambleTransMax = 10; rach_messagePowerOffsetGroupB = ;
rach_raResponseWindowSize = 10; */
rach_macContentionResolutionTimer = 48; rach_powerRampingStep = 4;
rach_maxHARQ_Msg3Tx = 4; rach_preambleInitialReceivedTargetPower = -104;
rach_preambleTransMax = 10;
pcch_default_PagingCycle = 128; rach_raResponseWindowSize = 10;
pcch_nB = "oneT"; rach_macContentionResolutionTimer = 48;
bcch_modificationPeriodCoeff = 2; rach_maxHARQ_Msg3Tx = 4;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
}
);
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
}
);
srb1_parameters : srb1_parameters :
{ {
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80; timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35; timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0; timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4; poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999; poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4; max_retx_threshold = 4;
} }
# ------- SCTP definitions # ------- SCTP definitions
SCTP : SCTP :
{ {
...@@ -130,42 +134,41 @@ eNBs = ...@@ -130,42 +134,41 @@ eNBs =
SCTP_INSTREAMS = 2; SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2; SCTP_OUTSTREAMS = 2;
}; };
////////// MME parameters: ////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.12.62"; mme_ip_address = ( { ipv4 = "127.0.0.3";
ipv6 = "192:168:30::17"; ipv6 = "192:168:30::17";
active = "yes"; active = "yes";
preference = "ipv4"; preference = "ipv4";
} }
); );
NETWORK_INTERFACES : NETWORK_INTERFACES :
{ {
ENB_INTERFACE_NAME_FOR_S1_MME = "eth4"; ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.242/24"; ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24";
ENB_INTERFACE_NAME_FOR_S1U = "eth4"; ENB_INTERFACE_NAME_FOR_S1U = "lo";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.242/24"; ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.4/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152 ENB_PORT_FOR_S1U = 2152; # Spec 2152
}; };
log_config : log_config :
{ {
global_log_level ="info"; global_log_level ="info";
global_log_verbosity ="medium"; global_log_verbosity ="medium";
hw_log_level ="info"; hw_log_level ="info";
hw_log_verbosity ="medium"; hw_log_verbosity ="medium";
phy_log_level ="info"; phy_log_level ="info";
phy_log_verbosity ="medium"; phy_log_verbosity ="medium";
mac_log_level ="info"; mac_log_level ="info";
mac_log_verbosity ="high"; mac_log_verbosity ="high";
rlc_log_level ="info"; rlc_log_level ="info";
rlc_log_verbosity ="medium"; rlc_log_verbosity ="medium";
pdcp_log_level ="info"; pdcp_log_level ="info";
pdcp_log_verbosity ="medium"; pdcp_log_verbosity ="medium";
rrc_log_level ="info"; rrc_log_level ="info";
rrc_log_verbosity ="medium"; rrc_log_verbosity ="medium";
}; };
} }
); );
...@@ -677,7 +677,7 @@ void fh_if4p5_asynch_UL(PHY_VARS_eNB *eNB,int *frame,int *subframe) { ...@@ -677,7 +677,7 @@ void fh_if4p5_asynch_UL(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
if (proc->first_rx != 0) { if (proc->first_rx != 0) {
*frame = proc->frame_rx; *frame = proc->frame_rx;
*subframe = proc->subframe_rx; *subframe = proc->subframe_rx;
proc->first_rx = 0; proc->first_rx--;
} }
else { else {
if (proc->frame_rx != *frame) { if (proc->frame_rx != *frame) {
...@@ -881,7 +881,7 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) { ...@@ -881,7 +881,7 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
proc->frame_rx = (proc->timestamp_rx / (fp->samples_per_tti*10))&1023; proc->frame_rx = (proc->timestamp_rx / (fp->samples_per_tti*10))&1023;
proc->subframe_rx = (proc->timestamp_rx / fp->samples_per_tti)%10; proc->subframe_rx = (proc->timestamp_rx / fp->samples_per_tti)%10;
proc->timestamp_tx = proc->timestamp_rx+(4*fp->samples_per_tti); proc->timestamp_tx = proc->timestamp_rx+(4*fp->samples_per_tti);
// printf("trx_read <- USRP TS %llu (sf %d, first_rx %d)\n", proc->timestamp_rx,proc->subframe_rx,proc->first_rx); //printf("trx_read <- RX TS %llu (sf %d, first_rx %d)\n", proc->timestamp_rx,proc->subframe_rx,proc->first_rx);
if (proc->first_rx == 0) { if (proc->first_rx == 0) {
if (proc->subframe_rx != *subframe){ if (proc->subframe_rx != *subframe){
...@@ -894,7 +894,7 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) { ...@@ -894,7 +894,7 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
exit_fun("Exiting"); exit_fun("Exiting");
} }
} else { } else {
proc->first_rx = 0; proc->first_rx--;
*frame = proc->frame_rx; *frame = proc->frame_rx;
*subframe = proc->subframe_rx; *subframe = proc->subframe_rx;
} }
...@@ -931,7 +931,7 @@ void rx_fh_if5(PHY_VARS_eNB *eNB,int *frame, int *subframe) { ...@@ -931,7 +931,7 @@ void rx_fh_if5(PHY_VARS_eNB *eNB,int *frame, int *subframe) {
exit_fun("Exiting"); exit_fun("Exiting");
} }
} else { } else {
proc->first_rx = 0; proc->first_rx--;
*frame = proc->frame_rx; *frame = proc->frame_rx;
*subframe = proc->subframe_rx; *subframe = proc->subframe_rx;
} }
...@@ -983,7 +983,7 @@ void rx_fh_if4p5(PHY_VARS_eNB *eNB,int *frame,int *subframe) { ...@@ -983,7 +983,7 @@ void rx_fh_if4p5(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
exit_fun("Exiting"); exit_fun("Exiting");
} }
} else { } else {
proc->first_rx = 0; proc->first_rx--;
*frame = proc->frame_rx; *frame = proc->frame_rx;
*subframe = proc->subframe_rx; *subframe = proc->subframe_rx;
} }
...@@ -1327,7 +1327,7 @@ void init_eNB_proc(int inst) { ...@@ -1327,7 +1327,7 @@ void init_eNB_proc(int inst) {
proc->instance_cnt_asynch_rxtx = -1; proc->instance_cnt_asynch_rxtx = -1;
proc->CC_id = CC_id; proc->CC_id = CC_id;
proc->first_rx=1; proc->first_rx=4;
proc->first_tx=1; proc->first_tx=1;
pthread_mutex_init( &proc_rxtx[0].mutex_rxtx, NULL); pthread_mutex_init( &proc_rxtx[0].mutex_rxtx, NULL);
......
...@@ -1354,7 +1354,7 @@ void init_openair0() { ...@@ -1354,7 +1354,7 @@ void init_openair0() {
openair0_cfg[card].rx_gain[i] = PHY_vars_UE_g[0][0]->rx_total_gain_dB - rx_gain_off; openair0_cfg[card].rx_gain[i] = PHY_vars_UE_g[0][0]->rx_total_gain_dB - rx_gain_off;
} }
openair0_cfg[card].configFilename = rf_config_file;
} }
......
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