Changed uX, uX_t sX, sX_t to uinX_t
Cleaned some PDCP/driver code types parameters and vars Please see openair2/COMMON/platform_types.h for simple coding rules. please declare prototypes of functions in .h and include .h files in where the function is used and where it is implemented. git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5096 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -3,33 +3,33 @@
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
s32 **tx[MAX_eNB+MAX_UE][3],**rx[MAX_eNB+MAX_UE][3];
|
||||
int32_t **tx[MAX_eNB+MAX_UE][3],**rx[MAX_eNB+MAX_UE][3];
|
||||
int nslot;
|
||||
|
||||
void Process_Func(int node_id,int port,double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,
|
||||
node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
|
||||
void UE_Inst(int node_id,int port,double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,
|
||||
node_desc_t *ue_data[NUMBER_OF_UE_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
|
||||
void eNB_Inst(int node_id,int port,double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,
|
||||
node_desc_t *enb_data[NUMBER_OF_eNB_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
node_desc_t *enb_data[NUMBER_OF_eNB_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
|
||||
void Channel_Inst(int node_id,int port,double **s_re[MAX_eNB+MAX_UE],double **s_im[MAX_eNB+MAX_UE],double **r_re[MAX_eNB+MAX_UE],double **r_im[MAX_eNB+MAX_UE],double **r_re0,double **r_im0,
|
||||
double **r_re0_d[MAX_UE][MAX_eNB],double **r_im0_d[MAX_UE][MAX_eNB],double **r_re0_u[MAX_eNB][MAX_UE],double **r_im0_u[MAX_eNB][MAX_UE],channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms);
|
||||
|
||||
void Channel_DL(double **s_re[MAX_eNB+MAX_UE],double **s_im[MAX_eNB+MAX_UE],double **r_re[MAX_eNB+MAX_UE],double **r_im[MAX_eNB+MAX_UE],double **r_re0,double **r_im0,
|
||||
double **r_re0_d[MAX_UE][MAX_eNB],double **r_im0_d[MAX_UE][MAX_eNB],double **r_re0_u[MAX_eNB][MAX_UE],double **r_im0_u[MAX_eNB][MAX_UE],channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,int slot);
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,int slot);
|
||||
|
||||
void Channel_UL(double **s_re[MAX_eNB+MAX_UE],double **s_im[MAX_eNB+MAX_UE],double **r_re[MAX_eNB+MAX_UE],double **r_im[MAX_eNB+MAX_UE],double **r_re0,double **r_im0,
|
||||
double **r_re0_d[MAX_UE][MAX_eNB],double **r_im0_d[MAX_UE][MAX_eNB],double **r_re0_u[MAX_eNB][MAX_UE],double **r_im0_u[MAX_eNB][MAX_UE],channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,int slot);
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,int slot);
|
||||
|
||||
void Channel_Func(double **s_re[MAX_eNB+MAX_UE],double **s_im[MAX_eNB+MAX_UE],double **r_re[MAX_eNB+MAX_UE],double **r_im[MAX_eNB+MAX_UE],double **r_re0,double **r_im0,
|
||||
double **r_re0_d[MAX_UE][MAX_eNB],double **r_im0_d[MAX_UE][MAX_eNB],double **r_re0_u[MAX_eNB][MAX_UE],double **r_im0_u[MAX_eNB][MAX_UE],channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,int slot);
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,int slot);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
int number_rb_ul;
|
||||
int first_rbUL ;
|
||||
|
||||
extern Signal_buffers *signal_buffers_g;
|
||||
extern Signal_buffers_t *signal_buffers_g;
|
||||
|
||||
void do_OFDM_mod(mod_sym_t **txdataF, s32 **txdata, uint32_t frame,u16 next_slot, LTE_DL_FRAME_PARMS *frame_parms) {
|
||||
void do_OFDM_mod(mod_sym_t **txdataF, int32_t **txdata, uint32_t frame,uint16_t next_slot, LTE_DL_FRAME_PARMS *frame_parms) {
|
||||
|
||||
int aa, slot_offset, slot_offset_F;
|
||||
|
||||
@@ -114,23 +114,23 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],
|
||||
node_desc_t *enb_data[NUMBER_OF_eNB_MAX],
|
||||
node_desc_t *ue_data[NUMBER_OF_UE_MAX],
|
||||
u16 next_slot,u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 UE_id) {
|
||||
uint16_t next_slot,uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,
|
||||
uint8_t UE_id) {
|
||||
|
||||
s32 att_eNB_id=-1;
|
||||
s32 **txdata,**rxdata;
|
||||
int32_t att_eNB_id=-1;
|
||||
int32_t **txdata,**rxdata;
|
||||
|
||||
u8 eNB_id=0;
|
||||
uint8_t eNB_id=0;
|
||||
double tx_pwr, rx_pwr;
|
||||
s32 rx_pwr2;
|
||||
u32 i,aa;
|
||||
u32 slot_offset,slot_offset_meas;
|
||||
int32_t rx_pwr2;
|
||||
uint32_t i,aa;
|
||||
uint32_t slot_offset,slot_offset_meas;
|
||||
|
||||
double min_path_loss=-200;
|
||||
u8 hold_channel=0;
|
||||
// u8 aatx,aarx;
|
||||
u8 nb_antennas_rx = eNB2UE[0][0]->nb_rx; // number of rx antennas at UE
|
||||
u8 nb_antennas_tx = eNB2UE[0][0]->nb_tx; // number of tx antennas at eNB
|
||||
uint8_t hold_channel=0;
|
||||
// uint8_t aatx,aarx;
|
||||
uint8_t nb_antennas_rx = eNB2UE[0][0]->nb_rx; // number of rx antennas at UE
|
||||
uint8_t nb_antennas_tx = eNB2UE[0][0]->nb_tx; // number of tx antennas at eNB
|
||||
|
||||
if (next_slot==0)
|
||||
hold_channel = 0;
|
||||
@@ -188,7 +188,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
//dlsch_abstraction(PHY_vars_UE_g[UE_id]->sinr_dB, rb_alloc, 8);
|
||||
// fill in perfect channel estimates
|
||||
channel_desc_t *desc1 = eNB2UE[att_eNB_id][UE_id];
|
||||
s32 **dl_channel_est = PHY_vars_UE_g[UE_id]->lte_ue_common_vars.dl_ch_estimates[0];
|
||||
int32_t **dl_channel_est = PHY_vars_UE_g[UE_id]->lte_ue_common_vars.dl_ch_estimates[0];
|
||||
// double scale = pow(10.0,(enb_data[att_eNB_id]->tx_power_dBm + eNB2UE[att_eNB_id][UE_id]->path_loss_dB + (double) PHY_vars_UE_g[UE_id]->rx_total_gain_dB)/20.0);
|
||||
double scale = pow(10.0,(PHY_vars_eNB_g[att_eNB_id]->lte_frame_parms.pdsch_config_common.referenceSignalPower+eNB2UE[att_eNB_id][UE_id]->path_loss_dB + (double) PHY_vars_UE_g[UE_id]->rx_total_gain_dB)/20.0);
|
||||
//this factor is not really needed (it was actually wrong in the non abstraction mode)
|
||||
@@ -207,8 +207,8 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
{
|
||||
for (count1=0;count1<frame_parms->N_RB_DL*12;count1++)
|
||||
{
|
||||
((s16 *) dl_channel_est[(a_tx<<1)+a_rx])[2*count1+(count*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(s16)(desc1->chF[a_rx+(a_tx*nb_antennas_rx)][count1].x*scale);
|
||||
((s16 *) dl_channel_est[(a_tx<<1)+a_rx])[2*count1+1+(count*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(s16)(desc1->chF[a_rx+(a_tx*nb_antennas_rx)][count1].y*scale) ;
|
||||
((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count1+(count*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(int16_t)(desc1->chF[a_rx+(a_tx*nb_antennas_rx)][count1].x*scale);
|
||||
((int16_t *) dl_channel_est[(a_tx<<1)+a_rx])[2*count1+1+(count*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(int16_t)(desc1->chF[a_rx+(a_tx*nb_antennas_rx)][count1].y*scale) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -406,31 +406,31 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
}
|
||||
|
||||
|
||||
void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u16 next_slot,u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms, u32 frame) {
|
||||
void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint16_t next_slot,uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms, uint32_t frame) {
|
||||
|
||||
s32 **txdata,**rxdata;
|
||||
int32_t **txdata,**rxdata;
|
||||
#ifdef PHY_ABSTRACTION_UL
|
||||
s32 att_eNB_id=-1;
|
||||
int32_t att_eNB_id=-1;
|
||||
#endif
|
||||
u8 eNB_id=0,UE_id=0;
|
||||
uint8_t eNB_id=0,UE_id=0;
|
||||
|
||||
u8 nb_antennas_rx = UE2eNB[0][0]->nb_rx; // number of rx antennas at eNB
|
||||
u8 nb_antennas_tx = UE2eNB[0][0]->nb_tx; // number of tx antennas at UE
|
||||
uint8_t nb_antennas_rx = UE2eNB[0][0]->nb_rx; // number of rx antennas at eNB
|
||||
uint8_t nb_antennas_tx = UE2eNB[0][0]->nb_tx; // number of tx antennas at UE
|
||||
|
||||
double tx_pwr, rx_pwr;
|
||||
s32 rx_pwr2;
|
||||
u32 i,aa;
|
||||
u32 slot_offset,slot_offset_meas;
|
||||
int32_t rx_pwr2;
|
||||
uint32_t i,aa;
|
||||
uint32_t slot_offset,slot_offset_meas;
|
||||
|
||||
u8 hold_channel=0;
|
||||
uint8_t hold_channel=0;
|
||||
|
||||
#ifdef PHY_ABSTRACTION_UL
|
||||
double min_path_loss=-200;
|
||||
u16 ul_nb_rb=0 ;
|
||||
u16 ul_fr_rb=0;
|
||||
uint16_t ul_nb_rb=0 ;
|
||||
uint16_t ul_fr_rb=0;
|
||||
int ulnbrb2 ;
|
||||
int ulfrrb2 ;
|
||||
u8 harq_pid;
|
||||
uint8_t harq_pid;
|
||||
int subframe = (next_slot>>1);
|
||||
#endif
|
||||
|
||||
@@ -460,8 +460,8 @@ void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double
|
||||
if(subframe>1 && subframe <5)
|
||||
{
|
||||
harq_pid = subframe2harq_pid(frame_parms,frame,subframe);
|
||||
ul_nb_rb = PHY_vars_eNB_g[att_eNB_id]->ulsch_eNB[(u8)UE_id]->harq_processes[harq_pid]->nb_rb;
|
||||
ul_fr_rb = PHY_vars_eNB_g[att_eNB_id]->ulsch_eNB[(u8)UE_id]->harq_processes[harq_pid]->first_rb;
|
||||
ul_nb_rb = PHY_vars_eNB_g[att_eNB_id]->ulsch_eNB[(uint8_t)UE_id]->harq_processes[harq_pid]->nb_rb;
|
||||
ul_fr_rb = PHY_vars_eNB_g[att_eNB_id]->ulsch_eNB[(uint8_t)UE_id]->harq_processes[harq_pid]->first_rb;
|
||||
}
|
||||
|
||||
if(ul_nb_rb>1 && (ul_fr_rb < 25 && ul_fr_rb > -1))
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
extern u32 frame;
|
||||
extern frame_t frame;
|
||||
End_Of_Sim_Event end_event; //Could later be a list of condition_events (if the end condition is more complicated)
|
||||
Event_List event_list;
|
||||
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
|
||||
PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 eNB_id,
|
||||
u8 Nid_cell,
|
||||
u8 cooperation_flag,
|
||||
u8 transmission_mode,
|
||||
u8 abstraction_flag) {
|
||||
uint8_t eNB_id,
|
||||
uint8_t Nid_cell,
|
||||
uint8_t cooperation_flag,
|
||||
uint8_t transmission_mode,
|
||||
uint8_t abstraction_flag) {
|
||||
|
||||
int i,j;
|
||||
PHY_VARS_eNB* PHY_vars_eNB = malloc(sizeof(PHY_VARS_eNB));
|
||||
@@ -99,9 +99,9 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
}
|
||||
|
||||
PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 UE_id,
|
||||
u8 abstraction_flag,
|
||||
u8 transmission_mode) {
|
||||
uint8_t UE_id,
|
||||
uint8_t abstraction_flag,
|
||||
uint8_t transmission_mode) {
|
||||
|
||||
int i,j;
|
||||
PHY_VARS_UE* PHY_vars_UE = malloc(sizeof(PHY_VARS_UE));
|
||||
@@ -140,8 +140,8 @@ PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
return (PHY_vars_UE);
|
||||
}
|
||||
PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 RN_id,
|
||||
u8 eMBMS_active_state) {
|
||||
uint8_t RN_id,
|
||||
uint8_t eMBMS_active_state) {
|
||||
|
||||
int i;
|
||||
PHY_VARS_RN* PHY_vars_RN = malloc(sizeof(PHY_VARS_RN));
|
||||
@@ -160,16 +160,16 @@ PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
return (PHY_vars_RN);
|
||||
}
|
||||
void init_lte_vars(LTE_DL_FRAME_PARMS **frame_parms,
|
||||
u8 frame_type,
|
||||
u8 tdd_config,
|
||||
u8 tdd_config_S,
|
||||
u8 extended_prefix_flag,
|
||||
u8 N_RB_DL,
|
||||
u16 Nid_cell,
|
||||
u8 cooperation_flag,u8 transmission_mode,u8 abstraction_flag,
|
||||
int nb_antennas_rx, u8 eMBMS_active_state) {
|
||||
uint8_t frame_type,
|
||||
uint8_t tdd_config,
|
||||
uint8_t tdd_config_S,
|
||||
uint8_t extended_prefix_flag,
|
||||
uint8_t N_RB_DL,
|
||||
uint16_t Nid_cell,
|
||||
uint8_t cooperation_flag,uint8_t transmission_mode,uint8_t abstraction_flag,
|
||||
int nb_antennas_rx, uint8_t eMBMS_active_state) {
|
||||
|
||||
u8 eNB_id,UE_id,RN_id;
|
||||
uint8_t eNB_id,UE_id,RN_id;
|
||||
|
||||
mac_xface = malloc(sizeof(MAC_xface));
|
||||
|
||||
|
||||
@@ -2,30 +2,30 @@
|
||||
#include "PHY/defs.h"
|
||||
|
||||
PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 eNB_id,
|
||||
u8 Nid_cell,
|
||||
u8 cooperation_flag,
|
||||
u8 transmission_mode,
|
||||
u8 abstraction_flag);
|
||||
uint8_t eNB_id,
|
||||
uint8_t Nid_cell,
|
||||
uint8_t cooperation_flag,
|
||||
uint8_t transmission_mode,
|
||||
uint8_t abstraction_flag);
|
||||
|
||||
PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 UE_id,
|
||||
u8 abstraction_flag,
|
||||
u8 transmission_mode);
|
||||
uint8_t UE_id,
|
||||
uint8_t abstraction_flag,
|
||||
uint8_t transmission_mode);
|
||||
|
||||
PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
u8 RN_id,
|
||||
u8 eMBMS_active_state);
|
||||
uint8_t RN_id,
|
||||
uint8_t eMBMS_active_state);
|
||||
|
||||
void init_lte_vars(LTE_DL_FRAME_PARMS **frame_parms,
|
||||
u8 frame_type,
|
||||
u8 tdd_config,
|
||||
u8 tdd_config_S,
|
||||
u8 extended_prefix_flag,
|
||||
u8 N_RB_DL,
|
||||
u16 Nid_cell,
|
||||
u8 cooperation_flag,
|
||||
u8 transmission_mode,
|
||||
u8 abstraction_flag,
|
||||
uint8_t frame_type,
|
||||
uint8_t tdd_config,
|
||||
uint8_t tdd_config_S,
|
||||
uint8_t extended_prefix_flag,
|
||||
uint8_t N_RB_DL,
|
||||
uint16_t Nid_cell,
|
||||
uint8_t cooperation_flag,
|
||||
uint8_t transmission_mode,
|
||||
uint8_t abstraction_flag,
|
||||
int nb_antennas_rx,
|
||||
u8 eMBMS_active_state);
|
||||
uint8_t eMBMS_active_state);
|
||||
|
||||
+17
-17
@@ -46,7 +46,7 @@ char smbv_fname[] = "smbv_config_file.smbv";
|
||||
unsigned short smbv_nframes = 4; // how many frames to configure 1,..,4
|
||||
unsigned short config_frames[4] = {2,9,11,13};
|
||||
unsigned char smbv_frame_cnt = 0;
|
||||
u8 config_smbv = 0;
|
||||
uint8_t config_smbv = 0;
|
||||
char smbv_ip[16];
|
||||
#endif
|
||||
|
||||
@@ -117,16 +117,16 @@ int map1, map2;
|
||||
extern double **ShaF;
|
||||
double snr_dB, sinr_dB, snr_direction; //,sinr_direction;
|
||||
extern double snr_step;
|
||||
extern u8 set_sinr;
|
||||
extern u8 ue_connection_test;
|
||||
extern u8 set_seed;
|
||||
u8 cooperation_flag; // for cooperative communication
|
||||
extern u8 target_dl_mcs;
|
||||
extern u8 target_ul_mcs;
|
||||
u8 rate_adaptation_flag;
|
||||
extern u8 abstraction_flag;
|
||||
extern u8 ethernet_flag;
|
||||
extern u16 Nid_cell;
|
||||
extern uint8_t set_sinr;
|
||||
extern uint8_t ue_connection_test;
|
||||
extern uint8_t set_seed;
|
||||
uint8_t cooperation_flag; // for cooperative communication
|
||||
extern uint8_t target_dl_mcs;
|
||||
extern uint8_t target_ul_mcs;
|
||||
uint8_t rate_adaptation_flag;
|
||||
extern uint8_t abstraction_flag;
|
||||
extern uint8_t ethernet_flag;
|
||||
extern uint16_t Nid_cell;
|
||||
|
||||
extern LTE_DL_FRAME_PARMS *frame_parms;
|
||||
|
||||
@@ -366,7 +366,7 @@ static module_id_t eNB_inst = 0;
|
||||
static module_id_t RN_id = 0;
|
||||
#endif
|
||||
|
||||
Packet_OTG_List *otg_pdcp_buffer;
|
||||
Packet_OTG_List_t *otg_pdcp_buffer;
|
||||
|
||||
typedef enum l2l1_task_state_e
|
||||
{
|
||||
@@ -381,7 +381,7 @@ void *l2l1_task(void *args_p) {
|
||||
clock_t t;
|
||||
|
||||
// Framing variables
|
||||
s32 slot, last_slot, next_slot;
|
||||
int32_t slot, last_slot, next_slot;
|
||||
|
||||
#ifdef Rel10
|
||||
relaying_type_t r_type = no_relay; // no relaying
|
||||
@@ -584,7 +584,7 @@ void *l2l1_task(void *args_p) {
|
||||
frame %= (oai_emulation.info.n_frames - 1);
|
||||
}
|
||||
|
||||
update_omg (); // frequency is defined in the omg_global params configurable by the user
|
||||
update_omg (frame); // frequency is defined in the omg_global params configurable by the user
|
||||
|
||||
update_omg_ocm ();
|
||||
|
||||
@@ -974,7 +974,7 @@ void *l2l1_task(void *args_p) {
|
||||
/*------------------------------------------------------------------------------*/
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
s32 i;
|
||||
int32_t i;
|
||||
// pointers signal buffers (s = transmit, r,r0 = receive)
|
||||
clock_t t;
|
||||
|
||||
@@ -1185,7 +1185,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
void reset_opp_meas(void){
|
||||
u8 eNB_id=0,UE_id=0;
|
||||
uint8_t eNB_id=0,UE_id=0;
|
||||
|
||||
reset_meas(&oaisim_stats);
|
||||
reset_meas(&oaisim_stats_f); // frame
|
||||
@@ -1317,7 +1317,7 @@ void reset_opp_meas(void){
|
||||
}
|
||||
|
||||
void print_opp_meas(void){
|
||||
u8 eNB_id=0,UE_id=0;
|
||||
uint8_t eNB_id=0,UE_id=0;
|
||||
|
||||
print_meas(&oaisim_stats,"[OAI][total_exec_time]", &oaisim_stats,&oaisim_stats);
|
||||
print_meas(&oaisim_stats_f,"[OAI][SF_exec_time]", &oaisim_stats,&oaisim_stats_f);
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
|
||||
void init_channel_vars(LTE_DL_FRAME_PARMS *frame_parms, double ***s_re,double ***s_im,double ***r_re,double ***r_im,double ***r_re0,double ***r_im0);
|
||||
|
||||
void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u16 next_slot,u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms, u32);
|
||||
void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint16_t next_slot,uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms, uint32_t);
|
||||
|
||||
void do_DL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],u16 next_slot,u8 abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,u8 UE_id);
|
||||
void do_DL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double **s_re,double **s_im,channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX],node_desc_t *enb_data[NUMBER_OF_eNB_MAX],node_desc_t *ue_data[NUMBER_OF_UE_MAX],uint16_t next_slot,uint8_t abstraction_flag,LTE_DL_FRAME_PARMS *frame_parms,uint8_t UE_id);
|
||||
|
||||
void init_ue(node_desc_t *ue_data, UE_Antenna ue_ant);//Abstraction changes
|
||||
void init_enb(node_desc_t *enb_data, eNB_Antenna enb_ant);//Abstraction changes
|
||||
@@ -29,18 +29,18 @@ void extract_position(Node_list input_node_list, node_desc_t**, int nb_nodes);//
|
||||
void get_beta_map();//Abstraction changes
|
||||
void get_MIESM_param(void);
|
||||
|
||||
void init_snr(channel_desc_t *, node_desc_t *, node_desc_t *, double*, double*, u8, u16, u8);//Abstraction changes
|
||||
void init_snr_up(channel_desc_t *, node_desc_t *, node_desc_t *, double*, double*, u16, u16);//Abstraction changes
|
||||
void init_snr(channel_desc_t *, node_desc_t *, node_desc_t *, double*, double*, uint8_t, uint16_t, uint8_t);//Abstraction changes
|
||||
void init_snr_up(channel_desc_t *, node_desc_t *, node_desc_t *, double*, double*, uint16_t, uint16_t);//Abstraction changes
|
||||
void calculate_sinr(channel_desc_t *, node_desc_t *, node_desc_t *, double *sinr_dB);//Abstraction changes
|
||||
void get_beta_map(void);
|
||||
int dlsch_abstraction_EESM(double* sinr_dB, u32 rb_alloc[4], u8 mcs, u8); //temporary testing for PHY abstraction
|
||||
int dlsch_abstraction_MIESM(double* sinr_dB,u8 TM, u32 rb_alloc[4], u8 mcs,u8);
|
||||
int ulsch_abstraction_MIESM(double* sinr_dB,u8 TM, u8 mcs,u16 nb_rb, u16 first_rb);
|
||||
int ulsch_abstraction(double* sinr_dB,u8 TM, u8 mcs,u16 nb_rb, u16 first_rb);
|
||||
int dlsch_abstraction_EESM(double* sinr_dB, uint32_t rb_alloc[4], uint8_t mcs, uint8_t); //temporary testing for PHY abstraction
|
||||
int dlsch_abstraction_MIESM(double* sinr_dB,uint8_t TM, uint32_t rb_alloc[4], uint8_t mcs,uint8_t);
|
||||
int ulsch_abstraction_MIESM(double* sinr_dB,uint8_t TM, uint8_t mcs,uint16_t nb_rb, uint16_t first_rb);
|
||||
int ulsch_abstraction(double* sinr_dB,uint8_t TM, uint8_t mcs,uint16_t nb_rb, uint16_t first_rb);
|
||||
|
||||
void calc_path_loss(node_desc_t* node_tx, node_desc_t* node_rx, channel_desc_t *ch_desc, Environment_System_Config env_desc, double **SF);
|
||||
|
||||
void do_OFDM_mod(mod_sym_t **txdataF, s32 **txdata, frame_t frame, u16 next_slot, LTE_DL_FRAME_PARMS *frame_parms);
|
||||
void do_OFDM_mod(mod_sym_t **txdataF, int32_t **txdata, frame_t frame, uint16_t next_slot, LTE_DL_FRAME_PARMS *frame_parms);
|
||||
|
||||
#ifdef OPENAIR2
|
||||
int omv_write (int pfd, Node_list enb_node_list, Node_list ue_node_list, Data_Flow_Unit omv_data);
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef SMBV
|
||||
extern u8 config_smbv;
|
||||
extern uint8_t config_smbv;
|
||||
extern char smbv_ip[16];
|
||||
#endif
|
||||
|
||||
@@ -56,23 +56,23 @@ int if_times = 0;
|
||||
int for_times = 0;
|
||||
|
||||
static char *conf_config_file_name = NULL;
|
||||
u16 Nid_cell = 0; //needed by init_lte_vars
|
||||
uint16_t Nid_cell = 0; //needed by init_lte_vars
|
||||
int nb_antennas_rx = 2; // //
|
||||
u8 target_dl_mcs = 0; // not set
|
||||
u8 rate_adaptation_flag = 0;
|
||||
u8 set_sinr = 0;
|
||||
uint8_t target_dl_mcs = 0; // not set
|
||||
uint8_t rate_adaptation_flag = 0;
|
||||
uint8_t set_sinr = 0;
|
||||
double snr_dB, sinr_dB;
|
||||
u8 set_seed = 0;
|
||||
u8 cooperation_flag; // for cooperative communication
|
||||
u8 abstraction_flag = 0;
|
||||
u8 ethernet_flag = 0;
|
||||
uint8_t set_seed = 0;
|
||||
uint8_t cooperation_flag; // for cooperative communication
|
||||
uint8_t abstraction_flag = 0;
|
||||
uint8_t ethernet_flag = 0;
|
||||
double snr_step = 1.0;
|
||||
u8 ue_connection_test = 0;
|
||||
uint8_t ue_connection_test = 0;
|
||||
double forgetting_factor = 0.0;
|
||||
u8 beta_ACK = 0;
|
||||
u8 beta_RI = 0;
|
||||
u8 beta_CQI = 2;
|
||||
u8 target_ul_mcs = 4;
|
||||
uint8_t beta_ACK = 0;
|
||||
uint8_t beta_RI = 0;
|
||||
uint8_t beta_CQI = 2;
|
||||
uint8_t target_ul_mcs = 4;
|
||||
LTE_DL_FRAME_PARMS *frame_parms = NULL;
|
||||
int map1,map2;
|
||||
double **ShaF = NULL;
|
||||
@@ -110,7 +110,7 @@ char frame_type[10];
|
||||
char tdd_config[10];
|
||||
#endif
|
||||
|
||||
Packet_OTG_List *otg_pdcp_buffer = NULL;
|
||||
Packet_OTG_List_t *otg_pdcp_buffer = NULL;
|
||||
|
||||
extern node_desc_t *enb_data[NUMBER_OF_eNB_MAX];
|
||||
extern node_desc_t *ue_data[NUMBER_OF_UE_MAX];
|
||||
@@ -617,9 +617,9 @@ void get_simulation_options(int argc, char *argv[]) {
|
||||
}
|
||||
}
|
||||
|
||||
void check_and_adjust_params() {
|
||||
void check_and_adjust_params(void) {
|
||||
|
||||
s32 ret;
|
||||
int32_t ret;
|
||||
int i,j;
|
||||
|
||||
if (oai_emulation.info.nb_ue_local + oai_emulation.info.nb_rn_local > NUMBER_OF_UE_MAX) {
|
||||
@@ -705,7 +705,7 @@ void check_and_adjust_params() {
|
||||
}
|
||||
|
||||
#ifdef OPENAIR2
|
||||
void init_omv() {
|
||||
void init_omv(void) {
|
||||
if (oai_emulation.info.omv_enabled == 1) {
|
||||
|
||||
if(pipe(pfd) == -1)
|
||||
@@ -742,7 +742,7 @@ void init_omv() {
|
||||
}
|
||||
#endif
|
||||
|
||||
void init_seed(u8 set_seed) {
|
||||
void init_seed(uint8_t set_seed) {
|
||||
|
||||
if(set_seed) {
|
||||
|
||||
@@ -755,7 +755,7 @@ void init_seed(u8 set_seed) {
|
||||
}
|
||||
}
|
||||
|
||||
void init_openair1() {
|
||||
void init_openair1(void) {
|
||||
module_id_t UE_id, eNB_id;
|
||||
#if defined(ENABLE_RAL)
|
||||
int list_index;
|
||||
@@ -824,7 +824,7 @@ void init_openair1() {
|
||||
}
|
||||
}
|
||||
|
||||
void init_openair2() {
|
||||
void init_openair2(void) {
|
||||
#ifdef OPENAIR2
|
||||
module_id_t enb_id;
|
||||
module_id_t UE_id;
|
||||
@@ -847,7 +847,7 @@ void init_openair2() {
|
||||
#endif
|
||||
}
|
||||
|
||||
void init_ocm() {
|
||||
void init_ocm(void) {
|
||||
module_id_t UE_id, eNB_id;
|
||||
/* Added for PHY abstraction */
|
||||
LOG_I(OCM,"Running with frame_type %d, Nid_cell %d, N_RB_DL %d, EP %d, mode %d, target dl_mcs %d, rate adaptation %d, nframes %d, abstraction %d, channel %s\n", oai_emulation.info.frame_type, Nid_cell, oai_emulation.info.N_RB_DL, oai_emulation.info.extended_prefix_flag, oai_emulation.info.transmission_mode,target_dl_mcs,rate_adaptation_flag,oai_emulation.info.n_frames,abstraction_flag,oai_emulation.environment_system_config.fading.small_scale.selected_option);
|
||||
@@ -938,9 +938,9 @@ void init_ocm() {
|
||||
}
|
||||
}
|
||||
|
||||
void init_otg_pdcp_buffer() {
|
||||
void init_otg_pdcp_buffer(void) {
|
||||
module_id_t i;
|
||||
otg_pdcp_buffer = malloc((NB_UE_INST + NB_eNB_INST) * sizeof(Packet_OTG_List));
|
||||
otg_pdcp_buffer = malloc((NB_UE_INST + NB_eNB_INST) * sizeof(Packet_OTG_List_t));
|
||||
|
||||
for (i = 0; i < NB_UE_INST + NB_eNB_INST; i++) {
|
||||
pkt_list_init(&(otg_pdcp_buffer[i]));
|
||||
@@ -948,11 +948,11 @@ void init_otg_pdcp_buffer() {
|
||||
}
|
||||
}
|
||||
|
||||
void update_omg () {
|
||||
void update_omg (frame_t frameP) {
|
||||
module_id_t UE_id, eNB_id;
|
||||
int new_omg_model;
|
||||
|
||||
if ((frame % omg_period) == 0 ) { // call OMG every 10ms
|
||||
if ((frameP % omg_period) == 0 ) { // call OMG every 10ms
|
||||
update_nodes(oai_emulation.info.time_s);
|
||||
display_node_list(enb_node_list);
|
||||
display_node_list(ue_node_list);
|
||||
@@ -1040,7 +1040,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime) {
|
||||
if (oai_emulation.info.otg_enabled ==1 ) {
|
||||
|
||||
int dst_id, app_id;
|
||||
Packet_otg_elt *otg_pkt;
|
||||
Packet_otg_elt_t *otg_pkt;
|
||||
|
||||
for (dst_id = 0; dst_id < NUMBER_OF_UE_MAX; dst_id++) {
|
||||
for_times += 1;
|
||||
@@ -1048,10 +1048,10 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime) {
|
||||
if (mac_get_rrc_status(enb_module_idP, ENB_FLAG_YES, dst_id) > 2 /*RRC_CONNECTED*/ ) {
|
||||
|
||||
for (app_id=0; app_id<MAX_NUM_APPLICATION; app_id++){
|
||||
otg_pkt = malloc (sizeof(Packet_otg_elt));
|
||||
otg_pkt = malloc (sizeof(Packet_otg_elt_t));
|
||||
if_times += 1;
|
||||
|
||||
(otg_pkt->otg_pkt).sdu_buffer = (u8*) packet_gen(enb_module_idP, dst_id + NB_eNB_INST, app_id, ctime, &((otg_pkt->otg_pkt).sdu_buffer_size));
|
||||
(otg_pkt->otg_pkt).sdu_buffer = (uint8_t*) packet_gen(enb_module_idP, dst_id + NB_eNB_INST, app_id, ctime, &((otg_pkt->otg_pkt).sdu_buffer_size));
|
||||
|
||||
if ((otg_pkt->otg_pkt).sdu_buffer != NULL) {
|
||||
otg_times += 1;
|
||||
@@ -1059,8 +1059,9 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime) {
|
||||
(otg_pkt->otg_pkt).module_id = enb_module_idP;
|
||||
(otg_pkt->otg_pkt).dst_id = dst_id;
|
||||
(otg_pkt->otg_pkt).is_ue = 0;
|
||||
(otg_pkt->otg_pkt).mode = PDCP_DATA_PDU;
|
||||
(otg_pkt->otg_pkt).mode = PDCP_TRANSMISSION_MODE_DATA;
|
||||
//Adding the packet to the OTG-PDCP buffer
|
||||
#warning "Strange code"
|
||||
pkt_list_add_tail_eurecom(otg_pkt, &(otg_pdcp_buffer[enb_module_idP]));
|
||||
LOG_I(EMU, "[eNB %d] ADD pkt to OTG buffer with size %d for dst %d on rb_id %d for app id %d \n",
|
||||
(otg_pkt->otg_pkt).module_id, otg_pkt->otg_pkt.sdu_buffer_size, (otg_pkt->otg_pkt).dst_id,(otg_pkt->otg_pkt).rb_id, app_id);
|
||||
@@ -1082,17 +1083,17 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime) {
|
||||
for (session_id = 0; session_id < 2; session_id++) { // maxSessionPerPMCH
|
||||
if (pdcp_mbms_array_eNB[enb_module_idP][service_id][session_id].instanciated_instance == enb_module_idP + 1){ // this service/session is configured
|
||||
|
||||
otg_pkt = malloc (sizeof(Packet_otg_elt));
|
||||
otg_pkt = malloc (sizeof(Packet_otg_elt_t));
|
||||
// LOG_T(OTG,"multicast packet gen for (service/mch %d, session/lcid %d, rb_id %d)\n", service_id, session_id, service_id*maxSessionPerPMCH + session_id);
|
||||
rb_id = pdcp_mbms_array_eNB[enb_module_idP][service_id][session_id].rb_id;
|
||||
(otg_pkt->otg_pkt).sdu_buffer = (u8*) packet_gen_multicast(enb_module_idP, session_id, ctime, &((otg_pkt->otg_pkt).sdu_buffer_size));
|
||||
(otg_pkt->otg_pkt).sdu_buffer = (uint8_t*) packet_gen_multicast(enb_module_idP, session_id, ctime, &((otg_pkt->otg_pkt).sdu_buffer_size));
|
||||
if ((otg_pkt->otg_pkt).sdu_buffer != NULL) {
|
||||
(otg_pkt->otg_pkt).rb_id = rb_id;
|
||||
(otg_pkt->otg_pkt).module_id = enb_module_idP;
|
||||
(otg_pkt->otg_pkt).dst_id = session_id;
|
||||
(otg_pkt->otg_pkt).is_ue = 0;
|
||||
//Adding the packet to the OTG-PDCP buffer
|
||||
(otg_pkt->otg_pkt).mode = PDCP_TM;
|
||||
(otg_pkt->otg_pkt).mode = PDCP_TRANSMISSION_MODE_TRANSPARENT;
|
||||
pkt_list_add_tail_eurecom(otg_pkt, &(otg_pdcp_buffer[enb_module_idP]));
|
||||
LOG_I(EMU, "[eNB %d] ADD packet (%p) multicast to OTG buffer for dst %d on rb_id %d\n",
|
||||
(otg_pkt->otg_pkt).module_id, otg_pkt, (otg_pkt->otg_pkt).dst_id,(otg_pkt->otg_pkt).rb_id);
|
||||
@@ -1116,7 +1117,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime) {
|
||||
LOG_I(OTG, "frame %d, multicast packet gen for (service/mch %d, session/lcid %d, rb_id %d)\n",frame, service_id, session_id,service_id*maxSessionPerPMCH + session_id);
|
||||
// end Duy add
|
||||
rb_id = pdcp_mbms_array[module_id][service_id*maxSessionPerPMCH + session_id].rb_id;
|
||||
otg_pkt=(u8*) packet_gen_multicast(module_idP, session_id, ctime, &pkt_size);
|
||||
otg_pkt=(uint8_t*) packet_gen_multicast(module_idP, session_id, ctime, &pkt_size);
|
||||
if (otg_pkt != NULL) {
|
||||
LOG_D(OTG,"[eNB %d] sending a multicast packet from module %d on rab id %d (src %d, dst %d) pkt size %d\n", eNB_index, module_idP, rb_id, module_idP, session_id, pkt_size);
|
||||
pdcp_data_req(module_id, frame, eNB_flag, rb_id, RLC_MUI_UNDEFINED, RLC_SDU_CONFIRM_NO, pkt_size, otg_pkt,PDCP_TM);
|
||||
@@ -1141,14 +1142,14 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime) {
|
||||
ctime = frame * 100;
|
||||
for (dst_id = 0; dst_id < NUMBER_OF_UE_MAX; dst_id++) {
|
||||
if (mac_get_rrc_status(eNB_index, eNB_flag, dst_id ) > 2) {
|
||||
otg_pkt = malloc (sizeof(Packet_otg_elt));
|
||||
otg_pkt = malloc (sizeof(Packet_otg_elt_t));
|
||||
(otg_pkt->otg_pkt).sdu_buffer = packet_gen(module_instP, dst_id, ctime, &pkt_size);
|
||||
if (otg_pkt != NULL) {
|
||||
rb_id = dst_id * NB_RB_MAX + DTCH;
|
||||
(otg_pkt->otg_pkt).rb_id = rb_id;
|
||||
(otg_pkt->otg_pkt).module_id = module_idP;
|
||||
(otg_pkt->otg_pkt).is_ue = 0;
|
||||
(otg_pkt->otg_pkt).mode = PDCP_DATA_PDU;
|
||||
(otg_pkt->otg_pkt).mode = PDCP_TRANSMISSION_MODE_DATA;
|
||||
//Adding the packet to the OTG-PDCP buffer
|
||||
pkt_list_add_tail_eurecom(otg_pkt, &(otg_pdcp_buffer[module_idP]));
|
||||
LOG_I(EMU, "[eNB %d] ADD pkt to OTG buffer for dst %d on rb_id %d\n", (otg_pkt->otg_pkt).module_id, (otg_pkt->otg_pkt).dst_id,(otg_pkt->otg_pkt).rb_id);
|
||||
@@ -1173,14 +1174,14 @@ void update_otg_UE(module_id_t ue_mod_idP, unsigned int ctime) {
|
||||
|
||||
for (dst_id=0;dst_id<NUMBER_OF_eNB_MAX;dst_id++) {
|
||||
if (mac_get_rrc_status(ue_mod_idP, 0, dst_id ) > 2 /*RRC_CONNECTED*/) {
|
||||
Packet_otg_elt *otg_pkt = malloc (sizeof(Packet_otg_elt));
|
||||
Packet_otg_elt_t *otg_pkt = malloc (sizeof(Packet_otg_elt_t));
|
||||
if (otg_pkt!=NULL)
|
||||
memset(otg_pkt,0,sizeof(Packet_otg_elt));
|
||||
memset(otg_pkt,0,sizeof(Packet_otg_elt_t));
|
||||
else {
|
||||
LOG_E(OTG,"not enough memory\n");
|
||||
exit(-1);
|
||||
}// Manage to add this packet to the tail of your list
|
||||
(otg_pkt->otg_pkt).sdu_buffer = (u8*) packet_gen(src_id, dst_id, 0, ctime, &((otg_pkt->otg_pkt).sdu_buffer_size));
|
||||
(otg_pkt->otg_pkt).sdu_buffer = (uint8_t*) packet_gen(src_id, dst_id, 0, ctime, &((otg_pkt->otg_pkt).sdu_buffer_size));
|
||||
|
||||
if ((otg_pkt->otg_pkt).sdu_buffer != NULL) {
|
||||
(otg_pkt->otg_pkt).rb_id = dst_id * NB_RB_MAX + DTCH;
|
||||
@@ -1188,7 +1189,7 @@ void update_otg_UE(module_id_t ue_mod_idP, unsigned int ctime) {
|
||||
(otg_pkt->otg_pkt).dst_id = dst_id;
|
||||
(otg_pkt->otg_pkt).is_ue = 1;
|
||||
//Adding the packet to the OTG-PDCP buffer
|
||||
(otg_pkt->otg_pkt).mode = PDCP_DATA_PDU;
|
||||
(otg_pkt->otg_pkt).mode = PDCP_TRANSMISSION_MODE_DATA;
|
||||
pkt_list_add_tail_eurecom(otg_pkt, &(otg_pdcp_buffer[module_id]));
|
||||
LOG_I(EMU, "[UE %d] ADD pkt to OTG buffer with size %d for dst %d on rb_id %d \n",
|
||||
(otg_pkt->otg_pkt).module_id, otg_pkt->otg_pkt.sdu_buffer_size, (otg_pkt->otg_pkt).dst_id,(otg_pkt->otg_pkt).rb_id);
|
||||
|
||||
@@ -10,25 +10,25 @@
|
||||
|
||||
void get_simulation_options(int argc, char *argv[]);
|
||||
|
||||
void check_and_adjust_params();
|
||||
void check_and_adjust_params(void);
|
||||
|
||||
void init_omv();
|
||||
void init_omv(void);
|
||||
|
||||
void init_seed(u8 set_seed);
|
||||
void init_seed(uint8_t set_seed);
|
||||
|
||||
void init_openair1();
|
||||
void init_openair1(void);
|
||||
|
||||
void init_openair2();
|
||||
void init_openair2(void);
|
||||
|
||||
void init_ocm();
|
||||
void init_ocm(void);
|
||||
|
||||
void init_otg_pdcp_buffer();
|
||||
void init_otg_pdcp_buffer(void);
|
||||
|
||||
void update_omg();
|
||||
void update_omg(frame_t frameP);
|
||||
|
||||
void update_omg_ocm();
|
||||
void update_omg_ocm(void);
|
||||
|
||||
void update_ocm();
|
||||
void update_ocm(void);
|
||||
|
||||
void update_otg_eNB(module_id_t module_idP, unsigned int ctime);
|
||||
|
||||
@@ -36,9 +36,9 @@ void update_otg_UE(module_id_t module_idP, unsigned int ctime);
|
||||
|
||||
void exit_fun(const char* s);
|
||||
|
||||
void init_time();
|
||||
void init_time(void);
|
||||
|
||||
void init_pad();
|
||||
void init_pad(void);
|
||||
|
||||
void help(void);
|
||||
|
||||
|
||||
@@ -79,15 +79,15 @@
|
||||
#define TARGET_SF_TIME_NS 1000000 // 1ms = 1000000 ns
|
||||
|
||||
//#ifdef OPENAIR2
|
||||
//u16 NODE_ID[1];
|
||||
//u8 NB_INST = 2;
|
||||
//uint16_t NODE_ID[1];
|
||||
//uint8_t NB_INST = 2;
|
||||
//#endif //OPENAIR2
|
||||
extern int otg_times;
|
||||
extern int for_times;
|
||||
extern int if_times;
|
||||
int for_main_times = 0;
|
||||
|
||||
u32 frame=0;
|
||||
frame_t frame=0;
|
||||
char stats_buffer[16384];
|
||||
channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX];
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX];
|
||||
@@ -103,14 +103,14 @@ extern int nrbPost;
|
||||
extern int frbPost;
|
||||
extern void kpi_gen();
|
||||
|
||||
extern u16 Nid_cell;
|
||||
extern u8 target_dl_mcs;
|
||||
extern u8 rate_adaptation_flag;
|
||||
extern uint16_t Nid_cell;
|
||||
extern uint8_t target_dl_mcs;
|
||||
extern uint8_t rate_adaptation_flag;
|
||||
extern double snr_dB, sinr_dB;
|
||||
extern u8 set_seed;
|
||||
extern u8 cooperation_flag; // for cooperative communication
|
||||
extern u8 abstraction_flag, ethernet_flag;
|
||||
extern u8 ue_connection_test;
|
||||
extern uint8_t set_seed;
|
||||
extern uint8_t cooperation_flag; // for cooperative communication
|
||||
extern uint8_t abstraction_flag, ethernet_flag;
|
||||
extern uint8_t ue_connection_test;
|
||||
extern int map1,map2;
|
||||
extern double **ShaF;
|
||||
// pointers signal buffers (s = transmit, r,r0 = receive)
|
||||
@@ -276,7 +276,7 @@ void pad_init() {
|
||||
void pad_finalize() {
|
||||
|
||||
int ret, i;
|
||||
s32 UE_id;
|
||||
module_id_t UE_id;
|
||||
|
||||
ret = threadpool_destroy(pool);
|
||||
if (ret)
|
||||
@@ -358,8 +358,8 @@ int main (int argc, char *argv[]) {
|
||||
void run(int argc, char *argv[]) {
|
||||
|
||||
|
||||
s32 i;
|
||||
s32 UE_id, eNB_id;
|
||||
int32_t i;
|
||||
module_id_t UE_id, eNB_id;
|
||||
Job_elt *job_elt;
|
||||
int ret;
|
||||
|
||||
@@ -370,7 +370,7 @@ void run(int argc, char *argv[]) {
|
||||
Event event;
|
||||
|
||||
// Framing variables
|
||||
s32 slot, last_slot, next_slot;
|
||||
int32_t slot, last_slot, next_slot;
|
||||
|
||||
FILE *SINRpost;
|
||||
char SINRpost_fname[512];
|
||||
@@ -395,7 +395,7 @@ void run(int argc, char *argv[]) {
|
||||
int port,Process_Flag=0,wgt,Channel_Flag=0,temp;
|
||||
#endif
|
||||
|
||||
// u8 awgn_flag = 0;
|
||||
// uint8_t awgn_flag = 0;
|
||||
|
||||
#ifdef PRINT_STATS
|
||||
int len;
|
||||
@@ -406,7 +406,7 @@ void run(int argc, char *argv[]) {
|
||||
#endif
|
||||
|
||||
#ifdef SMBV
|
||||
u8 config_smbv = 0;
|
||||
uint8_t config_smbv = 0;
|
||||
char smbv_ip[16];
|
||||
strcpy(smbv_ip,DEFAULT_SMBV_IP);
|
||||
#endif
|
||||
|
||||
@@ -69,7 +69,7 @@ void extract_position (Node_list input_node_list, node_desc_t **node_data, int n
|
||||
}
|
||||
}
|
||||
}
|
||||
void extract_position_fixed_enb (node_desc_t **node_data, int nb_nodes, u32 frame){
|
||||
void extract_position_fixed_enb (node_desc_t **node_data, int nb_nodes, frame_t frame){
|
||||
int i;
|
||||
|
||||
for (i=0;i<nb_nodes;i++) {
|
||||
@@ -88,7 +88,7 @@ void extract_position_fixed_enb (node_desc_t **node_data, int nb_nodes, u32 fra
|
||||
}
|
||||
}
|
||||
|
||||
void extract_position_fixed_ue (node_desc_t **node_data, int nb_nodes, u32 frame){
|
||||
void extract_position_fixed_ue (node_desc_t **node_data, int nb_nodes, frame_t frame){
|
||||
int i;
|
||||
if(frame<50)
|
||||
for (i=0;i<nb_nodes;i++) {
|
||||
@@ -203,13 +203,13 @@ void calc_path_loss(node_desc_t* enb_data, node_desc_t* ue_data, channel_desc_t
|
||||
|
||||
|
||||
|
||||
void init_snr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *ue_data, double* sinr_dB, double* N0, u8 transmission_mode, u16 q, u8 dl_power_off) {
|
||||
void init_snr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *ue_data, double* sinr_dB, double* N0, uint8_t transmission_mode, uint16_t q, uint8_t dl_power_off) {
|
||||
|
||||
u16 nb_rb = 25; //No. of resource blocks
|
||||
uint16_t nb_rb = 25; //No. of resource blocks
|
||||
double thermal_noise,abs_channel,channelx, channely,channelx_i, channely_i ;
|
||||
int count;
|
||||
int aarx,aatx;
|
||||
u8 qq;
|
||||
uint8_t qq;
|
||||
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm
|
||||
@@ -424,7 +424,7 @@ void init_snr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *ue_dat
|
||||
}//function ends
|
||||
|
||||
#ifdef PHY_ABSTRACTION_UL
|
||||
void init_snr_up(channel_desc_t* UE2eNB, node_desc_t *enb_data, node_desc_t *ue_data, double* sinr_dB, double* N0,u16 nb_rb,u16 fr_rb) {
|
||||
void init_snr_up(channel_desc_t* UE2eNB, node_desc_t *enb_data, node_desc_t *ue_data, double* sinr_dB, double* N0,uint16_t nb_rb,uint16_t fr_rb) {
|
||||
|
||||
int return_value;
|
||||
double thermal_noise;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#include "UTIL/FIFO/pad_list.h"
|
||||
#include "threadpool.h"
|
||||
|
||||
extern u8 abstraction_flag;
|
||||
extern uint8_t abstraction_flag;
|
||||
extern Signal_buffers *signal_buffers_g;
|
||||
|
||||
extern channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX];
|
||||
|
||||
Reference in New Issue
Block a user