Merge branch 'restruct_update' of https://github.com/softwareradiosystems/srslte into restruct_update

This commit is contained in:
Paul Sutton 2017-06-02 15:21:51 +01:00
commit 5d4d07a14a
6 changed files with 63 additions and 68 deletions

View File

@ -217,43 +217,55 @@ macro(ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have)
endif(${have}) endif(${have})
endmacro(ADD_CXX_COMPILER_FLAG_IF_AVAILABLE) endmacro(ADD_CXX_COMPILER_FLAG_IF_AVAILABLE)
if(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
#Any additional flags for CXX set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${GCC_ARCH} -Wall -Wno-comment -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable -std=c++03")
endif(CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-comment -Wno-write-strings -Wno-format-extra-args -Winline -Wno-unused-result -Wno-format -std=c99 -D_GNU_SOURCE -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-comment -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable")
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
find_package(SSE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -DDEBUG_MODE")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -DDEBUG_MODE") else(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -std=c++03") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
endif(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
find_package(SSE)
if (HAVE_AVX2)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -mavx2 -DLV_HAVE_AVX2 -DLV_HAVE_AVX -DLV_HAVE_SSE")
else (HAVE_AVX2)
if(HAVE_AVX) if(HAVE_AVX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mfpmath=sse -mavx -DLV_HAVE_AVX -DLV_HAVE_SSE") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -mavx -DLV_HAVE_AVX -DLV_HAVE_SSE")
elseif(HAVE_SSE) elseif(HAVE_SSE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mfpmath=sse -msse4.1 -DLV_HAVE_SSE") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -msse4.1 -DLV_HAVE_SSE")
endif(HAVE_AVX) endif(HAVE_AVX)
endif (HAVE_AVX2)
endif(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${GCC_ARCH} -Wall -Wno-comment -Wno-write-strings -Wno-format-extra-args -Winline -Wno-unused-result -Wno-format -std=c99 -D_GNU_SOURCE")
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -DDEBUG_MODE")
else(${CMAKE_BUILD_TYPE} STREQUAL "Debug") else(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=c++03")
find_package(SSE)
if (HAVE_AVX2)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mfpmath=sse -mavx2 -Ofast -funroll-loops -DLV_HAVE_AVX -DLV_HAVE_SSE")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mfpmath=sse -mavx2 -DLV_HAVE_AVX -DLV_HAVE_SSE")
else (HAVE_AVX2)
if(HAVE_AVX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mfpmath=sse -mavx -Ofast -funroll-loops -DLV_HAVE_AVX -DLV_HAVE_SSE")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mfpmath=sse -mavx -DLV_HAVE_AVX -DLV_HAVE_SSE")
elseif(HAVE_SSE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mfpmath=sse -msse4.1 -Ofast -funroll-loops -DLV_HAVE_SSE")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mfpmath=sse -msse4.1 -DLV_HAVE_SSE")
endif(HAVE_AVX)
endif (HAVE_AVX2)
endif(${CMAKE_BUILD_TYPE} STREQUAL "Debug") endif(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
find_package(SSE)
if (HAVE_AVX2)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse -mavx2 -DLV_HAVE_AVX2 -DLV_HAVE_AVX -DLV_HAVE_SSE")
else (HAVE_AVX2)
if(HAVE_AVX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse -mavx -DLV_HAVE_AVX -DLV_HAVE_SSE")
elseif(HAVE_SSE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse -msse4.1 -DLV_HAVE_SSE")
endif(HAVE_AVX)
endif (HAVE_AVX2)
if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
if(HAVE_SSE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Ofast -funroll-loops")
endif(HAVE_SSE)
endif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=neon -march=native -DIS_ARM -DHAVE_NEON") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=neon -march=native -DIS_ARM -DHAVE_NEON")
message(STATUS "have ARM") message(STATUS "have ARM")
@ -263,26 +275,16 @@ if(CMAKE_COMPILER_IS_GNUCC)
if(NOT WIN32) if(NOT WIN32)
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN) ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN)
endif(NOT WIN32) endif(NOT WIN32)
endif(CMAKE_COMPILER_IS_GNUCC) endif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
if(MSVC)
include_directories(${PROJECT_SOURCE_DIR}/msvc) #missing headers
add_definitions(-D_WIN32_WINNT=0x0501) #minimum version required is windows xp
add_definitions(-DNOMINMAX) #disables stupidity and enables std::min and std::max
add_definitions( #stop all kinds of compatibility warnings
-D_SCL_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE
)
add_definitions(/MP) #build with multiple processors
endif(MSVC)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# The following is needed for weak linking to work under OS X # The following is needed for weak linking to work under OS X
set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup") set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup")
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "CMAKE_C_FLAGS is ${CMAKE_C_FLAGS}")
message(STATUS "CMAKE_CXX_FLAGS is ${CMAKE_CXX_FLAGS}")
######################################################################## ########################################################################
# Create uninstall targets # Create uninstall targets
######################################################################## ########################################################################

View File

@ -305,12 +305,12 @@ void srslte_vec_prod_sss_avx(short *x, short *y, short *z, uint32_t len)
__m256i xVal, yVal, zVal; __m256i xVal, yVal, zVal;
for(;number < points; number++){ for(;number < points; number++){
xVal = _mm256_load_si256(xPtr); xVal = _mm256_loadu_si256(xPtr);
yVal = _mm256_loadu_si256(yPtr); yVal = _mm256_loadu_si256(yPtr);
zVal = _mm256_mullo_epi16(xVal, yVal); zVal = _mm256_mullo_epi16(xVal, yVal);
_mm256_store_si256(zPtr, zVal); _mm256_storeu_si256(zPtr, zVal);
xPtr ++; xPtr ++;
yPtr ++; yPtr ++;

View File

@ -57,7 +57,7 @@ drb_config = drb.conf
##################################################################### #####################################################################
[rf] [rf]
dl_earfcn = 3400 dl_earfcn = 3400
tx_gain = 60 tx_gain = 70
rx_gain = 50 rx_gain = 50
#device_name = auto #device_name = auto
@ -121,8 +121,8 @@ enable = false
#pdsch_mcs = -1 #pdsch_mcs = -1
#pdsch_max_mcs = -1 #pdsch_max_mcs = -1
#pusch_mcs = -1 #pusch_mcs = -1
#pusch_max_mcs = -1 pusch_max_mcs = 16
#nof_ctrl_symbols = 3 nof_ctrl_symbols = 2
##################################################################### #####################################################################
# Expert configuration options # Expert configuration options
@ -134,6 +134,8 @@ enable = false
# tx_amplitude: Transmit amplitude factor (set 0-1 to reduce PAPR) # tx_amplitude: Transmit amplitude factor (set 0-1 to reduce PAPR)
# link_failure_nof_err: Number of PUSCH failures after which a radio-link failure is triggered. # link_failure_nof_err: Number of PUSCH failures after which a radio-link failure is triggered.
# a link failure is when SNR<0 and CRC=KO # a link failure is when SNR<0 and CRC=KO
# max_prach_offset_us: Maximum allowed RACH offset (in us)
#
##################################################################### #####################################################################
[expert] [expert]
#pdsch_max_its = 4 #pdsch_max_its = 4
@ -142,6 +144,7 @@ enable = false
#tx_amplitude = 0.8 #tx_amplitude = 0.8
#link_failure_nof_err = 10 #link_failure_nof_err = 10
#rrc_inactivity_timer = 5000 #rrc_inactivity_timer = 5000
#max_prach_offset_us = 30
##################################################################### #####################################################################
# Manual RF calibration # Manual RF calibration

View File

@ -8,7 +8,7 @@ mac_cnfg =
}; };
ulsch_cnfg = ulsch_cnfg =
{ {
max_harq_tx = 5; max_harq_tx = 4;
periodic_bsr_timer = 20; // in ms periodic_bsr_timer = 20; // in ms
retx_bsr_timer = 320; // in ms retx_bsr_timer = 320; // in ms
}; };
@ -21,7 +21,7 @@ phy_cnfg =
phich_cnfg = phich_cnfg =
{ {
duration = "Normal"; duration = "Normal";
resources = "1/6"; resources = "1";
}; };
pusch_cnfg_ded = pusch_cnfg_ded =
@ -34,7 +34,7 @@ phy_cnfg =
// PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource.
sched_request_cnfg = sched_request_cnfg =
{ {
dsr_trans_max = 4; dsr_trans_max = 16;
period = 40; // in ms period = 40; // in ms
subframe = [0]; // vector of subframe indices allowed for SR transmissions subframe = [0]; // vector of subframe indices allowed for SR transmissions
nof_prb = 2; // number of PRBs on each extreme used for SR (total prb is twice this number) nof_prb = 2; // number of PRBs on each extreme used for SR (total prb is twice this number)

View File

@ -22,19 +22,13 @@ sib2 =
{ {
rach_cnfg = rach_cnfg =
{ {
num_ra_preambles = 4 num_ra_preambles = 52
preamble_init_rx_target_pwr = -108; preamble_init_rx_target_pwr = -108;
pwr_ramping_step = 6; // in dB pwr_ramping_step = 6; // in dB
preamble_trans_max = 7; preamble_trans_max = 7;
ra_resp_win_size = 8; // in ms ra_resp_win_size = 10; // in ms
mac_con_res_timer = 64; // in ms mac_con_res_timer = 64; // in ms
max_harq_msg3_tx = 1; max_harq_msg3_tx = 4;
preambles_group_a_cnfg =
{
size_of_ra = 4;
msg_size = 56;
msg_pwr_offset_group_b = -1;
};
}; };
bcch_cnfg = bcch_cnfg =
{ {
@ -51,8 +45,8 @@ sib2 =
prach_cnfg_info = prach_cnfg_info =
{ {
high_speed_flag = false; high_speed_flag = false;
prach_config_index = 53; prach_config_index = 3;
prach_freq_offset = 11; prach_freq_offset = 0;
zero_correlation_zone_config = 11; zero_correlation_zone_config = 11;
}; };
}; };

View File

@ -21,9 +21,9 @@
# Default "auto". B210 USRP: 400 us, bladeRF: 0 us. # Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
##################################################################### #####################################################################
[rf] [rf]
dl_freq = 2680000000 dl_freq = 2685000000
ul_freq = 2560000000 ul_freq = 2565000000
tx_gain = 60 tx_gain = 70
rx_gain = 50 rx_gain = 50
#nof_rx_ant = 1 #nof_rx_ant = 1
@ -134,11 +134,7 @@ enable = false
#ue_category = 4 #ue_category = 4
#prach_gain = 30 #prach_gain = 30
#cqi_max = 15 #cqi_max = 15
#cqi_offset = 0
#cqi_fixed = 10 #cqi_fixed = 10
#cqi_random_ms = 0
#cqi_period_ms = 0
#cqi_period_duty = 0.5
#snr_ema_coeff = 0.1 #snr_ema_coeff = 0.1
#snr_estim_alg = refs #snr_estim_alg = refs
#pdsch_max_its = 4 #pdsch_max_its = 4