Commit 353f1533 authored by Francesco Mani's avatar Francesco Mani

slot_fep for ssb done once before sss and pbch channel estimation moved out of slot_fep

parent 2156ba10
...@@ -363,7 +363,7 @@ void nr_phy_config_request_sim(PHY_VARS_gNB *gNB,int N_RB_DL,int N_RB_UL,int mu, ...@@ -363,7 +363,7 @@ void nr_phy_config_request_sim(PHY_VARS_gNB *gNB,int N_RB_DL,int N_RB_UL,int mu,
NR_DL_FRAME_PARMS *fp = &gNB->frame_parms; NR_DL_FRAME_PARMS *fp = &gNB->frame_parms;
nfapi_nr_config_request_t *gNB_config = &gNB->gNB_config; nfapi_nr_config_request_t *gNB_config = &gNB->gNB_config;
//overwrite for new NR parameters //overwrite for new NR parameters
gNB_config->nfapi_config.rf_bands.rf_band[0] = 78; gNB_config->nfapi_config.rf_bands.rf_band[0] = 5;
gNB_config->nfapi_config.nrarfcn.value = 620000; gNB_config->nfapi_config.nrarfcn.value = 620000;
gNB_config->subframe_config.numerology_index_mu.value = mu; gNB_config->subframe_config.numerology_index_mu.value = mu;
gNB_config->subframe_config.duplex_mode.value = TDD; gNB_config->subframe_config.duplex_mode.value = TDD;
......
...@@ -53,8 +53,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *phy_vars_ue, ...@@ -53,8 +53,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *phy_vars_ue,
unsigned char Ns, unsigned char Ns,
int sample_offset, int sample_offset,
int no_prefix, int no_prefix,
int reset_freq_est, NR_CHANNEL_EST_t channel);
NR_CHANNEL_EST_t channel);
int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue, int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
unsigned char l, unsigned char l,
......
...@@ -39,12 +39,10 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue, ...@@ -39,12 +39,10 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
unsigned char Ns, unsigned char Ns,
int sample_offset, int sample_offset,
int no_prefix, int no_prefix,
int reset_freq_est,
NR_CHANNEL_EST_t channel) NR_CHANNEL_EST_t channel)
{ {
NR_DL_FRAME_PARMS *frame_parms = &ue->frame_parms; NR_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
NR_UE_COMMON *common_vars = &ue->common_vars; NR_UE_COMMON *common_vars = &ue->common_vars;
uint8_t eNB_id = 0;//ue_common_vars->eNb_id;
unsigned char aa; unsigned char aa;
unsigned char symbol = l;//+((7-frame_parms->Ncp)*(Ns&1)); ///symbol within sub-frame unsigned char symbol = l;//+((7-frame_parms->Ncp)*(Ns&1)); ///symbol within sub-frame
unsigned int nb_prefix_samples = (no_prefix ? 0 : frame_parms->nb_prefix_samples); unsigned int nb_prefix_samples = (no_prefix ? 0 : frame_parms->nb_prefix_samples);
...@@ -204,56 +202,17 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue, ...@@ -204,56 +202,17 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
switch(channel){ switch(channel){
case NR_PBCH_EST: case NR_PBCH_EST:
#ifdef DEBUG_FEP
printf("Channel estimation eNB %d, slot %d, symbol %d\n",eNB_id,Ns,l);
#endif
#if UE_TIMING_TRACE
start_meas(&ue->dlsch_channel_estimation_stats);
#endif
nr_pbch_channel_estimation(ue,eNB_id,0,
Ns,
l,
symbol);
//}
#if UE_TIMING_TRACE
stop_meas(&ue->dlsch_channel_estimation_stats);
#endif
// do frequency offset estimation here!
// use channel estimates from current symbol (=ch_t) and last symbol (ch_{t-1})
#ifdef DEBUG_FEP
printf("Frequency offset estimation\n");
#endif
if (l==(4-frame_parms->Ncp)) {
#if UE_TIMING_TRACE
start_meas(&ue->dlsch_freq_offset_estimation_stats);
#endif
/*lte_est_freq_offset(common_vars->common_vars_rx_data_per_thread[ue->current_thread_id[Ns>>1]].dl_ch_estimates[0],
frame_parms,
l,
&common_vars->freq_offset,
reset_freq_est);*/
#if UE_TIMING_TRACE
stop_meas(&ue->dlsch_freq_offset_estimation_stats);
#endif
}
break; break;
case NR_PDCCH_EST: case NR_PDCCH_EST:
#ifdef DEBUG_FEP #ifdef DEBUG_FEP
printf("PDCCH Channel estimation eNB %d, aatx %d, slot %d, symbol %d start_sc %d\n",eNB_id,aa,Ns,l,coreset_start_subcarrier); printf("PDCCH Channel estimation aatx %d, slot %d, symbol %d start_sc %d\n",aa,Ns,l,coreset_start_subcarrier);
#endif #endif
#if UE_TIMING_TRACE #if UE_TIMING_TRACE
start_meas(&ue->dlsch_channel_estimation_stats); start_meas(&ue->dlsch_channel_estimation_stats);
#endif #endif
nr_pdcch_channel_estimation(ue,eNB_id,0, nr_pdcch_channel_estimation(ue,0,
Ns, Ns,
l, l,
symbol, symbol,
...@@ -267,7 +226,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue, ...@@ -267,7 +226,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
case NR_PDSCH_EST: case NR_PDSCH_EST:
#ifdef DEBUG_FEP #ifdef DEBUG_FEP
printf("Channel estimation eNB %d, aatx %d, slot %d, symbol %d\n",eNB_id,aa,Ns,l); printf("Channel estimation aatx %d, slot %d, symbol %d\n",aa,Ns,l);
#endif #endif
#if UE_TIMING_TRACE #if UE_TIMING_TRACE
start_meas(&ue->dlsch_channel_estimation_stats); start_meas(&ue->dlsch_channel_estimation_stats);
...@@ -276,7 +235,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue, ...@@ -276,7 +235,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
ue->frame_parms.nushift = (p>>1)&1;; ue->frame_parms.nushift = (p>>1)&1;;
if (symbol ==l0) if (symbol ==l0)
nr_pdsch_channel_estimation(ue,eNB_id,0, nr_pdsch_channel_estimation(ue,0,
Ns, Ns,
p, p,
l, l,
......
...@@ -33,10 +33,8 @@ ...@@ -33,10 +33,8 @@
int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
uint8_t eNB_id,
uint8_t eNB_offset, uint8_t eNB_offset,
unsigned char Ns, unsigned char Ns,
unsigned char l,
unsigned char symbol) unsigned char symbol)
{ {
int pilot[200] __attribute__((aligned(16))); int pilot[200] __attribute__((aligned(16)));
...@@ -78,8 +76,8 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -78,8 +76,8 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
k = nushift; k = nushift;
#ifdef DEBUG_CH #ifdef DEBUG_CH
printf("PBCH Channel Estimation : ThreadId %d, eNB_offset %d ch_offset %d, OFDM size %d, Ncp=%d, l=%d, Ns=%d, k=%d symbol %d\n",ue->current_thread_id[Ns>>1], eNB_offset,ch_offset,ue->frame_parms.ofdm_symbol_size, printf("PBCH Channel Estimation : ThreadId %d, eNB_offset %d ch_offset %d, OFDM size %d, Ncp=%d, Ns=%d, k=%d symbol %d\n",ue->current_thread_id[Ns>>1], eNB_offset,ch_offset,ue->frame_parms.ofdm_symbol_size,
ue->frame_parms.Ncp,l,Ns,k, symbol); ue->frame_parms.Ncp,Ns,k, symbol);
#endif #endif
switch (k) { switch (k) {
...@@ -254,7 +252,6 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -254,7 +252,6 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
} }
int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
uint8_t eNB_id,
uint8_t eNB_offset, uint8_t eNB_offset,
unsigned char Ns, unsigned char Ns,
unsigned char l, unsigned char l,
...@@ -478,7 +475,6 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -478,7 +475,6 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
} }
int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
uint8_t eNB_id,
uint8_t eNB_offset, uint8_t eNB_offset,
unsigned char Ns, unsigned char Ns,
unsigned short p, unsigned short p,
......
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
\param symbol symbol within frame \param symbol symbol within frame
*/ */
int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
uint8_t eNB_id,
uint8_t eNB_offset, uint8_t eNB_offset,
unsigned char Ns, unsigned char Ns,
unsigned char l, unsigned char l,
...@@ -52,14 +51,11 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -52,14 +51,11 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
unsigned short nb_rb_coreset); unsigned short nb_rb_coreset);
int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
uint8_t eNB_id,
uint8_t eNB_offset, uint8_t eNB_offset,
unsigned char Ns, unsigned char Ns,
unsigned char l,
unsigned char symbol); unsigned char symbol);
int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue, int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
uint8_t eNB_id,
uint8_t eNB_offset, uint8_t eNB_offset,
unsigned char Ns, unsigned char Ns,
unsigned short p, unsigned short p,
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "PHY/INIT/phy_init.h" #include "PHY/INIT/phy_init.h"
#include "PHY/MODULATION/modulation_UE.h" #include "PHY/MODULATION/modulation_UE.h"
#include "nr_transport_proto_ue.h" #include "nr_transport_proto_ue.h"
#include "PHY/NR_UE_ESTIMATION/nr_estimation.h"
//#include "SCHED/defs.h" //#include "SCHED/defs.h"
//#include "SCHED/extern.h" //#include "SCHED/extern.h"
...@@ -68,32 +69,18 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode) ...@@ -68,32 +69,18 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
frame_parms->nb_prefix_samples0 = frame_parms->nb_prefix_samples; frame_parms->nb_prefix_samples0 = frame_parms->nb_prefix_samples;
//symbol 1 for(int i=1; i<4;i++) {
nr_slot_fep(ue,
1, #if UE_TIMING_TRACE
0, start_meas(&ue->dlsch_channel_estimation_stats);
ue->ssb_offset, #endif
0, nr_pbch_channel_estimation(ue,0,
1, 0,
NR_PBCH_EST); i);
#if UE_TIMING_TRACE
//symbol 2 stop_meas(&ue->dlsch_channel_estimation_stats);
nr_slot_fep(ue, #endif
2, }
0,
ue->ssb_offset,
0,
1,
NR_PBCH_EST);
//symbol 3
nr_slot_fep(ue,
3,
0,
ue->ssb_offset,
0,
1,
NR_PBCH_EST);
//put back nb_prefix_samples0 //put back nb_prefix_samples0
frame_parms->nb_prefix_samples0 = nb_prefix_samples0; frame_parms->nb_prefix_samples0 = nb_prefix_samples0;
...@@ -224,6 +211,15 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode) ...@@ -224,6 +211,15 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
/* check that SSS/PBCH block is continuous inside the received buffer */ /* check that SSS/PBCH block is continuous inside the received buffer */
if (sync_pos < (NR_NUMBER_OF_SUBFRAMES_PER_FRAME*fp->samples_per_subframe - (NB_SYMBOLS_PBCH * fp->ofdm_symbol_size))) { if (sync_pos < (NR_NUMBER_OF_SUBFRAMES_PER_FRAME*fp->samples_per_subframe - (NB_SYMBOLS_PBCH * fp->ofdm_symbol_size))) {
for(int i=0; i<4;i++)
nr_slot_fep(ue,
i,
0,
ue->ssb_offset,
0,
NR_PBCH_EST);
#ifdef DEBUG_INITIAL_SYNCH #ifdef DEBUG_INITIAL_SYNCH
LOG_I(PHY,"Calling sss detection (normal CP)\n"); LOG_I(PHY,"Calling sss detection (normal CP)\n");
#endif #endif
...@@ -241,8 +237,8 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode) ...@@ -241,8 +237,8 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
int nb_prefix_samples0 = fp->nb_prefix_samples0; int nb_prefix_samples0 = fp->nb_prefix_samples0;
fp->nb_prefix_samples0 = fp->nb_prefix_samples; fp->nb_prefix_samples0 = fp->nb_prefix_samples;
nr_slot_fep(ue,0, 0, ue->ssb_offset, 0, 1, NR_PDCCH_EST); nr_slot_fep(ue,0, 0, ue->ssb_offset, 0, NR_PDCCH_EST);
nr_slot_fep(ue,1, 0, ue->ssb_offset, 0, 1, NR_PDCCH_EST); nr_slot_fep(ue,1, 0, ue->ssb_offset, 0, NR_PDCCH_EST);
fp->nb_prefix_samples0 = nb_prefix_samples0; fp->nb_prefix_samples0 = nb_prefix_samples0;
LOG_I(PHY,"[UE %d] AUTOTEST Cell Sync : frame = %d, rx_offset %d, freq_offset %d \n", LOG_I(PHY,"[UE %d] AUTOTEST Cell Sync : frame = %d, rx_offset %d, freq_offset %d \n",
......
...@@ -898,6 +898,7 @@ int pss_search_time_nr(int **rxdata, ///rx data in time domain ...@@ -898,6 +898,7 @@ int pss_search_time_nr(int **rxdata, ///rx data in time domain
} }
if (fo_flag){ if (fo_flag){
// fractional frequency offser computation according to Cross-correlation Synchronization Algorithm Using PSS // fractional frequency offser computation according to Cross-correlation Synchronization Algorithm Using PSS
// Shoujun Huang, Yongtao Su, Ying He and Shan Tang, "Joint time and frequency offset estimation in LTE downlink," 7th International Conference on Communications and Networking in China, 2012. // Shoujun Huang, Yongtao Su, Ying He and Shan Tang, "Joint time and frequency offset estimation in LTE downlink," 7th International Conference on Communications and Networking in China, 2012.
...@@ -922,7 +923,7 @@ int pss_search_time_nr(int **rxdata, ///rx data in time domain ...@@ -922,7 +923,7 @@ int pss_search_time_nr(int **rxdata, ///rx data in time domain
// estimation of fractional frequency offset: angle[(result1)'*(result2)]/pi // estimation of fractional frequency offset: angle[(result1)'*(result2)]/pi
ffo_est=atan2(re1*im2-re2*im1,re1*re2+im1*im2)/M_PI; ffo_est=atan2(re1*im2-re2*im1,re1*re2+im1*im2)/M_PI;
#ifdef DBG_PSS_NR #ifdef DBG_PSS_NR
printf("ffo %lf\n",ffo_est); printf("ffo %lf\n",ffo_est);
#endif #endif
......
...@@ -443,24 +443,6 @@ int rx_sss_nr(PHY_VARS_NR_UE *ue, int32_t *tot_metric,uint8_t *phase_max) ...@@ -443,24 +443,6 @@ int rx_sss_nr(PHY_VARS_NR_UE *ue, int32_t *tot_metric,uint8_t *phase_max)
// For now, symbol 0 = PSS/PBCH and it is never in symbol 0 or 7*2^mu (i.e. always shorter prefix) // For now, symbol 0 = PSS/PBCH and it is never in symbol 0 or 7*2^mu (i.e. always shorter prefix)
frame_parms->nb_prefix_samples0 = frame_parms->nb_prefix_samples; frame_parms->nb_prefix_samples0 = frame_parms->nb_prefix_samples;
// Do FFTs for SSS/PSS
// SSS
nr_slot_fep(ue,
SSS_SYMBOL_NB-PSS_SYMBOL_NB, // symbol number w.r.t. PSS
0, // Ns slot number
ue->ssb_offset, // sample_offset of int16_t
0, // no_prefix
1, // reset frequency estimation
NR_SSS_EST);
// PSS
nr_slot_fep(ue,
0,
0,
ue->ssb_offset,
0,
1,
NR_SSS_EST);
frame_parms->nb_prefix_samples0 = nb_prefix_samples0; frame_parms->nb_prefix_samples0 = nb_prefix_samples0;
......
...@@ -4991,7 +4991,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN ...@@ -4991,7 +4991,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
nr_tti_rx, nr_tti_rx,
0, 0,
0, 0,
1,
NR_PDCCH_EST); NR_PDCCH_EST);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_OUT); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_OUT);
#if UE_TIMING_TRACE #if UE_TIMING_TRACE
...@@ -5022,7 +5021,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN ...@@ -5022,7 +5021,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
nr_tti_rx, nr_tti_rx,
0, 0,
0, 0,
1,
NR_PDSCH_EST); NR_PDSCH_EST);
//printf("phy procedure pdsch start measurement\n"); //printf("phy procedure pdsch start measurement\n");
...@@ -5106,7 +5104,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN ...@@ -5106,7 +5104,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
nr_tti_rx, nr_tti_rx,
0, 0,
0, 0,
1,
NR_PBCH_EST); NR_PBCH_EST);
nr_ue_pbch_procedures(eNB_id,ue,proc,0); nr_ue_pbch_procedures(eNB_id,ue,proc,0);
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include "PHY/INIT/phy_init.h" #include "PHY/INIT/phy_init.h"
#include "PHY/NR_TRANSPORT/nr_transport.h" #include "PHY/NR_TRANSPORT/nr_transport.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h" #include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/NR_UE_ESTIMATION/nr_estimation.h"
#include "SCHED_NR/sched_nr.h" #include "SCHED_NR/sched_nr.h"
...@@ -371,6 +372,7 @@ int main(int argc, char **argv) ...@@ -371,6 +372,7 @@ int main(int argc, char **argv)
frame_parms->N_RB_DL = N_RB_DL; frame_parms->N_RB_DL = N_RB_DL;
frame_parms->N_RB_UL = N_RB_DL; frame_parms->N_RB_UL = N_RB_DL;
frame_parms->Nid_cell = Nid_cell; frame_parms->Nid_cell = Nid_cell;
frame_parms->ssb_type = nr_ssb_type_B;
nr_phy_config_request_sim(gNB,N_RB_DL,N_RB_DL,mu,Nid_cell,SSB_positions); nr_phy_config_request_sim(gNB,N_RB_DL,N_RB_DL,mu,Nid_cell,SSB_positions);
phy_init_nr_gNB(gNB,0,0); phy_init_nr_gNB(gNB,0,0);
...@@ -545,7 +547,6 @@ int main(int argc, char **argv) ...@@ -545,7 +547,6 @@ int main(int argc, char **argv)
n_errors_payload = 0; n_errors_payload = 0;
for (trial=0; trial<n_trials; trial++) { for (trial=0; trial<n_trials; trial++) {
// multipath channel // multipath channel
//multipath_channel(gNB2UE,s_re,s_im,r_re,r_im,frame_length_complex_samples,0); //multipath_channel(gNB2UE,s_re,s_im,r_re,r_im,frame_length_complex_samples,0);
...@@ -596,32 +597,17 @@ int main(int argc, char **argv) ...@@ -596,32 +597,17 @@ int main(int argc, char **argv)
} }
else { else {
UE->rx_offset=0; UE->rx_offset=0;
//symbol 1
nr_slot_fep(UE, for (int i=5; i<8; i++) {
5, nr_slot_fep(UE,
0, i,
0, 0,
0, 0,
1, 0,
NR_PBCH_EST); NR_PBCH_EST);
//symbol 2 nr_pbch_channel_estimation(UE,0,0,i);
nr_slot_fep(UE, }
6,
0,
0,
0,
1,
NR_PBCH_EST);
//symbol 3
nr_slot_fep(UE,
7,
0,
0,
0,
1,
NR_PBCH_EST);
ret = nr_rx_pbch(UE, ret = nr_rx_pbch(UE,
&UE->proc.proc_rxtx[0], &UE->proc.proc_rxtx[0],
......
...@@ -965,7 +965,7 @@ void *UE_thread(void *arg) { ...@@ -965,7 +965,7 @@ void *UE_thread(void *arg) {
UE->frame_parms.ofdm_symbol_size+UE->frame_parms.nb_prefix_samples0, UE->frame_parms.ofdm_symbol_size+UE->frame_parms.nb_prefix_samples0,
UE->frame_parms.nb_antennas_rx),""); UE->frame_parms.nb_antennas_rx),"");
//write_output("txdata_sym.m", "txdata_sym", UE->common_vars.rxdata[0], (UE->frame_parms.ofdm_symbol_size+UE->frame_parms.nb_prefix_samples0), 1, 1); //write_output("txdata_sym.m", "txdata_sym", UE->common_vars.rxdata[0], (UE->frame_parms.ofdm_symbol_size+UE->frame_parms.nb_prefix_samples0), 1, 1);
//nr_slot_fep(UE,0, 0, 0, 1, 1, NR_PDCCH_EST); //nr_slot_fep(UE,0, 0, 0, 1, NR_PDCCH_EST);
} //UE->mode != loop_through_memory } //UE->mode != loop_through_memory
else else
rt_sleep_ns(1000*1000); rt_sleep_ns(1000*1000);
......
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