Compare commits

...

1 Commits

Author SHA1 Message Date
Rakesh Mundlamuri
ecad0e3618 Add ulsim_mu_mimo PHY simulator to test multi user MIMO scenarios 2026-04-14 12:31:18 +05:30
4 changed files with 1121 additions and 5 deletions

View File

@@ -2063,6 +2063,19 @@ target_link_libraries(nr_srssim PRIVATE
m pthread ITTI dl nr_ue_phy_meas physim_common softmodem_common
)
add_executable(nr_ulsim_mu_mimo
${OPENAIR1_DIR}/SIMULATION/NR_PHY/ulsim_mu_mimo.c
${NFAPI_USER_DIR}/nfapi.c
${NFAPI_USER_DIR}/gnb_ind_vars.c
${PHY_INTERFACE_DIR}/queue_t.c
)
target_link_libraries(nr_ulsim_mu_mimo PRIVATE
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_UE_NR MAC_NR_COMMON CONFIG_LIB L2_NR -Wl,--end-group
m pthread ${T_LIB} ITTI dl nr_ue_phy_meas physim_common softmodem_common
)
target_link_libraries(nr_ulsim_mu_mimo PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
if(CUDA_ENABLE)
if (TARGET oai_cuda_lib)
target_link_libraries(nr_dlsim PRIVATE oai_cuda_lib)
@@ -2119,7 +2132,7 @@ if (${T_TRACER})
lte-softmodem lte-uesoftmodem nr-softmodem
nr-uesoftmodem dlsim dlsim_tm4 dlsim_tm7
ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim
syncsim nr_ulsim nr_dlsim nr_dlschsim nr_pbchsim nr_pucchsim
syncsim nr_ulsim nr_ulsim_mu_mimo nr_dlsim nr_dlschsim nr_pbchsim nr_pucchsim
nr_ulschsim ldpctest polartest smallblocktest nr_srssim
#all "add_library" definitions
ITTI lte_rrc nr_rrc s1ap x2ap m2ap m3ap f1ap

View File

@@ -277,7 +277,7 @@ function main() {
SIMUS_PHY=1
CMAKE_CMD="$CMAKE_CMD -DENABLE_PHYSIM_TESTS=ON"
# TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim
TARGET_LIST="$TARGET_LIST dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim nr_psbchsim nr_srssim"
TARGET_LIST="$TARGET_LIST dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_ulsim_mu_mimo nr_pucchsim nr_prachsim nr_psbchsim nr_srssim"
echo_info "Will compile dlsim, ulsim, ..."
shift;;
-V | --vcd)

File diff suppressed because it is too large Load Diff

View File

@@ -222,7 +222,7 @@ if(PACKAGING_PHYSIM)
--------------------------------------------------------
Coding focused: polartest, smallblocktest, ldpctest
Downlink PHY: nr_dlschsim, nr_psbchsim, nr_dlsim
Uplink PHY: nr_pucchsim nr_prachsim nr_ulschsim nr_ulsim
Uplink PHY: nr_pucchsim nr_prachsim nr_ulschsim nr_ulsim nr_ulsim_mu_mimo
--------------------------------------------------------
polartest: test polar codes which are used in 5G control channels, validates encoding, decoding and error correction performance*
smallblocktest: generic test for small channel coding blocks, validates encoding and decoding for small transport blocks
@@ -233,7 +233,8 @@ if(PACKAGING_PHYSIM)
nr_dlsim: simulates NR downlink, including multiple downlink channels and measurements of BLER/throughput
nr_prachsim: simulates the Physical Random Access Channel, including UE initial access, preamble detection and timing alignment
nr_ulschsim: simulates the Uplink Shared Channel, including LDPC encoding, modulation, transmission and decoding
nr_ulsim: simulates the NR uplink simulation, including PUCCH, PUSCH and PRACH")
nr_ulsim: simulates the NR uplink simulation, including PUCCH, PUSCH and PRACH
nr_ulsim_mu_mimo: simulates the NR uplink simulation with PUSCH multi user MIMO")
if(PACKAGING_RPM)
set(CPACK_RPM_PACKAGE_OAI-PHYSIM_SUMMARY "OpenAirInterface PhySim package")
@@ -254,7 +255,7 @@ if(PACKAGING_PHYSIM)
install(FILES "${CMAKE_SOURCE_DIR}/doc/physical-simulators.md" DESTINATION share/doc/ COMPONENT oai-physim)
#Add the targets to the package
install(TARGETS polartest smallblocktest ldpctest nr_dlschsim nr_psbchsim nr_pucchsim nr_dlsim nr_prachsim nr_ulschsim nr_ulsim
install(TARGETS polartest smallblocktest ldpctest nr_dlschsim nr_psbchsim nr_pucchsim nr_dlsim nr_prachsim nr_ulschsim nr_ulsim nr_ulsim_mu_mimo
COMPONENT oai-physim
RUNTIME DESTINATION /usr/bin
LIBRARY DESTINATION /usr/lib