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:
@@ -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;
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
*@{
|
||||
Reference in New Issue
Block a user