remove unused frame config ue phy unit test and all nr ue phy test folder
This commit is contained in:
@@ -1,68 +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
|
||||
# */
|
||||
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} -O0 -g -Wextra -march=native"
|
||||
)
|
||||
|
||||
add_definitions("-DUPGRADE_RAT_NR")
|
||||
add_definitions("-DDEBUG_PSS_NR")
|
||||
add_definitions("-DDEBUG_SSS_NR")
|
||||
add_definitions("-DNR_UNIT_TEST")
|
||||
|
||||
set(PACKAGE_NAME "Testbench for unitary tests")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
set(ENABLE_ITTI False)
|
||||
set(DEBUG_PHY False)
|
||||
set(DEBUG_PSS True)
|
||||
set(DEBUG_PHY True)
|
||||
set(DEBUG_PHY_PROC False)
|
||||
set(DEBUG_DLSCH True)
|
||||
set(T_TRACER False)
|
||||
|
||||
# standard cmake file for nr ue build
|
||||
include(../../../../../CMakeLists.txt)
|
||||
|
||||
|
||||
set(SRC_UNIT_TESTS
|
||||
${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.c
|
||||
${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/dummy_functions.c
|
||||
)
|
||||
|
||||
set(INC_UNIT_TESTS
|
||||
${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pss_util_test.h
|
||||
)
|
||||
|
||||
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
|
||||
pthread m ${ATLAS_LIBRARIES}
|
||||
)
|
||||
|
||||
add_executable(pbch_test ${OPENAIR1_DIR}/SIMULATION/NR_UE_PHY/unit_tests/src/pbch_test.c ${SRC_UNIT_TESTS} )
|
||||
target_link_libraries(pbch_test
|
||||
-Wl,--start-group UTIL SCHED_NR_UE_LIB PHY PHY_COMMON PHY_UE PHY_NR_UE -Wl,--end-group
|
||||
pthread m ${ATLAS_LIBRARIES}
|
||||
)
|
||||
@@ -1,180 +0,0 @@
|
||||
FRAME CONFIGURATION 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
|
||||
[1;31m[PHY][E][set_tdd_config_nr] set_tdd_configuration_nr: given period is inconsistent with current tdd configuration
|
||||
[0m
|
||||
Tdd configuration tti 2 downlink 5 uplink 1 period 2500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] D
|
||||
|
||||
[1;31m[PHY][E][set_tdd_config_nr] set_tdd_configuration_nr: given period is inconsistent with current tdd configuration
|
||||
[0m
|
||||
Tdd configuration tti 2 downlink 4 uplink 2 period 2500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] D
|
||||
|
||||
[1;31m[PHY][E][set_tdd_config_nr] set_tdd_configuration_nr: given period is inconsistent with current tdd configuration
|
||||
[0m
|
||||
Tdd configuration tti 2 downlink 4 uplink 1 period 500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] D
|
||||
|
||||
|
||||
Tdd configuration tti 1 downlink 1 uplink 1 period 2000
|
||||
[ 0] D [ 1] U [ 2] D [ 3] U [ 4] D [ 5] U [ 6] D [ 7] U [ 8] D [ 9] U [ 10] D [ 11] U [ 12] D [ 13] U [ 14] D [ 15] U [ 16] D [ 17] U [ 18] D [ 19] U
|
||||
|
||||
|
||||
Tdd configuration tti 1 downlink 4 uplink 1 period 5000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] U [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] U [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
|
||||
|
||||
Tdd configuration tti 1 downlink 9 uplink 1 period 10000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
|
||||
|
||||
Tdd configuration tti 2 downlink 1 uplink 1 period 1000
|
||||
[ 0] D [ 1] U [ 2] D [ 3] U [ 4] D [ 5] U [ 6] D [ 7] U [ 8] D [ 9] U [ 10] D [ 11] U [ 12] D [ 13] U [ 14] D [ 15] U [ 16] D [ 17] U [ 18] D [ 19] U
|
||||
[ 20] D [ 21] U [ 22] D [ 23] U [ 24] D [ 25] U [ 26] D [ 27] U [ 28] D [ 29] U [ 30] D [ 31] U [ 32] D [ 33] U [ 34] D [ 35] U [ 36] D [ 37] U [ 38] D [ 39] U
|
||||
|
||||
|
||||
Tdd configuration tti 2 downlink 3 uplink 1 period 2000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] U [ 4] D [ 5] D [ 6] D [ 7] U [ 8] D [ 9] D [ 10] D [ 11] U [ 12] D [ 13] D [ 14] D [ 15] U [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] U [ 24] D [ 25] D [ 26] D [ 27] U [ 28] D [ 29] D [ 30] D [ 31] U [ 32] D [ 33] D [ 34] D [ 35] U [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
|
||||
|
||||
Tdd configuration tti 2 downlink 4 uplink 1 period 2500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] U [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] U [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] U [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] U [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
|
||||
|
||||
Tdd configuration tti 2 downlink 9 uplink 1 period 5000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
|
||||
|
||||
Tdd configuration tti 2 downlink 19 uplink 1 period 10000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 1 uplink 1 period 500
|
||||
[ 0] D [ 1] U [ 2] D [ 3] U [ 4] D [ 5] U [ 6] D [ 7] U [ 8] D [ 9] U [ 10] D [ 11] U [ 12] D [ 13] U [ 14] D [ 15] U [ 16] D [ 17] U [ 18] D [ 19] U
|
||||
[ 20] D [ 21] U [ 22] D [ 23] U [ 24] D [ 25] U [ 26] D [ 27] U [ 28] D [ 29] U [ 30] D [ 31] U [ 32] D [ 33] U [ 34] D [ 35] U [ 36] D [ 37] U [ 38] D [ 39] U
|
||||
[ 40] D [ 41] U [ 42] D [ 43] U [ 44] D [ 45] U [ 46] D [ 47] U [ 48] D [ 49] U [ 50] D [ 51] U [ 52] D [ 53] U [ 54] D [ 55] U [ 56] D [ 57] U [ 58] D [ 59] U
|
||||
[ 60] D [ 61] U [ 62] D [ 63] U [ 64] D [ 65] U [ 66] D [ 67] U [ 68] D [ 69] U [ 70] D [ 71] U [ 72] D [ 73] U [ 74] D [ 75] U [ 76] D [ 77] U [ 78] D [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 3 uplink 1 period 1000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] U [ 4] D [ 5] D [ 6] D [ 7] U [ 8] D [ 9] D [ 10] D [ 11] U [ 12] D [ 13] D [ 14] D [ 15] U [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] U [ 24] D [ 25] D [ 26] D [ 27] U [ 28] D [ 29] D [ 30] D [ 31] U [ 32] D [ 33] D [ 34] D [ 35] U [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] U [ 44] D [ 45] D [ 46] D [ 47] U [ 48] D [ 49] D [ 50] D [ 51] U [ 52] D [ 53] D [ 54] D [ 55] U [ 56] D [ 57] D [ 58] D [ 59] U
|
||||
[ 60] D [ 61] D [ 62] D [ 63] U [ 64] D [ 65] D [ 66] D [ 67] U [ 68] D [ 69] D [ 70] D [ 71] U [ 72] D [ 73] D [ 74] D [ 75] U [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 4 uplink 1 period 1250
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] U [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] U [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] U [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] U [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] U [ 45] D [ 46] D [ 47] D [ 48] D [ 49] U [ 50] D [ 51] D [ 52] D [ 53] D [ 54] U [ 55] D [ 56] D [ 57] D [ 58] D [ 59] U
|
||||
[ 60] D [ 61] D [ 62] D [ 63] D [ 64] U [ 65] D [ 66] D [ 67] D [ 68] D [ 69] U [ 70] D [ 71] D [ 72] D [ 73] D [ 74] U [ 75] D [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 7 uplink 1 period 2000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] U [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] U [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] D [ 21] D [ 22] D [ 23] U [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] U [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] D [ 45] D [ 46] D [ 47] U [ 48] D [ 49] D [ 50] D [ 51] D [ 52] D [ 53] D [ 54] D [ 55] U [ 56] D [ 57] D [ 58] D [ 59] D
|
||||
[ 60] D [ 61] D [ 62] D [ 63] U [ 64] D [ 65] D [ 66] D [ 67] D [ 68] D [ 69] D [ 70] D [ 71] U [ 72] D [ 73] D [ 74] D [ 75] D [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 9 uplink 1 period 2500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] D [ 45] D [ 46] D [ 47] D [ 48] D [ 49] U [ 50] D [ 51] D [ 52] D [ 53] D [ 54] D [ 55] D [ 56] D [ 57] D [ 58] D [ 59] U
|
||||
[ 60] D [ 61] D [ 62] D [ 63] D [ 64] D [ 65] D [ 66] D [ 67] D [ 68] D [ 69] U [ 70] D [ 71] D [ 72] D [ 73] D [ 74] D [ 75] D [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 19 uplink 1 period 5000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] D [ 45] D [ 46] D [ 47] D [ 48] D [ 49] D [ 50] D [ 51] D [ 52] D [ 53] D [ 54] D [ 55] D [ 56] D [ 57] D [ 58] D [ 59] U
|
||||
[ 60] D [ 61] D [ 62] D [ 63] D [ 64] D [ 65] D [ 66] D [ 67] D [ 68] D [ 69] D [ 70] D [ 71] D [ 72] D [ 73] D [ 74] D [ 75] D [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 4 downlink 38 uplink 2 period 10000
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] D [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] D [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] D [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] U [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] D [ 45] D [ 46] D [ 47] D [ 48] D [ 49] D [ 50] D [ 51] D [ 52] D [ 53] D [ 54] D [ 55] D [ 56] D [ 57] D [ 58] D [ 59] D
|
||||
[ 60] D [ 61] D [ 62] D [ 63] D [ 64] D [ 65] D [ 66] D [ 67] D [ 68] D [ 69] D [ 70] D [ 71] D [ 72] D [ 73] D [ 74] D [ 75] D [ 76] D [ 77] D [ 78] U [ 79] U
|
||||
|
||||
|
||||
Tdd configuration tti 8 downlink 4 uplink 1 period 625
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] U [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] U [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] U [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] U [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] U [ 45] D [ 46] D [ 47] D [ 48] D [ 49] U [ 50] D [ 51] D [ 52] D [ 53] D [ 54] U [ 55] D [ 56] D [ 57] D [ 58] D [ 59] U
|
||||
[ 60] D [ 61] D [ 62] D [ 63] D [ 64] U [ 65] D [ 66] D [ 67] D [ 68] D [ 69] U [ 70] D [ 71] D [ 72] D [ 73] D [ 74] U [ 75] D [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
[ 80] D [ 81] D [ 82] D [ 83] D [ 84] U [ 85] D [ 86] D [ 87] D [ 88] D [ 89] U [ 90] D [ 91] D [ 92] D [ 93] D [ 94] U [ 95] D [ 96] D [ 97] D [ 98] D [ 99] U
|
||||
[100] D [101] D [102] D [103] D [104] U [105] D [106] D [107] D [108] D [109] U [110] D [111] D [112] D [113] D [114] U [115] D [116] D [117] D [118] D [119] U
|
||||
[120] D [121] D [122] D [123] D [124] U [125] D [126] D [127] D [128] D [129] U [130] D [131] D [132] D [133] D [134] U [135] D [136] D [137] D [138] D [139] U
|
||||
[140] D [141] D [142] D [143] D [144] U [145] D [146] D [147] D [148] D [149] U [150] D [151] D [152] D [153] D [154] U [155] D [156] D [157] D [158] D [159] U
|
||||
|
||||
|
||||
Tdd configuration tti 16 downlink 7 uplink 1 period 500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] D [ 5] D [ 6] D [ 7] U [ 8] D [ 9] D [ 10] D [ 11] D [ 12] D [ 13] D [ 14] D [ 15] U [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] D [ 21] D [ 22] D [ 23] U [ 24] D [ 25] D [ 26] D [ 27] D [ 28] D [ 29] D [ 30] D [ 31] U [ 32] D [ 33] D [ 34] D [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
[ 40] D [ 41] D [ 42] D [ 43] D [ 44] D [ 45] D [ 46] D [ 47] U [ 48] D [ 49] D [ 50] D [ 51] D [ 52] D [ 53] D [ 54] D [ 55] U [ 56] D [ 57] D [ 58] D [ 59] D
|
||||
[ 60] D [ 61] D [ 62] D [ 63] U [ 64] D [ 65] D [ 66] D [ 67] D [ 68] D [ 69] D [ 70] D [ 71] U [ 72] D [ 73] D [ 74] D [ 75] D [ 76] D [ 77] D [ 78] D [ 79] U
|
||||
[ 80] D [ 81] D [ 82] D [ 83] D [ 84] D [ 85] D [ 86] D [ 87] U [ 88] D [ 89] D [ 90] D [ 91] D [ 92] D [ 93] D [ 94] D [ 95] U [ 96] D [ 97] D [ 98] D [ 99] D
|
||||
[100] D [101] D [102] D [103] U [104] D [105] D [106] D [107] D [108] D [109] D [110] D [111] U [112] D [113] D [114] D [115] D [116] D [117] D [118] D [119] U
|
||||
[120] D [121] D [122] D [123] D [124] D [125] D [126] D [127] U [128] D [129] D [130] D [131] D [132] D [133] D [134] D [135] U [136] D [137] D [138] D [139] D
|
||||
[140] D [141] D [142] D [143] U [144] D [145] D [146] D [147] D [148] D [149] D [150] D [151] U [152] D [153] D [154] D [155] D [156] D [157] D [158] D [159] U
|
||||
[160] D [161] D [162] D [163] D [164] D [165] D [166] D [167] U [168] D [169] D [170] D [171] D [172] D [173] D [174] D [175] U [176] D [177] D [178] D [179] D
|
||||
[180] D [181] D [182] D [183] U [184] D [185] D [186] D [187] D [188] D [189] D [190] D [191] U [192] D [193] D [194] D [195] D [196] D [197] D [198] D [199] U
|
||||
[200] D [201] D [202] D [203] D [204] D [205] D [206] D [207] U [208] D [209] D [210] D [211] D [212] D [213] D [214] D [215] U [216] D [217] D [218] D [219] D
|
||||
[220] D [221] D [222] D [223] U [224] D [225] D [226] D [227] D [228] D [229] D [230] D [231] U [232] D [233] D [234] D [235] D [236] D [237] D [238] D [239] U
|
||||
[240] D [241] D [242] D [243] D [244] D [245] D [246] D [247] U [248] D [249] D [250] D [251] D [252] D [253] D [254] D [255] U [256] D [257] D [258] D [259] D
|
||||
[260] D [261] D [262] D [263] U [264] D [265] D [266] D [267] D [268] D [269] D [270] D [271] U [272] D [273] D [274] D [275] D [276] D [277] D [278] D [279] U
|
||||
[280] D [281] D [282] D [283] D [284] D [285] D [286] D [287] U [288] D [289] D [290] D [291] D [292] D [293] D [294] D [295] U [296] D [297] D [298] D [299] D
|
||||
[300] D [301] D [302] D [303] U [304] D [305] D [306] D [307] D [308] D [309] D [310] D [311] U [312] D [313] D [314] D [315] D [316] D [317] D [318] D [319] U
|
||||
|
||||
|
||||
Tdd configuration tti 2 downlink 4 uplink 1 period 2500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] U [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] U [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] U [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] U [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
|
||||
|
||||
Set tdd dedicated configuration
|
||||
[1;31m[PHY][E][set_tdd_configuration_dedicated_nr] set_tdd_configuration_dedicated_nr: tdd downlink symbol configuration is not supported
|
||||
[0m
|
||||
Set tdd dedicated configuration
|
||||
[1;31m[PHY][E][set_tdd_configuration_dedicated_nr] set_tdd_configuration_dedicated_nr: tdd uplink symbol configuration is not supported
|
||||
[0m
|
||||
Set tdd dedicated configuration
|
||||
[1;31m[PHY][E][set_tdd_configuration_dedicated_nr] set_tdd_configuration_dedicated_nr: tdd slot index exceeds maximum value
|
||||
[0m
|
||||
Set tdd dedicated configuration
|
||||
[1;31m[PHY][E][set_tdd_configuration_dedicated_nr] set_tdd_configuration_dedicated_nr: tdd downlink & uplink symbol configuration is not supported
|
||||
[0m
|
||||
Set tdd dedicated configuration
|
||||
[1;31m[PHY][E][set_tdd_configuration_dedicated_nr] set_tdd_configuration_dedicated_nr: no tdd symbol configuration is specified
|
||||
[0m
|
||||
Set tdd dedicated configuration
|
||||
UL[0] [1;31m[PHY][E][set_tdd_configuration_dedicated_nr] set_tdd_configuration_dedicated_nr: no tdd symbol configuration is specified
|
||||
[0m
|
||||
Set tdd dedicated configuration
|
||||
DL[0]
|
||||
|
||||
Tdd configuration tti 2 downlink 4 uplink 1 period 2500
|
||||
[ 0] D [ 1] D [ 2] D [ 3] D [ 4] U [ 5] D [ 6] D [ 7] D [ 8] D [ 9] U [ 10] D [ 11] D [ 12] D [ 13] D [ 14] U [ 15] D [ 16] D [ 17] D [ 18] D [ 19] U
|
||||
[ 20] D [ 21] D [ 22] D [ 23] D [ 24] U [ 25] D [ 26] D [ 27] D [ 28] D [ 29] U [ 30] D [ 31] D [ 32] D [ 33] D [ 34] U [ 35] D [ 36] D [ 37] D [ 38] D [ 39] U
|
||||
|
||||
|
||||
Set tdd dedicated configuration
|
||||
UL[0] UL[5] UL[10] UL[15] UL[20] UL[25] UL[30] UL[35] DL[4] DL[9] DL[14] DL[19] DL[19] DL[24] DL[29] DL[34] DL[39]
|
||||
|
||||
Tdd configuration tti 2 downlink 4 uplink 1 period 2500
|
||||
[ 0] U [ 1] D [ 2] D [ 3] D [ 4] D [ 5] U [ 6] D [ 7] D [ 8] D [ 9] D [ 10] U [ 11] D [ 12] D [ 13] D [ 14] D [ 15] U [ 16] D [ 17] D [ 18] D [ 19] D
|
||||
[ 20] U [ 21] D [ 22] D [ 23] D [ 24] D [ 25] U [ 26] D [ 27] D [ 28] D [ 29] D [ 30] U [ 31] D [ 32] D [ 33] D [ 34] D [ 35] U [ 36] D [ 37] D [ 38] D [ 39] D
|
||||
|
||||
Test NR FRAME CONFIGURATION is pass
|
||||
@@ -1,239 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# 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
|
||||
#
|
||||
#----------------------
|
||||
# File: run_tests.sh
|
||||
#----------------------
|
||||
# Description: script batch for:
|
||||
# - building tests
|
||||
# - executing tests
|
||||
# - checking output files with reference files.
|
||||
# ./run_test to build/run and check all tests
|
||||
# -b no build
|
||||
# -e no execution
|
||||
# -c no check
|
||||
# -m no run of meld
|
||||
# an alone specific test can be executed ./run_tests test_name
|
||||
#----------------------------------------------------------------------------
|
||||
# CONFIGURATION
|
||||
# files and directories
|
||||
|
||||
WORK_DIR="openair1/SIMULATION/NR_UE_PHY/unit_tests/build"
|
||||
OAIENV_DIR="../../../../.."
|
||||
EXECUTABLE_DIR="."
|
||||
REFERENCE_DIR="./reflogs"
|
||||
RESULT_TEST_FILE=""
|
||||
RESULT_DIR="./testlogs"
|
||||
BROWSER="firefox"
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# For building and executing test application
|
||||
|
||||
BUILD_TEST="yes"
|
||||
CHECK_TEST="yes"
|
||||
EXECUTE_TEST="yes"
|
||||
SINGLE_TEST="no"
|
||||
RUN_MELD="yes"
|
||||
# for removing files
|
||||
REMOVE="rm -f"
|
||||
COMPARE="cmp"
|
||||
TESTS_RUN=0
|
||||
TESTS_PASS=0
|
||||
TESTS_FAIL=0
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# List of tests
|
||||
|
||||
tst_files="
|
||||
frame_config_test"
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# manage input parameters
|
||||
|
||||
while [ $# != "0" ]
|
||||
do
|
||||
case $1 in
|
||||
-b)
|
||||
echo "No build of unit test"
|
||||
BUILD_TEST="no"
|
||||
;;
|
||||
-e)
|
||||
echo "No execution of unit test"
|
||||
EXECUTE_TEST="no"
|
||||
;;
|
||||
-c)
|
||||
echo "No check of unit test"
|
||||
CHECK_TEST="no"
|
||||
;;
|
||||
-m)
|
||||
echo "No run of meld tool"
|
||||
RUN_MELD="no"
|
||||
;;
|
||||
-h)
|
||||
echo "Option of run_test script"
|
||||
echo "-b : No Build of unit tests"
|
||||
echo "-c : No check for unit test"
|
||||
echo "-e : No run of unit tests"
|
||||
echo "-m : No run of meld tool"
|
||||
exit
|
||||
BUILD_TEST="no"
|
||||
CHECK_TEST="no"
|
||||
EXECUTE_TEST="no"
|
||||
;;
|
||||
*)
|
||||
for file in $tst_files
|
||||
do
|
||||
if [ $file == $1 ]
|
||||
then
|
||||
SINGLE_TEST="yes"
|
||||
TEST=$1
|
||||
echo "Single test $TEST"
|
||||
fi
|
||||
done
|
||||
if [ $SINGLE_TEST == "no" ]
|
||||
then
|
||||
echo "Unknown parameter $1"
|
||||
BUILD_TEST="no"
|
||||
CHECK_TEST="no"
|
||||
EXECUTE_TEST="no"
|
||||
exit
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# shift of input parameter (excluding $0 ) $1 <- $2 <- $3 ...
|
||||
# $# is decrement by shift
|
||||
shift
|
||||
done
|
||||
|
||||
#--------------------------------------------------------------------------------------------
|
||||
# RUN AND CHECK RESULTS
|
||||
|
||||
numberDisplayFilesDifferencies=0
|
||||
let MAX_NUMBER_DISPLAY_FILES_DIFFERENCES=8
|
||||
num_diff=0
|
||||
|
||||
if [ $EXECUTE_TEST == "yes" ]
|
||||
then
|
||||
mkdir $RESULT_DIR
|
||||
fi
|
||||
|
||||
if [ $BUILD_TEST == "yes" ]
|
||||
then
|
||||
if [ $SINGLE_TEST == "no" ]
|
||||
then
|
||||
echo "cd $OAIENV_DIR"
|
||||
cd $OAIENV_DIR
|
||||
echo "source oaienv"
|
||||
source oaienv
|
||||
echo "cd $WORK_DIR"
|
||||
cd $WORK_DIR
|
||||
echo "cmake CMakeLists.txt"
|
||||
cmake CMakeLists.txt
|
||||
echo -e "make clean\n"
|
||||
#make clean
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $CHECK_TEST == "yes" ]
|
||||
then
|
||||
echo "Display differencies for a maximum of "$MAX_NUMBER_DISPLAY_FILES_DIFFERENCES" files"
|
||||
fi
|
||||
|
||||
for file in $tst_files
|
||||
do
|
||||
|
||||
if [ $SINGLE_TEST == "yes" ]
|
||||
then
|
||||
file=$TEST
|
||||
fi
|
||||
|
||||
echo "Test : $file"
|
||||
RESULT_TEST_FILE="$file.txt"
|
||||
|
||||
# build executable
|
||||
if [ $BUILD_TEST == "yes" ]
|
||||
then
|
||||
echo -e "make $file\n"
|
||||
make $file
|
||||
fi
|
||||
|
||||
if [ $EXECUTE_TEST == "yes" ]
|
||||
then
|
||||
echo "rm $RESULT_DIR/$RESULT_TEST_FILE"
|
||||
rm $RESULT_DIR/$RESULT_TEST_FILE
|
||||
echo "$EXECUTABLE_DIR/$file > $RESULT_DIR/$RESULT_TEST_FILE"
|
||||
$EXECUTABLE_DIR/$file > $RESULT_DIR/$RESULT_TEST_FILE
|
||||
TESTS_RUN=$((TESTS_RUN+1))
|
||||
fi
|
||||
|
||||
if [ $CHECK_TEST == "yes" ]
|
||||
then
|
||||
# check if there is already a reference file
|
||||
if [ -f "$REFERENCE_DIR/$RESULT_TEST_FILE" ]
|
||||
then
|
||||
|
||||
echo File "$REFERENCE_DIR/$RESULT_TEST_FILE" exists
|
||||
|
||||
$COMPARE $RESULT_DIR/$RESULT_TEST_FILE $REFERENCE_DIR/$RESULT_TEST_FILE > /dev/null 2>&1
|
||||
|
||||
if [ $? == 0 ]
|
||||
then
|
||||
echo "Test $file is PASS"
|
||||
echo "Same logging file for $file"
|
||||
TESTS_PASS=$((TESTS_PASS+1))
|
||||
else
|
||||
echo "Test $file is FAIL"
|
||||
TESTS_FAIL=$((TESTS_FAIL+1))
|
||||
echo "Difference of logging file for scenario $file"
|
||||
let "num_diff=$num_diff + 1"
|
||||
if [ $RUN_MELD == "yes" ]
|
||||
then
|
||||
meld $RESULT_DIR/$RESULT_TEST_FILE $REFERENCE_DIR/$RESULT_TEST_FILE &
|
||||
let "numberDisplayFilesDifferencies=$numberDisplayFilesDifferencies + 1"
|
||||
echo "Meld number "$numberDisplayFilesDifferencies
|
||||
if [ $numberDisplayFilesDifferencies = $MAX_NUMBER_DISPLAY_FILES_DIFFERENCES ]
|
||||
then
|
||||
echo "###### ERROR ###### ERROR ###### ERROR ###### ERROR ###### ERROR ###### ERROR ######"
|
||||
echo "=> ERROR Test aborted because there are already $MAX_NUMBER_DISPLAY_FILES_DIFFERENCES detected logging files which are different"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "No reference file for test $file"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $SINGLE_TEST == "yes" ]
|
||||
then
|
||||
echo "Test $file has been executed"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $CHECK_TEST == "yes" ]
|
||||
then
|
||||
echo "There are $num_diff result files which are different"
|
||||
fi
|
||||
|
||||
echo " tests run : $TESTS_RUN pass : $TESTS_PASS fail : $TESTS_FAIL"
|
||||
|
||||
# end of script
|
||||
@@ -1,122 +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
|
||||
*/
|
||||
|
||||
File: /home/jacques/workspace/oai_openairinterface/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/README.txt
|
||||
|
||||
This directory contains testbenchs for 5G NR physical layers.
|
||||
|
||||
Before building unit tests, full UE build should be done before (maily for asn1 dependencies):
|
||||
|
||||
Initialise environment:
|
||||
- under openairinterface5g enter >source oaienv
|
||||
Install tools:
|
||||
- under openairinterface5g/cmake_targets/build -I
|
||||
Build NR UE:
|
||||
- under openairinterface5g/cmake_targets/build --nrUE
|
||||
|
||||
Specific test files
|
||||
====================
|
||||
|
||||
frame_config_test.c : test of frame configurations (FDD/TDD).
|
||||
|
||||
How to build & run tests
|
||||
========================
|
||||
|
||||
Before building, oai environment should be set by entering under directory openairinterface5g "source oaienv".
|
||||
|
||||
A script "run_tests.sh" allows to build, to run and to check all tests.
|
||||
To run a complete non regression of unit tests, go under directory NR_UE_PHY/unit_tests/build and execute:
|
||||
./run_tests.sh
|
||||
|
||||
This script "run_tests.sh" list all available unit tests.
|
||||
|
||||
build is based on cmake tool.
|
||||
|
||||
cmake file is "/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeList.txt".
|
||||
|
||||
CMakeList.txt lists different build.
|
||||
|
||||
How to build: in directory "oai_openairinterface/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/", below commands should be entered:
|
||||
|
||||
First command to do:
|
||||
cmake CMakeList.txt -> it generates makefiles to build all projects.
|
||||
|
||||
Then build of test:
|
||||
make frame_config_test -> build frame_config_test: NR FDD/TDD configuration.
|
||||
make clean -> clean all projects.
|
||||
|
||||
And execution of tests:
|
||||
./frame_config_test -> run NR frame configuration tests.
|
||||
|
||||
There is a script in build/run_test.sh which allows:
|
||||
- building/running/checking all tests
|
||||
|
||||
What is test result?
|
||||
====================
|
||||
|
||||
Test verdict consists in a comparaison of generated logging file at execution with a reference logging file which is stored under git for each test.
|
||||
By default, tool "meld" is open each time there is a difference between reference file and logging file.
|
||||
It is possible to disable execution of meld with option -m.
|
||||
|
||||
Build/execute only one test:
|
||||
===========================
|
||||
|
||||
The script "run_tests.sh" has different options:
|
||||
"-b : No Build of unit tests"
|
||||
"-c : No check for unit test"
|
||||
"-e : No execution of unit tests"
|
||||
"-m : No run of meld tool"
|
||||
|
||||
./run_tests.sh -> run all unit tests (build, execute and compare for each test)
|
||||
./run_tests.sh -m -> run all unit tests but meld is not used (verdict is based on system command "cmp").
|
||||
./run_tests.sh -b -c -r -m -> list all available unit tests
|
||||
./run_tests.sh pss_test -> run only one test (here it is pss_test).
|
||||
./run_tests.sh -c -e -m pss_test -> build only one test
|
||||
./run_tests.sh -m pss_test -> run only one test but without execution of meld
|
||||
|
||||
Which processing can be tuned?
|
||||
=============================
|
||||
|
||||
Decimation feature:
|
||||
|
||||
By default pss processing uses samples from received buffer at input sampling frequency fs.
|
||||
For saving processing time, it is possible that pss uses a decimation of input signal.
|
||||
To enable decimation file openairinterface5g_bis/openairinterface5g/openair1/PHY/NR_REFSIG/pss_nr.h should be modified.
|
||||
//#define PSS_DECIMATOR should be enable to get decimation.
|
||||
By default, decimation uses a FIR filter.
|
||||
It is possible to use a CIC (Cascaded Integrated Comb filter) for decimation by enabling line //#define CIC_DECIMATOR.
|
||||
|
||||
Input received signal:
|
||||
|
||||
Different waveforms can be generated for testing pss and sss detection.
|
||||
By default, it uses a sinusoidal signals at different frequencies with an amplitude at the same level than pss or sss signals.
|
||||
For modifying these waveforms, function "set_random_rx_buffer" in file pss_util_test.c has to be modified.
|
||||
For wavecom type, line data_format = SINUSOIDAL_DATA should be changed with new format.
|
||||
For amplitude of waveform, declaration have to be modified in the function.
|
||||
|
||||
Status
|
||||
======
|
||||
|
||||
NR synchronisation tests run successfully with default parameters.
|
||||
Warning: Tests of PSS NR with decimation (based on FIR or CIC filter) does not run successfully at the moment.
|
||||
|
||||
|
||||
|
||||
@@ -1,218 +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 : dummy_functions.c
|
||||
*
|
||||
* MODULE : NR UE unit test
|
||||
*
|
||||
* DESCRIPTION : it allows to define unused functions for unit tests.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "../../unit_tests/src/pss_util_test.h"
|
||||
#include "PHY/types.h"
|
||||
#include "PHY/defs_gNB.h"
|
||||
#include "../common/ran_context.h"
|
||||
#include "../common/config/config_paramdesc.h"
|
||||
|
||||
|
||||
/*****************variables****************************************/
|
||||
|
||||
RAN_CONTEXT_t RC;
|
||||
|
||||
uint32_t (*p_nr_ue_get_SR)(module_id_t module_idP,int CC_id,frame_t frameP,uint8_t eNB_id,uint16_t rnti, sub_frame_t subframe) = NULL;
|
||||
|
||||
/*****************functions****************************************/
|
||||
|
||||
lte_subframe_t subframe_select(LTE_DL_FRAME_PARMS *frame_parms,unsigned char subframe)
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
|
||||
PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP, int CC_id,
|
||||
frame_t frameP, uint8_t new_Msg3,
|
||||
sub_frame_t subframe){ return(NULL);}
|
||||
|
||||
void ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
|
||||
sub_frame_t subframe, uint8_t eNB_index,
|
||||
uint8_t * ulsch_buffer, uint16_t buflen,
|
||||
uint8_t * access_mode){}
|
||||
|
||||
void Msg1_transmitted(module_id_t module_idP, uint8_t CC_id,
|
||||
frame_t frameP, uint8_t eNB_id){}
|
||||
|
||||
void Msg3_transmitted(module_id_t module_idP, uint8_t CC_id,
|
||||
frame_t frameP, uint8_t eNB_id){}
|
||||
|
||||
uint32_t nr_ue_get_SR(module_id_t module_idP, int CC_id, frame_t frameP,
|
||||
uint8_t eNB_id, rnti_t rnti, sub_frame_t subframe){
|
||||
|
||||
uint32_t value = 0;
|
||||
if (p_nr_ue_get_SR != NULL)
|
||||
{
|
||||
value = (p_nr_ue_get_SR)(module_idP, CC_id, frameP, eNB_id, rnti, subframe);
|
||||
}
|
||||
return(value);}
|
||||
|
||||
void rrc_out_of_sync_ind(module_id_t Mod_idP, frame_t frameP, uint16_t eNB_index)
|
||||
{}
|
||||
|
||||
UE_L2_STATE_t ue_scheduler(const module_id_t module_idP,
|
||||
const frame_t rxFrameP,
|
||||
const sub_frame_t rxSubframe,
|
||||
const frame_t txFrameP,
|
||||
const sub_frame_t txSubframe,
|
||||
const lte_subframe_t direction,
|
||||
const uint8_t eNB_index, const int CC_id){ return(0);}
|
||||
|
||||
void ue_decode_p(module_id_t module_idP, int CC_id, frame_t frame,
|
||||
uint8_t CH_index, void *pdu, uint16_t len){}
|
||||
|
||||
void ue_decode_si(module_id_t module_idP, int CC_id, frame_t frame,
|
||||
uint8_t CH_index, void *pdu, uint16_t len){}
|
||||
|
||||
void ue_send_sdu(module_id_t module_idP, uint8_t CC_id, frame_t frame,
|
||||
sub_frame_t subframe, uint8_t * sdu, uint16_t sdu_len,
|
||||
uint8_t CH_index){}
|
||||
|
||||
uint16_t
|
||||
ue_process_rar(const module_id_t module_idP,
|
||||
const int CC_id,
|
||||
const frame_t frameP,
|
||||
const rnti_t ra_rnti,
|
||||
uint8_t * const dlsch_buffer,
|
||||
rnti_t * const t_crnti,
|
||||
const uint8_t preamble_index,
|
||||
uint8_t * selected_rar_buffer){ return(0);}
|
||||
|
||||
void ue_send_mch_sdu(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
|
||||
uint8_t * sdu, uint16_t sdu_len, uint8_t eNB_index,
|
||||
uint8_t sync_area){}
|
||||
|
||||
int ue_query_mch(module_id_t Mod_id, uint8_t CC_id, uint32_t frame,
|
||||
sub_frame_t subframe, uint8_t eNB_index,
|
||||
uint8_t * sync_area, uint8_t * mcch_active){ return(0);}
|
||||
|
||||
|
||||
int ue_query_mch_fembms(module_id_t Mod_id, uint8_t CC_id, uint32_t frame,
|
||||
sub_frame_t subframe, uint8_t eNB_index,
|
||||
uint8_t * sync_area, uint8_t * mcch_active){ return(0);}
|
||||
|
||||
void dl_phy_sync_success(module_id_t module_idP,
|
||||
frame_t frameP,
|
||||
unsigned char eNB_index, uint8_t first_sync){}
|
||||
|
||||
uint64_t from_nrarfcn(int nr_bandP, uint32_t dl_nrarfcn) { return(0);}
|
||||
|
||||
int32_t get_uldl_offset(int nr_bandP) { return(0);}
|
||||
|
||||
IF_Module_t *IF_Module_init(int Mod_id) { return(NULL);}
|
||||
|
||||
int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP, uint8_t CC_id) { return(0);}
|
||||
|
||||
int8_t get_deltaP_rampup(module_id_t module_idP, uint8_t CC_id) { return(0);}
|
||||
|
||||
void thread_top_init(char *thread_name,
|
||||
int affinity,
|
||||
uint64_t runtime,
|
||||
uint64_t deadline,
|
||||
uint64_t period) {}
|
||||
|
||||
int oai_nfapi_hi_dci0_req(nfapi_hi_dci0_request_t *hi_dci0_req) { return(0);}
|
||||
int oai_nfapi_tx_req(nfapi_tx_request_t *tx_req) { return(0); }
|
||||
int oai_nfapi_dl_tti_req(nfapi_nr_dl_tti_request_t *dl_config_req) { return(0); }
|
||||
int oai_nfapi_tx_data_req(nfapi_nr_tx_data_request_t *tx_data_req){ return(0); }
|
||||
int oai_nfapi_ul_dci_req(nfapi_nr_ul_dci_request_t *ul_dci_req){ return(0); }
|
||||
int oai_nfapi_ul_tti_req(nfapi_nr_ul_tti_request_t *ul_tti_req){ return(0); }
|
||||
int oai_nfapi_nr_rx_data_indication(nfapi_nr_rx_data_indication_t *ind) { return(0); }
|
||||
int oai_nfapi_nr_crc_indication(nfapi_nr_crc_indication_t *ind) { return(0); }
|
||||
int oai_nfapi_nr_srs_indication(nfapi_nr_srs_indication_t *ind) { return(0); }
|
||||
int oai_nfapi_nr_uci_indication(nfapi_nr_uci_indication_t *ind) { return(0); }
|
||||
int oai_nfapi_nr_rach_indication(nfapi_nr_rach_indication_t *ind) { return(0); }
|
||||
|
||||
int oai_nfapi_dl_config_req(nfapi_dl_config_request_t *dl_config_req) { return(0); }
|
||||
|
||||
int oai_nfapi_ul_config_req(nfapi_ul_config_request_t *ul_config_req) { return(0); }
|
||||
|
||||
static int step_log = 0;
|
||||
const char log_first[] = "debug";
|
||||
const char log_second[] = "full";
|
||||
const char log_default[] = " ";
|
||||
|
||||
int config_get(paramdef_t *params,int numparams, char *prefix)
|
||||
{
|
||||
#define MAX_STRING_SIZE (255)
|
||||
|
||||
char *p_log;
|
||||
|
||||
for (int i=0; i < numparams; i++)
|
||||
{
|
||||
switch(step_log)
|
||||
{
|
||||
case 1:
|
||||
p_log = log_first;
|
||||
params[i].strptr = calloc(1, MAX_STRING_SIZE);
|
||||
*(params[i].strptr) = p_log;
|
||||
break;
|
||||
case 2:
|
||||
p_log = log_first;
|
||||
params[i].strptr = calloc(1, MAX_STRING_SIZE);
|
||||
*(params[i].strptr) = p_log;
|
||||
break;
|
||||
case 3:
|
||||
params[i].uptr = calloc(1, sizeof(int));
|
||||
*(params[i].uptr) = 0;
|
||||
break;
|
||||
default:
|
||||
p_log = log_default;
|
||||
params[i].strptr = calloc(1, MAX_STRING_SIZE);
|
||||
*(params[i].strptr) = p_log;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
step_log++;
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
unsigned int taus(void) { return (0); }
|
||||
|
||||
typedef int loader_shlibfunc_t;
|
||||
|
||||
int load_module_shlib(char *modname,loader_shlibfunc_t *farray, int numf) { return(0); }
|
||||
|
||||
void * get_shlibmodule_fptr(char *modname, char *fname) { return(NULL) ; }
|
||||
|
||||
/*void exit_fun (const char *s) {
|
||||
VOID_PARAMETER s;
|
||||
undefined_function(__FUNCTION__);
|
||||
}*/
|
||||
|
||||
uint32_t ue_get_SR(module_id_t module_idP, int CC_id, frame_t frameP,
|
||||
uint8_t eNB_id, rnti_t rnti, sub_frame_t subframe){
|
||||
uint32_t value = 0;
|
||||
return(value);
|
||||
}
|
||||
@@ -1,314 +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 : frame_config_test.c
|
||||
*
|
||||
* MODULE : UE test bench for tdd configuration
|
||||
*
|
||||
* DESCRIPTION : it allows unitary tests for tdd configuration
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#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 "SCHED_NR_UE/phy_frame_config_nr.h"
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* NAME : display_frame_configuration
|
||||
*
|
||||
* PARAMETERS : none
|
||||
*
|
||||
* RETURN : none
|
||||
*
|
||||
* DESCRIPTION : display uplink & downlink configuration
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
void display_frame_configuration(NR_DL_FRAME_PARMS *frame_parms) {
|
||||
|
||||
printf("\nTdd configuration tti %d downlink %d uplink %d period %d \n", frame_parms->slots_per_subframe, frame_parms->p_tdd_UL_DL_Configuration->nrofDownlinkSlots,
|
||||
frame_parms->p_tdd_UL_DL_Configuration->nrofUplinkSlots, frame_parms->p_tdd_UL_DL_Configuration->dl_UL_TransmissionPeriodicity);
|
||||
|
||||
int k = NR_NUMBER_OF_SUBFRAMES_PER_FRAME - 1;
|
||||
int tti = 0;
|
||||
for (int j = 0; j < frame_parms->slots_per_frame; j++) {
|
||||
int frame = 0;
|
||||
if (j != 0) {
|
||||
frame = j / frame_parms->slots_per_frame;
|
||||
tti = j % frame_parms->slots_per_frame;
|
||||
}
|
||||
else {
|
||||
frame = 0;
|
||||
tti = 0;
|
||||
}
|
||||
|
||||
if (slot_select_nr(frame_parms, frame, tti) & NR_DOWNLINK_SLOT) {
|
||||
printf(" [%3d] D", j);
|
||||
}
|
||||
else {
|
||||
if (slot_select_nr(frame_parms, frame, tti) & NR_UPLINK_SLOT) {
|
||||
printf(" [%3d] U", j);
|
||||
}
|
||||
else {
|
||||
printf("Error test_frame_configuration: unexpected value \n");
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
if (j == k) {
|
||||
printf("\n");
|
||||
k += NR_NUMBER_OF_SUBFRAMES_PER_FRAME;
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* NAME : set_tti_test
|
||||
*
|
||||
* PARAMETERS : none
|
||||
*
|
||||
* RETURN : none
|
||||
*
|
||||
* DESCRIPTION : set tti
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
void set_tti_test(NR_DL_FRAME_PARMS *frame_parms, int slots_per_subframe)
|
||||
{
|
||||
frame_parms->slots_per_subframe = slots_per_subframe;
|
||||
frame_parms->slots_per_frame = slots_per_subframe * NR_NUMBER_OF_SUBFRAMES_PER_FRAME;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* NAME : test_frame_configuration
|
||||
*
|
||||
* PARAMETERS : none
|
||||
*
|
||||
* RETURN : none
|
||||
*
|
||||
* DESCRIPTION : test of frame configuration feature
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
int test_frame_configuration(PHY_VARS_NR_UE *PHY_vars_UE)
|
||||
{
|
||||
NR_DL_FRAME_PARMS *frame_parms = &(PHY_vars_UE->frame_parms);
|
||||
int v_return = 0;
|
||||
|
||||
#define NO_DOWNLINK_SYMBOL (0)
|
||||
#define NO_UPLINK_SYMBOL (0)
|
||||
|
||||
#define TTI_DEFAULT (2)
|
||||
#define DL_SLOT_DEFAULT (4)
|
||||
#define UL_SLOT_DEFAULT (1)
|
||||
#define TDD_PERIODICITY_DEFAULT (ms2p5)
|
||||
|
||||
#define TDD_WRONG_CONFIG_TEST (3)
|
||||
#define TDD_GOOD_CONFIG_TEST (18)
|
||||
#define TDD_CONFIG_TEST (TDD_WRONG_CONFIG_TEST + TDD_GOOD_CONFIG_TEST)
|
||||
|
||||
/* this array allows setting different tdd configurations */
|
||||
/* it defines number of tti (slot) per subframe, number of downlink slots, number of uplink slots */
|
||||
/* and a period of the configuration */
|
||||
/* first configurations (wrong) shall be fired error because they are not correct */
|
||||
/* other configurations (good) are correct and they do not generate any error */
|
||||
/* there is a tdd configuration for each line */
|
||||
|
||||
uint16_t TDD_configuration[TDD_CONFIG_TEST][4] = {
|
||||
/* tti per subframe SLOT_DL SLOT_UL period */
|
||||
{ 2, 4+1, 1, ms2p5 },
|
||||
{ 2, 4, 1+1, ms2p5 },
|
||||
{ 2, 4, 1, ms0p5 },
|
||||
{ 1, 1, 1, ms2 },
|
||||
{ 1, 4, 1, ms5 },
|
||||
{ 1, 9, 1, ms10 },
|
||||
{ 2, 1, 1, ms1 },
|
||||
{ 2, 3, 1, ms2 },
|
||||
{ 2, 4, 1, ms2p5 },
|
||||
{ 2, 9, 1, ms5 },
|
||||
{ 2, 19, 1, ms10 },
|
||||
{ 4, 1, 1, ms0p5 },
|
||||
{ 4, 3, 1, ms1 },
|
||||
{ 4, 4, 1, ms1p25 },
|
||||
{ 4, 7, 1, ms2 },
|
||||
{ 4, 9, 1, ms2p5 },
|
||||
{ 4, 19, 1, ms5 },
|
||||
{ 4, 38, 2, ms10 },
|
||||
{ 8, 4, 1, ms0p625 },
|
||||
{ 16, 7, 1, ms0p5 },
|
||||
{ TTI_DEFAULT, DL_SLOT_DEFAULT, UL_SLOT_DEFAULT, TDD_PERIODICITY_DEFAULT },
|
||||
};
|
||||
|
||||
#define TDD_WRONG_DEDICATED_CONFIG_TEST (7)
|
||||
#define TDD_GOOD_DEDICATED_CONFIG_TEST (18)
|
||||
#define TDD_DEDICATED_CONFIG_TEST (TDD_WRONG_DEDICATED_CONFIG_TEST + TDD_GOOD_DEDICATED_CONFIG_TEST)
|
||||
|
||||
/* this array allows setting different tdd dedicated configurations */
|
||||
/* tdd dedicated configuration overwrite current tdd confirguration for specified slot number */
|
||||
/* it defines slot number to modify, then with a bit map number of downlink symbol, number of uplink symbols */
|
||||
/* if next slot is set to 0 means that there is no additional slot to modify with current dedicated configuration */
|
||||
/* if next slot is set to 1 means that there is an additional slot to mdofy with current dedicated configuration */
|
||||
/* so tdd dedicated configuration can be composed of only 1 lines (for 1 slot) or several lines for several slots */
|
||||
/* first dedictaed configurations (wrong) shall be fired errors because they are not correct */
|
||||
/* other dedicated configurations (good) are correct and they do not generate any error */
|
||||
|
||||
uint16_t TDD_dedicated_config[TDD_DEDICATED_CONFIG_TEST][4] = {
|
||||
/* slot number SLOT_DL SLOT_UL next slot */
|
||||
{ 0, 1, 1, 0 },
|
||||
{ 0, 0, 1, 0 },
|
||||
{ 40, 0, NR_TDD_SET_ALL_SYMBOLS, 0 },
|
||||
{ 0, NR_TDD_SET_ALL_SYMBOLS, NR_TDD_SET_ALL_SYMBOLS, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, NR_TDD_SET_ALL_SYMBOLS, 0, 0 },
|
||||
{ 0, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 5, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 10, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 15, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 20, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 25, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 30, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 35, 0, NR_TDD_SET_ALL_SYMBOLS, 1 },
|
||||
{ 4, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 9, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 14, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 19, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 19, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 24, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 29, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 34, NR_TDD_SET_ALL_SYMBOLS, 0, 1 },
|
||||
{ 39, NR_TDD_SET_ALL_SYMBOLS, 0, 0 },
|
||||
};
|
||||
|
||||
/* TEST wrong and good tdd configurations starting by wrong ones */
|
||||
int return_status = -1;
|
||||
for (int i = 0; i < TDD_CONFIG_TEST; i++) {
|
||||
if (i == TDD_WRONG_CONFIG_TEST) {
|
||||
return_status = 0; /* status should be fine for fine configurations */
|
||||
}
|
||||
|
||||
set_tti_test(frame_parms, TDD_configuration[i][0]);
|
||||
|
||||
if (set_tdd_config_nr(frame_parms, TDD_configuration[i][3], TDD_configuration[i][1], NO_DOWNLINK_SYMBOL,
|
||||
TDD_configuration[i][2], NO_UPLINK_SYMBOL) != return_status) {
|
||||
v_return = (-1);
|
||||
}
|
||||
|
||||
display_frame_configuration(frame_parms);
|
||||
|
||||
free_tdd_configuration_nr(frame_parms);
|
||||
}
|
||||
|
||||
/* set default configuration */
|
||||
set_tti_test(frame_parms, TTI_DEFAULT);
|
||||
|
||||
if (set_tdd_config_nr(frame_parms, TDD_PERIODICITY_DEFAULT, DL_SLOT_DEFAULT, NO_DOWNLINK_SYMBOL, UL_SLOT_DEFAULT, NO_UPLINK_SYMBOL) != 0) {
|
||||
v_return = (-1);
|
||||
}
|
||||
|
||||
/* TEST wrong and good tdd dedicated configurations starting by wrong ones */
|
||||
return_status = (-1);
|
||||
for (int i = 0; i < TDD_DEDICATED_CONFIG_TEST; i++) {
|
||||
|
||||
bool next = false;
|
||||
do {
|
||||
if (i == TDD_WRONG_DEDICATED_CONFIG_TEST) {
|
||||
return_status = 0; /* status should be fine for fine configurations */
|
||||
}
|
||||
|
||||
add_tdd_dedicated_configuration_nr( frame_parms, TDD_dedicated_config[i][0], TDD_dedicated_config[i][1], TDD_dedicated_config[i][2]);
|
||||
|
||||
if (TDD_dedicated_config[i][3] == 1) {
|
||||
next = true;
|
||||
i = i + 1;
|
||||
}
|
||||
else {
|
||||
next = false;
|
||||
}
|
||||
} while (next);
|
||||
|
||||
if (set_tdd_configuration_dedicated_nr(frame_parms) != return_status) {
|
||||
v_return = (-1);
|
||||
}
|
||||
|
||||
if (return_status == 0) {
|
||||
display_frame_configuration(frame_parms);
|
||||
}
|
||||
|
||||
free_tdd_configuration_dedicated_nr(frame_parms);
|
||||
}
|
||||
|
||||
free_tdd_configuration_nr(frame_parms);
|
||||
|
||||
return (v_return);
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* NAME : main
|
||||
*
|
||||
* DESCRIPTION : test of tdd configuration
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
int main(int argc, char *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 Nid_cell[] = {(3*0+0)};
|
||||
VOID_PARAMETER argc;
|
||||
VOID_PARAMETER argv;
|
||||
|
||||
printf(" FRAME CONFIGURATION 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 frame configuration test \n");
|
||||
exit(-1);;
|
||||
}
|
||||
|
||||
if (test_frame_configuration(PHY_vars_UE) != 0) {
|
||||
printf("Test NR FRAME CONFIGURATION is fail \n");
|
||||
}
|
||||
else {
|
||||
printf("Test NR FRAME CONFIGURATION is pass \n");
|
||||
}
|
||||
|
||||
lte_sync_time_free();
|
||||
|
||||
free_context_synchro_nr();
|
||||
|
||||
return(0);
|
||||
}
|
||||
Reference in New Issue
Block a user