1. 23 Dec, 2025 12 commits
    • Bartosz Podrygajlo's avatar
      d6bd2d29
    • Bartosz Podrygajlo's avatar
      vrtsim: add stubs to beam functions · d6da7a56
      Bartosz Podrygajlo authored
      Add stubbed versions of _beam_ apis to vrtsim.
      d6da7a56
    • Bartosz Podrygajlo's avatar
      RFsim: Allow arbitrary order of beams. · b1061760
      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.
      b1061760
    • Bartosz Podrygajlo's avatar
      Rfsim: Optimization for simple configurations · 033aed73
      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.
      033aed73
    • Bartosz Podrygajlo's avatar
      RFsim: Fix freeing packets in case of non-negative channel offset · c587aab6
      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.
      c587aab6
    • Bartosz Podrygajlo's avatar
      Make RFSIMULATOR_PARAMS_DESC C++ compatible. · 05de66d8
      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.
      05de66d8
    • Bartosz Podrygajlo's avatar
      435dfd57
    • Bartosz Podrygajlo's avatar
      RFsim: read_beams function · 643be878
      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.
      643be878
    • Bartosz Podrygajlo's avatar
      Rfsim: Process received packets on demand · 669be5b4
      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.
      669be5b4
    • Bartosz Podrygajlo's avatar
      Fix formatting for apply_channelmod.c · 4ec69cad
      Bartosz Podrygajlo authored
      4ec69cad
    • Bartosz Podrygajlo's avatar
      rfsim: process received packet when its received completely · f0d4325c
      Bartosz Podrygajlo authored
      The simplifies some code in packet reception and is a prerequisite
      for processing received without relying on circular buffer
      f0d4325c
    • Bartosz Podrygajlo's avatar
      Beam simulation for rfsimulator · 143c5459
      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: default avatarLaurent Thomas <laurent.thomas@open-cells.com>
      143c5459
  2. 17 Dec, 2025 3 commits
  3. 12 Dec, 2025 2 commits
    • Jaroslava Fiedlerova's avatar
      Merge branch 'integration_2025_w50' into 'develop' · 479be40b
      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
      479be40b
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/symbol-duration-functions' into integration_2025_w50 (!3808) · 44c64a2e
      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.
      44c64a2e
  4. 10 Dec, 2025 6 commits
  5. 09 Dec, 2025 6 commits
  6. 08 Dec, 2025 1 commit
  7. 04 Dec, 2025 1 commit
    • Jaroslava Fiedlerova's avatar
      Merge branch 'integration_2025_w49' into 'develop' · 91e7030c
      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
      91e7030c
  8. 03 Dec, 2025 9 commits