Adding VCD functions to NR dlschsim
This commit is contained in:
committed by
Thomas Schlichter
parent
aec5ebcfff
commit
9078c5dcb2
@@ -2654,35 +2654,43 @@ add_executable(nr_pbchsim
|
|||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
|
${UTIL_SRC}
|
||||||
${T_SOURCE})
|
${T_SOURCE})
|
||||||
target_link_libraries(nr_pbchsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} dl)
|
target_link_libraries(nr_pbchsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
||||||
|
|
||||||
#PUCCH ---> Prashanth
|
#PUCCH ---> Prashanth
|
||||||
add_executable(nr_pucchsim
|
add_executable(nr_pucchsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
|
${UTIL_SRC}
|
||||||
${T_SOURCE})
|
${T_SOURCE})
|
||||||
target_link_libraries(nr_pucchsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} dl)
|
target_link_libraries(nr_pucchsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
||||||
#PUCCH ---> Prashanth
|
#PUCCH ---> Prashanth
|
||||||
|
|
||||||
add_executable(nr_dlsim
|
add_executable(nr_dlsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
|
${UTIL_SRC}
|
||||||
${T_SOURCE})
|
${T_SOURCE})
|
||||||
target_link_libraries(nr_dlsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} dl)
|
target_link_libraries(nr_dlsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
||||||
|
|
||||||
add_executable(nr_ulschsim
|
add_executable(nr_ulschsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulschsim.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
|
${UTIL_SRC}
|
||||||
${T_SOURCE})
|
${T_SOURCE})
|
||||||
target_link_libraries(nr_ulschsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} dl)
|
target_link_libraries(nr_ulschsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
||||||
|
|
||||||
add_executable(nr_ulsim
|
add_executable(nr_ulsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
|
${UTIL_SRC}
|
||||||
${T_SOURCE})
|
${T_SOURCE})
|
||||||
target_link_libraries(nr_ulsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} dl)
|
target_link_libraries(nr_ulsim -Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_NR -Wl,--end-group m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
||||||
|
|
||||||
|
|
||||||
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
|
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
|
||||||
|
|||||||
@@ -367,6 +367,11 @@ const char* eurecomFunctionsNames[] = {
|
|||||||
"dlsch_decoding5",
|
"dlsch_decoding5",
|
||||||
"dlsch_decoding6",
|
"dlsch_decoding6",
|
||||||
"dlsch_decoding7",
|
"dlsch_decoding7",
|
||||||
|
"dlsch_segmentation",
|
||||||
|
"dlsch_deinterleaving",
|
||||||
|
"dlsch_rate_matching",
|
||||||
|
"dlsch_ldpc",
|
||||||
|
"dlsch_compine_seg",
|
||||||
"dlsch_pmch_decoding",
|
"dlsch_pmch_decoding",
|
||||||
"rx_pdcch",
|
"rx_pdcch",
|
||||||
"dci_decoding",
|
"dci_decoding",
|
||||||
|
|||||||
@@ -348,6 +348,11 @@ typedef enum {
|
|||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING5,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING5,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING6,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING6,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING7,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING7,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_SEGMENTATION,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DEINTERLEAVING,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_RATE_MATCHING,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_LDPC,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_COMBINE_SEG,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PMCH_DECODING,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_PMCH_DECODING,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING,
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ typedef struct {
|
|||||||
} T_cache_t;
|
} T_cache_t;
|
||||||
|
|
||||||
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
|
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
|
||||||
#define VCD_NUM_FUNCTIONS (232)
|
#define VCD_NUM_FUNCTIONS (237)//(232)
|
||||||
|
|
||||||
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
|
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
|
||||||
#define VCD_NUM_VARIABLES (185)
|
#define VCD_NUM_VARIABLES (185)
|
||||||
|
|||||||
@@ -2613,6 +2613,31 @@ ID = VCD_FUNCTION_DLSCH_DECODING7
|
|||||||
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
FORMAT = int,value
|
FORMAT = int,value
|
||||||
VCD_NAME = dlsch_decoding7
|
VCD_NAME = dlsch_decoding7
|
||||||
|
ID = VCD_FUNCTION_DLSCH_SEGMENTATION
|
||||||
|
DESC = VCD function DLSCH_SEGMENTATION
|
||||||
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = dlsch_segmentation
|
||||||
|
ID = VCD_FUNCTION_DLSCH_DEINTERLEAVING
|
||||||
|
DESC = VCD function DLSCH_DEINTERLEAVING
|
||||||
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = dlsch_deinterleaving
|
||||||
|
ID = VCD_FUNCTION_DLSCH_RATE_MATCHING
|
||||||
|
DESC = VCD function DLSCH_RATE_MATCHING
|
||||||
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = dlsch_rate_matching
|
||||||
|
ID = VCD_FUNCTION_DLSCH_LDPC
|
||||||
|
DESC = VCD function DLSCH_LDPC
|
||||||
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = dlsch_ldpc
|
||||||
|
ID = VCD_FUNCTION_DLSCH_COMBINE_SEG
|
||||||
|
DESC = VCD function DLSCH_COMBINE_SEG
|
||||||
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
|
FORMAT = int,value
|
||||||
|
VCD_NAME = dlsch_compine_seg
|
||||||
ID = VCD_FUNCTION_DLSCH_PMCH_DECODING
|
ID = VCD_FUNCTION_DLSCH_PMCH_DECODING
|
||||||
DESC = VCD function DLSCH_PMCH_DECODING
|
DESC = VCD function DLSCH_PMCH_DECODING
|
||||||
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
GROUP = ALL:VCD:ENB:VCD_FUNCTION
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
* \warning
|
* \warning
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||||
#include "PHY/defs_nr_UE.h"
|
#include "PHY/defs_nr_UE.h"
|
||||||
#include "PHY/phy_extern_nr_ue.h"
|
#include "PHY/phy_extern_nr_ue.h"
|
||||||
#include "PHY/CODING/coding_extern.h"
|
#include "PHY/CODING/coding_extern.h"
|
||||||
@@ -307,6 +308,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
|
|
||||||
LOG_I(PHY,"DLSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_symb_sch %d nb_rb %d\n",harq_pid,A,G, harq_process->mcs, harq_process->Nl, nb_symb_sch,nb_rb);
|
LOG_I(PHY,"DLSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_symb_sch %d nb_rb %d\n",harq_pid,A,G, harq_process->mcs, harq_process->Nl, nb_symb_sch,nb_rb);
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_SEGMENTATION, VCD_FUNCTION_IN);
|
||||||
|
|
||||||
if (harq_process->round == 0) {
|
if (harq_process->round == 0) {
|
||||||
// This is a new packet, so compute quantities regarding segmentation
|
// This is a new packet, so compute quantities regarding segmentation
|
||||||
harq_process->B = A+24;
|
harq_process->B = A+24;
|
||||||
@@ -324,6 +327,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_SEGMENTATION, VCD_FUNCTION_OUT);
|
||||||
|
|
||||||
p_decParams->Z = harq_process->Z;
|
p_decParams->Z = harq_process->Z;
|
||||||
//printf("dlsch decoding nr segmentation Z %d\n", p_decParams->Z);
|
//printf("dlsch decoding nr segmentation Z %d\n", p_decParams->Z);
|
||||||
|
|
||||||
@@ -406,11 +411,16 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
start_meas(dlsch_deinterleaving_stats);
|
start_meas(dlsch_deinterleaving_stats);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DEINTERLEAVING, VCD_FUNCTION_IN);
|
||||||
|
|
||||||
nr_deinterleaving_ldpc(E,
|
nr_deinterleaving_ldpc(E,
|
||||||
harq_process->Qm,
|
harq_process->Qm,
|
||||||
harq_process->w[r], // [hna] w is e
|
harq_process->w[r], // [hna] w is e
|
||||||
dlsch_llr+r_offset);
|
dlsch_llr+r_offset);
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DEINTERLEAVING, VCD_FUNCTION_OUT);
|
||||||
|
|
||||||
//for (int i =0; i<16; i++)
|
//for (int i =0; i<16; i++)
|
||||||
// printf("rx output deinterleaving w[%d]= %d r_offset %d\n", i,harq_process->w[r][i], r_offset);
|
// printf("rx output deinterleaving w[%d]= %d r_offset %d\n", i,harq_process->w[r][i], r_offset);
|
||||||
|
|
||||||
@@ -434,6 +444,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
harq_process->round);
|
harq_process->round);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_RATE_MATCHING, VCD_FUNCTION_IN);
|
||||||
|
|
||||||
if (nr_rate_matching_ldpc_rx(Ilbrm,
|
if (nr_rate_matching_ldpc_rx(Ilbrm,
|
||||||
Tbslbrm,
|
Tbslbrm,
|
||||||
p_decParams->BG,
|
p_decParams->BG,
|
||||||
@@ -444,12 +456,15 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
harq_process->rvidx,
|
harq_process->rvidx,
|
||||||
(harq_process->round==0)?1:0,
|
(harq_process->round==0)?1:0,
|
||||||
E)==-1) {
|
E)==-1) {
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_RATE_MATCHING, VCD_FUNCTION_OUT);
|
||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
stop_meas(dlsch_rate_unmatching_stats);
|
stop_meas(dlsch_rate_unmatching_stats);
|
||||||
#endif
|
#endif
|
||||||
LOG_E(PHY,"dlsch_decoding.c: Problem in rate_matching\n");
|
LOG_E(PHY,"dlsch_decoding.c: Problem in rate_matching\n");
|
||||||
return(dlsch->max_ldpc_iterations + 1);
|
return(dlsch->max_ldpc_iterations + 1);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_RATE_MATCHING, VCD_FUNCTION_OUT);
|
||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
stop_meas(dlsch_rate_unmatching_stats);
|
stop_meas(dlsch_rate_unmatching_stats);
|
||||||
#endif
|
#endif
|
||||||
@@ -515,12 +530,16 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
pl[j] = _mm_packs_epi16(pv[i],pv[i+1]);
|
pl[j] = _mm_packs_epi16(pv[i],pv[i+1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_LDPC, VCD_FUNCTION_IN);
|
||||||
|
|
||||||
no_iteration_ldpc = nrLDPC_decoder(p_decParams,
|
no_iteration_ldpc = nrLDPC_decoder(p_decParams,
|
||||||
(int8_t*)&pl[0],
|
(int8_t*)&pl[0],
|
||||||
llrProcBuf,
|
llrProcBuf,
|
||||||
p_nrLDPC_procBuf[r],
|
p_nrLDPC_procBuf[r],
|
||||||
p_procTime);
|
p_procTime);
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_LDPC, VCD_FUNCTION_OUT);
|
||||||
|
|
||||||
// Fixme: correct type is unsigned, but nrLDPC_decoder and all called behind use signed int
|
// Fixme: correct type is unsigned, but nrLDPC_decoder and all called behind use signed int
|
||||||
if (check_crc((uint8_t*)llrProcBuf,length_dec,harq_process->F,crc_type)) {
|
if (check_crc((uint8_t*)llrProcBuf,length_dec,harq_process->F,crc_type)) {
|
||||||
printf("\x1B[34m" "Segment %d CRC OK\n",r);
|
printf("\x1B[34m" "Segment %d CRC OK\n",r);
|
||||||
@@ -642,6 +661,9 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
printf("F %d, Fbytes %d\n",harq_process->F,harq_process->F>>3);
|
printf("F %d, Fbytes %d\n",harq_process->F,harq_process->F>>3);
|
||||||
printf("C %d\n",harq_process->C);
|
printf("C %d\n",harq_process->C);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_COMBINE_SEG, VCD_FUNCTION_IN);
|
||||||
|
|
||||||
for (r=0; r<harq_process->C; r++) {
|
for (r=0; r<harq_process->C; r++) {
|
||||||
|
|
||||||
memcpy(harq_process->b+offset,
|
memcpy(harq_process->b+offset,
|
||||||
@@ -661,6 +683,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_COMBINE_SEG, VCD_FUNCTION_OUT);
|
||||||
|
|
||||||
dlsch->last_iteration_cnt = ret;
|
dlsch->last_iteration_cnt = ret;
|
||||||
|
|
||||||
return(ret);
|
return(ret);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
#include "common/config/config_userapi.h"
|
#include "common/config/config_userapi.h"
|
||||||
#include "common/utils/LOG/log.h"
|
#include "common/utils/LOG/log.h"
|
||||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||||
|
#include "T.h"
|
||||||
#include "PHY/defs_gNB.h"
|
#include "PHY/defs_gNB.h"
|
||||||
#include "PHY/defs_nr_common.h"
|
#include "PHY/defs_nr_common.h"
|
||||||
#include "PHY/defs_nr_UE.h"
|
#include "PHY/defs_nr_UE.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user