From 90ee1ba73b932047225a1870ca46e09f4cb7cc53 Mon Sep 17 00:00:00 2001 From: ismagom Date: Tue, 19 Apr 2016 13:42:42 +0200 Subject: [PATCH] Fixed VOLK compiler definitions. Reduced track sync window --- cmake/modules/FindVolk.cmake | 25 ------------------------- srslte/lib/CMakeLists.txt | 1 - srslte/lib/ue/ue_sync.c | 7 ++++++- srslte/lib/utils/CMakeLists.txt | 5 +++++ 4 files changed, 11 insertions(+), 27 deletions(-) diff --git a/cmake/modules/FindVolk.cmake b/cmake/modules/FindVolk.cmake index c36f78557..4a5f028c5 100644 --- a/cmake/modules/FindVolk.cmake +++ b/cmake/modules/FindVolk.cmake @@ -24,31 +24,6 @@ FIND_LIBRARY( /usr/lib64 ) -# Some functions are not defined in old volk versions -SET(CMAKE_REQUIRED_LIBRARIES volk m) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_index_max_16u HAVE_VOLK_MAX_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_accumulator_s32f HAVE_VOLK_ACC_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_s32fc_multiply_32fc HAVE_VOLK_MULT_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_conjugate_32fc HAVE_VOLK_CONJ_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_x2_multiply_32fc HAVE_VOLK_MULT2_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_x2_multiply_conjugate_32fc HAVE_VOLK_MULT2_CONJ_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_32f_multiply_32fc HAVE_VOLK_MULT_REAL_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_s32f_multiply_32f HAVE_VOLK_MULT_FLOAT_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_x2_multiply_32f HAVE_VOLK_MULT_REAL2_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_magnitude_32f HAVE_VOLK_MAG_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_x2_divide_32f HAVE_VOLK_DIVIDE_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_32f_dot_prod_32fc HAVE_VOLK_DOTPROD_FC_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_x2_conjugate_dot_prod_32fc HAVE_VOLK_DOTPROD_CONJ_FC_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_x2_dot_prod_32f HAVE_VOLK_DOTPROD_F_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_s32f_atan2_32f HAVE_VOLK_ATAN_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_s32f_convert_16i HAVE_VOLK_CONVERT_FI_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_deinterleave_32f_x2 HAVE_VOLK_DEINTERLEAVE_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32f_x2_subtract_32f HAVE_VOLK_SUB_FLOAT_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_x2_square_dist_32f HAVE_VOLK_SQUARE_DIST_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_deinterleave_real_32f HAVE_VOLK_DEINTERLEAVE_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_32fc_index_max_16u HAVE_VOLK_MAX_ABS_FUNCTION) -CHECK_FUNCTION_EXISTS_MATH(volk_16i_s32f_convert_32f HAVE_VOLK_CONVERT_IF_FUNCTION) - INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(VOLK DEFAULT_MSG VOLK_LIBRARIES VOLK_INCLUDE_DIRS) MARK_AS_ADVANCED(VOLK_LIBRARIES VOLK_INCLUDE_DIRS VOLK_DEFINITIONS) diff --git a/srslte/lib/CMakeLists.txt b/srslte/lib/CMakeLists.txt index 5f2fac04b..d5c1e0feb 100644 --- a/srslte/lib/CMakeLists.txt +++ b/srslte/lib/CMakeLists.txt @@ -91,7 +91,6 @@ if(RF_FOUND) endif(RF_FOUND) if(VOLK_FOUND) - set_target_properties(srslte PROPERTIES COMPILE_DEFINITIONS "${VOLK_DEFINITIONS}") target_link_libraries(srslte ${VOLK_LIBRARIES}) endif(VOLK_FOUND) diff --git a/srslte/lib/ue/ue_sync.c b/srslte/lib/ue/ue_sync.c index a3f266fdc..12eb3673c 100644 --- a/srslte/lib/ue/ue_sync.c +++ b/srslte/lib/ue/ue_sync.c @@ -163,7 +163,7 @@ int srslte_ue_sync_init(srslte_ue_sync_t *q, goto clean_exit; } } else { - if(srslte_sync_init(&q->strack, q->frame_len, 2*SRSLTE_CP_LEN_NORM(1,q->fft_size), q->fft_size)) { + if(srslte_sync_init(&q->strack, q->frame_len, SRSLTE_CP_LEN_NORM(1,q->fft_size), q->fft_size)) { fprintf(stderr, "Error initiating sync track\n"); goto clean_exit; } @@ -516,6 +516,9 @@ int srslte_ue_sync_zerocopy(srslte_ue_sync_t *q, cf_t *input_buffer) { fprintf(stderr, "Error receiving samples\n"); return SRSLTE_ERROR; } + + struct timeval t[3]; + switch (q->state) { case SF_FIND: switch(srslte_sync_find(&q->sfind, input_buffer, 0, &q->peak_idx)) { @@ -540,8 +543,10 @@ int srslte_ue_sync_zerocopy(srslte_ue_sync_t *q, cf_t *input_buffer) { if (q->do_agc) { srslte_agc_process(&q->agc, input_buffer, q->sf_len); } + break; case SF_TRACK: + ret = 1; srslte_sync_sss_en(&q->strack, q->decode_sss_on_track); diff --git a/srslte/lib/utils/CMakeLists.txt b/srslte/lib/utils/CMakeLists.txt index f6edf3661..46785ffb3 100644 --- a/srslte/lib/utils/CMakeLists.txt +++ b/srslte/lib/utils/CMakeLists.txt @@ -20,5 +20,10 @@ file(GLOB SOURCES "*.c") add_library(srslte_utils OBJECT ${SOURCES}) + +if(VOLK_FOUND) + set_target_properties(srslte_utils PROPERTIES COMPILE_DEFINITIONS "${VOLK_DEFINITIONS}") +endif(VOLK_FOUND) + SRSLTE_SET_PIC(srslte_utils) add_subdirectory(test)