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(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(NO_RRM True "DO WE HAVE A RADIO RESSOURCE MANAGER: NO")
|
||||||
add_boolean_option(USER_MODE True "????")
|
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(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
|
||||||
add_boolean_option(DISABLE_USE_NAS False "???")
|
add_boolean_option(DISABLE_USE_NAS False "???")
|
||||||
@@ -1649,7 +1650,7 @@ foreach(myExe s1ap
|
|||||||
${OPENAIR3_DIR}/TEST/test_${myExe}.c
|
${OPENAIR3_DIR}/TEST/test_${myExe}.c
|
||||||
)
|
)
|
||||||
target_link_libraries (test_${myExe}
|
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)
|
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(XFORMS False)
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
set(DEBUG_PHY False)
|
||||||
set(MU_RECIEVER Flase)
|
set(MU_RECIEVER False)
|
||||||
set(RANDOM_BF False)
|
set(RANDOM_BF False)
|
||||||
set(PBS_SIM False)
|
set(PBS_SIM False)
|
||||||
set(PERFECT_CE False)
|
set(PERFECT_CE False)
|
||||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
|||||||
set(XFORMS False)
|
set(XFORMS False)
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
set(DEBUG_PHY False)
|
||||||
set(MU_RECIEVER Flase)
|
set(MU_RECIEVER False)
|
||||||
set(RANDOM_BF False)
|
set(RANDOM_BF False)
|
||||||
set(PBS_SIM False)
|
set(PBS_SIM False)
|
||||||
set(PERFECT_CE False)
|
set(PERFECT_CE False)
|
||||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
|||||||
set(XFORMS False)
|
set(XFORMS False)
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
set(DEBUG_PHY False)
|
||||||
set(MU_RECIEVER Flase)
|
set(MU_RECIEVER False)
|
||||||
set(RANDOM_BF False)
|
set(RANDOM_BF False)
|
||||||
set(PBS_SIM False)
|
set(PBS_SIM False)
|
||||||
set(PERFECT_CE False)
|
set(PERFECT_CE False)
|
||||||
+1
-1
@@ -5,7 +5,7 @@ set(RF_BOARD None)
|
|||||||
set(XFORMS False)
|
set(XFORMS False)
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
set(DEBUG_PHY False)
|
||||||
set(MU_RECIEVER Flase)
|
set(MU_RECIEVER False)
|
||||||
set(RANDOM_BF False)
|
set(RANDOM_BF False)
|
||||||
set(PBS_SIM False)
|
set(PBS_SIM False)
|
||||||
set(PERFECT_CE 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 pre-commit test case
|
||||||
01 01 Build OAI
|
01 01 Build OAI
|
||||||
01 01 00 Check Makefiles and
|
01 01 01 Build oaisim.Rel8
|
||||||
01 01 01 Build oaisim Rel8
|
01 01 02 Build oaisim.Rel8 + network device driver(nasmesh_fix)
|
||||||
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 03 Build lte-softmode Rel8
|
01 01 04 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10
|
||||||
01 01 04 Build dlsim Rel8
|
secu_knas_encrypt_eia1.Rel10 secu_kenb.Rel10 aes128_ctr_encrypt.Rel10 aes128_ctr_decrypt.Rel10 secu_knas_encrypt_eea2.Rel10
|
||||||
01 01 05 Build ulsim Rel8
|
secu_knas.Rel10 secu_knas_encrypt_eea1.Rel10 kdf.Rel10 aes128_cmac_encrypt.Rel10 secu_knas_encrypt_eia2.Rel10)
|
||||||
01 01 06 Build oaisim Rel10
|
01 01 06 Build oaisim.Rel8 + ITTI
|
||||||
01 01 07 Build oaisim Rel8 with cellular RRC for eNB
|
01 01 07 Build oaisim.Rel10
|
||||||
01 01 08 Build oaisim Rel8 with cellular RRC for UE
|
01 01 08 Build oaisim.Rel10 + ITTI
|
||||||
01 01 09 "commented test in targets/TEST/OAI/case01.py"
|
01 01 20 Build Nasmesh
|
||||||
01 01 10 "commented test in targets/TEST/OAI/case01.py"
|
01 01 30 Build RRH Gateway
|
||||||
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 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 02 Run OAISIM Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation
|
||||||
01 03 00 Run OAI Rel10, and search for segmentation fault or exit
|
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 03 01 Run OAI Rel10, and search for execution errors
|
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 03 02 Run OAI Rel10 in abstraction mode, and check the RRC proc for eNBsxUEs
|
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 03 03 Run OAI Rel10 in full phy mode, and check the RRC proc for eNBsxUEs
|
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 03 04 Run OAI Rel10 in full phy mode in FDD mode, and check the RRC proc for eNBsxUEs
|
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,
|
||||||
01 03 05 Run OAI Rel10 with eMBMS enabled, and check the SIB13 and MCCH
|
and for check for no packet losses
|
||||||
01 03 06 Run OAI Rel10 with eMBMS enabled, and check the MTCH
|
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,
|
||||||
01 03 07 Run OAI Rel10 with eMBMS enabled and FDD mode, and check the MTCH
|
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
|
02 Functional test case
|
||||||
|
|
||||||
@@ -48,3 +98,10 @@ Obj.# Case# Test# Description
|
|||||||
|
|
||||||
05 Performance test case
|
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 "
|
#SUDO="sudo -E "
|
||||||
tdir=$OPENAIR_DIR/cmake_targets/autotests
|
tdir=$OPENAIR_DIR/cmake_targets/autotests
|
||||||
|
rm -fr $tdir/bin $tdir/log
|
||||||
mkdir -p $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)
|
updated=$(svn st -q $OPENAIR_DIR)
|
||||||
if [ "$updated" != "" ] ; then
|
if [ "$updated" != "" ] ; then
|
||||||
@@ -21,6 +22,99 @@ fi
|
|||||||
|
|
||||||
cd $tdir
|
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 $1 -> name of test case
|
||||||
#\param $2 -> name of compilation program
|
#\param $2 -> name of compilation program
|
||||||
@@ -32,115 +126,155 @@ cd $tdir
|
|||||||
#\param $8 -> search expression
|
#\param $8 -> search expression
|
||||||
#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
|
#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
|
||||||
#\param $10 -> number of runs
|
#\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() {
|
test_compile_and_run() {
|
||||||
xUnit_start
|
xUnit_start
|
||||||
test_case_name=$1.$2
|
test_case_name=$1
|
||||||
log_dir=$tdir/log
|
log_dir=$tdir/log
|
||||||
log_file=$tdir/log/test.$1.txt
|
log_file=$tdir/log/test.$1.txt
|
||||||
compile_prog=$2
|
compile_prog=$2
|
||||||
compile_args=$3
|
compile_args=$3
|
||||||
pre_exec_file=$4
|
pre_exec_file=$4
|
||||||
pre_exec_args=$5
|
pre_exec_args=$5
|
||||||
|
main_exec=$6
|
||||||
exec_args=$7
|
exec_args=$7
|
||||||
search_expr_array=("${!8}")
|
search_expr_array=("${!8}")
|
||||||
search_expr_negative=$9
|
search_expr_negative=$9
|
||||||
nruns=${10}
|
nruns=${10}
|
||||||
|
pre_compile_prog=${11}
|
||||||
|
class=${12}
|
||||||
|
compile_prog_out=${13}
|
||||||
|
tags=${14}
|
||||||
build_dir=$tdir/$1/build
|
build_dir=$tdir/$1/build
|
||||||
exec_file=$build_dir/$6
|
exec_file=$build_dir/$6
|
||||||
|
|
||||||
#Temporary log file where execution log is stored.
|
#Temporary log file where execution log is stored.
|
||||||
temp_exec_log=$log_dir/temp_log.txt
|
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_dir = $log_dir"
|
||||||
#echo "log_file = $log_file"
|
#echo "log_file = $log_file"
|
||||||
#echo "exec_file = $exec_file"
|
#echo "exec_file = $exec_file"
|
||||||
#echo "args = $args"
|
#echo "exec_args = $exec_args"
|
||||||
#echo "search_expr = $search_expr"
|
#echo "search_expr = $search_expr"
|
||||||
#echo "pre_exec_file = $pre_exec_file"
|
#echo "pre_exec_file = $pre_exec_file"
|
||||||
#echo "nruns = $nruns"
|
#echo "nruns = $nruns"
|
||||||
|
echo "class = $class"
|
||||||
|
|
||||||
|
compile_prog_array=()
|
||||||
|
read -a compile_prog_array <<<"$compile_prog"
|
||||||
|
|
||||||
echo "<COMPILATION LOG>" > $log_file
|
tags_array=()
|
||||||
cd $build_dir
|
read -a tags_array <<<"$tags"
|
||||||
{
|
|
||||||
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
|
|
||||||
|
|
||||||
result=1
|
main_exec_args_array=()
|
||||||
for search_expr in "${search_expr_array[@]}"
|
readarray -t main_exec_args_array <<< "$exec_args"
|
||||||
do
|
|
||||||
|
|
||||||
search_result=`grep -E "$search_expr" $temp_exec_log`
|
|
||||||
|
|
||||||
#echo "search_expr = $search_expr"
|
for search_expr in "${compile_prog_array[@]}"
|
||||||
#echo "search_result = $search_result"
|
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
|
rm -fr $build_dir
|
||||||
let "result = result & 0"
|
mkdir -p $build_dir
|
||||||
else
|
|
||||||
let "result = result & 1"
|
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
|
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
|
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
|
dbin=$OPENAIR_DIR/cmake_targets/autotests/bin
|
||||||
@@ -168,75 +302,143 @@ else
|
|||||||
fi
|
fi
|
||||||
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
|
main () {
|
||||||
#$2 -> name of compilation program
|
RUN_GROUP=0
|
||||||
#$3 -> arguments for compilation program
|
test_case_group=""
|
||||||
#$4 -> name of pre-executable to install kernel modules, etc
|
test_case_group_array=()
|
||||||
#$5 -> arguments of pre-executable
|
test_case_array=()
|
||||||
#$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
|
|
||||||
|
|
||||||
#oaisim tests
|
until [ -z "$1" ]
|
||||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
|
do
|
||||||
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
|
case "$1" in
|
||||||
|
-g | --run-group)
|
||||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
|
RUN_GROUP=1
|
||||||
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
|
test_case_group=$2
|
||||||
|
echo_info "Will execute test cases only in group $test_case_group"
|
||||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
|
shift 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
|
-h | --help)
|
||||||
|
print_help
|
||||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
|
exit 1;;
|
||||||
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
|
*)
|
||||||
|
print_help
|
||||||
#PHY unitary simulations for secuirity tests
|
echo_fatal "Unknown option $1"
|
||||||
search_array=("finished with 0 errors")
|
break;;
|
||||||
test_compile_and_run 010300 "test_aes128_cmac_encrypt" "" "" "" "test_aes128_cmac_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
esac
|
||||||
|
done
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
#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"
|
xUnit_write "$results_file"
|
||||||
|
|
||||||
echo "Test Results are written to $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"
|
VCD_TIMING="False"
|
||||||
REL="Rel10"
|
REL="Rel10"
|
||||||
HW="EXMIMO"
|
HW="EXMIMO"
|
||||||
|
NOS1=0
|
||||||
EPC=0
|
EPC=0
|
||||||
VERBOSE_COMPILE=0
|
VERBOSE_COMPILE=0
|
||||||
CFLAGS_PROCESSOR_USER=""
|
CFLAGS_PROCESSOR_USER=""
|
||||||
|
RUN_GROUP=0
|
||||||
|
TEST_CASE_GROUP=""
|
||||||
|
|
||||||
function print_help() {
|
function print_help() {
|
||||||
echo_info '
|
echo_info '
|
||||||
@@ -95,6 +98,8 @@ Options
|
|||||||
Makes the core security features unitary simulators
|
Makes the core security features unitary simulators
|
||||||
-s | --check
|
-s | --check
|
||||||
runs a set of auto-tests based on simulators and several compilation tests
|
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
|
-V | --vcd
|
||||||
Adds a debgging facility to the binary files: GUI with major internal synchronization events
|
Adds a debgging facility to the binary files: GUI with major internal synchronization events
|
||||||
-x | --xforms
|
-x | --xforms
|
||||||
@@ -193,6 +198,11 @@ function main() {
|
|||||||
OAI_TEST=1
|
OAI_TEST=1
|
||||||
echo_info "Will run auto-tests"
|
echo_info "Will run auto-tests"
|
||||||
shift;;
|
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)
|
-V | --vcd)
|
||||||
echo_info "setting gtk-wave output"
|
echo_info "setting gtk-wave output"
|
||||||
VCD_TIMING=1
|
VCD_TIMING=1
|
||||||
@@ -265,12 +275,11 @@ function main() {
|
|||||||
if [ "$HW" == "OAI_USRP" ] ; then
|
if [ "$HW" == "OAI_USRP" ] ; then
|
||||||
echo_info "installing packages for USRP support"
|
echo_info "installing packages for USRP support"
|
||||||
check_install_usrp_uhd_driver
|
check_install_usrp_uhd_driver
|
||||||
fi
|
fi
|
||||||
if [ "$HW" == "OAI_BLADERF" ] ; then
|
if [ "$HW" == "OAI_BLADERF" ] ; then
|
||||||
echo_info "installing packages for BALDERF support"
|
echo_info "installing packages for BALDERF support"
|
||||||
check_install_bladerf_driver
|
check_install_bladerf_driver
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$INSTALL_OPTIONAL" = "1" ] ; then
|
if [ "$INSTALL_OPTIONAL" = "1" ] ; then
|
||||||
@@ -321,7 +330,7 @@ function main() {
|
|||||||
cmake ..
|
cmake ..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$eNB" = "1" ] ; then
|
if [ "$eNB" = "1" -o "$UE" = "1" ] ; then
|
||||||
echo_info "Compiling $lte_exec"
|
echo_info "Compiling $lte_exec"
|
||||||
compilations \
|
compilations \
|
||||||
$lte_build_dir $lte_exec \
|
$lte_build_dir $lte_exec \
|
||||||
@@ -338,7 +347,7 @@ function main() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$UE" = 1 ] ; then
|
if [ "$UE" = 1 -a "$NOS1" = "0" ] ; then
|
||||||
# ue_ip driver compilation
|
# ue_ip driver compilation
|
||||||
echo_info "Compiling UE specific part"
|
echo_info "Compiling UE specific part"
|
||||||
compilations \
|
compilations \
|
||||||
@@ -576,8 +585,11 @@ function main() {
|
|||||||
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
|
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
|
||||||
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
|
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
|
||||||
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
|
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
|
||||||
$OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash
|
if [ "$RUN_GROUP" -eq "1" ]; then
|
||||||
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
|
$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
|
else
|
||||||
echo_info "10. Bypassing the Tests ..."
|
echo_info "10. Bypassing the Tests ..."
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -254,7 +254,8 @@ check_install_oai_software() {
|
|||||||
openssh-server \
|
openssh-server \
|
||||||
openssl \
|
openssl \
|
||||||
python \
|
python \
|
||||||
subversion
|
subversion \
|
||||||
|
xmlstarlet
|
||||||
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
|
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
|
||||||
if [ `lsb_release -rs` = '12.04' ] ; then
|
if [ `lsb_release -rs` = '12.04' ] ; then
|
||||||
install_nettle_from_source
|
install_nettle_from_source
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ xUnit_fail() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
## Call this after the testcase finished successfully.
|
## Call this after the testcase finished successfully.
|
||||||
# \sa xUnit_fail()
|
# \sa xUnit_success()
|
||||||
# \pre xUnit_start() must have been called before
|
# \pre xUnit_start() must have been called before
|
||||||
# \param $1 classname
|
# \param $1 classname
|
||||||
# \param $2 testcase name
|
# \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;
|
if (rssi>0) rx_power_fil_dB = rssi;
|
||||||
else rx_power_fil_dB = phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id];
|
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,
|
rssi,
|
||||||
phy_vars_ue->PHY_measurements.rssi,
|
phy_vars_ue->PHY_measurements.rssi,
|
||||||
phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id]
|
phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id]
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
#include "PHY/sse_intrin.h"
|
#include "PHY/sse_intrin.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef USER_MODE
|
#ifndef USER_MODE
|
||||||
#define NOCYGWIN_STATIC static
|
#define NOCYGWIN_STATIC static
|
||||||
#else
|
#else
|
||||||
@@ -53,9 +52,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define DEBUG_PHY 1
|
//#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)]
|
// [MCS][i_mod (0,1,2) = (2,4,6)]
|
||||||
unsigned char offset_mumimo_llr_drange_fix=0;
|
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_mag1 = (__m128i *)&dl_ch_mag[2][jj];
|
||||||
ch_mag0b = (__m128i *)&dl_ch_magb[0][jj];
|
ch_mag0b = (__m128i *)&dl_ch_magb[0][jj];
|
||||||
ch_mag1b = (__m128i *)&dl_ch_magb[2][jj];
|
ch_mag1b = (__m128i *)&dl_ch_magb[2][jj];
|
||||||
|
|
||||||
for (rb=0; rb<nb_rb; rb++) {
|
for (rb=0; rb<nb_rb; rb++) {
|
||||||
|
|
||||||
for (re=0; re<((pilots==0)?12:8); re+=2) {
|
for (re=0; re<((pilots==0)?12:8); re+=2) {
|
||||||
|
|
||||||
// Alamouti RX combining
|
// 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[0] = rxF0[0] + rxF1[2];
|
||||||
rxF0[1] = rxF0[1] - rxF1[3];
|
rxF0[1] = rxF0[1] - rxF1[3];
|
||||||
|
|
||||||
rxF0[2] = rxF0[2] - rxF1[0];
|
rxF0[2] = rxF0[2] - rxF1[0];
|
||||||
rxF0[3] = rxF0[3] + rxF1[1];
|
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;
|
rxF0+=4;
|
||||||
rxF1+=4;
|
rxF1+=4;
|
||||||
|
|
||||||
@@ -3229,12 +3230,40 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
else
|
else
|
||||||
rb_alloc_ind = 0;
|
rb_alloc_ind = 0;
|
||||||
|
|
||||||
|
if (rb_alloc_ind == 1)
|
||||||
|
nb_rb++;
|
||||||
|
|
||||||
// For second half of RBs skip DC carrier
|
// For second half of RBs skip DC carrier
|
||||||
if (rb==(frame_parms->N_RB_DL>>1)) {
|
if (rb==(frame_parms->N_RB_DL>>1)) {
|
||||||
rxF = &rxdataF[aarx][(1 + (symbol*(frame_parms->ofdm_symbol_size)))];
|
rxF = &rxdataF[aarx][(1 + (symbol*(frame_parms->ofdm_symbol_size)))];
|
||||||
//dl_ch0++;
|
//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) {
|
if (rb_alloc_ind==1) {
|
||||||
*pmi_ext = (pmi>>((rb>>2)<<1))&3;
|
*pmi_ext = (pmi>>((rb>>2)<<1))&3;
|
||||||
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
||||||
@@ -3272,7 +3301,7 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
rxF_ext+=10;
|
rxF_ext+=10;
|
||||||
}
|
}
|
||||||
|
|
||||||
nb_rb++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dl_ch0+=12;
|
dl_ch0+=12;
|
||||||
@@ -3281,7 +3310,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
}
|
}
|
||||||
else { // Odd number of RBs
|
else { // Odd number of RBs
|
||||||
for (rb=0; rb<frame_parms->N_RB_DL>>1; rb++) {
|
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;
|
skip_half=0;
|
||||||
|
|
||||||
if (rb < 32)
|
if (rb < 32)
|
||||||
@@ -3295,6 +3326,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
else
|
else
|
||||||
rb_alloc_ind = 0;
|
rb_alloc_ind = 0;
|
||||||
|
|
||||||
|
if (rb_alloc_ind == 1)
|
||||||
|
nb_rb++;
|
||||||
|
|
||||||
// PBCH
|
// 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) && (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
|
//PSS in subframe 0/5 if FDD
|
||||||
if (frame_parms->frame_type == FDD) { //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;
|
rb_alloc_ind = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3352,55 +3388,68 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
|
|
||||||
|
|
||||||
if (rb_alloc_ind==1) {
|
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) {
|
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) {
|
if (skip_half==1) {
|
||||||
memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int));
|
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];
|
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;
|
dl_ch0_ext+=6;
|
||||||
rxF_ext+=6;
|
rxF_ext+=6;
|
||||||
} else if (skip_half==2) {
|
} else if (skip_half==2) {
|
||||||
memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int));
|
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)];
|
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;
|
dl_ch0_ext+=6;
|
||||||
rxF_ext+=6;
|
rxF_ext+=6;
|
||||||
} else {
|
} else {
|
||||||
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
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];
|
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;
|
dl_ch0_ext+=12;
|
||||||
rxF_ext+=12;
|
rxF_ext+=12;
|
||||||
}
|
}
|
||||||
} else {
|
} 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;
|
j=0;
|
||||||
|
|
||||||
if (skip_half==1) {
|
if (skip_half==1) {
|
||||||
for (i=0; i<6; i++) {
|
for (i=0; i<6; i++) {
|
||||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||||
rxF_ext[j]=rxF[i];
|
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];
|
dl_ch0_ext[j++]=dl_ch0[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
rxF_ext+=5;
|
||||||
dl_ch0_ext+=5;
|
dl_ch0_ext+=5;
|
||||||
rxF_ext+=5;
|
|
||||||
} else if (skip_half==2) {
|
} else if (skip_half==2) {
|
||||||
for (i=0; i<6; i++) {
|
for (i=0; i<6; i++) {
|
||||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||||
rxF_ext[j]=rxF[(i+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];
|
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)) &&
|
if ((i!=(frame_parms->nushift+poffset)) &&
|
||||||
(i!=((frame_parms->nushift+poffset+6)%12))) {
|
(i!=((frame_parms->nushift+poffset+6)%12))) {
|
||||||
rxF_ext[j]=rxF[i];
|
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];
|
dl_ch0_ext[j++]=dl_ch0[i];
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3422,8 +3473,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
rxF_ext+=10;
|
rxF_ext+=10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nb_rb++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dl_ch0+=12;
|
dl_ch0+=12;
|
||||||
@@ -3444,36 +3493,42 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
rb_alloc_ind = 0;
|
rb_alloc_ind = 0;
|
||||||
|
|
||||||
|
|
||||||
|
if (rb_alloc_ind == 1)
|
||||||
|
nb_rb++;
|
||||||
|
|
||||||
// PBCH
|
// 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;
|
rb_alloc_ind = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//SSS
|
//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;
|
rb_alloc_ind = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frame_parms->frame_type == FDD) {
|
if (frame_parms->frame_type == FDD) {
|
||||||
//PSS
|
//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;
|
rb_alloc_ind = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//PSS
|
||||||
if ((frame_parms->frame_type == TDD) &&
|
if ((frame_parms->frame_type == TDD) &&
|
||||||
(subframe==6)) {
|
(subframe==6) &&
|
||||||
//PSS
|
(l==pss_symb) ) {
|
||||||
if ((rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
|
rb_alloc_ind = 0;
|
||||||
rb_alloc_ind = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
|
// printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
|
||||||
// printf("DC rb %d (%p)\n",rb,rxF);
|
// printf("DC rb %d (%p)\n",rb,rxF);
|
||||||
if (rb_alloc_ind==1) {
|
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) {
|
if (pilots==0) {
|
||||||
for (i=0; i<6; i++) {
|
for (i=0; i<6; i++) {
|
||||||
dl_ch0_ext[i]=dl_ch0[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)) {
|
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||||
dl_ch0_ext[j]=dl_ch0[i];
|
dl_ch0_ext[j]=dl_ch0[i];
|
||||||
rxF_ext[j++]=rxF[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)) {
|
if (i!=((frame_parms->nushift+6+poffset)%12)) {
|
||||||
dl_ch0_ext[j]=dl_ch0[i];
|
dl_ch0_ext[j]=dl_ch0[i];
|
||||||
rxF_ext[j++]=rxF[(1+i-6)];
|
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;
|
rxF_ext+=10;
|
||||||
} // symbol_mod==0
|
} // symbol_mod==0
|
||||||
|
|
||||||
nb_rb++;
|
|
||||||
} // rballoc==1
|
} // rballoc==1
|
||||||
else {
|
else {
|
||||||
rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];
|
rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];
|
||||||
@@ -3540,7 +3598,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
else
|
else
|
||||||
rb_alloc_ind = 0;
|
rb_alloc_ind = 0;
|
||||||
|
|
||||||
|
if (rb_alloc_ind == 1)
|
||||||
|
nb_rb++;
|
||||||
|
|
||||||
// PBCH
|
// 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) && (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) {
|
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);
|
printf("rb %d\n",rb);
|
||||||
for (i=0;i<12;i++)
|
for (i=0;i<12;i++)
|
||||||
@@ -3598,43 +3659,54 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
*/
|
*/
|
||||||
if (pilots==0) {
|
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) {
|
if (skip_half==1) {
|
||||||
memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int));
|
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];
|
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;
|
dl_ch0_ext+=6;
|
||||||
rxF_ext+=6;
|
rxF_ext+=6;
|
||||||
|
|
||||||
} else if (skip_half==2) {
|
} else if (skip_half==2) {
|
||||||
memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int));
|
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)];
|
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;
|
dl_ch0_ext+=6;
|
||||||
rxF_ext+=6;
|
rxF_ext+=6;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
|
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];
|
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;
|
dl_ch0_ext+=12;
|
||||||
rxF_ext+=12;
|
rxF_ext+=12;
|
||||||
}
|
}
|
||||||
} else {
|
} 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;
|
j=0;
|
||||||
|
|
||||||
if (skip_half==1) {
|
if (skip_half==1) {
|
||||||
for (i=0; i<6; i++) {
|
for (i=0; i<6; i++) {
|
||||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||||
rxF_ext[j]=rxF[i];
|
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];
|
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++) {
|
for (i=0; i<6; i++) {
|
||||||
if (i!=((frame_parms->nushift+poffset)%6)) {
|
if (i!=((frame_parms->nushift+poffset)%6)) {
|
||||||
rxF_ext[j]=rxF[(i+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];
|
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)) &&
|
if ((i!=(frame_parms->nushift+poffset)) &&
|
||||||
(i!=((frame_parms->nushift+poffset+6)%12))) {
|
(i!=((frame_parms->nushift+poffset+6)%12))) {
|
||||||
rxF_ext[j]=rxF[i];
|
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];
|
dl_ch0_ext[j++]=dl_ch0[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3666,8 +3742,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
|
|||||||
rxF_ext+=10;
|
rxF_ext+=10;
|
||||||
}
|
}
|
||||||
} // pilots=0
|
} // pilots=0
|
||||||
|
|
||||||
nb_rb++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dl_ch0+=12;
|
dl_ch0+=12;
|
||||||
@@ -3749,52 +3823,58 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
|||||||
rb_alloc_ind = (rb_alloc[3]>>(prb-96)) & 1;
|
rb_alloc_ind = (rb_alloc[3]>>(prb-96)) & 1;
|
||||||
else
|
else
|
||||||
rb_alloc_ind = 0;
|
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_off = 12*prb;
|
||||||
prb_off2 = 1+(12*(prb-(frame_parms->N_RB_DL>>1)));
|
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;
|
rxF_ext+=8;
|
||||||
} // pilots==1
|
} // 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;
|
skip_half=0;
|
||||||
|
|
||||||
//Check if we have to drop half a PRB due to PSS/SSS/PBCH
|
//Check if we have to drop half a PRB due to PSS/SSS/PBCH
|
||||||
// skip_half == 0 means full PRB
|
// skip_half == 0 means full PRB
|
||||||
// skip_half == 1 means first half is used (leftmost half-PRB from PSS/SSS/PBCH)
|
// 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) &&
|
if (((frame_parms->frame_type == FDD) &&
|
||||||
(((subframe==0)||(subframe==5)))) || //FDD Subframes 0,5
|
(((subframe==0)||(subframe==5)))) || //FDD Subframes 0,5
|
||||||
((frame_parms->frame_type == TDD) &&
|
((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)) &&
|
if ((prb==((frame_parms->N_RB_DL>>1)-3)) &&
|
||||||
(l==pss_symb))
|
(l==pss_symb))
|
||||||
skip_half=1;
|
skip_half=1;
|
||||||
else if (((subframe==0)||(subframe==5)) &&
|
else if ((prb==((frame_parms->N_RB_DL>>1)+3)) &&
|
||||||
(prb==((frame_parms->N_RB_DL>>1)+3)) &&
|
|
||||||
(l==pss_symb))
|
(l==pss_symb))
|
||||||
skip_half=2;
|
skip_half=2;
|
||||||
}
|
}
|
||||||
@@ -3901,9 +4023,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
|||||||
rxF = &rxdataF[aarx][prb_off2+
|
rxF = &rxdataF[aarx][prb_off2+
|
||||||
(symbol*(frame_parms->ofdm_symbol_size))];
|
(symbol*(frame_parms->ofdm_symbol_size))];
|
||||||
}
|
}
|
||||||
|
#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);
|
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;
|
*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);
|
// 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_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
||||||
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
||||||
memcpy(rxF_ext,rxF,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_ch0_ext+=6;
|
||||||
dl_ch1_ext+=6;
|
dl_ch1_ext+=6;
|
||||||
rxF_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_ch0_ext,dl_ch0p+6,6*sizeof(int32_t));
|
||||||
memcpy(dl_ch1_ext,dl_ch1p+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));
|
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_ch0_ext+=6;
|
||||||
dl_ch1_ext+=6;
|
dl_ch1_ext+=6;
|
||||||
rxF_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_ch0_ext,dl_ch0p,12*sizeof(int32_t));
|
||||||
memcpy(dl_ch1_ext,dl_ch1p,12*sizeof(int32_t));
|
memcpy(dl_ch1_ext,dl_ch1p,12*sizeof(int32_t));
|
||||||
memcpy(rxF_ext,rxF,12*sizeof(int32_t));
|
memcpy(rxF_ext,rxF,12*sizeof(int32_t));
|
||||||
|
#ifdef DEBUG_DLSCH_DEMOD
|
||||||
for (i=0;i<12;i++)
|
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_ch0_ext+=12;
|
||||||
dl_ch1_ext+=12;
|
dl_ch1_ext+=12;
|
||||||
rxF_ext+=12;
|
rxF_ext+=12;
|
||||||
@@ -3943,7 +4075,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
|||||||
if ((i!=frame_parms->nushift) &&
|
if ((i!=frame_parms->nushift) &&
|
||||||
(i!=((frame_parms->nushift+3)%6))) {
|
(i!=((frame_parms->nushift+3)%6))) {
|
||||||
rxF_ext[j]=rxF[i];
|
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_ch0_ext[j]=dl_ch0p[i];
|
||||||
dl_ch1_ext[j++]=dl_ch1p[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) &&
|
if ((i!=frame_parms->nushift) &&
|
||||||
(i!=((frame_parms->nushift+3)%6))) {
|
(i!=((frame_parms->nushift+3)%6))) {
|
||||||
rxF_ext[j]=rxF[(i+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_ch0_ext[j]=dl_ch0p[i+6];
|
||||||
dl_ch1_ext[j++]=dl_ch1p[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
|
} else { //skip_half==0
|
||||||
for (i=0; i<12; i++) {
|
for (i=0; i<12; i++) {
|
||||||
if ((i!=frame_parms->nushift) &&
|
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+6) &&
|
||||||
(i!=((frame_parms->nushift+9)%12))) {
|
(i!=((frame_parms->nushift+9)%12))) {
|
||||||
rxF_ext[j]=rxF[i];
|
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_ch0_ext[j] =dl_ch0p[i];
|
||||||
dl_ch1_ext[j++]=dl_ch1p[i];
|
dl_ch1_ext[j++]=dl_ch1p[i];
|
||||||
}
|
}
|
||||||
@@ -3982,31 +4120,33 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
|
|||||||
rxF_ext+=8;
|
rxF_ext+=8;
|
||||||
} //skip_half==0
|
} //skip_half==0
|
||||||
} //pilots==1
|
} //pilots==1
|
||||||
nb_rb++;
|
|
||||||
} else { // Do middle RB (around DC)
|
} else { // Do middle RB (around DC)
|
||||||
|
|
||||||
if (pilots==0) {
|
if (pilots==0) {
|
||||||
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
||||||
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
||||||
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
|
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
|
||||||
/*
|
#ifdef DEBUG_DLSCH_DEMOD
|
||||||
for (i=0; i<6; i++) {
|
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]));
|
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||||
}*/
|
}
|
||||||
|
#endif
|
||||||
rxF_ext+=6;
|
rxF_ext+=6;
|
||||||
dl_ch0_ext+=6;
|
dl_ch0_ext+=6;
|
||||||
dl_ch1_ext+=6;
|
dl_ch1_ext+=6;
|
||||||
dl_ch0p+=6;
|
dl_ch0p+=6;
|
||||||
dl_ch1p+=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_ch0_ext,dl_ch0p,6*sizeof(int32_t));
|
||||||
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
|
||||||
memcpy(rxF_ext,rxF,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]));
|
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
|
||||||
}*/
|
}
|
||||||
|
#endif
|
||||||
rxF_ext+=6;
|
rxF_ext+=6;
|
||||||
dl_ch0_ext+=6;
|
dl_ch0_ext+=6;
|
||||||
dl_ch1_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_ch0_ext[j]=dl_ch0p[i];
|
||||||
dl_ch1_ext[j]=dl_ch1p[i];
|
dl_ch1_ext[j]=dl_ch1p[i];
|
||||||
rxF_ext[j++]=rxF[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++) {
|
for (; i<12; i++) {
|
||||||
if ((i!=((frame_parms->nushift+6)%12)) &&
|
if ((i!=((frame_parms->nushift+6)%12)) &&
|
||||||
(i!=((frame_parms->nushift+9)%12))) {
|
(i!=((frame_parms->nushift+9)%12))) {
|
||||||
dl_ch0_ext[j]=dl_ch0p[i];
|
dl_ch0_ext[j]=dl_ch0p[i];
|
||||||
dl_ch1_ext[j]=dl_ch1p[i];
|
dl_ch1_ext[j]=dl_ch1p[i];
|
||||||
rxF_ext[j++]=rxF[(1+i-6)];
|
rxF_ext[j++]=rxF[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]));
|
#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;
|
dl_ch1_ext+=8;
|
||||||
rxF_ext+=8;
|
rxF_ext+=8;
|
||||||
} //pilots==1
|
} //pilots==1
|
||||||
nb_rb++;
|
|
||||||
} // if Middle PRB
|
} // if Middle PRB
|
||||||
} // if odd PRB
|
} // if odd PRB
|
||||||
} // if rballoc==1
|
} // 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
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_DLSCH_DEMOD
|
#ifdef DEBUG_DLSCH_DEMOD
|
||||||
|
/*
|
||||||
void print_bytes(char *s,__m128i *x)
|
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,
|
printf("%s : %d,%d,%d,%d\n",s,
|
||||||
tempb[0],tempb[1],tempb[2],tempb[3]);
|
tempb[0],tempb[1],tempb[2],tempb[3]);
|
||||||
|
|
||||||
}
|
}*/
|
||||||
#endif
|
#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 ((symbol_mod==0) || (symbol_mod==(4-frame_parms->Ncp))) {
|
||||||
if (frame_parms->mode1_flag==0)
|
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
|
else
|
||||||
len = (nb_rb*10);// - (5*pbch_pss_sss_adjust/6);
|
len = (nb_rb*10) - (5*pbch_pss_sss_adjust/6);
|
||||||
} else {
|
} 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++) {
|
for (i=0; i<len; i++) {
|
||||||
*llr32 = *rxF;
|
*llr32 = *rxF;
|
||||||
|
// printf("llr %d : (%d,%d)\n",i,((int16_t*)llr32)[0],((int16_t*)llr32)[1]);
|
||||||
rxF++;
|
rxF++;
|
||||||
llr32++;
|
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);
|
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_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 clean_eNb_ulsch(LTE_eNB_ULSCH_t *ulsch, uint8_t abstraction_flag);
|
||||||
|
|
||||||
void free_ue_ulsch(LTE_UE_ULSCH_t *ulsch);
|
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);
|
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,
|
/** \fn dlsch_encoding(uint8_t *input_buffer,
|
||||||
LTE_DL_FRAME_PARMS *frame_parms,
|
LTE_DL_FRAME_PARMS *frame_parms,
|
||||||
uint8_t num_pdcch_symbols,
|
uint8_t num_pdcch_symbols,
|
||||||
@@ -1764,7 +1767,9 @@ double computeRhoB_UE(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated,
|
|||||||
LTE_UE_DLSCH_t *dlsch_ue);
|
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
|
#endif
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ int main(int argc, char **argv)
|
|||||||
uint32_t DLSCH_RB_ALLOC = 0x1fff;
|
uint32_t DLSCH_RB_ALLOC = 0x1fff;
|
||||||
int numCCE=0;
|
int numCCE=0;
|
||||||
int dci_length_bytes=0,dci_length=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;
|
int common_flag=0,TPC=0;
|
||||||
|
|
||||||
double cpu_freq_GHz;
|
double cpu_freq_GHz;
|
||||||
@@ -680,27 +680,19 @@ int main(int argc, char **argv)
|
|||||||
switch (N_RB_DL) {
|
switch (N_RB_DL) {
|
||||||
case 6:
|
case 6:
|
||||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x3f;
|
if (rballocset==0) DLSCH_RB_ALLOC = 0x3f;
|
||||||
|
|
||||||
BW = 1.25;
|
|
||||||
num_pdcch_symbols = 3;
|
num_pdcch_symbols = 3;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 25:
|
case 25:
|
||||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x1fff;
|
if (rballocset==0) DLSCH_RB_ALLOC = 0x1fff;
|
||||||
|
|
||||||
BW = 5.00;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 50:
|
case 50:
|
||||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffff;
|
if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffff;
|
||||||
|
|
||||||
BW = 10.00;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 100:
|
case 100:
|
||||||
if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffffff;
|
if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffffff;
|
||||||
|
|
||||||
BW = 20.00;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -708,8 +700,6 @@ int main(int argc, char **argv)
|
|||||||
} else
|
} else
|
||||||
NB_RB = 4;
|
NB_RB = 4;
|
||||||
|
|
||||||
NB_RB=conv_nprb(0,DLSCH_RB_ALLOC,N_RB_DL);
|
|
||||||
|
|
||||||
if ((transmission_mode > 1) && (n_tx != 2))
|
if ((transmission_mode > 1) && (n_tx != 2))
|
||||||
printf("n_tx must be >1 for transmission_mode %d\n",transmission_mode);
|
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);
|
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");
|
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");
|
fprintf(bler_fd,"SNR; MCS; TBS; rate; err0; trials0; err1; trials1; err2; trials2; err3; trials3; dci_err\n");
|
||||||
|
|
||||||
if (test_perf != 0) {
|
if (test_perf != 0) {
|
||||||
@@ -784,12 +778,16 @@ int main(int argc, char **argv)
|
|||||||
hostname[1023] = '\0';
|
hostname[1023] = '\0';
|
||||||
gethostname(hostname, 1023);
|
gethostname(hostname, 1023);
|
||||||
printf("Hostname: %s\n", hostname);
|
printf("Hostname: %s\n", hostname);
|
||||||
char dirname[FILENAME_MAX];
|
//char dirname[FILENAME_MAX];
|
||||||
sprintf(dirname, "%s/SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname );
|
//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",
|
sprintf(time_meas_fname,"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);
|
N_RB_DL,mcs1,n_tx,n_rx,num_pdcch_symbols,channel_model_input,transmission_mode);
|
||||||
mkdir(dirname,0777);
|
//mkdir(dirname,0777);
|
||||||
time_meas_fd = fopen(time_meas_fname,"w");
|
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) {
|
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);
|
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");
|
csv_fd = fopen(csv_fname,"w");
|
||||||
fprintf(csv_fd,"data_all%d=[",mcs1);
|
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,
|
eNB2UE[0] = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
forgetting_factor,
|
||||||
rx_sample_offset,
|
rx_sample_offset,
|
||||||
0);
|
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,
|
eNB2UE[n] = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
channel_model,
|
||||||
BW,
|
N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||||
forgetting_factor,
|
N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL),
|
||||||
|
forgetting_factor,
|
||||||
rx_sample_offset,
|
rx_sample_offset,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
@@ -2777,7 +2781,7 @@ PMI_FEEDBACK:
|
|||||||
|
|
||||||
// Multipath channel
|
// Multipath channel
|
||||||
if (awgn_flag == 0) {
|
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);
|
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);
|
// 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"
|
#include "OCG_vars.h"
|
||||||
|
|
||||||
//#define BW 5.0
|
|
||||||
|
|
||||||
|
|
||||||
PHY_VARS_eNB *PHY_vars_eNB;
|
PHY_VARS_eNB *PHY_vars_eNB;
|
||||||
PHY_VARS_UE *PHY_vars_UE;
|
PHY_VARS_UE *PHY_vars_UE;
|
||||||
@@ -131,7 +129,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
char c;
|
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;
|
double sigma2, sigma2_dB=0,SNR,snr0=-2.0,snr1=0.0;
|
||||||
uint8_t snr1set=0;
|
uint8_t snr1set=0;
|
||||||
double snr_step=1,input_snr_step=1;
|
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};
|
unsigned int trials,errs[4]= {0,0,0,0}; //,round_trials[4]={0,0,0,0};
|
||||||
|
|
||||||
uint8_t N_RB_DL=25,osf=1;
|
uint8_t N_RB_DL=25,osf=1;
|
||||||
double BW=5.0;
|
|
||||||
uint32_t perfect_ce = 0;
|
uint32_t perfect_ce = 0;
|
||||||
|
|
||||||
lte_frame_type_t frame_type = FDD;
|
lte_frame_type_t frame_type = FDD;
|
||||||
@@ -255,27 +252,9 @@ int main(int argc, char **argv)
|
|||||||
case 'R':
|
case 'R':
|
||||||
N_RB_DL = atoi(optarg);
|
N_RB_DL = atoi(optarg);
|
||||||
|
|
||||||
switch (N_RB_DL) {
|
if ((N_RB_DL!=6) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=100)) {
|
||||||
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:
|
|
||||||
printf("Unsupported Bandwidth %d\n",N_RB_DL);
|
printf("Unsupported Bandwidth %d\n",N_RB_DL);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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,
|
eNB2UE = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
0,
|
||||||
0);
|
0);
|
||||||
@@ -541,15 +521,26 @@ int main(int argc, char **argv)
|
|||||||
subframe%10,
|
subframe%10,
|
||||||
0,
|
0,
|
||||||
0);
|
0);
|
||||||
}
|
|
||||||
|
if (PHY_vars_UE->perfect_ce==1) {
|
||||||
for (l=2; l<12; l++) {
|
// fill in perfect channel estimates
|
||||||
rx_pmch(PHY_vars_UE,
|
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,
|
0,
|
||||||
subframe%10,
|
subframe%10,
|
||||||
l);
|
l);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PHY_vars_UE->dlsch_ue_MCH[0]->harq_processes[0]->G = get_G(&PHY_vars_UE->lte_frame_parms,
|
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"
|
#include "OCG_vars.h"
|
||||||
|
|
||||||
#define BW 5.0
|
|
||||||
|
|
||||||
|
|
||||||
PHY_VARS_eNB *PHY_vars_eNb,*PHY_vars_eNb1,*PHY_vars_eNb2;
|
PHY_VARS_eNB *PHY_vars_eNb,*PHY_vars_eNb1,*PHY_vars_eNb2;
|
||||||
PHY_VARS_UE *PHY_vars_UE;
|
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,
|
eNB2UE = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
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,
|
eNB2UE1 = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
||||||
4,
|
4,
|
||||||
0);
|
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,
|
eNB2UE2 = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
||||||
8,
|
8,
|
||||||
0);
|
0);
|
||||||
|
|||||||
@@ -552,7 +552,6 @@ int main(int argc, char **argv)
|
|||||||
uint32_t *txptr;
|
uint32_t *txptr;
|
||||||
int aarx;
|
int aarx;
|
||||||
int k;
|
int k;
|
||||||
double BW=5.0;
|
|
||||||
uint32_t perfect_ce = 0;
|
uint32_t perfect_ce = 0;
|
||||||
|
|
||||||
number_of_cards = 1;
|
number_of_cards = 1;
|
||||||
@@ -840,28 +839,11 @@ int main(int argc, char **argv)
|
|||||||
subframe,NUMBER_OF_OFDM_CARRIERS,
|
subframe,NUMBER_OF_OFDM_CARRIERS,
|
||||||
PHY_vars_eNB->lte_frame_parms.Ncp,PHY_vars_eNB->lte_frame_parms.samples_per_tti,nsymb);
|
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,
|
eNB2UE = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx_eNB,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
0,
|
||||||
0);
|
0);
|
||||||
|
|||||||
@@ -47,8 +47,6 @@
|
|||||||
|
|
||||||
#include "OCG_vars.h"
|
#include "OCG_vars.h"
|
||||||
|
|
||||||
#define BW 5.0
|
|
||||||
|
|
||||||
int current_dlsch_cqi; //FIXME!
|
int current_dlsch_cqi; //FIXME!
|
||||||
|
|
||||||
PHY_VARS_eNB *PHY_vars_eNB;
|
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,
|
UE2eNB = new_channel_desc_scm(PHY_vars_UE->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_eNB->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_eNB->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
||||||
delay,
|
delay,
|
||||||
0);
|
0);
|
||||||
|
|||||||
@@ -49,8 +49,6 @@
|
|||||||
#include "OCG_vars.h"
|
#include "OCG_vars.h"
|
||||||
#include "UTIL/LOG/log_extern.h"
|
#include "UTIL/LOG/log_extern.h"
|
||||||
|
|
||||||
#define BW 5.0
|
|
||||||
|
|
||||||
int current_dlsch_cqi; //FIXME!
|
int current_dlsch_cqi; //FIXME!
|
||||||
|
|
||||||
PHY_VARS_eNB *PHY_vars_eNB;
|
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,
|
UE2eNB = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
||||||
0,
|
0,
|
||||||
0);
|
0);
|
||||||
|
|||||||
@@ -58,23 +58,11 @@
|
|||||||
|
|
||||||
extern unsigned short dftsizes[33];
|
extern unsigned short dftsizes[33];
|
||||||
extern short *ul_ref_sigs[30][2][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_eNB *PHY_vars_eNB;
|
||||||
PHY_VARS_UE *PHY_vars_UE;
|
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 *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX];
|
||||||
channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_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)
|
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 input_snr_step=.2,snr_int=30;
|
||||||
double blerr;
|
double blerr;
|
||||||
|
|
||||||
//int **txdataF, **txdata;
|
|
||||||
|
|
||||||
int **txdata;
|
int **txdata;
|
||||||
|
|
||||||
LTE_DL_FRAME_PARMS *frame_parms;
|
LTE_DL_FRAME_PARMS *frame_parms;
|
||||||
@@ -214,6 +195,7 @@ int main(int argc, char **argv)
|
|||||||
// FILE *rx_frame_file;
|
// FILE *rx_frame_file;
|
||||||
FILE *csv_fdUL=NULL;
|
FILE *csv_fdUL=NULL;
|
||||||
|
|
||||||
|
/*
|
||||||
FILE *fperen=NULL;
|
FILE *fperen=NULL;
|
||||||
char fperen_name[512];
|
char fperen_name[512];
|
||||||
|
|
||||||
@@ -222,6 +204,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
FILE *flogeren=NULL;
|
FILE *flogeren=NULL;
|
||||||
char flogeren_name[512];
|
char flogeren_name[512];
|
||||||
|
*/
|
||||||
|
|
||||||
/* FILE *ftxlev;
|
/* FILE *ftxlev;
|
||||||
char ftxlev_name[512];
|
char ftxlev_name[512];
|
||||||
@@ -598,6 +581,7 @@ int main(int argc, char **argv)
|
|||||||
time_meas_fd = fopen(time_meas_fname,"w");
|
time_meas_fd = fopen(time_meas_fname,"w");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if(abstx) {
|
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);
|
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+");
|
fperen = fopen(fperen_name,"a+");
|
||||||
@@ -614,6 +598,7 @@ int main(int argc, char **argv)
|
|||||||
fprintf(flogeren,"mag_f = [");
|
fprintf(flogeren,"mag_f = [");
|
||||||
fclose(flogeren);
|
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);
|
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
|
// 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);
|
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");
|
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);
|
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,
|
UE2eNB = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx,
|
||||||
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
PHY_vars_UE->lte_frame_parms.nb_antennas_rx,
|
||||||
channel_model,
|
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,
|
forgetting_factor,
|
||||||
delay,
|
delay,
|
||||||
0);
|
0);
|
||||||
@@ -1270,11 +1260,13 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
PHY_vars_eNB->ulsch_eNB[0]->cyclicShift = cyclic_shift;// cyclic shift for DMRS
|
PHY_vars_eNB->ulsch_eNB[0]->cyclicShift = cyclic_shift;// cyclic shift for DMRS
|
||||||
|
|
||||||
|
/*
|
||||||
if(abstx) {
|
if(abstx) {
|
||||||
namepointer_log2 = &flogeren_name;
|
namepointer_log2 = &flogeren_name;
|
||||||
namepointer_chMag = &fmageren_name;
|
namepointer_chMag = &fmageren_name;
|
||||||
//namepointer_txlev = &ftxlev;
|
//namepointer_txlev = &ftxlev;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
start_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
|
start_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
|
||||||
rx_ulsch(PHY_vars_eNB,
|
rx_ulsch(PHY_vars_eNB,
|
||||||
@@ -1285,6 +1277,7 @@ int main(int argc, char **argv)
|
|||||||
cooperation_flag);
|
cooperation_flag);
|
||||||
stop_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
|
stop_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
|
||||||
|
|
||||||
|
/*
|
||||||
if(abstx) {
|
if(abstx) {
|
||||||
namepointer_chMag = NULL;
|
namepointer_chMag = NULL;
|
||||||
|
|
||||||
@@ -1296,8 +1289,7 @@ int main(int argc, char **argv)
|
|||||||
// flagMag = 1;
|
// flagMag = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
///////
|
|
||||||
|
|
||||||
start_meas(&PHY_vars_eNB->ulsch_decoding_stats);
|
start_meas(&PHY_vars_eNB->ulsch_decoding_stats);
|
||||||
ret= ulsch_decoding(PHY_vars_eNB,
|
ret= ulsch_decoding(PHY_vars_eNB,
|
||||||
@@ -1816,6 +1808,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
}//ch realization
|
}//ch realization
|
||||||
|
|
||||||
|
/*
|
||||||
if(abstx) {
|
if(abstx) {
|
||||||
fperen = fopen(fperen_name,"a+");
|
fperen = fopen(fperen_name,"a+");
|
||||||
fprintf(fperen,"];\n");
|
fprintf(fperen,"];\n");
|
||||||
@@ -1829,6 +1822,7 @@ int main(int argc, char **argv)
|
|||||||
fprintf(flogeren,"];\n");
|
fprintf(flogeren,"];\n");
|
||||||
fclose(flogeren);
|
fclose(flogeren);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// ftxlev = fopen(ftxlev_name,"a+");
|
// ftxlev = fopen(ftxlev_name,"a+");
|
||||||
//fprintf(ftxlev,"];\n");
|
//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)
|
if (desc->nb_taps==1)
|
||||||
delay = desc->delays[l];
|
delay = desc->delays[l];
|
||||||
else
|
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);
|
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);
|
sin_lut[f+(n_samples>>1)][l] = sin(2*M_PI*freq*delay);
|
||||||
|
|||||||
@@ -69,7 +69,9 @@ typedef struct {
|
|||||||
///Maximum path delay in mus.
|
///Maximum path delay in mus.
|
||||||
double Td;
|
double Td;
|
||||||
///Channel bandwidth in MHz.
|
///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).
|
///Ricean factor of first tap wrt other taps (0..1, where 0 means AWGN and 1 means Rayleigh channel).
|
||||||
double ricean_factor;
|
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.
|
///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,
|
channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||||
uint8_t nb_rx,
|
uint8_t nb_rx,
|
||||||
SCM_t channel_model,
|
SCM_t channel_model,
|
||||||
double BW,
|
double sampling_rate,
|
||||||
|
double channel_bandwidth,
|
||||||
double forgetting_factor,
|
double forgetting_factor,
|
||||||
int32_t channel_offset,
|
int32_t channel_offset,
|
||||||
double path_loss_dB);
|
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
|
#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++)
|
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++)
|
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;
|
H[i+(j*desc->nb_rx)][k][l] = 0;
|
||||||
|
|
||||||
for(p=0; p<desc->nb_paths; p++) {
|
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++) {
|
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,
|
double *delays,
|
||||||
struct complex** R_sqrt,
|
struct complex** R_sqrt,
|
||||||
double Td,
|
double Td,
|
||||||
double BW,
|
double sampling_rate,
|
||||||
|
double channel_bandwidth,
|
||||||
double ricean_factor,
|
double ricean_factor,
|
||||||
double aoa,
|
double aoa,
|
||||||
double forgetting_factor,
|
double forgetting_factor,
|
||||||
@@ -81,7 +82,8 @@ void fill_channel_desc(channel_desc_t *chan_desc,
|
|||||||
chan_desc->delays = delays;
|
chan_desc->delays = delays;
|
||||||
|
|
||||||
chan_desc->Td = Td;
|
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->ricean_factor = ricean_factor;
|
||||||
chan_desc->aoa = aoa;
|
chan_desc->aoa = aoa;
|
||||||
chan_desc->random_aoa = random_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,
|
channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
||||||
uint8_t nb_rx,
|
uint8_t nb_rx,
|
||||||
SCM_t channel_model,
|
SCM_t channel_model,
|
||||||
double BW,
|
double sampling_rate,
|
||||||
|
double channel_bandwidth,
|
||||||
double forgetting_factor,
|
double forgetting_factor,
|
||||||
int32_t channel_offset,
|
int32_t channel_offset,
|
||||||
double path_loss_dB)
|
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_tx = nb_tx;
|
||||||
chan_desc->nb_rx = nb_rx;
|
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->forgetting_factor = forgetting_factor;
|
||||||
chan_desc->channel_offset = channel_offset;
|
chan_desc->channel_offset = channel_offset;
|
||||||
chan_desc->path_loss_dB = path_loss_dB;
|
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:
|
case SCM_C:
|
||||||
chan_desc->nb_taps = 18;
|
chan_desc->nb_taps = 18;
|
||||||
chan_desc->Td = 4.625;
|
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;
|
sum_amps = 0;
|
||||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
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");
|
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->nb_taps = 18;
|
||||||
chan_desc->Td = 4.625;
|
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;
|
sum_amps = 0;
|
||||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
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:
|
case EPA:
|
||||||
chan_desc->nb_taps = 7;
|
chan_desc->nb_taps = 7;
|
||||||
chan_desc->Td = .410;
|
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;
|
sum_amps = 0;
|
||||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
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:
|
case EVA:
|
||||||
chan_desc->nb_taps = 9;
|
chan_desc->nb_taps = 9;
|
||||||
chan_desc->Td = 2.51;
|
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;
|
sum_amps = 0;
|
||||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
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:
|
case ETU:
|
||||||
chan_desc->nb_taps = 9;
|
chan_desc->nb_taps = 9;
|
||||||
chan_desc->Td = 5.0;
|
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;
|
sum_amps = 0;
|
||||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
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:
|
case MBSFN:
|
||||||
chan_desc->nb_taps = 18;
|
chan_desc->nb_taps = 18;
|
||||||
chan_desc->Td = 28.58;
|
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;
|
sum_amps = 0;
|
||||||
chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double));
|
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:
|
case Rayleigh8:
|
||||||
nb_taps = 8;
|
nb_taps = 8;
|
||||||
Td = 0.8;
|
Td = 0.8;
|
||||||
channel_length = (int)11+2*BW*Td;
|
channel_length = (int)11+2*sampling_rate*Td;
|
||||||
ricean_factor = 1;
|
ricean_factor = 1;
|
||||||
aoa = .03;
|
aoa = .03;
|
||||||
maxDoppler = 0;
|
maxDoppler = 0;
|
||||||
@@ -572,7 +576,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -585,7 +590,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
case Rice8:
|
case Rice8:
|
||||||
nb_taps = 8;
|
nb_taps = 8;
|
||||||
Td = 0.8;
|
Td = 0.8;
|
||||||
channel_length = (int)11+2*BW*Td;
|
channel_length = (int)11+2*sampling_rate*Td;
|
||||||
ricean_factor = 0.1;
|
ricean_factor = 0.1;
|
||||||
aoa = .03;
|
aoa = .03;
|
||||||
maxDoppler = 0;
|
maxDoppler = 0;
|
||||||
@@ -598,7 +603,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -624,7 +630,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -650,7 +657,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -683,7 +691,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
R_sqrt_ptr2,
|
R_sqrt_ptr2,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -716,7 +725,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
R_sqrt_ptr2,
|
R_sqrt_ptr2,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -742,7 +752,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -768,7 +779,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -803,7 +815,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
R_sqrt_ptr2,
|
R_sqrt_ptr2,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
forgetting_factor,
|
||||||
@@ -836,7 +849,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx,
|
|||||||
NULL,
|
NULL,
|
||||||
R_sqrt_ptr2,
|
R_sqrt_ptr2,
|
||||||
Td,
|
Td,
|
||||||
BW,
|
sampling_rate,
|
||||||
|
channel_bandwidth,
|
||||||
ricean_factor,
|
ricean_factor,
|
||||||
aoa,
|
aoa,
|
||||||
forgetting_factor,
|
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;
|
desc->ch[aarx+(aatx*desc->nb_rx)][k].y = 0.0;
|
||||||
|
|
||||||
for (l=0; l<desc->nb_taps; l++) {
|
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;
|
s = 1.0;
|
||||||
else
|
else
|
||||||
s = sin(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->BW) - 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].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;
|
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);
|
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
|
#ifdef RANDOM_CHANNEL_MAIN
|
||||||
#define BW 5.0
|
#define sampling_rate 5.0
|
||||||
#define Td 2.0
|
#define Td 2.0
|
||||||
main(int argc,char **argv)
|
main(int argc,char **argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
double amps[8] = {.8,.2,.1,.04,.02,.01,.005};
|
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;
|
int i;
|
||||||
|
|
||||||
randominit();
|
randominit();
|
||||||
phase.x = 1.0;
|
phase.x = 1.0;
|
||||||
phase.y = 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);
|
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,
|
void do_kdf(uint8_t *key, unsigned key_length, uint8_t *data, unsigned data_length,
|
||||||
uint8_t *exp, unsigned exp_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) {
|
if (compare_buffer(result, exp_length, exp, exp_length) != 0) {
|
||||||
fail("Fail: kdf\n");
|
fail("Fail: kdf\n");
|
||||||
|
|||||||
@@ -39,15 +39,15 @@ static
|
|||||||
void do_derive_kenb(uint32_t nas_count, const uint8_t *kasme, const unsigned length,
|
void do_derive_kenb(uint32_t nas_count, const uint8_t *kasme, const unsigned length,
|
||||||
const uint8_t *kenb_exp)
|
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) {
|
if (compare_buffer(kenb_exp, length, kenb, length) != 0) {
|
||||||
fail("Fail: kenb derivation\n");
|
fail("Fail: kenb derivation\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
free(kenb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void doit (void)
|
void doit (void)
|
||||||
|
|||||||
@@ -39,21 +39,23 @@ static
|
|||||||
void derive_knas_keys(algorithm_type_dist_t atd, uint8_t *kasme, unsigned length,
|
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_exp, uint8_t *knas_int_exp)
|
||||||
{
|
{
|
||||||
uint8_t *knas_enc;
|
uint8_t *knas_enc = NULL;
|
||||||
uint8_t *knas_int;
|
uint8_t *knas_int = NULL;
|
||||||
|
|
||||||
derive_key_nas_enc(atd, kasme, &knas_enc);
|
knas_enc = calloc(1, 32);
|
||||||
derive_key_nas_int(atd, kasme, &knas_int);
|
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 */
|
/* 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");
|
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");
|
fail("Fail: knas_int derivation\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
free(knas_enc);
|
free(knas_enc);
|
||||||
free(knas_int);
|
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,
|
uint8_t bearer, uint8_t *key, uint32_t key_length, uint8_t *message,
|
||||||
uint32_t length, uint8_t *expected)
|
uint32_t length, uint8_t *expected)
|
||||||
{
|
{
|
||||||
nas_stream_cipher_t *nas_cipher;
|
nas_stream_cipher_t *nas_cipher = NULL;
|
||||||
uint8_t *result;
|
uint8_t *result = NULL;
|
||||||
uint32_t zero_bits = length & 7;
|
uint32_t zero_bits = length & 7;
|
||||||
uint32_t byte_length = length >> 3;
|
uint32_t byte_length = length >> 3;
|
||||||
|
|
||||||
if (zero_bits > 0)
|
if (zero_bits > 0)
|
||||||
byte_length += 1;
|
byte_length += 1;
|
||||||
|
|
||||||
|
result = calloc(1, byte_length);
|
||||||
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
|
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
|
||||||
|
|
||||||
nas_cipher->direction = direction;
|
nas_cipher->direction = direction;
|
||||||
@@ -58,7 +59,7 @@ void eea1_encrypt(uint8_t direction, uint32_t count,
|
|||||||
nas_cipher->blength = length;
|
nas_cipher->blength = length;
|
||||||
nas_cipher->message = message;
|
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");
|
fail("Fail: nas_stream_encrypt_eea1\n");
|
||||||
|
|
||||||
if (compare_buffer(result, byte_length, expected, byte_length) != 0) {
|
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,
|
uint8_t bearer, uint8_t *key, uint32_t key_length, uint8_t *message,
|
||||||
uint32_t length, uint8_t *expected)
|
uint32_t length, uint8_t *expected)
|
||||||
{
|
{
|
||||||
nas_stream_cipher_t *nas_cipher;
|
nas_stream_cipher_t *nas_cipher = NULL;
|
||||||
uint8_t *result;
|
uint8_t *result = NULL;
|
||||||
uint32_t zero_bits = length & 7;
|
uint32_t zero_bits = length & 7;
|
||||||
uint32_t byte_length = length >> 3;
|
uint32_t byte_length = length >> 3;
|
||||||
|
|
||||||
if (zero_bits > 0)
|
if (zero_bits > 0)
|
||||||
byte_length += 1;
|
byte_length += 1;
|
||||||
|
|
||||||
|
result = calloc(1, byte_length);
|
||||||
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
|
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
|
||||||
|
|
||||||
nas_cipher->direction = direction;
|
nas_cipher->direction = direction;
|
||||||
@@ -58,7 +59,7 @@ void eea2_encrypt(uint8_t direction, uint32_t count,
|
|||||||
nas_cipher->blength = length;
|
nas_cipher->blength = length;
|
||||||
nas_cipher->message = message;
|
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");
|
fail("Fail: nas_stream_encrypt_eea2\n");
|
||||||
|
|
||||||
if (compare_buffer(result, byte_length, expected, byte_length) != 0) {
|
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);
|
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",
|
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,
|
UE_id,
|
||||||
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6)-174,
|
10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*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*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174,
|
||||||
next_slot,next_slot>>1);
|
next_slot,next_slot>>1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -342,7 +342,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
|
|||||||
r_im0,
|
r_im0,
|
||||||
nb_antennas_rx,
|
nb_antennas_rx,
|
||||||
frame_parms->samples_per_tti>>1,
|
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)
|
(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
|
#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,
|
r_im,
|
||||||
nb_antennas_rx,
|
nb_antennas_rx,
|
||||||
frame_parms->samples_per_tti>>1,
|
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)
|
(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
|
#ifdef DEBUG_SIM
|
||||||
|
|||||||
@@ -1122,24 +1122,28 @@ void init_ocm(void)
|
|||||||
else
|
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,
|
eNB2UE[eNB_id][UE_id][CC_id] =
|
||||||
PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||||
map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||||
oai_emulation.environment_system_config.system_bandwidth_MB,
|
map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||||
forgetting_factor,
|
N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL),
|
||||||
0,
|
N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL),
|
||||||
0);
|
forgetting_factor,
|
||||||
|
0,
|
||||||
|
0);
|
||||||
random_channel(eNB2UE[eNB_id][UE_id][CC_id],abstraction_flag);
|
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,
|
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);
|
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,
|
UE2eNB[UE_id][eNB_id][CC_id] =
|
||||||
PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx,
|
||||||
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx,
|
||||||
oai_emulation.environment_system_config.system_bandwidth_MB,
|
map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),
|
||||||
forgetting_factor,
|
N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL),
|
||||||
0,
|
N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL),
|
||||||
0);
|
forgetting_factor,
|
||||||
|
0,
|
||||||
|
0);
|
||||||
|
|
||||||
random_channel(UE2eNB[UE_id][eNB_id][CC_id],abstraction_flag);
|
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;
|
uint8_t qq;
|
||||||
|
|
||||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
/* 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++)
|
//for (aarx=0; aarx<eNB2UE->nb_rx; aarx++)
|
||||||
*N0 = thermal_noise + ue_data->rx_noise_level;//? all the element have the same noise level?????
|
*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;
|
// 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 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?????
|
*N0 = thermal_noise + enb_data->rx_noise_level;//? all the element have the same noise level?????
|
||||||
double lambda ;
|
double lambda ;
|
||||||
double residual;
|
double residual;
|
||||||
@@ -557,7 +557,7 @@ void calculate_sinr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *
|
|||||||
short count;
|
short count;
|
||||||
|
|
||||||
/* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */
|
/* 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++) {
|
for (count = 0; count < 12 * nb_rb; count++) {
|
||||||
sir = enb_data->tx_power_dBm
|
sir = enb_data->tx_power_dBm
|
||||||
|
|||||||
Reference in New Issue
Block a user