- 16 Dec, 2024 20 commits
-
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/ldpc_decoding_module_interface_rework' into integration_2024_w50 (2952) New LDPC coding library interface for decoding and encoding complete slots in one call to the library Previous attempts to integrate LDPC decoding relying on offloading show the limitation of the original code segment coding interface for the library implementing LDPC coding. In order to perform the offload and therefore the decoding in an optimal fashion, it is relevant to provide the implementation with the broader amount of data possible per call, which is a slot. A previous MR related to T2 offload managed to offer an interface for decoding transport blocks by modifying only nr_ulsch_decoding.c. But this may not be sufficient for performing an efficient decoding in any situation. Slots could be shared between multiple transport blocks in case multiple UEs are connected to the RAN, which makes the transport block size shrink and therefore degrades the efficiency of the offloading. This MR offers a broader interface with a gNB decoding entry point in phy_procedures_nr_gNB.c. The file nr_ulsch_decoding.c now lets the decoding library implement deinterleaving, rate-unmatching and decoding for the slot. In gNB encoding and UE decoding and encoding as well, tasks are partitioned in a similar fashion. As it allows to feed the implementation with the broadest amount of data possible, it allows to fit any coding solution in a library. This will avoid further modification to OAI source code and addition of options to select an implementation when integrating new decoding solutions. An implementation of this interface will therefore be offered for every existing decoding solution in OAI and solutions added in the future will be provided as independent module code without any modification to the core of OAI code. The way to choose the decoding solution and to configure it was also unified using configmodule. The library can be chosen through the option --loader.ldpc.shlibversion. The slot coding solutions shipped with this MR can be configured through configmodule (e.g., T2 address and isolated cores). This MR includes three coding implementations: - A wrapper around segment decoding libraries for test purpose: libldpc.so - A one shot slot coding and encoding with the T2 board: libldpc_t2.so - A decoder on FPGA using the XDMA driver: libldpc_xdma.so Improvements brought by this MR: - Easy integration of a wider variety of LDPC coding solution at gNB and UE - Easy selection of the LDPC coding solution (option --ldpc-offload-enable is kept for now but it can be ultimately removed) - T2: * More efficient when many UEs are connected * Decoding and encoding in nr-uesoftmodem
-
Robert Schmidt authored
NGAP-Initial Context Setup Failure NGAP Failure message - Initial Context Setup Failure. When an Initial Context Setup Request is received with the UE context as null, it triggers Initial Context Setup failure
-
Robert Schmidt authored
Add Rocky 9.5 to list of distributions
-
Robert Schmidt authored
SIB19 utilization on UE Following SIB19 initialization and scheduling on gNB (!2899 - merged) and Receive SIB19 on nrUE (!2920 - merged), this merge request aims to introduce the actual use of the SIB19 provided parameters by gNB in UE. Changes needed for utilization include: initialization of position coordinates parameters for UE (which are needed to calculate propagation delay between UE and SAT), propagation delay calculations and timing advance adjusts. Moreover, this change removes the now unused arguments for ntn_koffset, ntn_ta_common and ntn_ta_commondrift
-
Robert Schmidt authored
FHI-72: initialize mask, find correct libxran See commits for more information
-
Robert Schmidt authored
GTP: use direct call instead of ITTI Using ITTI calls for user plane implies (1) a memory allocation, (2) mutexes, and (3) queueing messages for each user plane packet, which is heavy. Use a direct API call instead to reduce overhead.
-
Romain Beurdouche authored
More complex implementations will be achieved using the new reworked interface - t_nrLDPC_dec_params: remove F, Qm, rv and perCB - encoder_implemparams_t: remove Qm, Tbslbrm, G, rv and perCB
-
Robert Schmidt authored
- Remove all variables (like OPENAIR1), they serve no purpose and make unnecessarily long lines - Remove linking to T, it does not seem to be necessary - Avoid intermediate variables to keep sources, and declare libraries directly, making for shorter code
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Raphael Defosseux authored
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
-
Yi-Hung Chang authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Yi-Hung Chang authored
-
Romain Beurdouche authored
-
- 13 Dec, 2024 5 commits
-
-
Madhuri.G authored
NGAP Failure message - Initial Context Setup Failure. When an Initial Context Setup Request is received with the UE context as null, it triggers Initial Context Setup failure.
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/fix-type-remove-assert-2layer-mmse' into integration_2024_w50 (!3149) Fix several issues in ulsch_mmse_2layers Fix incorrect array type of determ_fin which was set to int32_t while the array holds the results of simde_mm_abs_epi32 which produces unsigned values. Remove assert on right-shifting negative integers as it is impossible for determ_fin to hold negative values. Change type of sum_det to uint32_t to prevent possible overflow. Fix the type cast (int -> uint32_t) to prevent casting before shift in nr_ulsch_comp_muli_sum which might have resulted in right shifting negative integers. Closes: #753
-
Robert Schmidt authored
UE data race fix When a new sync request is sent to PHY, we clear harq buffer and start synchronization process. This could lead to unexpected behavior or segv because DL actors might be using the buffer we just cleared. To avoid this, the DL actors are shutdown and re initiated before clearing harq info.
-
Robert Schmidt authored
Enable USRP Tx thread in nrUE The option usrp-tx-thread-config 1 was not taking effect in UE. This MR fixes it.
-
Robert Schmidt authored
CI: Add FHI7.2 test with Metanoia RU Replace VVDN RU by Metanoia RU in the RAN-SA-FHI72-CN5G pipeline.
-
- 12 Dec, 2024 4 commits
-
-
Romain Beurdouche authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Some users copy libxran.so to a system directory (e.g., /usr/local/lib). At the same time, we require xran_LOCATION to be set to find the build directory. Use HINTS to prefer the location passed through xran_LOCATION. Also, use NO_DEFAULT_PATH to outright disallow global scope, to prevent "accidentally" finding libxran.so in global scope (this is for multi-user systems that are used in development, and where people have different version of libxran for testing purposes). To still use packages in e.g., /usr/local/, it would be possible to set xran_LOCATION to this directory. (there is a problem that the version information will likely not be read correctly, so this might not be enough)
-
Jaroslava Fiedlerova authored
-
- 11 Dec, 2024 11 commits
-
-
Robert Schmidt authored
1 needs to be marked as long long, to allow shifting numbers >= 32. Otherwise, 1 is an int, limited to 32 bits.
-
Badescu, Ciprian authored
fix the case when writeBlockSize is greater than samples/slot by sending samples from the same buffer instead of out-of-bounds memory read
-
Bartosz Podrygajlo authored
Set the number of barriers to 512 and implement proper slot and frame based selection. Now the dynamic barriers should not be overwritten in case the rx-to-tx offset is high. The maximum offset supported is 512.
-
Roberto Rosca authored
Update 5g_rfsimulator_ntn_geo docker file and configs used for test to exclude unused parameters and add ntn related values.
-
Roberto Rosca authored
position_coordinates will be allocated and populated upon receiving SIB19 Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Roberto Rosca authored
-
Roberto Rosca authored
- Removed ntn_koffset, ntn_ta_common, ntn_ta_commondrift arguments in order to be used directly from SIB19 - Removed global NTN_UE_Koffset variable and it's use - Introduced getter functions for ntn related parameters
-
Robert Schmidt authored
-
Robert Schmidt authored
See parent commit for more information. LTE PDCP uses GTP, so need to link GTP into the corresponding library.
-