An error occurred fetching the project authors.
  1. 11 Jun, 2024 1 commit
  2. 04 Jun, 2024 1 commit
  3. 28 May, 2024 1 commit
  4. 21 May, 2024 1 commit
  5. 14 May, 2024 3 commits
  6. 17 Apr, 2024 1 commit
  7. 08 Apr, 2024 1 commit
  8. 04 Apr, 2024 1 commit
  9. 12 Feb, 2024 4 commits
    • Robert Schmidt's avatar
      Remove misleading PUSCH decoding · 362bc481
      Robert Schmidt authored
      PUSCH decoding is started multiple times in nr_ulsch_procedures() for
      each ULSCH segment, and stopped once inside
      phy_procedures_gNB_uespec_RX(). Not only is it not clear if that works
      with the API, it also might measure more than just PUSCH decoding.
      
      Remove the PUSCH decoding, it is misleading. Check L1 RX processing
      instead.
      362bc481
    • Robert Schmidt's avatar
      Add slot indication timing · e9d6081a
      Robert Schmidt authored
      e9d6081a
    • Raymond Knopp's avatar
      Introduce separate thread to handle gNB TX processing · d52b8179
      Raymond Knopp authored
      This commit introduces a separate thread (l1_tx_thread) that processes
      gNB DL/TX slots. It receives a message from the ru_thread when a new
      slot started, and starts processing.
      
      The DL part of the scheduler is run in the l1_tx_thread.  Therefore,
      only call UL indication (for scheduler) in UL slots.  The UL indication
      previously triggered the DL scheduler -- hence, it had to be called in
      every slot. Now, since the DL scheduler is moved into the DL thread, we
      don't have to call the scheduler in every slot anymore.
      
      The reorder thread is removed, as reordering with this scheme is not
      necessary anymore.
      
      The main advantage of this version is that the TX can be scheduled
      earlier (sl_ahead). Further, there can no longer be race conditions in
      the TX path, since the scheduler/L2, TX L1 processing and the RU tx
      function are all execute in the same thread (L1_tX_thread).
      
      Also, the scheduler prepares PRACH/PUSCH/PUCCH FAPI PDUs. As of this
      commit, the scheduler runs in the TX processing chain, whereas these
      PDUs are destined for RX processing.  Thus, too avoid data races,
      instead of triggering the RX processing at the same time as TX
      processing in the RU thread, this commit changes the code to trigger RX
      processing after the scheduler has been run in TX processing to avoid
      data races.
      
      Finally, we synchronize RU and L1 threads. This is important for
      rfsimulator, since unlike most radios, rfsimulator can run slower or
      faster, depending on I/O and CPU (it does not have a stable "tick").
      Co-authored-by: default avatarkiran <saikiran@iitj.ac.in>
      d52b8179
    • Robert Schmidt's avatar
      Remove unused UL_INFO_mutex · fb69d9c6
      Robert Schmidt authored
      The UL_INFO_mutex is used in only one place, and therefore useless.
      Also, the scheduler uses a lock internally to prevent concurrent access.
      Hence, the UL_INFO_mutex is not needed.
      
      Remove kill_gNB_proc(), as it is now dead code.
      fb69d9c6
  10. 23 Jan, 2024 1 commit
    • Robert Schmidt's avatar
      Add configuration for phase compensation · 9b113d2c
      Robert Schmidt authored
      For 7.2 FH, some RUs do phase compensation, whereas for others, the DU
      does it. In fact, this can be "negotiated" using the M plane. Since we
      don't have the M plane yet, add a configuration option to set where
      phase compensation is performed.
      9b113d2c
  11. 19 Jan, 2024 1 commit
  12. 07 Dec, 2023 1 commit
  13. 29 Nov, 2023 1 commit
  14. 28 Nov, 2023 2 commits
  15. 03 Nov, 2023 1 commit
  16. 10 Oct, 2023 1 commit
  17. 06 Oct, 2023 1 commit
  18. 29 Sep, 2023 1 commit
  19. 25 Sep, 2023 5 commits
  20. 04 Sep, 2023 1 commit
  21. 10 Jul, 2023 1 commit
  22. 12 Jun, 2023 1 commit
  23. 15 May, 2023 1 commit
    • Raymond Knopp's avatar
      Add new parameter tx_amp_backoff_dB to L1 section of configuration file · 139cdc0d
      Raymond Knopp authored
      Provides the backoff from full-scale output at the L1 entity
      (frequency-domain samples). Default is, 36 dBFS, which is the correct
      value when using the OAI RU entity. For O-RAN RU, this value should be
      set according to the O-RU manufacturer requirements. For example 12
      would corresponding to 14-bit input level (6 dB/bit).
      
      Applies the TX amp backoff to PBCH, PDCCH and CSI
      139cdc0d
  24. 19 Apr, 2023 2 commits
  25. 17 Apr, 2023 1 commit
  26. 05 Apr, 2023 1 commit
    • Cedric Roux's avatar
      bugfix: change memory management of interface between PHY and MAC scheduler · 733c7e5e
      Cedric Roux authored
      This commit fixes a bug caused by global variables in the gNB_MAC_INST
      structure used to transfer MAC scheduler's results to the PHY layer.
      
      When using several threads in the PHY layer, it may happen that the
      MAC scheduler is called a second time by the second PHY thread for the
      next slot before the content of the global variables in the gNB_MAC_INST
      structure used to store the result of the MAC scheduler for the current
      slot have been consumed by the first thread, leading to unpredictable
      results (all of them certainly wrong).
      
      The solution is to introduce a small memory management module for the
      interface between the PHY threads and the MAC scheduler. The MAC
      scheduler now fills the data structures passed to it, and not a
      global variable anymore. The PHY layer manages the structures and
      ensures that no data is overwritten before being fully consumed by
      the various threads of the PHY layer.
      
      Some care has to be taken because several PHY threads will access the
      same structures at the same time for a given slot (in read mode, so
      it's okay). A mechanism of reference counting has thus been introduced.
      
      Only one CC is supported. This restriction should not be too hard
      to remove if/when needed. (The code before this commit does not seem
      to work for more than one CC anyway.)
      733c7e5e
  27. 27 Mar, 2023 3 commits