Commit 3f358655 authored by lfarizav's avatar lfarizav

Fixing some errors

parent 2bdbdd5b
......@@ -1101,7 +1101,6 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
int i,j,k,l;
int eNB_id;
int th_id;
int **rxdataF_temp;
printf("Initializing UE vars (abstraction %"PRIu8") for eNB TXant %"PRIu8", UE RXant %"PRIu8"\n",abstraction_flag,fp->nb_antennas_tx,fp->nb_antennas_rx);
LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]\n", ue->Mod_id+NB_eNB_INST);
......@@ -1405,17 +1404,7 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
}
}
}
// Channel estimates
for (eNB_id=0; eNB_id<7; eNB_id++) {
for (i=0; i<fp->nb_antennas_rx; i++)
for (j=0; j<4; j++) {
int idx = (j<<1) + i;
for (th_id=0; th_id<RX_NB_TH_MAX; th_id++) {
free(common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id][idx]);
common_vars->common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id][idx] = (int32_t*)malloc16_clear( sizeof(int32_t)*fp->symbols_per_tti*(fp->ofdm_symbol_size+LTE_CE_FILTER_LENGTH) );
}
}
}
return 0;
}
......@@ -1433,7 +1422,6 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
int i, j, eNB_id, UE_id;
int re;
int **rxdataF_temp;
eNB->total_dlsch_bitrate = 0;
eNB->total_transmitted_bits = 0;
......@@ -1471,7 +1459,7 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
// TX vars
if (eNB->node_function != NGFI_RCC_IF4p5)
common_vars->txdata[eNB_id] = (int32_t**)malloc16(fp->nb_antennas_tx*sizeof(int32_t*));
common_vars->txdata[eNB_id] = (int32_t**)malloc16(fp->nb_antennas_tx*sizeof(int32_t*));
common_vars->txdataF[eNB_id] = (int32_t **)malloc16(NB_ANTENNA_PORTS_ENB*sizeof(int32_t*));
common_vars->txdataF_BF[eNB_id] = (int32_t **)malloc16(fp->nb_antennas_tx*sizeof(int32_t*));
......@@ -1528,16 +1516,12 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
// RX vars
common_vars->rxdataF[eNB_id] = (int32_t**)malloc16(fp->nb_antennas_rx*sizeof(int32_t*) );
for (i=0; i<fp->nb_antennas_rx; i++) {
common_vars->rxdataF[eNB_id][i] = (int32_t*)malloc16_clear(2*fp->ofdm_symbol_size*fp->symbols_per_tti*sizeof(int32_t));
}
if (eNB->node_function != NGFI_RCC_IF4p5) {
common_vars->rxdata[eNB_id] = (int32_t**)malloc16(fp->nb_antennas_rx*sizeof(int32_t*) );
common_vars->rxdata_7_5kHz[eNB_id] = (int32_t**)malloc16(fp->nb_antennas_rx*sizeof(int32_t*) );
}
common_vars->rxdataF[eNB_id] = (int32_t**)malloc16(fp->nb_antennas_rx*sizeof(int32_t*) );
for (i=0; i<fp->nb_antennas_rx; i++) {
if (eNB->node_function != NGFI_RCC_IF4p5) {
......@@ -1548,14 +1532,15 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
// allocate 2 subframes of I/Q signal data (time, 7.5 kHz offset)
common_vars->rxdata_7_5kHz[eNB_id][i] = (int32_t*)malloc16_clear( 2*fp->samples_per_tti*2*sizeof(int32_t) );
}
//if (eNB->node_function != NGFI_RRU_IF5)
if (eNB->node_function != NGFI_RRU_IF5)
// allocate 2 subframes of I/Q signal data (frequency)
// common_vars->rxdataF[eNB_id][i] = (int32_t*)malloc16_clear(sizeof(int32_t)*(2*fp->ofdm_symbol_size*fp->symbols_per_tti) );
common_vars->rxdataF[eNB_id][i] = (int32_t*)malloc16_clear(sizeof(int32_t)*(2*fp->ofdm_symbol_size*fp->symbols_per_tti) );
#ifdef DEBUG_PHY
printf("[openair][LTE_PHY][INIT] common_vars->rxdata[%d][%d] = %p (%lu bytes)\n",eNB_id,i,common_vars->rxdata[eNB_id][i],fp->samples_per_tti*10*sizeof(int32_t));
if (eNB->node_function != NGFI_RRU_IF5)
printf("[openair][LTE_PHY][INIT] common_vars->rxdata_7_5kHz[%d][%d] = %p (%lu bytes)\n",eNB_id,i,common_vars->rxdata_7_5kHz[eNB_id][i],fp->samples_per_tti*2*sizeof(int32_t));
#endif
common_vars->rxdataF[eNB_id][i] = (int32_t*)malloc16_clear(sizeof(int32_t)*(fp->ofdm_symbol_size*fp->symbols_per_tti) );
}
......
......@@ -680,7 +680,7 @@ int32_t lte_srs_channel_estimation(LTE_DL_FRAME_PARMS *frame_parms,
int aa;
int N_symb,symbol;
uint8_t nb_antennas_rx = frame_parms->nb_antennas_rx;
int do_ofdm_mod = PHY_vars_UE_g[0][0]->do_ofdm_mod;
#ifdef DEBUG_SRS
char fname[40], vname[40];
#endif
......
......@@ -56,8 +56,10 @@ void send_IF4p5(PHY_VARS_eNB *eNB, int frame, int subframe, uint16_t packet_type
uint16_t symbol_id=0, element_id=0;
uint16_t db_fulllength, db_halflength;
int slotoffsetF=0, blockoffsetF=0;
// write_output("sendif405_rxsigF_UL.m","sendif4p5_rxsF_UL", &eNB->common_vars.rxdata[0][0],10*fp->ofdm_symbol_size*fp->symbols_per_tti,1,16);
//write_output("sendif405_txsigF_UL.m","sendif4p5_txsF_UL", &eNB->common_vars.txdata[0][0],10*fp->ofdm_symbol_size*fp->symbols_per_tti,1,16);
write_output("sendif405_rxsigF_UL.m","sendif4p5_rxsF_UL",rxdataF[0],2*fp->ofdm_symbol_size*fp->symbols_per_tti,1,16);
write_output("sendif405_txsigF_UL.m","sendif4p5_txsF_UL",&PHY_vars_UE_g[0][0]->common_vars.txdataF[0][0],10*fp->ofdm_symbol_size*fp->symbols_per_tti,1,16);
for (int idx=0;idx<10;idx++)
printf("dumping UL raw rx send_if4p5 subframe %d: rxdataF[%d] = (%d,%d)\n", subframe, idx, ((short*)&rxdataF[0][idx])[0], ((short*)&rxdataF[0][idx])[1]);
uint16_t *data_block=NULL, *i=NULL;
IF4p5_header_t *packet_header=NULL;
......@@ -229,7 +231,8 @@ void recv_IF4p5(PHY_VARS_eNB *eNB, int *frame, int *subframe, uint16_t *packet_t
uint16_t db_fulllength, db_halflength;
int slotoffsetF=0, blockoffsetF=0;
eth_state_t *eth = (eth_state_t*) (eNB->ifdevice.priv);
for (int idx=0;idx<10;idx++)
// printf("dumping UL raw rx rvc_if4p5 subframe %d: rxdataF[%d] = (%d,%d)\n", *subframe, idx, ((short*)&rxdataF[0][idx])[0], ((short*)&rxdataF[0][idx])[1]);
if (eNB->CC_id==0) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 1 );
if (eNB->node_function == NGFI_RRU_IF4p5) {
......
......@@ -421,7 +421,7 @@ void mch_extract_rbs_freq(int **rxdataF,
*(int16_t*)(1+&rxdataF[aarx][i+frame_parms->first_carrier_offset + (symbol*frame_parms->ofdm_symbol_size)]));
*/
rxdataF_ext[aarx][j+symbol*(frame_parms->N_RB_DL*12)] = rxdataF[aarx][i+frame_parms->first_carrier_offset + (symbol*frame_parms->ofdm_symbol_size)+subframe*(frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti)];
rxdataF_ext[aarx][(frame_parms->N_RB_DL*3)+j+symbol*(frame_parms->N_RB_DL*12)] = rxdataF[aarx][i+1+ (symbol*frame_parms->ofdm_symbol_size)];
rxdataF_ext[aarx][(frame_parms->N_RB_DL*3)+j+symbol*(frame_parms->N_RB_DL*12)] = rxdataF[aarx][i+1+ (symbol*frame_parms->ofdm_symbol_size)+subframe*(frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti)];
dl_ch_estimates_ext[aarx][j+symbol*(frame_parms->N_RB_DL*12)+subframe*(frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti)] = dl_ch_estimates[aarx][i+(symbol*frame_parms->ofdm_symbol_size)];
dl_ch_estimates_ext[aarx][(frame_parms->N_RB_DL*3)+j+symbol*(frame_parms->N_RB_DL*12)] = dl_ch_estimates[aarx][i+(frame_parms->N_RB_DL*6)+(symbol*frame_parms->ofdm_symbol_size)];
}
......
......@@ -2383,7 +2383,6 @@ void rx_prach_freq(PHY_VARS_eNB *eNB,
>>>>>>> origin/fix-if4p5
#endif
write_output("rxsigF.m","prach_rxF",rxsigF[0],24576,1,16);
printf("ok in prach2 \n");
return;
} else if (eNB->node_function == NGFI_RCC_IF4p5) {
k = (12*n_ra_prb) - 6*eNB->frame_parms.N_RB_UL;
......
......@@ -2007,7 +2007,7 @@ void prach_procedures(PHY_VARS_eNB *eNB) {
{
LOG_D(PHY,"[eNB %d][RAPROC][Freq] Frame %d, Subframe %d : PRACH RX Signal Power : %d dBm\n",eNB->Mod_id,
frame,subframe,dB_fixed(signal_energy(&eNB->common_vars.rxdataF[0][0][subframe*fp->symbols_per_tti*fp->ofdm_symbol_size],512)) - eNB->rx_total_gain_dB);
rx_prach_freq(eNB,
rx_prach_freq(eNB,
preamble_energy_list,
preamble_delay_list,
frame,
......@@ -2023,7 +2023,7 @@ void prach_procedures(PHY_VARS_eNB *eNB) {
preamble_delay_list,
frame,
0);
write_output("prach_rxF_comp1.m","prach_rxF_comp1",eNB->prach_vars.prachF,1024,1,1);
//write_output("prach_rxF_comp1.m","prach_rxF_comp1",eNB->prach_vars.prachF,1024,1,1);
}
} else {
for (UE_id=0; UE_id<NB_UE_INST; UE_id++) {
......@@ -2639,16 +2639,17 @@ void fep0(PHY_VARS_eNB *eNB,int slot) {
int do_ofdm_mod = PHY_vars_UE_g[0][0]->do_ofdm_mod;
// printf("fep0: slot %d\n",slot);
if (!do_ofdm_mod)
remove_7_5_kHz(eNB,(slot&1)+(proc->subframe_rx<<1));
for (l=0; l<fp->symbols_per_tti/2; l++) {
slot_fep_ul(fp,
&eNB->common_vars,
l,
(slot&1)+(proc->subframe_rx<<1),
0,
0
);
if (!do_ofdm_mod){
remove_7_5_kHz(eNB,(slot&1)+(proc->subframe_rx<<1));
for (l=0; l<fp->symbols_per_tti/2; l++) {
slot_fep_ul(fp,
&eNB->common_vars,
l,
(slot&1)+(proc->subframe_rx<<1),
0,
0
);
}
}
}
......@@ -2941,7 +2942,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
#ifdef DEBUG_PHY_PROC
LOG_D(PHY,"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)\n",eNB->Mod_id,frame, subframe);
#endif
LOG_D(PHY,"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)\n",eNB->Mod_id,frame, subframe);
eNB->rb_mask_ul[0]=0;
eNB->rb_mask_ul[1]=0;
......
......@@ -2626,10 +2626,10 @@ void ue_measurement_procedures(
if (l==0) {
// UE measurements on symbol 0
if (abstraction_flag==0) {
if (ue->do_ofdm_mod){//frequency analysis
if (ue->do_ofdm_mod){//frequency analysis
LOG_D(PHY,"Calling measurements subframe %d, thread[%d].rxdataF %p\n",subframe_rx,(slot>>1)&0x1,ue->common_vars.common_vars_rx_data_per_thread[(slot>>1)&0x1].rxdataF);
lte_ue_measurements(ue,
(subframe_rx*frame_parms->samples_per_tti+ue->rx_offset)%(frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME),
(subframe_rx*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti+ue->rx_offset)%(frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME),
(subframe_rx == 1) ? 1 : 0,
0,
0,
......@@ -3543,7 +3543,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
if (abstraction_flag == 0 ) {
for (l=2; l<12; l++) {
if (ue->do_ofdm_mod)
slot_fep_mbsfn(ue,
slot_fep_mbsfn_freq(ue,
l,
subframe_rx,
0,0);//ue->rx_offset,0);
......
......@@ -2173,8 +2173,8 @@ if (do_ofdm_mod){
phy_vars_eNB[CC_id]->common_vars.txdataF[0][i][j] = 16-j;
}
}
}
else{
}
else{
for (i=0; i<frame_parms->nb_antennas_rx; i++) {
card = i/4;
ant = i%4;
......@@ -2204,7 +2204,7 @@ if (do_ofdm_mod){
}
}
}
}
}
else { // not memory-mapped DMA
//nothing to do, everything already allocated in lte_init
/*
......
......@@ -493,8 +493,6 @@ static void *UE_thread_synch_freq(void *arg) {
int freq_offset=0;
char threadname[128];
//int do_ofdm_mod = UE->do_ofdm_mod;
cpu_set_t cpuset;
CPU_ZERO(&cpuset);
if ( threads.iq != -1 )
......
......@@ -704,6 +704,7 @@ void do_UL_sig(channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][MAX_N
// Compute RX signal for eNB = eNB_id
for (UE_id=0; UE_id<NB_UE_INST; UE_id++) {
printf("ue->generate_ul_signal[%d] %d\n",eNB_id,PHY_vars_UE_g[UE_id][CC_id]->generate_ul_signal[eNB_id]);
printf("[channel_sim_UL_time] subframe %d\n",subframe);
txdata = PHY_vars_UE_g[UE_id][CC_id]->common_vars.txdata;
sf_offset = subframe*frame_parms->samples_per_tti;
//for (int idx=0;idx<10;idx++) printf("dumping UL raw subframe %d: txdata[%d] = (%d,%d)\n", subframe, idx, ((short*)&txdata[0][sf_offset+idx])[0], ((short*)&txdata[0][sf_offset+idx])[1]);
......@@ -911,10 +912,11 @@ void do_UL_sig_freq(channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][
txdataF = PHY_vars_UE_g[UE_id][CC_id]->common_vars.txdataF;
AssertFatal(txdataF != NULL,"txdataF is null\n");
sf_offset = subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;
for (int idx=subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx<(subframe+1)*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx++){
printf("[channel_sim_UL_freq] subframe %d\n",subframe);
/*for (int idx=subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx<(subframe+1)*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx++){
if (((short*)&txdataF[0][idx])[0]!=0 || ((short*)&txdataF[0][idx])[1]!=0)
printf("dumping UL raw subframet %d: txdataF[%d] = (%d,%d)\n", subframe, idx, ((short*)&txdataF[0][idx])[0], ((short*)&txdataF[0][idx])[1]);
}
}*/
write_output("chsim_txsigF_UL.m","chsm_txsF_UL", &txdataF[0][0],10*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
if (((double)PHY_vars_UE_g[UE_id][CC_id]->tx_power_dBm[subframe] +
......@@ -1001,10 +1003,10 @@ void do_UL_sig_freq(channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][
frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,
1e3/UE2eNB[0][eNB_id][CC_id]->sampling_rate, // sampling time (ns)
(double)PHY_vars_eNB_g[eNB_id][CC_id]->rx_total_gain_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later)
for (int idx=subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx<(subframe+1)*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx++){
/*for (int idx=subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx<(subframe+1)*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx++){
if (((short*)&txdataF[0][idx])[0]!=0 || ((short*)&txdataF[0][idx])[1]!=0)
printf("dumping UL raw rx subframe (input) %d: rxdataF[%d] = (%f,%f)\n", subframe, idx, r_re_p_f[0][idx-subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti],r_im_p_f[0][idx-subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti]);
}
}*/
#ifdef DEBUG_SIM
rx_pwr = signal_energy_fp(r_re_p_f,r_im_p_f,nb_antennas_rx,frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,0)*(double)frame_parms->ofdm_symbol_size/(12.0*frame_parms->N_RB_DL);
......@@ -1014,16 +1016,16 @@ void do_UL_sig_freq(channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][
sf_offset = 0;//subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;
adc(r_re_p_f,
r_im_p_f,
0,
sf_offset,
sf_offset,
rxdataF,
nb_antennas_rx,
frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,
12);
for (int idx=subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx<(subframe+1)*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx++){
if (((short*)&txdataF[0][idx])[0]!=0 || ((short*)&txdataF[0][idx])[1]!=0)
/*for (int idx=0;idx<frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti;idx++){
if (((short*)&txdataF[0][idx+subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti])[0]!=0 || ((short*)&txdataF[0][idx+subframe*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti])[1]!=0)
printf("dumping UL raw rx subframe %d: rxdataF[%d] = (%d,%d)\n", subframe, idx, ((short*)&rxdataF[0][idx])[0], ((short*)&rxdataF[0][idx])[1]);
}
}*/
write_output("chsim_rxsigF_UL.m","chsm_rxsF_UL", (void*)rxdataF[0],2*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
#ifdef DEBUG_SIM
......@@ -1277,42 +1279,4 @@ void init_channel_vars_freq(LTE_DL_FRAME_PARMS *frame_parms, double ***s_re_f,do
pthread_mutex_init(&UE_output_mutex[i],NULL);
pthread_mutex_init(&UE_PRACH_output_mutex[i],NULL);
}
// Channel estimates initialization for eNB
/*for (eNB_id=0; eNB_id<1; eNB_id++) {//eNB_id<NB_ENB_INST
for (CC_id=0;CC_id<MAX_NUM_CCs;CC_id++){
PHY_vars_eNB_g[eNB_id][CC_id]->common_vars.rxdataF[eNB_id] = (int32_t**)malloc16(frame_parms->nb_antennas_rx*sizeof(int32_t*) );
PHY_vars_eNB_g[eNB_id][CC_id]->common_vars.txdataF[eNB_id] = (int32_t**)malloc16(NB_ANTENNA_PORTS_ENB*sizeof(int32_t*) );
for (i=0; i<frame_parms->nb_antennas_rx; i++) {
free( PHY_vars_eNB_g[eNB_id][CC_id]->common_vars.rxdataF[i] );
free( PHY_vars_eNB_g[eNB_id][CC_id]->common_vars.txdataF[i] );
PHY_vars_eNB_g[eNB_id][CC_id]->common_vars.rxdataF[eNB_id][i] = (int32_t *)malloc16_clear(10*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti*sizeof(int32_t) );
PHY_vars_eNB_g[eNB_id][CC_id]->common_vars.txdataF[eNB_id][i] = (int32_t *)malloc16_clear(10*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti*sizeof(int32_t) );
}
}
}*/
// Channel estimates initialization for UE
/*for (UE_id=0;UE_id<NB_UE_INST;UE_id++){
for (CC_id=0;CC_id<MAX_NUM_CCs;CC_id++){
// Channel estimates
for (eNB_id=0; eNB_id<NB_UE_INST; eNB_id++) {
for (th_id=0; th_id<RX_NB_TH_MAX; th_id++) {
PHY_vars_UE_g[UE_id][CC_id]->common_vars.common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id] = (int32_t**)malloc16_clear(8*sizeof(int32_t*));
}
for (i=0; i<frame_parms->nb_antennas_rx; i++)
for (j=0; j<4; j++) {
int idx = (j<<1) + i;
for (th_id=0; th_id<RX_NB_TH_MAX; th_id++) {
free(PHY_vars_UE_g[UE_id][CC_id]->common_vars.common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id][idx]);
PHY_vars_UE_g[UE_id][CC_id]->common_vars.common_vars_rx_data_per_thread[th_id].dl_ch_estimates[eNB_id][idx] = (int32_t*)malloc16_clear( sizeof(int32_t)*frame_parms->symbols_per_tti*(frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH) );
}
}
}
}
}*/
}
......@@ -1097,7 +1097,7 @@ int eNB_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
frame = (last/(10*PHY_vars_eNB_g[eNB_id][CC_id]->frame_parms.samples_per_tti))%1023;
}
//n_ra_prb = get_prach_prb_offset(frame_parms, PHY_vars_UE_g[0][CC_id]->prach_resources[eNB_id]->ra_TDD_map_index, PHY_vars_UE_g[0][CC_id]->proc.proc_rxtx[subframe&0x1].frame_tx);
printf("[oaisim_functs] subframe %d, frame %d\n",subframe,frame);
printf("[oaisim_functs]eNB_trx_read UL subframe %d, frame %d\n",subframe,frame);
LOG_D(PHY,"eNB_trx_read generating UL subframe %d (Ts %llu, current TS %llu)\n",
subframe,(unsigned long long)*ptimestamp,
(unsigned long long)current_eNB_rx_timestamp[eNB_id][CC_id]);
......@@ -1116,7 +1116,7 @@ int eNB_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
0, // frame is only used for abstraction
eNB_id,
CC_id);
write_output("txprachF.m","prach_txF", PHY_vars_UE_g[0][CC_id]->prach_vars[0]->prachF,12*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
//write_output("txprachF.m","prach_txF", PHY_vars_UE_g[0][CC_id]->prach_vars[0]->prachF,12*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
//generate_prach(PHY_vars_UE_g[0][0],eNB_id,subframe,frame);
//PHY_vars_UE_g[0][0]->generate_prach=1;
}
......@@ -1142,8 +1142,8 @@ int eNB_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
0, // frame is only used for abstraction
eNB_id,
CC_id);
if (is_prach_subframe(frame_parms,frame,subframe))
write_output("txprachF.m","prach_txF", PHY_vars_UE_g[0][CC_id]->prach_vars[0]->prachF,12*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
//if (is_prach_subframe(frame_parms,frame,subframe))
//write_output("txprachF.m","prach_txF", PHY_vars_UE_g[0][CC_id]->prach_vars[0]->prachF,12*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
}
last_eNB_rx_timestamp[eNB_id][CC_id] = last;
......@@ -1213,7 +1213,7 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
subframe = (last/PHY_vars_UE_g[UE_id][CC_id]->frame_parms.samples_per_tti)%10;
frame = (last/(10*PHY_vars_UE_g[UE_id][CC_id]->frame_parms.samples_per_tti))%1023;
}
printf("[oaisim_functs] subframe %d, frame %d\n",subframe,frame);
printf("[oaisim_functs]UE_trx_read DL subframe %d, frame %d\n",subframe,frame);
//subframe = (subframe+9) % 10;
LOG_D(PHY,"UE_trx_read generating DL subframe %d (Ts %llu, current TS %llu)\n",
......
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