Fix if4p5
This commit is contained in:
@@ -108,8 +108,8 @@ void send_IF4p5(PHY_VARS_eNB *eNB, int frame, int subframe, uint16_t packet_type
|
|||||||
(packet_type == IF4p5_PULTICK)){
|
(packet_type == IF4p5_PULTICK)){
|
||||||
db_fulllength = 12*fp->N_RB_UL;
|
db_fulllength = 12*fp->N_RB_UL;
|
||||||
db_halflength = (db_fulllength)>>1;
|
db_halflength = (db_fulllength)>>1;
|
||||||
slotoffsetF = 1;
|
slotoffsetF = 0;
|
||||||
blockoffsetF = slotoffsetF + fp->ofdm_symbol_size - db_halflength - 1;
|
blockoffsetF = slotoffsetF + fp->ofdm_symbol_size - db_halflength;
|
||||||
|
|
||||||
if (subframe_select(fp,subframe)==SF_S) {
|
if (subframe_select(fp,subframe)==SF_S) {
|
||||||
nsym=fp->ul_symbols_in_S_subframe;
|
nsym=fp->ul_symbols_in_S_subframe;
|
||||||
@@ -131,10 +131,12 @@ void send_IF4p5(PHY_VARS_eNB *eNB, int frame, int subframe, uint16_t packet_type
|
|||||||
LOG_D(PHY,"IF4p5_PULFFT: frame %d, subframe %d, symbol %d\n",frame,subframe,symbol_id);
|
LOG_D(PHY,"IF4p5_PULFFT: frame %d, subframe %d, symbol %d\n",frame,subframe,symbol_id);
|
||||||
for (element_id=0; element_id<db_halflength; element_id++) {
|
for (element_id=0; element_id<db_halflength; element_id++) {
|
||||||
i = (uint16_t*) &rxdataF[0][blockoffsetF+element_id];
|
i = (uint16_t*) &rxdataF[0][blockoffsetF+element_id];
|
||||||
data_block[element_id] = ((uint16_t) lin2alaw[*i]) | (lin2alaw[*(i+1)]<<8);
|
data_block[element_id] = ((uint16_t) lin2alaw[*i]) | ((uint16_t)(lin2alaw[*(i+1)]<<8));
|
||||||
|
|
||||||
i = (uint16_t*) &rxdataF[0][slotoffsetF+element_id];
|
i = (uint16_t*) &rxdataF[0][slotoffsetF+element_id];
|
||||||
data_block[element_id+db_halflength] = ((uint16_t) lin2alaw[*i]) | (lin2alaw[*(i+1)]<<8);
|
data_block[element_id+db_halflength] = ((uint16_t) lin2alaw[*i]) | ((uint16_t)(lin2alaw[*(i+1)]<<8));
|
||||||
|
//if (element_id==0) LOG_I(PHY,"send_if4p5: symbol %d rxdata0 = (%d,%d)\n",symbol_id,*i,*(i+1));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
packet_header->frame_status &= ~(0x000f<<26);
|
packet_header->frame_status &= ~(0x000f<<26);
|
||||||
@@ -235,7 +237,7 @@ void recv_IF4p5(PHY_VARS_eNB *eNB, int *frame, int *subframe, uint16_t *packet_t
|
|||||||
0) < 0) {
|
0) < 0) {
|
||||||
perror("ETHERNET read");
|
perror("ETHERNET read");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eth->flags == ETH_RAW_IF4p5_MODE) {
|
if (eth->flags == ETH_RAW_IF4p5_MODE) {
|
||||||
packet_header = (IF4p5_header_t*) (rx_buffer+MAC_HEADER_SIZE_BYTES);
|
packet_header = (IF4p5_header_t*) (rx_buffer+MAC_HEADER_SIZE_BYTES);
|
||||||
data_block = (uint16_t*) (rx_buffer+MAC_HEADER_SIZE_BYTES+sizeof_IF4p5_header_t);
|
data_block = (uint16_t*) (rx_buffer+MAC_HEADER_SIZE_BYTES+sizeof_IF4p5_header_t);
|
||||||
@@ -251,7 +253,6 @@ void recv_IF4p5(PHY_VARS_eNB *eNB, int *frame, int *subframe, uint16_t *packet_t
|
|||||||
|
|
||||||
*packet_type = packet_header->sub_type;
|
*packet_type = packet_header->sub_type;
|
||||||
|
|
||||||
|
|
||||||
if (*packet_type == IF4p5_PDLFFT) {
|
if (*packet_type == IF4p5_PDLFFT) {
|
||||||
*symbol_number = ((packet_header->frame_status)>>26)&0x000f;
|
*symbol_number = ((packet_header->frame_status)>>26)&0x000f;
|
||||||
|
|
||||||
@@ -273,10 +274,10 @@ void recv_IF4p5(PHY_VARS_eNB *eNB, int *frame, int *subframe, uint16_t *packet_t
|
|||||||
} else if (*packet_type == IF4p5_PULFFT) {
|
} else if (*packet_type == IF4p5_PULFFT) {
|
||||||
*symbol_number = ((packet_header->frame_status)>>26)&0x000f;
|
*symbol_number = ((packet_header->frame_status)>>26)&0x000f;
|
||||||
|
|
||||||
if (eNB->CC_id==1) LOG_I(PHY,"UL_IF4p5: CC_id %d : frame %d, subframe %d, symbol %d\n",eNB->CC_id,*frame,*subframe,*symbol_number);
|
if (eNB->CC_id==0) LOG_D(PHY,"UL_IF4p5: CC_id %d : frame %d, subframe %d, symbol %d\n",eNB->CC_id,*frame,*subframe,*symbol_number);
|
||||||
|
|
||||||
slotoffsetF = (*symbol_number)*(fp->ofdm_symbol_size) + 1;
|
slotoffsetF = (*symbol_number)*(fp->ofdm_symbol_size);
|
||||||
blockoffsetF = slotoffsetF + fp->ofdm_symbol_size - db_halflength - 1;
|
blockoffsetF = slotoffsetF + fp->ofdm_symbol_size - db_halflength;
|
||||||
|
|
||||||
for (element_id=0; element_id<db_halflength; element_id++) {
|
for (element_id=0; element_id<db_halflength; element_id++) {
|
||||||
i = (uint16_t*) &rxdataF[0][blockoffsetF+element_id];
|
i = (uint16_t*) &rxdataF[0][blockoffsetF+element_id];
|
||||||
@@ -286,9 +287,12 @@ void recv_IF4p5(PHY_VARS_eNB *eNB, int *frame, int *subframe, uint16_t *packet_t
|
|||||||
i = (uint16_t*) &rxdataF[0][slotoffsetF+element_id];
|
i = (uint16_t*) &rxdataF[0][slotoffsetF+element_id];
|
||||||
*i = alaw2lin[ (data_block[element_id+db_halflength] & 0xff) ];
|
*i = alaw2lin[ (data_block[element_id+db_halflength] & 0xff) ];
|
||||||
*(i+1) = alaw2lin[ (data_block[element_id+db_halflength]>>8) ];
|
*(i+1) = alaw2lin[ (data_block[element_id+db_halflength]>>8) ];
|
||||||
|
|
||||||
|
//if (element_id==0) LOG_I(PHY,"recv_if4p5: symbol %d rxdata0 = (%u,%u)\n",*symbol_number,*i,*(i+1));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (*packet_type == IF4p5_PRACH) {
|
} else if (*packet_type == IF4p5_PRACH) {
|
||||||
|
LOG_D(PHY,"PRACH_IF4p5: CC_id %d : frame %d, subframe %d, symbol %d\n",eNB->CC_id,*frame,*subframe);
|
||||||
if (eNB->CC_id==1) LOG_I(PHY,"PRACH_IF4p5: CC_id %d : frame %d, subframe %d, symbol %d\n",eNB->CC_id,*frame,*subframe);
|
if (eNB->CC_id==1) LOG_I(PHY,"PRACH_IF4p5: CC_id %d : frame %d, subframe %d, symbol %d\n",eNB->CC_id,*frame,*subframe);
|
||||||
|
|
||||||
// FIX: hard coded prach samples length
|
// FIX: hard coded prach samples length
|
||||||
|
|||||||
@@ -1125,7 +1125,7 @@ void rx_prach(PHY_VARS_eNB *eNB,
|
|||||||
int fft_size,log2_ifft_size;
|
int fft_size,log2_ifft_size;
|
||||||
uint8_t nb_ant_rx = 1; //eNB->frame_parms.nb_antennas_rx;
|
uint8_t nb_ant_rx = 1; //eNB->frame_parms.nb_antennas_rx;
|
||||||
|
|
||||||
// int en;
|
int en;
|
||||||
|
|
||||||
for (aa=0; aa<nb_ant_rx; aa++) {
|
for (aa=0; aa<nb_ant_rx; aa++) {
|
||||||
prach[aa] = (int16_t*)&eNB->common_vars.rxdata[0][aa][subframe*eNB->frame_parms.samples_per_tti-eNB->N_TA_offset];
|
prach[aa] = (int16_t*)&eNB->common_vars.rxdata[0][aa][subframe*eNB->frame_parms.samples_per_tti-eNB->N_TA_offset];
|
||||||
@@ -1327,9 +1327,9 @@ void rx_prach(PHY_VARS_eNB *eNB,
|
|||||||
/// **** send_IF4 of rxsigF to RCC **** ///
|
/// **** send_IF4 of rxsigF to RCC **** ///
|
||||||
send_IF4p5(eNB, eNB->proc.frame_prach, eNB->proc.subframe_prach, IF4p5_PRACH, k);
|
send_IF4p5(eNB, eNB->proc.frame_prach, eNB->proc.subframe_prach, IF4p5_PRACH, k);
|
||||||
|
|
||||||
// en = dB_fixed(signal_energy(&rxsigF[0][k],840));
|
en = dB_fixed(signal_energy(&rxsigF[0][k],840));
|
||||||
// if (en>60)
|
if (en>60)
|
||||||
// printf("PRACH: Frame %d, Subframe %d => %d dB\n",eNB->proc.frame_rx,eNB->proc.subframe_rx,en);
|
printf("PRACH: Frame %d, Subframe %d => %d dB\n",eNB->proc.frame_rx,eNB->proc.subframe_rx,en);
|
||||||
return;
|
return;
|
||||||
} else if (eNB->node_function == NGFI_RCC_IF4p5) {
|
} else if (eNB->node_function == NGFI_RCC_IF4p5) {
|
||||||
k = (12*n_ra_prb) - 6*eNB->frame_parms.N_RB_UL;
|
k = (12*n_ra_prb) - 6*eNB->frame_parms.N_RB_UL;
|
||||||
@@ -1347,9 +1347,9 @@ void rx_prach(PHY_VARS_eNB *eNB,
|
|||||||
(&rxsigF[0][0]),
|
(&rxsigF[0][0]),
|
||||||
839*2*sizeof(int16_t));
|
839*2*sizeof(int16_t));
|
||||||
|
|
||||||
//en = dB_fixed(signal_energy(&rxsigF[0][k],840));
|
en = dB_fixed(signal_energy(&rxsigF[0][k],840));
|
||||||
// if (en>60)
|
/*if (en>60)
|
||||||
//printf("PRACH: Frame %d, Subframe %d => %d dB\n",eNB->proc.frame_rx,eNB->proc.subframe_rx,en);
|
printf("PRACH: Frame %d, Subframe %d => %d dB\n",eNB->proc.frame_rx,eNB->proc.subframe_rx,en);*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3158,6 +3158,10 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
|
|||||||
eNB->UE_stats[i].ulsch_errors[harq_pid]++;
|
eNB->UE_stats[i].ulsch_errors[harq_pid]++;
|
||||||
eNB->UE_stats[i].ulsch_consecutive_errors++;
|
eNB->UE_stats[i].ulsch_consecutive_errors++;
|
||||||
|
|
||||||
|
/*if (eNB->ulsch[i]->harq_processes[harq_pid]->nb_rb > 20) {
|
||||||
|
dump_ulsch(eNB,proc,i);
|
||||||
|
exit(-1);
|
||||||
|
}*/
|
||||||
// indicate error to MAC
|
// indicate error to MAC
|
||||||
if (eNB->mac_enabled == 1)
|
if (eNB->mac_enabled == 1)
|
||||||
mac_xface->rx_sdu(eNB->Mod_id,
|
mac_xface->rx_sdu(eNB->Mod_id,
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ int trx_eth_write_udp_IF4p5(openair0_device *device, openair0_timestamp timestam
|
|||||||
|
|
||||||
int nblocks = nsamps;
|
int nblocks = nsamps;
|
||||||
int bytes_sent = 0;
|
int bytes_sent = 0;
|
||||||
|
|
||||||
|
|
||||||
eth_state_t *eth = (eth_state_t*)device->priv;
|
eth_state_t *eth = (eth_state_t*)device->priv;
|
||||||
|
|
||||||
@@ -216,7 +217,6 @@ int trx_eth_write_udp_IF4p5(openair0_device *device, openair0_timestamp timestam
|
|||||||
}
|
}
|
||||||
|
|
||||||
eth->tx_nsamps = nblocks;
|
eth->tx_nsamps = nblocks;
|
||||||
|
|
||||||
bytes_sent = sendto(eth->sockfd,
|
bytes_sent = sendto(eth->sockfd,
|
||||||
buff[0],
|
buff[0],
|
||||||
packet_size,
|
packet_size,
|
||||||
@@ -245,6 +245,8 @@ int trx_eth_write_udp(openair0_device *device, openair0_timestamp timestamp, voi
|
|||||||
//sendto_flag|=flags;
|
//sendto_flag|=flags;
|
||||||
eth->tx_nsamps=nsamps;
|
eth->tx_nsamps=nsamps;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (i=0;i<cc;i++) {
|
for (i=0;i<cc;i++) {
|
||||||
/* buff[i] points to the position in tx buffer where the payload to be sent is
|
/* buff[i] points to the position in tx buffer where the payload to be sent is
|
||||||
buff2 points to the position in tx buffer where the packet header will be placed */
|
buff2 points to the position in tx buffer where the packet header will be placed */
|
||||||
@@ -264,7 +266,8 @@ int trx_eth_write_udp(openair0_device *device, openair0_timestamp timestamp, voi
|
|||||||
*(uint16_t *)(buff2 + sizeof(uint16_t)) = 1+(i<<1);
|
*(uint16_t *)(buff2 + sizeof(uint16_t)) = 1+(i<<1);
|
||||||
*(openair0_timestamp *)(buff2 + sizeof(int32_t)) = timestamp;
|
*(openair0_timestamp *)(buff2 + sizeof(int32_t)) = timestamp;
|
||||||
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TX_SEQ_NUM, pck_seq_num);
|
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TX_SEQ_NUM, pck_seq_num);
|
||||||
|
|
||||||
|
|
||||||
while(bytes_sent < UDP_PACKET_SIZE_BYTES(nsamps)) {
|
while(bytes_sent < UDP_PACKET_SIZE_BYTES(nsamps)) {
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
printf("------- TX ------: buff2 current position=%d remaining_bytes=%d bytes_sent=%d \n",
|
printf("------- TX ------: buff2 current position=%d remaining_bytes=%d bytes_sent=%d \n",
|
||||||
|
|||||||
@@ -84,6 +84,12 @@ int trx_eth_start(openair0_device *device) {
|
|||||||
} else {
|
} else {
|
||||||
if(eth_get_dev_conf_udp(device)!=0) return -1;
|
if(eth_get_dev_conf_udp(device)!=0) return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* adjust MTU wrt number of samples per packet */
|
||||||
|
/*if(ethernet_tune (device,MTU_SIZE,UDP_IF4p5_PRACH_SIZE_BYTES)!=0) return -1;
|
||||||
|
|
||||||
|
if(ethernet_tune (device,RCV_TIMEOUT,999999)!=0) return -1;*/
|
||||||
|
|
||||||
} else if (eth->flags == ETH_RAW_IF5_MOBIPASS) {
|
} else if (eth->flags == ETH_RAW_IF5_MOBIPASS) {
|
||||||
printf("Setting ETHERNET to RAW_IF5_MODE\n");
|
printf("Setting ETHERNET to RAW_IF5_MODE\n");
|
||||||
if (eth_socket_init_raw(device)!=0) return -1;
|
if (eth_socket_init_raw(device)!=0) return -1;
|
||||||
@@ -98,6 +104,11 @@ int trx_eth_start(openair0_device *device) {
|
|||||||
} else {
|
} else {
|
||||||
if(eth_get_dev_conf_udp(device)!=0) return -1;
|
if(eth_get_dev_conf_udp(device)!=0) return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* adjust MTU wrt number of samples per packet */
|
||||||
|
if(ethernet_tune (device,MTU_SIZE,UDP_IF4p5_PRACH_SIZE_BYTES)!=0) return -1;
|
||||||
|
|
||||||
|
if(ethernet_tune (device,RCV_TIMEOUT,999999)!=0) return -1;
|
||||||
}
|
}
|
||||||
/* apply additional configuration */
|
/* apply additional configuration */
|
||||||
if(ethernet_tune (device, SND_BUF_SIZE,2000000000)!=0) return -1;
|
if(ethernet_tune (device, SND_BUF_SIZE,2000000000)!=0) return -1;
|
||||||
|
|||||||
@@ -47,6 +47,11 @@
|
|||||||
#define ETH_RAW_IF5_MOBIPASS 4
|
#define ETH_RAW_IF5_MOBIPASS 4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// COMMOM HEADER LENGTHS
|
||||||
|
|
||||||
|
#define UDP_HEADER_SIZE_BYTES 8
|
||||||
|
#define IPV4_HEADER_SIZE_BYTES 60 // This is the maximum IPv4 header length
|
||||||
|
|
||||||
// Time domain RRH packet sizes
|
// Time domain RRH packet sizes
|
||||||
#define MAC_HEADER_SIZE_BYTES (sizeof(struct ether_header))
|
#define MAC_HEADER_SIZE_BYTES (sizeof(struct ether_header))
|
||||||
#define MAX_PACKET_SEQ_NUM(spp,spf) (spf/spp)
|
#define MAX_PACKET_SEQ_NUM(spp,spf) (spf/spp)
|
||||||
@@ -56,17 +61,17 @@
|
|||||||
|
|
||||||
// Packet sizes for IF4p5 interface format
|
// Packet sizes for IF4p5 interface format
|
||||||
#define DATA_BLOCK_SIZE_BYTES(scaled_nblocks) (sizeof(uint16_t)*scaled_nblocks)
|
#define DATA_BLOCK_SIZE_BYTES(scaled_nblocks) (sizeof(uint16_t)*scaled_nblocks)
|
||||||
#define PRACH_HARD_CODED_NUM_SAMPLES (839*2)
|
#define PRACH_HARD_CODED_NUM_SAMPLES (839*4)
|
||||||
#define PRACH_BLOCK_SIZE_BYTES (sizeof(int16_t)*PRACH_HARD_CODED_NUM_SAMPLES) // FIX hard coded prach size
|
#define PRACH_BLOCK_SIZE_BYTES (sizeof(int16_t)*PRACH_HARD_CODED_NUM_SAMPLES) // FIX hard coded prach size
|
||||||
|
|
||||||
#define RAW_IF4p5_PDLFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
#define RAW_IF4p5_PDLFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
||||||
#define RAW_IF4p5_PULFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
#define RAW_IF4p5_PULFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
||||||
#define RAW_IF4p5_PULTICK_SIZE_BYTES (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t)
|
#define RAW_IF4p5_PULTICK_SIZE_BYTES (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t)
|
||||||
#define RAW_IF4p5_PRACH_SIZE_BYTES (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + PRACH_BLOCK_SIZE_BYTES)
|
#define RAW_IF4p5_PRACH_SIZE_BYTES (MAC_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + PRACH_BLOCK_SIZE_BYTES)
|
||||||
#define UDP_IF4p5_PDLFFT_SIZE_BYTES(nblocks) (sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
#define UDP_IF4p5_PDLFFT_SIZE_BYTES(nblocks) (UDP_HEADER_SIZE_BYTES + IPV4_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
||||||
#define UDP_IF4p5_PULFFT_SIZE_BYTES(nblocks) (sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
#define UDP_IF4p5_PULFFT_SIZE_BYTES(nblocks) (UDP_HEADER_SIZE_BYTES + IPV4_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
|
||||||
#define UDP_IF4p5_PULTICK_SIZE_BYTES (sizeof_IF4p5_header_t)
|
#define UDP_IF4p5_PULTICK_SIZE_BYTES (UDP_HEADER_SIZE_BYTES + IPV4_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t)
|
||||||
#define UDP_IF4p5_PRACH_SIZE_BYTES (sizeof_IF4p5_header_t + PRACH_BLOCK_SIZE_BYTES)
|
#define UDP_IF4p5_PRACH_SIZE_BYTES (UDP_HEADER_SIZE_BYTES + IPV4_HEADER_SIZE_BYTES + sizeof_IF4p5_header_t + PRACH_BLOCK_SIZE_BYTES)
|
||||||
|
|
||||||
// Mobipass packet sizes
|
// Mobipass packet sizes
|
||||||
#define RAW_IF5_MOBIPASS_BLOCK_SIZE_BYTES 1280
|
#define RAW_IF5_MOBIPASS_BLOCK_SIZE_BYTES 1280
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ eNBs =
|
|||||||
|
|
||||||
mobile_country_code = "208";
|
mobile_country_code = "208";
|
||||||
|
|
||||||
mobile_network_code = "93";
|
mobile_network_code = "92";
|
||||||
|
|
||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ eNBs =
|
|||||||
tdd_config_s = 0;
|
tdd_config_s = 0;
|
||||||
prefix_type = "NORMAL";
|
prefix_type = "NORMAL";
|
||||||
eutra_band = 7;
|
eutra_band = 7;
|
||||||
downlink_frequency = 2685000000L;
|
downlink_frequency = 2660000000L;
|
||||||
uplink_frequency_offset = -120000000;
|
uplink_frequency_offset = -120000000;
|
||||||
Nid_cell = 0;
|
Nid_cell = 0;
|
||||||
N_RB_DL = 25;
|
N_RB_DL = 25;
|
||||||
@@ -50,7 +50,7 @@ eNBs =
|
|||||||
pucch_nRB_CQI = 1;
|
pucch_nRB_CQI = 1;
|
||||||
pucch_nCS_AN = 0;
|
pucch_nCS_AN = 0;
|
||||||
pucch_n1_AN = 32;
|
pucch_n1_AN = 32;
|
||||||
pdsch_referenceSignalPower = -29;
|
pdsch_referenceSignalPower = -24;
|
||||||
pdsch_p_b = 0;
|
pdsch_p_b = 0;
|
||||||
pusch_n_SB = 1;
|
pusch_n_SB = 1;
|
||||||
pusch_enable64QAM = "DISABLE";
|
pusch_enable64QAM = "DISABLE";
|
||||||
@@ -86,7 +86,7 @@ eNBs =
|
|||||||
rach_messagePowerOffsetGroupB = ;
|
rach_messagePowerOffsetGroupB = ;
|
||||||
*/
|
*/
|
||||||
rach_powerRampingStep = 4;
|
rach_powerRampingStep = 4;
|
||||||
rach_preambleInitialReceivedTargetPower = -108;
|
rach_preambleInitialReceivedTargetPower = -104;
|
||||||
rach_preambleTransMax = 10;
|
rach_preambleTransMax = 10;
|
||||||
rach_raResponseWindowSize = 10;
|
rach_raResponseWindowSize = 10;
|
||||||
rach_macContentionResolutionTimer = 48;
|
rach_macContentionResolutionTimer = 48;
|
||||||
@@ -137,7 +137,7 @@ eNBs =
|
|||||||
|
|
||||||
|
|
||||||
////////// MME parameters:
|
////////// MME parameters:
|
||||||
mme_ip_address = ( { ipv4 = "127.0.0.3";
|
mme_ip_address = ( { ipv4 = "192.168.12.26";
|
||||||
ipv6 = "192:168:30::17";
|
ipv6 = "192:168:30::17";
|
||||||
active = "yes";
|
active = "yes";
|
||||||
preference = "ipv4";
|
preference = "ipv4";
|
||||||
@@ -147,18 +147,18 @@ eNBs =
|
|||||||
NETWORK_INTERFACES :
|
NETWORK_INTERFACES :
|
||||||
{
|
{
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
|
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24";
|
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.19/24";
|
||||||
ENB_INTERFACE_NAME_FOR_S1U = "lo";
|
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.5/24";
|
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.19/24";
|
||||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
};
|
};
|
||||||
|
|
||||||
rrh_gw_config = (
|
rrh_gw_config = (
|
||||||
{
|
{
|
||||||
local_if_name = "eth0";
|
local_if_name = "em2";
|
||||||
remote_address = "10.10.10.60";
|
remote_address = "10.10.10.157";
|
||||||
local_address = "10.10.10.215";
|
local_address = "10.10.10.19";
|
||||||
local_port = 50000; #for raw option local port must be the same to remote
|
local_port = 50000; #for raw option local port must be the same to remote
|
||||||
remote_port = 50000;
|
remote_port = 50000;
|
||||||
rrh_gw_active = "yes";
|
rrh_gw_active = "yes";
|
||||||
@@ -177,7 +177,7 @@ eNBs =
|
|||||||
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 ="info";
|
||||||
mac_log_level ="info";
|
mac_log_level ="info";
|
||||||
mac_log_verbosity ="high";
|
mac_log_verbosity ="high";
|
||||||
rlc_log_level ="info";
|
rlc_log_level ="info";
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ eNBs =
|
|||||||
|
|
||||||
mobile_country_code = "208";
|
mobile_country_code = "208";
|
||||||
|
|
||||||
mobile_network_code = "93";
|
mobile_network_code = "92";
|
||||||
|
|
||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ eNBs =
|
|||||||
tdd_config_s = 0;
|
tdd_config_s = 0;
|
||||||
prefix_type = "NORMAL";
|
prefix_type = "NORMAL";
|
||||||
eutra_band = 7;
|
eutra_band = 7;
|
||||||
downlink_frequency = 2685000000L;
|
downlink_frequency = 2660000000L;
|
||||||
uplink_frequency_offset = -120000000;
|
uplink_frequency_offset = -120000000;
|
||||||
Nid_cell = 0;
|
Nid_cell = 0;
|
||||||
N_RB_DL = 50;
|
N_RB_DL = 50;
|
||||||
@@ -50,7 +50,7 @@ eNBs =
|
|||||||
pucch_nRB_CQI = 1;
|
pucch_nRB_CQI = 1;
|
||||||
pucch_nCS_AN = 0;
|
pucch_nCS_AN = 0;
|
||||||
pucch_n1_AN = 32;
|
pucch_n1_AN = 32;
|
||||||
pdsch_referenceSignalPower = -27;
|
pdsch_referenceSignalPower = -24;
|
||||||
pdsch_p_b = 0;
|
pdsch_p_b = 0;
|
||||||
pusch_n_SB = 1;
|
pusch_n_SB = 1;
|
||||||
pusch_enable64QAM = "DISABLE";
|
pusch_enable64QAM = "DISABLE";
|
||||||
@@ -86,7 +86,7 @@ eNBs =
|
|||||||
rach_messagePowerOffsetGroupB = ;
|
rach_messagePowerOffsetGroupB = ;
|
||||||
*/
|
*/
|
||||||
rach_powerRampingStep = 4;
|
rach_powerRampingStep = 4;
|
||||||
rach_preambleInitialReceivedTargetPower = -108;
|
rach_preambleInitialReceivedTargetPower = -104;
|
||||||
rach_preambleTransMax = 10;
|
rach_preambleTransMax = 10;
|
||||||
rach_raResponseWindowSize = 10;
|
rach_raResponseWindowSize = 10;
|
||||||
rach_macContentionResolutionTimer = 48;
|
rach_macContentionResolutionTimer = 48;
|
||||||
@@ -138,7 +138,7 @@ eNBs =
|
|||||||
|
|
||||||
|
|
||||||
////////// MME parameters:
|
////////// MME parameters:
|
||||||
mme_ip_address = ( { ipv4 = "127.0.0.3";
|
mme_ip_address = ( { ipv4 = "192.168.12.26";
|
||||||
ipv6 = "192:168:30::17";
|
ipv6 = "192:168:30::17";
|
||||||
active = "yes";
|
active = "yes";
|
||||||
preference = "ipv4";
|
preference = "ipv4";
|
||||||
@@ -148,18 +148,18 @@ eNBs =
|
|||||||
NETWORK_INTERFACES :
|
NETWORK_INTERFACES :
|
||||||
{
|
{
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
|
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2/24";
|
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.19/24";
|
||||||
ENB_INTERFACE_NAME_FOR_S1U = "lo";
|
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.5/24";
|
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.19/24";
|
||||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
};
|
};
|
||||||
|
|
||||||
rrh_gw_config = (
|
rrh_gw_config = (
|
||||||
{
|
{
|
||||||
local_if_name = "eth0";
|
local_if_name = "em2";
|
||||||
remote_address = "10.10.10.60";
|
remote_address = "10.10.10.157";
|
||||||
local_address = "10.10.10.215";
|
local_address = "10.10.10.19";
|
||||||
local_port = 50000; #for raw option local port must be the same to remote
|
local_port = 50000; #for raw option local port must be the same to remote
|
||||||
remote_port = 50000;
|
remote_port = 50000;
|
||||||
rrh_gw_active = "yes";
|
rrh_gw_active = "yes";
|
||||||
@@ -167,7 +167,7 @@ eNBs =
|
|||||||
rf_preference = "usrp_b200";
|
rf_preference = "usrp_b200";
|
||||||
iq_txshift = 4;
|
iq_txshift = 4;
|
||||||
tx_sample_advance = 80;
|
tx_sample_advance = 80;
|
||||||
tx_scheduling_advance = 9;
|
tx_scheduling_advance = 9;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user