From 272344df48ac608f422cc9dbc9ff7446ed81dcdd Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 10 Mar 2025 17:01:41 +0100 Subject: [PATCH] remove unused SSB ue phy unit tests --- openair1/PHY/defs_nr_UE.h | 13 - .../NR_UE_PHY/unit_tests/build/CMakeLists.txt | 12 - .../unit_tests/build/reflogs/pbch_test.txt | 0 .../unit_tests/build/reflogs/pss_test.txt | 179 ----- .../unit_tests/build/reflogs/sss_test.txt | 709 ------------------ .../NR_UE_PHY/unit_tests/build/run_tests.sh | 3 - .../NR_UE_PHY/unit_tests/readme.txt | 12 - .../unit_tests/src/input_buffer_test.h | 29 - .../NR_UE_PHY/unit_tests/src/pbch_test.c | 464 ------------ .../NR_UE_PHY/unit_tests/src/pss_test.c | 239 ------ .../NR_UE_PHY/unit_tests/src/pss_util_test.c | 523 ------------- .../NR_UE_PHY/unit_tests/src/pss_util_test.h | 109 --- .../NR_UE_PHY/unit_tests/src/sss_test.c | 269 ------- 13 files changed, 2561 deletions(-) delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pbch_test.txt delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pss_test.txt delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/sss_test.txt delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pbch_test.c delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_test.c delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.h delete mode 100644 openair1/SIMULATION/NR_UE_PHY/unit_tests/src/sss_test.c diff --git a/openair1/PHY/defs_nr_UE.h b/openair1/PHY/defs_nr_UE.h index 059042116e..d4466a6a0d 100644 --- a/openair1/PHY/defs_nr_UE.h +++ b/openair1/PHY/defs_nr_UE.h @@ -237,8 +237,6 @@ typedef struct { /// estimated frequency offset (in radians) for all subcarriers int32_t freq_offset; - /// nid2 is the PSS value, the PCI (physical cell id) will be: 3*NID1 (SSS value) + NID2 (PSS value) - int32_t nid2; } NR_UE_COMMON; #define NR_PRS_IDFT_OVERSAMP_FACTOR 1 // IDFT oversampling factor for NR PRS channel estimates in time domain, ALLOWED value 16x, and 1x is default(ie. IDFT size is frame_params->ofdm_symbol_size) @@ -413,12 +411,6 @@ typedef struct PHY_VARS_NR_UE_s { uint32_t PF; uint32_t PO; -#if defined(UPGRADE_RAT_NR) - - /// demodulation reference signal for NR PBCH - uint32_t dmrs_pbch_bitmap_nr[DMRS_PBCH_I_SSB][DMRS_PBCH_N_HF][DMRS_BITMAP_SIZE]; - -#endif // Scrambling IDs used in PUSCH DMRS c16_t X_u[64][839]; @@ -502,11 +494,6 @@ typedef struct PHY_VARS_NR_UE_s { /// RF and Interface devices per CC openair0_device rfdevice; -#if ENABLE_RAL - hash_table_t *ral_thresholds_timed; - SLIST_HEAD(ral_thresholds_gen_poll_s, ral_threshold_phy_t) ral_thresholds_gen_polled[RAL_LINK_PARAM_GEN_MAX]; - SLIST_HEAD(ral_thresholds_lte_poll_s, ral_threshold_phy_t) ral_thresholds_lte_polled[RAL_LINK_PARAM_LTE_MAX]; -#endif void* scopeData; // Pointers to hold PDSCH data only for phy simulators void *phy_sim_rxdataF; diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeLists.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeLists.txt index da6306274e..0551bc7b8a 100644 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeLists.txt +++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeLists.txt @@ -55,18 +55,6 @@ set(INC_UNIT_TESTS ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.h ) -add_executable(pss_test ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pss_test.c ${SRC_UNIT_TESTS} ) -target_link_libraries(pss_test - -Wl,--start-group UTIL SCHED_NR_UE_LIB PHY PHY_COMMON PHY_UE PHY_NR_UE -Wl,--end-group - pthread m ${ATLAS_LIBRARIES} - ) - -add_executable(sss_test ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/sss_test.c ${SRC_UNIT_TESTS} ) -target_link_libraries(sss_test - -Wl,--start-group UTIL SCHED_NR_UE_LIB PHY PHY_COMMON PHY_UE PHY_NR_UE -Wl,--end-group - pthread m ${ATLAS_LIBRARIES} - ) - add_executable(frame_config_test ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/frame_config_test.c ${SRC_UNIT_TESTS} ) target_link_libraries(frame_config_test -Wl,--start-group UTIL SCHED_NR_UE_LIB PHY PHY_COMMON PHY_UE PHY_NR_UE -Wl,--end-group diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pbch_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pbch_test.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pss_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pss_test.txt deleted file mode 100644 index 936ad636d6..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/pss_test.txt +++ /dev/null @@ -1,179 +0,0 @@ - PSS TEST ----------- -log init done -Start lte_param_init, frame_type 0, extended_prefix 0 -[PHY][I][nr_init_frame_parms_ue] Initializing frame parms for mu 1, N_RB 106, Ncp 0 -Initializing UE vars (abstraction 0) for eNB TXant 1, UE RXant 1 -*********************************** - PSS NR Test synchronisation -*********************************** ------------------------------------------------- -Test nr pss with Nid2 0 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 0, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 0, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 0, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 0, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 230217517 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 230217517 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 230099437 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 230099437 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 1 ------------------------------------------------- -Test nr pss with Nid2 2 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 1 ------------------------------------------------- -Test nr pss with Nid2 0 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 56788, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 56788, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 56788, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 56788, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 56888 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 56888, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 56888, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 56888 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 56888, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 56888, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 56888 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 56888, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 56888, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 111112, val = 230349320 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 111112, val = 230349320 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 111112, val = 230409881 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 111112, val = 230409881 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 1 ------------------------------------------------- -Test nr pss with Nid2 2 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 1 ------------------------------------------------- -Test nr pss with Nid2 0 at position 151234 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 151236, val = 219912170 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 151236, val = 219912170 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 2 ------------------------------------------------- -Test nr pss with Nid2 1 at position 151234 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 151236, val = 219714314 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 151236, val = 219714314 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 151234 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 151236, val = 219588850 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 151236, val = 219588850 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 2 ------------------------------------------------- -Test nr pss with Nid2 0 at position 151500 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 151500, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 151500, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 151500 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 151500, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 151500, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 151500 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 151500, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 151500, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 200000 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 200000, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 200000, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 200000 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 200000, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 200000, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 200000 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 200000, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 200000, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 250004 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 250004, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 250004, val = 232379536 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 1 at position 250004 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 250004, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 250004, val = 232105225 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 2 at position 250004 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 250004, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 250004, val = 231344100 (41 dB) -PSS NR Test is pass: pss detected at right position ------------------------------------------------- -Test nr pss with Nid2 0 at position 305152 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 305148, val = 185066768 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 305148, val = 185066768 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 4 ------------------------------------------------- -Test nr pss with Nid2 1 at position 305152 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 305148, val = 185490842 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 305148, val = 185490842 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 4 ------------------------------------------------- -Test nr pss with Nid2 2 at position 305152 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 305148, val = 185637380 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 305148, val = 185637380 (41 dB) -PSS NR Test is pass with warning: pss detected with a shift of 4 - -PSS NR Number of tests : 33 Pass : 21 Pass with warning : 12 Fail : 0 - -PSS NR Synchronisaton test is terminated. - diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/sss_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/sss_test.txt deleted file mode 100644 index 4e2ba28342..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/sss_test.txt +++ /dev/null @@ -1,709 +0,0 @@ - SSS TEST ----------- -log init done -Start lte_param_init, frame_type 0, extended_prefix 0 -[PHY][I][nr_init_frame_parms_ue] Initializing frame parms for mu 1, N_RB 106, Ncp 0 -Initializing UE vars (abstraction 0) for eNB TXant 1, UE RXant 1 -*********************************** - SSS NR Test synchronisation -*********************************** ------------------------------------------------- -Test nr pss with Nid2 0 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 0, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 0, val = 232379536 (41 dB) -Test nr sss with Nid1 0 -(phase,Nid1) (0,0), metric_phase -201728 tot_metric -201728, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,113), metric_phase 43008 tot_metric 43008, phase_max 0 -(phase,Nid1) (0,135), metric_phase 45056 tot_metric 45056, phase_max 0 -(phase,Nid1) (0,287), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (1,0), metric_phase 48128 tot_metric 48128, phase_max 1 -(phase,Nid1) (2,0), metric_phase 310272 tot_metric 310272, phase_max 2 -(phase,Nid1) (3,0), metric_phase 498176 tot_metric 498176, phase_max 3 -(phase,Nid1) (4,0), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,0), metric_phase 760832 tot_metric 760832, phase_max 5 -Nid2 0 Nid1 0 tot_metric 760832, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 0 Nid1 0 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 232379536 (41 dB) -Test nr sss with Nid1 0 -(phase,Nid1) (0,0), metric_phase -201728 tot_metric -201728, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,113), metric_phase 43008 tot_metric 43008, phase_max 0 -(phase,Nid1) (0,135), metric_phase 45056 tot_metric 45056, phase_max 0 -(phase,Nid1) (0,287), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (1,0), metric_phase 48128 tot_metric 48128, phase_max 1 -(phase,Nid1) (2,0), metric_phase 310272 tot_metric 310272, phase_max 2 -(phase,Nid1) (3,0), metric_phase 498176 tot_metric 498176, phase_max 3 -(phase,Nid1) (4,0), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,0), metric_phase 760832 tot_metric 760832, phase_max 5 -Nid2 0 Nid1 0 tot_metric 760832, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 492 Nid1 0 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 230217517 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 230217517 (41 dB) -Test nr sss with Nid1 0 -(phase,Nid1) (0,0), metric_phase -201728 tot_metric -201728, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,113), metric_phase 43008 tot_metric 43008, phase_max 0 -(phase,Nid1) (0,135), metric_phase 45056 tot_metric 45056, phase_max 0 -(phase,Nid1) (0,287), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (1,0), metric_phase 48128 tot_metric 48128, phase_max 1 -(phase,Nid1) (2,0), metric_phase 310272 tot_metric 310272, phase_max 2 -(phase,Nid1) (3,0), metric_phase 498176 tot_metric 498176, phase_max 3 -(phase,Nid1) (4,0), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,0), metric_phase 760832 tot_metric 760832, phase_max 5 -Nid2 0 Nid1 0 tot_metric 760832, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 493 Nid1 0 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 56788, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 56788, val = 232379536 (41 dB) -Test nr sss with Nid1 0 -(phase,Nid1) (0,0), metric_phase -201728 tot_metric -201728, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,113), metric_phase 43008 tot_metric 43008, phase_max 0 -(phase,Nid1) (0,135), metric_phase 45056 tot_metric 45056, phase_max 0 -(phase,Nid1) (0,287), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (1,0), metric_phase 48128 tot_metric 48128, phase_max 1 -(phase,Nid1) (2,0), metric_phase 310272 tot_metric 310272, phase_max 2 -(phase,Nid1) (3,0), metric_phase 498176 tot_metric 498176, phase_max 3 -(phase,Nid1) (4,0), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,0), metric_phase 760832 tot_metric 760832, phase_max 5 -Nid2 0 Nid1 0 tot_metric 760832, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 56788 Nid1 0 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 111112, val = 230349320 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 111112, val = 230349320 (41 dB) -Test nr sss with Nid1 0 -(phase,Nid1) (0,0), metric_phase -201728 tot_metric -201728, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,113), metric_phase 43008 tot_metric 43008, phase_max 0 -(phase,Nid1) (0,135), metric_phase 45056 tot_metric 45056, phase_max 0 -(phase,Nid1) (0,287), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (1,0), metric_phase 48128 tot_metric 48128, phase_max 1 -(phase,Nid1) (2,0), metric_phase 310272 tot_metric 310272, phase_max 2 -(phase,Nid1) (3,0), metric_phase 498176 tot_metric 498176, phase_max 3 -(phase,Nid1) (4,0), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,0), metric_phase 760832 tot_metric 760832, phase_max 5 -Nid2 0 Nid1 0 tot_metric 760832, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 111111 Nid1 0 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 222222 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 222224, val = 219912170 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 222224, val = 219912170 (41 dB) -Test nr sss with Nid1 0 -(phase,Nid1) (0,0), metric_phase -201728 tot_metric -201728, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,113), metric_phase 43008 tot_metric 43008, phase_max 0 -(phase,Nid1) (0,135), metric_phase 45056 tot_metric 45056, phase_max 0 -(phase,Nid1) (0,287), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (1,0), metric_phase 48128 tot_metric 48128, phase_max 1 -(phase,Nid1) (2,0), metric_phase 310272 tot_metric 310272, phase_max 2 -(phase,Nid1) (3,0), metric_phase 498176 tot_metric 498176, phase_max 3 -(phase,Nid1) (4,0), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,0), metric_phase 760832 tot_metric 760832, phase_max 5 -Nid2 0 Nid1 0 tot_metric 760832, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 222222 Nid1 0 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 0, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 0, val = 232379536 (41 dB) -Test nr sss with Nid1 71 -(phase,Nid1) (0,0), metric_phase -14336 tot_metric -14336, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 20480 tot_metric 20480, phase_max 0 -(phase,Nid1) (0,23), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,79), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,113), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,226), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (1,71), metric_phase 60928 tot_metric 60928, phase_max 1 -(phase,Nid1) (2,71), metric_phase 324608 tot_metric 324608, phase_max 2 -(phase,Nid1) (3,71), metric_phase 509440 tot_metric 509440, phase_max 3 -(phase,Nid1) (4,71), metric_phase 650240 tot_metric 650240, phase_max 4 -(phase,Nid1) (5,71), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 0 Nid1 71 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 0 Nid1 71 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 232379536 (41 dB) -Test nr sss with Nid1 71 -(phase,Nid1) (0,0), metric_phase -14336 tot_metric -14336, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 20480 tot_metric 20480, phase_max 0 -(phase,Nid1) (0,23), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,79), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,113), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,226), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (1,71), metric_phase 60928 tot_metric 60928, phase_max 1 -(phase,Nid1) (2,71), metric_phase 324608 tot_metric 324608, phase_max 2 -(phase,Nid1) (3,71), metric_phase 509440 tot_metric 509440, phase_max 3 -(phase,Nid1) (4,71), metric_phase 650240 tot_metric 650240, phase_max 4 -(phase,Nid1) (5,71), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 0 Nid1 71 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 492 Nid1 71 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 230217517 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 492, val = 230217517 (41 dB) -Test nr sss with Nid1 71 -(phase,Nid1) (0,0), metric_phase -14336 tot_metric -14336, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 20480 tot_metric 20480, phase_max 0 -(phase,Nid1) (0,23), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,79), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,113), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,226), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (1,71), metric_phase 60928 tot_metric 60928, phase_max 1 -(phase,Nid1) (2,71), metric_phase 324608 tot_metric 324608, phase_max 2 -(phase,Nid1) (3,71), metric_phase 509440 tot_metric 509440, phase_max 3 -(phase,Nid1) (4,71), metric_phase 650240 tot_metric 650240, phase_max 4 -(phase,Nid1) (5,71), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 0 Nid1 71 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 493 Nid1 71 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 56788, val = 232379536 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 56788, val = 232379536 (41 dB) -Test nr sss with Nid1 71 -(phase,Nid1) (0,0), metric_phase -14336 tot_metric -14336, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 20480 tot_metric 20480, phase_max 0 -(phase,Nid1) (0,23), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,79), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,113), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,226), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (1,71), metric_phase 60928 tot_metric 60928, phase_max 1 -(phase,Nid1) (2,71), metric_phase 324608 tot_metric 324608, phase_max 2 -(phase,Nid1) (3,71), metric_phase 509440 tot_metric 509440, phase_max 3 -(phase,Nid1) (4,71), metric_phase 650240 tot_metric 650240, phase_max 4 -(phase,Nid1) (5,71), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 0 Nid1 71 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 56788 Nid1 71 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 111112, val = 230349320 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 111112, val = 230349320 (41 dB) -Test nr sss with Nid1 71 -(phase,Nid1) (0,0), metric_phase -14336 tot_metric -14336, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 20480 tot_metric 20480, phase_max 0 -(phase,Nid1) (0,23), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,79), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,113), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,226), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (1,71), metric_phase 60928 tot_metric 60928, phase_max 1 -(phase,Nid1) (2,71), metric_phase 324608 tot_metric 324608, phase_max 2 -(phase,Nid1) (3,71), metric_phase 509440 tot_metric 509440, phase_max 3 -(phase,Nid1) (4,71), metric_phase 650240 tot_metric 650240, phase_max 4 -(phase,Nid1) (5,71), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 0 Nid1 71 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 111111 Nid1 71 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 0 at position 222222 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 0, Peak found at pos 222224, val = 219912170 (41 dB) -[UE] nr_synchro_time: Sync source = 0, Peak found at pos 222224, val = 219912170 (41 dB) -Test nr sss with Nid1 71 -(phase,Nid1) (0,0), metric_phase -14336 tot_metric -14336, phase_max 0 -(phase,Nid1) (0,1), metric_phase 2048 tot_metric 2048, phase_max 0 -(phase,Nid1) (0,3), metric_phase 18432 tot_metric 18432, phase_max 0 -(phase,Nid1) (0,8), metric_phase 20480 tot_metric 20480, phase_max 0 -(phase,Nid1) (0,23), metric_phase 22528 tot_metric 22528, phase_max 0 -(phase,Nid1) (0,79), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,113), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,226), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (1,71), metric_phase 60928 tot_metric 60928, phase_max 1 -(phase,Nid1) (2,71), metric_phase 324608 tot_metric 324608, phase_max 2 -(phase,Nid1) (3,71), metric_phase 509440 tot_metric 509440, phase_max 3 -(phase,Nid1) (4,71), metric_phase 650240 tot_metric 650240, phase_max 4 -(phase,Nid1) (5,71), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 0 Nid1 71 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 222222 Nid1 71 Nid2 0 ------------------------------------------------- -Test nr pss with Nid2 2 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 0 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 492 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 493 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 56788 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 111111 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 222222 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 222224, val = 219559301 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 222224, val = 219559301 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 222222 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 0 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 492 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 493 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 56788 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 111111 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 222222 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 222224, val = 219559301 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 222224, val = 219559301 (41 dB) -Test nr sss with Nid1 21 -(phase,Nid1) (0,0), metric_phase 19456 tot_metric 19456, phase_max 0 -(phase,Nid1) (0,8), metric_phase 21504 tot_metric 21504, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23552 tot_metric 23552, phase_max 0 -(phase,Nid1) (0,88), metric_phase 24576 tot_metric 24576, phase_max 0 -(phase,Nid1) (0,124), metric_phase 41984 tot_metric 41984, phase_max 0 -(phase,Nid1) (0,135), metric_phase 46080 tot_metric 46080, phase_max 0 -(phase,Nid1) (0,319), metric_phase 47104 tot_metric 47104, phase_max 0 -(phase,Nid1) (2,21), metric_phase 308736 tot_metric 308736, phase_max 2 -(phase,Nid1) (3,21), metric_phase 494592 tot_metric 494592, phase_max 3 -(phase,Nid1) (4,21), metric_phase 642048 tot_metric 642048, phase_max 4 -(phase,Nid1) (5,21), metric_phase 759808 tot_metric 759808, phase_max 5 -Nid2 2 Nid1 21 tot_metric 759808, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 222222 Nid1 21 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 1 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 0, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 0, val = 232105225 (41 dB) -Test nr sss with Nid1 55 -(phase,Nid1) (0,0), metric_phase -1536 tot_metric -1536, phase_max 0 -(phase,Nid1) (0,1), metric_phase 1536 tot_metric 1536, phase_max 0 -(phase,Nid1) (0,2), metric_phase 5632 tot_metric 5632, phase_max 0 -(phase,Nid1) (0,3), metric_phase 20992 tot_metric 20992, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,120), metric_phase 28160 tot_metric 28160, phase_max 0 -(phase,Nid1) (0,135), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,228), metric_phase 44544 tot_metric 44544, phase_max 0 -(phase,Nid1) (1,55), metric_phase 61440 tot_metric 61440, phase_max 1 -(phase,Nid1) (2,55), metric_phase 326144 tot_metric 326144, phase_max 2 -(phase,Nid1) (3,55), metric_phase 507392 tot_metric 507392, phase_max 3 -(phase,Nid1) (4,55), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,55), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 1 Nid1 55 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 0 Nid1 55 Nid2 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 232105225 (41 dB) -Test nr sss with Nid1 55 -(phase,Nid1) (0,0), metric_phase -1536 tot_metric -1536, phase_max 0 -(phase,Nid1) (0,1), metric_phase 1536 tot_metric 1536, phase_max 0 -(phase,Nid1) (0,2), metric_phase 5632 tot_metric 5632, phase_max 0 -(phase,Nid1) (0,3), metric_phase 20992 tot_metric 20992, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,120), metric_phase 28160 tot_metric 28160, phase_max 0 -(phase,Nid1) (0,135), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,228), metric_phase 44544 tot_metric 44544, phase_max 0 -(phase,Nid1) (1,55), metric_phase 61440 tot_metric 61440, phase_max 1 -(phase,Nid1) (2,55), metric_phase 326144 tot_metric 326144, phase_max 2 -(phase,Nid1) (3,55), metric_phase 507392 tot_metric 507392, phase_max 3 -(phase,Nid1) (4,55), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,55), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 1 Nid1 55 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 492 Nid1 55 Nid2 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 230099437 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 492, val = 230099437 (41 dB) -Test nr sss with Nid1 55 -(phase,Nid1) (0,0), metric_phase -1536 tot_metric -1536, phase_max 0 -(phase,Nid1) (0,1), metric_phase 1536 tot_metric 1536, phase_max 0 -(phase,Nid1) (0,2), metric_phase 5632 tot_metric 5632, phase_max 0 -(phase,Nid1) (0,3), metric_phase 20992 tot_metric 20992, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,120), metric_phase 28160 tot_metric 28160, phase_max 0 -(phase,Nid1) (0,135), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,228), metric_phase 44544 tot_metric 44544, phase_max 0 -(phase,Nid1) (1,55), metric_phase 61440 tot_metric 61440, phase_max 1 -(phase,Nid1) (2,55), metric_phase 326144 tot_metric 326144, phase_max 2 -(phase,Nid1) (3,55), metric_phase 507392 tot_metric 507392, phase_max 3 -(phase,Nid1) (4,55), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,55), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 1 Nid1 55 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 493 Nid1 55 Nid2 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 56788, val = 232105225 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 56788, val = 232105225 (41 dB) -Test nr sss with Nid1 55 -(phase,Nid1) (0,0), metric_phase -1536 tot_metric -1536, phase_max 0 -(phase,Nid1) (0,1), metric_phase 1536 tot_metric 1536, phase_max 0 -(phase,Nid1) (0,2), metric_phase 5632 tot_metric 5632, phase_max 0 -(phase,Nid1) (0,3), metric_phase 20992 tot_metric 20992, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,120), metric_phase 28160 tot_metric 28160, phase_max 0 -(phase,Nid1) (0,135), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,228), metric_phase 44544 tot_metric 44544, phase_max 0 -(phase,Nid1) (1,55), metric_phase 61440 tot_metric 61440, phase_max 1 -(phase,Nid1) (2,55), metric_phase 326144 tot_metric 326144, phase_max 2 -(phase,Nid1) (3,55), metric_phase 507392 tot_metric 507392, phase_max 3 -(phase,Nid1) (4,55), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,55), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 1 Nid1 55 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 56788 Nid1 55 Nid2 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 111112, val = 230409881 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 111112, val = 230409881 (41 dB) -Test nr sss with Nid1 55 -(phase,Nid1) (0,0), metric_phase -1536 tot_metric -1536, phase_max 0 -(phase,Nid1) (0,1), metric_phase 1536 tot_metric 1536, phase_max 0 -(phase,Nid1) (0,2), metric_phase 5632 tot_metric 5632, phase_max 0 -(phase,Nid1) (0,3), metric_phase 20992 tot_metric 20992, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,120), metric_phase 28160 tot_metric 28160, phase_max 0 -(phase,Nid1) (0,135), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,228), metric_phase 44544 tot_metric 44544, phase_max 0 -(phase,Nid1) (1,55), metric_phase 61440 tot_metric 61440, phase_max 1 -(phase,Nid1) (2,55), metric_phase 326144 tot_metric 326144, phase_max 2 -(phase,Nid1) (3,55), metric_phase 507392 tot_metric 507392, phase_max 3 -(phase,Nid1) (4,55), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,55), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 1 Nid1 55 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 111111 Nid1 55 Nid2 1 ------------------------------------------------- -Test nr pss with Nid2 1 at position 222222 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 222224, val = 219714314 (41 dB) -[UE] nr_synchro_time: Sync source = 1, Peak found at pos 222224, val = 219714314 (41 dB) -Test nr sss with Nid1 55 -(phase,Nid1) (0,0), metric_phase -1536 tot_metric -1536, phase_max 0 -(phase,Nid1) (0,1), metric_phase 1536 tot_metric 1536, phase_max 0 -(phase,Nid1) (0,2), metric_phase 5632 tot_metric 5632, phase_max 0 -(phase,Nid1) (0,3), metric_phase 20992 tot_metric 20992, phase_max 0 -(phase,Nid1) (0,13), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,120), metric_phase 28160 tot_metric 28160, phase_max 0 -(phase,Nid1) (0,135), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,228), metric_phase 44544 tot_metric 44544, phase_max 0 -(phase,Nid1) (1,55), metric_phase 61440 tot_metric 61440, phase_max 1 -(phase,Nid1) (2,55), metric_phase 326144 tot_metric 326144, phase_max 2 -(phase,Nid1) (3,55), metric_phase 507392 tot_metric 507392, phase_max 3 -(phase,Nid1) (4,55), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,55), metric_phase 770560 tot_metric 770560, phase_max 5 -Nid2 1 Nid1 55 tot_metric 770560, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 222222 Nid1 55 Nid2 1 ------------------------------------------------- -Test nr pss with Nid2 2 at position 0 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 0, val = 231344100 (41 dB) -Test nr sss with Nid1 111 -(phase,Nid1) (0,0), metric_phase 19968 tot_metric 19968, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22016 tot_metric 22016, phase_max 0 -(phase,Nid1) (0,109), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,117), metric_phase 26112 tot_metric 26112, phase_max 0 -(phase,Nid1) (0,124), metric_phase 37376 tot_metric 37376, phase_max 0 -(phase,Nid1) (0,161), metric_phase 42496 tot_metric 42496, phase_max 0 -(phase,Nid1) (0,170), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,210), metric_phase 45568 tot_metric 45568, phase_max 0 -(phase,Nid1) (1,111), metric_phase 62464 tot_metric 62464, phase_max 1 -(phase,Nid1) (2,111), metric_phase 327680 tot_metric 327680, phase_max 2 -(phase,Nid1) (3,111), metric_phase 511488 tot_metric 511488, phase_max 3 -(phase,Nid1) (4,111), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,111), metric_phase 770048 tot_metric 770048, phase_max 5 -Nid2 2 Nid1 111 tot_metric 770048, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 0 Nid1 111 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 492 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 231344100 (41 dB) -Test nr sss with Nid1 111 -(phase,Nid1) (0,0), metric_phase 19968 tot_metric 19968, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22016 tot_metric 22016, phase_max 0 -(phase,Nid1) (0,109), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,117), metric_phase 26112 tot_metric 26112, phase_max 0 -(phase,Nid1) (0,124), metric_phase 37376 tot_metric 37376, phase_max 0 -(phase,Nid1) (0,161), metric_phase 42496 tot_metric 42496, phase_max 0 -(phase,Nid1) (0,170), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,210), metric_phase 45568 tot_metric 45568, phase_max 0 -(phase,Nid1) (1,111), metric_phase 62464 tot_metric 62464, phase_max 1 -(phase,Nid1) (2,111), metric_phase 327680 tot_metric 327680, phase_max 2 -(phase,Nid1) (3,111), metric_phase 511488 tot_metric 511488, phase_max 3 -(phase,Nid1) (4,111), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,111), metric_phase 770048 tot_metric 770048, phase_max 5 -Nid2 2 Nid1 111 tot_metric 770048, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 492 Nid1 111 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 493 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 492, val = 229165600 (41 dB) -Test nr sss with Nid1 111 -(phase,Nid1) (0,0), metric_phase 19968 tot_metric 19968, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22016 tot_metric 22016, phase_max 0 -(phase,Nid1) (0,109), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,117), metric_phase 26112 tot_metric 26112, phase_max 0 -(phase,Nid1) (0,124), metric_phase 37376 tot_metric 37376, phase_max 0 -(phase,Nid1) (0,161), metric_phase 42496 tot_metric 42496, phase_max 0 -(phase,Nid1) (0,170), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,210), metric_phase 45568 tot_metric 45568, phase_max 0 -(phase,Nid1) (1,111), metric_phase 62464 tot_metric 62464, phase_max 1 -(phase,Nid1) (2,111), metric_phase 327680 tot_metric 327680, phase_max 2 -(phase,Nid1) (3,111), metric_phase 511488 tot_metric 511488, phase_max 3 -(phase,Nid1) (4,111), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,111), metric_phase 770048 tot_metric 770048, phase_max 5 -Nid2 2 Nid1 111 tot_metric 770048, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 493 Nid1 111 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 56788 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 56788, val = 231344100 (41 dB) -Test nr sss with Nid1 111 -(phase,Nid1) (0,0), metric_phase 19968 tot_metric 19968, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22016 tot_metric 22016, phase_max 0 -(phase,Nid1) (0,109), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,117), metric_phase 26112 tot_metric 26112, phase_max 0 -(phase,Nid1) (0,124), metric_phase 37376 tot_metric 37376, phase_max 0 -(phase,Nid1) (0,161), metric_phase 42496 tot_metric 42496, phase_max 0 -(phase,Nid1) (0,170), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,210), metric_phase 45568 tot_metric 45568, phase_max 0 -(phase,Nid1) (1,111), metric_phase 62464 tot_metric 62464, phase_max 1 -(phase,Nid1) (2,111), metric_phase 327680 tot_metric 327680, phase_max 2 -(phase,Nid1) (3,111), metric_phase 511488 tot_metric 511488, phase_max 3 -(phase,Nid1) (4,111), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,111), metric_phase 770048 tot_metric 770048, phase_max 5 -Nid2 2 Nid1 111 tot_metric 770048, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 56788 Nid1 111 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 111111 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 111112, val = 229601794 (41 dB) -Test nr sss with Nid1 111 -(phase,Nid1) (0,0), metric_phase 19968 tot_metric 19968, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22016 tot_metric 22016, phase_max 0 -(phase,Nid1) (0,109), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,117), metric_phase 26112 tot_metric 26112, phase_max 0 -(phase,Nid1) (0,124), metric_phase 37376 tot_metric 37376, phase_max 0 -(phase,Nid1) (0,161), metric_phase 42496 tot_metric 42496, phase_max 0 -(phase,Nid1) (0,170), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,210), metric_phase 45568 tot_metric 45568, phase_max 0 -(phase,Nid1) (1,111), metric_phase 62464 tot_metric 62464, phase_max 1 -(phase,Nid1) (2,111), metric_phase 327680 tot_metric 327680, phase_max 2 -(phase,Nid1) (3,111), metric_phase 511488 tot_metric 511488, phase_max 3 -(phase,Nid1) (4,111), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,111), metric_phase 770048 tot_metric 770048, phase_max 5 -Nid2 2 Nid1 111 tot_metric 770048, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 111111 Nid1 111 Nid2 2 ------------------------------------------------- -Test nr pss with Nid2 2 at position 222222 -[PHY][I][pss_search_time_nr] [UE] nr_synchro_time: Sync source = 2, Peak found at pos 222224, val = 219559301 (41 dB) -[UE] nr_synchro_time: Sync source = 2, Peak found at pos 222224, val = 219559301 (41 dB) -Test nr sss with Nid1 111 -(phase,Nid1) (0,0), metric_phase 19968 tot_metric 19968, phase_max 0 -(phase,Nid1) (0,13), metric_phase 22016 tot_metric 22016, phase_max 0 -(phase,Nid1) (0,109), metric_phase 23040 tot_metric 23040, phase_max 0 -(phase,Nid1) (0,117), metric_phase 26112 tot_metric 26112, phase_max 0 -(phase,Nid1) (0,124), metric_phase 37376 tot_metric 37376, phase_max 0 -(phase,Nid1) (0,161), metric_phase 42496 tot_metric 42496, phase_max 0 -(phase,Nid1) (0,170), metric_phase 43520 tot_metric 43520, phase_max 0 -(phase,Nid1) (0,210), metric_phase 45568 tot_metric 45568, phase_max 0 -(phase,Nid1) (1,111), metric_phase 62464 tot_metric 62464, phase_max 1 -(phase,Nid1) (2,111), metric_phase 327680 tot_metric 327680, phase_max 2 -(phase,Nid1) (3,111), metric_phase 511488 tot_metric 511488, phase_max 3 -(phase,Nid1) (4,111), metric_phase 651264 tot_metric 651264, phase_max 4 -(phase,Nid1) (5,111), metric_phase 770048 tot_metric 770048, phase_max 5 -Nid2 2 Nid1 111 tot_metric 770048, phase_max 5 -SSS NR Test is pass with warning due to phase difference 5 (instead of 3) offset 222222 Nid1 111 Nid2 2 - -SSS NR Number of tests : 36 Pass : 0 Pass with warning : 36 Fail : 0 -SSS NR Synchronisaton test is terminated. - diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh index 26e33448fa..2b794fd2e8 100755 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh +++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/run_tests.sh @@ -63,9 +63,6 @@ TESTS_FAIL=0 # List of tests tst_files=" - pss_test - sss_test - pbch_test frame_config_test" #--------------------------------------------------------------------------- diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/readme.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/readme.txt index 152b19c8c4..d41bf2eb1c 100644 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/readme.txt +++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/readme.txt @@ -35,13 +35,7 @@ Build NR UE: Specific test files ==================== -pss_test.c: test for detection of primary synchronisation signal. -sss_test.c: test for detection of secundary synchronisation signal. -pbch_test.c: test for decoding of packet braodcast channel. frame_config_test.c : test of frame configurations (FDD/TDD). -pss_util_test.c: common functions for running synchronisation tests. -pss_util_test.h: common headers for synchronisation tests. -input_buffer_test.h: it allows providing samples for pss test. How to build & run tests ======================== @@ -66,16 +60,10 @@ First command to do: cmake CMakeList.txt -> it generates makefiles to build all projects. Then build of test: -make pss_test -> build pss_test: detection of NR (Primary Synchronisation Channel - synchronisation of UE). -make sss_test -> build sss_test: detection of NR SSS (Secundary Synchronisation Channel - second step for UE synchronisation). -make pbch_test -> build pbch_test: decoding of NR PBCH (Packet Broadcast Channel -> UE read MIB Master Information Block which gives network parameters). make frame_config_test -> build frame_config_test: NR FDD/TDD configuration. make clean -> clean all projects. And execution of tests: -./pss_test -> run NR PSS tests. -./sss_test -> run NR SSS tests. -./pbch_test -> run NR PBCH tests. ./frame_config_test -> run NR frame configuration tests. There is a script in build/run_test.sh which allows: diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h deleted file mode 100644 index 007b366b3b..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h +++ /dev/null @@ -1,29 +0,0 @@ -/********************************************************************** -* FILENAME : input_buffer_test -* -* MODULE : test of UE synchronisation -* -* DESCRIPTION : it allows unitary tests of UE synchronisation on host machine -* - ************************************************************************/ - -#ifndef INPUT_BUFFER_H -#define INPUT_BUFFER_H - -#ifdef DEFINE_VARIABLES_INPUT_BUFFER_TEST_H -#define EXTERNAL -#define INIT_VARIABLES_INPUT_BUFFER_H -#else -#define EXTERNAL extern -#undef INIT_VARIABLES_INPUT_BUFFER_H -#endif - -#ifndef INIT_VARIABLES_INPUT_BUFFER_H -EXTERNAL short input_buffer[] -#else -EXTERNAL short input_buffer[307360] = {0} -#endif /* INIT_VARIABLES_INPUT_BUFFER_H */ -; -#undef EXTERNAL -#undef INIT_VARIABLES_INPUT_BUFFER_H -#endif /* INPUT_BUFFER_H */ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pbch_test.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pbch_test.c deleted file mode 100644 index 5c7f3157e7..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pbch_test.c +++ /dev/null @@ -1,464 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/********************************************************************** -* -* FILENAME : pbch_test.c -* -* MODULE : UE test bench for sss tests -* -* DESCRIPTION : it allows unitary tests for SSS on host machine -* -************************************************************************/ - -#include -#include -#include -#include -#include - -typedef int nfapi_nr_pfcch_commonSearchSpaces_t; -#include "../nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h" - -#include "PHY/defs_nr_UE.h" -#include "PHY/phy_extern_nr_ue.h" -#include "PHY/INIT/init_extern.h" -#include "PHY/NR_UE_TRANSPORT/nr_transport_ue.h" -#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h" - -#include "PHY/NR_REFSIG/ss_pbch_nr.h" -#include "PHY/NR_REFSIG/pss_nr.h" -#include "PHY/NR_REFSIG/sss_nr.h" -#include "PHY/NR_REFSIG/dmrs_nr.h" - -#include "../../unit_tests/src/pss_util_test.h" - -/************** EXTERNAL ******************************************/ - -extern int pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode); - -/******************************************************************* -* -* NAME : test_synchro_pss_sss_nr -* -* INPUT : UE context -* for first and second pss sequence -* - position of pss in the received UE buffer -* - number of pss sequence -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : detect pss sequences in the received UE buffer -* then detect sss sequence -* -* Test procedure: -* - reference pss sequences (first, second or both) are written at specific -* positions -* - correlation is done between the received buffer and the possible pss sequences -* - results indicate pss sequence number and correlation result -* - reference sss sequences are written at specific positions -* - correlation is done with possible sss sequence -* -* (10 ms) -* <---------------------------------------------------------------------------> -* ----------------------------------------------------------------------------- -* | Received UE data buffer | -* ---------------------------------------------------------------------------- -* --------------------------------------------- -* <-------------->| pss | pbch | sss | pbch | -* --------------------------------------------- -* offset -* -* SSS/PBCH block contains following symbols: pss + pbch + sss + pbch -* -*********************************************************************/ - -int test_synchro_pss_sss_nr(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number) -{ - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - UE_nr_rxtx_proc_t proc = {0}; - int synchro_position; - int offset; - int16_t *tmp; - int32_t metric_fdd_ncp=0; - uint8_t phase_fdd_ncp; - int rate_change = SYNCHRO_RATE_CHANGE_FACTOR; - int decoded_pbch = -1; - - set_sequence_pss(PHY_vars_UE, position_symbol, pss_sequence_number); - - synchro_position = pss_synchro_nr(PHY_vars_UE, rate_change); - - synchro_position = synchro_position * rate_change; - - if (abs(synchro_position - position_symbol) > PSS_DETECTION_MARGIN_MAX) - { - printf("NR Pss has been detected at position %d instead of %d \n", synchro_position, position_symbol); - } - - /* symbols order for synchronisation block is PSS - PBCH - SSS */ - /* knowing that synchronisation position gives pss ofdm start one can deduce start of sss symbol */ - offset = (position_symbol + (SSS_SYMBOL_NB - PSS_SYMBOL_NB)*(frame_parms->ofdm_symbol_size + frame_parms->nb_prefix_samples)); - - tmp = (int16_t *)&PHY_vars_UE->common_vars.rxdata[0][offset]; - - insert_sss_nr(tmp, frame_parms); - - //PHY_vars_UE->rx_offset = position_symbol; /* offset is given for samples of type int16 */ - PHY_vars_UE->rx_offset = synchro_position; /* offset is given for samples of type int16 */ - -#if TEST_SYNCHRO_TIMING_PSS - - start_meas(&generic_time[TIME_SSS]); - -#endif - - rx_sss_nr(PHY_vars_UE, &proc, &metric_fdd_ncp, &phase_fdd_ncp); - -#if TEST_SYNCHRO_TIMING_PSS - - stop_meas(&generic_time[TIME_SSS]); - - #ifndef NR_UNIT_TEST - - printf("PSS execution duration %5.2f \n", generic_time[TIME_PSS].p_time/(cpuf*1000.0)); - - printf("SSS execution duration %5.2f \n", generic_time[TIME_SSS].p_time/(cpuf*1000.0)); - - #endif - -#endif - - if (phase_fdd_ncp != INDEX_NO_PHASE_DIFFERENCE) { - printf("Error: detected phase on sss is not correct: expected index phase is %d, detected index phase is %d !\n", INDEX_NO_PHASE_DIFFERENCE, phase_fdd_ncp); - return -1; - } - - generate_dmrs_pbch(PHY_vars_UE->dmrs_pbch_bitmap_nr, frame_parms->Nid_cell); - - decoded_pbch = pbch_detection(PHY_vars_UE, PHY_vars_UE->mode); - - return decoded_pbch; -} - -/******************************************************************* -* -* NAME : set_sequence_sss -* -* PARAMETERS : UE context -* position of sss in the received UE buffer -* -* RETURN : none -* -* DESCRIPTION : write reference sss sequence at a specified sample position in the received UE buffer -* -*********************************************************************/ -void set_sequence_sss(PHY_VARS_NR_UE *PHY_vars_UE, int offset, int slot_offset) -{ - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int length = frame_parms->ofdm_symbol_size; - int size = length * IQ_SIZE; /* i & q */ - nfapi_config_request_t nfapi_config; - int16_t data_sss[LENGTH_SSS_NR]; - - nfapi_config.sch_config.physical_cell_id.value = PHY_vars_UE->frame_parms.Nid_cell; - - /* reinitialise random for always getting same data */ - srand(0); - int random; - for (int i=0; i< size/2; i++) { - random = ((rand() % AMP) - AMP/2); /* AMP allows to get a scaling of samples */ - synchroF_tmp[i] = random; - } - - bzero(synchro_tmp, size); - - /* Computation of below offset has been added due to function generate_sss which is used for eNodeB to process transmission */ - /* so it is based on a transmitted buffer which has been dimensioned for a full frame */ - /* here one uses a smaller buffer according to the size of an ofdm symbol so it can not properly work in this case. */ - /* so in order to only write in this buffer, pointer of the buffer has been modified in such a way that function */ - /* generate_sss writes correct data at the right buffer location */ - /* this address offset is applied for SSS which is in the second part of the frame */ - int Nsymb = (frame_parms->Ncp==NORMAL)?14:12; - int index_offset = slot_offset*Nsymb/2*frame_parms->ofdm_symbol_size; - int16_t *tmp = synchroF_tmp - (2*index_offset); - -#if 0 - - nr_generate_sss(data_sss, - (int32_t **)&tmp, - AMP, - 0, // symbol number - &nfapi_config, - frame_parms); - - /* get sss in the frequency domain by applying an inverse FFT */ - idft2048(synchroF_tmp, /* complex input */ - synchro_tmp, /* complex output */ - 1); /* scaling factor */ - - for (int aa=0;aaframe_parms.nb_antennas_rx;aa++) { - - /* copy sss in rx buffer */ - for (int i=0; icommon_vars.rxdata[aa])[i + offset] = ((int32_t *)synchro_tmp)[i]; - } - } -#else - - insert_sss_nr(tmp, frame_parms); - -#endif -} - -/******************************************************************* -* -* NAME : insert_sequence_sss -* -* PARAMETERS : UE context -* position of sss in the received UE buffer -* -* RETURN : none -* -* DESCRIPTION : write reference sss sequence at a specified sample position in the received UE buffer -* -*********************************************************************/ - -void insert_sequence_sss(PHY_VARS_NR_UE *PHY_vars_UE, int offset) -{ - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int samples_for_half_frame = frame_parms->samples_per_frame / 2; - - set_sequence_sss(PHY_vars_UE, offset, 0); - - set_sequence_sss(PHY_vars_UE, offset + samples_for_half_frame, 10); -} - -/******************************************************************** -* -* NAME : test_synchro_pss_sss -* -* INPUT : UE context -* for first and second pss sequence -* - position of pss in the received UE buffer -* - number of pss sequence -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : detect pss sequences in the received UE buffer -* then detect sss sequence -* -* Test procedure: -* -* - reference pss sequences (first, second or both) are written at specific -* positions -* - correlation is done between the received buffer and the possible pss sequences -* - results indicate pss sequence number and correlation result -* - reference sss sequences are written at specific positions -* - correlation is done with possible sss sequence -* -* (10 ms) -* <---------------------------------------------------------------------------> -* ----------------------------------------------------------------------------- -* | Received UE data buffer | -* ---------------------------------------------------------------------------- -* ------------- ------------- -* <-------------->| first pss |<--------------------->| second pss | -* position ------------- (5 ms) ------------- -* ---------- ---------- -* | first sss| |second sss| -* ------------ ----------- -* As specified by the standard: -* - first and second sss sequence are different -> allow to get frame slot timing -* - first sss sequence is located in slot 0 and second sss sequence is in slot 10 -* - ofdm symbol of sss is just before ofdm symbol of pss -* -*********************************************************************/ - -int test_synchro_pss_sss(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int sequence_number, test_t *test) -{ - VOID_PARAMETER test; - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int synchro_position; - int offset; - int32_t metric_fdd_ncp=0; - uint8_t flip_fdd_ncp; - uint8_t phase_fdd_ncp; - int rate_change = SYNCHRO_RATE_CHANGE_FACTOR; /* by default there is no sampling rate change */ - int decoded_pbch = -1; - - offset = position_symbol - frame_parms->ofdm_symbol_size - frame_parms->nb_prefix_samples; - - if (offset < 0) - { - printf("Test aborted because sss position is outside the window\n"); - exit(0); - } - - set_sequence_pss(PHY_vars_UE, position_symbol, sequence_number); - - synchro_position = pss_synchro_nr(PHY_vars_UE, rate_change); - - printf("Pss has been detected at position %d with Nid2 %d \n", synchro_position, PHY_vars_UE->common_vars.eNb_id ); - - insert_sequence_sss(PHY_vars_UE, offset); - - if ((frame_parms->Ncp != NORMAL) || (frame_parms->frame_type != FDD)) { - printf("This configuration is not supported. Please use call to function ""initial_sync"" for covering others configurations.\n"); - exit(0); - } - - int sync_pos2 = synchro_position - frame_parms->nb_prefix_samples; - - int sync_pos_slot = (frame_parms->samples_per_slot>>1) - frame_parms->ofdm_symbol_size - frame_parms->nb_prefix_samples; - - if (sync_pos2 >= sync_pos_slot) - PHY_vars_UE->rx_offset = sync_pos2 - sync_pos_slot; - else - PHY_vars_UE->rx_offset = FRAME_LENGTH_COMPLEX_SAMPLES + sync_pos2 - sync_pos_slot; - - rx_sss(PHY_vars_UE, &metric_fdd_ncp, &flip_fdd_ncp, &phase_fdd_ncp); - - if (phase_fdd_ncp != INDEX_NO_PHASE_DIFFERENCE) { - printf("Error: detected phase on sss is not correct: expected index phase is %d, detected index phase is %d !\n", INDEX_NO_PHASE_DIFFERENCE, phase_fdd_ncp); - return -1; - } - - init_frame_parms(&PHY_vars_UE->frame_parms,1); - - //lte_gold_new(frame_parms, PHY_vars_UE->lte_gold_table[0],frame_parms->Nid_cell); - - decoded_pbch = pbch_detection(PHY_vars_UE, PHY_vars_UE->mode); - - return decoded_pbch; -} - -/******************************************************************* -* -* NAME : main -* -* DESCRIPTION : test bench for synchronisation sequence (pss/sss/pbch) -* purpose of test is to check that synchronisation sequence can be -* properly detected depending of input waveforms. -* -* - First step of synchronisation consists in pss search (primary synchronisation signal). -* pss sequence should be detected at the right position -* in the received buffer whatever the position along the -* received data buffer. -* Detection of position is based on correlation in time domain between -* received signal and pss sequence -> position is given by -* peak of correlation result. -* - Second step of synchronisation is sss decoding (secundary synchronisation signal). -* sss detection is based on position of detected pss. -* -*********************************************************************/ - -int main(int argc, char *argv[]) -{ - VOID_PARAMETER argc; - VOID_PARAMETER argv; - uint8_t transmission_mode = 1; - uint8_t nb_antennas_tx = 1; - uint8_t nb_antennas_rx = 1; - uint8_t frame_type = FDD; - int N_RB_DL=100; - lte_prefix_type_t extended_prefix_flag = NORMAL; - int decoded_pbch = -1; - int Nid1, Nid2; - const char *name_test = " PBCH NR "; - test_t test = { name_test, 0, 0, 0, 0}; - -#if 1 - int test_position[] = { 20000 }; /* this is the sample number in the frame */ -#else - int test_position[] = { -1 }; /* to get samples from a buffer initialised from an external file */ -#endif - - int size_test_position; - - /* this is a pointer to the function in charge of the test */ - int (*p_test_synchro_pss_sss)(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int sequence_number) = test_synchro_pss_sss_nr; - -#if 0 - int Nid_cell[] = { (3*0+0), (3*71+0), (3*21+2), (3*21+2), (3*55+1), (3*111+2) }; -#else - int Nid_cell[] = { ((3*1+2)) }; -#endif - - printf(" PBCH TEST \n"); - printf("----------\n"); - - if (init_test(nb_antennas_tx, nb_antennas_rx, transmission_mode, extended_prefix_flag, frame_type, Nid_cell[0], N_RB_DL) != 0) { - printf("Initialisation problem for synchronisation test \n"); - exit(-1);; - } - - p_test_synchro_pss_sss = test_synchro_pss_sss_nr; - size_test_position = sizeof(test_position)/sizeof(int); - - printf("***********************************\n"); - printf(" %s Test NR synchroisation \n", test.test_current); - printf("***********************************\n"); - - for (unsigned int index = 0; index < (sizeof(Nid_cell)/sizeof(int)); index++) { - - Nid2 = GET_NID2(Nid_cell[index]); - Nid1 = GET_NID1(Nid_cell[index]); - - for (int position = 0; position < size_test_position; position++) { - - PHY_vars_UE->frame_parms.Nid_cell = (3 * N_ID_1_NUMBER) + N_ID_2_NUMBER; /* set to unvalid value */ - - decoded_pbch = (*p_test_synchro_pss_sss)(PHY_vars_UE, test_position[position], Nid2); /* return phase index which gives phase error from an array */ - - test.number_of_tests++; - printf("\n%s ", test.test_current); - - if (PHY_vars_UE->frame_parms.Nid_cell == (3 * Nid1) + Nid2) { - if (decoded_pbch != -1) { - printf("Test is pass with offset %d Nid1 %d Nid2 %d \n", test_position[position], Nid1, Nid2); - test.number_of_pass++; - } - else { - printf("Test is fail because pbch has not been decoded \n"); - test.number_of_fail++; - } - } - else { - printf("Test is fail with offset %d Nid1 %d Nid2 %d \n", test_position[position], Nid1, Nid2); - test.number_of_fail++; - } - break; - } - break; - } - - printf("\n %s Number of tests : %d Pass : %d Pass with warning : %d Fail : %d \n", test.test_current, test.number_of_tests, test.number_of_pass, test.number_of_pass_warning, test.number_of_fail); - - printf("%s Synchronisaton test is terminated.\n\n", test.test_current); - - /* reset test statistics */ - test.number_of_tests = test.number_of_pass = test.number_of_pass_warning = test.number_of_fail = 0; - - free_context_synchro_nr(); - - return(0); -} diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_test.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_test.c deleted file mode 100644 index c9e76846e9..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_test.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/********************************************************************** -* -* FILENAME : pss_test.c -* -* MODULE : UE test bench for synchronisation -* -* DESCRIPTION : it allows unitary tests of UE synchronisation on host machine -* -************************************************************************/ - -#include -#include -#include -#include -#include - -#include "../../unit_tests/src/pss_util_test.h" -#include "PHY/defs_nr_UE.h" -#include "PHY/INIT/init_extern.h" -#include "PHY/phy_extern_nr_ue.h" - -#include "PHY/NR_REFSIG/ss_pbch_nr.h" -#include "PHY/NR_REFSIG/pss_nr.h" -#include "PHY/NR_REFSIG/sss_nr.h" -#include "PHY/NR_REFSIG/dmrs_nr.h" - - -/************** DEFINE *******************************************/ - -/*************** LOCAL VARIABLES***********************************/ - -/*************** FUNCTIONS ****************************************/ - -/******************************************************************** -* -* NAME : pss_test -* -* INPUT : UE context -* for a pss sequence -* - position of pss in the received UE buffer -* - number of pss sequence -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : detect pss sequences in the received UE buffer -* -* Test procedure: -* -* - reference pss sequences is written at a specific position -* - correlation is done between the received buffer and the possible pss sequences -* - results indicate pss sequence number and correlation result. -* -* Test is pass if detection of pss position is the one which has been set. -* -* (10 ms) -* <---------------------------------------------------------------------------> -* ----------------------------------------------------------------------------- -* | Received UE data buffer | -* ---------------------------------------------------------------------------- -* +-----------+ -* <--------->| pss | -* position +-----------+ -* ^ -* | -* peak position -* given by maximum of correlation result -* position matches beginning of ofdm symbol -* -* Remark: memory position should be aligned on a multiple of 4 due to I & Q samples of int16 -* An OFDM symbol is composed of x number of received samples depending of Rf front end sample rate. -* -* I & Q storage in memory -* -* First samples Second samples -* ------------------------- ------------------------- ... -* | I1 | Q1 | I2 | Q2 | -* --------------------------------------------------- ... -* ^ 16 bits 16 bits ^ -* | | -* --------------------------------------------------- ... -* | sample 1 | sample 2 | -* ---------------------------------------------------- ... -* ^ -* | -* OFDM in time -* -*********************************************************************/ - -void test_synchro_pss_nr(PHY_VARS_NR_UE *PHY_VARS_NR_UE, int position_symbol, int pss_sequence_number, test_t *test) -{ - int rate_change = SYNCHRO_RATE_CHANGE_FACTOR; - int synchro_position; - int NID2_value; - - display_test_configuration_pss(position_symbol, pss_sequence_number); - - set_sequence_pss(PHY_VARS_NR_UE, position_symbol, pss_sequence_number); - - /* search pss */ - synchro_position = pss_synchro_nr(PHY_VARS_NR_UE, rate_change); - int pss_sequence = get_softmodem_params()->sl_mode == 0 ? NUMBER_PSS_SEQUENCE : NUMBER_PSS_SEQUENCE_SL; - - if (pss_sequence_number < pss_sequence) { - NID2_value = pss_sequence_number; - } else { - NID2_value = pss_sequence; - } - - if (NID2_value < pss_sequence) { - test->number_of_tests++; - /* position should be adjusted with i&q samples which are successively stored as int16 in the received buffer */ - int test_margin = PSS_DETECTION_MARGIN_MAX; /* warning correlation results give an offset position between 0 and 12 */ - int delta_position = abs(position_symbol - (synchro_position*rate_change)); - printf("%s ", test->test_current); - if (PHY_VARS_NR_UE->common_vars.eNb_id == pss_sequence_number) { - if ( delta_position != 0) { - if (delta_position > test_margin*rate_change) { - printf("Test is fail due to wrong position %d instead of %d \n", (synchro_position*rate_change), position_symbol); - printf("%s ", test->test_current); - printf("Test is fail : pss detected with a shift of %d \n", delta_position); - test->number_of_fail++; - } - else { - printf("Test is pass with warning: pss detected with a shift of %d \n", delta_position); - test->number_of_pass_warning++; - } - } - else { - printf("Test is pass: pss detected at right position \n"); - test->number_of_pass++; - } - } - else { - printf("Test is fail due to wrong NID2 detection %d instead of %d \n", PHY_VARS_NR_UE->common_vars.eNb_id, NID2_value); - test->number_of_fail++; - } - } -} - -/******************************************************************* -* -* NAME : main -* -* DESCRIPTION : test bench for synchronisation sequence (pss/sss/pbch) -* purpose of test is to check that synchronisation sequence can be -* properly detected depending of input waveforms. -* -* - First step of synchronisation is pss sequence. -* pss sequence should be detected at the right position -* in the received buffer whatever the position along the -* received data buffer. -* Detection of position is based on correlation in time domain between -* received signal and pss sequence -> position is given by -* peak of correlation result. -* -*********************************************************************/ - -int main(int argc, char *argv[]) -{ - VOID_PARAMETER argc; - VOID_PARAMETER argv; - uint8_t transmission_mode = 1; - uint8_t nb_antennas_tx = 1; - uint8_t nb_antennas_rx = 1; - uint16_t Nid_cell=123; - uint8_t frame_type=FDD; - int N_RB_DL=100; - lte_prefix_type_t extended_prefix_flag=NORMAL; - const char *name_test = "PSS NR"; - test_t test = { name_test, 0, 0, 0, 0}; - /* this is a pointer to the function in charge of the test */ - void (*p_test_synchro_pss)(PHY_VARS_NR_UE *PHY_VARS_NR_UE, int position_symbol, int pss_sequence_number, test_t *test) = test_synchro_pss_nr; - - int test_position[] = { 0, 492, 493, 56788, 56888, 111111, 151234, 151500, 200000, 250004, (307200-2048) }; - int size_test_position = sizeof(test_position)/sizeof(int); - - printf(" PSS TEST \n"); - printf("----------\n"); - - if (init_test(nb_antennas_tx, nb_antennas_rx, transmission_mode, extended_prefix_flag, frame_type, Nid_cell, N_RB_DL) != 0) { - printf("Initialisation problem for synchronisation test \n"); - exit(-1);; - } - - printf("***********************************\n"); - printf(" %s Test synchronisation \n", test.test_current); - printf("***********************************\n"); - -#if 0 - - printf("Synchronisation with random data\n"); - - test_synchro_pss_nr(PHY_vars_UE, 0, INVALID_PSS_SEQUENCE, &test); - -#endif - int pss_sequence = get_softmodem_params()->sl_mode == 0 ? NUMBER_PSS_SEQUENCE : NUMBER_PSS_SEQUENCE_SL; - - for (int index_position = 0; index_position < size_test_position; index_position++) { - for (int number_pss_sequence = 0; number_pss_sequence < pss_sequence; number_pss_sequence++) { - - p_test_synchro_pss(PHY_vars_UE, test_position[index_position], number_pss_sequence, &test); - - //break; - } - //break; - } - - printf("\n%s Number of tests : %d Pass : %d Pass with warning : %d Fail : %d \n\n", test.test_current, test.number_of_tests, test.number_of_pass, test.number_of_pass_warning, test.number_of_fail); - - printf("%s Synchronisaton test is terminated.\n\n", test.test_current); - - /* reset test statistics */ - test.number_of_tests = test.number_of_pass = test.number_of_pass_warning = test.number_of_fail = 0; - - free_context_synchro_nr(); - - return(0); -} diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c deleted file mode 100644 index cc754942a1..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c +++ /dev/null @@ -1,523 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/********************************************************************* -* -* FILENAME : pss_util_test.c -* -* MODULE : UE test bench for unit tests -* -* DESCRIPTION : it allows unitary tests of NR UE -* -************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include - -#include "PHY/defs_nr_UE.h" -#include "PHY/INIT/phy_init.h" -#include "PHY/phy_extern_nr_ue.h" - -/* to declare ue variables */ -#include "PHY/phy_vars_nr_ue.h" -#include "PHY/LTE_TRANSPORT/transport_vars.h" - -#include "PHY/NR_REFSIG/pss_nr.h" -#include "PHY/NR_REFSIG/sss_nr.h" -#include "PHY/NR_UE_TRANSPORT/cic_filter_nr.h" - -#define DEFINE_VARIABLES_PSS_NR_H -#include "../../unit_tests/src/pss_util_test.h" -#undef DEFINE_VARIABLES_PSS_NR_H - -#define DEFINE_VARIABLES_INPUT_BUFFER_TEST_H -#include "../../unit_tests/src/input_buffer_test.h" -#undef DEFINE_VARIABLES_INPUT_BUFFER_TEST_H - -#include "common/utils/LOG/log.h" - -/************** DEFINE *******************************************/ - -/*************** LOCAL VARIABLES***********************************/ - -static nfapi_config_request_t config_t; -static nfapi_config_request_t *config =&config_t; - -/*************** FUNCTIONS ****************************************/ - -//void phy_init_nr_top(NR_DL_FRAME_PARMS *frame_parms); -int init_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_eNB); - -/******************************************************************* -* -* NAME : apply phase shift -* -* PARAMETERS : pointer to buffer in frequency -* length of sample -* -* RETURN : none -* -* DESCRIPTION : apply phase shift to samples -* -*********************************************************************/ - -void phase_shift_samples(int16_t *samples, int length, int16_t phase_shift_re, int16_t phase_shift_im) { - int16_t sample_re, sample_im; - - for (int i = 0; i < length; i++) { - sample_re = (((phase_shift_re*samples[2*i])>>SCALING_METRIC_SSS_NR) - ((phase_shift_im*samples[2*i+1])>>SCALING_METRIC_SSS_NR)); - sample_im = (((phase_shift_im*samples[2*i])>>SCALING_METRIC_SSS_NR) + ((phase_shift_re*samples[2*i+1])>>SCALING_METRIC_SSS_NR)); - samples[2*i] = sample_re; - samples[2*i+1] = sample_im; - } -} - -/******************************************************************* -* -* NAME : display_data -* -* PARAMETERS : pointer to buffer -* position in the buffer -* -* RETURN : none -* -* DESCRIPTION : display pss sequence and data of a buffer -* -* -*********************************************************************/ - -void display_data(int pss_sequence_number, int16_t *rxdata, int position) { -#ifdef DEBUG_TEST_PSS - int pss_sequence = get_softmodem_params()->sl_mode == 0 ? NUMBER_PSS_SEQUENCE : NUMBER_PSS_SEQUENCE_SL; - int16_t *pss_sequence[pss_sequence] = {primary_synch0_time, primary_synch1_time, primary_synch2_time}; - int16_t *pss_sequence_sl[pss_sequence] = {primary_synch0_time, primary_synch1_time}; - int16_t *pss_sequence_time = pss_sequence[pss_sequence_number];; - if (get_softmodem_params()->sl_mode != 0) - pss_sequence_time = pss_sequence_sl[pss_sequence_number]; - printf(" pss %6d data \n", pss_sequence_number); - for (int i = 0; i < 4; i++) { - if (pss_sequence_number < pss_sequence) { - printf("[i %6d] : %4d [i %6d] : %8i at address : %p \n", i, pss_sequence_time[2*i], (i + position), rxdata[2*i + (position*2)], &(rxdata[2*i + (position*2)])); - printf("[q %6d] : %4d [q %6d] : %8i at address : %p \n", i, pss_sequence_time[2*i+1], (i + position), rxdata[2*i + 1 + (position*2)], &(rxdata[2*i + 1 + (position*2)])); - } else { - printf("[i %6d] : Undef [i %6d] : %8i at address : %p \n", i, (i + position), rxdata[2*i + (position*2)], &(rxdata[2*i + (position*2)])); - printf("[q %6d] : Undef [q %6d] : %8i at address : %p \n", i, (i + position), rxdata[2*i + 1 + (position*2)], &(rxdata[2*i + 1 + (position*2)])); - } - } - - nr_init_frame_parms - printf(" ... ... \n"); -#else - (void) pss_sequence_number; - (void) rxdata; - (void) position; -#endif -} - -/******************************************************************* -* -* NAME : display_test_configuration_pss -* -* PARAMETERS : -* -* -* RETURN : none -* -* DESCRIPTION : display test configuration of pss -* -*********************************************************************/ - -void display_test_configuration_pss(int position, int pss_sequence_number) { - const char next_test_text[] = "------------------------------------------------\n"; - const char test_text_pss[] = "Test nr pss with Nid2 %i at position %i \n"; - printf(next_test_text); - printf(test_text_pss, pss_sequence_number, position); -} - -/******************************************************************* -* -* NAME : display_test_configuration_sss -* -* PARAMETERS : -* -* -* RETURN : none -* -* DESCRIPTION : display test configuration of pss -* -*********************************************************************/ - -void display_test_configuration_sss(int sss_sequence_number) { - const char test_text_sss[] = "Test nr sss with Nid1 %i \n"; - printf(test_text_sss, sss_sequence_number); -} - -/******************************************************************* -* -* NAME : undefinedFunction -* -* PARAMETERS : function name -* -* RETURN : none -* -* DESCRIPTION : these functions allow to solve undefined functions at link -* function name is printed at execution time for checking that -* each function is not called -* -*********************************************************************/ - -void undefined_function(const char *function) { - printf("%s undefined \n", function); - printf("Warning: function \"%s\" has been replaced by an empty function for avoiding undefined function error at build \n", function); -} - -/******************************************************************* -* -* NAME : init_synchro_test -* -* PARAMETERS : configuration for UE and eNB -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : initialisation of UE and eNode contexts -* -*********************************************************************/ - -int init_test(unsigned char N_tx, unsigned char N_rx, unsigned char transmission_mode, - unsigned char extended_prefix_flag, uint8_t frame_type, uint16_t Nid_cell, int N_RB_DL) { - (void) transmission_mode; - NR_DL_FRAME_PARMS *frame_parms; - int log_level = OAILOG_TRACE; - logInit(); - // enable these lines if you need debug info - //set_comp_log(PHY,LOG_DEBUG,LOG_HIGH,1); - set_glog(log_level); -#ifndef NR_UNIT_TEST - cpuf = get_cpu_freq_GHz(); - //LOG_I(PHY, "[CONFIG] Test of UE synchronisation \n"); - set_component_filelog(USIM); // file located in /tmp/testSynchroue.txt -#endif - //randominit(0); - //set_taus_seed(0); - printf("Start lte_param_init, frame_type %d, extended_prefix %d\n",frame_type,extended_prefix_flag); - PHY_vars_UE = malloc(sizeof(PHY_VARS_NR_UE)); - bzero(PHY_vars_UE, sizeof(PHY_VARS_NR_UE)); - - if (PHY_vars_UE == NULL) - return(-1); - - frame_parms = &(PHY_vars_UE->frame_parms); - frame_parms->N_RB_DL = N_RB_DL; //50 for 10MHz and 25 for 5 MHz - frame_parms->N_RB_UL = N_RB_DL; - frame_parms->Ncp = extended_prefix_flag; - frame_parms->Nid_cell = Nid_cell; - frame_parms->nb_antennas_tx = N_tx; - frame_parms->nb_antennas_rx = N_rx; - frame_parms->frame_type = frame_type; - frame_parms->nb_antenna_ports_gNB = 1; - frame_parms->threequarter_fs = 0; - frame_parms->numerology_index = NUMEROLOGY_INDEX_MAX_NR; - int mu = 1; - int n_ssb_crb = 0; - int ssb_subcarrier_offset = 0; - nr_init_frame_parms_ue(frame_parms, mu, extended_prefix_flag, N_RB_DL, n_ssb_crb, ssb_subcarrier_offset); - int nid_2_num = get_softmodem_params()->sl_mode == 0 ? N_ID_2_NUMBER : N_ID_2_NUMBER_SL; - PHY_vars_UE->frame_parms.Nid_cell = (3 * N_ID_1_NUMBER) + nid_2_num; /* set to unvalid value */ - - //phy_init_nr_top(frame_parms); - - if (init_nr_ue_signal(PHY_vars_UE, 1) != 0) { - LOG_E(PHY,"Error at UE NR initialisation : at line %d in function %s of file %s \n", LINE_FILE , __func__, FILE_NAME); - return (0); - } - - /* dummy initialisation of global structure PHY_vars_UE_g */ - uint16_t NB_UE_INST=1; - PHY_vars_UE_g = (PHY_VARS_NR_UE ** *)calloc( NB_UE_INST, sizeof(PHY_VARS_NR_UE **)); - - for (int UE_id=0; UE_idnb_antennas_tx = 1; - //(frame_parms[CC_id])->nb_antennas_rx = nb_antennas_rx_ue; - // PHY_vars_UE_g[UE_id][CC_id] = init_lte_UE(frame_parms[CC_id], UE_id,abstraction_flag); - PHY_vars_UE_g[UE_id][CC_id] = calloc(1, sizeof(PHY_VARS_NR_UE)); - PHY_vars_UE_g[UE_id][CC_id]->Mod_id=UE_id; - PHY_vars_UE_g[UE_id][CC_id]->CC_id=CC_id; - } - } - - return (0); -} - -/******************************************************************* -* -* NAME : set_random_rx_buffer -* -* PARAMETERS : Ue context -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : write random data in received UE buffer of the synchronisation window -* -*********************************************************************/ - -typedef enum { - ZERO_DATA, - SINUSOIDAL_DATA, - RANDOM_DATA, - RANDOM_MAX_DATA -} random_data_format_t; - -/* data is a pure cosinus wave */ -#define SAMPLING_RATE (30720000L) -#define SCALING_SINUSOIDAL_DATA (4) /* 16 is max value without decimation */ -#define FREQUENCY_15_MHZ (15360000L) -#define FREQUENCY (FREQUENCY_15_MHZ) /* to generate a frequency with a sampling of 30,72 MHz 5 gives 770 KHz, 20 gives 1,5 MHz, 40 gives 3 MHz */ - -void set_random_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int amp) { - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int samples_for_frame = frame_parms->samples_per_frame; - int16_t random; - int16_t *data_p; - random_data_format_t data_format = SINUSOIDAL_DATA; - /* reinitialise random for always getting same data */ - srand(0); - double n = 0; - - for (int aa=0; aaframe_parms.nb_antennas_rx; aa++) { - data_p = (int16_t *) &(PHY_vars_UE->common_vars.rxdata[aa][0]); - int frequency_switch = samples_for_frame/LTE_NUMBER_OF_SUBFRAMES_PER_FRAME; - int frequency_step = 0; - double beat = (2*M_PI*FREQUENCY_15_MHZ)/(SAMPLING_RATE); - - for (int i=0; i< samples_for_frame; i++) { - switch(data_format) { - case ZERO_DATA: { - /* all data are forced to zero */ - random = 0; - break; - } - - case SINUSOIDAL_DATA: { - /* sinusoidal signal */ - n = cos(beat*i); - random = n * (amp * SCALING_SINUSOIDAL_DATA); - frequency_step++; - - if (frequency_step == frequency_switch) { - beat = beat/2; /* frequency is divided by 2 */ - //printf("frequency %f at %d\n", (beat/2*M_PI), i); - frequency_step = 0; - } - - //printf("%d : cos %d %d \n", i, n, random); - break; - } - - case RANDOM_DATA: { - /* random data can take any value between -SHRT_MAX and SHRT_MAX */ - /* in this case one can use maxim value for uint16 because there is no saturation */ -#define SCALING_RANDOM_DATA (24) /* 48 is max value without decimation */ -#define RANDOM_MAX_AMP (amp * SCALING_RANDOM_DATA) - random = ((rand() % RANDOM_MAX_AMP) - RANDOM_MAX_AMP/2); - break; - } - - case RANDOM_MAX_DATA: { - /* random data can take only two value (-RANDOM_MAX) or RANDOM_MAX */ - /* In this case saturation can occur with value of scaling_value greater than 23 */ -#define SCALING_RANDOM_MAX_DATA (8) -#define RANDOM_VALUE (amp * SCALING_RANDOM_DATA) - const int random_number[2] = {-1,+1}; - random = random_number[rand()%2] * RANDOM_VALUE; - break; - } - - default: { - printf("Format of data is undefined \n"); - assert(0); - break; - } - } - - data_p[2*i] = random; - data_p[2*i+1] = random; -#if 0 - - if (i < 10) { - printf("random %d \n", random); - printf("data[%d] : %d %d at address %p \n", i, data_p[2*i], data_p[2*i+1], &data_p[2*i]); - } - -#endif - } - } -} - -/******************************************************************* -* -* NAME : set_pss_in_rx_buffer_from_external_buffer -* -* PARAMETERS : UE context -* position of pss in the received UE buffer -* number of pss sequence* -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : set received buffer according to an external buffer -* -*********************************************************************/ - -int set_pss_in_rx_buffer_from_external_buffer(PHY_VARS_NR_UE *PHY_vars_UE, short *input_buffer) { - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int samples_for_frame = frame_parms->samples_per_frame; /* both i and q */ - - for (int aa=0; aaframe_parms.nb_antennas_rx; aa++) { - for (int i = 0; i < samples_for_frame; i++) { - ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i] = input_buffer[2*i]; /* real part */ - ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i+1] = input_buffer[2*i+1]; /* imaginary part */ - } - } - - /* check that sequence has been properly copied */ - for (int aa=0; aaframe_parms.nb_antennas_rx; aa++) { - for (int i=0; icommon_vars.rxdata[aa])[2*i]) - || (input_buffer[2*i+1] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[2*i+1])) { - printf("Sequence pss was not properly copied into received buffer at index %d \n", i); - exit(-1); - } - } - } - - return (0); -} - -/******************************************************************* -* -* NAME : set_pss_in_rx_buffer -* -* PARAMETERS : UE context -* position of pss in the received UE buffer -* number of pss sequence* -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : write reference pss sequence at a specified sample position in the received UE buffer -* -* first pss sequence is written into the buffer only if: -* - pss sequence is valid -* - there is enough room for written the complete sequence -* -* second sequence is written at a position of 5 ms after first pss sequence if: -* - pss sequence is valid -* - there is enough room for written the complete sequence* -* -*********************************************************************/ - -int set_pss_in_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number) { - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int samples_for_frame = frame_parms->samples_per_frame; - int16_t *pss_sequence_time; - - if ((position_symbol > samples_for_frame) - || ((position_symbol + frame_parms->ofdm_symbol_size) > samples_for_frame)) { - printf("This pss sequence can not be fully written in the received window \n"); - return (-1); - } - int pss_sequence = get_softmodem_params()->sl_mode == 0 ? NUMBER_PSS_SEQUENCE : NUMBER_PSS_SEQUENCE_SL; - if ((pss_sequence_number >= pss_sequence) && (pss_sequence_number < 0)) { - printf("Unknow pss sequence %d \n", pss_sequence_number); - return (-1); - } - - pss_sequence_time = primary_synchro_time_nr[pss_sequence_number]; - - for (int aa=0; aaframe_parms.nb_antennas_rx; aa++) { - for (int i = 0; i < frame_parms->ofdm_symbol_size; i++) { - ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i)] = pss_sequence_time[2*i]; /* real part */ - ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i+1)] = pss_sequence_time[2*i+1]; /* imaginary part */ - } - } - - /* check that sequence has been properly copied */ - for (int aa=0; aaframe_parms.nb_antennas_rx; aa++) { - for (int i=0; i<(frame_parms->ofdm_symbol_size); i++) { - if ((pss_sequence_time[2*i] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i)]) - || (pss_sequence_time[2*i+1] != ((int16_t *)PHY_vars_UE->common_vars.rxdata[aa])[(position_symbol*2) + (2*i+1)])) { - printf("Sequence pss was not properly copied into received buffer at index %d \n", i); - exit(-1); - } - } - } - - return (0); -} - -/******************************************************************* -* -* NAME : set_sequence_pss -* -* PARAMETERS : UE context -* position of pss in the received UE buffer -* number of pss sequence* -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : write reference pss sequence at a specified sample position in the received UE buffer -* -* pss sequence is written into the buffer only if: -* - pss sequence is valid -* - there is enough room for written the complete sequence* -* -*********************************************************************/ - -void set_sequence_pss(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number) { - NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms); - int samples_for_frame = frame_parms->samples_per_frame; - /* initialise received ue data with random */ - set_random_rx_buffer(PHY_vars_UE, AMP); - - /* in this case input buffer is provided by an external buffer */ - if (position_symbol < 0) { - set_pss_in_rx_buffer_from_external_buffer(PHY_vars_UE, input_buffer); - } - int pss_sequence = get_softmodem_params()->sl_mode == 0 ? NUMBER_PSS_SEQUENCE : NUMBER_PSS_SEQUENCE_SL; - /* write pss sequence in received ue buffer */ - else if (pss_sequence_number < pss_sequence) { - if (position_symbol > (samples_for_frame - frame_parms->ofdm_symbol_size)) { - printf("This position for pss sequence %d is not supported because it exceeds the frame length %d!\n", position_symbol, samples_for_frame); - exit(0); - } - - if (set_pss_in_rx_buffer(PHY_vars_UE, position_symbol, pss_sequence_number) != 0) - printf("Warning: pss sequence can not be properly written into received buffer !\n"); - } - - display_data(pss_sequence_number, (int16_t *)&(PHY_vars_UE->common_vars.rxdata[0][0]), position_symbol); -} diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.h b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.h deleted file mode 100644 index 78efc2234b..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/********************************************************************** -* -* FILENAME : pss_util_test.h -* -* MODULE : UE utilities for test bench of synchronisation -* -* DESCRIPTION : it allows unitary tests of UE synchronisation on host machine -* -************************************************************************/ - -#ifndef PSS_UTIL_TEST_H -#define PSS_UTIL_TEST_H - -#include -#include -#include -#include -#include - -#include "PHY/defs_nr_UE.h" -#include "PHY/INIT/init_extern.h" -#include "PHY/phy_extern_nr_ue.h" - -#include "PHY/NR_REFSIG/pss_nr.h" - -#ifdef DEFINE_VARIABLES_PSS_NR_H -#define EXTERN -#define INIT_VARIABLES_PSS_NR_H -#else -#define EXTERN extern -#undef INIT_VARIABLES_PSS_NR_H -#endif - -/************** DEFINE *******************************************/ - -//#define DEBUG_TEST_PSS -#define PSS_DETECTION_MARGIN_MAX (4) - -#define NUMEROLOGY_INDEX_MAX_NR (5) - -/*************** TYPE*********************************************/ - -typedef struct { - const char *test_current; - int number_of_tests; - int number_of_pass; - int number_of_pass_warning; - int number_of_fail; -} test_t; - -/*************** GLOBAL VARIABLES***********************************/ - -EXTERN PHY_VARS_eNB *PHY_vars_eNB; -EXTERN PHY_VARS_NR_UE *PHY_vars_UE; - -/*************** FUNCTIONS *****************************************/ - -void undefined_function(const char *function); - -void display_data(int pss_sequence_number, int16_t *rxdata, int position); - -void init_decimator_test(void); - -void decimation_synchro_nr(PHY_VARS_NR_UE *PHY_vars_UE, int **rxdata); - -void restore_context_frame(int **rxdata); - -int set_pss_in_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number); - -int init_test(unsigned char N_tx, unsigned char N_rx, unsigned char transmission_mode, - unsigned char extended_prefix_flag, uint8_t frame_type, uint16_t Nid_cell, - int N_RB_DL); - -void display_test_configuration_pss(int position, int pss_sequence_number); - -void display_test_configuration_sss(int sss_sequence_number); - -int set_pss_nr(int ofdm_symbol_size); - -void set_random_rx_buffer(PHY_VARS_NR_UE *PHY_vars_UE, int amp); - -void set_sequence_pss(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, int pss_sequence_number); - -int set_pss_in_rx_buffer_from_external_buffer(PHY_VARS_NR_UE *PHY_vars_UE, short *inputBuffer); - -void phase_shift_samples(int16_t *samples, int length, int16_t phase_shift_re, int16_t phase_shift_im); - -#endif /* PSS_UTIL_TEST_H */ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/sss_test.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/sss_test.c deleted file mode 100644 index fa2a8cffd1..0000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/sss_test.c +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The OpenAirInterface Software Alliance licenses this file to You under - * the OAI Public License, Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.openairinterface.org/?page_id=698 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - *------------------------------------------------------------------------------- - * For more information about the OpenAirInterface (OAI) Software Alliance: - * contact@openairinterface.org - */ - -/********************************************************************** -* -* FILENAME : sss_test.c -* -* MODULE : UE test bench for sss tests -* -* DESCRIPTION : it allows unitary tests for SSS on host machine -* -************************************************************************/ - -#include -#include -#include -#include -#include - -#include "../../unit_tests/src/pss_util_test.h" -#include "PHY/defs_nr_UE.h" -#include "PHY/INIT/init_extern.h" -#include "PHY/phy_extern_nr_ue.h" - -#include "PHY/NR_REFSIG/ss_pbch_nr.h" -#include "PHY/NR_REFSIG/pss_nr.h" -#include "PHY/NR_REFSIG/sss_nr.h" -#include "PHY/NR_REFSIG/dmrs_nr.h" - - -/******************************************************************* -* -* NAME : test_synchro_pss_sss_nr -* -* INPUT : UE context -* for first and second pss sequence -* - position of pss in the received UE buffer -* - number of pss sequence -* -* RETURN : 0 if OK else error -* -* DESCRIPTION : detect pss sequences in the received UE buffer -* then detect sss sequence -* -* Test procedure: -* - reference pss sequences (first, second or both) are written at specific -* positions -* - correlation is done between the received buffer and the possible pss sequences -* - results indicate pss sequence number and correlation result -* - reference sss sequences are written at specific positions -* - correlation is done with possible sss sequence -* -* (10 ms) -* <---------------------------------------------------------------------------> -* ----------------------------------------------------------------------------- -* | Received UE data buffer | -* ---------------------------------------------------------------------------- -* --------------------------------------------- -* <-------------->| pss | pbch | sss | pbch | -* --------------------------------------------- -* offset -* -* SSS/PBCH block contains following symbols: pss + pbch + sss + pbch -* -*********************************************************************/ - -int test_synchro_pss_sss_nr(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, NR_DL_FRAME_PARMS *frame_parms_gNB, test_t *test) -{ - UE_nr_rxtx_proc_t proc = {0}; - VOID_PARAMETER test; - int synchro_position; - int offset; - int16_t *tmp; - int32_t metric_fdd_ncp=0; - uint8_t phase_fdd_ncp; - int rate_change = SYNCHRO_RATE_CHANGE_FACTOR; - int Nid2 = GET_NID2(frame_parms_gNB->Nid_cell); - int Nid1 = GET_NID1(frame_parms_gNB->Nid_cell); - - display_test_configuration_pss(position_symbol, Nid2); - - set_sequence_pss(PHY_vars_UE, position_symbol, Nid2); - - synchro_position = pss_synchro_nr(PHY_vars_UE, rate_change); - - display_test_configuration_sss(Nid1); - - synchro_position = synchro_position * rate_change; - - if (abs(synchro_position - position_symbol) > PSS_DETECTION_MARGIN_MAX) - { - printf("NR Pss has been detected at position %d instead of %d \n", synchro_position, position_symbol); - } - - /* symbols order for synchronisation block is PSS - PBCH - SSS */ - /* knowing that synchronisation position gives pss ofdm start one can deduce start of sss symbol */ - offset = (position_symbol + (SSS_SYMBOL_NB - PSS_SYMBOL_NB)*(PHY_vars_UE->frame_parms.ofdm_symbol_size + PHY_vars_UE->frame_parms.nb_prefix_samples)); - - tmp = (int16_t *)&PHY_vars_UE->common_vars.rxdata[0][offset]; - - insert_sss_nr(tmp, frame_parms_gNB); - - PHY_vars_UE->rx_offset = position_symbol; /* offset is given for samples of type int16 */ - -#if 0 - - int samples_for_frame = PHY_vars_UE->frame_parms.samples_per_frame; - - write_output("rxdata0_rand.m","rxd0_rand", &PHY_vars_UE->common_vars.rxdata[0][0], samples_for_frame, 1, 1); - -#endif - -#if TEST_SYNCHRO_TIMING_PSS - - start_meas(&generic_time[TIME_SSS]); - -#endif - - rx_sss_nr(PHY_vars_UE, &proc, &metric_fdd_ncp, &phase_fdd_ncp); - -#if TEST_SYNCHRO_TIMING_PSS - - stop_meas(&generic_time[TIME_SSS]); - - #ifndef NR_UNIT_TEST - - printf("PSS execution duration %5.2f \n", generic_time[TIME_PSS].p_time/(cpuf*1000.0)); - - printf("SSS execution duration %5.2f \n", generic_time[TIME_SSS].p_time/(cpuf*1000.0)); - - #endif - -#endif - - return phase_fdd_ncp; -} - -/******************************************************************* -* -* NAME : main -* -* DESCRIPTION : test bench for synchronisation sequence (pss/sss/pbch) -* purpose of test is to check that synchronisation sequence can be -* properly detected depending of input waveforms. -* -* - First step of synchronisation consists in pss search (primary synchronisation signal). -* pss sequence should be detected at the right position -* in the received buffer whatever the position along the -* received data buffer. -* Detection of position is based on correlation in time domain between -* received signal and pss sequence -> position is given by -* peak of correlation result. -* - Second step of synchronisation is sss decoding (secundary synchronisation signal). -* sss detection is based on position of detected pss. -* -*********************************************************************/ - -int main(int argc, char *argv[]) -{ - VOID_PARAMETER argc; - VOID_PARAMETER argv; - uint8_t transmission_mode = 1; - uint8_t nb_antennas_tx = 1; - uint8_t nb_antennas_rx = 1; - uint8_t frame_type = FDD; - int N_RB_DL=100; - lte_prefix_type_t extended_prefix_flag = NORMAL; - int phase; - int Nid1, Nid2; - NR_DL_FRAME_PARMS frame_parms_gNB; - - const char *name_test = "SSS NR"; - test_t test = { name_test, 0, 0, 0, 0}; - -#if 1 - int test_position[] = { 0, 492, 493, 56788, 111111, 222222 }; /* this is the sample number in the frame */ -#else - int test_position[] = {-1}; /* to get samples from an array */ -#endif - - int size_test_position = sizeof(test_position)/sizeof(int); - - /* this is a pointer to the function in charge of the test */ - int (*p_test_synchro_pss_sss)(PHY_VARS_NR_UE *PHY_vars_UE, int position_symbol, NR_DL_FRAME_PARMS *frame_parms, test_t *test) = test_synchro_pss_sss_nr; - -#if 1 - int Nid_cell[] = { (3*0+0), (3*71+0), (3*21+2), (3*21+2), (3*55+1), (3*111+2) }; -#else - int Nid_cell[] = { ((3*1+2)) }; -#endif - - printf(" SSS TEST \n"); - printf("----------\n"); - - if (init_test(nb_antennas_tx, nb_antennas_rx, transmission_mode, extended_prefix_flag, frame_type, Nid_cell[0], N_RB_DL) != 0) { - printf("Initialisation problem for synchronisation test \n"); - exit(-1);; - } - - memcpy((void *)&frame_parms_gNB, (void*)&PHY_vars_UE->frame_parms, sizeof(NR_DL_FRAME_PARMS)); - - printf("***********************************\n"); - printf(" %s Test synchronisation \n", test.test_current); - printf("***********************************\n"); - - for (unsigned int index = 0; index < (sizeof(Nid_cell)/sizeof(int)); index++) { - - frame_parms_gNB.Nid_cell = Nid_cell[index]; - - Nid2 = GET_NID2(Nid_cell[index]); - Nid1 = GET_NID1(Nid_cell[index]); - int nid_2_num = get_softmodem_params()->sl_mode == 0 ? N_ID_2_NUMBER : N_ID_2_NUMBER_SL; - for (int position = 0; position < size_test_position; position++) { - - PHY_vars_UE->frame_parms.Nid_cell = (3 * N_ID_1_NUMBER) + nid_2_num; /* set to invalid value */ - - phase = (*p_test_synchro_pss_sss)(PHY_vars_UE, test_position[position], &frame_parms_gNB, &test); /* return phase index which gives phase error from an array */ - - test.number_of_tests++; - printf("%s ", test.test_current); - - if (PHY_vars_UE->frame_parms.Nid_cell == (3 * Nid1) + Nid2) { - if (phase != INDEX_NO_PHASE_DIFFERENCE) { - printf("Test is pass with warning due to phase difference %d (instead of %d) offset %d Nid1 %d Nid2 %d \n", - phase, INDEX_NO_PHASE_DIFFERENCE, test_position[position], Nid1, Nid2); - test.number_of_pass_warning++; - } else { - printf("Test is pass with offset %d Nid1 %d Nid2 %d \n", test_position[position], Nid1, Nid2); - test.number_of_pass++; - } - } - else { - printf("Test is fail with offset %d Nid1 %d Nid2 %d \n", test_position[position], Nid1, Nid2); - test.number_of_fail++; - } - //break; - } - //break; - } - - printf("\n%s Number of tests : %d Pass : %d Pass with warning : %d Fail : %d \n", test.test_current, test.number_of_tests, test.number_of_pass, test.number_of_pass_warning, test.number_of_fail); - - printf("%s Synchronisaton test is terminated.\n\n", test.test_current); - - /* reset test statistics */ - test.number_of_tests = test.number_of_pass = test.number_of_pass_warning = test.number_of_fail = 0; - - free_context_synchro_nr(); - - return(0); -}