Francisco Paisana
ce884ee4c6
sched: fix sched DL RBG allocation for subband CQI
2021-07-29 13:57:06 +02:00
Francisco Paisana
1f118aa238
sched: fix ul max coderate derivation
2021-07-29 13:57:06 +02:00
Francisco Paisana
12e33483e1
sched,nr: add slot_point to sched nr
2021-07-26 11:52:07 +02:00
Francisco Paisana
61a73d5187
sched: add missing checks for prachs with tti duration above 1msec
2021-07-21 16:24:04 +02:00
Francisco Paisana
592d9332ba
sched,nr: add logic for allocation of RAR and Msg3 grants
2021-07-21 15:07:10 +02:00
Francisco Paisana
660b66dbe3
sched,nr: add option to run phy nr test with real NR scheduler
2021-07-19 16:04:46 +02:00
Francisco Paisana
e6683b7387
sched,nr: simplify scheduler threading architecture to reflect the new cc-based parallelism model
2021-07-16 22:57:55 +02:00
Francisco Paisana
09c7000201
sched,nr: update nr scheduler to use new mac nr interface types
2021-07-15 21:56:47 +02:00
Francisco Paisana
8a34a3c41a
sched,nr: fix compilation issues in centos7 and removed unused variables
2021-07-15 21:56:47 +02:00
Francisco Paisana
d9336bcd9e
sched,nr: creation of pool of softbuffers for NR. Now the sched NR harq manages the lifetime of the softbuffer and its forwarding to the PHY
2021-07-15 21:56:47 +02:00
Francisco Paisana
1535e6b205
sched,nr: extend sched nr testing suite. restrict paralllelization for correct DAI generation
2021-07-15 21:56:47 +02:00
Francisco Paisana
323703c2f3
sched,nr: measure latency of sched nr in test
2021-07-15 21:56:47 +02:00
Francisco Paisana
d63ea00a5d
sched,nr: use PRBs instead of RBGs as the basic unit for PRB grants in the NR scheduler
2021-07-15 21:56:47 +02:00
Francisco Paisana
b81cbd1334
sched,nr: redesign the order available search spaces/coresets are found in the scheduler
2021-07-15 21:56:47 +02:00
Francisco Paisana
dd3c9b4d7e
sched,nr: utilization of common bwp params structure across multiple sched objects
2021-07-15 21:56:47 +02:00
Francisco Paisana
4f0b954cde
sched,nr: changed scheduler nr api to not require slot_indication function
2021-07-15 21:56:47 +02:00
Francisco Paisana
23afc66a86
sched,nr: implementation of PUCCH HARQ allocation in NR
2021-07-15 21:56:47 +02:00
Francisco Paisana
bcc374c2cd
implement TDD DL vs UL slot activation
2021-07-15 21:56:47 +02:00
Francisco Paisana
f87f898641
sched,nr: extend coreset pdcch allocation to UL
2021-07-15 21:56:47 +02:00
David Rupprecht
f90e359208
Moved cp to test common
2021-07-02 17:23:06 +02:00
Francisco
4c316aa9ea
sched,nr: integrate mac-phy interface types into the scheduler
2021-06-29 14:19:35 +02:00
Francisco
5b3c5ded63
sched,nr: implement NR PDCCH allocation algorithm
2021-06-29 14:19:35 +02:00
Francisco
de05e1e549
sched,nr: fix invalid memory write
2021-06-24 16:22:42 +01:00
Francisco
75153c7c83
sched,nr: implementation of sched sim test class
2021-06-24 16:22:42 +01:00
Francisco
f1b3cfc764
sched,nr: implementation of sched NR harq retxs. Refactor of rb grid classes.
2021-06-24 16:22:42 +01:00
Francisco
d950433cbd
sched,nr: fix time-domain parallelization sched nr test. creation of util class to handle acquisition of boolean resources
2021-06-24 16:22:42 +01:00
Francisco
35a236b1b9
sched,nr: fix sched_nr_test. Resolve data race issues. Created new config structs used across the scheduler.
2021-06-24 16:22:42 +01:00
Francisco
407da794e1
sched,nr: implementation of slot grid class
2021-06-24 16:22:42 +01:00
Francisco
4fa27f3841
sched,nr: implementation of main classes for NR scheduler, and basic test for concurrency
2021-06-24 16:22:42 +01:00
Francisco
78acf81cf0
bugfix,sched: avoid instability in TPCs around PHR~0
2021-06-21 17:35:24 +01:00
Francisco
6ababf401b
feature,sched: allow setting initial DL CQI in enb.conf
2021-06-14 15:55:23 +01:00
Francisco
9e2a7d4592
bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test
2021-06-04 17:39:51 +01:00
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
2021-06-03 15:33:38 +01:00
Francisco
486823e5de
sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1
2021-06-03 15:33:38 +01:00
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
2021-06-02 20:21:32 +01:00
Francisco
3b61df4b64
test,sched: update TPC test to reflect changes in SNR estimatioN
2021-06-02 10:08:34 +01:00
Francisco
f80c591127
sched,bugfix: fix scheduler CA test
2021-05-31 23:59:46 +01:00
Francisco
2cdda3b6db
sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ
2021-05-31 23:59:46 +01:00
Francisco
a8cccd7a10
bugfix, sched: fix aggregation level derivation to avoid L > 3
2021-05-25 21:50:56 +02:00
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
2021-05-24 19:33:27 +02:00
Francisco
8df6ed07c6
sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes
2021-05-24 17:25:07 +02:00
Francisco
52ef23f40e
fix sched benchmark test
2021-05-19 13:11:39 +01:00
Francisco
f0f99c1e4f
update sched benchmark, created unit test to cover rbg search algorithms, improved algorithms to search for empty rbgs
2021-05-19 11:43:39 +01:00
Francisco
0e0835a805
move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file
2021-05-17 14:30:23 +01:00
Francisco
8564996eaf
fix sched_dl_cqi method to compute cqi-optimal rbgmask
2021-05-14 19:58:03 +01:00
Francisco
485c6ee129
subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC
2021-05-14 19:58:03 +01:00
Francisco
84ad6dd8ee
Integrated new sched_dl_cqi class in sched_ue_cell
...
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
2021-05-14 19:58:03 +01:00
Francisco
16d05ff042
Remove time exponential averaging of DL cqi
...
- renaming: sched_cqi -> sched_dl_cqi
- testing: add unit test for sched_dl_cqi wideband cqi mode.
- feature: remove time exponential averaging of dl cqi
2021-05-14 19:58:03 +01:00
Francisco
28c24a89ef
sched subband cqi - create method to get cqi-optimal RBG mask
2021-05-14 19:58:03 +01:00
Francisco
eeb8ad6571
sched,feature - creation of sched_cqi class to manage the update of CQI in a subband CQI setting
2021-05-14 19:58:03 +01:00
Francisco
f7016633d2
sched, fix - avoid tpc commands when target pusch and pucch snr are not specified
2021-05-03 17:43:41 +01:00
Francisco
d3c51fdad4
limit minimum UL grant size to accommodate both BSR and RLC headers
2021-05-03 17:43:41 +01:00
Francisco
01eace2631
rrc paging mechanism improvements
...
- moved paging record handling to separate class
- parallel access to pending pcch messages by phy workers based on TTI and without common lock
- asn1 pcch message packing now takes place in stack thread, to avoid real-time issues
2021-05-03 15:58:21 +01:00
Francisco Paisana
d39183419c
Separate TPC PUSCH and PUCCH target SINR ( #2740 )
...
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
2021-04-27 10:12:40 +01:00
David Rupprecht
a064e85c54
rename common lte header
2021-04-19 22:23:59 +02:00
Ismael Gomez
77b11b82ac
Release UE if no activity in DRB ( #2658 )
...
* Count user activity with DRB only and SRBs for initial procedures. Add counter to release user after max KO in UL.
2021-04-15 19:13:01 +02:00
Francisco
f7a8b8bf94
separate drb srb ids into separate enum types
2021-04-12 13:21:43 +01:00
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
2021-04-12 13:21:43 +01:00
Francisco
60d5c6df7b
implementation of memory pool with individual memory blocks per UE that get accessed via their rnti
2021-04-09 12:54:22 +01:00
Pedro Alvarez
8194b5ec73
Added check for consequetive KOs in MAC. Change set_activity_user to pass activity and max KOs to RRC and trigger RLF timeout.
2021-04-01 13:21:43 +01:00
Francisco
5eccfad05b
gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate
2021-03-29 10:20:55 +01:00
Francisco
b5692037a2
created macros for assertions and warnings. The assert macro prints the whole callstack on crash. The warning macro can just log a warning or call an assertion fail depending on the cmake flag STOP_ON_WARNING
2021-03-23 10:49:28 +00:00
Codebot
4523ee6087
rename srsLTE to srsRAN
2021-03-21 21:47:01 +01:00
Francisco
2054ad3f3c
eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x
2021-03-19 16:31:06 +00:00
Francisco
6bec92fbc9
using new DFS-based PDCCH allocator as a default
2021-03-19 16:31:06 +00:00
Francisco
8347cabe4f
implemented a DFS-based PDCCH allocator
2021-03-19 16:31:06 +00:00
Francisco
d646111aa9
refactor sched dci unit test
2021-03-18 17:04:45 +00:00
Francisco
d6bae76698
extend cch allocation unit tests to verify optimal cfi and DCI position selection for 6 PRBs
2021-03-18 17:04:45 +00:00
Francisco
d5750f6fe6
refactor - update of clang-tidy project file. automatic clang-tidy refactors
2021-03-18 17:04:45 +00:00
Francisco
0d91802495
sched optimization - swap c-arrays for bounded_vector in sched_interface to reduce time performing bzero/memcpy in the scheduler
2021-03-17 19:54:44 +00:00
Francisco
c0a90c5aa8
refactored sf result resetting to avoid realloc of memory
2021-03-17 19:54:44 +00:00
Francisco
c3a4cb37f4
extension of sched benchmark test to allow different testing modes - test rates, benchmark, test different combinations of sched parameters
2021-03-17 12:12:36 +00:00
Francisco
ac4d058fbf
correct verification of sched rates in sched benchmark test
2021-03-17 12:12:36 +00:00
Francisco
d334907afe
sched - wrote benchmark to detect regressions in DL/UL data rates, and to analyse the total latency of the scheduler
2021-03-17 12:12:36 +00:00
Francisco
248f05bf08
sched,bugfix - fix optimal cfi computation for sib/rar allocations
2021-03-16 19:27:25 +00:00
Francisco
19a043683c
bugfix - fix compilation issue in gcc10. The interfaces don't have virtual dtors
2021-03-16 19:27:25 +00:00
Francisco
884c1b04d2
sched,test - add test to verify cch allocator ability to undo last allocation
2021-03-16 19:27:25 +00:00
Francisco
1f35c4dc8b
sched, feature enhancement, bugfix - allow RAR DL grants with variable PRB size
...
Some bug fixes had to be solved:
- the cfi cannot be dynamic once we set a SIB/paging/RAR allocation. This is too avoid effective coderate to exceed its maximum
- the previous bugfix required adding the feature to cancel the last PDCCH+PDSCH allocation
2021-03-16 19:27:25 +00:00
Francisco
47f1175502
[sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message
2021-03-16 19:27:25 +00:00
Francisco
76103065f7
collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler.
2021-03-16 19:27:25 +00:00
Francisco
3a4ae3d69d
extended broadcast+RAR DCI encoding scheduler tests
2021-03-16 19:27:25 +00:00
Francisco
16b5e1fd4d
fix collision detection of n1pucch for the ACK and SR in the scheduler
2021-03-12 20:07:32 +00:00
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
2021-03-11 20:10:54 +00:00
Francisco
fbbbf7886c
sched,bugfix - reset harq used for msg3 correctly
2021-03-10 22:42:39 +00:00
Francisco
d1483dc0f8
sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation
2021-03-10 22:42:39 +00:00
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
2021-03-09 16:23:08 +00:00
Francisco
d77b6e1d9c
sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats
2021-03-09 16:23:08 +00:00
Francisco
b79d09e83f
remove commented code from sched dci test
2021-03-06 20:49:05 +01:00
Francisco
fb04fdbe69
sched,bugfix - fix mcs/tbs computation for 256-QAM.
2021-03-06 20:49:05 +01:00
Francisco
102cb196e1
Addition of enb cfg option to choose between PUCCH with multiplexing and without. Change default prach offset to 4.
...
- The new prach offset of 4 accounts for the size of the PUCCH-ACK region with 100 prbs
2021-03-05 14:59:44 +01:00
Francisco
34e39a9835
Implementation of scheduler algorithm to avoid PUCCH collisions
...
- The cch_allocator considers the existence of a fixed PUCCH region dedicated to CQI, SR, and HARQ ACKs
- At the moment PUCCH multiplexing is not considered
- The PUCCH width was increased to accommodate possible PUCCH-ACK positions
2021-03-05 14:59:44 +01:00
Francisco
39aea96c69
fix sched tests UL HARQs. Set common pucch cfg in the sched tests
2021-03-05 14:59:44 +01:00
Francisco
7dcfe7bf0e
sched: updated tbs calculation test. Fix edge cases that failed the test.
2021-03-04 23:40:35 +01:00
Francisco
ed8ab3871c
re-designed algorithm to compute lowest mcs that meets cqi,req_bytes,nof_prbs requirements in the scheduler
2021-03-04 23:40:35 +01:00
Francisco
3dd7877199
wrote unit test to check tbs,mcs derivation based on cqi,nof_prb in scheduler
2021-03-04 23:40:35 +01:00
Francisco
4b09507c19
remove srslte.h includes from upper layers
2021-02-26 16:44:57 +01:00
Francisco
13d805ef56
move ue rrc interfaces to separate interfaces header file
2021-02-26 16:44:57 +01:00
Francisco
9a9ed01dda
rename pdcch_sched to sf_cch_allocator
2021-02-19 17:34:55 +01:00
Francisco
9546634b37
use unique_ptr for sched_ue database in scheduler. This will minimize the time spent locking while adding new users
2021-02-17 11:04:07 +01:00
Francisco
c1adaec038
refactored cce position table structs
2021-02-16 21:22:40 +01:00