- 24 Dec, 2025 1 commit
-
-
Robert Schmidt authored
Rfsimulator beam reception/transmission 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 . 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. Supports up to 64 concurrent TX and RX beams.
-
- 23 Dec, 2025 23 commits
-
-
Robert Schmidt authored
Add missing CMakeLists entries for test_nr_frame_params
-
Robert Schmidt authored
gNB: apply new NR_CellGroupConfig when RRCReconfiguration is acknowledged Currently part of the NR_CellGroupConfig is already applied when the RRCReconfiguration message is created. This is not correct and this MR fixes this by applying it when the RRCReconfiguration message is acknowledged. With this fixed, we also move disabling the feedback (in case disable_harq is used) from the RRCSetup message to the RRCReconfiguration message. Closes: #1002
-
Robert Schmidt authored
automatic selection of SIB1 TDA
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
Add CLI parameter rfsimulator.beam_ids which uses a list of beam ids instead of a beam map. The beam map API is still present and can be used interchangably. Add telnet command setbeamids which has similar semantics
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
Handle extra channel offset coming from CLI parameter prop_delay.
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
Add stubbed versions of _beam_ apis to vrtsim.
-
Bartosz Podrygajlo authored
Allow arbitrary order of beam ids in set_beams2 function. This allows the application to select any arbitrary order of beam ids. The underlying transport mechanism still uses beam_map so the beam_ids are ordered before sending. Also replaced tx_beam_map/rx_beam_map into beam_map. Also fixed an issue where --rfsimulator.enable_beams required an argument.
-
Bartosz Podrygajlo authored
- Added first beam optimization to combine_tx_buffers. - Added first beam & first peer optimization to rfsimulator_read_internal This results in significant speed up for the first rx beam, first tx beam and first peer which is the base case with beam simulation disabled.
-
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>
-
Robert Schmidt authored
CORESET start multiple of 6 fix According to the standard any CORESET (except CSET0) would always start from the first common resource block index which is multiple of 6 in the BWP. This was not taken into account in the code. The BWP switch CI test is modified to test a BWP start not multiple of 6. An exception is the case where rb-Offset-r16 parameter is set, but can't be used at gNB for FAPI compatibility. Closes: #1037
-
Robert Schmidt authored
NR UE: calculate DL and UL Doppler based on SIB19 information in NTN mode, fixing LEO reestablishment
-
francescomani authored
-
- 22 Dec, 2025 6 commits
-
-
francescomani authored
-
francescomani authored
-
francescomani authored
-
francescomani authored
-
Robert Schmidt authored
Hotfix for handling the case where the number of physical antennas is larger than the number of logical antennas
-
Robert Schmidt authored
[FHI72] Fix the PRACH FFT size ru_config->fftSize is used for the C-plane Section Type 3 which is dedicated for PRACH and mixed numerology. Previously, we assumed that PRACH FFT size is equivalent to PxSCH FFT size, but should be based on the PRACH format. Tests with the following RUs: - [x] Benetel v1.2.2 & v1.4.1 - [x] VVDN Gen 3 - [x] Liteon 02.00.10 - [x] Metanoia v2.2.8 (Jura)
-
- 20 Dec, 2025 2 commits
-
-
Raymond Knopp authored
hotfix for when there are more physical TX antenna ports (ru->nb_tx) than logical antenna ports (config->carrier_config.num_tx_ant.value).
-
francescomani authored
-
- 19 Dec, 2025 8 commits
-
-
Jaroslava Fiedlerova authored
Integration `2025.w51` * !3816 Add two missing include guards * !3715 Pass beam ID as per FAPI v222.10 * !3777 UE NTN : Fix in case SIB19 periodicity is greater than 2 secs * !3813 Reset outdated PUCCHs to avoid Assertion caused by non-processed and active PUCCHs * !3815 Remove phy_extern_nr_ue file * !3824 CI: adjust UE attach timeout handling * !3735 vrtsim: Optimize channel modelling See merge request oai/openairinterface5g!3817
-
Thomas Schlichter authored
NR UE: add option "--cont-fo-comp 3" to not consider measured residual DL FO for UL FO pre-compensation
-
Thomas Schlichter authored
-
Thomas Schlichter authored
-
Thomas Schlichter authored
Make sure to apply Doppler and TA not directly when receiving the target cell ntn_config, but apply Doppler just before the initial sync, and the TA after the initial sync when we have tha actuel cell frame and slot numbers.
-
Thomas Schlichter authored
NR UE FAPI: provide ntn_config as part of phy_config.config_req instead of a dedicated scheduled_response dl_config PDU We need the ntn_config when reconfiguring the PHY layer for a new initial sync, e.g. for calculating the DL Doppler frequency. As a dedicated scheduled_response dl_config PDU it reaches the PHY layer too late, as part of the phy_config.config_req it reaches the PHY layer in time with the other configuration values.
-
Thomas Schlichter authored
-
Thomas Schlichter authored
-