1. 21 Jul, 2021 1 commit
    • Cedric Roux's avatar
      hack: do not use BCH RBs for DL scheduling in subframe 0 · f6e03218
      Cedric Roux authored
      The problem is that when using those RBs with MCS 28 we may exceed the
      code rate 0.93 and according to 36.213 7.1.7 the UE may skip decoding
      PDSCH entirely in this case.
      This is a hack. The real solution is to check that the code rate is below
      0.93 for each scheduling decision and, I don't know, reduce the MCS if the
      code rate is above, so that in the end it is below. That means that we need
      a proper resource grid for the configuration of the eNB and this is not an
      easy thing (at least from my point of view) given all the possible
      configurations for the eNB, so I prefer not to do it rather than do something
      incorrect, thus this hack.
      The problem of this hack is that we won't use all the available RBs for
      scheduling, potentially reducing the maximum throughput achievable.
      To be fixed properly at some time, by someone who understands fully the
      resource grid and all the possible combinations (fdd/tdd, number of
      antennas, whatever else).
  2. 16 Jul, 2021 1 commit
  3. 12 Jan, 2021 1 commit
  4. 05 Jan, 2021 1 commit
  5. 24 Dec, 2020 1 commit
  6. 23 Dec, 2020 1 commit
  7. 09 Dec, 2020 1 commit
  8. 27 Nov, 2020 2 commits
  9. 26 Nov, 2020 2 commits
    • Cedric Roux's avatar
      rlc v2: change time keeping · 25ab3a5e
      Cedric Roux authored
      RLC has timers. We need to keep track of time. We chose to not use
      realtime but 'processing time'. That is we send a tick to RLC for every
      subframe when it is processed by the softmodem. Before this commit we
      used to increase time in the function mac_rlc_status_ind which may not be
      called every subframe (especially in TDD mode). So we need another way
      to keep track of time.
      We introduce rlc_tick() and call it in eNB_dlsch_ulsch_scheduler, which
      is called every subframe, both in FDD and TDD.
      We also call rlc_tick() in the function ru_thread_synch() because
      pdcp_run() and rrc_rx_tx() are called there too.
      It may not be the best solution. To be revised if needed.
      Note: the UE has not been touched. Some modification is needed for the UE
      too, most probably.
    • Haruki Naoi's avatar
      Fix: ULSCH AMC by instantaneous SINR value. · 66f99a90
      Haruki Naoi authored
  10. 12 Oct, 2020 1 commit
  11. 23 Jul, 2020 1 commit
  12. 21 Jul, 2020 1 commit
  13. 01 Jun, 2020 1 commit
  14. 06 Apr, 2020 2 commits
  15. 01 Apr, 2020 2 commits
    • Robert Schmidt's avatar
      Rename UE_list_t to UE_info_t, UE_list_t separate struct · 8ffe5b49
      Robert Schmidt authored
      UE_list_t is now used as a separate list. It can be e.g. used in the
      scheduler to mark groups of users. The original UE_list_t is renamed to
      UE_info_t to reflect that it is a container for information about UEs.
    • Robert Schmidt's avatar
      Remove useless mac_proto.h include · ffc4f464
      Robert Schmidt authored
      When a header is changed, all including files need to be recompiled,
      too. Thus, including a header needlessly all over the place drives
      compile times up without any reason.
  16. 12 Feb, 2020 1 commit
  17. 10 Feb, 2020 1 commit
  18. 22 Jan, 2020 1 commit
  19. 20 Jan, 2020 1 commit
    • Robert Schmidt's avatar
      FlexRAN: reimplement timers without ITTI · b6d466d7
      Robert Schmidt authored
      The timer code used to trigger periodic statistics message sending used
      ITTI. Together with a high frequency reporting (e.g. 1ms), this resulted
      in high CPU usage. This commit reimplements this:
      * using a thread that is synchronized to the RU (if there is no MAC, we
        assume there is no RU generating a tick so we create the tick source
      * no RB trees but plain arrays
      * smaller interface for users
      * slight user interface changes
      * remove stopped timer state: such timer might be simply removed
      * remove one-shot timers
  20. 14 Dec, 2019 1 commit
  21. 23 Sep, 2019 1 commit
  22. 14 Sep, 2019 1 commit
  23. 22 Jul, 2019 1 commit
  24. 16 Jul, 2019 2 commits
  25. 01 Jul, 2019 1 commit
  26. 08 Jun, 2019 1 commit
  27. 18 May, 2019 1 commit
  28. 15 Apr, 2019 2 commits
  29. 05 Apr, 2019 2 commits
  30. 04 Apr, 2019 1 commit
  31. 26 Mar, 2019 1 commit
  32. 26 Feb, 2019 2 commits