Merge branch 'develop', remote-tracking branch 'origin' into feature-38-bladerf
This commit is contained in:
@@ -462,6 +462,7 @@ add_boolean_option(ENABLE_SECURITY True "Enable LTE integrity and ciphe
|
||||
add_boolean_option(ENABLE_USE_MME True "eNB connected to MME (INTERFACE S1-C), not standalone eNB")
|
||||
add_boolean_option(NO_RRM True "DO WE HAVE A RADIO RESSOURCE MANAGER: NO")
|
||||
add_boolean_option(USER_MODE True "????")
|
||||
add_boolean_option(RRC_DEFAULT_RAB_IS_AM False "set the RLC mode to AM for the default bearer")
|
||||
|
||||
add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
|
||||
add_boolean_option(DISABLE_USE_NAS False "???")
|
||||
@@ -1649,7 +1650,7 @@ foreach(myExe s1ap
|
||||
${OPENAIR3_DIR}/TEST/test_${myExe}.c
|
||||
)
|
||||
target_link_libraries (test_${myExe}
|
||||
-Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
|
||||
-Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
|
||||
)
|
||||
endforeach(myExe)
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OAI_NW_DRIVER_USE_NETLINK True)
|
||||
set(NAS_NETLINK True)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -1,72 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION Rel8)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -1,107 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM True )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD False )
|
||||
set ( RLC_STOP_ON_LOST_PDU True )
|
||||
set ( RRC_ASN1_VERSION Rel10 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU True )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU True )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -5,40 +5,90 @@ Obj.# Case# Test# Description
|
||||
|
||||
01 pre-commit test case
|
||||
01 01 Build OAI
|
||||
01 01 00 Check Makefiles and
|
||||
01 01 01 Build oaisim Rel8
|
||||
01 01 02 Build oaisim Rel8 + network device driver(nasmesh_fix)
|
||||
01 01 03 Build lte-softmode Rel8
|
||||
01 01 04 Build dlsim Rel8
|
||||
01 01 05 Build ulsim Rel8
|
||||
01 01 06 Build oaisim Rel10
|
||||
01 01 07 Build oaisim Rel8 with cellular RRC for eNB
|
||||
01 01 08 Build oaisim Rel8 with cellular RRC for UE
|
||||
01 01 09 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 10 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 11 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 12 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 13 Build network device driver(oai_nw_drv type ethernet)
|
||||
01 01 14 Build oaisim Rel8 with RRC lite (new cellular+ITTI) + RAL (802.21)
|
||||
01 01 15 Build oaisim Rel10 with RRC lite (new cellular+ITTI) + RAL (802.21)
|
||||
01 01 01 Build oaisim.Rel8
|
||||
01 01 02 Build oaisim.Rel8 + network device driver(nasmesh_fix)
|
||||
01 01 03 Build (lte-softmodem.Rel8.EXMIMO + lte-softmodem.Rel10.EXMIMO + lte-softmodem.Rel10.USRP)
|
||||
01 01 04 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10
|
||||
secu_knas_encrypt_eia1.Rel10 secu_kenb.Rel10 aes128_ctr_encrypt.Rel10 aes128_ctr_decrypt.Rel10 secu_knas_encrypt_eea2.Rel10
|
||||
secu_knas.Rel10 secu_knas_encrypt_eea1.Rel10 kdf.Rel10 aes128_cmac_encrypt.Rel10 secu_knas_encrypt_eia2.Rel10)
|
||||
01 01 06 Build oaisim.Rel8 + ITTI
|
||||
01 01 07 Build oaisim.Rel10
|
||||
01 01 08 Build oaisim.Rel10 + ITTI
|
||||
01 01 20 Build Nasmesh
|
||||
01 01 30 Build RRH Gateway
|
||||
|
||||
01 02 Run OAI Rel8, and check the operation
|
||||
01 02 00 Run OAI Rel8, and search for segmentation fault or exit
|
||||
01 02 01 Run OAI Rel8, and search for execution errors
|
||||
01 02 02 Run OAI Rel8 in abstraction mode and check that RRC proc is finished completely for the configured number of eNB and UE
|
||||
01 02 03 Run OAI Rel8 in abstraction mode, send ping from from one eNB to each UE, and check that there is no packet losses
|
||||
01 02 04 Run OAI Rel8 with full PHY, and check that the RRC proc for eNBsxUEs
|
||||
01 02 05 Run OAI Rel8 with full PHY in FDD mode, and check that the RRC proc for eNBsxUEs
|
||||
|
||||
01 03 Run OAI Rel10, and check the operation
|
||||
01 03 00 Run OAI Rel10, and search for segmentation fault or exit
|
||||
01 03 01 Run OAI Rel10, and search for execution errors
|
||||
01 03 02 Run OAI Rel10 in abstraction mode, and check the RRC proc for eNBsxUEs
|
||||
01 03 03 Run OAI Rel10 in full phy mode, and check the RRC proc for eNBsxUEs
|
||||
01 03 04 Run OAI Rel10 in full phy mode in FDD mode, and check the RRC proc for eNBsxUEs
|
||||
01 03 05 Run OAI Rel10 with eMBMS enabled, and check the SIB13 and MCCH
|
||||
01 03 06 Run OAI Rel10 with eMBMS enabled, and check the MTCH
|
||||
01 03 07 Run OAI Rel10 with eMBMS enabled and FDD mode, and check the MTCH
|
||||
01 02 Run OAISIM Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation
|
||||
01 02 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
|
||||
01 02 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
|
||||
01 02 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
|
||||
01 02 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
|
||||
01 02 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE,
|
||||
and for check for no packet losses
|
||||
01 02 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE,
|
||||
and check for no packet losses
|
||||
|
||||
01 03 Run OAISIM Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation
|
||||
01 03 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
|
||||
01 03 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
|
||||
01 03 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
|
||||
01 03 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
|
||||
01 03 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE,
|
||||
and for check for no packet losses
|
||||
01 03 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE,
|
||||
and check for no packet losses
|
||||
|
||||
|
||||
|
||||
01 04 MBSFN Tests
|
||||
01 04 00 Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs
|
||||
01 04 01 Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs
|
||||
01 04 02 Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correctly
|
||||
received by UEs
|
||||
01 04 03 Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been
|
||||
correclty received by UEs
|
||||
|
||||
|
||||
01 50 Run PHY unitary secuirity tests
|
||||
01 50 00 test_aes128_cmac_encrypt
|
||||
01 50 01 test_aes128_ctr_decrypt
|
||||
01 50 02 test_aes128_ctr_encrypt
|
||||
01 50 03 test_secu_kenb
|
||||
01 50 04 test_secu_knas
|
||||
01 50 05 test_secu_knas_encrypt_eea1
|
||||
01 50 06 test_secu_knas_encrypt_eea2
|
||||
01 50 07 test_secu_knas_encrypt_eia1
|
||||
01 50 08 test_secu_knas_encrypt_eia2
|
||||
01 50 09 test_kdf
|
||||
|
||||
|
||||
|
||||
01 51 Run PHY simulator tests
|
||||
01 51 00 dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB),
|
||||
(Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)),
|
||||
(Test 6: 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)),
|
||||
(Test 6b: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)),
|
||||
(Test 7: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)),
|
||||
(Test 7b: 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)),
|
||||
(Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)),
|
||||
(Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)),
|
||||
(Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%))
|
||||
(TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)),
|
||||
(TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)),
|
||||
01 51 01 ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB),
|
||||
(Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)),
|
||||
(Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)),
|
||||
(Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)),
|
||||
(Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)),
|
||||
(Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%))
|
||||
01 51 02 pucchsim (TBD)
|
||||
01 51 03 prachsim (TBD)
|
||||
01 51 04 pdcchsim (TBD)
|
||||
01 51 05 pbchsim (TBD)
|
||||
01 51 06 mbmssim (TBD)
|
||||
|
||||
|
||||
01 55 lte-softmodem tests
|
||||
|
||||
02 Functional test case
|
||||
|
||||
@@ -48,3 +98,10 @@ Obj.# Case# Test# Description
|
||||
|
||||
05 Performance test case
|
||||
|
||||
|
||||
#TODO: Add test cases for 10,20 MHz
|
||||
#TODO: Add test cases for TDD/FDD
|
||||
#TODO: Test and compile seperately for Rel8/Rel10
|
||||
#TODO: Case03.py eMBMS test case
|
||||
|
||||
|
||||
|
||||
@@ -11,8 +11,9 @@ source $OPENAIR_DIR/cmake_targets/tools/test_helper
|
||||
|
||||
#SUDO="sudo -E "
|
||||
tdir=$OPENAIR_DIR/cmake_targets/autotests
|
||||
rm -fr $tdir/bin $tdir/log
|
||||
mkdir -p $tdir/bin $tdir/log
|
||||
results_file="$tdir/log/execution_autotests.xml"
|
||||
results_file="$tdir/log/results_autotests.xml"
|
||||
|
||||
updated=$(svn st -q $OPENAIR_DIR)
|
||||
if [ "$updated" != "" ] ; then
|
||||
@@ -21,6 +22,99 @@ fi
|
||||
|
||||
cd $tdir
|
||||
|
||||
#\param $1 -> name of test case
|
||||
#\param $2 -> name of compilation program
|
||||
#\param $3 -> arguments for compilation program
|
||||
#\param $4 -> name of pre-executable to install kernel modules, etc
|
||||
#\param $5 -> arguments of pre-executable
|
||||
#\param $6 -> name of executable
|
||||
#\param $7 -> arguments for running the program
|
||||
#\param $8 -> search expression
|
||||
#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
|
||||
#\param $10 -> number of runs
|
||||
#\param $11 -> pre_compile program execution
|
||||
#\param $12 -> class of the test case (compilation, execution)
|
||||
#\param $13 -> output of compilation program that needs to be found for test case to pass
|
||||
#\param $14 -> tags to help identify the test case for readability in output xml file
|
||||
test_compile() {
|
||||
|
||||
xUnit_start
|
||||
test_case_name=$1
|
||||
log_dir=$tdir/log
|
||||
log_file=$tdir/log/test.$1.txt
|
||||
compile_prog=$2
|
||||
compile_args=$3
|
||||
pre_exec_file=$4
|
||||
pre_exec_args=$5
|
||||
exec_args=$7
|
||||
search_expr_array=("${!8}")
|
||||
search_expr_negative=$9
|
||||
nruns=${10}
|
||||
pre_compile_prog=${11}
|
||||
class=${12}
|
||||
compile_prog_out=${13}
|
||||
tags=${14}
|
||||
build_dir=$tdir/$1/build
|
||||
exec_file=$build_dir/$6
|
||||
|
||||
#Temporary log file where execution log is stored.
|
||||
temp_exec_log=$log_dir/temp_log.txt
|
||||
|
||||
|
||||
|
||||
#echo "log_dir = $log_dir"
|
||||
#echo "log_file = $log_file"
|
||||
#echo "exec_file = $exec_file"
|
||||
#echo "exec_args = $exec_args"
|
||||
#echo "search_expr = $search_expr"
|
||||
#echo "pre_exec_file = $pre_exec_file"
|
||||
#echo "nruns = $nruns"
|
||||
echo "class = $class"
|
||||
|
||||
compile_prog_array=()
|
||||
read -a compile_prog_array <<<"$compile_prog"
|
||||
|
||||
tags_array=()
|
||||
read -a tags_array <<<"$tags"
|
||||
|
||||
pre_compile_prog_array=()
|
||||
readarray -t pre_compile_prog_array <<< "$pre_compile_prog"
|
||||
for (( run_index=1; run_index <= $nruns; run_index++ ))
|
||||
do
|
||||
tags_array_index=0
|
||||
for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}"
|
||||
do
|
||||
|
||||
for compile_prog_array_index in "${compile_prog_array[@]}"
|
||||
do
|
||||
echo "Compiling test case $test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} Log file = $log_file"
|
||||
echo "<COMPILATION LOG file=$compile_prog_array_index , Run = $run_index>" >> $log_file
|
||||
rm -fr $build_dir
|
||||
mkdir -p $build_dir
|
||||
cd $build_dir
|
||||
{
|
||||
eval $pre_compile_prog_array_index
|
||||
cmake ..
|
||||
#rm -fv $exec_file
|
||||
make -j`nproc` $compile_prog_array_index $compile_args
|
||||
}>> $log_file 2>&1
|
||||
echo "</COMPILATION LOG>" >> $log_file 2>&1
|
||||
if [ "$class" == "compilation" ]; then
|
||||
if [ -s "$compile_prog_array_index" ] || [ -s "$compile_prog_out" ] ; then
|
||||
echo_success "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} compiled"
|
||||
xUnit_success "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "PASS" "$run_index"
|
||||
else
|
||||
echo_error "$test_case_name.$exec_prog.${tags_array[$tags_array_index]} compilation failed"
|
||||
xUnit_fail "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "FAIL" "$run_index"
|
||||
fi
|
||||
fi
|
||||
let "tags_array_index++"
|
||||
done # End of for loop compile_prog_array
|
||||
done # End of for loop (pre_compile_prog_array_index)
|
||||
done #End of for loop (run_index)
|
||||
}
|
||||
|
||||
|
||||
|
||||
#\param $1 -> name of test case
|
||||
#\param $2 -> name of compilation program
|
||||
@@ -32,115 +126,155 @@ cd $tdir
|
||||
#\param $8 -> search expression
|
||||
#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
|
||||
#\param $10 -> number of runs
|
||||
#\param $11 -> pre_compile program execution
|
||||
#\param $12 -> class of the test case (compilation, execution)
|
||||
#\param $13 -> output of compilation program that needs to be found for test case to pass
|
||||
#\param $14 -> tags to help identify the test case for readability in output xml file
|
||||
|
||||
test_compile_and_run() {
|
||||
xUnit_start
|
||||
test_case_name=$1.$2
|
||||
test_case_name=$1
|
||||
log_dir=$tdir/log
|
||||
log_file=$tdir/log/test.$1.txt
|
||||
compile_prog=$2
|
||||
compile_args=$3
|
||||
pre_exec_file=$4
|
||||
pre_exec_args=$5
|
||||
main_exec=$6
|
||||
exec_args=$7
|
||||
search_expr_array=("${!8}")
|
||||
search_expr_negative=$9
|
||||
nruns=${10}
|
||||
pre_compile_prog=${11}
|
||||
class=${12}
|
||||
compile_prog_out=${13}
|
||||
tags=${14}
|
||||
build_dir=$tdir/$1/build
|
||||
exec_file=$build_dir/$6
|
||||
|
||||
#Temporary log file where execution log is stored.
|
||||
temp_exec_log=$log_dir/temp_log.txt
|
||||
|
||||
echo "Compiling test case $test_case_name. Log file = $log_file"
|
||||
|
||||
|
||||
|
||||
rm -fr $build_dir
|
||||
mkdir -p $build_dir
|
||||
|
||||
#echo "log_dir = $log_dir"
|
||||
#echo "log_file = $log_file"
|
||||
#echo "exec_file = $exec_file"
|
||||
#echo "args = $args"
|
||||
#echo "exec_args = $exec_args"
|
||||
#echo "search_expr = $search_expr"
|
||||
#echo "pre_exec_file = $pre_exec_file"
|
||||
#echo "nruns = $nruns"
|
||||
echo "class = $class"
|
||||
|
||||
|
||||
|
||||
|
||||
echo "<COMPILATION LOG>" > $log_file
|
||||
cd $build_dir
|
||||
{
|
||||
cmake ..
|
||||
#rm -fv $exec_file
|
||||
make -j`nproc` $compile_prog
|
||||
}>> $log_file 2>&1
|
||||
echo "</COMPILATION LOG>" >> $log_file 2>&1
|
||||
|
||||
for (( run_index=1; run_index <= $nruns; run_index++ ))
|
||||
do
|
||||
|
||||
echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file"
|
||||
|
||||
echo "-----------------------------------------------------------------------------" >> $log_file 2>&1
|
||||
echo "<EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
|
||||
|
||||
if [ -n "$pre_exec_file" ]; then
|
||||
{ source $pre_exec_file $pre_exec_args; } >> $log_file 2>&1
|
||||
fi
|
||||
|
||||
{ $exec_file $exec_args ;} > $temp_exec_log 2>&1
|
||||
|
||||
cat $temp_exec_log >> $log_file 2>&1
|
||||
echo "</EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
|
||||
compile_prog_array=()
|
||||
read -a compile_prog_array <<<"$compile_prog"
|
||||
|
||||
tags_array=()
|
||||
read -a tags_array <<<"$tags"
|
||||
|
||||
result=1
|
||||
for search_expr in "${search_expr_array[@]}"
|
||||
do
|
||||
|
||||
search_result=`grep -E "$search_expr" $temp_exec_log`
|
||||
main_exec_args_array=()
|
||||
readarray -t main_exec_args_array <<< "$exec_args"
|
||||
|
||||
#echo "search_expr = $search_expr"
|
||||
#echo "search_result = $search_result"
|
||||
for search_expr in "${compile_prog_array[@]}"
|
||||
do
|
||||
echo "Compiling test case $test_case_name.$search_expr Log file = $log_file"
|
||||
echo "<COMPILATION LOG file=$search_expr>" >> $log_file
|
||||
|
||||
if [ -z "$search_result" ]; then
|
||||
let "result = result & 0"
|
||||
else
|
||||
let "result = result & 1"
|
||||
rm -fr $build_dir
|
||||
mkdir -p $build_dir
|
||||
|
||||
cd $build_dir
|
||||
{
|
||||
eval $pre_compile_prog
|
||||
cmake ..
|
||||
#rm -fv $exec_file
|
||||
make -j`nproc` $search_expr $compile_args
|
||||
}>> $log_file 2>&1
|
||||
echo "</COMPILATION LOG>" >> $log_file 2>&1
|
||||
if [ "$class" == "compilation" ]; then
|
||||
if [ -s "$search_expr" ] ; then
|
||||
echo_success "$test_case_name $search_expr compiled"
|
||||
xUnit_success "compilation" "$test_name.$search_expr" "PASS" 1
|
||||
else
|
||||
echo_error "$test_case_name $exec_prog compilation failed"
|
||||
xUnit_fail "compilation" "$test_name.$search_expr" "FAIL" 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
#echo "result = $result"
|
||||
|
||||
test_case_result=""
|
||||
if [ "$result" -eq "0" ]; then
|
||||
test_case_result="FAIL"
|
||||
fi
|
||||
|
||||
if [ "$result" -eq "1" ]; then
|
||||
test_case_result="PASS"
|
||||
fi
|
||||
|
||||
#If we find a negative search result then there is crash of program and test case is failed even if above condition is true
|
||||
|
||||
search_result=`grep -iE "$search_expr_negative" $temp_exec_log`
|
||||
if [ -n "$search_result" ]; then
|
||||
test_case_result="FAIL"
|
||||
fi
|
||||
|
||||
if [ "$test_case_result" == "FAIL" ]; then
|
||||
echo_error "execution $test_case_name FAIL $run_index"
|
||||
xUnit_fail "execution" "$test_case_name" "FAIL" "$run_index"
|
||||
fi
|
||||
|
||||
if [ "$test_case_result" == "PASS" ]; then
|
||||
echo_success "execution $test_case_name PASS $run_index"
|
||||
xUnit_success "execution" "$test_case_name" "PASS" "$run_index"
|
||||
fi
|
||||
|
||||
# End of for loop
|
||||
done
|
||||
|
||||
#process the test case if it is that of execution
|
||||
if [ "$class" == "execution" ]; then
|
||||
tags_array_index=0
|
||||
for main_exec_args_array_index in "${main_exec_args_array[@]}"
|
||||
do
|
||||
for (( run_index=1; run_index <= $nruns; run_index++ ))
|
||||
do
|
||||
echo "Executing test case $test_case_name.$main_exec.${tags_array[$tags_array_index]}, Run Index = $run_index, Log file = $log_file"
|
||||
|
||||
echo "-----------------------------------------------------------------------------" >> $log_file 2>&1
|
||||
echo "<EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
|
||||
|
||||
if [ -n "$pre_exec_file" ]; then
|
||||
{ eval "source $pre_exec_file $pre_exec_args"; } >> $log_file 2>&1
|
||||
fi
|
||||
echo "Executing $exec_file $main_exec_args_array_index "
|
||||
echo "Executing $exec_file $main_exec_args_array_index " >> $log_file
|
||||
{ eval "$exec_file $main_exec_args_array_index" ;} > $temp_exec_log 2>&1
|
||||
|
||||
cat $temp_exec_log >> $log_file 2>&1
|
||||
echo "</EXECUTION LOG Test Case = $test_case_name.$main_exec.${tags_array[$tags_array_index]}, Run = $run_index >" >> $log_file 2>&1
|
||||
|
||||
result=1
|
||||
for search_expr in "${search_expr_array[@]}"
|
||||
do
|
||||
|
||||
search_result=`grep -E "$search_expr" $temp_exec_log`
|
||||
|
||||
#echo "search_expr = $search_expr"
|
||||
#echo "search_result = $search_result"
|
||||
|
||||
if [ -z "$search_result" ]; then
|
||||
let "result = result & 0"
|
||||
else
|
||||
let "result = result & 1"
|
||||
fi
|
||||
done
|
||||
|
||||
#echo "result = $result"
|
||||
|
||||
test_case_result=""
|
||||
if [ "$result" -eq "0" ]; then
|
||||
test_case_result="FAIL"
|
||||
fi
|
||||
|
||||
if [ "$result" -eq "1" ]; then
|
||||
test_case_result="PASS"
|
||||
fi
|
||||
|
||||
#If we find a negative search result then there is crash of program and test case is failed even if above condition is true
|
||||
|
||||
search_result=`grep -iE "$search_expr_negative" $temp_exec_log`
|
||||
if [ -n "$search_result" ]; then
|
||||
test_case_result="FAIL"
|
||||
fi
|
||||
|
||||
if [ "$test_case_result" == "FAIL" ]; then
|
||||
echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} FAIL $run_index"
|
||||
xUnit_fail "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "FAIL" "$run_index"
|
||||
fi
|
||||
|
||||
if [ "$test_case_result" == "PASS" ]; then
|
||||
echo_success "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} PASS $run_index"
|
||||
xUnit_success "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "PASS" "$run_index"
|
||||
fi
|
||||
|
||||
|
||||
done
|
||||
let "tags_array_index++"
|
||||
done # End of for loop (nindex)
|
||||
fi
|
||||
}
|
||||
|
||||
dbin=$OPENAIR_DIR/cmake_targets/autotests/bin
|
||||
@@ -168,75 +302,143 @@ else
|
||||
fi
|
||||
fi
|
||||
}
|
||||
print_help() {
|
||||
echo_info '
|
||||
This program runs automated test case system for OpenAirInterface
|
||||
You should have ubuntu 14.xx, updated, and the Linux kernel >= 3.14
|
||||
Options
|
||||
-h | --help
|
||||
This help
|
||||
-g | --run-group
|
||||
Run test cases in a group. For example, ./run_exec_autotests "0101* 010102"
|
||||
'
|
||||
}
|
||||
|
||||
#$1 -> name of test case
|
||||
#$2 -> name of compilation program
|
||||
#$3 -> arguments for compilation program
|
||||
#$4 -> name of pre-executable to install kernel modules, etc
|
||||
#$5 -> arguments of pre-executable
|
||||
#$6 -> name of executable
|
||||
#$7 -> arguments for running the program
|
||||
#$8 -> search expression ARRAY which needs to be found
|
||||
#$9 -> search expression which should NOT be found (for ex. segmentation fault)
|
||||
#$10 -> number of runs
|
||||
main () {
|
||||
RUN_GROUP=0
|
||||
test_case_group=""
|
||||
test_case_group_array=()
|
||||
test_case_array=()
|
||||
|
||||
#oaisim tests
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
|
||||
test_compile_and_run 010200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
|
||||
test_compile_and_run 010201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
|
||||
test_compile_and_run 010202 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
|
||||
test_compile_and_run 010203 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
#PHY unitary simulations for secuirity tests
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010300 "test_aes128_cmac_encrypt" "" "" "" "test_aes128_cmac_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010301 "test_aes128_ctr_decrypt" "" "" "" "test_aes128_ctr_decrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010302 "test_aes128_ctr_encrypt" "" "" "" "test_aes128_ctr_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010303 "test_secu_kenb" "" "" "" "test_secu_kenb" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010304 "test_secu_knas" "" "" "" "test_secu_knas" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010305 "test_secu_knas_encrypt_eea1" "" "" "" "test_secu_knas_encrypt_eea1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010306 "test_secu_knas_encrypt_eea2" "" "" "" "test_secu_knas_encrypt_eea2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010307 "test_secu_knas_encrypt_eia1" "" "" "" "test_secu_knas_encrypt_eia1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010308 "test_secu_knas_encrypt_eia2" "" "" "" "test_secu_knas_encrypt_eia2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fataln" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010309 "test_kdf" "" "" "" "test_kdf" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
#TODO: Add test cases for 10,20 MHz
|
||||
#TODO: Test and compile seperately for Rel8/Rel10
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-g | --run-group)
|
||||
RUN_GROUP=1
|
||||
test_case_group=$2
|
||||
echo_info "Will execute test cases only in group $test_case_group"
|
||||
shift 2;;
|
||||
-h | --help)
|
||||
print_help
|
||||
exit 1;;
|
||||
*)
|
||||
print_help
|
||||
echo_fatal "Unknown option $1"
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
#test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O /home/calisson/rohit/oai_snav/taets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a " "RRC_CONN" 3
|
||||
xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml"
|
||||
|
||||
#run_test 0200 "$dbin/oaisim.r8 -a -A AWGN -n 100" false grep -q '(Segmentation.fault)|(Exiting)|(FATAL)'
|
||||
test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf`
|
||||
|
||||
#run_test 0201 "$dbin/oaisim.r8 -a -A AWGN -n 100" false fgrep -q '[E]'
|
||||
echo "test_case_list = $test_case_list"
|
||||
|
||||
# write the test results into a file
|
||||
readarray -t test_case_array <<<"$test_case_list"
|
||||
|
||||
read -a test_case_group_array <<< "$test_case_group"
|
||||
|
||||
for search_expr in "${test_case_array[@]}"
|
||||
do
|
||||
flag_run_test_case=0
|
||||
# search if this test case needs to be executed
|
||||
if [ "$RUN_GROUP" -eq "1" ]; then
|
||||
for search_group in "${test_case_group_array[@]}"
|
||||
do
|
||||
if [[ $search_expr == $search_group ]];then
|
||||
flag_run_test_case=1
|
||||
echo_info "Test case $search_expr match found in group"
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
flag_run_test_case=1
|
||||
fi
|
||||
|
||||
#We skip this test case if it is not in the group list
|
||||
if [ "$flag_run_test_case" -ne "1" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
name=$search_expr
|
||||
class=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/class" $xml_conf`
|
||||
desc=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf`
|
||||
pre_compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_compile_prog" $xml_conf`
|
||||
compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog" $xml_conf`
|
||||
compile_prog_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_args" $xml_conf`
|
||||
pre_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec" $xml_conf`
|
||||
pre_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec_args" $xml_conf`
|
||||
main_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf`
|
||||
main_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec_args" $xml_conf`
|
||||
search_expr_true=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf`
|
||||
search_expr_false=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf`
|
||||
nruns=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf`
|
||||
compile_prog_out=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf`
|
||||
tags=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf`
|
||||
|
||||
echo "class = $class"
|
||||
echo "name = $name"
|
||||
echo "Description = $desc"
|
||||
echo "pre_compile_prog = $pre_compile_prog"
|
||||
echo "compile_prog = $compile_prog"
|
||||
echo "pre_exec = $pre_exec"
|
||||
echo "pre_exec_args = $pre_exec_args"
|
||||
echo "main_exec = $main_exec"
|
||||
echo "main_exec_args = $main_exec_args"
|
||||
echo "search_expr_true = $search_expr_true"
|
||||
echo "search_expr_false = $search_expr_false"
|
||||
echo "nruns = $nruns"
|
||||
|
||||
#eval $pre_exec
|
||||
|
||||
search_array_true=()
|
||||
|
||||
IFS=\" #set the shell's field separator
|
||||
set -f #don't try to glob
|
||||
#set -- $search_expr_true #split on $IFS
|
||||
for i in $search_expr_true
|
||||
do echo "i = $i"
|
||||
if [ -n "$i" ] && [ "$i" != " " ]; then
|
||||
search_array_true+=("$i")
|
||||
#echo "inside i = \"$i\" "
|
||||
fi
|
||||
done
|
||||
unset IFS
|
||||
|
||||
#echo "arg1 = ${search_array_true[0]}"
|
||||
#echo " arg2 = ${search_array_true[1]}"
|
||||
if [ "$class" == "compilation" ]; then
|
||||
test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags"
|
||||
elif [ "$class" == "execution" ]; then
|
||||
test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags"
|
||||
else
|
||||
echo "Unexpected class of test case...Exiting...."
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
xUnit_write "$results_file"
|
||||
|
||||
echo "Test Results are written to $results_file"
|
||||
|
||||
exit
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,814 @@
|
||||
<testCaseList>
|
||||
|
||||
<MachineList>mozart stevens calisson nano amerique</MachineList>
|
||||
<NFSResultsShare>/mnt/sradio/TEST_RESULTS</NFSResultsShare>
|
||||
<GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo>
|
||||
<GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo>
|
||||
<GitOAI5GRepoBranch>feature-34-test_framework</GitOAI5GRepoBranch>
|
||||
<GitOpenair-cnRepoBranch>develop</GitOpenair-cnRepoBranch>
|
||||
<CleanUpOldProgs>oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* </CleanUpOldProgs>
|
||||
|
||||
<testCase id="010101" >
|
||||
<class>compilation</class>
|
||||
<desc>Build oaisim.Rel8</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010102" >
|
||||
<class>compilation</class>
|
||||
<desc>Build oaisim.Rel8 + network device driver(nasmesh_fix)</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010103" >
|
||||
<class>compilation</class>
|
||||
<desc>Build lte-softmodem EXMIMO.Rel8 + EXMIMO.Rel10 + USRP.Rel10</desc>
|
||||
<pre_compile_prog>cp -vf ../CMakeLists.txt.Rel8 ../CMakeLists.txt
|
||||
cp -vf ../CMakeLists.txt.Rel10 ../CMakeLists.txt
|
||||
cp -vf ../CMakeLists.txt.USRP ../CMakeLists.txt </pre_compile_prog>
|
||||
<compile_prog>lte-softmodem</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010104" >
|
||||
<class>compilation</class>
|
||||
<desc>Build phy unitary simulators + secuirity unitary tests</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim test_secu_knas_encrypt_eia1 test_secu_kenb test_aes128_ctr_encrypt test_aes128_ctr_decrypt test_secu_knas_encrypt_eea2 test_secu_knas test_secu_knas_encrypt_eea1 test_kdf test_aes128_cmac_encrypt test_secu_knas_encrypt_eia2</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010106" >
|
||||
<class>compilation</class>
|
||||
<desc>Build oaisim.Rel8 + ITTI</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010107" >
|
||||
<class>compilation</class>
|
||||
<desc>Build oaisim_nos1.Rel10</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010108" >
|
||||
<class>compilation</class>
|
||||
<desc>Build oaisim.Rel10 + ITTI</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010120" >
|
||||
<class>compilation</class>
|
||||
<desc>Build Nasmesh</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>nasmesh</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<compile_prog_out>CMakeFiles/nasmesh/nasmesh.ko</compile_prog_out>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
|
||||
<testCase id="010130" >
|
||||
<class>compilation</class>
|
||||
<desc>Build RRH Gateway</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>rrh_gw</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec></main_exec>
|
||||
<main_exec_args></main_exec_args>
|
||||
<search_expr_true></search_expr_true>
|
||||
<search_expr_false></search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
|
||||
<testCase id="010200">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6</main_exec_args>
|
||||
<tags>tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010201">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -a</main_exec_args>
|
||||
<tags>tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010202">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 </main_exec_args>
|
||||
<tags>tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010203">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -a</main_exec_args>
|
||||
<tags>tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010204">
|
||||
<class>execution</class>
|
||||
<desc>Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 </main_exec_args>
|
||||
<tags>tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6</tags>
|
||||
<search_expr_true>"DL and UL loss rate below 10"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010205">
|
||||
<class>execution</class>
|
||||
<desc>Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 -a </main_exec_args>
|
||||
<tags>tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6</tags>
|
||||
<search_expr_true>"DL and UL loss rate below 10"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010300">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F</main_exec_args>
|
||||
<tags>FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010301">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -a</main_exec_args>
|
||||
<tags>FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010302">
|
||||
<class>execution</class>
|
||||
<desc> Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F </main_exec_args>
|
||||
<tags>FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010303">
|
||||
<class>execution</class>
|
||||
<desc>Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F -a</main_exec_args>
|
||||
<tags>FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6</tags>
|
||||
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010304">
|
||||
<class>execution</class>
|
||||
<desc>Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26</main_exec_args>
|
||||
<tags>FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6</tags>
|
||||
<search_expr_true>"DL and UL loss rate below 10"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010305">
|
||||
<class>execution</class>
|
||||
<desc>Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 -a
|
||||
-O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 -a </main_exec_args>
|
||||
<tags>FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6</tags>
|
||||
<search_expr_true>"DL and UL loss rate below 10"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010400">
|
||||
<class>execution</class>
|
||||
<desc>Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -Q3 -n 100 -b1 -u1</main_exec_args>
|
||||
<search_expr_true>"Found MBSFNAreaConfiguration from eNB 0"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010401">
|
||||
<class>execution</class>
|
||||
<desc>Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -T mscbr -Q3 -n 100 -b1 -u1</main_exec_args>
|
||||
<search_expr_true>"Received a multicast packet"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010402">
|
||||
<class>execution</class>
|
||||
<desc>Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -F -T mscbr -x 1 -Q3 -n 100 -b1 -u1</main_exec_args>
|
||||
<search_expr_true>"Received a multicast packet"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="010403">
|
||||
<class>execution</class>
|
||||
<desc>Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>oaisim_nos1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>oaisim_nos1</main_exec>
|
||||
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -c43 -F -T mbvbr -Q4 -j1 -n120</main_exec_args>
|
||||
<search_expr_true>"MTCH for sync area 1"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015000">
|
||||
<class>execution</class>
|
||||
<desc>test_aes128_cmac_encrypt</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_aes128_cmac_encrypt</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_aes128_cmac_encrypt</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015001">
|
||||
<class>execution</class>
|
||||
<desc>test_aes128_ctr_decrypt</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_aes128_ctr_decrypt</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_aes128_ctr_decrypt</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015002">
|
||||
<class>execution</class>
|
||||
<desc>test_aes128_ctr_encrypt</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_aes128_ctr_encrypt</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_aes128_ctr_encrypt</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015003">
|
||||
<class>execution</class>
|
||||
<desc>test_secu_kenb</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_secu_kenb</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_secu_kenb</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015004">
|
||||
<class>execution</class>
|
||||
<desc>test_secu_knas</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_secu_knas</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_secu_knas</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015005">
|
||||
<class>execution</class>
|
||||
<desc>test_secu_knas_encrypt_eea1</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_secu_knas_encrypt_eea1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_secu_knas_encrypt_eea1</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015006">
|
||||
<class>execution</class>
|
||||
<desc>test_secu_knas_encrypt_eea2</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_secu_knas_encrypt_eea2</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_secu_knas_encrypt_eea2</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015007">
|
||||
<class>execution</class>
|
||||
<desc>test_secu_knas_encrypt_eia1</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_secu_knas_encrypt_eia1</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_secu_knas_encrypt_eia1</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015008">
|
||||
<class>execution</class>
|
||||
<desc>test_secu_knas_encrypt_eia2</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_secu_knas_encrypt_eia2</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_secu_knas_encrypt_eia2</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015009">
|
||||
<class>execution</class>
|
||||
<desc>test_kdf</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>test_kdf</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>test_kdf</main_exec>
|
||||
<main_exec_args> --verbose</main_exec_args>
|
||||
<search_expr_true>"finished with 0 errors"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>3</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015100">
|
||||
<class>execution</class>
|
||||
<desc>dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB),
|
||||
(Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)),
|
||||
(Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)),
|
||||
(Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)),
|
||||
(Test 7, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)),
|
||||
(Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)),
|
||||
(Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)),
|
||||
(Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)),
|
||||
(Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%))
|
||||
(TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)),
|
||||
(TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)),
|
||||
</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>dlsim</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>dlsim</main_exec>
|
||||
<main_exec_args> -m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L
|
||||
-m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70
|
||||
-m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L
|
||||
-m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L
|
||||
-m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30 -L
|
||||
-m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L
|
||||
-m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L
|
||||
-m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L
|
||||
-m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L
|
||||
-m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70 -L
|
||||
-m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70 -L</main_exec_args>
|
||||
<tags>test1 test5 test6 test6b test7 test7b test10 test10b test11 TM2_test1 TM2_test1b</tags>
|
||||
<search_expr_true>"passed"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015101">
|
||||
<class>execution</class>
|
||||
<desc>ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB),
|
||||
(Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)),
|
||||
(Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)),
|
||||
(Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)),
|
||||
(Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)),
|
||||
(Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%))</desc>
|
||||
<pre_compile_prog></pre_compile_prog>
|
||||
<compile_prog>ulsim</compile_prog>
|
||||
<compile_prog_args></compile_prog_args>
|
||||
<pre_exec></pre_exec>
|
||||
<pre_exec_args></pre_exec_args>
|
||||
<main_exec>ulsim</main_exec>
|
||||
<main_exec_args> -B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L
|
||||
-B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L
|
||||
-B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L
|
||||
-B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L
|
||||
-B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L
|
||||
-B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L</main_exec_args>
|
||||
<tags>test1 test2 test3 test4 test5 test6</tags>
|
||||
<search_expr_true>"passed"</search_expr_true>
|
||||
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
|
||||
<nruns>1</nruns>
|
||||
</testCase>
|
||||
|
||||
<testCase id="015500" >
|
||||
<class>lte-softmodem</class>
|
||||
<desc></desc>
|
||||
<eNB>calisson</eNB>
|
||||
<UE>stevens</UE>
|
||||
<EPC>nano</EPC>
|
||||
<cleanupScript>oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox*</cleanupScript>
|
||||
<TimeOut_cmd>300</TimeOut_cmd>
|
||||
|
||||
<eNB_working_dir>/tmp</eNB_working_dir>
|
||||
<eNB_config_file>$OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1
|
||||
$OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 208
|
||||
$OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 95</eNB_config_file>
|
||||
<eNB_pre_compile_prog></eNB_pre_compile_prog>
|
||||
<eNB_pre_compile_prog_args></eNB_pre_compile_prog_args>
|
||||
<eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai </eNB_compile_prog>
|
||||
<eNB_compile_prog_args>--eNB -w USRP</eNB_compile_prog_args>
|
||||
<eNB_pre_exec>iperf </eNB_pre_exec>
|
||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||
<eNB_main_exec_args></eNB_main_exec_args>
|
||||
<eNB_search_expr_true></eNB_search_expr_true>
|
||||
<eNB_search_expr_false></eNB_search_expr_false>
|
||||
|
||||
<UE_working_dir>/tmp</UE_working_dir>
|
||||
<UE_pre_compile_prog></UE_pre_compile_prog>
|
||||
<UE_pre_compile_prog_args></UE_pre_compile_prog_args>
|
||||
<UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog>
|
||||
<UE_compile_prog_args>--eNB -w USRP</UE_compile_prog_args>
|
||||
<UE_pre_exec>iperf </UE_pre_exec>
|
||||
<UE_pre_exec_args></UE_pre_exec_args>
|
||||
<UE_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</UE_main_exec>
|
||||
<UE_main_exec_args></UE_main_exec_args>
|
||||
<UE_search_expr_true></UE_search_expr_true>
|
||||
<UE_search_expr_false></UE_search_expr_false>
|
||||
|
||||
<UE_working_dir>/tmp</UE_working_dir>
|
||||
<UE_pre_compile_prog></UE_pre_compile_prog>
|
||||
<UE_pre_compile_prog_args></UE_pre_compile_prog_args>
|
||||
<UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog>
|
||||
<UE_compile_prog_args>--eNB -w USRP</UE_compile_prog_args>
|
||||
<UE_pre_exec>iperf </UE_pre_exec>
|
||||
<UE_pre_exec_args></UE_pre_exec_args>
|
||||
<UE_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</UE_main_exec>
|
||||
<UE_main_exec_args></UE_main_exec_args>
|
||||
<UE_search_expr_true></UE_search_expr_true>
|
||||
<UE_search_expr_false></UE_search_expr_false>
|
||||
|
||||
<EPC_working_dir>/tmp</EPC_working_dir>
|
||||
<EPC_pre_compile_prog></EPC_pre_compile_prog>
|
||||
<EPC_pre_compile_prog_args></EPC_pre_compile_prog_args>
|
||||
<EPC_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</EPC_compile_prog>
|
||||
<EPC_compile_prog_args>--eNB -w USRP</EPC_compile_prog_args>
|
||||
<EPC_pre_exec>iperf </EPC_pre_exec>
|
||||
<EPC_pre_exec_args></EPC_pre_exec_args>
|
||||
<EPC_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</EPC_main_exec>
|
||||
<EPC_main_exec_args></EPC_main_exec_args>
|
||||
<EPC_search_expr_true></EPC_search_expr_true>
|
||||
<EPC_search_expr_false></EPC_search_expr_false>
|
||||
<nruns>2</nruns>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#$1 programs to be killed and checked
|
||||
var=`ps -A |grep -E -i $1`
|
||||
echo $var
|
||||
if [ -n "$var" ]; then echo 'Match found'; else echo 'Match not found' ;fi
|
||||
|
||||
+18
-6
@@ -47,9 +47,12 @@ PRINT_STATS="False"
|
||||
VCD_TIMING="False"
|
||||
REL="Rel10"
|
||||
HW="EXMIMO"
|
||||
NOS1=0
|
||||
EPC=0
|
||||
VERBOSE_COMPILE=0
|
||||
CFLAGS_PROCESSOR_USER=""
|
||||
RUN_GROUP=0
|
||||
TEST_CASE_GROUP=""
|
||||
|
||||
function print_help() {
|
||||
echo_info '
|
||||
@@ -95,6 +98,8 @@ Options
|
||||
Makes the core security features unitary simulators
|
||||
-s | --check
|
||||
runs a set of auto-tests based on simulators and several compilation tests
|
||||
--run-group
|
||||
runs only specified test cases specified here. This flag is only valid with -s
|
||||
-V | --vcd
|
||||
Adds a debgging facility to the binary files: GUI with major internal synchronization events
|
||||
-x | --xforms
|
||||
@@ -193,6 +198,11 @@ function main() {
|
||||
OAI_TEST=1
|
||||
echo_info "Will run auto-tests"
|
||||
shift;;
|
||||
--run-group)
|
||||
RUN_GROUP=1
|
||||
TEST_CASE_GROUP=$2
|
||||
echo_info "executing test cases only in group: $TEST_CASE_GROUP"
|
||||
shift 2;;
|
||||
-V | --vcd)
|
||||
echo_info "setting gtk-wave output"
|
||||
VCD_TIMING=1
|
||||
@@ -265,12 +275,11 @@ function main() {
|
||||
if [ "$HW" == "OAI_USRP" ] ; then
|
||||
echo_info "installing packages for USRP support"
|
||||
check_install_usrp_uhd_driver
|
||||
fi
|
||||
fi
|
||||
if [ "$HW" == "OAI_BLADERF" ] ; then
|
||||
echo_info "installing packages for BALDERF support"
|
||||
check_install_bladerf_driver
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "$INSTALL_OPTIONAL" = "1" ] ; then
|
||||
@@ -321,7 +330,7 @@ function main() {
|
||||
cmake ..
|
||||
fi
|
||||
|
||||
if [ "$eNB" = "1" ] ; then
|
||||
if [ "$eNB" = "1" -o "$UE" = "1" ] ; then
|
||||
echo_info "Compiling $lte_exec"
|
||||
compilations \
|
||||
$lte_build_dir $lte_exec \
|
||||
@@ -338,7 +347,7 @@ function main() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$UE" = 1 ] ; then
|
||||
if [ "$UE" = 1 -a "$NOS1" = "0" ] ; then
|
||||
# ue_ip driver compilation
|
||||
echo_info "Compiling UE specific part"
|
||||
compilations \
|
||||
@@ -576,8 +585,11 @@ function main() {
|
||||
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
|
||||
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
|
||||
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
|
||||
$OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash
|
||||
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
|
||||
if [ "$RUN_GROUP" -eq "1" ]; then
|
||||
$SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP"
|
||||
else
|
||||
$SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
|
||||
fi
|
||||
else
|
||||
echo_info "10. Bypassing the Tests ..."
|
||||
fi
|
||||
|
||||
@@ -254,7 +254,8 @@ check_install_oai_software() {
|
||||
openssh-server \
|
||||
openssl \
|
||||
python \
|
||||
subversion
|
||||
subversion \
|
||||
xmlstarlet
|
||||
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
|
||||
if [ `lsb_release -rs` = '12.04' ] ; then
|
||||
install_nettle_from_source
|
||||
|
||||
@@ -38,7 +38,7 @@ xUnit_fail() {
|
||||
}
|
||||
|
||||
## Call this after the testcase finished successfully.
|
||||
# \sa xUnit_fail()
|
||||
# \sa xUnit_success()
|
||||
# \pre xUnit_start() must have been called before
|
||||
# \param $1 classname
|
||||
# \param $2 testcase name
|
||||
|
||||
@@ -53,7 +53,7 @@ phy_adjust_gain (PHY_VARS_UE *phy_vars_ue, uint8_t eNB_id)
|
||||
if (rssi>0) rx_power_fil_dB = rssi;
|
||||
else rx_power_fil_dB = phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id];
|
||||
|
||||
printf("Gain control: rssi %d (%d,%d)\n",
|
||||
LOG_D(PHY,"Gain control: rssi %d (%d,%d)\n",
|
||||
rssi,
|
||||
phy_vars_ue->PHY_measurements.rssi,
|
||||
phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id]
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#include "PHY/sse_intrin.h"
|
||||
|
||||
|
||||
|
||||
#ifndef USER_MODE
|
||||
#define NOCYGWIN_STATIC static
|
||||
#else
|
||||
@@ -53,9 +52,9 @@
|
||||
#endif
|
||||
|
||||
//#define DEBUG_PHY 1
|
||||
//#define DEBUG_DLSCH_MOD 1
|
||||
//#define DEBUG_DLSCH_DEMOD 1
|
||||
|
||||
int avg[4];
|
||||
int avg[4];
|
||||
|
||||
// [MCS][i_mod (0,1,2) = (2,4,6)]
|
||||
unsigned char offset_mumimo_llr_drange_fix=0;
|
||||
@@ -3091,19 +3090,21 @@ void dlsch_alamouti(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
ch_mag1 = (__m128i *)&dl_ch_mag[2][jj];
|
||||
ch_mag0b = (__m128i *)&dl_ch_magb[0][jj];
|
||||
ch_mag1b = (__m128i *)&dl_ch_magb[2][jj];
|
||||
|
||||
|
||||
for (rb=0; rb<nb_rb; rb++) {
|
||||
|
||||
for (re=0; re<((pilots==0)?12:8); re+=2) {
|
||||
|
||||
// Alamouti RX combining
|
||||
|
||||
// printf("Alamouti: symbol %d, rb %d, re %d: rxF0 (%d,%d,%d,%d), rxF1 (%d,%d,%d,%d)\n",symbol,rb,re,rxF0[0],rxF0[1],rxF0[2],rxF0[3],rxF1[0],rxF1[1],rxF1[2],rxF1[3]);
|
||||
rxF0[0] = rxF0[0] + rxF1[2];
|
||||
rxF0[1] = rxF0[1] - rxF1[3];
|
||||
rxF0[1] = rxF0[1] - rxF1[3];
|
||||
|
||||
rxF0[2] = rxF0[2] - rxF1[0];
|
||||
rxF0[3] = rxF0[3] + rxF1[1];
|
||||
|
||||
// printf("Alamouti: rxF0 after (%d,%d,%d,%d)\n",rxF0[0],rxF0[1],rxF0[2],rxF0[3]);
|
||||
rxF0+=4;
|
||||
rxF1+=4;
|
||||
|
||||
@@ -3229,12 +3230,40 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
else
|
||||
rb_alloc_ind = 0;
|
||||
|
||||
if (rb_alloc_ind == 1)
|
||||
nb_rb++;
|
||||
|
||||
// For second half of RBs skip DC carrier
|
||||
if (rb==(frame_parms->N_RB_DL>>1)) {
|
||||
rxF = &rxdataF[aarx][(1 + (symbol*(frame_parms->ofdm_symbol_size)))];
|
||||
//dl_ch0++;
|
||||
}
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=nsymb>>1) && (l<((nsymb>>1) + 4))) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
|
||||
//SSS
|
||||
if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==sss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
|
||||
|
||||
if (frame_parms->frame_type == FDD) {
|
||||
//PSS
|
||||
if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ((frame_parms->frame_type == TDD) &&
|
||||
(subframe==6)) { //TDD Subframe 6
|
||||
if ((rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (rb_alloc_ind==1) {
|
||||
*pmi_ext = (pmi>>((rb>>2)<<1))&3;
|
||||
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
||||
@@ -3272,7 +3301,7 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
rxF_ext+=10;
|
||||
}
|
||||
|
||||
nb_rb++;
|
||||
|
||||
}
|
||||
|
||||
dl_ch0+=12;
|
||||
@@ -3281,7 +3310,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
}
|
||||
else { // Odd number of RBs
|
||||
for (rb=0; rb<frame_parms->N_RB_DL>>1; rb++) {
|
||||
// printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
|
||||
#endif
|
||||
skip_half=0;
|
||||
|
||||
if (rb < 32)
|
||||
@@ -3295,6 +3326,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
else
|
||||
rb_alloc_ind = 0;
|
||||
|
||||
if (rb_alloc_ind == 1)
|
||||
nb_rb++;
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) {
|
||||
@@ -3328,7 +3361,10 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
|
||||
//PSS in subframe 0/5 if FDD
|
||||
if (frame_parms->frame_type == FDD) { //FDD
|
||||
if (((subframe==0)||(subframe==5)) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(rb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(rb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
|
||||
@@ -3352,55 +3388,68 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
|
||||
|
||||
if (rb_alloc_ind==1) {
|
||||
// printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
|
||||
#endif
|
||||
if (pilots==0) {
|
||||
// printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
// printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
if (skip_half==1) {
|
||||
memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int));
|
||||
|
||||
for (i=0; i<6; i++)
|
||||
rxF_ext[i]=rxF[i];
|
||||
|
||||
for (i=0; i<6; i++) {
|
||||
rxF_ext[i]=rxF[i];
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
}
|
||||
dl_ch0_ext+=6;
|
||||
rxF_ext+=6;
|
||||
} else if (skip_half==2) {
|
||||
memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int));
|
||||
|
||||
for (i=0; i<6; i++)
|
||||
for (i=0; i<6; i++) {
|
||||
rxF_ext[i]=rxF[(i+6)];
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
}
|
||||
dl_ch0_ext+=6;
|
||||
rxF_ext+=6;
|
||||
} else {
|
||||
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
||||
|
||||
for (i=0; i<12; i++)
|
||||
for (i=0; i<12; i++) {
|
||||
rxF_ext[i]=rxF[i];
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
}
|
||||
dl_ch0_ext+=12;
|
||||
rxF_ext+=12;
|
||||
}
|
||||
} else {
|
||||
// printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
// printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
j=0;
|
||||
|
||||
if (skip_half==1) {
|
||||
for (i=0; i<6; i++) {
|
||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||
rxF_ext[j]=rxF[i];
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j++]=dl_ch0[i];
|
||||
}
|
||||
}
|
||||
|
||||
rxF_ext+=5;
|
||||
dl_ch0_ext+=5;
|
||||
rxF_ext+=5;
|
||||
} else if (skip_half==2) {
|
||||
for (i=0; i<6; i++) {
|
||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||
rxF_ext[j]=rxF[(i+6)];
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j++]=dl_ch0[i+6];
|
||||
}
|
||||
}
|
||||
@@ -3412,7 +3461,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
if ((i!=(frame_parms->nushift+poffset)) &&
|
||||
(i!=((frame_parms->nushift+poffset+6)%12))) {
|
||||
rxF_ext[j]=rxF[i];
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j++]=dl_ch0[i];
|
||||
|
||||
}
|
||||
@@ -3422,8 +3473,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
rxF_ext+=10;
|
||||
}
|
||||
}
|
||||
|
||||
nb_rb++;
|
||||
}
|
||||
|
||||
dl_ch0+=12;
|
||||
@@ -3444,36 +3493,42 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
rb_alloc_ind = 0;
|
||||
|
||||
|
||||
if (rb_alloc_ind == 1)
|
||||
nb_rb++;
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) {
|
||||
if ((subframe==0) &&
|
||||
(l>=(nsymb>>1)) &&
|
||||
(l<((nsymb>>1) + 4))) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
|
||||
//SSS
|
||||
if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==sss_symb) ) {
|
||||
if (((subframe==0)||(subframe==5)) && (l==sss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
|
||||
if (frame_parms->frame_type == FDD) {
|
||||
//PSS
|
||||
if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
|
||||
if (((subframe==0)||(subframe==5)) && (l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//PSS
|
||||
if ((frame_parms->frame_type == TDD) &&
|
||||
(subframe==6)) {
|
||||
//PSS
|
||||
if ((rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
(subframe==6) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
|
||||
|
||||
// printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
|
||||
// printf("DC rb %d (%p)\n",rb,rxF);
|
||||
if (rb_alloc_ind==1) {
|
||||
// printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
|
||||
#endif
|
||||
if (pilots==0) {
|
||||
for (i=0; i<6; i++) {
|
||||
dl_ch0_ext[i]=dl_ch0[i];
|
||||
@@ -3496,7 +3551,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||
dl_ch0_ext[j]=dl_ch0[i];
|
||||
rxF_ext[j++]=rxF[i];
|
||||
// printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3506,7 +3563,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
if (i!=((frame_parms->nushift+6+poffset)%12)) {
|
||||
dl_ch0_ext[j]=dl_ch0[i];
|
||||
rxF_ext[j++]=rxF[(1+i-6)];
|
||||
// printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3514,7 +3573,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
rxF_ext+=10;
|
||||
} // symbol_mod==0
|
||||
|
||||
nb_rb++;
|
||||
} // rballoc==1
|
||||
else {
|
||||
rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];
|
||||
@@ -3540,7 +3598,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
else
|
||||
rb_alloc_ind = 0;
|
||||
|
||||
|
||||
if (rb_alloc_ind == 1)
|
||||
nb_rb++;
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=nsymb>>1) && (l<((nsymb>>1) + 4))) {
|
||||
@@ -3590,7 +3649,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
}
|
||||
|
||||
if (rb_alloc_ind==1) {
|
||||
// printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
|
||||
#endif
|
||||
/*
|
||||
printf("rb %d\n",rb);
|
||||
for (i=0;i<12;i++)
|
||||
@@ -3598,43 +3659,54 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
printf("\n");
|
||||
*/
|
||||
if (pilots==0) {
|
||||
// printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
// printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
if (skip_half==1) {
|
||||
memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int));
|
||||
|
||||
for (i=0; i<6; i++)
|
||||
for (i=0; i<6; i++) {
|
||||
rxF_ext[i]=rxF[i];
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
}
|
||||
dl_ch0_ext+=6;
|
||||
rxF_ext+=6;
|
||||
|
||||
} else if (skip_half==2) {
|
||||
memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int));
|
||||
|
||||
for (i=0; i<6; i++)
|
||||
for (i=0; i<6; i++) {
|
||||
rxF_ext[i]=rxF[(i+6)];
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
}
|
||||
dl_ch0_ext+=6;
|
||||
rxF_ext+=6;
|
||||
|
||||
} else {
|
||||
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
||||
|
||||
for (i=0; i<12; i++)
|
||||
for (i=0; i<12; i++) {
|
||||
rxF_ext[i]=rxF[i];
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
}
|
||||
dl_ch0_ext+=12;
|
||||
rxF_ext+=12;
|
||||
}
|
||||
} else {
|
||||
// printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
// printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
|
||||
j=0;
|
||||
|
||||
if (skip_half==1) {
|
||||
for (i=0; i<6; i++) {
|
||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||
rxF_ext[j]=rxF[i];
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j++]=dl_ch0[i];
|
||||
}
|
||||
}
|
||||
@@ -3645,7 +3717,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
for (i=0; i<6; i++) {
|
||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||
rxF_ext[j]=rxF[(i+6)];
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j++]=dl_ch0[i+6];
|
||||
}
|
||||
}
|
||||
@@ -3657,7 +3731,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
if ((i!=(frame_parms->nushift+poffset)) &&
|
||||
(i!=((frame_parms->nushift+poffset+6)%12))) {
|
||||
rxF_ext[j]=rxF[i];
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j++]=dl_ch0[i];
|
||||
}
|
||||
}
|
||||
@@ -3666,8 +3742,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
||||
rxF_ext+=10;
|
||||
}
|
||||
} // pilots=0
|
||||
|
||||
nb_rb++;
|
||||
}
|
||||
|
||||
dl_ch0+=12;
|
||||
@@ -3749,52 +3823,58 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
rb_alloc_ind = (rb_alloc[3]>>(prb-96)) & 1;
|
||||
else
|
||||
rb_alloc_ind = 0;
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) &&
|
||||
(prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l>=(nsymb>>1)) &&
|
||||
(l<((nsymb>>1) + 4))) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb);
|
||||
}
|
||||
|
||||
//SSS
|
||||
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==sss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//PSS in subframe 0/5 if FDD
|
||||
if (frame_parms->frame_type == FDD) { //FDD
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb);
|
||||
}
|
||||
}
|
||||
|
||||
if ((frame_parms->frame_type == TDD) &&
|
||||
(subframe==6)) { //TDD Subframe 6
|
||||
if ((prb>=((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<=((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (rb_alloc_ind==1) { // PRB is allocated
|
||||
|
||||
if ((frame_parms->N_RB_DL&1) == 0) { // even number of RBs
|
||||
if (rb_alloc_ind == 1)
|
||||
nb_rb++;
|
||||
|
||||
|
||||
if ((frame_parms->N_RB_DL&1) == 0) { // even number of RBs
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) &&
|
||||
(prb>=((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l>=(nsymb>>1)) &&
|
||||
(l<((nsymb>>1) + 4))) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb);
|
||||
}
|
||||
|
||||
//SSS
|
||||
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(prb>=((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==sss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//PSS in subframe 0/5 if FDD
|
||||
if (frame_parms->frame_type == FDD) { //FDD
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(prb>=((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb);
|
||||
}
|
||||
}
|
||||
|
||||
if ((frame_parms->frame_type == TDD) &&
|
||||
(subframe==6)) { //TDD Subframe 6
|
||||
if ((prb>=((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (rb_alloc_ind==1) { // PRB is allocated
|
||||
|
||||
|
||||
|
||||
prb_off = 12*prb;
|
||||
prb_off2 = 1+(12*(prb-(frame_parms->N_RB_DL>>1)));
|
||||
@@ -3839,12 +3919,55 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
rxF_ext+=8;
|
||||
} // pilots==1
|
||||
|
||||
nb_rb++;
|
||||
}
|
||||
} else { // Odd number of RBs
|
||||
|
||||
} else { // Odd number of RBs
|
||||
|
||||
// PBCH
|
||||
if ((subframe==0) &&
|
||||
(prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l>=(nsymb>>1)) &&
|
||||
(l<((nsymb>>1) + 4))) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb);
|
||||
}
|
||||
|
||||
//SSS
|
||||
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==sss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//PSS in subframe 0/5 if FDD
|
||||
if (frame_parms->frame_type == FDD) { //FDD
|
||||
if (((subframe==0)||(subframe==5)) &&
|
||||
(prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
// printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb);
|
||||
}
|
||||
}
|
||||
|
||||
if ((frame_parms->frame_type == TDD) &&
|
||||
((subframe==1) || (subframe==6))) { //TDD Subframe 1-6
|
||||
if ((prb>((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(prb<((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb) ) {
|
||||
rb_alloc_ind = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (rb_alloc_ind == 1) {
|
||||
skip_half=0;
|
||||
|
||||
|
||||
//Check if we have to drop half a PRB due to PSS/SSS/PBCH
|
||||
// skip_half == 0 means full PRB
|
||||
// skip_half == 1 means first half is used (leftmost half-PRB from PSS/SSS/PBCH)
|
||||
@@ -3875,13 +3998,12 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
if (((frame_parms->frame_type == FDD) &&
|
||||
(((subframe==0)||(subframe==5)))) || //FDD Subframes 0,5
|
||||
((frame_parms->frame_type == TDD) &&
|
||||
(((subframe==2) || (subframe==6))))) { //TDD Subframes 2,6
|
||||
(((subframe==1) || (subframe==6))))) { //TDD Subframes 1,6
|
||||
|
||||
if ((prb==((frame_parms->N_RB_DL>>1)-3)) &&
|
||||
(l==pss_symb))
|
||||
skip_half=1;
|
||||
else if (((subframe==0)||(subframe==5)) &&
|
||||
(prb==((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
else if ((prb==((frame_parms->N_RB_DL>>1)+3)) &&
|
||||
(l==pss_symb))
|
||||
skip_half=2;
|
||||
}
|
||||
@@ -3901,9 +4023,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
rxF = &rxdataF[aarx][prb_off2+
|
||||
(symbol*(frame_parms->ofdm_symbol_size))];
|
||||
}
|
||||
|
||||
// printf("symbol %d / rb %d: alloc %d skip_half %d (rxF %p, rxF_ext %p) prb_off (%d,%d)\n",symbol,prb,rb_alloc_ind,skip_half,rxF,rxF_ext,prb_off,prb_off2);
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("symbol %d / rb %d: alloc %d skip_half %d (rxF %p, rxF_ext %p) prb_off (%d,%d)\n",symbol,prb,rb_alloc_ind,skip_half,rxF,rxF_ext,prb_off,prb_off2);
|
||||
#endif
|
||||
*pmi_loc = (pmi>>((prb>>2)<<1))&3;
|
||||
// printf("symbol_mod %d (pilots %d) rb %d, sb %d, pmi %d (pmi_loc %p,rxF %p, ch00 %p, ch01 %p, rxF_ext %p dl_ch0_ext %p dl_ch1_ext %p)\n",symbol_mod,pilots,rb,rb>>2,*pmi_loc,pmi_loc,rxF,dl_ch0, dl_ch1, rxF_ext,dl_ch0_ext,dl_ch1_ext);
|
||||
|
||||
@@ -3915,6 +4037,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
||||
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
||||
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
for (i=0;i<6;i++)
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
dl_ch0_ext+=6;
|
||||
dl_ch1_ext+=6;
|
||||
rxF_ext+=6;
|
||||
@@ -3922,6 +4048,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
memcpy(dl_ch0_ext,dl_ch0p+6,6*sizeof(int32_t));
|
||||
memcpy(dl_ch1_ext,dl_ch1p+6,6*sizeof(int32_t));
|
||||
memcpy(rxF_ext,rxF+6,6*sizeof(int32_t));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
for (i=0;i<6;i++)
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
dl_ch0_ext+=6;
|
||||
dl_ch1_ext+=6;
|
||||
rxF_ext+=6;
|
||||
@@ -3929,8 +4059,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
memcpy(dl_ch0_ext,dl_ch0p,12*sizeof(int32_t));
|
||||
memcpy(dl_ch1_ext,dl_ch1p,12*sizeof(int32_t));
|
||||
memcpy(rxF_ext,rxF,12*sizeof(int32_t));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
for (i=0;i<12;i++)
|
||||
// printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
#endif
|
||||
dl_ch0_ext+=12;
|
||||
dl_ch1_ext+=12;
|
||||
rxF_ext+=12;
|
||||
@@ -3943,7 +4075,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
if ((i!=frame_parms->nushift) &&
|
||||
(i!=((frame_parms->nushift+3)%6))) {
|
||||
rxF_ext[j]=rxF[i];
|
||||
// printf("(pilots,skip1)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("(pilots,skip1)extract rb %d, re %d (%d)=> (%d,%d)\n",prb,i,j,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j]=dl_ch0p[i];
|
||||
dl_ch1_ext[j++]=dl_ch1p[i];
|
||||
}
|
||||
@@ -3956,15 +4090,17 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
if ((i!=frame_parms->nushift) &&
|
||||
(i!=((frame_parms->nushift+3)%6))) {
|
||||
rxF_ext[j]=rxF[(i+6)];
|
||||
// printf("(pilots,skip2)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("(pilots,skip2)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j]=dl_ch0p[i+6];
|
||||
dl_ch1_ext[j++]=dl_ch1p[i+6];
|
||||
}
|
||||
|
||||
dl_ch0_ext+=4;
|
||||
dl_ch1_ext+=4;
|
||||
rxF_ext+=4;
|
||||
}
|
||||
dl_ch0_ext+=4;
|
||||
dl_ch1_ext+=4;
|
||||
rxF_ext+=4;
|
||||
|
||||
} else { //skip_half==0
|
||||
for (i=0; i<12; i++) {
|
||||
if ((i!=frame_parms->nushift) &&
|
||||
@@ -3972,7 +4108,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
(i!=frame_parms->nushift+6) &&
|
||||
(i!=((frame_parms->nushift+9)%12))) {
|
||||
rxF_ext[j]=rxF[i];
|
||||
// printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
|
||||
#endif
|
||||
dl_ch0_ext[j] =dl_ch0p[i];
|
||||
dl_ch1_ext[j++]=dl_ch1p[i];
|
||||
}
|
||||
@@ -3982,31 +4120,33 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
rxF_ext+=8;
|
||||
} //skip_half==0
|
||||
} //pilots==1
|
||||
nb_rb++;
|
||||
} else { // Do middle RB (around DC)
|
||||
|
||||
if (pilots==0) {
|
||||
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
||||
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
||||
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
|
||||
/*
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
for (i=0; i<6; i++) {
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
}*/
|
||||
}
|
||||
#endif
|
||||
rxF_ext+=6;
|
||||
dl_ch0_ext+=6;
|
||||
dl_ch1_ext+=6;
|
||||
dl_ch0p+=6;
|
||||
dl_ch1p+=6;
|
||||
|
||||
rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];
|
||||
rxF = &rxdataF[aarx][1+((symbol*(frame_parms->ofdm_symbol_size)))];
|
||||
|
||||
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
||||
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
||||
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
|
||||
/*for (i=0; i<6; i++) {
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
for (i=0; i<6; i++) {
|
||||
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||
}*/
|
||||
}
|
||||
#endif
|
||||
rxF_ext+=6;
|
||||
dl_ch0_ext+=6;
|
||||
dl_ch1_ext+=6;
|
||||
@@ -4019,18 +4159,22 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
dl_ch0_ext[j]=dl_ch0p[i];
|
||||
dl_ch1_ext[j]=dl_ch1p[i];
|
||||
rxF_ext[j++]=rxF[i];
|
||||
//printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[i],*(1+(short*)&rxF[i]));
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("(pilots)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF[i],*(1+(short*)&rxF[i]));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
rxF = &rxdataF[aarx][symbol*(frame_parms->ofdm_symbol_size)];
|
||||
rxF = &rxdataF[aarx][1+symbol*(frame_parms->ofdm_symbol_size)];
|
||||
|
||||
for (; i<12; i++) {
|
||||
if ((i!=((frame_parms->nushift+6)%12)) &&
|
||||
(i!=((frame_parms->nushift+9)%12))) {
|
||||
dl_ch0_ext[j]=dl_ch0p[i];
|
||||
dl_ch1_ext[j]=dl_ch1p[i];
|
||||
rxF_ext[j++]=rxF[(1+i-6)];
|
||||
//printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6]));
|
||||
rxF_ext[j++]=rxF[i-6];
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
printf("(pilots)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6]));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4038,7 +4182,6 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
||||
dl_ch1_ext+=8;
|
||||
rxF_ext+=8;
|
||||
} //pilots==1
|
||||
nb_rb++;
|
||||
} // if Middle PRB
|
||||
} // if odd PRB
|
||||
} // if rballoc==1
|
||||
@@ -4126,7 +4269,7 @@ void dump_dlsch2(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint16_t coded_bits_per
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_DLSCH_DEMOD
|
||||
|
||||
/*
|
||||
void print_bytes(char *s,__m128i *x)
|
||||
{
|
||||
|
||||
@@ -4164,5 +4307,5 @@ void print_ints(char *s,__m128i *x)
|
||||
printf("%s : %d,%d,%d,%d\n",s,
|
||||
tempb[0],tempb[1],tempb[2],tempb[3]);
|
||||
|
||||
}
|
||||
}*/
|
||||
#endif
|
||||
|
||||
@@ -662,16 +662,17 @@ int dlsch_qpsk_llr(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
|
||||
if ((symbol_mod==0) || (symbol_mod==(4-frame_parms->Ncp))) {
|
||||
if (frame_parms->mode1_flag==0)
|
||||
len = (nb_rb*8);// - (2*pbch_pss_sss_adjust/3);
|
||||
len = (nb_rb*8)- (2*pbch_pss_sss_adjust/3);
|
||||
else
|
||||
len = (nb_rb*10);// - (5*pbch_pss_sss_adjust/6);
|
||||
len = (nb_rb*10) - (5*pbch_pss_sss_adjust/6);
|
||||
} else {
|
||||
len = (nb_rb*12);// - pbch_pss_sss_adjust;
|
||||
len = (nb_rb*12) - pbch_pss_sss_adjust;
|
||||
}
|
||||
|
||||
// printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust);
|
||||
// printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust);
|
||||
for (i=0; i<len; i++) {
|
||||
*llr32 = *rxF;
|
||||
// printf("llr %d : (%d,%d)\n",i,((int16_t*)llr32)[0],((int16_t*)llr32)[1]);
|
||||
rxF++;
|
||||
llr32++;
|
||||
}
|
||||
|
||||
@@ -72,18 +72,21 @@ LTE_eNB_DLSCH_t *new_eNB_dlsch(uint8_t Kmimo,uint8_t Mdlharq,uint8_t N_RB_DL, ui
|
||||
*/
|
||||
void free_ue_dlsch(LTE_UE_DLSCH_t *dlsch);
|
||||
|
||||
LTE_eNB_ULSCH_t *new_eNB_ulsch(uint8_t Mdlharq,uint8_t max_turbo_iterations,uint8_t N_RB_UL, uint8_t abstraction_flag);
|
||||
|
||||
LTE_UE_DLSCH_t *new_ue_dlsch(uint8_t Kmimo,uint8_t Mdlharq,uint8_t max_turbo_iterations,uint8_t N_RB_DL, uint8_t abstraction_flag);
|
||||
|
||||
LTE_UE_ULSCH_t *new_ue_ulsch(unsigned char Mdlharq,unsigned char N_RB_UL, uint8_t abstraction_flag);
|
||||
|
||||
|
||||
void clean_eNb_ulsch(LTE_eNB_ULSCH_t *ulsch, uint8_t abstraction_flag);
|
||||
|
||||
void free_ue_ulsch(LTE_UE_ULSCH_t *ulsch);
|
||||
|
||||
LTE_eNB_ULSCH_t *new_eNB_ulsch(uint8_t Mdlharq,uint8_t max_turbo_iterations,uint8_t N_RB_UL, uint8_t abstraction_flag);
|
||||
|
||||
LTE_UE_ULSCH_t *new_ue_ulsch(uint8_t Mdlharq, unsigned char N_RB_UL, uint8_t abstraction_flag);
|
||||
|
||||
|
||||
|
||||
/** \fn dlsch_encoding(uint8_t *input_buffer,
|
||||
LTE_DL_FRAME_PARMS *frame_parms,
|
||||
uint8_t num_pdcch_symbols,
|
||||
@@ -1764,7 +1767,9 @@ double computeRhoB_UE(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated,
|
||||
LTE_UE_DLSCH_t *dlsch_ue);
|
||||
*/
|
||||
|
||||
uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms, uint8_t tdd_mapindex, uint16_t Nf);
|
||||
uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms, uint8_t tdd_mapindex, uint16_t Nf);
|
||||
|
||||
uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n);
|
||||
|
||||
/**@}*/
|
||||
#endif
|
||||
|
||||
@@ -326,7 +326,7 @@ int main(int argc, char **argv)
|
||||
uint32_t DLSCH_RB_ALLOC = 0x1fff;
|
||||
int numCCE=0;
|
||||
int dci_length_bytes=0,dci_length=0;
|
||||
double BW = 5.0;
|
||||
//double channel_bandwidth = 5.0, sampling_rate=7.68;
|
||||
int common_flag=0,TPC=0;
|
||||
|
||||
double cpu_freq_GHz;
|
||||
@@ -680,27 +680,19 @@ int main(int argc, char **argv)
|
||||
switch (N_RB_DL) {
|
||||
case 6:
|
||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x3f;
|
||||
|
||||
BW = 1.25;
|
||||
num_pdcch_symbols = 3;
|
||||
break;
|
||||
|
||||
case 25:
|
||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x1fff;
|
||||
|
||||
BW = 5.00;
|
||||
break;
|
||||
|
||||
case 50:
|
||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffff;
|
||||
|
||||
BW = 10.00;
|
||||
break;
|
||||
|
||||
case 100:
|
||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffffff;
|
||||
|
||||
BW = 20.00;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -708,8 +700,6 @@ int main(int argc, char **argv)
|
||||
} else
|
||||
NB_RB = 4;
|
||||
|
||||
NB_RB=conv_nprb(0,DLSCH_RB_ALLOC,N_RB_DL);
|
||||
|
||||
if ((transmission_mode > 1) && (n_tx != 2))
|
||||
printf("n_tx must be >1 for transmission_mode %d\n",transmission_mode);
|
||||
|
||||
@@ -777,6 +767,10 @@ int main(int argc, char **argv)
|
||||
sprintf(bler_fname,"bler_tx%d_chan%d_nrx%d_mcs%d.csv",transmission_mode,channel_model,n_rx,mcs1);
|
||||
|
||||
bler_fd = fopen(bler_fname,"w");
|
||||
if (bler_fd==NULL) {
|
||||
fprintf(stderr,"Cannot create file %s!\n",bler_fname);
|
||||
exit(-1);
|
||||
}
|
||||
fprintf(bler_fd,"SNR; MCS; TBS; rate; err0; trials0; err1; trials1; err2; trials2; err3; trials3; dci_err\n");
|
||||
|
||||
if (test_perf != 0) {
|
||||
@@ -784,12 +778,16 @@ int main(int argc, char **argv)
|
||||
hostname[1023] = '\0';
|
||||
gethostname(hostname, 1023);
|
||||
printf("Hostname: %s\n", hostname);
|
||||
char dirname[FILENAME_MAX];
|
||||
sprintf(dirname, "%s/SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname );
|
||||
sprintf(time_meas_fname,"%s/time_meas_prb%d_mcs%d_anttx%d_antrx%d_pdcch%d_channel%s_tx%d.csv",
|
||||
dirname,N_RB_DL,mcs1,n_tx,n_rx,num_pdcch_symbols,channel_model_input,transmission_mode);
|
||||
mkdir(dirname,0777);
|
||||
//char dirname[FILENAME_MAX];
|
||||
//sprintf(dirname, "%s/SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname );
|
||||
sprintf(time_meas_fname,"time_meas_prb%d_mcs%d_anttx%d_antrx%d_pdcch%d_channel%s_tx%d.csv",
|
||||
N_RB_DL,mcs1,n_tx,n_rx,num_pdcch_symbols,channel_model_input,transmission_mode);
|
||||
//mkdir(dirname,0777);
|
||||
time_meas_fd = fopen(time_meas_fname,"w");
|
||||
if (time_meas_fd==NULL) {
|
||||
fprintf(stderr,"Cannot create file %s!\n",time_meas_fname);
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
if(abstx) {
|
||||
@@ -797,6 +795,10 @@ int main(int argc, char **argv)
|
||||
sprintf(csv_fname,"dataout_tx%d_u2%d_mcs%d_chan%d_nsimus%d_R%d.m",transmission_mode,dual_stream_UE,mcs1,channel_model,n_frames,num_rounds);
|
||||
csv_fd = fopen(csv_fname,"w");
|
||||
fprintf(csv_fd,"data_all%d=[",mcs1);
|
||||
if (csv_fd==NULL) {
|
||||
fprintf(stderr,"Cannot create file %s!\n",csv_fname);
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -955,7 +957,8 @@ int main(int argc, char **argv)
|
||||
eNB2UE[0] = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
forgetting_factor,
|
||||
rx_sample_offset,
|
||||
0);
|
||||
@@ -965,8 +968,9 @@ int main(int argc, char **argv)
|
||||
eNB2UE[n] = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
forgetting_factor,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
forgetting_factor,
|
||||
rx_sample_offset,
|
||||
0);
|
||||
}
|
||||
@@ -2777,7 +2781,7 @@ PMI_FEEDBACK:
|
||||
|
||||
// Multipath channel
|
||||
if (awgn_flag == 0) {
|
||||
multipath_channel(eNB2UE[0],s_re,s_im,r_re,r_im,
|
||||
multipath_channel(eNB2UE[round],s_re,s_im,r_re,r_im,
|
||||
2*frame_parms->samples_per_tti,hold_channel);
|
||||
|
||||
// printf("amc: ****************** eNB2UE[%d]->n_rx = %d,dd %d\n",round,eNB2UE[round]->nb_rx,eNB2UE[round]->channel_offset);
|
||||
|
||||
@@ -54,8 +54,6 @@
|
||||
|
||||
#include "OCG_vars.h"
|
||||
|
||||
//#define BW 5.0
|
||||
|
||||
|
||||
PHY_VARS_eNB *PHY_vars_eNB;
|
||||
PHY_VARS_UE *PHY_vars_UE;
|
||||
@@ -131,7 +129,7 @@ int main(int argc, char **argv)
|
||||
|
||||
char c;
|
||||
|
||||
int i,l,aa,aarx;
|
||||
int i,l,aa,aarx,k;
|
||||
double sigma2, sigma2_dB=0,SNR,snr0=-2.0,snr1=0.0;
|
||||
uint8_t snr1set=0;
|
||||
double snr_step=1,input_snr_step=1;
|
||||
@@ -172,7 +170,6 @@ int main(int argc, char **argv)
|
||||
unsigned int trials,errs[4]= {0,0,0,0}; //,round_trials[4]={0,0,0,0};
|
||||
|
||||
uint8_t N_RB_DL=25,osf=1;
|
||||
double BW=5.0;
|
||||
uint32_t perfect_ce = 0;
|
||||
|
||||
lte_frame_type_t frame_type = FDD;
|
||||
@@ -255,27 +252,9 @@ int main(int argc, char **argv)
|
||||
case 'R':
|
||||
N_RB_DL = atoi(optarg);
|
||||
|
||||
switch (N_RB_DL) {
|
||||
case 6:
|
||||
BW=1.25;
|
||||
break;
|
||||
|
||||
case 25:
|
||||
BW=5.0;
|
||||
break;
|
||||
|
||||
case 50:
|
||||
BW=10.0;
|
||||
break;
|
||||
|
||||
case 100:
|
||||
BW=20.0;
|
||||
break;
|
||||
|
||||
default:
|
||||
if ((N_RB_DL!=6) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=100)) {
|
||||
printf("Unsupported Bandwidth %d\n",N_RB_DL);
|
||||
exit(-1);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -397,7 +376,8 @@ int main(int argc, char **argv)
|
||||
eNB2UE = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
0,
|
||||
0,
|
||||
0);
|
||||
@@ -541,15 +521,26 @@ int main(int argc, char **argv)
|
||||
subframe%10,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
|
||||
for (l=2; l<12; l++) {
|
||||
rx_pmch(PHY_vars_UE,
|
||||
|
||||
if (PHY_vars_UE->perfect_ce==1) {
|
||||
// fill in perfect channel estimates
|
||||
freq_channel(eNB2UE,PHY_vars_UE->lte_frame_parms.N_RB_DL,12*PHY_vars_UE->lte_frame_parms.N_RB_DL + 1);
|
||||
for(k=0; k<NUMBER_OF_eNB_MAX; k++) {
|
||||
for(aa=0; aa<frame_parms->nb_antennas_tx; aa++) {
|
||||
for (aarx=0; aarx<frame_parms->nb_antennas_rx; aarx++) {
|
||||
for (i=0; i<frame_parms->N_RB_DL*12; i++) {
|
||||
((int16_t *) PHY_vars_UE->lte_ue_common_vars.dl_ch_estimates[k][(aa<<1)+aarx])[2*i+(l*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(int16_t)(eNB2UE->chF[aarx+(aa*frame_parms->nb_antennas_rx)][i].x*AMP);
|
||||
((int16_t *) PHY_vars_UE->lte_ue_common_vars.dl_ch_estimates[k][(aa<<1)+aarx])[2*i+1+(l*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(int16_t)(eNB2UE->chF[aarx+(aa*frame_parms->nb_antennas_rx)][i].y*AMP);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rx_pmch(PHY_vars_UE,
|
||||
0,
|
||||
subframe%10,
|
||||
l);
|
||||
|
||||
|
||||
}
|
||||
|
||||
PHY_vars_UE->dlsch_ue_MCH[0]->harq_processes[0]->G = get_G(&PHY_vars_UE->lte_frame_parms,
|
||||
|
||||
@@ -53,9 +53,6 @@
|
||||
|
||||
#include "OCG_vars.h"
|
||||
|
||||
#define BW 5.0
|
||||
|
||||
|
||||
PHY_VARS_eNB *PHY_vars_eNb,*PHY_vars_eNb1,*PHY_vars_eNb2;
|
||||
PHY_VARS_UE *PHY_vars_UE;
|
||||
|
||||
@@ -485,7 +482,8 @@ int main(int argc, char **argv)
|
||||
eNB2UE = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNb->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNb->lte_frame_parms.N_RB_DL),
|
||||
0,
|
||||
0,
|
||||
0);
|
||||
@@ -494,7 +492,8 @@ int main(int argc, char **argv)
|
||||
eNB2UE1 = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNb->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNb->lte_frame_parms.N_RB_DL),
|
||||
0,
|
||||
4,
|
||||
0);
|
||||
@@ -503,7 +502,8 @@ int main(int argc, char **argv)
|
||||
eNB2UE2 = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNb->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNb->lte_frame_parms.N_RB_DL),
|
||||
0,
|
||||
8,
|
||||
0);
|
||||
|
||||
@@ -552,7 +552,6 @@ int main(int argc, char **argv)
|
||||
uint32_t *txptr;
|
||||
int aarx;
|
||||
int k;
|
||||
double BW=5.0;
|
||||
uint32_t perfect_ce = 0;
|
||||
|
||||
number_of_cards = 1;
|
||||
@@ -840,28 +839,11 @@ int main(int argc, char **argv)
|
||||
subframe,NUMBER_OF_OFDM_CARRIERS,
|
||||
PHY_vars_eNB->lte_frame_parms.Ncp,PHY_vars_eNB->lte_frame_parms.samples_per_tti,nsymb);
|
||||
|
||||
switch (N_RB_DL) {
|
||||
case 6:
|
||||
BW = 1.25;
|
||||
break;
|
||||
|
||||
case 25:
|
||||
BW = 5.00;
|
||||
break;
|
||||
|
||||
case 50:
|
||||
BW = 10.00;
|
||||
break;
|
||||
|
||||
case 100:
|
||||
BW = 20.00;
|
||||
break;
|
||||
}
|
||||
|
||||
eNB2UE = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx_eNB,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||
0,
|
||||
0,
|
||||
0);
|
||||
|
||||
@@ -47,8 +47,6 @@
|
||||
|
||||
#include "OCG_vars.h"
|
||||
|
||||
#define BW 5.0
|
||||
|
||||
int current_dlsch_cqi; //FIXME!
|
||||
|
||||
PHY_VARS_eNB *PHY_vars_eNB;
|
||||
@@ -412,7 +410,8 @@ int main(int argc, char **argv)
|
||||
UE2eNB = new_channel_desc_scm(PHY_vars_UE->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_eNB->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_UL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_UL),
|
||||
0.0,
|
||||
delay,
|
||||
0);
|
||||
|
||||
@@ -49,8 +49,6 @@
|
||||
#include "OCG_vars.h"
|
||||
#include "UTIL/LOG/log_extern.h"
|
||||
|
||||
#define BW 5.0
|
||||
|
||||
int current_dlsch_cqi; //FIXME!
|
||||
|
||||
PHY_VARS_eNB *PHY_vars_eNB;
|
||||
@@ -418,7 +416,8 @@ int main(int argc, char **argv)
|
||||
UE2eNB = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_UL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_UL),
|
||||
0.0,
|
||||
0,
|
||||
0);
|
||||
|
||||
@@ -58,23 +58,11 @@
|
||||
|
||||
extern unsigned short dftsizes[33];
|
||||
extern short *ul_ref_sigs[30][2][33];
|
||||
//#define AWGN
|
||||
//#define NO_DCI
|
||||
|
||||
#define BW 7.68
|
||||
//#define ABSTRACTION
|
||||
//#define PERFECT_CE
|
||||
|
||||
/*
|
||||
#define RBmask0 0x00fc00fc
|
||||
#define RBmask1 0x0
|
||||
#define RBmask2 0x0
|
||||
#define RBmask3 0x0
|
||||
*/
|
||||
PHY_VARS_eNB *PHY_vars_eNB;
|
||||
PHY_VARS_UE *PHY_vars_UE;
|
||||
|
||||
#define MCS_COUNT 23//added for PHY abstraction
|
||||
//#define MCS_COUNT 23//added for PHY abstraction
|
||||
|
||||
channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX];
|
||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX];
|
||||
@@ -155,11 +143,6 @@ void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmi
|
||||
|
||||
|
||||
|
||||
#define UL_RB_ALLOC 0x1ff;
|
||||
|
||||
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
|
||||
@@ -172,8 +155,6 @@ int main(int argc, char **argv)
|
||||
double input_snr_step=.2,snr_int=30;
|
||||
double blerr;
|
||||
|
||||
//int **txdataF, **txdata;
|
||||
|
||||
int **txdata;
|
||||
|
||||
LTE_DL_FRAME_PARMS *frame_parms;
|
||||
@@ -214,6 +195,7 @@ int main(int argc, char **argv)
|
||||
// FILE *rx_frame_file;
|
||||
FILE *csv_fdUL=NULL;
|
||||
|
||||
/*
|
||||
FILE *fperen=NULL;
|
||||
char fperen_name[512];
|
||||
|
||||
@@ -222,6 +204,7 @@ int main(int argc, char **argv)
|
||||
|
||||
FILE *flogeren=NULL;
|
||||
char flogeren_name[512];
|
||||
*/
|
||||
|
||||
/* FILE *ftxlev;
|
||||
char ftxlev_name[512];
|
||||
@@ -598,6 +581,7 @@ int main(int argc, char **argv)
|
||||
time_meas_fd = fopen(time_meas_fname,"w");
|
||||
}
|
||||
|
||||
/*
|
||||
if(abstx) {
|
||||
sprintf(fperen_name,"ULchan_estims_F_mcs%d_rb%d_chanMod%d_nframes%d_chanReal%d.m",mcs,nb_rb,chMod,n_frames,n_ch_rlz);
|
||||
fperen = fopen(fperen_name,"a+");
|
||||
@@ -614,6 +598,7 @@ int main(int argc, char **argv)
|
||||
fprintf(flogeren,"mag_f = [");
|
||||
fclose(flogeren);
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
sprintf(ftxlev_name,"txlevel_mcs%d_rb%d_chanMod%d_nframes%d_chanReal%d.m",mcs,nb_rb,chMod,n_frames,n_ch_rlz);
|
||||
@@ -626,6 +611,10 @@ int main(int argc, char **argv)
|
||||
// CSV file
|
||||
sprintf(csv_fname,"EULdataout_tx%d_mcs%d_nbrb%d_chan%d_nsimus%d_eren.m",transmission_mode,mcs,nb_rb,chMod,n_frames);
|
||||
csv_fdUL = fopen(csv_fname,"w");
|
||||
if (csv_fdUL == NULL) {
|
||||
fprintf(stderr,"Problem opening file %s\n",csv_fname);
|
||||
exit(-1);
|
||||
}
|
||||
fprintf(csv_fdUL,"data_all%d=[",mcs);
|
||||
}
|
||||
|
||||
@@ -680,7 +669,8 @@ int main(int argc, char **argv)
|
||||
UE2eNB = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||
channel_model,
|
||||
BW,
|
||||
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_UL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_UL),
|
||||
forgetting_factor,
|
||||
delay,
|
||||
0);
|
||||
@@ -1270,11 +1260,13 @@ int main(int argc, char **argv)
|
||||
|
||||
PHY_vars_eNB->ulsch_eNB[0]->cyclicShift = cyclic_shift;// cyclic shift for DMRS
|
||||
|
||||
/*
|
||||
if(abstx) {
|
||||
namepointer_log2 = &flogeren_name;
|
||||
namepointer_chMag = &fmageren_name;
|
||||
//namepointer_txlev = &ftxlev;
|
||||
}
|
||||
*/
|
||||
|
||||
start_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
|
||||
rx_ulsch(PHY_vars_eNB,
|
||||
@@ -1285,6 +1277,7 @@ int main(int argc, char **argv)
|
||||
cooperation_flag);
|
||||
stop_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
|
||||
|
||||
/*
|
||||
if(abstx) {
|
||||
namepointer_chMag = NULL;
|
||||
|
||||
@@ -1296,8 +1289,7 @@ int main(int argc, char **argv)
|
||||
// flagMag = 1;
|
||||
}
|
||||
}
|
||||
|
||||
///////
|
||||
*/
|
||||
|
||||
start_meas(&PHY_vars_eNB->ulsch_decoding_stats);
|
||||
ret= ulsch_decoding(PHY_vars_eNB,
|
||||
@@ -1816,6 +1808,7 @@ int main(int argc, char **argv)
|
||||
|
||||
}//ch realization
|
||||
|
||||
/*
|
||||
if(abstx) {
|
||||
fperen = fopen(fperen_name,"a+");
|
||||
fprintf(fperen,"];\n");
|
||||
@@ -1829,6 +1822,7 @@ int main(int argc, char **argv)
|
||||
fprintf(flogeren,"];\n");
|
||||
fclose(flogeren);
|
||||
}
|
||||
*/
|
||||
|
||||
// ftxlev = fopen(ftxlev_name,"a+");
|
||||
//fprintf(ftxlev,"];\n");
|
||||
|
||||
@@ -73,7 +73,7 @@ void init_freq_channel(channel_desc_t *desc,uint16_t nb_rb,int16_t n_samples)
|
||||
if (desc->nb_taps==1)
|
||||
delay = desc->delays[l];
|
||||
else
|
||||
delay = desc->delays[l]+NB_SAMPLES_CHANNEL_OFFSET/desc->BW;
|
||||
delay = desc->delays[l]+NB_SAMPLES_CHANNEL_OFFSET/desc->sampling_rate;
|
||||
|
||||
cos_lut[f+(n_samples>>1)][l] = cos(2*M_PI*freq*delay);
|
||||
sin_lut[f+(n_samples>>1)][l] = sin(2*M_PI*freq*delay);
|
||||
|
||||
@@ -69,7 +69,9 @@ typedef struct {
|
||||
///Maximum path delay in mus.
|
||||
double Td;
|
||||
///Channel bandwidth in MHz.
|
||||
double BW;
|
||||
double channel_bandwidth;
|
||||
///System sampling rate in Msps.
|
||||
double sampling_rate;
|
||||
///Ricean factor of first tap wrt other taps (0..1, where 0 means AWGN and 1 means Rayleigh channel).
|
||||
double ricean_factor;
|
||||
///Angle of arrival of wavefront (in radians). For Ricean channel only. This assumes that both RX and TX have linear antenna arrays with lambda/2 antenna spacing. Furhter it is assumed that the arrays are parallel to each other and that they are far enough apart so that we can safely assume plane wave propagation.
|
||||
@@ -202,7 +204,8 @@ typedef enum {
|
||||
channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
uint8_t nb_rx,
|
||||
SCM_t channel_model,
|
||||
double BW,
|
||||
double sampling_rate,
|
||||
double channel_bandwidth,
|
||||
double forgetting_factor,
|
||||
int32_t channel_offset,
|
||||
double path_loss_dB);
|
||||
@@ -364,6 +367,10 @@ void multipath_tv_channel(channel_desc_t *desc,
|
||||
|
||||
/**@} */
|
||||
/**@} */
|
||||
|
||||
double N_RB2sampling_rate(uint16_t N_RB);
|
||||
double N_RB2channel_bandwidth(uint16_t N_RB);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -175,13 +175,13 @@ void tv_channel(channel_desc_t *desc,double complex ***H,uint16_t length)
|
||||
{
|
||||
for(p=0;p<desc->nb_paths;p++)
|
||||
{
|
||||
H[i][j] += sqrt(desc->amps[j]/2)*alpha[p]*cexp(-I*(2*pi*w_Hz[p]*i*(1/(desc->BW*1e6))+phi_rad[p]));
|
||||
H[i][j] += sqrt(desc->amps[j]/2)*alpha[p]*cexp(-I*(2*pi*w_Hz[p]*i*(1/(desc->sampling_rate*1e6))+phi_rad[p]));
|
||||
}
|
||||
}
|
||||
}
|
||||
for(j=0;j<desc->nb_paths;j++)
|
||||
{
|
||||
phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->BW)+phi_rad[j],2*pi);
|
||||
phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->sampling_rate)+phi_rad[j],2*pi);
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -193,13 +193,13 @@ void tv_channel(channel_desc_t *desc,double complex ***H,uint16_t length)
|
||||
H[i+(j*desc->nb_rx)][k][l] = 0;
|
||||
|
||||
for(p=0; p<desc->nb_paths; p++) {
|
||||
H[i+(j*desc->nb_rx)][k][l] += sqrt(desc->amps[l]/2)*alpha[p]*cexp(I*(2*pi*w_Hz[p]*k*(1/(desc->BW*1e6))+phi_rad[p]));
|
||||
H[i+(j*desc->nb_rx)][k][l] += sqrt(desc->amps[l]/2)*alpha[p]*cexp(I*(2*pi*w_Hz[p]*k*(1/(desc->sampling_rate*1e6))+phi_rad[p]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(j=0; j<desc->nb_paths; j++) {
|
||||
phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->BW)+phi_rad[j],2*pi);
|
||||
phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->sampling_rate)+phi_rad[j],2*pi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,8 @@ void fill_channel_desc(channel_desc_t *chan_desc,
|
||||
double *delays,
|
||||
struct complex** R_sqrt,
|
||||
double Td,
|
||||
double BW,
|
||||
double sampling_rate,
|
||||
double channel_bandwidth,
|
||||
double ricean_factor,
|
||||
double aoa,
|
||||
double forgetting_factor,
|
||||
@@ -81,7 +82,8 @@ void fill_channel_desc(channel_desc_t *chan_desc,
|
||||
chan_desc->delays = delays;
|
||||
|
||||
chan_desc->Td = Td;
|
||||
chan_desc->BW = BW;
|
||||
chan_desc->sampling_rate = sampling_rate;
|
||||
chan_desc->channel_bandwidth = channel_bandwidth;
|
||||
chan_desc->ricean_factor = ricean_factor;
|
||||
chan_desc->aoa = aoa;
|
||||
chan_desc->random_aoa = random_aoa;
|
||||
@@ -195,7 +197,8 @@ struct complex **R_sqrt_ptr2;
|
||||
channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
uint8_t nb_rx,
|
||||
SCM_t channel_model,
|
||||
double BW,
|
||||
double sampling_rate,
|
||||
double channel_bandwidth,
|
||||
double forgetting_factor,
|
||||
int32_t channel_offset,
|
||||
double path_loss_dB)
|
||||
@@ -209,7 +212,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
|
||||
chan_desc->nb_tx = nb_tx;
|
||||
chan_desc->nb_rx = nb_rx;
|
||||
chan_desc->BW = BW;
|
||||
chan_desc->sampling_rate = sampling_rate;
|
||||
chan_desc->channel_bandwidth = channel_bandwidth;
|
||||
chan_desc->forgetting_factor = forgetting_factor;
|
||||
chan_desc->channel_offset = channel_offset;
|
||||
chan_desc->path_loss_dB = path_loss_dB;
|
||||
@@ -232,7 +236,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case SCM_C:
|
||||
chan_desc->nb_taps = 18;
|
||||
chan_desc->Td = 4.625;
|
||||
chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td));
|
||||
chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td));
|
||||
sum_amps = 0;
|
||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
||||
|
||||
@@ -291,7 +295,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
LOG_W(OCM,"This is not the real SCM-D model! It is just SCM-C with an additional Rice factor!\n");
|
||||
chan_desc->nb_taps = 18;
|
||||
chan_desc->Td = 4.625;
|
||||
chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td));
|
||||
chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td));
|
||||
sum_amps = 0;
|
||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
||||
|
||||
@@ -349,7 +353,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case EPA:
|
||||
chan_desc->nb_taps = 7;
|
||||
chan_desc->Td = .410;
|
||||
chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td));
|
||||
chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td));
|
||||
sum_amps = 0;
|
||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
||||
|
||||
@@ -403,7 +407,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case EVA:
|
||||
chan_desc->nb_taps = 9;
|
||||
chan_desc->Td = 2.51;
|
||||
chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td));
|
||||
chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td));
|
||||
sum_amps = 0;
|
||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
||||
|
||||
@@ -457,7 +461,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case ETU:
|
||||
chan_desc->nb_taps = 9;
|
||||
chan_desc->Td = 5.0;
|
||||
chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td));
|
||||
chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td));
|
||||
sum_amps = 0;
|
||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
||||
|
||||
@@ -511,7 +515,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case MBSFN:
|
||||
chan_desc->nb_taps = 18;
|
||||
chan_desc->Td = 28.58;
|
||||
chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td));
|
||||
chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td));
|
||||
sum_amps = 0;
|
||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
||||
|
||||
@@ -558,7 +562,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case Rayleigh8:
|
||||
nb_taps = 8;
|
||||
Td = 0.8;
|
||||
channel_length = (int)11+2*BW*Td;
|
||||
channel_length = (int)11+2*sampling_rate*Td;
|
||||
ricean_factor = 1;
|
||||
aoa = .03;
|
||||
maxDoppler = 0;
|
||||
@@ -572,7 +576,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
NULL,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -585,7 +590,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
case Rice8:
|
||||
nb_taps = 8;
|
||||
Td = 0.8;
|
||||
channel_length = (int)11+2*BW*Td;
|
||||
channel_length = (int)11+2*sampling_rate*Td;
|
||||
ricean_factor = 0.1;
|
||||
aoa = .03;
|
||||
maxDoppler = 0;
|
||||
@@ -598,7 +603,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
NULL,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -624,7 +630,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
NULL,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -650,7 +657,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
NULL,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -683,7 +691,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
R_sqrt_ptr2,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -716,7 +725,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
R_sqrt_ptr2,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -742,7 +752,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
NULL,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -768,7 +779,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
NULL,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -803,7 +815,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
R_sqrt_ptr2,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -836,7 +849,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||
NULL,
|
||||
R_sqrt_ptr2,
|
||||
Td,
|
||||
BW,
|
||||
sampling_rate,
|
||||
channel_bandwidth,
|
||||
ricean_factor,
|
||||
aoa,
|
||||
forgetting_factor,
|
||||
@@ -985,11 +999,11 @@ int random_channel(channel_desc_t *desc, uint8_t abstraction_flag)
|
||||
desc->ch[aarx+(aatx*desc->nb_rx)][k].y = 0.0;
|
||||
|
||||
for (l=0; l<desc->nb_taps; l++) {
|
||||
if ((k - (desc->delays[l]*desc->BW) - NB_SAMPLES_CHANNEL_OFFSET) == 0)
|
||||
if ((k - (desc->delays[l]*desc->sampling_rate) - NB_SAMPLES_CHANNEL_OFFSET) == 0)
|
||||
s = 1.0;
|
||||
else
|
||||
s = sin(M_PI*(k - (desc->delays[l]*desc->BW) - NB_SAMPLES_CHANNEL_OFFSET))/
|
||||
(M_PI*(k - (desc->delays[l]*desc->BW) - NB_SAMPLES_CHANNEL_OFFSET));
|
||||
s = sin(M_PI*(k - (desc->delays[l]*desc->sampling_rate) - NB_SAMPLES_CHANNEL_OFFSET))/
|
||||
(M_PI*(k - (desc->delays[l]*desc->sampling_rate) - NB_SAMPLES_CHANNEL_OFFSET));
|
||||
|
||||
desc->ch[aarx+(aatx*desc->nb_rx)][k].x += s*desc->a[l][aarx+(aatx*desc->nb_rx)].x;
|
||||
desc->ch[aarx+(aatx*desc->nb_rx)][k].y += s*desc->a[l][aarx+(aatx*desc->nb_rx)].y;
|
||||
@@ -1014,22 +1028,77 @@ int random_channel(channel_desc_t *desc, uint8_t abstraction_flag)
|
||||
return (0);
|
||||
}
|
||||
|
||||
double N_RB2sampling_rate(uint16_t N_RB)
|
||||
{
|
||||
double sampling_rate;
|
||||
switch (N_RB) {
|
||||
case 6:
|
||||
sampling_rate = 1.92;
|
||||
break;
|
||||
|
||||
case 25:
|
||||
sampling_rate = 7.68;
|
||||
break;
|
||||
|
||||
case 50:
|
||||
sampling_rate = 15.36;
|
||||
break;
|
||||
|
||||
case 100:
|
||||
sampling_rate = 30.72;
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(PHY,"Unknown N_PRB\n");
|
||||
return(-1);
|
||||
}
|
||||
|
||||
return(sampling_rate);
|
||||
}
|
||||
|
||||
double N_RB2channel_bandwidth(uint16_t N_RB)
|
||||
{
|
||||
double channel_bandwidth;
|
||||
switch (N_RB) {
|
||||
case 6:
|
||||
channel_bandwidth = 1.25;
|
||||
break;
|
||||
|
||||
case 25:
|
||||
channel_bandwidth = 5.00;
|
||||
break;
|
||||
|
||||
case 50:
|
||||
channel_bandwidth = 10.00;
|
||||
break;
|
||||
|
||||
case 100:
|
||||
channel_bandwidth = 20.00;
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(PHY,"Unknown N_PRB\n");
|
||||
return(-1);
|
||||
}
|
||||
return(channel_bandwidth);
|
||||
}
|
||||
|
||||
#ifdef RANDOM_CHANNEL_MAIN
|
||||
#define BW 5.0
|
||||
#define sampling_rate 5.0
|
||||
#define Td 2.0
|
||||
main(int argc,char **argv)
|
||||
{
|
||||
|
||||
double amps[8] = {.8,.2,.1,.04,.02,.01,.005};
|
||||
struct complex ch[(int)(1+2*BW*Td)],phase;
|
||||
struct complex ch[(int)(1+2*sampling_rate*Td)],phase;
|
||||
int i;
|
||||
|
||||
randominit();
|
||||
phase.x = 1.0;
|
||||
phase.y = 0;
|
||||
random_channel(amps,Td, 8,BW,ch,(double)1.0,&phase);
|
||||
random_channel(amps,Td, 8,sampling_rate,ch,(double)1.0,&phase);
|
||||
/*
|
||||
for (i=0;i<(11+2*BW*Td);i++){
|
||||
for (i=0;i<(11+2*sampling_rate*Td);i++){
|
||||
printf("%f + sqrt(-1)*%f\n",ch[i].x,ch[i].y);
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -42,9 +42,9 @@ static
|
||||
void do_kdf(uint8_t *key, unsigned key_length, uint8_t *data, unsigned data_length,
|
||||
uint8_t *exp, unsigned exp_length)
|
||||
{
|
||||
uint8_t *result;
|
||||
uint8_t result[32];
|
||||
|
||||
kdf(key, key_length, data, data_length, &result, 32);
|
||||
kdf(key, key_length, data, data_length, result, 32);
|
||||
|
||||
if (compare_buffer(result, exp_length, exp, exp_length) != 0) {
|
||||
fail("Fail: kdf\n");
|
||||
|
||||
@@ -39,15 +39,15 @@ static
|
||||
void do_derive_kenb(uint32_t nas_count, const uint8_t *kasme, const unsigned length,
|
||||
const uint8_t *kenb_exp)
|
||||
{
|
||||
uint8_t *kenb;
|
||||
uint8_t kenb[32];
|
||||
|
||||
derive_keNB(kasme, nas_count, &kenb);
|
||||
memset(kenb, 0, sizeof(kenb));
|
||||
derive_keNB(kasme, nas_count, kenb);
|
||||
|
||||
if (compare_buffer(kenb_exp, length, kenb, length) != 0) {
|
||||
fail("Fail: kenb derivation\n");
|
||||
}
|
||||
|
||||
free(kenb);
|
||||
}
|
||||
|
||||
void doit (void)
|
||||
|
||||
@@ -39,21 +39,23 @@ static
|
||||
void derive_knas_keys(algorithm_type_dist_t atd, uint8_t *kasme, unsigned length,
|
||||
uint8_t *knas_enc_exp, uint8_t *knas_int_exp)
|
||||
{
|
||||
uint8_t *knas_enc;
|
||||
uint8_t *knas_int;
|
||||
uint8_t *knas_enc = NULL;
|
||||
uint8_t *knas_int = NULL;
|
||||
|
||||
derive_key_nas_enc(atd, kasme, &knas_enc);
|
||||
derive_key_nas_int(atd, kasme, &knas_int);
|
||||
knas_enc = calloc(1, 32);
|
||||
knas_int = calloc(1, 32);
|
||||
|
||||
derive_key_nas_enc(atd, kasme, knas_enc);
|
||||
derive_key_nas_int(atd, kasme, knas_int);
|
||||
|
||||
/* Compare both keys with expected */
|
||||
if (compare_buffer(knas_enc, 32, knas_enc_exp, 32) != 0) {
|
||||
if (compare_buffer(knas_enc, 16, &knas_enc_exp[16], 16) != 0) {
|
||||
fail("Fail: knas_enc derivation\n");
|
||||
}
|
||||
|
||||
if (compare_buffer(knas_int, 32, knas_int_exp, 32) != 0) {
|
||||
if (compare_buffer(knas_int, 16, &knas_int_exp[16], 16) != 0) {
|
||||
fail("Fail: knas_int derivation\n");
|
||||
}
|
||||
|
||||
free(knas_enc);
|
||||
free(knas_int);
|
||||
}
|
||||
|
||||
@@ -40,14 +40,15 @@ void eea1_encrypt(uint8_t direction, uint32_t count,
|
||||
uint8_t bearer, uint8_t *key, uint32_t key_length, uint8_t *message,
|
||||
uint32_t length, uint8_t *expected)
|
||||
{
|
||||
nas_stream_cipher_t *nas_cipher;
|
||||
uint8_t *result;
|
||||
uint32_t zero_bits = length & 7;
|
||||
uint32_t byte_length = length >> 3;
|
||||
nas_stream_cipher_t *nas_cipher = NULL;
|
||||
uint8_t *result = NULL;
|
||||
uint32_t zero_bits = length & 7;
|
||||
uint32_t byte_length = length >> 3;
|
||||
|
||||
if (zero_bits > 0)
|
||||
byte_length += 1;
|
||||
|
||||
result = calloc(1, byte_length);
|
||||
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
|
||||
|
||||
nas_cipher->direction = direction;
|
||||
@@ -58,7 +59,7 @@ void eea1_encrypt(uint8_t direction, uint32_t count,
|
||||
nas_cipher->blength = length;
|
||||
nas_cipher->message = message;
|
||||
|
||||
if (nas_stream_encrypt_eea1(nas_cipher, &result) != 0)
|
||||
if (nas_stream_encrypt_eea1(nas_cipher, result) != 0)
|
||||
fail("Fail: nas_stream_encrypt_eea1\n");
|
||||
|
||||
if (compare_buffer(result, byte_length, expected, byte_length) != 0) {
|
||||
|
||||
@@ -40,14 +40,15 @@ void eea2_encrypt(uint8_t direction, uint32_t count,
|
||||
uint8_t bearer, uint8_t *key, uint32_t key_length, uint8_t *message,
|
||||
uint32_t length, uint8_t *expected)
|
||||
{
|
||||
nas_stream_cipher_t *nas_cipher;
|
||||
uint8_t *result;
|
||||
uint32_t zero_bits = length & 7;
|
||||
uint32_t byte_length = length >> 3;
|
||||
nas_stream_cipher_t *nas_cipher = NULL;
|
||||
uint8_t *result = NULL;
|
||||
uint32_t zero_bits = length & 7;
|
||||
uint32_t byte_length = length >> 3;
|
||||
|
||||
if (zero_bits > 0)
|
||||
byte_length += 1;
|
||||
|
||||
result = calloc(1, byte_length);
|
||||
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
|
||||
|
||||
nas_cipher->direction = direction;
|
||||
@@ -58,7 +59,7 @@ void eea2_encrypt(uint8_t direction, uint32_t count,
|
||||
nas_cipher->blength = length;
|
||||
nas_cipher->message = message;
|
||||
|
||||
if (nas_stream_encrypt_eea2(nas_cipher, &result) != 0)
|
||||
if (nas_stream_encrypt_eea2(nas_cipher, result) != 0)
|
||||
fail("Fail: nas_stream_encrypt_eea2\n");
|
||||
|
||||
if (compare_buffer(result, byte_length, expected, byte_length) != 0) {
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
Active_eNBs = ( "eNB_Eurecom_LTEBox");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
eNBs =
|
||||
(
|
||||
{
|
||||
////////// Identification parameters:
|
||||
eNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_ENB";
|
||||
|
||||
eNB_name = "eNB_Eurecom_LTEBox";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = "1";
|
||||
|
||||
mobile_country_code = "208";
|
||||
mobile_network_code = "92";
|
||||
|
||||
////////// Physical parameters:
|
||||
|
||||
component_carriers = (
|
||||
{
|
||||
frame_type = "FDD";
|
||||
tdd_config = 3;
|
||||
tdd_config_s = 0;
|
||||
prefix_type = "NORMAL";
|
||||
eutra_band = 7;
|
||||
downlink_frequency = 2660000000L;
|
||||
uplink_frequency_offset = -120000000;
|
||||
Nid_cell = 0;
|
||||
N_RB_DL = 100;
|
||||
Nid_cell_mbsfn = 0;
|
||||
nb_antennas_tx = 1;
|
||||
nb_antennas_rx = 1;
|
||||
tx_gain = 32;
|
||||
rx_gain = 84;
|
||||
prach_root = 0;
|
||||
prach_config_index = 0;
|
||||
prach_high_speed = "DISABLE";
|
||||
prach_zero_correlation = 1;
|
||||
prach_freq_offset = 2;
|
||||
pucch_delta_shift = 1;
|
||||
pucch_nRB_CQI = 1;
|
||||
pucch_nCS_AN = 0;
|
||||
pucch_n1_AN = 32;
|
||||
pdsch_referenceSignalPower = -23;
|
||||
pdsch_p_b = 0;
|
||||
pusch_n_SB = 1;
|
||||
pusch_enable64QAM = "DISABLE";
|
||||
pusch_hoppingMode = "interSubFrame";
|
||||
pusch_hoppingOffset = 0;
|
||||
pusch_groupHoppingEnabled = "ENABLE";
|
||||
pusch_groupAssignment = 0;
|
||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
||||
pusch_nDMRS1 = 1;
|
||||
phich_duration = "NORMAL";
|
||||
phich_resource = "ONESIXTH";
|
||||
srs_enable = "DISABLE";
|
||||
/* srs_BandwidthConfig =;
|
||||
srs_SubframeConfig =;
|
||||
srs_ackNackST =;
|
||||
srs_MaxUpPts =;*/
|
||||
|
||||
pusch_p0_Nominal = -90;
|
||||
pusch_alpha = "AL1";
|
||||
pucch_p0_Nominal = -108;
|
||||
msg3_delta_Preamble = 6;
|
||||
pucch_deltaF_Format1 = "deltaF2";
|
||||
pucch_deltaF_Format1b = "deltaF3";
|
||||
pucch_deltaF_Format2 = "deltaF0";
|
||||
pucch_deltaF_Format2a = "deltaF0";
|
||||
pucch_deltaF_Format2b = "deltaF0";
|
||||
|
||||
rach_numberOfRA_Preambles = 64;
|
||||
rach_preamblesGroupAConfig = "DISABLE";
|
||||
/*
|
||||
rach_sizeOfRA_PreamblesGroupA = ;
|
||||
rach_messageSizeGroupA = ;
|
||||
rach_messagePowerOffsetGroupB = ;
|
||||
*/
|
||||
rach_powerRampingStep = 4;
|
||||
rach_preambleInitialReceivedTargetPower = -108;
|
||||
rach_preambleTransMax = 10;
|
||||
rach_raResponseWindowSize = 10;
|
||||
rach_macContentionResolutionTimer = 48;
|
||||
rach_maxHARQ_Msg3Tx = 4;
|
||||
|
||||
pcch_default_PagingCycle = 128;
|
||||
pcch_nB = "oneT";
|
||||
bcch_modificationPeriodCoeff = 2;
|
||||
ue_TimersAndConstants_t300 = 1000;
|
||||
ue_TimersAndConstants_t301 = 1000;
|
||||
ue_TimersAndConstants_t310 = 1000;
|
||||
ue_TimersAndConstants_t311 = 10000;
|
||||
ue_TimersAndConstants_n310 = 20;
|
||||
ue_TimersAndConstants_n311 = 1;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
srb1_parameters :
|
||||
{
|
||||
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
|
||||
timer_poll_retransmit = 80;
|
||||
|
||||
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
|
||||
timer_reordering = 35;
|
||||
|
||||
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
|
||||
timer_status_prohibit = 0;
|
||||
|
||||
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
|
||||
poll_pdu = 4;
|
||||
|
||||
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
|
||||
poll_byte = 99999;
|
||||
|
||||
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
|
||||
max_retx_threshold = 4;
|
||||
}
|
||||
|
||||
# ------- SCTP definitions
|
||||
SCTP :
|
||||
{
|
||||
# Number of streams to use in input/output
|
||||
SCTP_INSTREAMS = 2;
|
||||
SCTP_OUTSTREAMS = 2;
|
||||
};
|
||||
|
||||
////////// MME parameters:
|
||||
mme_ip_address = ( { ipv4 = "192.168.12.26";
|
||||
ipv6 = "192:168:30::17";
|
||||
active = "yes";
|
||||
preference = "ipv4";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24";
|
||||
|
||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24";
|
||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="debug";
|
||||
global_log_verbosity ="medium";
|
||||
hw_log_level ="info";
|
||||
hw_log_verbosity ="medium";
|
||||
phy_log_level ="info";
|
||||
phy_log_verbosity ="medium";
|
||||
mac_log_level ="info";
|
||||
mac_log_verbosity ="high";
|
||||
rlc_log_level ="info";
|
||||
rlc_log_verbosity ="medium";
|
||||
pdcp_log_level ="info";
|
||||
pdcp_log_verbosity ="medium";
|
||||
rrc_log_level ="info";
|
||||
rrc_log_verbosity ="medium";
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,169 @@
|
||||
Active_eNBs = ( "eNB_Eurecom_LTEBox");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
eNBs =
|
||||
(
|
||||
{
|
||||
////////// Identification parameters:
|
||||
eNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_ENB";
|
||||
|
||||
eNB_name = "eNB_Eurecom_LTEBox";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = "1";
|
||||
|
||||
mobile_country_code = "208";
|
||||
mobile_network_code = "92";
|
||||
|
||||
////////// Physical parameters:
|
||||
|
||||
component_carriers = (
|
||||
{
|
||||
frame_type = "FDD";
|
||||
tdd_config = 3;
|
||||
tdd_config_s = 0;
|
||||
prefix_type = "NORMAL";
|
||||
eutra_band = 7;
|
||||
downlink_frequency = 2660000000L;
|
||||
uplink_frequency_offset = -120000000;
|
||||
Nid_cell = 0;
|
||||
N_RB_DL = 50;
|
||||
Nid_cell_mbsfn = 0;
|
||||
nb_antennas_tx = 1;
|
||||
nb_antennas_rx = 1;
|
||||
tx_gain = 32;
|
||||
rx_gain = 82;
|
||||
prach_root = 0;
|
||||
prach_config_index = 0;
|
||||
prach_high_speed = "DISABLE";
|
||||
prach_zero_correlation = 1;
|
||||
prach_freq_offset = 2;
|
||||
pucch_delta_shift = 1;
|
||||
pucch_nRB_CQI = 1;
|
||||
pucch_nCS_AN = 0;
|
||||
pucch_n1_AN = 32;
|
||||
pdsch_referenceSignalPower = -19;
|
||||
pdsch_p_b = 0;
|
||||
pusch_n_SB = 1;
|
||||
pusch_enable64QAM = "DISABLE";
|
||||
pusch_hoppingMode = "interSubFrame";
|
||||
pusch_hoppingOffset = 0;
|
||||
pusch_groupHoppingEnabled = "ENABLE";
|
||||
pusch_groupAssignment = 0;
|
||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
||||
pusch_nDMRS1 = 1;
|
||||
phich_duration = "NORMAL";
|
||||
phich_resource = "ONESIXTH";
|
||||
srs_enable = "DISABLE";
|
||||
/* srs_BandwidthConfig =;
|
||||
srs_SubframeConfig =;
|
||||
srs_ackNackST =;
|
||||
srs_MaxUpPts =;*/
|
||||
|
||||
pusch_p0_Nominal = -90;
|
||||
pusch_alpha = "AL1";
|
||||
pucch_p0_Nominal = -108;
|
||||
msg3_delta_Preamble = 6;
|
||||
pucch_deltaF_Format1 = "deltaF2";
|
||||
pucch_deltaF_Format1b = "deltaF3";
|
||||
pucch_deltaF_Format2 = "deltaF0";
|
||||
pucch_deltaF_Format2a = "deltaF0";
|
||||
pucch_deltaF_Format2b = "deltaF0";
|
||||
|
||||
rach_numberOfRA_Preambles = 64;
|
||||
rach_preamblesGroupAConfig = "DISABLE";
|
||||
/*
|
||||
rach_sizeOfRA_PreamblesGroupA = ;
|
||||
rach_messageSizeGroupA = ;
|
||||
rach_messagePowerOffsetGroupB = ;
|
||||
*/
|
||||
rach_powerRampingStep = 4;
|
||||
rach_preambleInitialReceivedTargetPower = -108;
|
||||
rach_preambleTransMax = 10;
|
||||
rach_raResponseWindowSize = 10;
|
||||
rach_macContentionResolutionTimer = 48;
|
||||
rach_maxHARQ_Msg3Tx = 4;
|
||||
|
||||
pcch_default_PagingCycle = 128;
|
||||
pcch_nB = "oneT";
|
||||
bcch_modificationPeriodCoeff = 2;
|
||||
ue_TimersAndConstants_t300 = 1000;
|
||||
ue_TimersAndConstants_t301 = 1000;
|
||||
ue_TimersAndConstants_t310 = 1000;
|
||||
ue_TimersAndConstants_t311 = 10000;
|
||||
ue_TimersAndConstants_n310 = 20;
|
||||
ue_TimersAndConstants_n311 = 1;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
srb1_parameters :
|
||||
{
|
||||
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
|
||||
timer_poll_retransmit = 80;
|
||||
|
||||
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
|
||||
timer_reordering = 35;
|
||||
|
||||
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
|
||||
timer_status_prohibit = 0;
|
||||
|
||||
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
|
||||
poll_pdu = 4;
|
||||
|
||||
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
|
||||
poll_byte = 99999;
|
||||
|
||||
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
|
||||
max_retx_threshold = 4;
|
||||
}
|
||||
|
||||
# ------- SCTP definitions
|
||||
SCTP :
|
||||
{
|
||||
# Number of streams to use in input/output
|
||||
SCTP_INSTREAMS = 2;
|
||||
SCTP_OUTSTREAMS = 2;
|
||||
};
|
||||
|
||||
////////// MME parameters:
|
||||
mme_ip_address = ( { ipv4 = "192.168.12.26";
|
||||
ipv6 = "192:168:30::17";
|
||||
active = "yes";
|
||||
preference = "ipv4";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24";
|
||||
|
||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24";
|
||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="debug";
|
||||
global_log_verbosity ="medium";
|
||||
hw_log_level ="info";
|
||||
hw_log_verbosity ="medium";
|
||||
phy_log_level ="info";
|
||||
phy_log_verbosity ="medium";
|
||||
mac_log_level ="info";
|
||||
mac_log_verbosity ="high";
|
||||
rlc_log_level ="info";
|
||||
rlc_log_verbosity ="medium";
|
||||
pdcp_log_level ="info";
|
||||
pdcp_log_verbosity ="medium";
|
||||
rrc_log_level ="info";
|
||||
rrc_log_verbosity ="medium";
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,169 @@
|
||||
Active_eNBs = ( "eNB_Eurecom_LTEBox");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
eNBs =
|
||||
(
|
||||
{
|
||||
////////// Identification parameters:
|
||||
eNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_ENB";
|
||||
|
||||
eNB_name = "eNB_Eurecom_LTEBox";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = "1";
|
||||
|
||||
mobile_country_code = "208";
|
||||
mobile_network_code = "92";
|
||||
|
||||
////////// Physical parameters:
|
||||
|
||||
component_carriers = (
|
||||
{
|
||||
frame_type = "FDD";
|
||||
tdd_config = 3;
|
||||
tdd_config_s = 0;
|
||||
prefix_type = "NORMAL";
|
||||
eutra_band = 7;
|
||||
downlink_frequency = 2660000000L;
|
||||
uplink_frequency_offset = -120000000;
|
||||
Nid_cell = 0;
|
||||
N_RB_DL = 25;
|
||||
Nid_cell_mbsfn = 0;
|
||||
nb_antennas_tx = 1;
|
||||
nb_antennas_rx = 1;
|
||||
tx_gain = 32;
|
||||
rx_gain = 84;
|
||||
prach_root = 0;
|
||||
prach_config_index = 0;
|
||||
prach_high_speed = "DISABLE";
|
||||
prach_zero_correlation = 1;
|
||||
prach_freq_offset = 2;
|
||||
pucch_delta_shift = 1;
|
||||
pucch_nRB_CQI = 1;
|
||||
pucch_nCS_AN = 0;
|
||||
pucch_n1_AN = 32;
|
||||
pdsch_referenceSignalPower = -16;
|
||||
pdsch_p_b = 0;
|
||||
pusch_n_SB = 1;
|
||||
pusch_enable64QAM = "DISABLE";
|
||||
pusch_hoppingMode = "interSubFrame";
|
||||
pusch_hoppingOffset = 0;
|
||||
pusch_groupHoppingEnabled = "ENABLE";
|
||||
pusch_groupAssignment = 0;
|
||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
||||
pusch_nDMRS1 = 1;
|
||||
phich_duration = "NORMAL";
|
||||
phich_resource = "ONESIXTH";
|
||||
srs_enable = "DISABLE";
|
||||
/* srs_BandwidthConfig =;
|
||||
srs_SubframeConfig =;
|
||||
srs_ackNackST =;
|
||||
srs_MaxUpPts =;*/
|
||||
|
||||
pusch_p0_Nominal = -90;
|
||||
pusch_alpha = "AL1";
|
||||
pucch_p0_Nominal = -108;
|
||||
msg3_delta_Preamble = 6;
|
||||
pucch_deltaF_Format1 = "deltaF2";
|
||||
pucch_deltaF_Format1b = "deltaF3";
|
||||
pucch_deltaF_Format2 = "deltaF0";
|
||||
pucch_deltaF_Format2a = "deltaF0";
|
||||
pucch_deltaF_Format2b = "deltaF0";
|
||||
|
||||
rach_numberOfRA_Preambles = 64;
|
||||
rach_preamblesGroupAConfig = "DISABLE";
|
||||
/*
|
||||
rach_sizeOfRA_PreamblesGroupA = ;
|
||||
rach_messageSizeGroupA = ;
|
||||
rach_messagePowerOffsetGroupB = ;
|
||||
*/
|
||||
rach_powerRampingStep = 4;
|
||||
rach_preambleInitialReceivedTargetPower = -108;
|
||||
rach_preambleTransMax = 10;
|
||||
rach_raResponseWindowSize = 10;
|
||||
rach_macContentionResolutionTimer = 48;
|
||||
rach_maxHARQ_Msg3Tx = 4;
|
||||
|
||||
pcch_default_PagingCycle = 128;
|
||||
pcch_nB = "oneT";
|
||||
bcch_modificationPeriodCoeff = 2;
|
||||
ue_TimersAndConstants_t300 = 1000;
|
||||
ue_TimersAndConstants_t301 = 1000;
|
||||
ue_TimersAndConstants_t310 = 1000;
|
||||
ue_TimersAndConstants_t311 = 10000;
|
||||
ue_TimersAndConstants_n310 = 20;
|
||||
ue_TimersAndConstants_n311 = 1;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
srb1_parameters :
|
||||
{
|
||||
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
|
||||
timer_poll_retransmit = 80;
|
||||
|
||||
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
|
||||
timer_reordering = 35;
|
||||
|
||||
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
|
||||
timer_status_prohibit = 0;
|
||||
|
||||
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
|
||||
poll_pdu = 4;
|
||||
|
||||
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
|
||||
poll_byte = 99999;
|
||||
|
||||
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
|
||||
max_retx_threshold = 4;
|
||||
}
|
||||
|
||||
# ------- SCTP definitions
|
||||
SCTP :
|
||||
{
|
||||
# Number of streams to use in input/output
|
||||
SCTP_INSTREAMS = 2;
|
||||
SCTP_OUTSTREAMS = 2;
|
||||
};
|
||||
|
||||
////////// MME parameters:
|
||||
mme_ip_address = ( { ipv4 = "192.168.12.26";
|
||||
ipv6 = "192:168:30::17";
|
||||
active = "yes";
|
||||
preference = "ipv4";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24";
|
||||
|
||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24";
|
||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="debug";
|
||||
global_log_verbosity ="medium";
|
||||
hw_log_level ="info";
|
||||
hw_log_verbosity ="medium";
|
||||
phy_log_level ="info";
|
||||
phy_log_verbosity ="medium";
|
||||
mac_log_level ="info";
|
||||
mac_log_verbosity ="high";
|
||||
rlc_log_level ="info";
|
||||
rlc_log_verbosity ="medium";
|
||||
pdcp_log_level ="info";
|
||||
pdcp_log_verbosity ="medium";
|
||||
rrc_log_level ="info";
|
||||
rrc_log_verbosity ="medium";
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
@@ -303,8 +303,8 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
10*log10(rx_pwr*(double)frame_parms->N_RB_DL*12),next_slot,next_slot>>1);
|
||||
LOG_D(OCM,"[SIM][DL] UE %d : rx_pwr (noise) -132 dBm/RE (N0fs = %.1f dBm, N0B = %.1f dBm) for slot %d (subframe %d)\n",
|
||||
UE_id,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6)-174,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*1e6)-174,
|
||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*1e6*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174,
|
||||
next_slot,next_slot>>1);
|
||||
#endif
|
||||
|
||||
@@ -342,7 +342,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
||||
r_im0,
|
||||
nb_antennas_rx,
|
||||
frame_parms->samples_per_tti>>1,
|
||||
1e3/eNB2UE[eNB_id][UE_id][CC_id]->BW, // sampling time (ns)
|
||||
1e3/eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate, // sampling time (ns)
|
||||
(double)PHY_vars_UE_g[UE_id][CC_id]->rx_total_gain_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later)
|
||||
|
||||
#ifdef DEBUG_SIM
|
||||
@@ -584,7 +584,7 @@ void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double
|
||||
r_im,
|
||||
nb_antennas_rx,
|
||||
frame_parms->samples_per_tti>>1,
|
||||
1e3/UE2eNB[0][eNB_id][CC_id]->BW, // sampling time (ns)
|
||||
1e3/UE2eNB[0][eNB_id][CC_id]->sampling_rate, // sampling time (ns)
|
||||
(double)PHY_vars_eNB_g[eNB_id][CC_id]->rx_total_gain_eNB_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later)
|
||||
|
||||
#ifdef DEBUG_SIM
|
||||
|
||||
@@ -1122,24 +1122,28 @@ void init_ocm(void)
|
||||
else
|
||||
*/
|
||||
|
||||
eNB2UE[eNB_id][UE_id][CC_id] = new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
oai_emulation.environment_system_config.system_bandwidth_MB,
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
eNB2UE[eNB_id][UE_id][CC_id] =
|
||||
new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL),
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
random_channel(eNB2UE[eNB_id][UE_id][CC_id],abstraction_flag);
|
||||
LOG_D(OCM,"[SIM] Initializing channel (%s, %d) from UE %d to eNB %d\n", oai_emulation.environment_system_config.fading.small_scale.selected_option,
|
||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),UE_id, eNB_id);
|
||||
|
||||
UE2eNB[UE_id][eNB_id][CC_id] = new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
oai_emulation.environment_system_config.system_bandwidth_MB,
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
UE2eNB[UE_id][eNB_id][CC_id] =
|
||||
new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||
PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||
N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL),
|
||||
N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL),
|
||||
forgetting_factor,
|
||||
0,
|
||||
0);
|
||||
|
||||
random_channel(UE2eNB[UE_id][eNB_id][CC_id],abstraction_flag);
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ void init_snr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *ue_dat
|
||||
uint8_t qq;
|
||||
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->sampling_rate*1e6); //value in dBm
|
||||
|
||||
//for (aarx=0; aarx<eNB2UE->nb_rx; aarx++)
|
||||
*N0 = thermal_noise + ue_data->rx_noise_level;//? all the element have the same noise level?????
|
||||
@@ -496,7 +496,7 @@ void init_snr_up(channel_desc_t* UE2eNB, node_desc_t *enb_data, node_desc_t *ue_
|
||||
|
||||
// nb_rb = phy_vars_eNB->ulsch_eNB[UE_id]->harq_processes[harq_pid]->nb_rb;
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(UE2eNB->BW*1e6); //value in dBm
|
||||
thermal_noise = -174 + 10*log10(UE2eNB->sampling_rate*1e6); //value in dBm
|
||||
*N0 = thermal_noise + enb_data->rx_noise_level;//? all the element have the same noise level?????
|
||||
double lambda ;
|
||||
double residual;
|
||||
@@ -557,7 +557,7 @@ void calculate_sinr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *
|
||||
short count;
|
||||
|
||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm
|
||||
thermal_noise = -174 + 10*log10(eNB2UE->sampling_rate*1e6); //value in dBm
|
||||
|
||||
for (count = 0; count < 12 * nb_rb; count++) {
|
||||
sir = enb_data->tx_power_dBm
|
||||
|
||||
Reference in New Issue
Block a user