An error occurred fetching the project authors.
  1. 06 Apr, 2020 3 commits
    • Robert Schmidt's avatar
      Reimplement the DLSCH preprocessor · 1670b452
      Robert Schmidt authored
      This refactors the preprocessor. The new preprocessor implements the
      same scheduling strategy (Modified Round-Robin: give resources according
      to round-robin, then group) but should be fairer by changing every time
      the RR start UE (i.e., 1st TTI UE 0 starts, 2nd TTI UE 1, etc) when the
      UE number is not a divisor/multiple of the RBG size (and the last RBG is
      often smaller). This also removes all unneeded code of the preprocessor
      such as allocate(), positioning(), etc.
      1670b452
    • Robert Schmidt's avatar
      RLC: _req() accepts max TB size, _ind() not · eeaa5a99
      Robert Schmidt authored
      Previously, the various rlc_*_ind() functions had a parameter to enable
      the MAC to specify the max TB size that a subsequent call to the
      corresponding rlc_*_req() (!) function would return. This patch removes
      this parameter from the rlc_*_ind() functions and makes the parameter
      working that is already in the rlc_*_req() functions.
      eeaa5a99
    • Robert Schmidt's avatar
      store_dlsch_buffer() works per CC, checks only active LCs · 97a1bd10
      Robert Schmidt authored
      store_dlsch_buffer() puts the RLC buffer status results in the
      UE_TEMPLATE, which is per-CC. Since the DLSCH scheduler works per-CC,
      too, we pass the right CC. However, this is not strictly necessary, as
      we could do this once before every CC, and it might be updated.
      97a1bd10
  2. 01 Apr, 2020 7 commits
  3. 06 Nov, 2019 1 commit
    • Cedric Roux's avatar
      hotfix: better CQI requests, especially for TDD · 2a7ac81b
      Cedric Roux authored
      In TDD mode, CQI requests are not possible in special subframes (at
      least for some TDD configurations, see 36.213 7.2.3 that says "a
      DL subframe is valid if it does not contain a DwPTS field if the
      length is less than  7680 Ts").
      
      In the code, we simply disable CQI requests in special subframes,
      no matter what the length of DwPTS.
      
      A problem can arise if the DCI0 for a given UE are sent only in
      those special subframes. In this case the UE will never report
      CQI and the eNB will use low MCS for this UE, impacting performances.
      
      Another, related, problem is when there are several UEs. There again
      one UE might always get its DCI0 in special subframes and thus never
      report CQI. There again, performance issues.
      
      This commit is an attempt to improve the situation.
      
      It does two things.
      
      1 - tag the UE as schedulable in the function UE_is_to_be_scheduled
          if the cqi_req_timer is expired
      
      2 - use cqi_req_timer as a criterium when ordering UEs for UL scheduling
      
      The value chosen for the expiration of the cqi_req_timer in
      UE_is_to_be_scheduled is quite high (300) because as the code is
      today we may overschedule the UE for short bursts until we receive
      a CQI from the UE. [TODO: fix the code properly to avoid this behavior.]
      
      Note: the fairRR scheduler has not been analyzed and this commit may
            not fix anything in case the fairRR scheduler is used.
      2a7ac81b
  4. 23 Sep, 2019 1 commit
  5. 01 Jul, 2019 1 commit
  6. 20 Jun, 2019 2 commits
  7. 28 May, 2019 1 commit
  8. 11 Apr, 2019 1 commit
  9. 10 Apr, 2019 1 commit
  10. 04 Apr, 2019 2 commits
  11. 30 Mar, 2019 2 commits
    • Cedric Roux's avatar
      bugfixes for UL scheduling · a5a16903
      Cedric Roux authored
      - size of PUCCH has been fixed to:
          - 2 RBs for N_RB_UL = 25 (1 RB at top of resource grid, 1 RB at bottom)
          - 4 RBs for N_RB_UL = 50
          - 6 RBs for N_RB_UL = 100
        this is arbitrary and will need some rework at some point.
        This may be also wrong. PUCCH size actually depends on DL traffic
        (if the ack/nack is not done in PUSCH) and scheduling request
        configurations.
      - add sched_frame %= 1024 at one needed place
      - reserve RBs for retransmission
        this was not done so new transmissions were scheduled in the same
        RBs. Since the code works with the notion of 'first_rb' only, it
        was decided to skip all RBs lower than those retransmitted. This
        works but is not correct (imagine we have to retransmit RB 23, then
        all RBs < 23 will not be used for new transmission). The work to
        fix this properly is complex, a lot has to change, so let's do it
        this simple way for now.
      - sort_ue_ul was not correct
        - add the function maxround_ul to use the correct 'round' (the one
          from DL was used, which is totally wrong)
        - be sure to use the correct frame/subframe to get the correct HARQ pid
      a5a16903
    • Cedric Roux's avatar
      bugfix: access correctly round_UL · 0e38852b
      Cedric Roux authored
      0e38852b
  12. 18 Jan, 2019 1 commit
  13. 15 Jan, 2019 1 commit
  14. 07 Jan, 2019 1 commit
    • Cedric Roux's avatar
      fix a lot of file mode · aea6b4b5
      Cedric Roux authored
      For whatever reason most of the files had their permission
      changed from 644 to 755, which is not wanted.
      aea6b4b5
  15. 20 Dec, 2018 2 commits
  16. 19 Dec, 2018 1 commit
  17. 17 Oct, 2018 1 commit
  18. 05 Sep, 2018 4 commits
  19. 03 Sep, 2018 7 commits