Merge remote-tracking branch 'origin/develop-uedirectorysplit' into develop_integration_2018_w19

Status so far:
- monolithic eNB compiles and is functional with 1 UE in FDD, 5/10/20MHz.
  For 20MHz we don't have a nice TCP downlink (on haswell).
- oaisim does not compile
- UE does not compile
- phy simulators don't compile
- many new warnings

Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/SCHED/pusch_pc.c
	openair1/SCHED/sched_common.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_mch.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/MAC/ra_procedures.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_defs.h
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-ue.c
This commit is contained in:
Cedric Roux
2018-05-14 16:28:04 +02:00
355 changed files with 25839 additions and 25937 deletions
+23 -22
View File
@@ -36,14 +36,15 @@
#include <execinfo.h>
#include <signal.h>
#include "SIMULATION/TOOLS/defs.h"
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/types.h"
#include "PHY/defs.h"
#include "PHY/vars.h"
#include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
#include "PHY/phy_vars.h"
#include "SCHED/defs.h"
#include "SCHED/vars.h"
#include "LAYER2/MAC/vars.h"
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_common_vars.h"
#include "LAYER2/MAC/mac_vars.h"
#include "OCG_vars.h"
#include "UTIL/LOG/log.h"
@@ -56,7 +57,18 @@
#include "dummy_functions.c"
#include "PHY/MODULATION/modulation_common.h"
#include "PHY/MODULATION/modulation_eNB.h"
#include "PHY/MODULATION/modulation_UE.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "SCHED/sched_eNB.h"
#include "SCHED_UE/sched_UE.h"
#include "common/config/config_load_configmodule.h"
#include "PHY/INIT/phy_init.h"
void feptx_ofdm(RU_t *ru);
void feptx_prec(RU_t *ru);
double cpuf;
@@ -540,7 +552,6 @@ int main(int argc, char **argv)
DCI_ALLOC_t da;
DCI_ALLOC_t *dci_alloc = &da;
unsigned int ret;
unsigned int coded_bits_per_codeword=0,nsymb; //,tbs=0;
unsigned int tx_lev=0,tx_lev_dB=0,trials;
@@ -563,16 +574,6 @@ int main(int argc, char **argv)
unsigned char input_trch_file=0;
FILE *input_fd=NULL;
unsigned char input_file=0;
// char input_val_str[50],input_val_str2[50];
char input_trch_val[16];
// unsigned char pbch_pdu[6];
// FILE *rx_frame_file;
int n_frames;
int n_ch_rlz = 1;
@@ -595,7 +596,7 @@ int main(int argc, char **argv)
// void *data;
// int ii;
// int bler;
double blerr[4],uncoded_ber=0; //,avg_ber;
double blerr[4];
short *uncoded_ber_bit=NULL;
uint8_t N_RB_DL=25,osf=1;
frame_t frame_type = FDD;
@@ -1594,13 +1595,13 @@ int main(int argc, char **argv)
eNB->abstraction_flag=0;
schedule_response(&sched_resp);
phy_procedures_eNB_TX(eNB,proc_eNB,no_relay,NULL,1);
phy_procedures_eNB_TX(eNB,proc_eNB,1);
if (uncoded_ber_bit == NULL) {
// this is for user 0 only
printf("nb_rb %d, rb_alloc %x, mcs %d\n",
eNB->dlsch[0][0]->harq_processes[0]->nb_rb,
eNB->dlsch[0][0]->harq_processes[0]->rb_alloc,
eNB->dlsch[0][0]->harq_processes[0]->rb_alloc[0],
eNB->dlsch[0][0]->harq_processes[0]->mcs);
coded_bits_per_codeword = get_G(&eNB->frame_parms,
@@ -1636,7 +1637,7 @@ int main(int argc, char **argv)
proc_eNB->subframe_tx = subframe+1;
sched_resp.subframe=subframe+1;
schedule_response(&sched_resp);
phy_procedures_eNB_TX(eNB,proc_eNB,no_relay,NULL,0);
phy_procedures_eNB_TX(eNB,proc_eNB,0);
ru->proc.subframe_tx=(subframe+1)%10;
@@ -1725,7 +1726,7 @@ int main(int argc, char **argv)
dci_received = UE->pdcch_vars[UE->current_thread_id[proc->subframe_rx]][eNB_id]->dci_received;
phy_procedures_UE_RX(UE,proc,0,0,dci_flag,normal_txrx,no_relay,NULL);
phy_procedures_UE_RX(UE,proc,0,0,dci_flag,normal_txrx);
dci_received = dci_received - UE->pdcch_vars[UE->current_thread_id[proc->subframe_rx]][eNB_id]->dci_received;
+18 -37
View File
@@ -33,22 +33,30 @@
#include <string.h>
#include <math.h>
#include <unistd.h>
#include "SIMULATION/TOOLS/defs.h"
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/types.h"
#include "PHY/defs.h"
#include "PHY/vars.h"
#include "PHY/defs_common.h"
#include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
#include "PHY/phy_vars.h"
#include "SCHED/defs.h"
#include "SCHED/vars.h"
#include "LAYER2/MAC/vars.h"
#include "SCHED/sched_common_vars.h"
#include "SCHED/sched_eNB.h"
#include "SCHED_UE/sched_UE.h"
#include "LAYER2/MAC/mac_vars.h"
#include "OCG_vars.h"
#include "intertask_interface_init.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/INIT/phy_init.h"
#include "unitary_defs.h"
#include "PHY/TOOLS/lte_phy_scope.h"
#include "dummy_functions.c"
#include "common/config/config_load_configmodule.h"
double cpuf;
@@ -875,6 +883,7 @@ int main(int argc, char **argv)
// NN: N_RB_UL has to be defined in ulsim
for (int k=0;k<NUMBER_OF_UE_MAX;k++) eNB->ulsch[k] = new_eNB_ulsch(max_turbo_iterations,N_RB_DL,0);
UE->ulsch[0] = new_ue_ulsch(N_RB_DL,0);
printf("ULSCH %p\n",UE->ulsch[0]);
if (parallel_flag == 1) {
extern void init_fep_thread(PHY_VARS_eNB *, pthread_attr_t *);
@@ -948,34 +957,6 @@ int main(int argc, char **argv)
UE->ulsch_Msg3_active[eNB_id] = 0;
UE->ul_power_control_dedicated[eNB_id].accumulationEnabled=1;
/*
generate_ue_ulsch_params_from_dci((void *)&UL_alloc_pdu,
14,
proc_rxtx->subframe_tx,
format0,
UE,
proc_rxtx_ue,
SI_RNTI,
0,
P_RNTI,
CBA_RNTI,
0,
srs_flag);
// printf("RIV %d\n",UL_alloc_pdu.rballoc);
generate_eNB_ulsch_params_from_dci(eNB,proc_rxtx,
(void *)&UL_alloc_pdu,
14,
format0,
0,
SI_RNTI,
0,
P_RNTI,
CBA_RNTI,
srs_flag);
*/
coded_bits_per_codeword = nb_rb * (12 * get_Qm_ul(mcs)) * nsymb;
if (cqi_flag == 1) coded_bits_per_codeword-=UE->ulsch[0]->O;
@@ -1213,7 +1194,7 @@ int main(int argc, char **argv)
proc_rxtx_ue->subframe_tx = proc_rxtx->subframe_rx;
proc_rxtx_ue->subframe_rx = proc_rxtx->subframe_tx;
phy_procedures_UE_TX(UE,proc_rxtx_ue,0,0,normal_txrx,no_relay);
phy_procedures_UE_TX(UE,proc_rxtx_ue,0,0,normal_txrx);
tx_lev = signal_energy(&UE->common_vars.txdata[0][eNB->frame_parms.samples_per_tti*subframe],
@@ -1341,7 +1322,7 @@ int main(int argc, char **argv)
ru->feprx(ru);
phy_procedures_eNB_uespec_RX(eNB,proc_rxtx,no_relay);
phy_procedures_eNB_uespec_RX(eNB,proc_rxtx);
if (cqi_flag > 0) {
+2 -2
View File
@@ -22,8 +22,8 @@
//#define DEBUG_DAC 1
#include <math.h>
#include <stdio.h>
#include "PHY/TOOLS/defs.h"
#include "PHY/TOOLS/tools_defs.h"
#include "rf.h"
void dac(double *s_re[2],
double *s_im[2],
uint32_t **input,
+2 -3
View File
@@ -19,14 +19,13 @@
* contact@openairinterface.org
*/
//#include "defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//#include "PHY/defs.h"
#include "SIMULATION/TOOLS/defs.h"
#include "SIMULATION/TOOLS/sim.h"
#include "rf.h"
/*
extern void randominit(void);
extern double gaussdouble(double,double);
@@ -76,7 +76,7 @@ void adc(double *r_re[2],
void dac(double *s_re[2],
double *s_im[2],
int **input,
unsigned int **input,
unsigned int input_offset,
unsigned int nb_tx_antennas,
unsigned int length,
@@ -87,7 +87,7 @@ void dac(double *s_re[2],
double dac_fixed_gain(double *s_re[2],
double *s_im[2],
int **input,
unsigned int **input,
unsigned int input_offset,
unsigned int nb_tx_antennas,
unsigned int length,
+3 -2
View File
@@ -26,8 +26,9 @@
#include <string.h>
#include <errno.h>
#include "PHY/TOOLS/defs.h"
#include "defs.h"
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/TOOLS/tools_defs.h"
#include "assertions.h"
// NEW code with lookup table for sin/cos based on delay profile (TO BE TESTED)
@@ -23,8 +23,9 @@
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "defs.h"
#include "SIMULATION/RF/defs.h"
#include "PHY/TOOLS/tools_defs.h"
#include "SIMULATION/RF/rf.h"
#include "sim.h"
//#define DEBUG_CH
uint8_t multipath_channel_nosigconv(channel_desc_t *desc)
@@ -23,8 +23,8 @@
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "defs.h"
#include "SIMULATION/RF/defs.h"
#include "sim.h"
#include "SIMULATION/RF/rf.h"
#include <complex.h>
void tv_channel(channel_desc_t *desc,double complex ***H,uint16_t length);
+7 -8
View File
@@ -26,12 +26,14 @@
#include <string.h>
#include "PHY/TOOLS/defs.h"
#include "defs.h"
#include "PHY/TOOLS/tools_defs.h"
#include "sim.h"
#include "scm_corrmat.h"
#include "UTIL/LOG/log.h"
//#define DEBUG_CH
#include "assertions.h"
extern void print_shorts(char *s,__m128i *x);
void fill_channel_desc(channel_desc_t *chan_desc,
@@ -1210,10 +1212,8 @@ int random_channel(channel_desc_t *desc, uint8_t abstraction_flag) {
struct complex anew[NB_ANTENNAS_TX*NB_ANTENNAS_RX],acorr[NB_ANTENNAS_TX*NB_ANTENNAS_RX];
struct complex phase, alpha, beta;
if ((desc->nb_tx>NB_ANTENNAS_TX) || (desc->nb_rx > NB_ANTENNAS_RX)) {
LOG_E(PHY,"random_channel.c: Error: temporary buffer for channel not big enough (%d,%d)\n",desc->nb_tx,desc->nb_rx);
return(-1);
}
AssertFatal(desc->nb_tx<=NB_ANTENNAS_TX && desc->nb_rx <= NB_ANTENNAS_RX,
"random_channel.c: Error: temporary buffer for channel not big enough (%d,%d)\n",desc->nb_tx,desc->nb_rx);
start_meas(&desc->random_channel);
for (i=0;i<(int)desc->nb_taps;i++) {
@@ -1372,8 +1372,7 @@ double N_RB2sampling_rate(uint16_t N_RB)
break;
default:
LOG_E(PHY,"Unknown N_PRB\n");
return(-1);
AssertFatal(1==0,"Unknown N_PRB %d",N_RB);
}
return(sampling_rate);
+1 -1
View File
@@ -24,7 +24,7 @@
#include <math.h>
#include <time.h>
#include "defs.h"
#include "sim.h"
static unsigned int seed, iy, ir[98];
/*
@@ -21,7 +21,7 @@
#ifndef __SIMULATION_TOOLS_DEFS_H__
#define __SIMULATION_TOOLS_DEFS_H__
#include "PHY/defs.h"
#include "PHY/defs_common.h"
/** @defgroup _numerical_ Useful Numerical Functions
*@{