- 23 Dec, 2025 8 commits
-
-
Bartosz Podrygajlo authored
In rfsim, received packets are dynamically allocated and freed when no longer needed, which is dependent on the channel model, packet timestamp and packet size (number of samples carried). This commit fixes the packet age check for channels with nonzero channel offset (most notalby NTN channels). Also present: - extract the NTN satellite position update code to a separate function and call it once per trx_read call instead of once per rx beam.
-
Bartosz Podrygajlo authored
Add a set of macros with designated initializers to simplify using paramdef_t arrays in C++ source code. Fix clang error with RFSIMULATOR_PARAMS_DESC using mixed designated and non-designated initializers.
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
Added a new function for reading multiple beams concurrently. The TX to RX beam combination is simplistic and based on beam gain.
-
Bartosz Podrygajlo authored
- Received packets are dynamically allocated and kept in a queue for as long as they are needed. - The layout of the packets was changed from interleaved antennas to non-interleaved antennas. - Generate a contiguous buffer from saved packets as needed. There is extra work caused by this change due to recv() call no longer saving data directly into the circular buffer, however further processing is easier due to contiguous nature of the tx antenna buffers prepared. The impact on performance was not measured.
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
The simplifies some code in packet reception and is a prerequisite for processing received without relying on circular buffer
-
Bartosz Podrygajlo authored
A simplified beam switching simulation for rfsimulator. This works mainly in 1 gNB - N UEs scenarios. This is not a real beamformer with antenna, channel and propagation model. The way it works is that the peers inform each other about the beams they transmit in, and on reception before channel modelling, the beam data is combined based on preconfigured rx_beam/tx_beam gain matrix. Usage: - Add --rfsimulator.enable_beams to enable beam simulation - Add --rfsimulator.beam_gains <comma separated Toepliz form matrix of gains in dB>. Example list: 0,-5,-10 Resulting matrix: [[0, -5, -10] [-5, 0, -5]] [-10, -5, 0]] - Add --telnetsrv if you want to control the beams manually. The command in telnet is "rfsimu setbeam <beam_map>", where beam_map is a uint64_t controling the reception beam and transmission beam. If the application is switching the beams automatically the beams will be overwritten as soon as the application chooses to switch beams. Co-authored-by:Laurent Thomas <laurent.thomas@open-cells.com>
-
- 17 Dec, 2025 3 commits
-
-
Bartosz Podrygajlo authored
This function is to be called by the application to switch beams on reception and transmission. When receiving new samples using trx_read/trx_write the application is expected to be able to determine which beam the samples belong to.
-
Bartosz Podrygajlo authored
Co-authored-by:Laurent Thomas <laurent.thomas@open-cells.com>
-
Bartosz Podrygajlo authored
Convert rfsimulator C source code to C++ to access to STL.
-
- 12 Dec, 2025 2 commits
-
-
Jaroslava Fiedlerova authored
Integration `2025.w50` * !3638 NR UE: calculate TA based on SIB19 information in NTN mode, if autonomous TA is not enabled * !3624 NR UE: improve handling of Handover procedures * !3807 doc: Update doc for IF setup * !3741 Update documenation for handover * !3798 Fix for computation of PRACH occasions and association period * !3808 Add symbol timing functions for NR_DL_FRAME_PARMS + optimization for slot timing counterparts Closes #981 See merge request oai/openairinterface5g!3806
-
Jaroslava Fiedlerova authored
Add symbol timing functions for NR_DL_FRAME_PARMS + optimization for slot timing counterparts Add two new functions for calculation symbol timestamp and symbol duration for NR_DL_FRAME_PARMS. Also includes an optimization focused on removing inefficiencies related slot-related counterparts.
-
- 10 Dec, 2025 6 commits
-
-
Sakthivel Velumani authored
-
Sakthivel Velumani authored
For 15kHz SCS, symbols with index 0 and 7 have longer cyclic prefix. This is now fixed in frame parms struct.
-
Sakthivel Velumani authored
1. Removed function pointers for functions get_samples_per_slot(), get_samples_slot_timestamp() and get_slot_from_timestamp() as it does not offer any advantage. The functions are now called directly from everywhere. 2. Optimized these functions by removing loops where ever possible.
-
Jaroslava Fiedlerova authored
Fix for computation of PRACH occasions and association period
-
Jaroslava Fiedlerova authored
Update documenation for handover Update documentation for handover to include the changes that were made after upgrading the CI handover setup (attenuator, USRPs synchronization)
-
Jaroslava Fiedlerova authored
doc: Update doc for IF setup Update IF setup doc, clarify how to set if_freq with large value in the gNB configuration file. Per the libconfig manual, 64-bit integers are represented like regular integers but require an appended "L" (https://www.hyperrealm.com/libconfig/libconfig_manual.html#g_t64_002dbit-Integer-Values).
-
- 09 Dec, 2025 6 commits
-
-
Bartosz Podrygajlo authored
-
Reem Bahsoun authored
Update documenation for F1 handover to include the changes that were made after upgarding the CI handover setup (attenuator, USRPs synchronization)
-
francescomani authored
-
francescomani authored
-
Jaroslava Fiedlerova authored
-
francescomani authored
-
- 08 Dec, 2025 1 commit
-
-
Jaroslava Fiedlerova authored
NR UE: calculate TA based on SIB19 information in NTN mode, if autonomous TA is not enabled To achieve the goal, the hyper frame number (HFN) is introduced at the NR UE PHY, MAC and RRC layers. Besides this, we also implemented an orbit propagation to improve the accuracy of N_UE_TA_adj, and a fix to keep the N_TA from RAR and MAC CE. Fixes #981
-
- 04 Dec, 2025 1 commit
-
-
Jaroslava Fiedlerova authored
Integration `2025.w49`/`v2.4` * !3786 Consistently use OAI_RNGSEED env variable for RNG * !3758 Add yq to edit yaml files and add yaml-dev library in containers missing it * Fix RFemulator noise device RNG initialization * !3780 NGAP: fix PDU Session Release Response * !3795 Increase Aerial-based L2 test core number * !3794 Fix missing E2SM-RC message forward * !3660 Fixes for BWP switching * !3797 Fix FAPI WLS timing, UL counter, doc * release notes v2.4 See merge request oai/openairinterface5g!3792
-
- 03 Dec, 2025 13 commits
-
-
Robert Schmidt authored
-
Bartosz Podrygajlo authored
Add two new functions for calculation symbol timestamp and symbol duration for NR_DL_FRAME_PARMS. These functions are not using the existing indirection mechanism via function pointers as this prevents the compiler from properly optimizing the code.
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/fapi-wls-fixes-timing-counter-doc' into integration_2025_w49 (!3797) Fix FAPI WLS timing, UL counter, doc - Fix FAPI WLS timing - Fix periodical PNF UL throughput logs - Update documentation to better explain how to run WLS with radio (USRP B210)
-
Robert Schmidt authored
Fixes for BWP switching This MR fixes some issues when performing BWP switching via reconfiguration. It also adds a CI test for BWP switching. # Please enter a commit message to explain why this merge is necessary,
-
Robert Schmidt authored
In all cases (CFRA in SA for HO, or CFRA in NSA/do-ra for access), the UE has the full configuration already. We can therefore directly switch to a dedicated search space, as it is already known to the UE.
-
francescomani authored
-
Robert Schmidt authored
Trigger various BWP switches through telnet, and test traffic after each switch.
-
Robert Schmidt authored
-
francescomani authored
-
francescomani authored
-
francescomani authored
... so if we want to have 1 BWP configured at any given time we need to reconfigure BWP 1 every time. This means that since the gNB has more than 1 BWPs (for use for different UEs), that there is a "gNB BWP ID" (as used by the gNB), which can be any BWP ID X, and one "UE BWP ID", which is always 1. This commit implements this distinction.
-
Robert Schmidt authored
-
Robert Schmidt authored
-